:root {
  --header-height-pc: 60;
  --header-height-sp: 44;
  --color-text: #393939;
  --color-azure-radiance: #0096FF;
  --color-biscay: #20386D;
  --color-white: #fff;
  --color-prussian-blue: #001F4A;
  --font-family-base: "Noto Sans JP", sans-serif;
  --font-en: "Roboto", sans-serif;
  --font-ja: "Noto Sans JP", sans-serif;
  --font-inter: "Inter", sans-serif;
  --z-index-header: 100;
  --z-float: 90;
}
@media screen and (max-width: 767px) {
  .p_tectyl + .c_footer {
    margin-top: 80px;
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .c_page_mv .c_page_mv__body {
    padding-right: 70px;
    padding-bottom: 90px;
  }
}
.p_tectyl .p_tectyl__head {
  display: grid;
  justify-content: start;
  color: var(--color-biscay);
  padding-top: 42px;
  gap: 5px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl__head {
    gap: 16px;
    padding-top: 100px;
  }
}
.p_tectyl .p_tectyl__head_en {
  font-weight: 700;
  font-family: var(--font-en);
  font-style: italic;
  font-size: 0.8125rem;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl__head_en {
    font-size: 2.5rem;
  }
}
.p_tectyl .p_tectyl__head_ja {
  font-weight: 700;
  font-size: 1.25rem;
}
.p_tectyl .p_tectyl__intro {
  margin-top: 25px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl__intro {
    margin-top: 76px;
  }
}
@media print {
  .p_tectyl .p_tectyl__intro {
    margin-top: 25px;
  }
}
.p_tectyl .p_tectyl__intro .box {
  margin-top: 19px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl__intro .box {
    margin-top: 16px;
  }
}
@media print {
  .p_tectyl .p_tectyl__intro .box {
    margin-top: 20px;
  }
}
.p_tectyl .p_tectyl__intro .box p {
  font-weight: 500;
}
.p_tectyl .p_tectyl__intro p {
  font-size: 0.8125rem;
  line-height: 1.9230769231;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl__intro p {
    font-size: 0.9375rem;
    line-height: 2.3333333333;
  }
}
.p_tectyl .p_tectyl__intro p:not(:first-child) {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl__intro p:not(:first-child) {
    margin-top: 35px;
  }
}
@media print {
  .p_tectyl .p_tectyl__intro p:not(:first-child) {
    margin-top: 35px;
  }
}
.p_tectyl .p_tectyl__intro .intro_img {
  margin-inline: calc(50% - 50vw);
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl__intro .intro_img {
    max-width: 750px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 53px;
  }
}
.p_tectyl .p_tectyl_sec01 {
  border-bottom: 1px solid #CCCCCC;
  margin-top: 27px;
  padding-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01 {
    border-bottom: 2px solid #CCCCCC;
    margin-top: 54px;
    padding-bottom: 47px;
  }
}
.p_tectyl .p_tectyl_sec01 .box {
  margin-top: 20px;
}
.p_tectyl .p_tectyl_sec01 .box:first-of-type {
  margin-top: 18px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01 .box:first-of-type {
    margin-top: 34px;
  }
}
@media print {
  .p_tectyl .p_tectyl_sec01 .box:first-of-type {
    margin-top: 34px;
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01 .box {
    margin-top: 27px;
  }
}
@media print {
  .p_tectyl .p_tectyl_sec01 .box {
    margin-top: 34px;
  }
}
.p_tectyl .p_tectyl_sec01 .box__ttl01 {
  color: #B31910;
  font-weight: 700;
  position: relative;
  font-size: 0.71875rem;
  padding-left: 30px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01 .box__ttl01 {
    font-size: 1.25rem;
    padding-left: 62px;
  }
}
.p_tectyl .p_tectyl_sec01 .box__ttl01::before {
  content: "";
  position: absolute;
  background: #B31910;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 25px;
  height: 1px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01 .box__ttl01::before {
    height: 2px;
    width: 50px;
  }
}
.p_tectyl .p_tectyl_sec01 .box__ttl02 {
  margin-left: 4px;
  margin-top: 9px;
}
@media screen and (max-width: 767px) {
  .p_tectyl .p_tectyl_sec01 .box__ttl02 {
    line-height: 2.1739130435;
    margin-right: -4px;
  }
  .p_tectyl .p_tectyl_sec01 .box__ttl02::before {
    top: 6px;
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01 .box__ttl02 {
    margin-top: 25px;
    margin-left: 8px;
  }
}
@media print {
  .p_tectyl .p_tectyl_sec01 .box__ttl02 {
    margin-top: 25px;
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01 .box__cap {
    line-height: 3.3333333333;
    margin-top: 10px;
  }
}
@media print {
  .p_tectyl .p_tectyl_sec01 .box__cap {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01 .box__cap + .box__ttl02 {
    margin-top: 20px;
  }
}
.p_tectyl .p_tectyl_sec01__ttl {
  font-weight: 700;
  color: #20386D;
  font-size: 0.9375rem;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_sec01__ttl {
    font-size: 1.625rem;
  }
}
.p_tectyl .p_tectyl_contact {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_contact {
    margin-top: 79px;
  }
}
@media screen and (max-width: 767px) {
  .p_tectyl .p_tectyl_contact .c_contact_sec {
    height: 350px;
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_contact .c_contact_sec .c_contact_sec__body {
    padding-top: 95px;
    padding-right: clamp(2.1875rem, 4.4642857143vw + 0.0446428571rem, 4.0625rem);
    padding-left: clamp(2.1875rem, 3.2738095238vw + 0.6160714286rem, 3.5625rem);
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_contact .c_contact_sec__button_box {
    /*padding-left: 14.4522144522%;*/
    padding-bottom: 6px;
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_contact .c_contact_sec__info .tel {
    padding-left: 14.2857142857%;
  }
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_contact .c_contact_sec__info .fax {
    font-size: 1.125rem;
    padding-right: 0;
    margin-top: 8px;
  }
}
.p_tectyl .p_tectyl_contact .c_contact_sec__info .note {
  line-height: 1.6;
  text-align: center;
  font-size: 0.46875rem;
  margin-top: 5px;
  letter-spacing: 0.029em;
}
@media screen and (min-width: 768px) {
  .p_tectyl .p_tectyl_contact .c_contact_sec__info .note {
    font-size: 0.9375rem;
    margin-top: 10px;
    letter-spacing: 0;
  }
}
.p_tectyl .c_printer {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .p_tectyl .c_printer {
    margin-top: 100px;
  }
}
