/* --------------------------------------------------------------------------------------
   Company
--------------------------------------------------------------------------------------- */

.key-wrap-company { background: url(../img/company/key_company.png) no-repeat center bottom; }

.key-wrap-company h2 { color: #fff; }

.company-wrap table,
.recruit-wrap table { width: 100%; }

.company-wrap th,
.recruit-wrap th {
	border-top: 1px solid #090c1d;
	padding: 25px 10px;
	width: 150px;
}

.company-wrap td,
.recruit-wrap td {
	border-top: 1px solid #090c1d;
	padding: 25px 10px;
}

.company-wrap tr:last-child th,
.company-wrap tr:last-child td,
.recruit-wrap tr:last-child th,
.recruit-wrap tr:last-child td { border-bottom: 1px solid #090c1d; }

.company-wrap td .officer { display: table; }

.company-wrap td .officer dl { display: table-row; }

.company-wrap td .officer dt { display: table-cell; }

.company-wrap td .officer dd {
	display: table-cell;
	padding-left: 24px;
}

.company-wrap td li {
	list-style: disc;
	margin-top: 25px;
}

.company-wrap td li p { margin-top: 15px; }

.company-wrap td li:first-child,
.company-wrap td li p:first-child { margin-top: 0; }

.company-wrap td li a { text-decoration: underline; }

/* --------------------------------------------------------------------------------------
   Recruit
--------------------------------------------------------------------------------------- */

.key-wrap-recruit { background-image: url(../img/company/key_recruit.png); }

.recruit-wrap td li {
	list-style: disc;
	margin-left: 25px;
}

.recruit-wrap .txt { margin-top: 24px; }

#english .recruit-wrap p{font-size: 1.6rem; text-align: center;}

/* --------------------------------------------------------------------------------------
   contact
--------------------------------------------------------------------------------------- */

.key-wrap-contact { background-image: url(../img/company/key_contacts.png); }

.contact-wrap h2 {
	border-bottom: 1px solid #d8d8d8;
	font-size: 2.2rem;
	padding-bottom: 14px;
}

.contact-wrap .inner {
	display: flex;
	flex-wrap: wrap;
	margin: 50px auto auto;
}

.contact-wrap .inner section { width: 50%; }

.contact-wrap .inner section:nth-child(n+3) { margin-top: 90px; }

.contact-wrap .inner section h3 {
	border-left: 5px solid #6b9bbe;
	font-size: 1.8rem;
	padding-left: 15px;
}

.contact-wrap .inner section p {
	font-size: 3.6rem;
	letter-spacing: 1px;
	line-height: 1;
	margin-left: 15px;
	margin-top: 20px;
}

.contact-wrap .inner section p span { font-size: 2rem; }

.contact-wrap .inner section .mail { font-size: 2.4rem; }

.contact-wrap .inner section p a { text-decoration: none; }

.contact-wrap .inner section .mail a { text-decoration: underline; }

.contact-wrap .banner {
	float: left;
	margin-top: 90px;
}

#english .contact-wrap .banner-style-blue {
	margin: 0;
}

.contact-wrap .banner span {
	display: block;
	font-size: 1.2rem;
	margin-top: 10px;
}

.contact-wrap .banner p {
	font-size: 1.8rem;
	font-weight: bold;
	margin-top: 5px;
}

/* --------------------------------------------------------------------------------------
   Access
--------------------------------------------------------------------------------------- */

.key-wrap-access { background-image: url(../img/company/key_access.png); }

.access-wrap table {
	float: left;
	width: 500px;
}

.access-wrap th {
	border-top: 1px solid #090c1d;
	width: 160px;
}

#english .access-wrap th {
	padding: 18px 10px;
}

.access-wrap td {
	border-top: 1px solid #090c1d;
	padding: 25px 0;
}

#english .access-wrap td {
	padding: 19px 0;
}

	.access-wrap tr:last-child th,
.access-wrap tr:last-child td { border-bottom: 1px solid #090c1d; }

.access-wrap .map {
	float: right;
	width: 470px;
}

.access-wrap .map iframe { width: 100%; }

.access-wrap .map a { margin-top: 32px; }

/* --------------------------------------------------------------------------------------
   スマホ
--------------------------------------------------------------------------------------- */

@media (max-width: 979px) {

	.key-wrap-company {
		background-image: url(../img/company/key_company_sp.png);
		background-size: cover;
	}

	.key-wrap-contact { background-position: 59% center; }

	.key-wrap-access { background-position: 54.5% center; }
	.key-wrap-access h2 { color: #090c1d; }

	.key-wrap-recruit { background-position: 61% center; }

	.company-wrap,
	.recruit-wrap,
	.contact-wrap,
	.access-wrap {
		padding-left: 4vw;
		padding-right: 4vw;
	}

	.company-wrap tr,
	.recruit-wrap tr,
	.access-wrap tr {
		border-top: 1px solid #090c1d;
		display: block;
		padding: 4vw 0;
	}

	.company-wrap tr:last-child,
	.recruit-wrap tr:last-child,
	.access-wrap tr:last-child { border-bottom: 1px solid #090c1d; }

	.company-wrap th,
	.company-wrap td,
	.recruit-wrap th,
	.recruit-wrap td,
	.access-wrap th,
	.access-wrap td,
	#english .access-wrap th,
	#english .access-wrap td  {
		border-top: none;
		display: block;
		padding: 0;
		width: auto;
	}

	.company-wrap th,
	.recruit-wrap th,
	.access-wrap th { font-weight: bold; }

	.company-wrap tr:last-child th,
	.company-wrap tr:last-child td,
	.recruit-wrap tr:last-child th,
	.recruit-wrap tr:last-child td,
	.access-wrap tr:last-child th,
	.access-wrap tr:last-child td { border-bottom: none; }

	.company-wrap td li { list-style: none; }

	.contact-wrap h2 {
		font-size: 4.266666666666667vw;
		padding-bottom: 2.6666666666666665vw;
	}

	.contact-wrap .inner {
		display: block;
		margin-top: 6.666666666666667vw;
		padding-bottom: 8vw;
	}

	.contact-wrap .inner section {
		margin-top: 12vw;
		width: auto;
	}

	.contact-wrap .inner section:first-child { margin-top: 0; }

	.contact-wrap .banner { margin-top: 5vw; }

	.contact-wrap .inner section h3 { font-size: 4.8vw; }

	.contact-wrap .inner section p {
		font-size: 9.333333333333334vw;
		margin-left: 4.666666666666667vw;
		margin-top: 4vw;
	}

	#english .contact-wrap .banner-style-blue {margin: 0 0 24px;}

	.contact-wrap .inner section p small { font-size: 4vw; }

	.access-wrap table {
		float: none;
		width: 100%;
	}

	.access-wrap .map {
		float: none;
		margin-top: 8vw;
		width: auto;
	}

	#english .recruit-wrap p{font-size: 4.266666666666667vw;}

}

/* 20250716 add start */
.p-form-wrap {
  max-width: 800px;
  margin: auto;
}
.p-form-wrap * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.p-form-cont input,
.p-form-cont textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.p-form-cont .c-form__text-input,
.p-form-cont .c-form__text-input-tel,
.p-form-cont .c-form__text-area {
  border: solid 1px #090c1d;
  width: 100%;
}
.p-form-cont .c-form__text-input,
.p-form-cont .c-form__text-input-tel {
  padding: 8px 16px;
}
.p-form-cont .c-form__text-area {
  padding: 12px 16px;
}
.p-form-cont textarea {
  font-family: "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "Osaka", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.p-form-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0;
  border-bottom: solid 1px #090c1d;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  .p-form-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.p-form-row--textarea {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p-form-row__head {
  min-width: 200px;
  max-width: 200px;
}
@media only screen and (max-width: 767px) {
  .p-form-row__head {
    min-width: auto;
    max-width: none;
    width: 100%;
  }
}

.p-form-row__cont {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .p-form-row__cont {
    margin-top: 10px;
  }
}

.p-form-row__head-text {
  font-weight: bold;
}

.p-form-row__head-text {
  position: relative;
  display: inline-block;
}
.p-form-row__head-text.is-required {
  padding-right: 1.5em;
}
.p-form-row__head-text.is-required::before {
  content: "＊";
  position: absolute;
  color: red;
  right: 0;
}

.p-accept-area {
  margin: 30px auto 0;
  text-align: center;
  max-width: 500px;
}
@media only screen and (max-width: 767px) {
  .p-accept-area {
    text-align: left;
  }
}
.p-accept-area .wpcf7-list-item {
  margin: 0;
}

.c-form__accept-input {
  margin-top: 20px;
}

[data-name=privacy-check] .wpcf7-list-item {
  margin: 0;
}
[data-name=privacy-check] .wpcf7-list-item-label {
  position: relative;
  padding-left: 30px;
  cursor: pointer;
}
[data-name=privacy-check] .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  width: 18px;
  height: auto;
  aspect-ratio: 1/1;
  border: solid 1px #070d1f;
  border-radius: 5px;
}
[data-name=privacy-check] .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 7px;
  width: 5px;
  height: 9px;
  border-right: solid 3px #070d1f;
  border-bottom: solid 3px #070d1f;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  opacity: 0;
}

input[name=privacy-check] {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
input[name=privacy-check]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

.c-form__accept-text {
  display: inline-block;
  text-align: left;
}

.c-form__text-link {
  text-decoration: underline;
  color: red;
}
@media only screen and (min-width: 768px) {
  .c-form__text-link:hover {
    text-decoration: none;
  }
}

.p-form-submit-btn-wrap {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  .p-form-submit-btn-wrap {
    padding-bottom: 50px;
  }
}

.p-form-submit-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: auto;
  height: 72px;
  width: 320px;
  max-width: 100%;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-form-submit-btn:hover::before, .p-form-submit-btn:hover::after {
    border-color: #090c1d;
  }
  .p-form-submit-btn:hover .c-form__submit-btn-input {
    background-color: #fff;
    color: #090c1d;
  }
}
.p-form-submit-btn::before {
  content: "";
  display: block;
  border: 1px solid #fff;
  border-radius: 30px;
  height: 27px;
  position: absolute;
  right: 20px;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 27px;
}
.p-form-submit-btn::after {
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
  content: "";
  display: inline-block;
  height: 7px;
  margin-right: 0;
  position: absolute;
  right: 32px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 7px;
}

.c-form__submit-btn-input {
  background-color: #090c1d;
  color: #fff;
  width: 100%;
  height: 100%;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out;
  border: none;
}

.p-form-submit-btn-wrap .wpcf7-spinner {
  position: absolute;
  right: -15px;
  top: 50%;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
  margin: 0;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .p-form-submit-btn-wrap .wpcf7-spinner {
    right: auto;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    top: calc(100% + 20px);
  }
}

.p-contact-infos {
  margin-top: 100px;
}
@media only screen and (max-width: 767px) {
  .p-contact-infos {
    margin-top: 80px;
  }
}

.key-wrap-thanks {
  background-image: url(../img/company/key_contacts.png);
}

@media (max-width: 979px) {
  .key-wrap-thanks {
    background-position: 59% center;
  }
}
.p-form-thanks__head {
  text-align: center;
  font-size: 36px;
  font-weight: bold;
}
@media only screen and (max-width: 767px) {
  .p-form-thanks__head {
    font-size: 30px;
  }
}

.p-form-thanks__desc {
  margin-top: 50px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .p-form-thanks__desc {
    margin-top: 30px;
  }
}

/* 20250716 add end */