@charset "utf-8";
/* CSS Document */
body {font-size: 4vw;}
.pc {display: none;}
.sp {display: block;}
.left {float: none;}
.right {float: none;}
.sp_left {text-align: left !important;}
.sp_center {text-align: center;}
.flex {display: block;}
.in_flex {display: flex;}
.table {display: block;}
.table dt,
.table dd {display: block;}
.d025s,.d05s,.d075s,.d1s,.d125s,.d15s,.d175s,.d2s {transition-delay: 0s !important;}
.lower_inner {inline-size: 96%;}
.left_side,.right_side,.half {inline-size: 100%;}
/*header*/
#header {padding-block-end: 1.125em;}
#header .site_ttl a .logo {inline-size: min(262px, 9em);}
#header .nav_side {display: none;position: fixed;inset: 0 0 auto 0;block-size: 100vh;background-color: #fff;padding: 3.5em 2em 2em 2em;overflow-y: scroll;}
#header .nav_side .ul .list {padding: 0.95em 0;border-block-end: 1px solid #160a0a;}
#header .nav_side .ul .list::after {content: none;}
#header .nav_side .ul .list .link {color: #160a0a;padding-inline: 0;font-size: 1.067em;font-weight: 500;margin-block-start: 1em;}
#header .nav_side .ul .list_contact .link {padding: 1.1em 3em 1.1em 3.55em;margin-inline-end: 0;font-size: 1.133em;}
#header.page_top .nav_side .ul .list .link {color: #160a0a;}
#header .nav_side .ul .list_contact .link .fa-envelope {inset: 50% auto auto 3.25em;}
#header .nav_side .ul .list .link .fa-angle-right {display: block;inset: 50% 0em auto auto;transform: translateY(-50%);font-size: 1.250em;}
#header .nav_side .ul .list_contact {margin-inline-start: 0;margin-block-start: 2.5em;}
#header .sp_tel {border: 1px solid #160a0a;padding-block: 0.75em;}
#header .sp_tel .p_1 {font-size: 1.067em;letter-spacing: 0.08em;font-weight: 500;margin-block: 0;}
#header .sp_tel .link_tel {font-size: 1.5em;font-weight: 500;letter-spacing: 0.08em;}
#header .sp_tel .link_tel .fa-phone {font-size: 0.650em;inline-size: 1.875em;block-size: auto;text-align: center;border-radius: 50%;aspect-ratio: 1;padding-block-start: 0.5em;padding-inline-start: 0.125em;margin-inline-end: 0.5em;vertical-align: text-top;}
#header .sp_tel .p_2 {margin-block: 0;font-size: 0.800em;}

.menu_btn {display: block;inset: 1.35em 1.5em auto auto;color: #fff;inline-size: 2.25em;block-size: auto;aspect-ratio: 1;text-align: center;caret-color: transparent;}
.menu_btn .bars1 {inline-size: 100%;block-size: 2px;background-color: #160a0a;inset: 0 0 auto 0;transition: all 0.3s;}
.page_top .menu_btn .bars1 {background-color: #fff;}
.menu_btn .bars2 {inline-size: 100%;block-size: 2px;background-color: #160a0a;inset: 0.75em 0 auto 0;transition: all 0.3s;}
.page_top .menu_btn .bars2 {background-color: #fff;}
.menu_btn .text {inset: auto 0 0 0;font-size: 0.6em;letter-spacing: 0;font-weight: 500;transition: all 0.3s;color: #160a0a;}
.page_top .menu_btn .text {color: #160a0a;}
.menu_btn.active .bars1 {transform: rotate(-21deg);transform-origin: right;}
.page_top .menu_btn.active .bars1 {background-color: #160a0a;}
.menu_btn.active .bars2 {transform: rotate(21deg);transform-origin: right;}
.page_top .menu_btn.active .bars2 {background-color: #160a0a;}
.page_top .menu_btn .text {color: #fff}
.page_top .menu_btn.active .text {color: #160a0a}
#header .site_ttl {position: relative;z-index: 1;}
#header .site_ttl a .logo {transition: all 0.3s;}
#header.active .site_ttl a .logo {filter: none;}




#footer {padding-block-start: 1em;}
#footer .top .ttl_side a {margin-block-end: 1em;inline-size: min(430px,16.1em);margin-inline: auto;}
#footer .top .ttl_side .address {font-size: 0.733em;margin-block-end: 3em;}
#footer .top .link_side .p_1 {font-size: 1.067em;}
#footer .top .link_side .link_tel {font-size: 1.6em;}
#footer .top .link_side .link_mail {font-size: 0.933em;inline-size: fit-content;}
#footer .nav_side.sp {font-size: 0.8em;margin-block-start: 2em;inline-size: 75%;margin-inline: auto;display: flex;}
#footer .nav_side.sp .ul {inline-size: 50%;}
#footer .nav_side.sp .ul .list {margin-block-end: 2.5em;}
#footer .copy {margin-block: 4.5em 0;}
#scroll_top {inset: auto 0.5em 3em auto;}
#scroll_top .fa-angle-up {font-size: 1.3em;}

#main_view .view_ttl {inset: auto 0 38% 0;font-size: 1.35em;text-align: center;}
#main_view .swiper-pagination {display: none;}
#top_text_column .cover {inline-size: 100%;margin-inline: auto;aspect-ratio: 375 / 285;position: relative;block-size: auto;}
#top_text_column .cover .tr_text {font-size: 1.467em;margin: auto;inline-size: fit-content;inset: 0;margin: auto;block-size: fit-content;position: absolute;}
#top_text_column {padding-block: 6.5em 5.825em;}
#top_business .img_side,
#top_about .img_side {inline-size: 100%;}
#top_business .text_side,
#top_about .text_side {inline-size: 100%;padding-block-start: 3em;}
.ttl1 {font-size: 1.8em;}
.ttl1 .small {font-size: 0.481em;margin-block-start: 0.75em;}
.more1 {font-size: 0.8em;}
.more1 .inner_span {padding: 1em 3.5em 1em 3.75em;}
.more1 .fa-angle-right {inset: 50% 1.125em auto auto;}
#top_business .text_side .p_1,
#top_about .text_side .p_1 {font-size: 0.933em;}
#top_business .text_side .more1,
#top_about .text_side .more1 {margin-block-start: 2.5em;}
#top_business {margin-block-end: 6em;}
#top_about {margin-block-end: 6.25em;}
#top_link [class^="link_"] .span1 {font-size: 1.467em;}
#top_link [class^="link_"] {border: 1px solid var(--base-orange2);padding-block: 3em 3em;}
#top_link .link_recruit {border-block-end: none;}


.middle_inner {inline-size: 96%;}
.ttl2 {font-size: 1.5em;}
.ttl2 .num {line-height: 1;}
.ttl2 .small {font-size: 0.65em;}
#page_top {padding-block: 3em;margin-block-start: 4em;}
#page_top .page_ttl {font-size: 1.75em;}


#business .strong {font-size: 1.125em;padding-inline-start: 0;}
#business .p_1 {font-size: 1em;line-height: 1.8;margin-block-end: 2em;}
#business [class^="box"] {padding: 2em 1.5em 2em 1.5em;margin-block: 2em 4em;}
#business [class^="box"] .text_side {inline-size: 100%;}
#business [class^="box"] .text_side .sub_ttl {font-size: 1.556em;}
#business [class^="box"] .img_side {inline-size: min(460px,100%);margin-inline: auto;}
#business .p_2 {font-size: 1em;line-height: 1.8;}

#message {padding-block: 2.125em 1em;}
#message .lower_inner {inline-size: 96%;}
#message .p_1 {line-height: 1.8;transform: translateX(0);}
#message .name {margin-block-start: 2em;padding-inline-end: 0;}


#company .ttl2 {margin-block-end: 1em;}
#company .middle_inner {margin-block-start: 2.5em;}

#history {padding-block: 0;}
#history .ttl2 {margin-block-end: 1.35em;}
#history .dl_history .dt {inline-size: 5em;}
#history .dl_history .dd {padding-inline-start: 1em;}
#access {padding-block: 0.25em 3em;}
#access .ttl2 {margin-block-end: 1em;}
#access iframe {margin-block-start: 3.5em;aspect-ratio: 700 / 650;}

#recruit {padding-block: 5em 0em;}
#recruit .p_2 {line-height: 1.8em;}
#recruit .box1 {margin-block: 4em 3.5em;padding: 0.75em 1em 2em 1em;}
#recruit .box1 .text {margin-block: 1.5em 0;padding-inline-end: 0;}
#recruit .box1 .column:first-of-type {padding-block-end: 3.125em;margin-block-end: 2.5em;}
#recruit .box1 .column .img_side {inline-size: min(460px,100%);margin: 0 auto 0 auto;}
#recruit .box1 .column .text_side {inline-size: 100%;margin-block-end: 2em;}
#recruit .box1 .column .text_side .p_4 {font-size: 1em;line-height: 1.8em;}
#recruit .box2 {
  padding: 0.75em 1em 1em 1em;
  inline-size: 100%;
  margin-block-end: 3.5em;
}
#recruit .box2 .ttl2 {
  margin-block: 0.5em 0.75em;
}
#recruit .box2 .p_3 {
  font-size: 1em;
  line-height: 1.8;
}
#recruit .box2 .p_3 li {
  margin-block-end: 1em;
}
#interview {
  padding-block: 0 2em;
}

#interview .top_box .text_side {
  inline-size: 100%;
}
#interview .top_box .text_side .p_1 {
  padding-block-end: 0.5em;
}
#interview .top_box .text_side .p_1 .small {
  display: inline-block;
  margin-inline-start: 1em;
}
#interview .top_box .img_side {
  inline-size: min(460px,100%);
  margin-inline: auto;
}
#interview .top_box .text_side .p_3 {
  font-size: 1em;
  line-height: 1.8em;
  margin-block-start: 1.em;
}
#interview dl.faq {
  padding-block-end: 1.25em;
  font-size: 1em;
  margin-block-end: 1em;
}
#requirements {
  padding-block: 0.75em 5em;
}
#requirements .dl {
  padding-block-end: 1.5em;
  font-size: 1em;
  margin-block-end: 1em;
}
#requirements .add_contact .box {
  padding-inline: 0;
}
#requirements .add_contact .p_ttl {
  font-size: 1.25em;
  padding-inline-start: 0;
  margin-block-end: 2em;
}
#requirements .add_contact .box .link_tel {
  inline-size: 100%;
  font-size: 2em;
  letter-spacing: 0.08em;
  padding-inline-start: 1em;
}
#requirements .add_contact .box .link_tel .fa-phone {
  inset: 65% auto auto 1.75em;
}
#requirements .add_contact .box .link_mail {
  inline-size: 100%;
  margin-block-start: 2em;
}
#requirements .add_contact .box::after {
  inline-size: 100%;
  block-size: 1px;
  margin-block: auto;
}


#privacy {
  padding-block: 2.5em 2em;
}

#privacy .p_1 {
  line-height: 1.8em;
  margin-block-end: 3em;
}

#privacy .ol .list .dl .dd {
  font-size: 1em;
  line-height: 1.5;
  margin-block-end: 2em;
}
#privacy .ol .list .dl .dd .in_ul .in_list {
  text-indent: -1.1em;
  padding-inline-start: 1.1em;
}

#privacy .ol .list .dl .dd .in_ol .in_list {
  text-indent: -1.1em;
  padding-inline-start: 1.1em;
}

#privacy .ol .list .box {
  transform: translateY(0em);
}

#privacy .ol .list .box .p_2 {
  font-size: 1em;
}
#contact {
  padding-block: 2em 4.5em;
}
#contact .top .ttl2 {
  margin-block-end: 1.25em;
}
#contact .top .link {
  padding-block: 1.5em 2em;
}
#contact .top .link .span1 {
  font-size: 1.75em;
}

#contact .bottom {
  padding-block-start: 1.5em;
}
#contact .bottom .ttl2 {
  margin-block-end: 1.5em;
}
#contact form .form_dl .form_dt {
  inline-size: 100%;
  font-size: 1.125em;
  padding-block: 0.75em;
}

#contact form .form_dl .form_dd {
  border-block-end: none;
  margin-block-end: 0;
  font-size: 1.125em;
  padding-block: 1em;
}
#contact form .form_dl .form_dd textarea {
  aspect-ratio: 820 / 420;
}

#contact .add_btn .conf_btn {
  inline-size: 70%;
}
#contact .add_btn .conf_btn.post {
  margin-block-end: 2em;
}



