/* リキッドレイアウト対応 */

html {
   font-size: min(11px, 0.78125vw);
}

body {
   background: #fff;
   color: #3E3A39;
   font-family: "Nunito Sans", sans-serif;
   font-weight: 300;
}

body.noscroll {
   overflow: hidden;
}

a {
   display: block;
   transition: 0.2s;
}

a:hover {
   opacity: 0.6;
   transition: 0.2s;
}

dt {
   font-weight: 400;
}

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

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

/* Remove default padding */

ul,
ol {
   padding: 0;
}

/* Remove default margin */

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
   line-height: 1;
   margin: 0;
}

/* Set core root defaults */

/* Set core body defaults */

body {
   min-height: 100vh;
   text-rendering: optimizeSpeed;
}

/* Remove list styles on ul, ol elements with a class attribute */

ul,
ol {
   list-style: none;
}

/* A elements that don't have a class get default styles */

a:not([class]) {
   -webkit-text-decoration-skip: ink;
   text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
   display: block;
   max-width: 100%;
   width: 100%;
}

/* Inherit fonts for inputs and buttons */

input,
button,
textarea,
select {
   font: inherit;
}

/* フォームリセット */

input,
button,
select,
textarea {
   -webkit-appearance: none;
   -moz-appearance: none;
   appearance: none;
   background: transparent;
   border: none;
   border-radius: 0;
   font: inherit;
   outline: none;
}

textarea {
   resize: vertical;
}

input[type=checkbox],
input[type=radio] {
   display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
   cursor: pointer;
}

select::-ms-expand {
   display: none;
}

/* ホバー */

a {
   -webkit-text-decoration: none;
   text-decoration: none;
}

/*
 * c-btn  //  READ MORE ボタン
 * -------------------------------------------------------------
 */

.c-btn {
   align-items: center;
   border: 0.1rem solid #3E3A39;
   display: flex;
   font-family: "Montserrat", sans-serif;
   font-size: 1.6rem;
   font-weight: 700;
   height: 5rem;
   margin-top: 3rem;
   overflow: hidden;
   padding-left: 2.2rem;
   position: relative;
   text-transform: uppercase;
   width: 20rem;
}

.c-btn::before {
   background: #F3B11A;
   border-left: 0.1rem solid #3E3A39;
   content: "";
   display: inline-block;
   height: 100%;
   position: absolute;
   right: 0;
   top: 0;
   width: 5rem;
}

.c-btn::after {
   background: url(./../images/common/btn_guide.png) no-repeat center;
   background-size: 100% 100%;
   content: "";
   display: inline-block;
   height: 1.18628rem;
   position: absolute;
   right: 1.48rem;
   width: 2.04885rem;
}

.c-btn.--reverse {
   margin-left: auto;
}

/*
 * c-faq-btn
 * -------------------------------------------------------------
 */

.c-faq-btn {
   bottom: 13rem;
   max-width: 106rem;
   opacity: 0;
   padding: 0 3rem;
   position: fixed;
   right: 50%;
   transform: translate(50%, 50px);
   transition: 1.4s;
   width: 100%;
   z-index: 10;
}

.c-faq-btn__link {
   background: url(./../images/top/btn_Q&A.png) no-repeat center;
   background-size: 100% 100%;
   height: 6.8rem;
   margin-left: auto;
   width: -moz-fit-content;
   width: fit-content;
   width: 6.8rem;
}

.c-faq-btn.is-visible {
   opacity: 0.6;
   transform: translate(50%, 0);
}

/*
 * c-flex  //  2colmun 横並び layout
 * -------------------------------------------------------------
 */

.c-flex {
   display: flex;
   gap: 0 5rem;
}

.c-flex.--reverse {
   flex-direction: row-reverse;
}

.c-flex__img {
   aspect-ratio: 500/350;
   margin-top: 5.1rem;
   width: 50rem;
}

.c-flex__img img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

.c-flex__body {
   flex: 1;
}

.c-flex__content {
   margin-top: 3.8rem;
}

.c-flex__text {
   font-size: 1.8rem;
   line-height: 1.75;
   text-align: justify;
}

.c-flex__text span {
   display: block;
   text-align: right;
}

/*
 * c-form
 * -------------------------------------------------------------
 */

.c-form__items {
   display: flex;
   flex-direction: column;
   gap: 3rem 0;
   width: 100%;
}

.c-form dd {
   width: 100%;
}

.c-form input,
.c-form textarea,
.c-form select {
   background: #fff;
   border: 0.1rem solid #040000;
   font-size: 1.6rem;
   height: 100%;
   padding: 1rem 2.1rem;
   width: 100%;
}

.c-form input::-moz-placeholder,
.c-form textarea::-moz-placeholder {
   color: #B5B5B6;
   font-size: 1.6rem;
}

.c-form input::placeholder,
.c-form textarea::placeholder {
   color: #B5B5B6;
   font-size: 1.6rem;
}

.c-form__flex {
   display: flex;
   gap: 0 3rem;
}

.c-form__flex dd {
   width: 50%;
}

.c-form__btn {
   background: #FCFDFA;
   margin: 5.5rem 0 0 auto;
}

.c-form__btn input {
   background: #FCFDFA;
   border: none;
   height: 100%;
}

.c-form textarea {
   height: 25rem;
   line-height: 1.5;
}

.c-form__dropdown-placeholder {
   align-items: center;
   background: #fff;
   border: 0.1rem solid #040000;
   color: #B5B5B6;
   cursor: pointer;
   display: flex;
   font-size: 1.6rem;
   height: 4.4rem;
   padding: 1rem 2.1rem;
   position: relative;
   width: 100%;
}

.c-form__dropdown-placeholder::after {
   -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
   background: #595757;
   clip-path: polygon(50% 100%, 0 0, 100% 0);
   content: "";
   display: inline-block;
   height: 1rem;
   position: absolute;
   right: 2.1rem;
   top: 50%;
   transform: translate(0, -50%);
   transition: all 0.2s ease-in-out;
   width: 1.6rem;
}

.c-form__dropdown-placeholder.open::after {
   transform: rotate(180deg);
}

#selected-option-display {
   background: #fff;
   color: #3e3a39;
   display: block;
   position: absolute;
   width: 80%;
   z-index: 1000;
}

.c-form__dropdown-list {
   background: #fbfbfb;
   border: 0.1rem solid #040000;
   border-top: none;
   display: none;
   display: flex;
   flex-direction: column;
   gap: 1.56rem 0;
   padding: 2.36rem 2.1rem 3rem;
}

.c-form__dropdown-list span {
   align-items: center;
   display: flex;
   font-size: 1.6rem;
   gap: 0 1.2rem;
   position: relative;
}

.c-form__dropdown-list input[type=radio] {
   display: none;
}

.c-form__dropdown-list [type=radio]+span::before {
   background: #fff;
   border: 1px solid #221714;
   border-radius: 50%;
   content: "";
   display: block;
   height: 1.2rem;
   width: 1.2rem;
}

.c-form__dropdown-list [type=radio]:checked+span::after {
   background: #F3B11A;
   border: 1px solid #221714;
   border-radius: 50%;
   content: "";
   display: block;
   height: 1.2rem;
   left: 0;
   opacity: 1;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   width: 1.2rem;
}

.c-form__required {
   position: relative;
}

.c-form__fake-placeholder {
   color: #B5B5B6;
   font-size: 1.6rem;
   left: 2.1rem;
   pointer-events: none;
   position: absolute;
   top: 50%;
   transform: translate(0, -50%);
}

.c-form__fake-placeholder.--textarea {
   top: 2.2rem;
}

.c-form__placeholder-part {
   color: #F3B11A;
}

.c-form__required input:focus+.c-form__fake-placeholder {
   display: none;
}

.c-form__required textarea:focus+.c-form__fake-placeholder {
   display: none;
}

.c-form select {
   display: none;
}

.c-form__custom-dropdown {
   cursor: pointer;
   position: relative;
   width: 100%;
}

.c-form__selected-value {
   align-items: center;
   background-color: #fff;
   border: 1px solid #231815;
   color: #B5B5B6;
   display: flex;
   font-size: 1.6rem;
   height: 4.4rem;
   justify-content: space-between;
   padding: 1rem 2.1rem;
}

.c-form__selected-value::after {
   -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
   background: #595757;
   clip-path: polygon(50% 100%, 0 0, 100% 0);
   content: "";
   display: inline-block;
   height: 1rem;
   transition: all 0.2s ease-in-out;
   width: 1.6rem;
}

.c-form__selected-value.open::after {
   transform: rotate(180deg);
}

.c-form__selected-value.selected {
   color: #3E3A39;
}

.c-form__options-container {
   background-color: #FBFBFB;
   border: 1px solid #231815;
   border-top: none;
   height: 22.5rem;
   left: 0;
   overflow: scroll;
   padding: 1.2rem 0 1.5rem;
   position: absolute;
   right: 0;
   top: 100%;
   z-index: 1;
}

.c-form__options-container .option {
   font-size: 1.6rem;
   padding: 0.6rem 2.1rem;
}

.c-form__options-container .option:hover {
   background-color: #D3EDFB;
}

.file-upload-wrapper {
   display: inline-block;
   position: relative;
}

#fileUpload {
   left: 0;
   opacity: 0;
   position: absolute;
   top: 0;
}

#customButton {
   background: #fff;
   border: 0.1rem solid #040000;
   font-size: 1.6rem;
   height: 4.4rem;
   /* display    : block; */
   left: 0;
   padding: 1rem 2.1rem;
   padding: 1rem 2.1rem;
   pointer-events: inherit;
   position: static;
   transform: none;
   transform: initial;
   width: 100%;
   z-index: 10;
}

.c-form__file-name {
   font-size: 1.6rem;
   left: 2.1rem;
   position: relative;
   top: 1.5rem;
}

.p-about__img {
   width: 40%;
}

p-about__img img {
   -o-object-fit: cover;
   aspect-ratio: 400/300;
   height: 100%;
   object-fit: cover;
}

/*
 * c-hamburger
 * -------------------------------------------------------------
 */

.c-hamburger {
   display: none;
   height: 1.3rem;
   position: relative;
   width: 2.2rem;
}

.c-hamburger span {
   background: #595757;
   display: block;
   height: 0.1rem;
   position: absolute;
   transition: 0.3s;
   width: 100%;
}

.c-hamburger span:nth-child(1) {
   top: 0;
}

.c-hamburger span:nth-child(2) {
   top: 50%;
}

.c-hamburger span:nth-child(3) {
   top: 100%;
}

.c-hamburger.is-active span {
   transition: 0.3s;
}

.c-hamburger.is-active span:nth-child(1) {
   top: 60%;
   transform: rotate(45deg);
}

.c-hamburger.is-active span:nth-child(2) {
   opacity: 0;
   top: 51%;
}

.c-hamburger.is-active span:nth-child(3) {
   top: 60%;
   transform: rotate(-45deg);
}

/*
 * c-leadtext-fs19
 * -------------------------------------------------------------
 */

.c-leadtext-fs19 {
   font-size: 1.9rem;
   line-height: 1.75;
   text-align: justify;
}

/*
 * c-section-header
 * -------------------------------------------------------------
 */

.c-section-header {
   border-bottom: 0.5rem solid #F3B11A;
   padding-bottom: 1.87rem;
   width: 28.5rem;
}

.c-section-header.--center {
   margin: 0 auto;
   text-align: center;
}

.c-section-header.--reverse {
   margin-left: auto;
   text-align: right;
}

.c-section-header.--reverse-left {
   margin-right: auto;
}

.c-section-header__title {
   color: #1B2851;
   font-family: "Open Sans", sans-serif;
   font-size: 2.6rem;
   font-weight: 700;
   text-transform: capitalize;
}

.c-section-header__title span {
   display: inline-block;
   text-transform: none;
}

/*
 * u-br-sp
 * -------------------------------------------------------------
 */

.u-br-sp {
   display: none;
}

/*
 * l-company-group
 * -------------------------------------------------------------
 */

.l-company-group {
   margin-top: 13rem;
   padding: 10rem 0 4.35rem;
}

/*
 * l-flex
 * -------------------------------------------------------------
 */

.l-flex {
   border-top: 0.1rem solid #3E3A39;
   margin-top: 10rem;
   padding-top: 8.3rem;
}

.l-flex.--notspace {
   border-top: none;
   margin-top: 0;
   padding-top: 0;
}

/*
 * l-inner
 * -------------------------------------------------------------
 */

.l-inner {
   margin: 0 auto;
   max-width: 106rem;
   padding: 0 3rem;
}

/*
 * l-main
 * -------------------------------------------------------------
 */

.l-main {
   padding: 9.85rem 0 12rem;
}

.l-main.--pb0 {
   padding-bottom: 0;
}

/*
 * fadein Animation
 * -------------------------------------------------------------
 */

.fadeInDown {
   visibility: visible !important;
}

.fadeInDown {
   animation-duration: 1.4s;
   animation-fill-mode: both;
   animation-name: fadeInDown;
}

.fadeinFlash {
   visibility: visible !important;
}

.fadeinFlash {
   animation-duration: 1.4s;
   animation-fill-mode: both;
   animation-name: fadeInDown;
}

/*
 * p-career-contact
 * -------------------------------------------------------------
 */

.p-career-contact {
   margin-top: 9.77rem;
}

.p-career-contact__lead {
   margin: 5.6rem auto 0;
   width: 70rem;
}

.p-career-contact__text {
   font-size: 1.9rem;
   line-height: 1.75;
   text-align: justify;
}

.p-career-contact__form {
   margin: 8rem auto 0;
   max-width: 59rem;
}

.p-career-contact__form-text {
   font-size: 1.9rem;
   line-height: 1.75;
   margin: 1rem 0;
   text-align: justify;
}

/*
 * p-career
 * -------------------------------------------------------------
 */

.p-career__lead {
   margin: 7.5rem auto 0;
   width: 70rem;
}

.p-career__lead-text {
   color: #1B2851;
   font-family: "Open Sans", sans-serif;
   font-size: 2.6rem;
   font-weight: 700;
   margin-bottom: 3.9rem;
   text-align: center;
}

.p-career__items {
   margin-top: 9.5rem;
}

.p-career__item {
   display: flex;
}

.p-career__content {
   border-left: 0.1rem solid #231815;
   border-top: 0.1rem solid #231815;
   flex: 1;
   padding: 4.7rem 7rem;
}

.p-career__text {
   font-size: 1.9rem;
   line-height: 1.75;
   text-align: justify;
}

.p-career__img {
   aspect-ratio: 400/400;
   width: 40rem;
}

.p-career__img img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

.p-career__item:nth-child(2n) {
   flex-direction: row-reverse;
}

.p-career__item:nth-child(2n) .p-career__img {
   aspect-ratio: 600/400;
   width: 60rem;
}

.p-career__item:nth-child(2n) .p-career__content {
   border: none;
   border-bottom: 0.1rem solid #231815;
   border-right: 0.1rem solid #231815;
   padding: 3.5rem 4rem 4rem 6rem;
   width: 40rem;
}

.p-career__item:nth-child(2n) .p-career__text {
   margin-top: 2.6rem;
   text-align: left;
}

.p-career__title {
   color: #1B2851;
   font-family: "Montserrat", sans-serif;
   font-size: 2.3rem;
   font-weight: 700;
}

/*
 * p-company-about
 * -------------------------------------------------------------
 */

.p-company-about__content {
   margin: 7rem auto 0;
   max-width: 71rem;
}

.p-company-about__text {
   font-size: 2.2rem;
   line-height: 2;
   text-align: justify;
}

/*
 * p-company-group
 * -------------------------------------------------------------
 */

.p-company-group {
   margin-top: 13rem;
   padding: 10rem 0 4.35rem;
   position: relative;
}

.p-company-group::before {
   background: #3E3A39;
   content: "";
   display: block;
   height: 0.1rem;
   left: 0;
   margin: 0 auto;
   max-width: 100rem;
   position: absolute;
   right: 0;
   top: 0;
   width: 100%;
}

.p-company-group__lead {
   margin-top: 6rem;
   text-align: center;
}

.p-company-group__text {
   font-size: 2rem;
   line-height: 1.8;
}

.p-company-group__img {
   margin: 9rem auto 0;
   max-width: 95.074rem;
}

/*
 * p-contact-form
 * -------------------------------------------------------------
 */

/*
 * p-contact-thanks-main
 * -------------------------------------------------------------
 */

.p-contact-thanks-main {
   margin-top: 12rem;
   position: relative;
}

/*
 * p-contact-thanks
 * -------------------------------------------------------------
 */

.p-contact-thanks-main {
   position: relative;
}

.p-contact-thanks {
   align-items: center;
   background: rgba(236, 237, 235, 0.74);
   display: grid;
   height: 100vh;
   justify-items: center;
   place-items: center;
   position: absolute;
   top: 0;
   width: 100%;
   z-index: 10;
}

.p-contact-thanks__box {
   align-items: center;
   background: #fcfdfa;
   background: #fcfdfa;
   border: 0.1rem solid #231815;
   display: flex;
   flex-direction: column;
   left: 0;
   margin: 0 auto;
   padding: 2.95rem 0 4.75rem;
   position: absolute;
   right: 0;
   top: 40%;
   transform: translate(0, -50%);
   width: 59rem;
}

.p-contact-thanks img {
   margin: 0 auto;
   width: 5.54rem;
}

.p-contact-thanks__title {
   background: #e8e8e8;
   border: 0.1rem solid #231815;
   border-radius: 0.4rem;
   font-family: "Montserrat", sans-serif;
   font-size: 1.6rem;
   font-weight: 700;
   margin-top: 2.57rem;
   max-width: 43rem;
   padding: 1.4rem 3rem 1.3rem;
   text-align: center;
}

.p-contact-thanks__text {
   font-size: 1.3rem;
   font-weight: 400;
   line-height: 1.6;
   margin-top: 2rem;
   text-align: center;
}

.p-contact-thanks__btn {
   background: #F3B11A;
   border-radius: 0.4rem;
   color: #fff;
   font-size: 1.8rem;
   font-weight: 700;
   letter-spacing: 0.1em;
   margin-top: 2.5rem;
   padding: 1.1rem;
   text-align: center;
   width: 8rem;
}

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

.p-contact__form {
   margin: 6rem auto 0;
   max-width: 59rem;
}

/*
 * p-faq
 * -------------------------------------------------------------
 */

.p-faq__header-title {
   text-transform: uppercase;
}

.p-faq__accordion {
   border: 0.1rem solid #040000;
   margin: 6rem auto 0;
   max-width: 70rem;
}

.p-faq__title {
   cursor: pointer;
   font-size: 1.9rem;
   font-weight: 400;
   line-height: 1.75;
   padding: 1.4rem 2.2rem 1.2rem 3.17rem;
   position: relative;
}

.p-faq__list:not(:nth-child(1)) {
   border-top: 0.1rem solid #040000;
}

.p-faq__title:after {
   border-right: solid 0.1rem #3E3A39;
   border-top: solid 0.1rem #3E3A39;
   content: "";
   display: block;
   height: 1.2rem;
   position: absolute;
   right: 2.2rem;
   top: 36%;
   transform: rotate(135deg);
   transition: all 0.2s ease-in-out;
   width: 1.2rem;
}

.p-faq__content p {
   font-size: 1.9rem;
   font-weight: 300;
   line-height: 1.75;
   text-align: justify;
}

.p-faq__title.open:after {
   top: 50%;
   transform: rotate(-45deg);
}

.p-faq__content {
   display: none;
   padding: 1rem 5.48rem 3.5rem 5.6rem;
}

/*
 * p-footer
 * -------------------------------------------------------------
 */

.p-footer {
   background: #fff;
   border-top: 1.5rem solid #F3B11A;
   position: relative;
}

.p-footer__inner {
   position: relative;
}

.p-footer__contents {
   border-bottom: 0.1rem solid #1A1311;
   display: flex;
   padding: 6.5rem 0 9rem;
}

.p-footer__info {
   margin-right: 8.37rem;
}

.p-footer__logo {
   width: 22.4rem;
}

.p-footer__info-body {
   margin-top: 2.8rem;
}

.p-footer__info-text {
   display: flex;
   flex-direction: column;
   font-size: 1.56rem;
   font-weight: 400;
   gap: 1.6rem 0;
}

.p-footer__nav {
   margin-top: 2.7rem;
}

.p-footer__nav-items {
   display: flex;
}

.p-footer__nav-item {
   width: -moz-fit-content;
   width: fit-content;
}

.p-footer__nav-item.--services {
   margin-right: 6.8rem;
}

.p-footer__nav-item.--contact {
   margin-right: 11.55rem;
   position: relative;
}

.p-footer__nav-link {
   color: #1b2851;
   font-family: "Montserrat", sans-serif;
   font-size: 2rem;
   font-weight: 700;
   text-transform: capitalize;
}

.p-footer__nav-link:hover {
   color: #F3B11A;
   opacity: 1;
}

.p-footer__nav-subitems {
   display: flex;
   flex-direction: column;
   gap: 1.6rem 0;
   margin-top: 2.5rem;
}

.p-footer__nav-subitem {
   font-size: 1.56rem;
   font-weight: 400;
   text-transform: capitalize;
}

.p-footer__nav-subitem.--contact {
   text-transform: none;
}

.p-footer__nav-item-sns {
   width: 2.2rem;
}

.p-footer__nav-item-sns {
   position: absolute;
   right: 5.6rem;
   top: -0.4rem;
   width: 2.222rem;
}

.p-footer__nav-link.--quote {
   text-transform: uppercase;
}

.p-footer__nav-link.--quote::after {
   -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
   background: #F3B11A;
   clip-path: polygon(0 0, 100% 50%, 0 100%);
   content: "";
   display: block;
   height: 3.068rem;
   margin: 1.58rem 0 0 auto;
   width: 2.1rem;
}

.p-footer__copyright {
   font-size: 1.4rem;
   padding: 4.14rem 0 3.6rem;
   text-align: center;
}

/*
 * p-header
 * -------------------------------------------------------------
 */

.p-header {
   background: rgba(252, 253, 250, 0.8);
   height: 12rem;
   left: 0;
   position: fixed;
   right: 0;
   top: 0;
   z-index: 100;
}

.p-header__inner {
   align-items: center;
   display: flex;
   justify-content: space-between;
   padding: 4.62rem 9rem 0;
}

.p-header__logo {
   width: 22.4rem;
}

/*
 * p-machinery
 * -------------------------------------------------------------
 */

.p-machinery__lead {
   margin: 5.5rem auto 0;
   max-width: 62.1rem;
}

.p-machinery__table {
   margin-top: 6rem;
}

.p-machinery__table-table {
   background: #fff;
   font-family: "Montserrat", sans-serif;
   font-size: 1.5rem;
   font-weight: 500;
   width: 100%;
}

.p-machinery__table-table,
.p-machinery__table-table th,
.p-machinery__table-table td {
   border: 1px solid #221714;
   border-collapse: collapse;
}

.p-machinery__table-table th,
.p-machinery__table-table td {
   padding: 1.8rem 0 1.6rem 4.16rem;
}

.p-machinery__table-table th {
   background: #eeefed;
   font-weight: 500;
}

.p-machinery__table-table th:nth-child(1),
.p-machinery__table-table th:nth-child(2) {
   width: 25rem;
}

/*
 * p-main-color
 * -------------------------------------------------------------
 */

.p-main-color {
   background: #fcfdfa;
}

/*
 * p-materials
 * -------------------------------------------------------------
 */

.p-materials dl {
   font-family: "Montserrat", sans-serif;
}

.p-materials dt,
.p-materials dd {
   color: #595757;
   font-size: 1.5rem;
}

.p-materials dt {
   font-weight: 700;
}

.p-materials dt.fs13 {
   font-size: 1.3rem;
}

.p-materials dd {
   font-weight: 500;
}

.p-materials__tableTop {
   display: flex;
   margin-top: 5rem;
}

.p-materials__tableTop dl {
   align-items: center;
   background: #fff;
   border: 0.1rem solid #231815;
   display: flex;
   flex-direction: column;
   padding-bottom: 3.5rem;
   text-align: center;
   width: 24.5rem;
}

.p-materials__tableTop dl:nth-child(1) {
   border-right: none;
}

.p-materials__tableTop dl:nth-child(2) {
   border-right: none;
}

.p-materials__tableTop dl:nth-child(3) {
   border-right: none;
}

.p-materials__tableTop dl:last-child {
   flex: 1;
}

.p-materials__tableTop dl dt {
   align-items: center;
   border-bottom: 0.1rem solid #231815;
   display: grid;
   height: 6rem;
   justify-items: center;
   padding-top: 1.1rem;
   place-items: center;
   width: 100%;
}

.p-materials__tableTop dl dd {
   margin-top: 1.1rem;
}

.p-materials__tableTop dl dd:first-of-type {
   margin-top: 2.64rem;
}

.p-materials__note {
   display: flex;
   font-size: 1.9rem;
   justify-content: flex-end;
   line-height: 1.75;
   margin-top: 4.2rem;
   text-align: right;
}

.p-materials__note span {
   display: inline-block;
}

.p-materials__tableBottom {
   margin-top: 7.3rem;
}

.p-materials__tableBottom-flex {
   border-top: 0.1rem solid #231815;
   display: flex;
   padding: 3.3rem 3.2rem 3.1rem;
}

.p-materials__tableBottom-flex:last-of-type {
   border-bottom: 0.1rem solid #231815;
}

.p-materials__tableBottom dt {
   width: 24.232rem;
}

.p-materials__tableBottom dd {
   border-right: 0.1rem solid #595757;
   padding: 0 2.7rem;
}

.p-materials__tableBottom dd:first-of-type {
   padding-left: 0;
}

.p-materials__tableBottom dd:last-of-type {
   border-right: none;
   padding-right: 0;
}

/*
 * p-mv-slide
 * -------------------------------------------------------------
 */

.p-mv-slide__item {
   aspect-ratio: 1280/750;
}

/*
 * p-mv
 * -------------------------------------------------------------
 */

.p-mv {
   aspect-ratio: 1280/750;
}

.p-mv img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

/*
 * p-nav
 * -------------------------------------------------------------
 */

.p-nav {
   height: 100%;
}

.p-nav__items {
   align-items: center;
   display: flex;
   gap: 0 3.1rem;
   height: 100%;
   justify-content: flex-end;
   padding-top: 2.9rem;
   position: relative;
}

.p-nav__item a {
   color: #595757;
   font-family: "Montserrat", sans-serif;
   font-size: 1.5rem;
   font-weight: 700;
   text-transform: capitalize;
}

.p-nav__item a:hover {
   color: #F3B11A;
   opacity: 1;
}

.p-nav__item a.current {
   color: #F3B11A;
}

.p-nav__item-sns {
   height: 2.22rem;
   position: absolute;
   right: 3.9rem;
   top: -0.6rem;
   width: 2.22rem;
}

/*
 * p-confirmation
 * -------------------------------------------------------------
 */

.p-confirmation {
   margin: 6rem auto 0;
   max-width: 59rem;
}

.p-confirmation__inner {
   display: flex;
   flex-direction: column;
   gap: 3rem 0;
}

.p-confirmation__flex {
   display: flex;
   flex-direction: column;
   gap: 2rem 0;
}

.p-confirmation h2 {
   font-size: 2.2rem;
   font-weight: 500;
}

.p-confirmation dl {
   display: flex;
}

.p-confirmation dl dt {
   font-size: 1.6rem;
   width: 22rem;
}

.p-confirmation__text {
   font-size: 1.6rem;
}

#confirm-target-contact {
   display: inline-block;
}

.p-confirmation__flex .c-form__btn {
   margin: 0 0 0 auto;
}

/*
 * p-page-mv
 * -------------------------------------------------------------
 */

.p-page-mv {
   aspect-ratio: 1280/650;
   overflow: hidden;
}

.p-page-mv img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

.p-page-mv__company,
.p-page-mv__contact,
.p-page-mv__quality {
   -o-object-position: top;
   object-position: top;
}

.p-page-mv__machinery {
   -o-object-position: center;
   object-position: center;
}

/*
 * p-product
 * -------------------------------------------------------------
 */
.p-product__list {
   /* margin-top: 7rem; */
   padding: 7rem 0;
}

.p-product__items {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 2rem;
}

.p-product__item {
   cursor: pointer;
}

.lb-container {
   padding: 0 !important;
}

.lightbox {
   top: 50% !important;
   left: 50% !important;
   transform: translate(-50%, -50%) !important;
}


.modalArea {
   display: none;
   position: fixed;
   z-index: 100;
   /*サイトによってここの数値は調整 */
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
}

.modalBg {
   width: 100%;
   height: 100%;
   background-color: rgba(30, 30, 30, 0.9);
}

.modalWrapper {
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   width: calc(100% - 4rem);
   max-width: 75rem;
}

.closeModal {
   position: absolute;
   top: 0.5rem;
   right: 1rem;
   cursor: pointer;
   font-size: 3rem;
}


/*
 * p-service
 * -------------------------------------------------------------
 */
.p-service__btn {
   padding-left: 1.2rem;
}


/*
 * p-quality
 * -------------------------------------------------------------
 */

.p-quality__lead {
   margin: 5.5rem auto 0;
   max-width: 71.9rem;
}

.p-quality__items {
   background: #fbfbfb;
   margin: 9.5rem calc(50% - 50vw) 0;
   padding-bottom: 12rem;
}

.p-quality__item {
   align-items: flex-start;
   display: flex;
   gap: 0 5rem;
   margin: 10rem auto 0;
   max-width: 100rem;
   padding-top: 10rem;
   position: relative;
}

.p-quality__item:nth-child(2n) {
   flex-direction: row-reverse;
}

.p-quality__item:first-child {
   margin-top: 0;
}

.p-quality__item::before {
   background: #3e3a39;
   content: "";
   display: block;
   height: 0.1rem;
   position: absolute;
   right: 0;
   top: 0;
   width: 50rem;
}

.p-quality__item::after {
   background: #F3B11A;
   border-radius: 50%;
   content: "";
   display: inline-block;
   height: 1.2rem;
   position: absolute;
   right: calc(50% - 0.6rem);
   top: -0.5rem;
   width: 1.2rem;
}

.p-quality__item:nth-child(2n)::before {
   left: 0;
   right: auto;
   right: initial;
}

.p-quality__item:nth-child(2n)::after {
   left: calc(50% - 0.6rem);
   right: auto;
   right: initial;
}

.p-quality__item:first-child::before,
.p-quality__item:first-child::after {
   display: none;
}

.p-quality__body {
   flex: 1;
}

.p-quality__subtitle {
   display: block;
   font-size: 1.3rem;
   font-weight: 700;
   text-transform: uppercase;
}

.p-quality__title {
   color: #1B2851;
   font-family: "Open Sans", sans-serif;
   font-size: 2.6rem;
   font-weight: 700;
   margin-top: 3.2rem;
   text-transform: capitalize;
}

.p-quality__title span {
   display: inline-block;
   text-transform: none;
}

.p-quality__content {
   margin-top: 3.2rem;
}

.p-quality__text {
   font-size: 1.9rem;
   line-height: 1.75;
   text-align: justify;
}

.p-quality__img {
   aspect-ratio: 500/350;
   width: 50rem;
}

.p-quality__img img {
   -o-object-fit: cover;
   height: 100%;
   object-fit: cover;
}

/*
 * p-quote
 * -------------------------------------------------------------
 */

.p-quote__form {
   margin: 6rem auto 0;
   max-width: 59rem;
}

/*
 * p-top-quality
 * -------------------------------------------------------------
 */

.p-top-quality__inner {
   position: relative;
}

.p-top-quality__btn-faq {
   background: url(./../images/top/btn_Q&A.png) no-repeat center;
   background-size: 100% 100%;
   bottom: -9.67rem;
   height: 6.8rem;
   position: absolute;
   right: 3rem;
   width: -moz-fit-content;
   width: fit-content;
   width: 6.8rem;
}

/*
 * slick
 * -------------------------------------------------------------
 */

.slick-track {
   display: flex !important;
}

.slick-track:after,
.slick-track:before {
   display: none !important;
}

.slick-slide {
   float: none !important;
   float: initial !important;
   height: auto !important;
}

.slick-slide>div {
   height: 100%;
}

.slick-dots {
   bottom: 3.2rem;
   display: flex;
   gap: 0 1.5rem;
   justify-content: center;
}

.slick-dots li {
   border-radius: 50%;
   height: 1.2rem;
   margin: 0;
   opacity: 1;
   overflow: hidden;
   width: 1.2rem;
}

.slick-dots li button {
   height: 100%;
   padding: 0;
   width: 100%;
}

.slick-dots li button:before {
   background: #fff;
   content: "";
   display: block;
   height: 100%;
   left: 0;
   opacity: 0.6;
   position: absolute;
   top: 0;
   width: 100%;
}

.slick-dots li.slick-active button:before {
   background: #F3B11A;
   opacity: 1;
}

.slick-dotted.slick-slider {
   margin-bottom: 0;
}

@media screen and (min-width: 1025px) {

   a[href^="tel:"] {
      pointer-events: none;
   }

}

@media screen and (min-width: 1600px) {

   .p-mv-slide__item {
      aspect-ratio: unset;
      max-height: 81.818181rem;
   }

   .p-mv {
      aspect-ratio: unset;
      max-height: 81.818181rem;
   }

   .p-page-mv {
      aspect-ratio: unset;
      max-height: 72.727272rem;
   }

}

@media screen and (max-width: 1100px) {

   html {
      font-size: 0.93vw;
   }

   .p-header__inner {
      padding: 4.62rem 4rem 0;
   }

}

@media screen and (max-width: 767px) {

   html {
      font-size: 1.6vw;
   }

   .c-btn {
      font-size: 1.2rem;
      height: 3.75rem;
      margin-top: 2.5rem;
      padding-left: 1.6rem;
      width: 15rem;
   }

   .c-btn::before {
      width: 3.75rem;
   }

   .c-btn::after {
      height: 1rem;
      right: 1rem;
      width: 1.5rem;
   }

   .c-faq-btn {
      bottom: 15rem;
      padding: 0 2rem;
   }

   .c-faq-btn__link {
      height: 5.2rem;
      width: 5.2rem;
   }

   .c-flex {
      flex-direction: column-reverse;
      gap: 4rem 0;
   }

   .c-flex.--reverse {
      flex-direction: column-reverse;
   }

   .c-flex__img {
      margin-top: 0;
      width: 100%;
   }

   .c-flex__content {
      margin-top: 2.6rem;
   }

   .c-flex__text {
      font-size: 1.5rem;
   }

   .c-flex__text span {
      text-align: left;
   }

   .c-form__items {
      gap: 1.6rem 0;
   }

   .c-form input,
   .c-form textarea,
   .c-form select {
      font-size: 1.4rem;
      padding: 0.8rem 1.2rem;
   }

   .c-form input::-moz-placeholder,
   .c-form textarea::-moz-placeholder {
      font-size: 1.4rem;
   }

   .c-form input::placeholder,
   .c-form textarea::placeholder {
      font-size: 1.4rem;
   }

   .c-form__flex {
      flex-direction: column;
      gap: 1.6rem 0;
   }

   .c-form__flex dd {
      width: 100%;
   }

   .c-form__btn {
      margin: 3.5rem 0 0 auto;
   }

   .c-form__dropdown-placeholder {
      font-size: 1.4rem;
      height: 3.7rem;
      padding: 0.8rem 1.2rem;
   }

   .c-form__dropdown-placeholder::after {
      height: 0.8rem;
      width: 1.4rem;
   }

   #selected-option-display {
      font-size: 1.4rem;
   }

   .c-form__dropdown-list {
      gap: 1.36rem 0;
      padding: 1.5rem 1.2rem 2rem;
   }

   .c-form__dropdown-list span {
      font-size: 1.4rem;
      gap: 0 1rem;
   }

   .c-form__dropdown-list [type=radio]+span::before {
      height: 1rem;
      width: 1rem;
   }

   .c-form__dropdown-list [type=radio]:checked+span::after {
      height: 1rem;
      width: 1rem;
   }

   .c-form__fake-placeholder {
      font-size: 1.4rem;
      left: 1.2rem;
   }

   .c-form__selected-value {
      font-size: 1.4rem;
      height: 100%;
      padding: 1.05rem 1.2rem;
   }

   .c-form__selected-value::after {
      height: 0.8rem;
      width: 1.4rem;
   }

   .c-form__options-container {
      height: 21.5rem;
      padding: 1rem 0 1.2rem;
   }

   .c-form__options-container .option {
      font-size: 1.4rem;
      padding: 0.5rem 1.2rem;
   }

   #customButton {
      font-size: 1.2rem;
      padding: 0.8rem 1.2rem;
   }

   .c-form__file-name {
      font-size: 1.2rem;
      left: 1.2rem;
      top: 1rem;
   }

   .c-hamburger {
      display: block;
   }

   .c-leadtext-fs19 {
      font-size: 1.5rem;
   }

   .c-section-header {
      padding-bottom: 1.6rem;
      width: 25rem;
   }

   .c-section-header__title {
      font-size: 2.3rem;
   }

   .u-br-sp {
      display: block;
   }

   .l-flex {
      margin-top: 6rem;
      padding-top: 5.3rem;
   }

   .l-inner {
      padding: 0 2rem;
   }

   .l-main {
      overflow: hidden;
      padding: 6rem 0 8.5rem;
   }

   .p-career-contact {
      margin-top: 6rem;
   }

   .p-career-contact__lead {
      width: 100%;
   }

   .p-career-contact__text {
      font-size: 1.5rem;
   }

   .p-career-contact__form {
      margin: 5rem auto 0;
      max-width: 100%;
   }

   .p-career-contact__form-text {
      font-size: 1.5rem;
      margin: 0.7rem 0;
   }

   .p-career__lead {
      margin: 4.5rem auto 0;
      width: 100%;
   }

   .p-career__lead-text {
      font-size: 2.3rem;
      line-height: 1.6;
      margin-bottom: 3rem;
   }

   .p-career__items {
      margin-top: 6rem;
   }

   .p-career__item {
      flex-direction: column-reverse;
   }

   .p-career__content {
      border-bottom: none;
      border-right: 0.1rem solid #231815;
      border-top: none;
      padding: 2rem;
   }

   .p-career__text {
      font-size: 1.5rem;
   }

   .p-career__img {
      aspect-ratio: 600/400;
      width: 100%;
   }

   .p-career__img img {
      aspect-ratio: 600/400;
   }

   .p-career__item:nth-child(2n) {
      flex-direction: column-reverse;
   }

   .p-career__item:nth-child(2n) .p-career__img {
      width: 100%;
   }

   .p-career__item:nth-child(2n) .p-career__content {
      border-left: 0.1rem solid #231815;
      padding: 2.5rem 2rem;
      width: 100%;
   }

   .p-career__item:nth-child(2n) .p-career__text {
      margin-top: 2rem;
   }

   .p-career__title {
      font-size: 2rem;
   }

   .p-company-about__content {
      margin: 5rem auto 0;
   }

   .p-company-about__text {
      font-size: 1.7rem;
      line-height: 1.85;
   }

   .p-company-group {
      margin-top: 8rem;
      padding: 6rem 0 0;
   }

   .p-company-group::before {
      width: calc(100% - 4rem);
   }

   .p-company-group__lead {
      margin-top: 4rem;
   }

   .p-company-group__text {
      font-size: 1.6rem;
      line-height: 1.7;
   }

   .p-company-group__img {
      margin: 6rem auto 0;
   }

   .p-contact-thanks-main {
      height: 100vh;
      margin-top: 7rem;
   }

   .p-contact-thanks__box {
      padding: 2.5rem 0 3.5rem;
      top: 50%;
      width: 90%;
   }

   .p-contact-thanks img {
      width: 5rem;
   }

   .p-contact-thanks__title {
      font-size: 1.3rem;
      margin-top: 2.3rem;
      padding: 1rem 1.2rem 0.9rem;
   }

   .p-contact-thanks__text {
      font-size: 1.2rem;
      margin-top: 2rem;
   }

   .p-contact-thanks__btn {
      font-size: 1.6rem;
      margin-top: 2.3rem;
      padding: 1rem;
      width: 7.5rem;
   }

   .p-contact__form {
      margin: 4.8rem auto 0;
   }

   .p-faq__accordion {
      margin: 4.8rem auto 0;
   }

   .p-faq__title {
      font-size: 1.5rem;
      line-height: 1.4;
      padding: 1rem 2rem 1rem 1.2rem;
   }

   .p-faq__title:after {
      height: 0.8rem;
      right: 1.2rem;
      width: 0.8rem;
   }

   .p-faq__content p {
      font-size: 1.5rem;
      line-height: 1.5;
   }

   .p-faq__content {
      padding: 1rem 2.8rem 2.5rem 2.2rem;
   }

   .p-footer {
      border-width: 1rem;
   }

   .p-footer__contents {
      flex-direction: column;
      padding: 5.5rem 0 5rem;
   }

   .p-footer__info {
      margin-right: 0;
   }

   .p-footer__logo {
      width: 16rem;
   }

   .p-footer__info-body {
      margin-top: 2rem;
   }

   .p-footer__info-text {
      font-size: 1.4rem;
      gap: 1.4rem 0;
   }

   .p-footer__nav-items {
      flex-direction: column;
      gap: 3.5rem 0;
   }

   .p-footer__nav-item.--services {
      margin-right: 0;
   }

   .p-footer__nav-item.--contact {
      margin-right: 0;
   }

   .p-footer__nav-link {
      font-size: 1.6rem;
   }

   .p-footer__nav-subitems {
      gap: 1.4rem 0;
      margin-top: 2rem;
   }

   .p-footer__nav-subitem {
      font-size: 1.4rem;
   }

   .p-footer__nav-link.--quote {
      position: relative;
   }

   .p-footer__nav-link.--quote::after {
      height: 2.468rem;
      margin: 0;
      position: absolute;
      right: -4rem;
      top: -0.6rem;
      width: 1.5rem;
   }

   .p-footer__copyright {
      font-size: 1.1rem;
      padding: 2rem 0;
   }

   .p-header {
      height: 7rem;
   }

   .p-header__inner {
      height: 100%;
      padding: 0 1.5rem;
   }

   .p-header__logo {
      width: 16rem;
   }

   .p-machinery__lead {
      margin: 3.5rem auto 0;
   }

   .p-machinery__table {
      margin-top: 4rem;
      overflow: scroll;
   }

   .p-machinery__table-table {
      font-size: 1.2rem;
      min-width: 50rem;
   }

   .p-machinery__table-table th,
   .p-machinery__table-table td {
      padding: 1.2rem 0 1.1rem 1.3rem;
   }

   .p-machinery__table-table th:nth-child(1),
   .p-machinery__table-table th:nth-child(2) {
      width: 14rem;
   }

   .p-materials dt,
   .p-materials dd {
      font-size: 1.3rem;
   }

   .p-materials__tableTop {
      flex-wrap: wrap;
      margin-top: 3.5rem;
   }

   .p-materials__tableTop dl {
      width: 50%;
   }

   .p-materials__tableTop dl:nth-child(2) {
      border-right: 0.1rem solid #231815;
   }

   .p-materials__tableTop dl:nth-child(n+1):nth-child(-n+2) {
      border-bottom: none;
   }

   .p-materials__tableTop dl dt {
      height: 4.5rem;
      line-height: 1.25;
      padding-top: 0;
   }

   .p-materials__tableTop dl dd {
      margin-top: 0.9rem;
   }

   .p-materials__tableTop dl dd:first-of-type {
      margin-top: 2rem;
   }

   .p-materials__note {
      font-size: 1.45rem;
      line-height: 1.6;
      margin-top: 2rem;
      text-align: left;
   }

   .p-materials__tableBottom {
      margin-top: 4.3rem;
      overflow: scroll;
   }

   .p-materials__tableBottom dl {
      min-width: 770px;
   }

   .p-materials__tableBottom-flex {
      padding: 2rem;
   }

   .p-materials__tableBottom dt {
      width: 17rem;
   }

   .p-materials__tableBottom dd {
      padding: 0 1.7rem;
   }

   .p-mv {
      aspect-ratio: unset;
   }

   .p-mv-slide__item {
      aspect-ratio: unset;
   }

   .p-mv img {
      height: 50rem;
      height: 100%;
      aspect-ratio: 500 / 450;
   }

   .p-nav {
      background: rgba(252, 253, 250, 0.9);
      height: 100%;
      opacity: 0;
      position: fixed;
      right: 0;
      top: 7rem;
      transition: all 0.6s;
      visibility: hidden;
      width: 100%;
   }

   .p-nav.is-active {
      opacity: 1;
      overflow: auto;
      transition: all 0.6s;
      visibility: visible;
   }

   .p-nav__items {
      align-items: flex-start;
      flex-direction: column;
      gap: 3rem 0;
      justify-content: flex-start;
      padding: 3rem 2rem;
   }

   .p-nav__item a {
      font-size: 1.5rem;
   }

   .p-nav__item-sns {
      position: static;
   }

   .p-confirmation {
      margin: 4.8rem auto 0;
   }

   .p-confirmation h2 {
      font-size: 2rem;
   }

   .p-confirmation__text {
      font-size: 1.4rem;
   }

   .p-page-mv {
      aspect-ratio: unset;
   }

   .p-page-mv img {
      /* height: 50rem; */
      height: 100%;
      aspect-ratio: 500 / 450;
   }

   .p-product__list {
      /* margin-top: 5rem; */
      padding: 5rem 0 3rem;
   }

   .p-service__btn {
      padding-left: 0.9rem;
   }

   .p-quality__lead {
      margin: 3.5rem auto 0;
   }

   .p-quality__items {
      margin: 5.5rem calc(50% - 50vw) 0;
      padding-bottom: 7rem;
   }

   .p-product__items {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.5rem;
   }

   .p-quality__item {
      flex-direction: column;
      gap: 3.5rem 0;
      margin: 5rem auto 0;
      max-width: 100%;
      padding-top: 5rem;
      padding-top: 5rem;
      width: calc(100% - 4rem);
   }

   .p-quality__item:nth-child(2n) {
      flex-direction: column;
   }

   .p-quality__item::before {
      width: 100%;
   }

   .p-quality__item::after {
      left: -0.6rem;
      right: auto;
      right: initial;
   }

   .p-quality__item:nth-child(2n)::after {
      left: auto;
      left: initial;
      right: -0.6rem;
   }

   .p-quality__body {
      flex: initial;
      width: 100%;
   }

   .p-quality__subtitle {
      font-size: 1.2rem;
   }

   .p-quality__title {
      font-size: 2.3rem;
      margin-top: 2.5rem;
   }

   .p-quality__content {
      margin-top: 2.5rem;
   }

   .p-quality__text {
      font-size: 1.5rem;
   }

   .p-quality__img {
      width: 100%;
   }

   .p-quote__form {
      margin: 4.8rem auto 0;
   }

   .p-top-quality__btn-faq {
      bottom: -6.87rem;
      height: 5.2rem;
      right: 2rem;
      width: 5.2rem;
   }

   .slick-dots {
      bottom: 2.5rem;
   }

   .slick-dots li {
      height: 1.2rem;
      width: 1.2rem;
   }

}

@media screen and (max-width: 767px) and (max-width: 767px) {

   .p-confirmation dl dt {
      font-size: 1.4rem;
      width: 20rem;
   }

}

@media screen and (max-width: 600px) {

   html {
      font-size: 10px;
   }

}

@keyframes fadeInDown {

   0% {
      opacity: 0;
      transform: translateY(50px);
   }

   100% {
      opacity: 1;
      transform: translateY(0);
   }

}

@keyframes fade-in1 {

   0% {
      opacity: 0;
      transform: translateY(50px);
   }

   100% {
      opacity: 1;
      transform: translateY(0);
   }

}


/*# sourceMappingURL=style.css.map */