@charset "UTF-8";
.c-blue {
  color: #3189EF;
}

.bgc-gray {
  background-color: #F5F5F5;
}

/**  TOP
****************************************************************************/
/**      メインビジュアル      **/
section.main-visual {
  width: 100%;
  height: auto;
  max-width: 1200px;
  margin: 0 auto;
}

.mv-container {
  position: relative;
  height: 600px;
}

.mv-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 600px;
}
.mv-img img {
  width: 100%;
  height: 600px;
  -o-object-fit: cover;
     object-fit: cover;
}

h1.mv-top-message {
  position: absolute;
  left: 0;
  bottom: 10%;
}

p.mv-message {
  background-color: #fff;
  padding: 12px;
  width: -moz-max-content;
  width: max-content;
  margin-bottom: 12px;
  font-size: 30px;
  font-weight: bold;
}

section.about-sec {
  margin-top: 50px;
}

h2.about-top-message {
  font-size: 30px;
  font-weight: bold;
}

p.about-message {
  margin-top: 40px;
  font-size: 18px;
}

section.recruit-sec {
  width: 100%;
  margin-top: 60px;
  position: relative;
  padding: 50px 0;
}
.recruit-top-contact {
  margin-top: 50px;
}
ul.recruit-contact-area {
  gap: 14px;
  row-gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 1200px;
  margin: 0 auto 24px;
}
ul.recruit-contact-area li {
  width: 590px;
  text-align: center;
  border-radius: 10px;
}
ul.recruit-contact-area li img {
  width: 100%;
}

.recruit-btn {
    color: #fff;
    font-size: 33px;
    padding: 25px;
    border-radius: 17px;
    font-weight: bold;
}

.recruit-btn.career {
    /*background: linear-gradient(180deg, rgb(255 0 55), rgb(212, 30, 54));*/
    background: linear-gradient(180deg, rgb(212, 30, 54), rgb(212, 30, 54));
}

.recruit-btn.c-inexperienced {
    background: linear-gradient(180deg, rgb(231 200 26), rgb(241 212 50));
}

.c-inexperienced-img {
    background-image: url(https://nipponsystemengineerservice.co.jp/wp/wp-content/uploads/2023/08/c-inexperienced.png);
    background-size: 79px;
    background-repeat: no-repeat;
    background-position: 4% 50%;
}

.recruit-btn.c-2024 {
    background: linear-gradient(180deg, #4097ff, #0472f7);
}

.recruit-btn.c-2025 {
    background: linear-gradient(180deg, #00a5fe, #0098e9);
}

.recruit-btn span {
    color: #000;
    font-size: 80%;
}

.calendar {
  width: 90%;
  max-width: 1200px;
  margin: 3px auto 10px;
  gap: 20px;
}

.xo-event-calendar-title {
    background: #000;
    color: #fff;
    font-weight: bold;
    font-size: 28px;
    width: 98%;
    margin: auto;
    text-align: center;
    max-width: 1200px;
}

section.service-top-area {
  margin: 50px auto 0;
  padding-bottom: 0px;
}

section.service-top-area.pc_part {
    margin-top: 0px;
}
.service-top {
  flex-wrap: nowrap;
  margin-bottom: 0px;
}

.service-top-img {
  width: 50%;
}
.service-top-img img {
  width: 100%;
    max-height: 400px;
    -o-object-fit: cover;
    object-fit: cover;
}

.service-top-text {
  width: 50%;
  background-color: #2171CE;
  padding: 8%;
  position: relative;
    background-image: url(https://nipponsystemengineerservice.co.jp/wp/wp-content/uploads/2023/08/arrow.png);
    background-repeat: no-repeat;
    background-position: right 13px bottom 23px;
    background-size: 3em;
}

.service-top-text.tec {
    background-image: none;
}

span.click-text {
    position: absolute;
    right: 10px;
    bottom: 4px;
    color: white;
    font-weight: bold;
    z-index: 1;
}

.click-img {
    position: absolute;
    right: 10px;
    bottom: 24px;
    color: white;
    font-weight: bold;
    font-size: 0.5em;
    z-index: 1;
    width: 6em;
}

section.service-top-area img.click-img {
    bottom: 22px;
}

section.service-top-area span.click-text{
    bottom: 3px;
}

.course-bnr {
  position: absolute;
  top: 16px;
  right: 0;
}

h2.service-title {
  font-size: 34px;
  font-weight: bold;
  color: #fff;
}

p.service-text-en {
  font-size: 18px;
  color: #fff;
  font-weight: bold;
  margin-top: 10px;
}

p.service-text {
  font-size: 18px;
  margin-top: 40px;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
}

.service-list {
  width: 100%;
  height: 180px;
}

h3.service-name {
  font-size: 30px;
  font-weight: bold;
  color: #fff;
}

p.service-sub-text {
  font-size: 24px;
  font-weight: bold;
  margin-top: 20px;
  color: #fff;
}

.service-text-area {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  transform: translate(-50%, -50%);
}

.gradient-red {
  position: relative;
}
.gradient-red::before {
  content: "";
  display: block;
  /*background-image: url(../images/red-filter.png);*/
	background: linear-gradient(171.5deg, #ff354d 0%, #ff354d 50%, #de000f 50%, #de000f 100%);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  width: 100%;
  height: 180px;
  top: 0;
  left: 0;
  z-index: 1;
}
.gradient-red h3.service-name {
  color: #fff;
}
.gradient-red p.service-sub-text {
  color: #fff;
}

.gradient-gray {
  position: relative;
}
.gradient-gray::before {
  content: "";
  display: block;
  /*background-image: url(../images/gray-filter.png);*/
	background: linear-gradient(171.5deg, #ffffff 0%, #ffffff 50%, #dbdbdb 50%, #dbdbdb 100%);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  width: 100%;
  height: 180px;
  top: 0;
  left: 0;
  z-index: 1;
}
.gradient-gray h3.service-name {
  color: #000;
}
.gradient-gray p.service-sub-text {
  color: #000;
}

a.service-bnr {
  transition: 0.3s;
}
a.service-bnr:hover {
  opacity: 0.8;
}

section.company-information {
  padding: 0px 0 50px;
}

.company-list {
  flex-wrap: nowrap;
}

.company-img {
  width: 50%;
  height: 350px;
}
.company-img img {
  width: 100%;
  height: 350px;
  -o-object-fit: cover;
     object-fit: cover;
}
h2.company-info {
  font-size: 34px;
  color: #fff;
  font-weight: bold;
  font-family: 'Bree Serif', serif;
}
.company-text-area {
  width: 50%;
  padding: 8%;
  position: relative;
  z-index: 5;
}

.gradient-blue {
  position: relative;
}
.gradient-blue::before {
  content: "";
  display: block;
  /*background-image: url(../images/company-info-bg.png);*/
    background: linear-gradient(150deg, #005197 0%, #005197 50%, #003577 50%, #003577 100%);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  width: 100%;
  height: 350px;
  top: 0;
  left: 0;
  z-index: -1;
}

p.company-info-text {
  font-size: 18px;
  margin-top: 40px;
  color: #fff;
  padding-bottom: 0px;
}
a.service-link {
  font-size: 16px;
  color: #fff;
  text-align: center;
  text-decoration: underline;
}
/**  下層ページ
****************************************************************************/
/**      メインビジュアル      **/
ul.page-company-list {
  margin-top: 40px;
}
.page-company-head {
  background-color: #EDEDED;
  padding: 8px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
}

.page-company-text {
  font-size: 18px;
  font-weight: bold;
  padding: 30px 20px;
}

.sus-area {
  padding: 30px;
  margin-top: 50px;
}

.sus-wrap {
  margin-bottom: 30px;
}
.sus-wrap:last-child {
  margin-bottom: 0;
}

.sus-top-en {
  color: #3189EF;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}

h3.sus-top-title {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}

p.sus-text {
  font-size: 18px;
  padding-top: 20px;
}

.bg-sus {
  position: relative;
}
.bg-sus::before {
  content: "";
  display: block;
  background-image: url(../images/page-img/sus-bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

p.sus-bottom {
  font-weight: bold;
}

.excel-hours {
  margin-top: 20px;
}

.excel-possible {
  margin-top: 30px;
  border: solid 2px #E22424;
}

h3.excel-top {
  background-color: #E22424;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
}

ul.excel-top-list {
  padding: 30px;
}
ul.excel-top-list li {
  font-size: 18px;
  margin-bottom: 10px;
  font-weight: bold;
  align-items: center;
}
ul.excel-top-list li img {
  margin-right: 10px;
  width: 18px;
  height: 18px;
}

.excel-curriculum {
  width: 100%;
  background-color: #FFE3E3;
  padding: 30px;
  margin-top: 30px;
}

h3.excel-curriculum-top {
  background-color: #fff;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #000;
}

p.excel-curriculum-text {
  margin-top: 20px;
  font-size: 18px;
}

.excel-flow {
  margin-top: 50px;
}

.page-excel .excel-flow:nth-of-type(n+5) {
    margin-top: 20px;
}

h3.excel-flow-top {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  background-color: #E22424;
  text-align: center;
  padding: 10px 20px;
  position: relative;
  border-radius: 40px 0 0 40px;
}
h3.excel-flow-top span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: bold;
  justify-content: center;
  display: flex;
  width: 80px;
  height: 80px;
  text-align: center;
  color: #fff;
  line-height: 80px;
  border-radius: 70px;
  background-color: #e22323;
}

p.excel-flow-text {
  font-size: 18px;
  padding: 20px;
}

.it-pass {
  margin-top: 50px;
}

.it-curriculum {
  width: 100%;
  background-color: #4A9EFF;
  padding: 30px;
  margin-top: 30px;
}

h3.it-curriculum-top {
  background-color: #fff;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #4A9EFF;
}

p.it-curriculum-text {
  margin-top: 20px;
  font-size: 18px;
  color: #fff;
}

.it-flow {
  margin-top: 30px;
}

.it-flow:nth-of-type(n+5):not(:nth-of-type(7)):not(:nth-of-type(11)) {
    margin-top: 20px;
}

aside.day {
  width: 100%;
  border: solid 3px #4A9EFF;
  padding: 4px 8px;
  color: #4A9EFF;
  font-size: 20px;
  text-align: center;
  margin-top: 30px;
  font-weight: bold;
}

h3.it-flow-top {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  background-color: #4A9EFF;
  text-align: center;
  padding: 10px 20px;
  position: relative;
  border-radius: 40px 0 0 40px;
}
h3.it-flow-top span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: bold;
  justify-content: center;
  display: flex;
  width: 80px;
  height: 80px;
  text-align: center;
  color: #fff;
  line-height: 80px;
  border-radius: 70px;
  background-color: #4A9EFF;
}

h3.it-flow-top_last {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
  background-color: #2964a3;
  text-align: center;
  padding: 10px 20px;
  position: relative;
  border-radius: 40px 0 0 40px;
}
h3.it-flow-top_last span {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: bold;
  justify-content: center;
  display: flex;
  width: 80px;
  height: 80px;
  text-align: center;
  color: #fff;
  line-height: 80px;
  border-radius: 70px;
  background-color: #2964a3;
}

p.it-flow-text {
  font-size: 18px;
  padding: 20px;
}

h4.it-flow-head {
  font-size: 20px;
  font-weight: bold;
  margin-top: 30px;
}
h4.it-flow-head span {
  font-size: 16px;
  font-weight: bold;
  background-color: #b0b0b0;
  color: #fff;
  margin: 0 10px;
  padding: 2px 8px;
}

p.it-flow-text {
  font-size: 18px;
  padding: 20px;
}

.it-possible {
  margin-top: 30px;
  border: solid 2px #E22424;
}

h3.it-top {
  background-color: #E22424;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
}

ul.it-top-list {
  padding: 30px;
  width: 90%;
  margin: 0 auto;
}
ul.it-top-list li {
  font-size: 18px;
  margin-bottom: 20px;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: solid 1px #b1b1b1;
}
ul.it-top-list li:last-child {
  border-bottom: none;
}
ul.it-top-list li p {
  font-size: 18px;
}

h4.it-list-head {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 20px;
}

.it-office {
  margin-top: 30px;
  border: solid 2px #2171CE;
}

h3.it-office-top {
  background-color: #2171CE;
  text-align: center;
  font-size: 24px;
  font-weight: bold;
  color: #fff;
}

.page-service {
  margin: 20px auto 0;
}

.page-service-wrap {
  margin-bottom: 0px;
  padding-bottom: 20px;
  border-bottom: solid 1px #dadada;
}
.page-service-wrap:last-child {
  border-bottom: none;
}

h2.page-service-title {
  font-size: 20px;
  font-weight: bold;
  color: #2171CE;
  padding-bottom: 6px;
  border-bottom: solid 2px #2171CE;
}

.dev-logo {
  max-width: 140px;
  margin: 30px auto 0px;
}
.dev-logo img {
  max-width: 100%;
}

.dev-logo.text-center.none {
    margin-top: 0px;
}

.lang-name {
  font-size: 24px;
  font-weight: bold;
  color: #C73F3F;
}

h3.lang-info-head {
  font-size: 18px;
  font-weight: bold;
  position: relative;
  padding-left: 26px;
  margin-top: 10px;
}
h3.lang-info-head::before {
  content: "";
  display: block;
  background-image: url(../images/page-img/head-icon.png);
  background-size: contain;
  background-position: 0 0;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}

p.lang-info-text {
  font-size: 16px;
  color: #4a4a4a;
  margin-top: 20px;
}

/**  レスポンシブ
****************************************************************************/
/**      PC      **/
@media screen and (min-width: 781px) {
  .sp_part {
    display: none;
  }
}
/**      Tab      **/
@media screen and (max-width: 780px) {
  .pc_part {
    display: none;
  }
  /**      メインビジュアル      **/
  section.main-visual {
    width: 100%;
  }
  .mv-container {
    height: 240px;
  }
  .mv-img {
    height: 240px;
  }
  .mv-img img {
    height: 240px;
  }
  h1.mv-top-message {
    position: absolute;
    left: 0;
    bottom: 3%;
  }
  p.mv-message {
    padding: 6px;
    font-size: 14px;
    font-weight: bold;
  }
  section.about-sec {
    margin-top: 40px;
  }
  h2.about-top-message {
    font-size: 18px;
  }
  p.about-message {
    margin-top: 30px;
    font-size: 14px;
  }
  section.recruit-sec {
    margin-top: 40px;
    padding: 30px 0;
  }
	
	.gradient-red::before {
  content: "";
  display: block;
  /*background-image: url(../images/red-filter.png);*/
	background: linear-gradient(164deg, #ff354d 0%, #ff354d 50%, #de000f 50%, #de000f 100%);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  width: 100%;
  height: 180px;
  top: 0;
  left: 0;
  z-index: 1;
}

	
.gradient-gray::before {
  content: "";
  display: block;
  /*background-image: url(../images/gray-filter.png);*/
	background: linear-gradient(164deg, #ffffff 0%, #ffffff 50%, #dbdbdb 50%, #dbdbdb 100%);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  width: 100%;
  height: 130px;
  top: 0;
  left: 0;
  z-index: 1;
}
	
.recruit-btn {
    color: #fff;
    font-size: 20px;
    padding: 20px 10px;
    border-radius: 17px;
    font-weight: bold;
    line-height: 1.1;
}

.c-inexperienced-img {
    background-image: url(https://nipponsystemengineerservice.co.jp/wp/wp-content/uploads/2023/08/c-inexperienced.png);
    background-size: 61px;
    background-repeat: no-repeat;
    background-position: 0% 50%;
    line-height: 1.1;
}

  .recruit-top-contact {
    margin-top: 40px;
  }
  ul.recruit-contact-area {
    row-gap: 14px;
    margin: 14px auto 0;
    max-width: 340px;
  }
  ul.recruit-contact-area li {
    width: 100%;
    max-width: 340px;
  }
  ul.recruit-contact-area li.r-c-3,
  ul.recruit-contact-area li.r-c-4
   {

    width: 48%;
    max-width: 161px;
  }
  ul.recruit-contact-area li a {
    font-size: 16px;
    padding-top: 16px;
  }
  ul.recruit-contact-area li a span {
    font-size: 12px;
  }

.recruit-btn.c-2024 span , .recruit-btn.c-2025 span {
    font-size: 8px;
}

.recruit-btn.c-2024 , .recruit-btn.c-2025 {
    color: #fff;
    font-size: 20px;
    padding: 17px 10px;
    border-radius: 17px;
    font-weight: bold;
    line-height: 1.1;
}

  .calendar {
    height: auto;
    text-align: center;
  }
  .calendar p {
    line-height: 180px;
    font-size: 20px;
  }

.xo-event-calendar-title {
    background: #000;
    color: #fff;
    font-weight: bold;
    font-size: 120%;
    width: 88%;
    margin: auto;
    text-align: center;
    max-width: 1200px;
}

  section.service-top-area {
    margin: 0px auto 0;
    padding-bottom: 0;
  }
  .service-top {
    flex-wrap: wrap;
  }
  .service-top-img {
    width: 100%;
  }
  .service-top-img img {
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    height: 100%;
    max-height: 190px;
  }
	
  .service-top-text {
    width: 100%;
    padding: 8%;
  }
  .course-bnr {
    position: absolute;
    top: 16px;
    right: 0;
    max-width: 360px;
  }
  .course-bnr img {
    width: 100%;
  }
  h2.service-title {
    font-size: 20px;
  }
  p.service-text-en {
    font-size: 16px;
  }
  p.service-text {
    font-size: 14px;
    margin-top: 10px;
  }
  .service-list {
    width: 100%;
    height: 130px;
  }
  h3.service-name {
    font-size: 20px;
    width: -moz-max-content;
    width: max-content;
  }
  p.service-sub-text {
    font-size: 16px;
    margin-top: 10px;
  }
  .course-bnr {
    max-width: 210px;
  }
  .gradient-red {
    position: relative;
  }
  .gradient-red::before {
    height: 130px;
  }
  .gradient-red h3.service-name {
    color: #fff;
  }
  .gradient-red p.service-sub-text {
    color: #fff;
  }
  section.company-information {
    margin-top: 0px;
    padding-bottom: 0px;
  }
	
	.gradient-blue::before {
    content: "";
    display: block;
    /* background-image: url(../images/company-info-bg.png); */
    background: linear-gradient(158deg, #005197 0%, #005197 50%, #003577 50%, #003577 100%);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    width: 100%;
    height: 350px;
    top: 0;
    left: 0;
    z-index: -1;
}
	
  .company-list {
    flex-wrap: wrap;
  }
  .company-img {
    width: 100%;
    height: 190px;
  }
  .company-img img {
    width: 100%;
    height: 190px;
  }

.company-img.earth img {
    object-position: 0px -2em;
}
  .company-text-area {
    width: 100%;
    height: auto;
    padding:40px 0 0;  
  }
	
	.sp_part.co-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 0px;
}
	
	.sp_part.co-list a {
    height: 160px !important;
}
	.company-list.flex {
    height: 190px;
    width: auto;
    object-fit: cover;
}
	
  .gradient-blue {
    position: relative;
  }
  .gradient-blue::before {
    height: 165px;
  }
  h2.company-info {
    max-width: 200px;
    margin: 0 auto;
  }
  h2.company-info img {
    max-width: 100%;
  }
  p.company-info-text {
    font-size: 14px;
    margin: 10px auto 0;
    width: -moz-max-content;
    width: max-content;
  }
  /**  下層ページ
  ****************************************************************************/
  ul.page-company-list {
    margin-top: 40px;
  }
  .page-company-head {
    font-size: 18px;
  }
  .page-company-text {
    font-size: 16px;
    font-weight: bold;
    padding: 20px 10px;
  }
  .sus-area {
    padding: 20px;
    margin-top: 0px;
  }
  .sus-wrap {
    margin-bottom: 30px;
  }
  .sus-wrap:last-child {
    margin-bottom: 0;
  }
  .sus-top-en {
    font-size: 14px;
  }
  h3.sus-top-title {
    font-size: 20px;
  }
  p.sus-text {
    font-size: 16px;
    padding-top: 20px;
  }
  p.sus-bottom {
    font-size: 14px;
  }
  .excel-hours {
    margin-top: 20px;
  }
  h3.excel-top {
    font-size: 20px;
  }
  ul.excel-top-list {
    padding: 20px;
  }
  ul.excel-top-list li {
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: bold;
    align-items: center;
  }
  ul.excel-top-list li img {
    margin-right: 10px;
    width: 16px;
    height: 16px;
  }
  .excel-curriculum {
    padding: 20px;
    margin-top: 30px;
  }
  h3.excel-curriculum-top {
    font-size: 20px;
  }
  p.excel-curriculum-text {
    font-size: 16px;
  }
  h3.excel-flow-top {
    font-size: 16px;
  }
  h3.excel-flow-top span {
    font-size: 16px;
    font-weight: bold;
    padding-left: 20px;
  }
  p.excel-flow-text {
    font-size: 16px;
  }
  .it-pass {
    margin-top: 40px;
  }
  .it-curriculum {
    padding: 30px;
    margin-top: 30px;
  }
  h3.it-curriculum-top {
    font-size: 20px;
  }
  p.it-curriculum-text {
    margin-top: 20px;
    font-size: 18px;
    color: #fff;
  }
  .it-flow {
    margin-top: 30px;
  }
  h3.it-flow-top {
    font-size: 16px;
  }
  h3.it-flow-top span {
    font-size: 18px;
    font-weight: bold;
    padding-left: 20px;
  }
  h3.it-flow-top_last {
    font-size: 20px;
  }
  p.it-flow-text {
    font-size: 18px;
    padding: 20px;
  }
  h4.it-flow-head {
    font-size: 16px;
    margin-top: 20px;
    display: flex;
    flex-shrink: 0;
  }
  h4.it-flow-head span {
    font-size: 12px;
    height: 25px;
    margin: 0;
    width: 70px;
    text-align: center;
  }
  h4.it-flow-head p {
    font-size: 16px;
    margin-left: 10px;
  }
  p.it-flow-text {
    font-size: 16px;
  }
  .it-possible {
    margin-top: 30px;
    border: solid 2px #E22424;
  }
  h3.it-top {
    font-size: 20px;
  }
  ul.it-top-list {
    padding: 20px 10px;
  }
  ul.it-top-list li {
    font-size: 16px;
    margin-bottom: 20px;
  }
  ul.it-top-list li p {
    font-size: 16px;
  }
  h4.it-list-head {
    font-size: 16px;
  }
  .it-office {
    margin-top: 30px;
    border: solid 2px #2171CE;
  }
  h3.it-office-top {
    font-size: 20px;
  }

.service-top-text {
    width: 50%;
    background-color: #2171CE;
    padding: 8%;
    position: relative;
    background-image: url(https://nipponsystemengineerservice.co.jp/wp/wp-content/uploads/2023/08/arrow.png);
    background-repeat: no-repeat;
    background-position: right 13px bottom 15px;
    background-size: 1.5em;
}

.service-top-text.tec {
    background-image: none;
}

span.click-text {
    position: absolute;
    right: 10px;
    bottom: 0;
    color: white;
    font-weight: bold;
    font-size: 0.5em;
    z-index: 5;
}

.click-img {
    position: absolute;
    right: 13px;
    bottom: 13px;
    color: white;
    font-weight: bold;
    font-size: 0.5em;
    z-index: 5;
    width: 3.2em;
}

section.service-top-area img.click-img {
    bottom: 15px;
}

.company-text-area-click {
    width: 100%;
    height: 100%;
    position: relative;
}

}


h3.contact-top-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 30px;
}

.contact-form-area {
  margin: 50px auto;
  max-width: 600px;
}

.contact-input-wrap {
  margin-bottom: 30px;
}

.contact-head {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  color: #515151;
}
.contact-head span.border {
  color: #C73F3F;
  font-size: 12px;
  border: solid 1px #ff3d3d;
  margin-left: 10px;
  padding: 2px 8px;
  font-weight: bold;
  color: #ff3d3d;
}
.contact-head span.red {
  color: #C73F3F;
  font-size: 12px;
  background-color: #ff3d3d;
  margin-left: 8px;
  padding: 2px 8px;
  font-weight: bold;
  color: #fff;
}

.contact-input input[type=text], .contact-input input[type=email], .contact-input input[type=tel] {
  width: 100%;
  height: 40px;
  border: solid 1px #e5e5e5;
  background-color: #fff;
  border-radius: none;
  padding: 4px;
  font-size: 16px;
}
.contact-input textarea {
  width: 100%;
  height: 160px;
  border: solid 1px #e5e5e5;
  background-color: #fff;
  border-radius: none;
  padding: 4px;
  font-size: 16px;
  resize: none;
}
.contact-input select {
  width: 70px;
  height: 30px;
  font-size: 16px;
  border: solid 1px #e5e5e5;
  border-radius: none;
  padding: 4px;
}
.contact-input-wrap.working select.wpcf7-form-control.wpcf7-select {
    width: 180px;
}
.contact-input select[name=month], .contact-input select[name=day] {
  margin-left: 10px;
}

p.contact-bottom {
  margin-bottom: 20px;
  font-size: 16px;
}

.privacy-check p {
  font-size: 16px;
  font-weight: bold;
}
.privacy-check a {
  font-size: 16px;
  /*text-decoration: underline;*/
  color: #2171CE;
}

.submit-btn {
  margin: 40px auto 0;
  width: 260px;
  height: 60px;
}
.submit-btn input[type=submit] ,.submit-btn input[type=button]  {
  width: 260px;
  height: 60px;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
}

input[name=black] {
  background-color: #000;
}

span.edu-mt {
    margin-top: 6px;
}

@media screen and (max-width: 780px) {
		  .contact-form-area {
    margin: 40px auto;
  }
  .contact-input-wrap {
    margin-bottom: 20px;
  }
  .contact-head {
    font-size: 16px;
  }
  .contact-head span {
    font-size: 12px;
  }
  .contact-input input[type=text], .contact-input input[type=email], .contact-input input[type=tel] {
    width: 80%;
    height: 30px;
  }
  .contact-input textarea {
    width: 100%;
    height: 160px;
  }
	.contact-input.edu .contact-input.flex {
    max-width: 100px;
    width: 100px;
    padding-right: 0px;
    margin-right: -1.2em;
}
	
	span.edu-mt {
    margin-top: 2px;
}
}

h3.contact-top-text {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
.faq-list {
  max-width: 800px;
  margin: 30px auto 0;
}
.faq-q {
  width: 100%;
  background-color: #418adf;
  padding: 10px 16px;
  align-items: center;
}
.q {
  font-size: 20px;
  color: #fff;
  border: solid 1px #fff;
  width: 40px;
  height: 40px;
  text-align: center;
  border-radius: 4px;
  line-height: 40px;
  margin-right: 20px;
}
.faq-a.flex.single {
    align-items: center;
}
.faq-text-q {
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  max-width: 680px;
  width: 80%;
}
.faq-a {
  width: 100%;
  background-color: #efefef;
  padding: 10px 16px;
  /*align-items: center;*/
  margin-bottom: 30px;
  padding: 20px 16px;
}
.a {
  font-size: 20px;
  color: #ff1e1e;
  border: solid 1px #ff1e1e;
  width: 40px;
  height: 40px;
  text-align: center;
  border-radius: 4px;
  line-height: 40px;
  margin-right: 20px;
    margin-top: 5px;
}
.faq-text-a {
  font-size: 16px;
  font-weight: bold;
  max-width: 680px;
  width: 80%;
}

.page-container {
	margin-top: 60px;
}
.page-container  h2 {
margin: 30px 0 20px;
	font-size: 20px;
	font-weight: bold;
}
.page-container p {
font-size: 16px;
}
figure.wp-block-image img {
	margin-top: 40px;
	width: 100%;
}

.submit-red input[type=submit] {
	background-color: #E22424;
}
.submit-yellow input[type=submit] {
	background-color: #f2d11d;
}
.submit-blue input[type=submit] {
	background-color: #3189EF;
}
.submit-skyblue input[type=submit] {
	background-color: #78BEEA;
}
p.gray-text{
font-size: 14px; 
color: gray;
}
span.small-text {
font-size: 12px;
}
td.fc-day.fc-widget-content.fc-sat.fc-past {
    background-color: #ffd6d6;
}
td.fc-day.fc-widget-content.fc-sat.fc-future {
    background-color: #ffd6d6;
}
td.fc-day.fc-widget-content.fc-sun.fc-past {
    background-color: #ffd6d6;
}
td.fc-day.fc-widget-content.fc-sun.fc-future {
    background-color: #ffd6d6;
}
td.fc-day.fc-widget-content {
    background-color: aliceblue;
}
.contact-add-btn {
  width: 100%;
  height: 34px;
/*  border: solid 1px #e5e5e5;*/
  text-align: center;
  line-height: 32px;
/*  padding: 0 10px;*/
  padding: 0;
  font-size: 14px;
  cursor: pointer;
  color: #E22424;
  font-weight: bold;
 }

.contact-form-area.yellow-form .contact-add-btn {
    width: 100%;
    height: 34px;
    /*border: solid 1px #e5e5e5;*/
    border: solid 0px #e5e5e5;
    text-align: center;
    line-height: 32px;
    /*padding: 0 10px;*/
    padding: 0px;
    font-size: 14px;
    cursor: pointer;
    color: #e3c003;
    font-weight: bold;
}

.sec-main-title.text-center.top .en {
    font-size: 24px;
}
.sec-main-title.text-center.top .main-title {
    font-size: 34px;
}

@media screen and (max-width: 780px) {
	.service-top.flex.rev {
    flex-wrap: nowrap;
}
	.service-top.flex.rev .service-top-img {
    width: 50%;
}
	.service-top.flex.rev .service-top-text {
    width: 50%;
    padding: 5% 3% 5% 5%;
}
	.service-top.flex.rev img {
    max-height: 250px;
}	
	.service-top.flex.rev .course-bnr {
    text-align: center;
    display: contents;
}
	.service-top.flex.rev .course-bnr img {
    width: 103%;
    margin-left: -5px;
}
	
	
	
.sec-main-title.text-center.top .en {
    font-size: 120%;
}
.sec-main-title.text-center.top .main-title {
    font-size: 120%;
}
	
  h3.contact-top-text {
    font-size: 18px;
  }
  .faq-list {
    margin: 20px auto 0;
  }
.faq-a.flex.single {
    align-items: start;
}
  .q {
    font-size: 14px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-top: 5px;
  }
  .faq-text-q {
    font-size: 16px;
  }
.faq-q {
    align-items: start;
}
  .a {
    font-size: 14px;
    width: 30px;
    height: 30px;
    line-height: 30px;
  }
  .faq-text-a {
    font-size: 16px;
  }
  h3.excel-flow-top, 
  h3.it-flow-top,
  h3.it-flow-top_last {
    padding: 6px 10px;
  }
  h3.excel-flow-top  {
    font-size: 16px;
  }
  h3.excel-flow-top span {
    font-size: 16px;
    display: flex;
    width: 60px;
    height: 60px;
    line-height: 60px;
    padding-left: 0;
  }
  h3.it-flow-top span {
    font-size: 20px;
    display: flex;
    width: 60px;
    height: 60px;
    line-height: 60px;
    padding-left: 0;
  }
  h3.it-flow-top_last {
    font-size: 16px;
  }
  h3.it-flow-top_last span {
    font-size: 16px;
    display: flex;
    width: 60px;
    height: 60px;
    line-height: 60px;
    padding-left: 0;
  }
  .calendar {
    display: block;
  }

.service-top {
  margin-bottom: 0px;
}
.page-main-title {
  margin-bottom: 20px;
}
h3.it-flow-top span.small-text {
  display: none;
}
h2.company-info {
  font-size: 20px;
  color: #fff;
  font-weight: bold;
}
img.sp_size {
  max-width: 36px;
}
}

.submit-black input {
  background-color: #000;
}
.page-main-title.text-center img {
  max-width: 100%;
}
span.yubin {
  font-size: 14px;
  color: #898989;
  font-weight: 600;
  margin-left: 10px;
}
img.sp_size.img-c-inexperienced {
    width: 1em;
    height: 1.5em;
    object-fit: cover;
}

input#start, input#end {
    max-width: 100px;
}

.contact-input.edu {
    display: inline-flex;
}

.submit-btn.text-center.submit-gray input {
    color: #999;
}

/* チェックボックスを非表示にする */
.contact-add-btn input[type="checkbox"] {
display: none;
}

/* チェックボックスのラベルをボタンのようにスタイリング */
.contact-add-btn .wpcf7-list-item-label {
display: inline-block;
background-color: #007bff;
color: white;
padding: 10px 20px;
cursor: pointer;
border-radius: 4px;
width: 100%;
}

/* チェックボックスが選択されたときのスタイル */
.contact-add-btn input[type="checkbox"]:checked + .wpcf7-list-item-label {
background-color: #0056b3;
width: 100%;
}

.contact-add-btn input[type="checkbox"]:checked + .wpcf7-list-item-label:after {
        content: "(クリックで削除)";
}

span.wpcf7-list-item.first.last {
    margin: 0;
    width: 100%;
}

/*span.space {
    margin-right: -8px;
}*/

p.mv-message img.emoji:first-child {
    margin-right: 5px !important;
}

input[type="checkbox"] {
    margin-left: 1px;
}

ol.ppolicy li {
    color: #494949;
    list-style-type: auto;
    margin-left: 1.45em;
    font-feature-settings: "palt";
}

ol.ppolicy li ol.ppolicy li {
    list-style-type: circle;
}

@media screen and (max-width: 440px) {
p.service-text {
    font-size: 14px;
    margin-top: 10px;
    margin-bottom: 20px;
}
}

.xo-event-calendar table.xo-month .month-dayname td div.other-month {
    opacity: 1 !important;
}

.xo-month .month-event a {
    pointer-events: none;
    cursor: default;
}

.xo-event-calendar table.xo-month .month-event-title {
    background-color: #ccc;
    border-radius: 3px;
    color: #666;
    display: block;
    font-size: .8em;
    margin: 1px;
    overflow: hidden;
    padding: 0 4px;
    text-align: left;
    white-space: pre-line !important;
}

span.gap {
    width: 3px;
    display: inline-block;
}