@charset "utf-8";
/*****共通*****/
 #requirementMain .key-wrap {
     background-image: linear-gradient(#ffffff 30%, #01b097 53%, #0065b5 81%);
     height: 100vh;
     position: relative;
}
 #requirementMain .topKeyimages {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     z-index: -1;
}
 #requirementMain .topKeyimages .key-wrap {
     height: 50vh;
}

 #requirementMain {
     position: relative;
     z-index: 0;
}
/* 白背景 */
 #requirementMain .topkey-bg-white {
     position: fixed;
     inset: 0;
     background: #fff;
     z-index: 999;
    /* ページ最前面 */
     opacity: 1;
     transition: opacity 1.5s ease;
}
 #requirementMain .topkey-bg-white.is-hide {
     opacity: 0;
}
 #requirementMain .topKeyimages .key-wrap .key-ttl-wrap {
     position: absolute;
     z-index: 10;
     left: 8%;
     bottom: 25%;
     text-align: left;
}
 #requirementMain .key-ttl-wrap h1 {
     color: #fff;
     text-align: center;
     font-size: 120px;
     font-family: "HelveticaLTPro-Roman", Helvetica, "Arial", "sans-serif";
     font-weight: bold;
     letter-spacing: 0;
	line-height: normal;
}
 #requirementMain .key-ttl-wrap h4 {
     font-size: 28px;
     color: #01b097;
     font-weight: bold;
     position: relative;
     letter-spacing: 0px;
     transform-origin: left;
}
 #requirementMain .ttl-wrap {
     text-align: center;
     margin: 0 auto;
     width: fit-content;
}
 @media screen and (min-width: 768px) {
     #requirementMain .topKeyimages .key-space {
         height: 35vh;
         margin: 70px;
    }

}
@media (min-width: 1350px) and (max-width: 1370px) 
  and (min-height: 1010px) and (max-height: 1030px) {
#requirementMain .topKeyimages .key-wrap {
    height: 26vh;
}
	    #requirementMain .topKeyimages .key-space {
        height: 17vh;
        margin: 70px;
    }
}
 @media screen and (max-width: 767px) {
     #requirementMain .key-ttl-wrap h1 {
         font-size: 50px;
         line-height: normal;
    }
     #requirementMain .key-ttl-wrap h4{
         margin-bottom: 0;
		 font-size: 20px;
    }
     #requirementMain .topKeyimages .key-wrap:before {
	content: "";
    position: absolute;
	top: calc(-50px);
    left: 0;
    width: 100%;
    aspect-ratio: 1920 / 200;
	  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 150' preserveAspectRatio='none'%3E%3Cpath d='M0 25 Q80 25 160 12.5 Q320 -12.5 480 12.5 Q560 25 640 25 Q720 25 800 12.5 Q960 -12.5 1120 12.5 Q1200 25 1280 25 Q1360 25 1440 12.5 Q1600 -12.5 1760 12.5 Q1840 25 1920 25 L1920 150 L0 150 Z' fill='%23ffffff'/%3E%3C/svg%3E") center top no-repeat;
	 background-size: 100% 100%;
		     z-index: -1;
    }
	 #entryMain .topKeyimages .key-wrap .key-ttl-wrap {
    position: absolute;
    z-index: 10;
    left: 8%;
    bottom: 26%;
    text-align: left;
}
}
/*****共通end*****/
 #requirementMain .sec1 {
     width: 100%;
     position: relative;
     margin-top: 470px;
     background-color: #fff;
     padding-top: 90px;
     padding-bottom: 170px;
}
 #requirementMain .sec1:before {
	content: "";
    position: absolute;
	top: calc(-50px);
    left: 0;
    width: 100%;
    aspect-ratio: 1920 / 200;
	  background: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1920 150' preserveAspectRatio='none'%3E%3Cpath d='M0 25 Q80 25 160 12.5 Q320 -12.5 480 12.5 Q560 25 640 25 Q720 25 800 12.5 Q960 -12.5 1120 12.5 Q1200 25 1280 25 Q1360 25 1440 12.5 Q1600 -12.5 1760 12.5 Q1840 25 1920 25 L1920 150 L0 150 Z' fill='%23ffffff'/%3E%3C/svg%3E") center top no-repeat;
	 background-size: 100% 100%;
	    z-index: -1;
}
 #waveCanvas {
     position: absolute;
     top: 0;
     left: 0;
     width: 100%;
     height: 150px;
     z-index: 1;
     pointer-events: none;
    /* 操作邪魔しない */
}
 #requirementMain .sec1 > *:not(#waveCanvas) {
     position: relative;
     z-index: 2;
}
 #requirementMain .sec1 .wrap{
     max-width: 1030px;
     padding: 0 10px;
     margin: 0 auto;
     justify-content: center;
}
 #requirementMain .sec1 .ttl-wrap h1 {
     font-size: 55px;
     font-weight: bold;
     color: #8c9ba8;
     font-family: Helvetica, "Arial", "sans-serif";

     line-height: 80px;
     padding-top: 10px;
     padding-bottom: 10px;
     letter-spacing: 5px;
}
 #requirementMain .sec1 .ttl-wrap h4 {
     font-size: 28px;
     color: #01b097;
     font-weight: bold;
     position: relative;
     letter-spacing: 0px;
}
 #requirementMain .sec1 h2{
     text-align: center;
     margin-top: 60px;
     font-weight: 900;
     font-size: 43px;
     line-height: 80px;
}
 #requirementMain .sec1 .com-table table {
     margin: 0 auto;
     width: 100%;
}
 #requirementMain .sec1 .com-table table th:first-child {
     border-top: 1px solid #0065b5;
}
 #requirementMain .sec1 .com-table table th {
     padding: 0 25px;
     width: 20%;
     border-bottom: 1px solid #0065b5;
     text-align: left;
     background-color: #f7fafd;
     color: #0065b5;
     align-content: center;
}
 #requirementMain .sec1 .com-table table td {
     padding: 20px 70px;
     line-height: 2.2em;
     border-bottom: 1px solid #CDCDCD;
     border-top: 1px solid #CDCDCD;
     font-weight: normal;
     letter-spacing: 1px;
     font-size: 16px;
}
 #requirementMain .sec1 .req-ttl{
     font-size: 40px;
     font-weight: bold;
     color: #0065b5;
     padding-bottom: 40px;
     line-height: 50px;
}
 #requirementMain .sec1 .req-ttl span{
     font-size: 25px;
}
 #requirementMain .sec1 a.more-btn-trigger {
     display: flex;
     align-items: center;
     font-size: 15px;
     font-weight: 600;
     justify-content: right;
     padding-top: 30px;
     width: fit-content;
     justify-self: right;
     font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
@media screen and (min-height: 1100px) {
	 #requirementMain .sec1 {
		 margin-top: 660px;
	 }
	#requirementMain .key-ttl-wrap {
		position: absolute;
		z-index: 10;
		left: 8%;
		bottom: 26%;
		text-align: left;
	}
	#requirementMain .topKeyimages .key-wrap:after {
        position: absolute;
        content: "";
        background: url(../images/top/before-recruit.png) no-repeat center / contain;
        bottom: 85px;
        right: 2%;
        width: 320px;
        height: 220px;
        z-index: 13;
	}
}
@media screen and (min-height: 940px) {
	#requirementMain .sec1{
		margin-top: 500px;
	}
}
 @media screen and (min-width: 768px) {
     #requirementMain .sec1 .com-table {
         margin: 0 auto;
         font-size: 17px;
         margin-top: 7em;
         margin-bottom: 3em;
    }
}
 @media screen and (min-width: 768px) and (max-width: 1380px){
     #requirementMain .sec1{
         margin-top: 37em;
    }
}
 @media screen and (max-width: 767px) {
     #requirementMain .sec1 {
         margin-top: 27em;
         padding-top: 50px;
         padding-bottom: 70px;
    }
	     #requirementMain .sec1:before {
        top: -4vh;
    }
     #requirementMain .sec1 .ttl-wrap h1{
         font-size: 35px;
         line-height: normal;
    }
	 #requirementMain .sec1 .ttl-wrap h4 {
		 font-size: 20px;
	 }
     #requirementMain .sec1 h2 {
        margin-top: 20px;
        font-size: 16px;
        line-height: normal;
    }
	 #entryMain .sec2 .white-cont h3 span {
    font-size: 20px;
}
     #requirementMain .sec1 .req-ttl {
		font-size: 30px;
        margin-bottom: 10px;
        line-height: normal;
    }
     #requirementMain .sec1 .req-ttl span {
         font-size: 20px;
    }
     #requirementMain .sec1 .com-table table td{
         padding: 15px 0px 15px 20px;
         font-size: 14px;
    }
     #requirementMain .sec1 .com-table table th {
         padding: 0 10px;
         width: 25%;
    }
}
 #requirementMain .sec2{
     background-color: #f1f6f7;
     padding-bottom: 200px;
}
 #requirementMain .sec2 .ttl-wrap h1 {
     font-size: 55px;
     font-weight: bold;
     font-family: Helvetica, "Arial", "sans-serif";
     line-height: 80px;
     padding-top: 10px;
     padding-bottom: 10px;
     letter-spacing: 5px;
}
 #requirementMain .sec2 .ttl-wrap h4 {
     font-size: 28px;
     color: #01b097;
     font-weight: bold;
     position: relative;
     letter-spacing: 0px;
}
 #requirementMain .sec2 a.more-btn-trigger {
     display: flex;
     align-items: center;
     font-size: 15px;
     font-weight: 600;
     justify-content: right;
     padding-top: 30px;
     width: fit-content;
     justify-self: right;
     font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
 @media screen and (min-width: 768px) {
}
 @media screen and (min-width: 1380px) and (max-width: 1680px){
}
 @media screen and (min-width: 768px) and (max-width: 1380px){
}
 @media screen and (max-width: 767px) {
}
 #requirementMain .sec2 p.top-txt {
     font-size: 25px;
     font-weight: bold;
     margin-top: 2em;
     margin-bottom: 20px;
}
 #requirementMain .sec2 p {
     font-size: 17px;
     line-height: 33px;
     text-align: center;
     margin-bottom: 6em;
}
 #entry-form th {
     text-align: left;
     vertical-align: top;
     padding-top: 30px;
     font-weight: bold;
     color: #0065b5;
}
 #entry-form th span {
     padding-left: 10px;
     color: #0eb49c;
     font-weight: normal;
}
 #entry-form td.job{
     color: #0065b5;
     font-weight: bold;
     border-top: 1px solid #babfca;
     font-size: 25px;
}
 #requirementMain .small{
     font-size: 20px;
}
 #entry-form td {
     padding-bottom: 30px;
     font-size: 17px;
     text-align: left;
     padding-top: 30px;
     border-bottom: 1px solid #babfca;
}
 #entry-form td.check {
     display: flex;
     flex-wrap: wrap;
}
 #entry-form input[type="text"], #entry-form input[type="email"], #entry-form input[type="tel"], textarea {
     border: 1px solid #afaeae;
     width: 100%;
     padding: 15px;
     background: #fff;
     font-family: "Noto Sans JP", sans-serif;
     line-height: 1.6;
     font-weight: normal;
     letter-spacing: 0.03em;
}
 #entry-form table tr.home span.short input {
     width: 40%;
}
 #entry-form tr.home input[type="text"] {
     margin-bottom: 10px;
}
 #entry-form input[type="checkbox"]{
    -webkit-appearance: auto;
}
 #requirementMain .check .wpcf7-list-item {
     line-height: 1;
     margin-right: 25px;
}
 #entry-form .under-none th {
     border-bottom: none;
}
 #entry-form .top-none th {
     padding-top: 0;
}
 #entry-form .under-none td {
     padding-bottom: 10px;
     border-bottom: none;
}
 #entry-form .top-none td {
     padding-top: 0;
}
 #entry-form th.job{
     border-top: 1px solid #0065b5;
}
 #requirementMain .under-check-txtbox {
     margin-bottom: 40px;
     margin-top: 60px;
}
 #requirementMain .under-check-txtbox p {
     font-size: 15px;
     padding-bottom: 10px;
     margin-bottom: 0;
}
 #entry-form .inner-pory {
     width: fit-content;
     margin: 0 auto;
}
 #requirementMain .send-btn {
     text-align: center;
     margin: 0 auto;
     display: block;
}
 #requirementMain .send-btn input {
     background-color: #0eb49c;
     color: #fff;
     padding: 20px 100px;
     border: 1px solid #0eb49c;
     border-radius: 50px;
     letter-spacing: 2px;
     position: relative;
     cursor: pointer;
	 
}
 #requirementMain .send-btn input:hover{
     background-color: #fff;
     color: #0eb49c;
     border: 1px solid #0eb49c;
     -webkit-transition: 0.3s ease-in-out;
     -moz-transition: 0.3s ease-in-out;
     -o-transition: 0.3s ease-in-out;
     transition: 0.3s ease-in-out;
}
 #requirementMain .send-btn input:after {
     content: "";
     background: url(../images/global/after-arrow.png) no-repeat center / contain;
     width: 22px;
     height: 17px;
     position: absolute;
     right: 25px;
     top: calc(50% - 15px / 2);
}
 #requirementMain .send-btn input:hover:after {
     content: "";
     background: url(../images/global/after-arrow-hover.png) no-repeat center / contain;
     width: 22px;
     height: 17px;
     position: absolute;
     right: 25px;
     top: calc(50% - 15px / 2);
}
 @media screen and (min-width: 768px) {
     #entry-form .inner {
         width: 820px;
         margin: 0 auto;
    }
     #entry-form th {
         font-size: 17px;
         width: 25%;
         border-bottom: 1px solid #0065b5;
    }
     #entry-form td {
         padding-left: 50px;
    }
}
 @media screen and (min-width: 1380px) and (max-width: 1680px){
}
 @media screen and (min-width: 768px) and (max-width: 1380px){
}
 @media screen and (max-width: 767px) {
     #requirementMain .sec2 {
         background-color: #f1f6f7;
         padding-bottom: 100px;
    }
     #requirementMain .sec2 .ttl-wrap h1 {
         font-size: 35px;
         font-weight: bold;
     font-family: Helvetica, "Arial", "sans-serif";
         line-height: normal;
         padding-top: 10px;
         padding-bottom: 10px;
         letter-spacing: 3px;
    }
	 #requirementMain .sec2 .ttl-wrap h4 {
		 font-size: 20px;
	 }
     #requirementMain .sec2 p.top-txt {
         font-size: 20px;
    }
     #requirementMain .sec2 p {
         font-size: 13px;
         line-height: 28px;
         text-align: left;
         margin-bottom: 3em;
    }
     #entry-form th {
         text-align: left;
         vertical-align: top;
         padding-top: 30px;
         font-weight: bold;
         display: block;
         width: 100%;
    }
     #entry-form td {
         display: block;
         width: 100%;
         padding-top: 15px;
    }
     #entry-form td.job{
         border-top: none;
         font-size: 18px;
    }
     #requirementMain .small {
         font-size: 14px;
    }
     #entry-form input[type="text"], #entry-form input[type="email"], #entry-form input[type="tel"], textarea{
         font-size: 14px;
    }
     #requirementMain .sec2 p.undercheck {
         margin-bottom: 0;
         font-size: 15px;
    }
	 .wpcf7-list-item input[type="checkbox"] {
		     margin: 3px 10px 6px 3px;
	 }
}
