@charset "UTF-8";
/*** The new CSS reset - version 1.8.4 (last updated 14.2.2023) ***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg*, symbol*)) {
  all: unset;
  display: revert;
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
}

a,
button {
  cursor: revert;
}

a {
  color: #000;
  text-decoration: none;
  transition: all ease 0.3s;
}

ol,
ul,
menu {
  list-style: none;
}

img {
  max-inline-size: 100%;
  max-block-size: 100%;
  vertical-align: bottom;
  height: auto;
}

table {
  border-collapse: collapse;
}

input,
textarea {
  -webkit-user-select: auto;
}

textarea {
  white-space: revert;
}

meter {
  -webkit-appearance: revert;
  appearance: revert;
}

figure {
  margin: 0;
}

:where(pre) {
  all: revert;
}

::placeholder {
  color: unset;
}

::marker {
  content: initial;
}

:where([hidden]) {
  display: none;
}

:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

:where([draggable=true]) {
  -webkit-user-drag: element;
}

:where(dialog:modal) {
  all: revert;
}

html, body {
  font-family: "Zen Kaku Gothic New", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic", YuGothic, "MS PGothic", Osaka, arial, sans-serif;
  color: #171717;
  font-weight: 400;
}
html input, html textarea, body input, body textarea {
  background: #f5f5f5;
  border: none;
  border-radius: 5px;
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  html, body {
    font-size: 12px;
  }
}

.l-header {
  width: 100%;
  display: flex;
  z-index: 1;
  justify-content: space-between;
  align-items: center;
}
.l-header__logo {
  margin-left: 2.5vw;
  font-size: clamp(20px, 1.8vw, 30px);
  letter-spacing: 0.1em;
  font-weight: 700;
}
.l-header__logo img {
  width: 5.125vw;
  margin-right: 20px;
  vertical-align: middle;
}
.l-header__nav ul {
  display: flex;
  background: #fff;
}
.l-header__nav ul a {
  display: block;
  padding: 2.5vw;
  text-align: center;
  border-left: 1px solid #efefef;
  font-size: clamp(12px, 1vw, 16px);
}
.l-header__nav ul a:hover {
  background: #f9f9f9;
}
.l-header__nav ul a img {
  display: block;
  margin: 0 auto 8px;
  width: 3.3125vw;
  max-width: 53px;
}
ul .l-header__nav-mail a {
  background: #ffec00;
  padding: 2.85vw;
}
ul .l-header__nav-mail a:hover {
  background: #14a0c0;
}
@media screen and (max-width: 767px) {
  .l-header {
    margin: 0;
    padding: 10px 0 15px 5px;
  }
  .l-header__logo span {
    display: none;
  }
  .l-header__logo img {
    width: 62px;
  }
  .l-header__nav ul {
    display: block;
    margin-top: 50px;
  }
  .l-header__nav ul a {
    display: flex;
    justify-content: left;
    text-align: left;
    border: none;
    border-bottom: 1px solid #efefef;
    align-items: center;
    font-size: 13px;
  }
  .l-header__nav ul a img {
    width: 30px;
    margin: 0 10px 0 0;
  }
  ul .l-header__nav-mail a {
    border: none;
  }
  ul .l-header__nav-mail a img {
    width: 20px;
    margin: 0 14px 0 4px;
  }
}

.overlayMenuBtn {
  display: none;
}

@media screen and (max-width: 767px) {
  .overlayMenuBtn {
    display: block;
    position: fixed;
    top: 10px;
    right: 10px;
    height: 40px;
    width: 40px;
    padding: 13px 10px;
    cursor: pointer;
    z-index: 100000;
    box-sizing: border-box;
    background: #fff;
    border-radius: 100px;
  }
  .overlayMenuBtn span {
    position: relative;
    display: block;
    width: 40px;
    border-top: 1px solid #000;
    transition: 0.5s;
  }
  .overlayMenuBtn span:nth-child(1) {
    top: 0px;
  }
  .overlayMenuBtn span:nth-child(2) {
    top: 8px;
  }
  .overlayMenuBtn span:nth-child(3) {
    top: 16px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .overlayMenuBtn span {
    width: 20px;
  }
  .overlayMenuBtn span:nth-child(1) {
    top: 0px;
  }
  .overlayMenuBtn span:nth-child(2) {
    top: 5px;
  }
  .overlayMenuBtn span:nth-child(3) {
    top: 10px;
  }
}
@media screen and (max-width: 767px) {
  .overlayMenu {
    display: none;
    position: fixed;
    width: 100%;
    height: 100.5vh;
    overflow: auto;
    left: 0;
    top: 0;
    background: rgba(20, 160, 192, 0.9);
    z-index: 1000;
  }
}
@media screen and (max-width: 767px) {
  .overlayMenuInner {
    padding: 30px;
  }
}
@media screen and (max-width: 767px) {
  .overlayMenuHeader {
    width: 100%;
    height: 60px;
    line-height: 60px;
    font-size: 32px;
  }
}
@media screen and (max-width: 767px) {
  .overlayMenuItem {
    padding: 0 15px;
    box-sizing: border-box;
    max-width: 1000px;
    width: 100%;
    height: 100%;
    margin: auto;
    padding: 0 20px;
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .overlayMenuItem {
    padding: 0;
  }
}
.l-footer {
  padding: 2.75vw 4.375vw;
  background: #f5f5f5;
  display: flex;
}
.l-footer__logo img {
  max-width: 140px;
}
.l-footer__address {
  font-size: 14px;
  line-height: 1.5em;
  margin-left: 2vw;
}
.l-footer__address b {
  font-size: 16px;
}
.l-footer__nav {
  margin-left: auto;
}
.l-footer__nav p {
  text-align: right;
  font-size: 12px;
  color: #939393;
}
.l-footer ul {
  margin: 10px 0;
}
.l-footer ul li {
  display: inline-block;
  font-size: 14px;
  line-height: 1em;
  margin-left: 1.5vw;
}
.l-footer ul li a:hover {
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: 30px 20px;
    display: block;
    text-align: center;
  }
  .l-footer__logo img {
    max-width: 100px;
    margin-bottom: 15px;
  }
  .l-footer__address {
    font-size: 12px;
  }
  .l-footer ul li {
    font-size: 10px;
  }
  .l-footer__nav p {
    font-size: 10px;
    text-align: center;
  }
}

.c-btn {
  position: relative;
  max-width: 310px;
  margin: auto;
  z-index: 0;
}
.c-btn a {
  padding: 10px;
  display: block;
  color: #fff;
  transition: all ease 0.3s;
  text-align: center;
  background: #000;
  border-radius: 5px;
}
.c-btn a:hover {
  opacity: 0.7;
}
.c-btn__black {
  background-image: none;
  position: relative;
  max-width: 310px;
  margin: auto;
  z-index: 0;
  border-radius: 100px;
}
.c-btn__black a {
  background: #171717;
  border-radius: 100px;
  text-align: center;
  padding: 10px;
  display: block;
  color: #fff;
  transition: all ease 0.3s;
}
.c-btn__black a:hover {
  background: #666;
}
.c-btn__black a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  transition: all ease 0.6s;
  z-index: -1;
  background-image: linear-gradient(90deg, #00bdbf, #036fa7);
  border-radius: 100px;
}
.c-btn__black a::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  right: 15px;
  top: calc((100% - 8px) / 2);
  transition: all ease 0.3s;
}
.c-btn__black a:hover::before {
  opacity: 0;
}
.c-btn__black a:hover::after {
  right: 10px;
}

.c-inner {
  margin: 0 12.5vw;
}
@media screen and (max-width: 1200px) {
  .c-inner {
    margin: 0 20px;
  }
}

.c-title {
  writing-mode: vertical-rl;
  font-size: clamp(20px, 1.8vw, 30px);
  top: -0.5vw;
  position: relative;
  left: 8.75vw;
}
.c-title__bg {
  background: url(../images/ttl_company.jpg) no-repeat center center/cover;
  height: 300px;
}
.c-title__bg.contact {
  background: url(../images/ttl_contact.jpg) no-repeat center center/cover;
}
.c-title__bg.recruit {
  background: url(../images/ttl_recruit.jpg) no-repeat center center/cover;
}
.c-title__bg.service {
  background: url(../images/ttl_service.jpg) no-repeat center center/cover;
}
.c-title span {
  border-right: 1px solid #000;
}
@media screen and (max-width: 767px) {
  .c-title {
    font-size: 16px;
    font-weight: normal;
  }
  .c-title__bg {
    height: 100px;
  }
}

.c-stitle {
  font-size: clamp(20px, 2.5vw, 40px);
  margin-bottom: 2.5vw;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-stitle {
    margin-bottom: 20px;
  }
}

.c-attention {
  text-align: center;
  font-size: 12px;
  line-height: 1.5em;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .c-attention {
    font-size: 10px;
    color: #999;
  }
}

.c-table {
  width: 100%;
}
.c-table th {
  border-bottom: 1px solid #d8d8d8;
  padding: 15px 20px;
  font-size: 14px;
  font-weight: normal;
  text-align: left;
}
.c-table td {
  border-bottom: 1px solid #d8d8d8;
  padding: 15px 20px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c-table th, .c-table td {
    font-size: 12px;
    padding: 10px;
  }
}

.c-bg {
  background-color: #f5f5f5;
}

.u-hidden {
  display: none;
}

.u-block {
  display: block;
}

.u-inline-block {
  display: inline-block;
}

.u-width-fill {
  width: 100% !important;
}

.u-flex {
  display: flex;
  flex-wrap: wrap;
}
.u-flex-h-start {
  justify-content: flex-start;
}
.u-flex-h-start-self {
  justify-self: flex-start;
}
.u-flex-h-center {
  justify-content: center;
}
.u-flex-h-center-self {
  justify-self: center;
}
.u-flex-h-end {
  justify-content: flex-end;
}
.u-flex-h-end-self {
  justify-self: flex-end;
}
.u-flex-h-between {
  justify-content: space-between;
}
.u-flex-h-between-self {
  justify-self: space-between;
}
.u-flex-v-start {
  align-items: flex-start;
}
.u-flex-v-start-self {
  align-self: flex-start;
}
.u-flex-v-center {
  align-items: center;
}
.u-flex-v-center-self {
  align-self: center;
}
.u-flex-v-end {
  align-items: flex-end;
}
.u-flex-v-end-self {
  align-self: flex-end;
}

.u-text-exsmall {
  font-size: 0.6rem;
}
.u-text-small {
  font-size: 0.8rem;
}
.u-text-medium-small {
  font-size: 0.9rem;
}
.u-text-medium {
  font-size: 1rem;
}
.u-text-medium-large {
  font-size: 1.1rem;
}
.u-text-large {
  font-size: 1.2rem;
}
.u-text-exlarge {
  font-size: 1.5rem;
}
.u-text-left {
  text-align: left;
}
.u-text-center {
  text-align: center;
}
.u-text-right {
  text-align: right;
}
.u-text-underline {
  text-decoration: underline;
}

.u-font-weight-normal {
  font-weight: normal;
}
.u-font-weight-bold {
  font-weight: bold;
}

.u-mt-0 {
  margin-top: calc(0rem / 2) !important;
}

.u-mb-0 {
  margin-bottom: calc(0rem / 2) !important;
}

.u-ml-0 {
  margin-left: calc(0rem / 2) !important;
}

.u-mr-0 {
  margin-right: calc(0rem / 2) !important;
}

.u-pt-0 {
  padding-top: calc(0rem / 2) !important;
}

.u-pb-0 {
  padding-bottom: calc(0rem / 2) !important;
}

.u-pl-0 {
  padding-left: calc(0rem / 2) !important;
}

.u-pr-0 {
  padding-right: calc(0rem / 2) !important;
}

.u-width-00p {
  width: calc(0 * 10%) !important;
}

.u-width-00vw {
  width: calc(0 * 10vw) !important;
}

.u-mt-1 {
  margin-top: calc(1rem / 2) !important;
}

.u-mb-1 {
  margin-bottom: calc(1rem / 2) !important;
}

.u-ml-1 {
  margin-left: calc(1rem / 2) !important;
}

.u-mr-1 {
  margin-right: calc(1rem / 2) !important;
}

.u-pt-1 {
  padding-top: calc(1rem / 2) !important;
}

.u-pb-1 {
  padding-bottom: calc(1rem / 2) !important;
}

.u-pl-1 {
  padding-left: calc(1rem / 2) !important;
}

.u-pr-1 {
  padding-right: calc(1rem / 2) !important;
}

.u-width-10p {
  width: calc(1 * 10%) !important;
}

.u-width-10vw {
  width: calc(1 * 10vw) !important;
}

.u-mt-2 {
  margin-top: calc(2rem / 2) !important;
}

.u-mb-2 {
  margin-bottom: calc(2rem / 2) !important;
}

.u-ml-2 {
  margin-left: calc(2rem / 2) !important;
}

.u-mr-2 {
  margin-right: calc(2rem / 2) !important;
}

.u-pt-2 {
  padding-top: calc(2rem / 2) !important;
}

.u-pb-2 {
  padding-bottom: calc(2rem / 2) !important;
}

.u-pl-2 {
  padding-left: calc(2rem / 2) !important;
}

.u-pr-2 {
  padding-right: calc(2rem / 2) !important;
}

.u-width-20p {
  width: calc(2 * 10%) !important;
}

.u-width-20vw {
  width: calc(2 * 10vw) !important;
}

.u-mt-3 {
  margin-top: calc(3rem / 2) !important;
}

.u-mb-3 {
  margin-bottom: calc(3rem / 2) !important;
}

.u-ml-3 {
  margin-left: calc(3rem / 2) !important;
}

.u-mr-3 {
  margin-right: calc(3rem / 2) !important;
}

.u-pt-3 {
  padding-top: calc(3rem / 2) !important;
}

.u-pb-3 {
  padding-bottom: calc(3rem / 2) !important;
}

.u-pl-3 {
  padding-left: calc(3rem / 2) !important;
}

.u-pr-3 {
  padding-right: calc(3rem / 2) !important;
}

.u-width-30p {
  width: calc(3 * 10%) !important;
}

.u-width-30vw {
  width: calc(3 * 10vw) !important;
}

.u-mt-4 {
  margin-top: calc(4rem / 2) !important;
}

.u-mb-4 {
  margin-bottom: calc(4rem / 2) !important;
}

.u-ml-4 {
  margin-left: calc(4rem / 2) !important;
}

.u-mr-4 {
  margin-right: calc(4rem / 2) !important;
}

.u-pt-4 {
  padding-top: calc(4rem / 2) !important;
}

.u-pb-4 {
  padding-bottom: calc(4rem / 2) !important;
}

.u-pl-4 {
  padding-left: calc(4rem / 2) !important;
}

.u-pr-4 {
  padding-right: calc(4rem / 2) !important;
}

.u-width-40p {
  width: calc(4 * 10%) !important;
}

.u-width-40vw {
  width: calc(4 * 10vw) !important;
}

.u-mt-5 {
  margin-top: calc(5rem / 2) !important;
}

.u-mb-5 {
  margin-bottom: calc(5rem / 2) !important;
}

.u-ml-5 {
  margin-left: calc(5rem / 2) !important;
}

.u-mr-5 {
  margin-right: calc(5rem / 2) !important;
}

.u-pt-5 {
  padding-top: calc(5rem / 2) !important;
}

.u-pb-5 {
  padding-bottom: calc(5rem / 2) !important;
}

.u-pl-5 {
  padding-left: calc(5rem / 2) !important;
}

.u-pr-5 {
  padding-right: calc(5rem / 2) !important;
}

.u-width-50p {
  width: calc(5 * 10%) !important;
}

.u-width-50vw {
  width: calc(5 * 10vw) !important;
}

.u-mt-6 {
  margin-top: calc(6rem / 2) !important;
}

.u-mb-6 {
  margin-bottom: calc(6rem / 2) !important;
}

.u-ml-6 {
  margin-left: calc(6rem / 2) !important;
}

.u-mr-6 {
  margin-right: calc(6rem / 2) !important;
}

.u-pt-6 {
  padding-top: calc(6rem / 2) !important;
}

.u-pb-6 {
  padding-bottom: calc(6rem / 2) !important;
}

.u-pl-6 {
  padding-left: calc(6rem / 2) !important;
}

.u-pr-6 {
  padding-right: calc(6rem / 2) !important;
}

.u-width-60p {
  width: calc(6 * 10%) !important;
}

.u-width-60vw {
  width: calc(6 * 10vw) !important;
}

.u-mt-7 {
  margin-top: calc(7rem / 2) !important;
}

.u-mb-7 {
  margin-bottom: calc(7rem / 2) !important;
}

.u-ml-7 {
  margin-left: calc(7rem / 2) !important;
}

.u-mr-7 {
  margin-right: calc(7rem / 2) !important;
}

.u-pt-7 {
  padding-top: calc(7rem / 2) !important;
}

.u-pb-7 {
  padding-bottom: calc(7rem / 2) !important;
}

.u-pl-7 {
  padding-left: calc(7rem / 2) !important;
}

.u-pr-7 {
  padding-right: calc(7rem / 2) !important;
}

.u-width-70p {
  width: calc(7 * 10%) !important;
}

.u-width-70vw {
  width: calc(7 * 10vw) !important;
}

.u-mt-8 {
  margin-top: calc(8rem / 2) !important;
}

.u-mb-8 {
  margin-bottom: calc(8rem / 2) !important;
}

.u-ml-8 {
  margin-left: calc(8rem / 2) !important;
}

.u-mr-8 {
  margin-right: calc(8rem / 2) !important;
}

.u-pt-8 {
  padding-top: calc(8rem / 2) !important;
}

.u-pb-8 {
  padding-bottom: calc(8rem / 2) !important;
}

.u-pl-8 {
  padding-left: calc(8rem / 2) !important;
}

.u-pr-8 {
  padding-right: calc(8rem / 2) !important;
}

.u-width-80p {
  width: calc(8 * 10%) !important;
}

.u-width-80vw {
  width: calc(8 * 10vw) !important;
}

.u-mt-9 {
  margin-top: calc(9rem / 2) !important;
}

.u-mb-9 {
  margin-bottom: calc(9rem / 2) !important;
}

.u-ml-9 {
  margin-left: calc(9rem / 2) !important;
}

.u-mr-9 {
  margin-right: calc(9rem / 2) !important;
}

.u-pt-9 {
  padding-top: calc(9rem / 2) !important;
}

.u-pb-9 {
  padding-bottom: calc(9rem / 2) !important;
}

.u-pl-9 {
  padding-left: calc(9rem / 2) !important;
}

.u-pr-9 {
  padding-right: calc(9rem / 2) !important;
}

.u-width-90p {
  width: calc(9 * 10%) !important;
}

.u-width-90vw {
  width: calc(9 * 10vw) !important;
}

.u-mt-10 {
  margin-top: calc(10rem / 2) !important;
}

.u-mb-10 {
  margin-bottom: calc(10rem / 2) !important;
}

.u-ml-10 {
  margin-left: calc(10rem / 2) !important;
}

.u-mr-10 {
  margin-right: calc(10rem / 2) !important;
}

.u-pt-10 {
  padding-top: calc(10rem / 2) !important;
}

.u-pb-10 {
  padding-bottom: calc(10rem / 2) !important;
}

.u-pl-10 {
  padding-left: calc(10rem / 2) !important;
}

.u-pr-10 {
  padding-right: calc(10rem / 2) !important;
}

.u-width-100p {
  width: calc(10 * 10%) !important;
}

.u-width-100vw {
  width: calc(10 * 10vw) !important;
}

.u-margin-auto {
  margin-left: auto;
  margin-right: auto;
}

.u-color-true-black {
  color: #000;
}
.u-color-black {
  color: #333;
}
.u-color-gray {
  color: #666;
}
.u-color-winered {
  color: #e12d5c;
}
.u-color-red {
  color: #e12d5c;
}
.u-color-white {
  color: #fff;
}

.u-color-bggray {
  background: #f5f5f5;
}
.u-color-bgbase {
  background: #14a0c0;
}
.u-color-bgpart {
  background: #ffec00;
}
.u-color-bgblack {
  background: #000;
}
.u-color-bgwhite {
  background: #fff;
}

.pc {
  display: block !important;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block !important;
  }
}

.p-top__header {
  background: #f5f5f5;
}
.p-top__main {
  background: url(../images/img_main.jpg) no-repeat center center/cover;
  max-height: 670px;
  height: 47.9375vw;
  display: flex;
  padding-left: 14.25vw;
}
.p-top__main span {
  border-right: 1px solid #000;
}
.p-top__main h2 {
  writing-mode: vertical-rl;
  order: 2;
  margin-top: -0.5vw;
  font-size: clamp(20px, 1.8vw, 30px);
  margin-left: 1vw;
}
.p-top__main p {
  writing-mode: vertical-rl;
  margin-top: -0.5vw;
  font-size: clamp(14px, 1.0625vw, 17px);
  line-height: 2em;
}
.p-top__slider {
  margin-top: -5vw;
}
.p-top__slider img {
  width: 100%;
  border-radius: 20px;
  padding: 1vw;
}
.p-top__intro {
  background: #f5f5f5;
  padding: 5vw 0;
}
.p-top__intro .c-inner {
  margin: 0 6.25vw;
  display: flex;
  align-items: center;
}
.p-top__intro figure {
  width: 35.5vw;
  margin-right: 3vw;
}
.p-top__intro h2 {
  font-size: clamp(16px, 1.625vw, 26px);
  margin-bottom: 1.68vw;
}
.p-top__intro h2 span {
  display: block;
  font-size: clamp(14px, 1.125vw, 18px);
}
.p-top__intro p {
  line-height: 1.8em;
}
.p-top__feature {
  padding: 6.25vw 0 0;
}
.p-top__feature h2 {
  text-align: center;
  font-size: clamp(18px, 2.0625vw, 33px);
  margin-bottom: 5.625vw;
  font-weight: 700;
}
.p-top__feature h2 span {
  display: block;
  font-size: 14px;
  font-weight: normal;
  color: #d7a700;
}
.p-top__feature-box {
  padding-bottom: 2.5vw;
  margin-bottom: 5vw;
}
.p-top__feature .feature01 {
  background: url(../images/icon_top01.svg) no-repeat right 5vw bottom/23.25vw;
}
.p-top__feature .feature02 {
  background: url(../images/icon_top02.svg) no-repeat left 5vw bottom/23.25vw;
}
.p-top__feature .feature03 {
  background: url(../images/icon_top03.svg) no-repeat right 5vw bottom/23.25vw;
}
.p-top__feature-detail {
  display: flex;
}
.p-top__feature-detail figure {
  width: 72.3125vw;
}
.p-top__feature-detail figure img {
  width: 72.3125vw;
  height: 250px;
  object-fit: cover;
  object-position: 100% 0;
}
.feature02 .p-top__feature-detail figure {
  order: 2;
}
.p-top__feature-title {
  width: 27.5vw;
  writing-mode: vertical-rl;
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-right: 12.5vw;
}
.feature02 .p-top__feature-title {
  padding-left: 12.5vw;
  padding-right: 0;
}
.p-top__feature-title p {
  color: #14a0c0;
  font-size: 14px;
  margin-left: 10px;
}
.p-top__feature-title h3 {
  font-size: clamp(20px, 2vw, 35px);
  font-weight: normal;
}
.p-top__feature-title h3 b {
  color: #14a0c0;
  font-weight: normal;
}
.p-top__feature-title h3 span {
  border-right: 1px solid #000;
}
.p-top__feature-text {
  margin-top: 30px;
  line-height: 1.8em;
  width: 60vw;
}
.p-top__site {
  display: flex;
  gap: 30px;
  margin: 6.25vw 4.375vw;
}
.p-top__site > div {
  width: calc((100% - 30px) / 2);
  padding: 3.25vw 0;
}
.p-top__site > div h3 {
  font-size: clamp(20px, 1.8vw, 30px);
  text-align: center;
  margin-bottom: 2vw;
}
.p-top__site > div h3 span {
  font-size: 12px;
  display: block;
  margin-bottom: 5px;
  font-weight: normal;
  letter-spacing: 0.1em;
}
.p-top__site > div h3 b {
  background: #000;
  color: #fff;
  padding: 0 7px;
}
.p-top__site > div h3 .f-white {
  background: #fff;
  color: #000;
}
.p-top__site-url {
  background: #fff;
  text-align: center;
  font-size: clamp(12px, 1.2vw, 18px);
  margin-bottom: 10px;
}
.p-top__site-url a {
  padding: 0.8vw 0.5vw;
  display: block;
}
.p-top__site-box {
  border-radius: 10px;
}
.p-top__site-box-text {
  display: flex;
  font-size: clamp(12px, 0.875vw, 14px);
  line-height: 1.8em;
}
.p-top__site-box-text figure {
  width: 15.25vw;
}
.p-top__site-box-text div {
  width: 30vw;
  margin: 0 3.25vw 0 2.25vw;
}
.p-top__site .siteL {
  background-color: #ffec00;
}
.p-top__site .siteR {
  background: #14a0c0;
}
.p-top__site ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 3.25vw;
}
.p-top__site ul li {
  width: calc((100% - 40px) / 5);
}
@media screen and (max-width: 767px) {
  .p-top__main {
    max-height: 670px;
    height: auto;
    padding-left: 2vw;
  }
  .p-top__main h2 {
    font-size: 12px;
    margin-bottom: 40px;
    margin-top: -5px;
  }
  .p-top__main p {
    font-size: 10px;
    margin-top: -5px;
  }
  .p-top__slide {
    width: 100%;
  }
  .p-top__intro {
    padding: 50px 0;
  }
  .p-top__intro .c-inner {
    display: block;
    text-align: center;
  }
  .p-top__intro figure {
    width: 60%;
    margin: 0 auto 20px;
  }
  .p-top__feature {
    padding: 50px 0 0;
  }
  .p-top__feature h2 {
    font-size: 20px;
  }
  .p-top__feature h2 span {
    font-size: 12px;
    color: #d7a700;
  }
  .p-top__feature-box {
    padding-bottom: 0;
    margin-bottom: 50px;
  }
  .p-top__feature .feature01 {
    background: url(../images/icon_top01.svg) no-repeat right 5vw top 80px/23.25vw;
  }
  .p-top__feature .feature02 {
    background: url(../images/icon_top02.svg) no-repeat left 5vw top 80px/23.25vw;
  }
  .p-top__feature .feature03 {
    background: url(../images/icon_top03.svg) no-repeat right 5vw top 80px/23.25vw;
  }
  .p-top__feature-detail figure {
    width: 70%;
  }
  .p-top__feature-detail figure img {
    width: 100%;
    height: 150px;
    object-position: 75% 50%;
  }
  .feature03 .p-top__feature-detail figure img {
    object-position: 50% 0%;
  }
  .p-top__feature-title {
    width: 30%;
    padding-right: 0;
  }
  .feature02 .p-top__feature-title {
    padding-left: 0;
    padding-right: 0;
  }
  .p-top__feature-title p {
    font-size: 12px;
  }
  .p-top__feature-title h3 {
    font-size: 20px;
  }
  .p-top__feature-text {
    margin-top: 20px;
    width: 100%;
  }
  .p-top__site {
    display: block;
  }
  .p-top__site > div {
    width: 100%;
    margin-bottom: 10px;
    padding: 20px 0;
  }
  .p-top__site > div h3 {
    margin-bottom: 15px;
  }
  .p-top__site > div h3 span {
    font-size: 10px;
  }
  .p-top__site-box-text {
    display: flex;
    font-size: 10px;
    line-height: 1.5em;
  }
  .p-top__site-box-text figure {
    width: 40%;
  }
  .p-top__site-box-text div {
    width: 55%;
  }
  .p-top__site ul {
    gap: 10px;
  }
  .p-top__site ul li {
    width: calc((100% - 30px) / 4);
  }
}

.p-top__slider {
  opacity: 0;
  transition: 0.4s;
}

.p-top__slider.slick-initialized {
  opacity: 1;
}

.p-company {
  padding: 7.5vw 0 6.25vw;
}
.p-company__box {
  display: flex;
  justify-content: space-between;
}
.p-company__box figure {
  width: 39.375vw;
}
.p-company__detail {
  width: 28.125vw;
}
.p-company__detail .c-stitle {
  margin-bottom: 1.5vw;
  text-align: left;
}
.p-company__detail-title {
  font-size: clamp(14px, 1vw, 16px);
  font-weight: bold;
  margin-bottom: 1.5vw;
}
.p-company__detail-title span {
  display: block;
  font-size: clamp(16px, 1.5vw, 24px);
}
.p-company__detail-text {
  font-size: 14px;
  line-height: 1.8em;
}
.p-company__info {
  padding: 6.25vw 0;
}
.p-company__info-box {
  display: flex;
  justify-content: space-between;
}
.p-company__info-box table {
  width: 48%;
}
.p-company__info-map {
  width: 48%;
  height: 0;
  overflow: hidden;
  padding-bottom: 40%;
  position: relative;
}
.p-company__info-map iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-company {
    padding: 50px 0;
  }
  .p-company__box {
    display: block;
  }
  .p-company__box figure {
    width: 100%;
    margin-top: 15px;
  }
  .p-company__detail {
    width: 100%;
  }
  .p-company__detail .c-stitle {
    text-align: center;
    margin-bottom: 20px;
  }
  .p-company__info {
    padding: 50px 0;
  }
  .p-company__info-box {
    display: block;
  }
  .p-company__info-box table {
    width: 100%;
  }
  .p-company__info-map {
    margin-top: 30px;
    width: 100%;
    padding-bottom: 100%;
  }
}

.p-service__list ul {
  margin: 5vw 0;
  display: flex;
  justify-content: space-between;
}
.p-service__list ul li {
  width: calc((100% - 30px) / 2);
  background: url(../images/btn_service01.jpg) no-repeat center left/cover;
  transition: all ease 0.3s;
  border-radius: 5px;
}
.p-service__list ul li:nth-of-type(2) {
  background: url(../images/btn_service02.jpg) no-repeat center left/cover;
}
.p-service__list ul li:hover {
  opacity: 0.8;
}
.p-service__list ul li a {
  position: relative;
}
.p-service__list ul li a::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  right: 15px;
  top: calc((100% - 8px) / 2);
  transition: all ease 0.3s;
}
.p-service__list ul li a:hover::before {
  opacity: 0;
}
.p-service__list ul li a:hover::after {
  right: 10px;
}
.p-service__list ul li p {
  align-items: center;
  height: 12.5vw;
  writing-mode: vertical-rl;
  color: #fff;
  margin-left: 1vw;
  padding: 1vw;
}
.p-service__list ul li p span {
  font-size: clamp(12px, 1vw, 14px);
  border-right: 1px solid #fff;
}
.p-service__list ul li p .title {
  font-size: clamp(20px, 1.8vw, 30px);
}
.p-service__title {
  display: flex;
}
.p-service__title h2 {
  width: 12.5vw;
  padding: 1vw 0;
  background: #14a0c0;
  writing-mode: vertical-rl;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-service__title h2 strong {
  font-size: clamp(18px, 2.5vw, 40px);
  display: flex;
}
.p-service__title h2 span {
  font-size: clamp(12px, 1vw, 14px);
  font-weight: normal;
}
.p-service__buy .p-service__title h2 {
  background: #ffec00;
  color: #000;
}
.p-service__title figure {
  width: 85.625vw;
}
.p-service__title figure img {
  width: 85.625vw;
  min-height: 200px;
  object-fit: cover;
  object-position: 100% 0;
}
.p-service__stitle {
  font-size: clamp(20px, 1.8vw, 30px);
  font-weight: bold;
  margin: 2.5vw 0 1vw;
}
.p-service__buy .p-service__stitle {
  text-align: right;
}
.p-service__text {
  font-size: clamp(14px, 1.2vw, 16px);
  line-height: 1.8em;
}
.p-service__buy .p-service__text {
  text-align: right;
}
.p-service__point {
  display: flex;
  justify-content: space-between;
  gap: 1.8vw;
  flex-wrap: wrap;
  margin: 4.75vw 0 3.125vw;
}
.p-service__point li {
  width: calc((100% - 3.75vw) / 3);
  background: #f5f5f5;
  position: relative;
  padding: 2vw;
}
.p-service__point li img {
  position: absolute;
  right: 1vw;
  top: -1.5vw;
  width: 7.1249vw;
  max-width: 114px;
}
.p-service__point li span {
  font-size: clamp(18px, 3.4375vw, 55px);
  font-weight: bold;
  color: #14a0c0;
  display: block;
  color: #ffec00;
}
.p-service__point li h3 {
  font-size: clamp(16px, 1.25vw, 20px);
  margin: 0.5vw 0 1vw;
}
.p-service__point li p {
  font-size: clamp(12px, 1vw, 14px);
  line-height: 1.8em;
}
.p-service__site {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1.24vw;
  margin-bottom: 11.25vw;
}
.p-service__site > li {
  width: calc((100% - 1.25vw) / 2);
  border: 1px solid #dedede;
  border-radius: 5px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 2.1875vw 1.5625vw;
}
.p-service__buy .p-service__site > li {
  padding: 0;
  max-height: 9.875vw;
}
.p-service__buy .p-service__site > li a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  width: 100%;
}
.p-service__buy .p-service__site > li a::after {
  position: absolute;
  display: block;
  content: "";
  border: 5px solid transparent;
  border-left: 8px solid #beb000;
  right: 5px;
  transition: all ease 0.3s;
}
.p-service__buy .p-service__site > li a:hover::after {
  right: 0;
}
.p-service__site > li div {
  width: 24vw;
}
.p-service__buy .p-service__site > li div {
  width: 23vw;
  padding-right: 1.5vw;
}
.p-service__site > li figure {
  width: 7.124vw;
  max-width: 114px;
  margin-right: 1.5vw;
}
.p-service__buy .p-service__site > li figure {
  width: 11.25vw;
  max-width: 180px;
}
.p-service__buy .p-service__site > li figure img {
  border-radius: 5px 0 0 5px;
}
.p-service__site > li h3 {
  font-size: clamp(16px, 1.5vw, 24px);
  color: #14a0c0;
  margin-bottom: 0.5vw;
  margin-top: -0.5vw;
}
.p-service__buy .p-service__site > li h3 {
  color: #beb000;
}
.p-service__site > li p {
  font-size: clamp(12px, 1vw, 14px);
  line-height: 1.8em;
}
.p-service__site > li p span {
  background: #14a0c0;
  color: #fff;
  display: inline-block;
  padding: 0 5px;
  margin-right: 1vw;
}
.p-service__buy .p-service__site > li p span {
  background: #beb000;
}
.p-service__site > li ul li {
  display: inline-block;
  margin-bottom: 3px;
}
.p-service__site > li ul li a {
  background: #f5f5f5;
  display: block;
  border-radius: 100px;
  padding: 2px 10px;
  font-size: clamp(12px, 1vw, 14px);
}
.p-service__site > li ul li a:hover {
  background: #dedede;
}
@media screen and (max-width: 767px) {
  .p-service__list ul {
    margin: 20px 0;
  }
  .p-service__list ul li {
    width: calc((100% - 10px) / 2);
    background-position: left top;
  }
  .p-service__list ul li p {
    height: 70px;
  }
  .p-service__list ul li p span {
    font-size: 10px;
  }
  .p-service__list ul li p .title {
    font-size: 14px;
  }
  .p-service__list ul li a::after {
    display: none;
  }
  .p-service__title h2 {
    width: 80px;
  }
  .p-service__title h2 strong {
    font-size: 14px;
  }
  .p-service__title h2 span {
    font-size: 10px;
  }
  .p-service__title figure {
    width: 85.625vw;
  }
  .p-service__title figure img {
    width: 85.625vw;
    min-height: 150px;
    object-fit: cover;
    object-position: 50% 0;
  }
  .p-service__stitle {
    font-size: 18px;
    font-weight: bold;
    margin: 2.5vw 0 1vw;
  }
  .p-service__buy .p-service__stitle {
    text-align: left;
  }
  .p-service__text {
    font-size: 12px;
  }
  .p-service__buy .p-service__text {
    text-align: left;
  }
  .p-service__point li {
    width: 100%;
    padding: 10px 15px 15px;
    margin-bottom: 10px;
  }
  .p-service__point li img {
    width: 57px;
    right: 10px;
  }
  .p-service__site {
    display: block;
  }
  .p-service__site > li {
    width: 100%;
    margin-bottom: 10px;
  }
  .p-service__buy .p-service__site > li {
    max-height: 100%;
  }
  .p-service__site > li figure {
    display: none;
  }
  .p-service__buy .p-service__site > li figure {
    display: block;
    width: 120px;
  }
  .p-service__site > li div {
    width: 100%;
    padding: 10px;
  }
  .p-service__site > li div h3 {
    margin-bottom: 3px;
  }
  .p-service__buy .p-service__site > li div {
    width: calc(100% - 130px);
    padding-right: 30px;
    padding: 0 30px 0 10px;
  }
  .p-service__site > li div p {
    font-size: 10px;
    line-height: 1.5em;
  }
}

.p-policy {
  padding: 80px 0;
}
.p-policy__box .c-stitle {
  font-size: clamp(20px, 1.8vw, 30px);
}
.p-policy__box h3 {
  font-size: 20px;
  margin-bottom: 15px;
  border-bottom: 1px solid #c7c7c7;
  padding-bottom: 10px;
  position: relative;
}
.p-policy__box h3::after {
  content: "";
  position: absolute;
  border-bottom: 1px solid #ffec00;
  bottom: -1px;
  left: 0;
  width: 300px;
}
.p-policy__box h4 {
  margin-bottom: 15px;
  font-size: 16px;
  background: #f5f5f5;
  padding: 5px 10px;
  border-radius: 5px;
  display: inline-block;
}
.p-policy__box p {
  font-size: 14px;
  line-height: 1.8em;
  margin-bottom: 50px;
}
.p-policy__box ol,
.p-policy__box ul {
  margin-bottom: 50px;
}
.p-policy__box ol li,
.p-policy__box ul li {
  font-size: 14px;
  text-indent: -1em;
  margin-left: 1em;
  margin-bottom: 10px;
}
.p-policy__txt {
  margin: 0 0 10px 0 !important;
}
@media screen and (max-width: 767px) {
  .p-policy {
    padding: 50px 0;
  }
  .p-policy h3 {
    font-size: 16px;
  }
  .p-policy h3::after {
    width: 200px;
  }
  .p-policy h4 {
    font-size: 14px;
  }
  .p-policy p {
    font-size: 12px;
  }
  .p-policy ol li,
  .p-policy ul li {
    font-size: 12px;
  }
}

.p-contact {
  max-width: 880px;
  width: 100%;
  margin: 5vw auto 8vw;
}
.p-contact p {
  line-height: 1.8em;
}
.p-contact table {
  width: 100%;
  margin-top: 50px;
}
.p-contact table td {
  padding: 10px 20px;
  font-size: 14px;
}
.p-contact table td span {
  background: #c7101a;
  color: #fff;
  font-size: 12px;
  display: inline-block;
  padding: 2px 5px;
  border-radius: 3px;
  margin-left: 5px;
}
.p-contact p {
  margin-bottom: 1vw;
}
.p-contact input {
  min-height: 2.5vw;
  padding: 5px 10px;
  margin-top: 10px;
  width: 100%;
}
.p-contact textarea {
  height: 9.5vw;
  padding: 5px 10px;
  margin-top: 10px;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .p-contact {
    padding-bottom: 30px;
  }
  .p-contact p {
    font-size: 12px;
  }
  .p-contact table {
    margin-top: 20px;
  }
  .p-contact table td {
    display: block;
    padding: 10px 20px;
  }
  .p-contact input {
    padding: 8px 10px;
  }
  .p-contact textarea {
    height: 150px;
  }
}

.c-btn__send {
  text-align: center;
  margin: 30px auto;
}
.c-btn__send input {
  width: 250px;
  background: #171717;
  border-radius: 5px;
  color: #fff;
  position: relative;
  display: inline-block;
}
.c-btn__send span::after {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  right: 15px;
  top: calc((100% - 8px) / 2);
  transition: all ease 0.3s;
  display: inline-block;
}
.c-btn__send span:hover::after {
  right: 10px;
}

.error {
  text-align: center;
  color: #c7101a;
}
.error h4 {
  margin-bottom: 20px;
}
.error p {
  margin-bottom: 0;
}

.p-recruit {
  padding: 6.25vw 0;
}
.p-recruit__box {
  border-radius: 10px;
  padding: 80px 50px;
}
.p-recruit__box h2 {
  font-size: clamp(16px, 1.5vw, 24px);
  text-align: center;
  margin-bottom: 30px;
}
.p-recruit__box table {
  width: 100%;
  margin-bottom: 30px;
}
.p-recruit__box table th {
  border-bottom: 1px solid #d8d8d8;
  padding: 15px 20px;
  font-size: 14px;
  font-weight: normal;
  text-align: left;
}
.p-recruit__box table td {
  border-bottom: 1px solid #d8d8d8;
  padding: 15px 20px;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .p-recruit__box table th, .p-recruit__box table td {
    font-size: 12px;
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .p-recruit {
    padding: 50px 0;
  }
  .p-recruit__box {
    padding: 30px 20px;
  }
  .p-recruit__box table th,
  .p-recruit__box table td {
    font-size: 12px;
  }
  .p-recruit__box table th {
    width: 30%;
  }
}/*# sourceMappingURL=style.css.map */