@charset "utf-8";
/*---------------------------------------------------------
Theme Name: tada01
Description:「多田工務店」様 公式サイトテーマ 1.0
Author: JAMD STUDIO
License:
License URI:
Version: 1.0
---------------------------------------------------------*/
#wpadminbar {
    top: unset;
    bottom: 0;
}
html {
    margin-top: 0 !important;
}
body.post-type-archive-news,
body.single-news {
    background-color: #ffc23e;
}
body.post-type-archive-works,
body.single-works {
    background-color: #8dcdec;
}
body.page-about {
    background-color: #0072ce;
}
body.page-business {
    background-color: #aeaeae;
}
body.post-type-archive-equipment {
    background-color: #fa7946;
}
body.page-recruit {
    background-color: #6bdea6;
}
body.post-type-archive-genba {
    background-color: #d1d1d1;
}
body.page-privacy-policy,
body.page-contact,
body.page-thanks {
    background-color: #0072ce;
}


/*==========================================================================

   animation

==========================================================================*/
/* clip-fade */
.clip-fade-up {
    clip-path: inset(0 0 100% 0);
    transform: translateY(100%);
    transition-property: clip-path, transform;
    transition-duration: .6s;
    transition-delay: var(--delay, 0s);
    will-change: clip-path, transform;
}
.clip-fade-up.-view {
    clip-path: inset(0 0 0 0);
    transform: translateY(0%);
}

/* char-each */
.char-each-fade {
    display: inline-block;
    position: relative;
}
.char-each-fade span {
    display: inline-block;
    clip-path: inset(0 0 100% 0);
    transform: translateY(100%);
    transition-property: clip-path, transform;
    transition-duration: .25s;
    transition-delay: calc(var(--delay, 0s) + .3s);
    will-change: clip-path, transform;
}
.char-each-fade.-view span {
    clip-path: inset(0 0 0 0);
    transform: translateY(0%);
}

/* draw-line */
.draw-line-ltr {
    position: relative;
}
.draw-line-ltr::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background: var(--text-color);
    transform: scaleX(0%);
    transform-origin: left;
    transition-property: transform;
    transition-duration: 1.2s;
    transition-delay: .3s;
}
.draw-line-ltr.draw-is-top::after {top: 0;}
.draw-line-ltr.draw-is-bottom::after {bottom: 0;}

.draw-line-ltr.-view::after {
    transform: scaleX(100%);
}
.draw-line-ttb {
    position: relative;
}
.draw-line-ttb::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 1px;
    background: var(--text-color);
    transform: scaleY(0%);
    transform-origin: top;
    transition-property: transform;
    transition-duration: 1.2s;
    transition-delay: var(--delay, 0s);
}
.draw-line-ttb.-view::after {
    transform: scaleY(100%);
}
.draw-line-ltr.draw--sp::after,
.draw-line-ttb.draw--sp::after {
    display: none;
}

@media screen and (max-width: 990px) {
    #footer .draw-line-ttb:after {
        display: none;
    }

    #footer .draw-line-ltr.draw--pc::after,
    #footer .draw-line-ttb.draw--pc::after {
        display: none;
    }
    #footer .draw-line-ltr.draw--sp::after,
    #footer .draw-line-ttb.draw--sp::after {
        display: block;
    }
    .fnav-col-outer + .fnav-col-outer {
        border-left: 1px solid var(--text-color);
    }
}

@media screen and (max-width: 768px) {
    .draw-line-ltr.draw--pc::after,
    .draw-line-ttb.draw--pc::after {
        display: none;
    }
    .draw-line-ltr.draw--sp::after,
    .draw-line-ttb.draw--sp::after {
        display: block;
    }
}


/* fade - rtl */
.fade-rtl {
    position: relative;
    transform: translateX(180px);
    opacity: 0;
    transition-duration: .5s;
    transition-delay: var(--delay, 0s);
}
.fade-rtl.-view {
    transform: translateX(0);
    opacity: 1;
}

/* fade - ltr */
.fade-ltr {
    position: relative;
    transform: translateX(-180px);
    opacity: 0;
    transition-duration: .5s;
    transition-delay: var(--delay, 0s);
}
.fade-ltr.-view {
    transform: translateX(0);
    opacity: 1;
}


/* fade - btt */
.fade-btt {
    position: relative;
    display: inline-block;
    transform: translateY(180px);
    opacity: 0;
}
.fade-btt.-view {
    animation: fade-up 0.6s cubic-bezier(0.22, 1, 0.36, 1) var(--delay, 0s) 1 forwards;
}
  
@keyframes fade-up {
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* popping */
/*
.poppin-rtl {
    position: relative;
    display: inline-block;
    transform: translateX(180px);
    opacity: 0; 
    overflow-x: hidden;
}
.poppin-rtl.-view {
    animation: poppin-rtl .6s cubic-bezier(0.12, 0, 0.39, 0) var(--delay, 0s) 1 forwards;
}
@keyframes poppin-rtl {
    0% {
        transform: translateX(180px);
        opacity: 0;
    }
    50% {
        transform: translateX(0);
    }
    65% {
        transform: translateX(20px);
    }
    100% {
        transform: translateX(0);
    }
    20%,100% {
        opacity: 1;
    }
}
*/


.poppin-rtl {
    position: relative;
    display: inline-block;
    transform: translateX(-180px);
    opacity: 0; 
}
.poppin-rtl.-view {
    animation: poppin-rtl .6s cubic-bezier(0.12, 0, 0.39, 0) var(--delay, 0s) 1 forwards;
}
@keyframes poppin-rtl {
    0% {
        transform: translateX(-180px);
        opacity: 0;
    }
    50% {
        transform: translateX(0);
    }
    65% {
        transform: translateX(-20px);
    }
    100% {
        transform: translateX(0);
    }
    20%,100% {
        opacity: 1;
    }
}

@media screen and (max-width: 768px) {
    .poppin-rtl {
        transform: translateX(-80px);
    }
    @keyframes poppin-rtl {
        0% {
            transform: translateX(-80px);
            opacity: 0;
        }
        50% {
            transform: translateX(0);
        }
        65% {
            transform: translateX(-14px);
        }
        100% {
            transform: translateX(0);
        }
        20%,100% {
            opacity: 1;
        }
    }
}

/*==========================================================================

   splide

==========================================================================*/
.splide__pagenation {
    margin-top: 36px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
.splide__counter {
    font-size: 12px;
    font-weight: 700;
}
.splide__arrow {
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .splide__pagenation {
        margin-top: calc(20px + 6px);
        gap: 35px;
    }
    .splide__arrow {
        font-size: 20px;
    }
}


/*==========================================================================

   compornent

==========================================================================*/
/* pdfbook */
.c-pdfbook {
    border-radius: var(--section-border-radius);
    background: var(--bg-color);
}
.c-pdfbook-row {
    display: flex;
}
.c-pdfbook-col {
    flex: 1;
    padding: 80px clamp(0px, 8.680555555vw, 125px);
    text-align: center;
}
.c-pdfbook-thumb {
    width: 156px;
    margin: 0 auto;
}
.c-pdfbook-thumb a {
    border: 1px solid #000;
}
.c-pdfbook-body {
    margin-top: 30px;
}
.c-pdfbook-tag {
    margin-bottom: 15px;
    padding: .2em 0;
    font-size: 14px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.c-pdfbook-title {
    padding: .2em 0;
    font-size: 22px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.c-pdfbook-footer {
    margin-top: 32px;
}
.c-pdfbook-btn {
    width: 184px;
    height: 44px;
    font-size: 14px;
}

/* news */
.c-news-archive-item {
    width: 284px;
}
.c-news-archive-item a {
    display: flex;
    flex-direction: column;
    gap: 30px;
    width: 100%;
    height: 100%;
    padding: 30px;
    border: 1px solid var(--text-color);
    background: #fff;
    transition: transform .3s ease, box-shadow .3s ease;
}
.c-news-archive-item-aside {
    width: 100%;
    aspect-ratio: 1 / 1;
    border: 1px solid var(--text-color);
}
.c-news-archive-item__thumb {
    aspect-ratio: 1 / 1;
}
.c-news-archive-item__thumb img {
    width: 100%;
    height: 100%;
}
.c-news-archive-item__date {
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}
.c-news-archive-item__title {
    margin-top: 11px;
    padding: .2em 0;
    font-weight: 600;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    text-box: var(--text-box-both-trim);
    overflow: hidden;
}

@media screen and (max-width: 768px) {
	/* pdfbook */
    .c-pdfbook-row {
        flex-direction: column;
    }
    .c-pdfbook-col {
        padding: 40px 15px calc(40px + 5px);
    }
    .c-pdfbook-col + .c-pdfbook-col {
        border-left: none;
        border-top: 1px solid var(--text-color);
    }
    .c-pdfbook-col + .c-pdfbook-col.draw-line-ttb::after {
        display: none;
    }
    .c-pdfbook-body {
        margin-top: calc(23px + 6px);
    }
    .c-pdfbook-thumb {
        width: 166px;
    }
    .c-pdfbook-tag {
        margin-bottom: 12px;
        font-size: 10px;
    }
    .c-pdfbook-title {
        font-size: 16.5px;
    }
    .c-pdfbook-footer {
        margin-top: 25px;
    }
    .c-pdfbook-btn {
        width: 138px;
        height: 34px;
        font-size: 10px;
    }
	
	/* news */
    .c-news-archive {
        padding: 30px 0 0;
    } 
    .c-news-archive-item {
        width: 212px;
    }
    .c-news-archive-item a {
        width: 212px;
        padding: 20px;
    }
    .c-news-archive-item-aside {
        width: 172px;
        height: 172px;
    }
    .c-news-archive-item__date {
        font-size: 10px;
    }
    .c-news-archive-item__title {
        margin-top: 9px;
        font-size: 12px;
    }
}




.c-thumb220 {
  /*max-width: 220px;*/
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.c-thumb220.is-square img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-thumb220.is-small img {
  width: 100%;
  height: 100%;
 /* object-fit: contain; */
  object-fit: cover;
  background: #f5f5f5;
}
@media screen and (max-width: 768px) {
    .c-thumb220 {
        width: 100%;
    }
}

/*==========================================================================

   page

==========================================================================*/
.p-page-article {
    max-width: 1030px;
    margin-right: auto;
    margin-left: auto;
    font-size: 18px;
    padding: 80px 50px 120px;
}
.p-page-article p {
    margin-bottom: 1.5em;
}
.p-page-article h2 {
    font-weight: 600;
}
.p-page-article ul {
    list-style: disc;
    margin-bottom: 1.5em;
    margin-left: 1.5em;
}


@media screen and (max-width: 768px) {
    .p-page-article {
        width: 100%;
        padding: 50px 28px 60px;
        font-size: 13.5px;
    }
}


/*==========================================================================

   frontpage

==========================================================================*/
/* mv */
.p-top-mv {
    position: relative;
    margin-bottom: -3.472222222vw;
    padding-top: 24.305555555vw;
    height: 99.027777777vw;
    z-index: -1;
}
.p-top-mv-bg.is-fixed {
    position: fixed;
    bottom: 0;
    left: -7.5px;
    width: 100vw;
    z-index: -1;
}
.p-top-mv-fade {
    opacity: 0;
    transition: opacity .8s ease-in-out;
}
.p-top-mv-fade.loaded {
    opacity: 1;
}
.p-top-mv-copy {
    position: absolute;
    top: 6.25vw;
    left: 50%;
    width: 51.944444444vw;
    transform: translateX(-50%);
}
.p-top-mv-bg {
    transition: opacity .3s;
}

/* news */
.p-top-news-archive {
    padding: 60px 0 118px;
}
.p-top-news-archive-splide__track {
    margin: -10px 0;
    padding: 10px 0;
}

/* about */
.p-top-about-copy {
    padding: 155px 0 175px;
}
.p-top-about-copy-item {
    width: 1110px;
}
.p-top-about-declaration-highlight {
    position: relative;
    color: #fff;
    background: #0072ce;
    z-index: 2;
}
.p-top-about-declaration-highlight.fade-ltr {
    transition-duration: .35s;
}
.p-top-about-declaration {
    max-width: 760px;
    margin: 0 auto;
    padding: .2em 50px;
    font-size: 30px;
    font-weight: 700;
    line-height: 2;
    text-box: var(--text-box-both-trim);
}
.p-top-about-nav {
    max-width: 760px;
    margin: 80px auto 0;
    padding: 0 50px;
}
.p-top-about-nav-list {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}
.p-top-about-nav-item {
    width: calc((100% - 30px * 2) / 3);
}
.p-top-about-nav-btn {
    width: 192px;
    height: 48px;
}
.p-top-about-footer {
    max-width: 900px;
    margin: 100px auto;
}

/* brandbook */
.p-top-brandbook {
    display: flex;
    gap: 60px;
    align-items: center;
    justify-content: center;
    padding: 80px 30px;
    border-radius: var(--section-border-radius);
    background: var(
    --bg-color);
    overflow: hidden;
}
.p-top-brandbook-aside {
    width: 200px;
}
.p-top-brandbook-aside img {
    display: block;
    border: 1px solid var(--text-color);
}
.p-top-brandbook-body {
    text-align: center;
}
.p-top-brandbook-sub-title {
    margin-bottom: 11px;
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}
.p-top-brandbook-main-title {
    padding: .2em 0;
    font-size: 22px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-top-brandbook-btn {
    margin-top: 30px;
    width: 158px;
    height: 44px;
    font-size: 14px;
}

/* business */
.p-top-business-category {
    padding: 120px 0 178px;
}
.p-top-business-category-splide__track {
    margin: -12px 0;
    padding: 12px 0;
}
.p-top-business-category-item {
    width: 340px;
    text-align: center;
    background: #fff;

}
.p-top-business-category-item a {
    display: flex;
    flex-direction: column;
    width: 340px;
    height: 465px;
    border: 1px solid var(--text-color);
    background-color: #fff;

}
.p-top-business-category-item-header {
    height: 176px;
}
.p-top-business-category-item-label img {
    width: 100%;
    height: auto;
}
.p-top-business-category-item-body {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.p-top-business-category-item-image {
    margin-top: auto;
    border-radius: 0 0 20px 20px;
    overflow: hidden;
}
.p-top-business-category-item-desc {
    text-box: var(--text-box-both-trim);
    margin-top: 20px;
}

/* recruitment */
.p-top-recruitment-list {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    width: calc(200px * 3 + 30px * 2);
    margin: 0 auto;
    justify-content: center;
}
.p-top-recruitment-item {
    width: 200px;
    height: 216px;
    text-align: center;

}
.p-top-recruitment-item a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    padding-top: 39px;
    border: 1px solid var(--text-color);
    background: #fff;
    overflow: hidden;
}
.p-top-recruitment {
    padding: 120px 0;
}
.p-top-recruitment-item-title {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: var(--letter-spacing-min);
}
.p-top-recruitment-item-image {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}
.p-top-recruitment-item-image img {
    width: 100%;
}

/* genba */
.p-top-genba {
    padding: 80px 0;
}
.p-top-genba-splide__track {
    margin: -15px 0;
    padding: 15px 0;
}
.p-top-genba-item {
    width: 360px;
}
.p-top-genba-item a {
    display: block;
    border: 1px solid #000;
    overflow: hidden;
}


@media screen and (max-width: 768px) {
    .m-section01 + .m-section01 {
        margin-top: 10px;
    }
    .p-top-mv {
        height: 237.066666667vw;
        padding-top: 105.066666667vw;
    }
    .p-top-mv-bg img {
        position: relative;
        left: -26vw;
        display: block;
        max-width: none;
        width: 152vw;
    }
    .p-top-mv-copy {
        top: 39.733333333vw;
        width: 100%;
    }
    .p-top-news-archive {
        padding: 30px 0 0;
    } 
    .p-top-news-archive-item {
        width: 212px;
    }
    .p-top-news-archive-item a {
        width: 212px;
        padding: 20px;
    }
    .p-top-news-archive-item-aside {
        width: 172px;
        height: 172px;
    }
    .p-top-about-copy {
        padding: 85px 0;
    }
    .p-top-about-copy-item {
        width: 555px;
    }
    .p-top-about-declaration {
        padding: .2em 30px;
        font-size: 22px;
    }
    .p-top-about-nav {
        margin-top: 40px;
        padding: 0 25px 10px;
    }
    .p-top-about-nav-list {
        gap: 15px;
    }
    .p-top-about-nav-item {
        width: calc((100% - 15px * 2) / 2);
    }
    .p-top-about-nav-item .poppin-rtl {
        display: block;
    }
    .p-top-about-nav-btn {
        width: 100%;
        height: 38px;
    }
    .p-top-about-footer {
        margin: 50px auto 0;
        padding: 0 25px;
    }

    .p-top-brandbook {
        flex-direction: column;
        gap: 31px;
        padding: 40px 0; 
    }
    .p-top-brandbook-aside {
        width: 150px;
    }
    .p-top-brandbook-main-title {
        font-size: 16.5px;
    }
    .p-top-brandbook-btn {
        width: 138px;
        height: 32px;
        margin-top: 23px;
        font-size: 10px;
    }

    .p-top-business-category {
        padding: 60px 0 10px;
    }
    .p-top-business-category-item {
        width: 256px;
    }
    .p-top-business-category-item a {
        width: 256px;
        height: 372px;
    }
    
    .p-top-recruitment {
        padding: 60px 30px 25px;
    }
    .p-top-recruitment-list {
        gap: 22px;
        width: 100%;
    }
    .p-top-recruitment-item {
        width: calc((100% - 15px * 2) / 2);
        height: 38.666666666vw;
    }
    .p-top-recruitment-item a {
        padding-top: 28px;
    }
    .p-top-recruitment-item-title {
        font-size: 14px;
    }
    .p-top-genba {
        padding: 40px 0 0;
    }
    .p-top-genba-list.splide__list {
        padding-bottom: 10px !important;
    }
    .p-top-genba-item {
        width: 270px;
    }
}


/*==========================================================================

   archives - news

==========================================================================*/
.p-news-archive {
    max-width: 1030px;
    margin-right: auto;
    margin-left: auto;
    padding: 100px 50px 120px;
}
.p-news-archive-list {
    display: flex;
    gap: 36px;
    flex-wrap: wrap;
    align-items: stretch;
}
.p-news-archive-item {
    width: calc((100% - 36px * 2) / 3);
    display: flex;
}
.p-news-archive-pager {
    margin-top: calc(80px + 6px);
}


@media screen and (max-width: 768px) {
    .p-news-archive {
        width: 100%;
        padding: 50px 26px 60px;
    }
    .p-news-archive-list {
        gap: 21px;
    }
    .p-news-archive-item {
        width: calc((100% - 21px) / 2);
    }
    .p-news-archive-item a {
        gap: 16px;
        width: 100%;
    }
    .p-news-archive-item-aside {
        width: 100%;
        height: auto;
    }
    .c-news-archive-item__date {
        font-size: 10px;
    }
    .p-news-archive-pager {
        margin-top: calc(40px + 6px);
    }
}


/*==========================================================================

   single - news

==========================================================================*/
.p-news-single {
    padding: 50px 50px 120px;
}
.p-news-single-article {
    max-width: 840px;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #000;
    border-radius: 20px;
}
.p-news-single-article-header {
    padding: 60px;
    border-bottom: 1px solid #000;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
}
.p-news-single-article-header-date {
    font-size: 14px;
    font-weight: 600;
    text-box: var(--text-box-both-trim);
}
.p-news-single-article-header-title {
    margin-top: 22px;
    padding: .2em 0;
    font-size: 24px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-news-single-article-body {
    padding: 80px 60px;
    text-box: var(--text-box-both-trim);
    border-radius: 0 0 20px 20px;
    background: #f5f5f5;
}
.p-news-single-pager {
    margin-top: calc(80px + 6px);
}



.p-news-single-article-body h1 {
    margin-bottom: .5em;
    font-size: 24px;
    font-weight: 700;
}
.p-news-single-article-body h2 {
    margin-bottom: .5em;
    font-size: 20px;
    font-weight: 700;
}
.p-news-single-article-body h3 {
    margin-bottom: 1em;
    font-weight: 700;
}
.p-news-single-article-body p {
    margin-bottom: 1.5em;
}
.p-news-single-article-body figure {
    margin-bottom: 1.5em;
}
.p-news-single-article-body ul {
    list-style: disc;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}
.p-news-single-article-body ol {
    list-style: decimal;
    margin-left: 1.5em;
    margin-bottom: 1.5em;
}
.p-news-single-article-body a {
    color: var(--main-color);
    text-decoration: underline;
}
.p-news-single-article-body em {
    font-style: italic;
}
.p-news-single-article-body hr {
    display: block;
    width: 100%;
    height: 1px;
    margin: 2.5em 0;
    background-color: var(--text-color);
}
.p-news-single-article-body *:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 768px) {
    .p-news-single {
        padding: 25px 25px 60px;
    }
    .p-news-single-article {
        width: 100%;
    }
    .p-news-single-article-header {
        padding: 30px;
    }
    .p-news-single-article-header-date {
        font-size: 10px;
    }
    .p-news-single-article-header-title {
        margin-top: 15px;
        font-size: 18px;
    }
    .p-news-single-article-body {
        padding: 40px 30px;
    }
    .p-news-single-pager {
        margin-top: calc(40px + 6px);
    }
    .p-news-single-article-body h1 {
        font-size: 18px;
    }
    .p-news-single-article-body h2 {
        font-size: 16px;
    }
}


/*==========================================================================

   about us

==========================================================================*/
/* philosophy */
.p-about-philosophy {
    padding: 90px 0 120px;
}
.p-about-philosophy-header {
    padding: .2em 0;
    font-size: 20px;
    text-align: center;
    color: var(--main-color);
    text-box: var(--text-box-both-trim);
}
.p-about-philosophy-copy {
    position: relative;
    left: -134px; /* side幅の半分 */
    margin-top: 130px;
    margin-bottom: 130px;
}
.p-about-philosophy-copy-item {
    width: 1110px;
}
.p-about-philosophy-declaration {
    max-width: var(--container-mid);
    margin-right: auto;
    margin-left: auto;
    padding: .2em 0;
    font-size: 30px;
    line-height: 2;
    text-box: var(--text-box-both-trim);
}
.p-about-philosophy-declaration-highlight {
    position: relative;
    color: #fff;
    background: #0072ce;
    z-index: 2;
}
.p-about-philosophy-footer {
    margin-top: 80px;
    text-align: center;
}
.p-about-philosophy-footer-image {
    max-width: 900px;
    margin: 0 auto;
}
.p-about-philosophy-footer-logo {
    margin: 80px auto 0;
}

/* cone */
.p-about-philosophy-cone {
    margin-right: -50px;
    margin-left: -50px;
    padding: 90px 50px 120px;
    color: #fff;
    background: var(--main-color);
}
.p-about-philosophy-cone-row {
    display: flex;
    gap: 40px;
}
.p-about-philosophy-cone-col.col--aside {
    max-width: 446px;
    width: 50%;
}
.p-about-philosophy-cone-col.col--main {
    flex: 1;
}
.p-about-philosophy-cone-image {
    position: sticky;
    top: 100px;
}
.p-about-philosophy-cone-header {
    margin-bottom: 170px;
    text-align: center;
    color: var(--text-color);
}
.p-about-philosophy-cone-header-title-en {
    padding: .05em 0;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    text-box: var(--text-box-both-trim);
}
.p-about-philosophy-cone-header-title-ja {
    padding: .05em 0;
    margin-top: 10px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    text-box: var(--text-box-both-trim);
}
.p-about-philosophy-cone-term-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 15px;
}
.p-about-philosophy-cone-term-title-en {
    padding: .05em 0;
    font-size: 40px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-about-philosophy-cone-term-title-ja {
    padding: .2em 0;
    font-size: 18px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-about-philosophy-cone-term-copy {
    margin-top: 19px;
    margin-bottom: 60px;
}
.p-about-philosophy-cone-term-copy-mark {
    display: inline-block;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--main-color);
    background: #fff;
}
.p-about-philosophy-cone-term + .p-about-philosophy-cone-term {
    margin-top: 80px;
    padding-top: 80px;
    border-top: 2px solid var(--text-color);
}
.p-about-philosophy-cone-term-body {
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}
.p-about-philosophy-cone-term-row {
    display: flex;
    text-box: var(--text-box-both-trim);
}
.p-about-philosophy-cone-term-row + .p-about-philosophy-cone-term-row {
    margin-top: 20px;
}
.p-about-philosophy-cone-term-row dt {
    width: 3em;
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
    flex-shrink: 0;
}
.p-about-philosophy-cone-term-row dd {
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}

/* brandbook */
.p-about-philosophy-brandbook {
    margin: 0 -50px -120px;
    border-radius: 0;
}

/* message */
.p-about-message {
    padding: 90px 0 0;
}
.p-about-message-header {
    margin-bottom: 100px;
    padding: .2em 0;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    color: var(--main-color);
    text-box: var(--text-box-both-trim);
}
.p-about-message-body {
    max-width: var(--container-mid);
    margin-right: auto;
    margin-left: auto;
    padding: .2em 0;
    font-size: 18px;
    text-box: var(--text-box-both-trim);
}
.p-about-message-body p + p {
    margin-top: 1.45em;
}
.p-about-message-footer {
    max-width: var(--container-mid);
    margin-top: 30px;
    margin-right: auto;
    margin-left: auto;
    padding: .2em 0;
    font-size: 18px;
    text-align: right;
    text-box: var(--text-box-both-trim);
}

/* company */
.p-about-company {
    margin-top: 90px;
}
.p-about-company-row {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
.p-about-company-row.row--has-under {
    border-bottom: 1px solid var(--text-color);
}
.p-about-company-row + .p-about-company-row {
    margin-top: 25px;
}
.p-about-company-col {
    /*width: calc((100% - 40px) / 2);*/
    flex: 1;
}
.p-about-company-term {
    display: flex;
    padding: 24px 0;
    border-top: 1px solid var(--text-color);
}
.p-about-company-term.term--column {
    flex-direction: column;
    width: 100%;
    border-top: none;
}
.p-about-company-term-header {
    flex: 0 0 90px;
    font-size: 12px;
    font-weight: 700;
}
.p-about-company-term.term--column .p-about-company-term-header {
    flex: 1;
    margin-bottom: 20px;
}
.p-about-company-term-body {
    font-size: 14px;
}
.p-about-company-term-volume {
    display: flex;
}
.p-about-company-term-volume-header {
    width: 100px;
}
.p-about-company-term-volume-body {
    flex: 1;
    min-width: 35px;
}
.p-about-company-partner-list {
    display: inline-flex;
    gap: 0 30px;
    flex-wrap: wrap;
    /*width: 290px;*/
}
.p-about-company-partner-item {
    width: 130px;
}

/* company address */
.p-about-company-address-list {
    display: flex;
    flex-wrap: wrap;
    gap: 25px 40px;
}
.p-about-company-address-item {
    display: flex;
    gap: 20px;
    width: calc((100% - 40px) / 2);
    padding-top: 25px;
    border-top: 1px solid var(--text-color);
}
.p-about-company-address-col.col--main {
    flex: 1;
}
.p-about-company-address-col.col--aside {
    max-width: 200px;
    width: 42.918454935%;
}
.p-about-company-address-title {
    margin-bottom: 30px;
    padding: .2em 0;
    font-size: 16px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-about-company-address-address {
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}
.p-about-company-address-number {
    margin-top: 7px;
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}
.p-about-company-address-map {
    margin-top: 15px;
    padding: .2em 0;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-about-company-address-map-icon {
    margin-left: 3px;
    font-size: 6px;
}

/* continuity */
.p-about-continuity {
    max-width: var(--container-mid);
    margin: 90px auto 0;
}
.p-about-continuity-body {
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}
.p-about-continuity-body p + * {
    margin-top: 1.5em;
}
.p-about-continuity-body ul {
    list-style: disc;
    padding-left: 1.5em;
}
.p-about-continuity-footer {
    max-width: var(--container-mid);
    margin: 40px auto;
    padding: .2em 0;
    text-align: right;
    text-box: var(--text-box-both-trim);
}

/* history */
.p-about-history {
    margin-top: 90px;
}
.p-about-history-term {
    display: flex;
    gap: 20px;
    padding: 25px 0;
    font-size: 18px;
    border-top: 1px dashed var(--text-color);
}
.p-about-history-term dt {
    font-weight: 700;
}
.p-about-history-term dt,
.p-about-history-term dd {
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}

/* network */
.p-about-network {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-top: 90px;
}
.p-about-network-item {
    width: calc((100% - 40px) / 2);
    padding-top: 25px;
    border-top: 1px dashed var(--text-color);
}
.p-about-network-item-inner {
    gap: 10px;
}
.p-about-network-item.item--full {
    display: flex;
    gap: 40px;
    width: 100%;
    padding: 0;
    border: none;
}
.p-about-network-item-inner {
    display: flex;
    gap: 20px;
}
.p-about-network-item.item--full .p-about-network-item-inner {
    width: calc((100% - 40px) / 2);
}
.p-about-network-item-addon {
    width: calc((100% - 40px) / 2);
    padding: .2em 0;
    font-size: 14px;
    text-box: var(--text-box-both-trim);
}
.p-about-network-item-col.col--main {
    flex: 1;
}
.p-about-network-item-col.col--aside {
    max-width: 200px;
    width: 42.918454935%;
}
.p-about-network-item-col.col--aside.col--shuumei-logo {
    max-width: 134px;
}
.p-about-network-item-title {
    margin-bottom: 30px;
    padding: .2em 0;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    text-box: var(--text-box-both-trim);
}
.p-about-network-item-text {
    padding: .2em 0;
    font-size: 14px;
    text-box: var(--text-box-both-trim);
}
.p-about-network-item-number {
    margin-top: 7px;
    padding: .2em 0;
    font-size: 14px;
    text-box: var(--text-box-both-trim);
}
.p-about-network-item-link {
    margin-top: 15px;
    padding: .05em 0;
    font-size: 14px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-about-network-item-link-icon {
    margin-left: 3px;
    font-size: 6px;
}


@media screen and (max-width: 950px) {
    .p-about-philosophy-copy {
        left: 0;
        margin-top: 65px;
        margin-bottom: 65px;
        margin-right: calc(-50vw + 50%);
    }
}


@media screen and (max-width: 768px) {
    .p-about-philosophy {
        padding: 60px 0 65px;
    }
    .p-about-philosophy-header {
        font-size: 15px;
    }
    .p-about-philosophy-copy-item {
        width: 555px;
    }
    .p-about-philosophy-footer {
        margin-top: 40px;
    }
    .p-about-philosophy-declaration {
        font-size: 22.5px;
    }
    .p-about-philosophy-footer {
        margin-top: 40px;
    }
    .p-about-philosophy-footer-logo {
        width: 174px;
        margin-top: 35px;
    }

    /* philosophy-cone */
    .p-about-philosophy-cone {
        margin: 0 -25px;
        padding: 50px 28px 60px;
    }
    .p-about-philosophy-cone-header {
        margin-bottom: 60px;
    }
    .p-about-philosophy-cone-header-title-en {
        font-size: 19.5px;
    }
    .p-about-philosophy-cone-header-title-ja {
        font-size: 15px;
    }
    .p-about-philosophy-cone-row {
        flex-direction: column;
        gap: 60px 0;
    }
    .p-about-philosophy-cone-col.col--aside {
        width: 100%;
        max-width: none;
    }
    .p-about-philosophy-cone-term + .p-about-philosophy-cone-term {
        margin-top: 40px;
        padding-top: 40px;
    }
    .p-about-philosophy-cone-term-title-en {
        font-size: 30px;
    }
    .p-about-philosophy-cone-term-title-ja {
        font-size: 13.5px;
    }
    .p-about-philosophy-cone-term-copy {
        margin-top: 12px;
        margin-bottom: 30px;
    }
    .p-about-philosophy-cone-term-copy-mark {
        font-size: 21px;
    }
    .p-about-philosophy-cone-term-body {
        font-size: 13.5px;
    }
    
    .p-about-philosophy-brandbook {
        margin: 0 -25px -60px;
    }

    /* message */
    .p-about-message {
        padding-top: 60px;
    }
    .p-about-message-header {
        margin-bottom: 60px;
        font-size: 15px;
    }
    .p-about-message-body {
        font-size: 13.5px;
    }
    .p-about-message-footer {
        font-size: 13.5px;
    }

    /* company */
    .p-about-company {
        margin-top: 60px;
        margin-bottom: -20px;
    }
    .p-about-company-term {
        padding: 20px 0;
    }
    .p-about-company-term-header {
        font-size: 10px;
    }
    .p-about-company-term-body {
        font-size: 12px;
    }
    .p-about-company-address-title {
        font-size: 13px;
    }
    .p-about-company-address-item {
        gap: 10px;
        width: 100%;
    }
    .p-about-company-address-list {
        flex-direction: column;
    }
    .p-about-company-address-col.col--aside {
        width: 40vw;
        max-width: 150px;
        min-width: 100px;
    }

    /* continuity */
    .p-about-continuity {
        max-width: none;
        margin-top: 60px;
    }
    .p-about-continuity-body {
        font-size: 13.5px;
    }
    .p-about-continuity-footer {
        margin: 26px 0 0;
    }

    /* history */
    .p-about-history {
        margin-top: 60px;
    }
    .p-about-history-term {
        padding: 20px 0;
    }
    .p-about-history-term dt,
    .p-about-history-term dd {
        font-size: 13.5px;
    }

    /* network */
    .p-about-network {
        gap: 30px;
        margin-top: 60px;
    }
    .p-about-network-item.item--full {
        flex-direction: column;
    }
    .p-about-network-item.item--full .p-about-network-item-inner {
        width: 100%;
    }
    .p-about-network-item-title {
        font-size: 15px;
    }
    .p-about-network-item-text {
        font-size: 12px;
    }
    .p-about-network-item-col.col--aside.col--shuumei-logo {
        width: 108px;
    }
    .p-about-network-item-addon {
        width: 100%;
    }
    .p-about-network-item {
        width: 100%;
        padding-top: 20px;
    }
    .p-about-network-item-col.col--aside {
        width: 40vw;
        max-width: 150px;
        min-width: 100px;
    }
}


/*==========================================================================

   business

==========================================================================*/
.p-business {
    padding: 50px;
}
.p-business-card {
    max-width: 1240px;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid var(--text-color);
    border-radius: 40px;
}
.p-business-card + .p-business-card {
    margin-top: 50px;
}
.p-business-card-header {
    display: flex;
    align-items: end;
    border-bottom: 1px solid var(--text-color);
    border-radius: 40px 40px 0 0;
    overflow: hidden;
}
.p-business-card-header-label {
    width: 40%;
    border-right: 1px solid var(--text-color);
}

.p-business-card-header-label.label--formwork { background-color: #ffc23e;}
.p-business-card-header-label.label--transport { background-color: #8dcdec;}
.p-business-card-header-label.label--crane { background-color: #fa7946;}
.p-business-card-header-label.label--scaffold { background-color: #6dbea6;}

.p-business-card-header-thumb {
    flex: 1;
}
.p-business-card-body {
    padding: 80px;
}
.p-business-card-body-row {
    display: flex;
    gap: 20px; /* お好みで調整 */
}

.p-business-card-body-col.col-main {
    flex: 1 1 auto;
    min-width: 400px; /* asideと同じ幅 */
}

.p-business-card-body-col.col-aside {
    flex: 0 0 400px; /* 固定400px */
    width: 400px;
}

/* ウィンドウが狭くなったら両方縮む */
@media (max-width: 1250px) { /* 400px + 400px + gap + padding等 */
    .p-business-card-body-col.col-main {
        flex: 1 1 0;
        min-width: 0;
    }
    .p-business-card-body-col.col-aside {
        flex: 1 1 0;
        width: auto;
        max-width: 400px;
    }
}
.p-business-card-copy {
    margin-bottom: 40px;
    padding: .2em 0;
    font-size: 28px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-business-card-text {
    padding: .2em 0;
    font-size: 18px;
    text-box: var(--text-box-both-trim);
}
.p-business-card-text p + p {
    margin-top: 1.5em;
}

/* slider */
.p-business-work-flow {
    margin: 120px 0 0;
}
.p-business-work-flow-header {
    margin-bottom: 60px;
    text-align: center;
    font-weight: 700;
    color: #ffc23e;
}
.p-business-work-flow-header-title {
    padding: .2em 0;
    font-size: 28px;
    text-box: var(--text-box-both-trim);
}
.p-business-work-flow-header-desc {
    margin-top: 5px;
    padding: .2em 0;
    font-size: 20px;
    text-box: var(--text-box-both-trim);
}

.p-business-slider {
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
    overflow: visible;
}
.p-business-slider-item {
    width: 330px;
    height: auto;
    border-radius: 40px;
    border: 1px solid var(--text-color);
    background: #fff;
}
.p-business-slider-swiper .swiper-wrapper {
    align-items: stretch;
}
.p-business-slider-swiper .swiper-slide {
    width: 330px;
    height: auto;
}
.p-business-card-slider-pagination.splide__pagenation {
    margin-top: 30px;
}
.p-business-slider-item {
    display: flex !important;
    flex-direction: column;
}
.p-business-slider-item-header {
    padding: 30px;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    text-box: var(--text-box-both-trim);
    border-bottom: 1px solid var(--text-color);
    border-radius: 40px 40px 0 0;
    background-color: #ffc23e;
}
.p-business-slider-item-body {
    display: flex;
    height: 100%;
    padding: 30px 40px;
}
.p-business-slider-item-body-inner {
    display: flex;
    flex-direction: column;
    align-content: space-between;
    gap: 40px;
}
.p-business-slider-item-text {
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}
.p-business-slider-item-thumb {
    margin-top: auto;
}

/* object */
.p-business-item-btn {
    margin-top: 40px;
}
.p-business-card-body-sign {
    margin-top: 30px;
}
.p-business-card-body-sign-title {
    margin-bottom: 5px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
}
.p-business-card-body-sign-url {
    font-size: 14px;
    font-weight: 700;
}
.p-business-card-body-sign-url-blank {
    margin-left: 2px;
    font-size: 6px;
}


@media screen and (max-width: 768px) {
    .p-business {
        padding: 25px 25px 60px;
    }
    .p-business-card + .p-business-card {
        margin-top: 25px;
    }
    .p-business-card-header {
        flex-direction: column;
    }
    .p-business-card-header-label {
        width: 100%;
        border-right: none;
        border-bottom: 1px solid var(--text-color);
    }
    .p-business-card-body {
        padding: 40px 30px;
    }
    .p-business-card-body-row {
        flex-direction: column;
        gap: 30px;
    }
    .p-business-card-body-col.col-aside {
        width: 100%;
        max-width: none;
    }
    .p-business-card-body-col.col-main {
        flex: none;
        width: 100%;
    }
    .p-business-card-copy {
        margin-bottom: 30px;
        font-size: 21px;
    }
    .p-business-card-text {
        font-size: 13.5px;
    }
    .p-business-work-flow {
        margin-top: 60px;
    }
    .p-business-work-flow-header {
        margin-bottom: 30px;
    }
    .p-business-work-flow-header-title {
        font-size: 21px;
    }
    .p-business-work-flow-header-desc {
        font-size: 15px;
    }
    .p-business-slider-item.swiper-slide {
        width: 66.666666vw;
    }
    .p-business-slider-item-header {
        padding: 23px 10px;
        font-size: 13.5px;
    }
    .p-business-slider-item-body {
        padding: 23px 30px;
    }
    .p-business-slider-item-body-inner {
        gap: 20px;
    }
    .p-business-card-slider-pagination.splide__pagenation {
        margin-top: 20px;
    }
    .p-business-slider-item {
        width: 66.666666vw;
    }
    .p-business-slider-item.swiper-slide {
        width: 66.666666vw;
    }


    .p-business-card-body-btn {
        padding-bottom: 10px;
    }
    .p-business-item-btn {
        margin-top: 30px;
    }
    .p-business-card-body-sign-title {
        font-size: 15px;
    }
    .p-business-card-body-sign-url {
        font-size: 10.5px;
    }
    .p-business-card-body-sign-url-blank {
        margin-left: 1px;
        font-size: 4px;
    }
}


/*==========================================================================

   archives - works

==========================================================================*/
.p-works-archive {
    padding: 100px 50px 120px;
}
.p-works-archive-list {
    max-width: 930px;
    margin-right: auto;
    margin-left: auto;
    display: flex;
    gap: 36px;
    flex-wrap: wrap;
    align-items: stretch;
}
.p-works-archive-item {
    width: calc((100% - 36px * 2) / 3);
    display: flex;
}
.p-works-archive-item a {
    display: block;
    padding: 30px;
    border: 1px solid var(--text-color);
    background: #fff;
}
.p-works-archive-item-thumb {
    aspect-ratio: 1 / 1;
    border: 1px solid var(--text-color);
}
.p-top-genba-item-thumb img {
    width: 100%;
    height: 100%;
}
.p-works-archive-item-body {
    padding-top: 30px;
}
.p-works-archive-item-title {
    padding: .2em 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    text-box: var(--text-box-both-trim);
    overflow: hidden;
}
.p-works-archive-pager {
    margin-top: calc(80px + 6px);
}


@media screen and (max-width: 768px) {
    .p-works-archive {
        width: 100%;
        padding: 50px 0 60px;
    }
    .p-works-archive-list {
        gap: 21px;
        padding: 0 30px;
    }
    .p-works-archive-item {
        width: calc((100% - 21px) / 2);
    }
    .p-works-archive-item a {
        padding: 15px 15px 20px;
    }
    .p-works-archive-item-body {
        padding-top: 15px;
    }
}



/*==========================================================================

   single - works

==========================================================================*/
.p-works-single {
    padding: 50px 50px 120px;
}
.p-works-single-article {
    max-width: 840px;
    margin-right: auto;
    margin-left: auto;
    border: 1px solid #000;
    border-radius: 20px;
}
.p-works-single-article-header {
    border-bottom: 1px solid #000;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
}
.p-works-single-article-header-row {
    display: flex;
}
.p-works-single-article-header-row + .p-works-single-article-header-row {
    border-top: 1px dashed #000;
}
.p-works-single-article-header-col.col-header {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 120px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    border-right: 1px solid #000;
    background: #f5f5f5;
}
.p-works-single-article-header-col.col-body {
    padding: calc(20px + .2em) 40px;
    font-size: 20px;
    text-box: var(--text-box-both-trim);
}
.p-works-single-article-title {
    font-weight: 700;
}
.p-works-single-article-body {
    padding: 80px 60px;
}
.p-works-single-article-image {
    width: 100%;
}
.p-works-single-gallery {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.p-works-single-gallery-item {
    text-align: center;
}
.p-works-single-gallery-item-image img {
    width: 100%;
}
.p-works-single-gallery-item-caption {
    margin-top: .25em;
}
.p-works-single-pager {
    margin-top: calc(80px + 6px);
}

@media screen and (max-width: 768px) {
    .p-works-single {
        padding: 25px 25px 66px;
    }
    .p-works-single-article {
        width: 100%;
    }
    .p-works-single-pager {
        margin-top: calc(40px + 6px);
    }
    
    .p-works-single-article-header-col.col-header {
        width: 70px;
        font-size: 10px;
    }
    .p-works-single-article-header-col.col-body {
        padding: calc(22px + .2em) 20px;
        font-size: 15px;
    }
    .p-works-single-article-body {
        padding: 40px 30px;
    }
}





/*==========================================================================

   equipment

==========================================================================*/
.p-equipment-archive-nav-list{
    display: flex;
    flex-wrap: wrap;
    border: 1px solid var(--text-color);
    border-left: 0;
    border-top: 0;
    margin: -1px;
}

.p-equipment-archive-nav-item{
    flex: 1 0 175px; /* min-widthをこっちへ寄せる */
    border-left: 1px solid var(--text-color);
    border-top: 1px solid var(--text-color);
    font-weight: 700;
}
.p-equipment-archive-nav-item-link {
    position: relative;
    display: block;
    height: 100%;
    padding: 16px 26px 16px 16px;
}
.p-equipment-archive-nav-item-link::after {
    position: absolute;
    top: 50%;
    right: 17px;
    content: "\e906";
    font-family: 'tada-icon' !important;
    font-size: 12px;
    transform: translateY(-50%) rotate(90deg);
}

.p-equipment-archive-section {
    padding: 0 50px;
}
.p-equipment-archive-section-inner {
    max-width: 860px;
    margin-right: auto;
    margin-left: auto;
    padding: 100px 0 120px;
}
.p-equipment-archive-section-header {
    margin-bottom: 60px;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}
.p-equipment-table-content {
    overflow-x: auto;
}
.p-equipment-table-outer {
    border-radius: 40px 40px 0 0;
    border: 1px solid var(--text-color);
    overflow: hidden;
}
.p-equipment-table-outer.outer-fix {
    width: 860px;
}

/* moduleのm-table01と同じ ここから */
.p-equipment-table-content table {
    table-layout: fixed;
    width: 100%;
}
.p-equipment-table-content table th,
.p-equipment-table-content table td{
    border-right: 1px solid var(--text-color);
    border-bottom: 1px solid var(--text-color);
}
.p-equipment-table-content table th {
    background-color: #f5f5f5;
}
.p-equipment-table-content table tr > *:last-child{
    border-right: 0;
}
.p-equipment-table-content table tbody tr:last-child > *,
.p-equipment-table-content table tfoot tr:last-child > *{
    border-bottom: 0;
}
/* moduleのm-table01と同じ ここまで */


.p-equipment-table-content table th,
.p-equipment-table-content table td{
    padding: 15px 10px;
    font-size: 18px;
	text-align: center;
    vertical-align: middle;
}
.p-equipment-table-content table th {
    font-size: 14px;
    font-weight: 700;
}
.p-equipment-pdf-link {
    font-size: 16px;
    font-weight: 700;
}
.p-equipment-pdf-blank {
    margin-left: 4px;
    font-size: 7px;
    font-weight: 400;
}
.p-equipment-archive-gallery {
    margin-top: 40px;
}
.p-equipment-archive-gallery-list {
    display: flex;
    gap: 18px;
    justify-content: center;
}
.p-equipment-archive-gallery-item {
    width: calc((100% - 18px * 2) / 3);
}


@media screen and (max-width: 768px) {
    .p-equipment-archive-nav-item-link {
        padding: 13px 26px 13px 13px;
    }
    .p-equipment-archive-nav-item-link::after {
        font-size: 9px;
    }
    .p-equipment-archive-section {
        padding: 0;
    }
    .p-equipment-archive-section-inner {
        width: 100%;
        padding: 50px 25px 60px;
    }
    .p-equipment-archive-section-header {
        margin-bottom: 30px;
        font-size: 21px;
    }
    .p-equipment-table-content table th {
        font-size: 10.5px;
    }
    .p-equipment-table-content table td {
        font-size: 13.5px;
    }
    .p-equipment-table-content table th,
    .p-equipment-table-content table td {
        padding: 13px;
    }
    .p-equipment-pdf-link {
        font-size: 12px;
    }
    .p-equipment-pdf-blank {
        font-size: 4px;
    }
    .p-equipment-archive-gallery {
        margin-top: 20px;
    }
    .p-equipment-archive-gallery-list {
        flex-direction: column;
        gap: 10px;
    }
    .p-equipment-archive-gallery-item {
        width: 100%;
    }
}


/*==========================================================================

   recruit

==========================================================================*/
.p-recruit-career-section + .p-recruit-career-section {
    margin-top: 100px;
    padding-top: 100px;
    border-top: 1px solid var(--text-color);
}
.p-recruit-career-section-header-title {
    margin-bottom: 60px;
    padding: .135em 0 .05em;
    font-size: 26px;
    font-weight: 700;
    color: var(--main-color);
    text-box: var(--text-box-both-trim);
}
.p-recruit-career-section-header-desc {
    margin-bottom: 60px;
    padding: .135em 0 .05em;
    text-box: var(--text-box-both-trim);
}
.p-recruit-career-section-header-desc a {
    text-decoration: underline;
}
.p-recruit-career-section-body-title {
    margin-bottom: 40px;
    padding: .135em 0 .05em;
    font-size: 20px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}

/* culture */
.p-recruit-culture-header {
    margin-bottom: 80px;
}
.p-recruit-culture-item {
    width: 100%;
}
.p-recruit-culture-item a {
    border: 1px solid var(--text-color);
    border-radius: 20px;
    background-color: #fff;
    box-shadow: 6px 6px 0 #000;
    overflow: hidden;
    transition: .15s;
}
.p-recruit-culture-item a:hover {
    transform: translate(6px, 6px);
    box-shadow: 0 0 0 #000;
}
.p-recruit-culture-item-row {
    display: flex;
}
.p-recruit-culture-item-col.col--main {
    flex: 1;
    padding: 30px;
    border-right: 1px solid var(--text-color);
}
.p-recruit-culture-item-number {
    margin-bottom: 20px;
    padding: .135em 0 .05em;
    font-size: 12px;
    font-weight: 600;
    text-box: var(--text-box-both-trim);
}
.p-recruit-culture-item-title {
    padding: .175em 0 .15em;
    font-size: 22px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-recruit-culture-item-option-term {
    display: flex;
}
.p-recruit-culture-item-option-term + .p-recruit-culture-item-option-term {
    margin-top: 12px;
}
.p-recruit-culture-item-option-term-header {
    width: 70px;
    padding: .135em 0 .05em;
    font-size: 12px;
    font-weight: 600;
    text-box: var(--text-box-both-trim);
}
.p-recruit-culture-item-option-term-body {
    padding: .135em 0 .05em;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-recruit-culture-item-option {
    margin-top: 40px;
}
.p-recruit-culture-item-col.col--aside {
    display: flex;
    width: 280px;
    align-items: end;
    background: #ebebeb;
}
.p-recruit-culture-item + .p-recruit-culture-item {
    margin-top: calc(30px + 6px);
}

/* data */
.p-recruit-entry-header {
    margin-bottom: 80px;
}
.p-recruit-data-tile-item {
    background-color: #6bdea6;
}
.p-recruit-data-tile-item-count {
    font-size: 70px;
    font-weight: 600;
}

/* welfare */
.p-recruit-welfare-tile-item {
    background-color: #ebebeb;
}

/* intern */
.p-recruit-intern-item {
    display: flex;
    gap: 40px;
}
.p-recruit-intern-item + .p-recruit-intern-item {
    margin-top: 40px;
}
.p-recruit-intern-item-col {
    flex: 1;
}
.p-recruit-intern-table-outer {
    border-radius: 40px;
    border: 1px solid var(--text-color);
    overflow: hidden;
}
.p-recruit-intern-table {
    table-layout: unset;
}
.p-recruit-intern-table th,
.p-recruit-intern-table td {
    padding: 20px;
}
.p-recruit-intern-table thead th {
    text-align: center;
}
.p-recruit-intern-table tbody th {
    width: 84px;
    font-family: var(--font-en);
    font-weight: 700;
    text-align: center;
    vertical-align: middle;
    border-right: 1px dashed var(--text-color);
    background-color: unset;
}
.p-recruit-intern-table em {
    margin-top: 4px;
    display: block;
    font-size: 12px;
    line-height: 1.25;
}
.p-recruit-intern-item-aside-row {
    display: flex;
    flex-direction: column
    ;align-content: space-between;
    height: 100%;
    padding-bottom: 6px;
}
.p-recruit-intern-gallery-footer {
    display: flex;
    flex-direction: column;
    gap: 36px;
    margin-top: auto;
    text-align: right;
}
.p-recruit-intern-gallery-btn {
    width: 100%;
    height: 50px;
}

/* result */
.p-recruit-results-item {
    display: flex;
    gap: 40px;
}
.p-recruit-results-col {
    flex: 1;
}
.p-recruit-results-term {
    display: flex;
    gap: 20px;
    padding: 20px 0;
    font-size: 16px;
    border-top: 1px dashed var(--text-color);
}
.p-recruit-results-term dt {
    width: 3em;
    padding: .135em 0 .05em;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-recruit-results-term dd {
    flex: 1;
    padding: .135em 0 .05em;
    text-box: var(--text-box-both-trim);
}
.p-recruit-skills-scene-item + .p-recruit-skills-scene-item {
    margin-top: 40px;
}
.p-recruit-skills-scene-item-caption {
    margin-top: 10px;
    padding: .135em 0 .05em;
    text-box: var(--text-box-both-trim);
}


/* skills */
.p-recruit-skills-row {
    display: flex;
    gap: 40px;
}
.p-recruit-skills-col {
    flex: 1;
}
.p-recruit-skills-item {
    padding: calc(24px + .135em) 0 calc(24px + .05em);
    font-size: 16px;
    text-box: var(--text-box-both-trim);
    border-top: 1px dashed var(--text-color);
}

/* jobs */
.p-recruit-jobs-item {
    border-bottom: 1px dashed var(--text-color);
}
.p-recruit-jobs-item + .p-recruit-jobs-item {
    margin-top: 100px;
}
.p-recruit-jobs-item-header {
    margin-bottom: 40px;
    padding: .135em 0 .05em;
    font-size: 26px;
    font-weight: 700;
    color: var(--main-color);
    text-box: var(--text-box-both-trim);
}
.p-recruit-jobs-item-term {
    display: flex;
    padding: 24px 0;
    border-top: 1px dashed var(--text-color);
}
.p-recruit-jobs-item-term dt {
    width: 100px;
    padding: .135em 0 .05em;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-recruit-jobs-item-term dd {
    flex: 1;
    padding: .135em 0 .05em;
    font-size: 18px;
    text-box: var(--text-box-both-trim);
}
.p-recruit-jobs-footer,
.p-recruit-entry-footer {
    margin-top: 100px;
    text-align: center;
}
.p-recruit-entry-btn {
    display: flex;
    width: 400px;
    height: 70px;
    margin: 0 auto;
}


/* modal */
.p-recruit-welfare-modal__section + .p-recruit-welfare-modal__section {
    margin-top: 40px;
}
.p-recruit-welfare-modal__gallery img + img {
    margin-top: 20px;
}
.p-recruit-welfare-modal__caption {
    margin-top: 20px;
    padding: .135em 0 .05em;
    text-align: center;
    text-box: var(--text-box-both-trim);
}


/* modal */
.p-recruit-voie-modal {
    background-color: #ebebeb;
}
.p-recruit-voice-modal .m-scroll-modal01__scroll {
    padding: 120px 0;
    max-width: 1070px;
}
.p-recruit-voie-modal-header {
    border-bottom: 1px solid var(--text-color);
    background-color: #fff;
}
.p-recruit-voice-modal-body {
    padding: 60px 130px;
}

/* modal - data */
.p-recruit-voice-modal-data {
    display: flex;
    margin-bottom: 23px;
}
.p-recruit-voice-modal-data-col.col--main {
    padding-top: 90px;
}
.p-recruit-voice-modal-data-number {
    margin-bottom: 20px;
    padding: .135em 0 .05em;
    font-family: var(--font-en);
    font-weight: 600;
    text-box: var(--text-box-both-trim);
}
.p-recruit-voice-modal-data-title {
    padding: .135em 0 .05em;
    font-size: 30px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-recruit-voice-modal-data-option {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 100px;
}
.p-recruit-voice-modal-data-option-term {
    display: flex;
}
.p-recruit-voice-modal-data-option-term-header {
    padding: .135em 0 .05em;
    width: 88px;
    font-size: 15px;
    font-weight: 600;
    text-box: var(--text-box-both-trim);
}
.p-recruit-voice-modal-data-option-term-body {
    padding: .135em 0 .05em;
    font-size: 15px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}

/* modal - question */
.p-recruit-voice-modal-question {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 80px;
    padding-top: 35px;
}
.p-recruit-voice-modal-question + .p-recruit-voice-modal-question {
    margin-top: 103px;
}
.p-recruit-voice-modal-question-term {
    display: flex;
    gap: 18px;
}
.p-recruit-voice-modal-question-term.term--q {
    padding-right: 130px;
}
.p-recruit-voice-modal-question-term.term--a {
    flex-direction: row-reverse;
    padding-left: 130px;
}
.p-recruit-voice-modal-question-text {
    flex: 1;
    font-size: 18px;
}
.p-recruit-voice-modal-question-term.term--q .p-recruit-voice-modal-question-text {
    position: relative;
    top: -23px;
    margin-bottom: -23px;
}
.p-recruit-voice-modal-question-title {
    margin-bottom: 10px;
    padding: .135em 0 .05em;
    font-family: var(--font-en);
    font-size: 12px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-recruit-voice-modal-question-thumb {
    width: 40px;
    height: 40px;
    border-radius: 100%;
    overflow: hidden;
}
.p-recruit-voice-modal-question-comment {
    border-radius: 40px;
}
.p-recruit-voice-modal-question-comment-inner {
    position: relative;
    display: inline-block;
    padding: 20px;
    border-radius: 20px;
}
.p-recruit-voice-modal-question-comment.comment--q .p-recruit-voice-modal-question-comment-inner {
    background-color: #fff;
}
.p-recruit-voice-modal-question-comment.comment--a .p-recruit-voice-modal-question-comment-inner {
    background-color: #6bdea6;
}
.p-recruit-voice-modal-question-comment-inner::before {
    content: '';
    position: absolute;
    display: block;
    width: 0;
    height: 0;
}
.p-recruit-voice-modal-question-comment.comment--q .p-recruit-voice-modal-question-comment-inner::before {
    left: -10px;
    top: 10px;
    border-right: 20px solid #ffffff;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}
.p-recruit-voice-modal-question-comment.comment--a .p-recruit-voice-modal-question-comment-inner::before {
    right: -10px;
    top: 10px;
    border-left: 20px solid #6bdea6;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
}

/* LINE風アニメーション */
.p-recruit-voice-modal-question-term {
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px) scale(.96);
    transition:
        opacity .3s ease,
        transform .4s cubic-bezier(.2,.9,.2,1.3);
    will-change: opacity, transform;
}
.p-recruit-voice-modal-question-term.term--q { transition-delay: .15s; }
.p-recruit-voice-modal-question-term.term--a { transition-delay: .35s; }

/* inview後：ポンッ */
.p-recruit-voice-modal-question-term.-view {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

/* modal - section */
.p-recruit-voice-modal-section {
    position: relative;
    min-height: 240px;
    padding: 20px 20px 100px;
    border: 1px solid var(--text-color);
    border-radius: 20px;
    background-color: #fff;
}
.p-recruit-voice-modal-section + .p-recruit-voice-modal-section {
    margin-top: 20px;
}
.p-recruit-voice-modal-section-header {
    margin-bottom: 65px;
    padding: .135em 0 .05em;
    font-family: var(--font-en);
    font-size: 14px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-recruit-voice-modal-section-body {
    display: flex;
    width: 100%;
    height: 100%;
    padding: 0 130px;
}
.p-recruit-voice-modal-motto {
    display: block;
    width: 100%;
    font-size: 50px;
    font-weight: 700;
    text-align: center;
}

/* modal - btn */
.p-recruit-voice-modal-nav {
    display: flex;
    gap: 0 26px;
    margin-top: 24px;
    padding-right: 6px;
}
.p-recruit-voice-modal-nav-btn {
    display: block;
    border-radius: 40px;
    background: #fff;
    overflow: hidden;
}
.p-recruit-voice-modal-nav-btn-thumb {
    text-align: center;
    background-color: #ebebeb;
}
.p-recruit-voice-modal-nav-btn-thumb img {
    width: 55.384615384%;
    text-align: center;
}
.p-recruit-voice-modal-nav-btn-label {
    padding: 30px 10px;
    font-family: var(--font-en);
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    border-top: 1px solid var(--text-color);
}


@media screen and (max-width: 768px) {
    .p-recruit-culture-header {
        margin-bottom: 35px;
    }
    .p-recruit-culture-item-row {
        flex-direction: column;
    }
    .p-recruit-culture-item-col.col--main {
        border-right: none;
        border-bottom: 1px solid var(--text-color);
    }
    .p-recruit-culture-item-number {
        margin-bottom: 15px;
        font-size: 9px;
    }
    .p-recruit-culture-item-title {
        font-size: 16.5px;
    }
    .p-recruit-culture-item-option {
        margin-top: 30px;
    }
    .p-recruit-culture-item-option-term-header {
        font-size: 9px;
    }
    .p-recruit-culture-item-option-term-body {
        font-size: 12px;
    }
    .p-recruit-culture-item-col.col--aside {
        width: 100%;
        padding: 0 9.333333333vw;
    }
    .p-recruit-data-tile-item-count {
        font-size: 60px;
    }
    .p-recruit-career-section + .p-recruit-career-section {
        margin-top: 50px;
        padding-top: 50px;
    }
    .p-recruit-career-section-header-title {
        margin-bottom: 30px;
        font-size: 19.5px;
    }
    .p-recruit-career-section-header-desc {
        margin-bottom: 30px;
    }
    .p-recruit-career-section-body-title {
        margin-bottom: 30px;
        font-size: 15px;
    }

    .p-recruit-intern-item {
        flex-direction: column;
    }
    .p-recruit-intern-item-aside-row {
        gap: 30px;
    }
    .p-recruit-intern-gallery-footer {
        gap: 21px;
        margin-top: 0;
        text-align: center;
    }
    .p-recruit-intern-gallery-btn {
        height: 36px;
    }

    .p-recruit-results-item {
        flex-direction: column;
    }
    
    
    .p-recruit-skills-row {
        flex-direction: column;
        gap: 12px;
    }
    .p-recruit-skills-item {
        padding: calc(18px + .135em) 0 calc(18px + .05em);
        font-size: 13.5px;
    }
    .p-recruit-skills-scene-item + .p-recruit-skills-scene-item {
        margin-top: 30px;
    }
    .p-recruit-skills-scene-item-caption {
        margin-top: 7px;
        font-size: 10px;
    }

    .p-recruit-jobs-item + .p-recruit-jobs-item {
        margin-top: 50px;
    }
    .p-recruit-jobs-item-header {
        margin-bottom: 30px;
        font-size: 19.5px;
    }
    .p-recruit-jobs-item-term {
        padding: 18px 0;
    }
    .p-recruit-jobs-item-term dd {
        font-size: 13.5px;
    }
    .p-recruit-entry-header {
        margin-bottom: 40px;
    }
    .p-recruit-jobs-footer, .p-recruit-entry-footer {
        margin-top: 80px;
    }
    .p-recruit-entry-btn {
        width: 100%;
        height: 52px;
    }
    .p-recruit-voice-modal .m-scroll-modal01__scroll {
        padding: 10px 15px 60px;
    }
    .m-header01.header01-voice-modal {
        flex-direction: row;
        align-content: space-between;
    }
    .p-recruit-voice-modal-body {
        padding: 25px 20px 60px;
    }
    .p-recruit-voice-modal-data {
        flex-direction: column;
        gap: 30px;
    }
    .p-recruit-voice-modal-data-col.col--main {
        padding: 0;
    }
    .p-recruit-voice-modal-data-number {
        margin-bottom: 15px;
        font-size: 11px;
    }
    .p-recruit-voice-modal-data-title {
        font-size: 19px;
    }
    .p-recruit-voice-modal-data-option {
        margin-top: 50px;
        gap: 10px;
    }
    .p-recruit-voice-modal-data-option-term-header {
        font-size: 11px;
    }
    .p-recruit-voice-modal-data-option-term-division-value {
        display: block;
        font-size: 11px;
    }
    .p-recruit-voice-modal-data-col.col--aside {
        text-align: center;
    }
    .p-recruit-voice-modal-data-image img {
        width: 33.684210526vw;
    }
    .p-recruit-voice-modal-question {
        gap: 15px;
        margin-bottom: 45px;
    }
    .p-recruit-voice-modal-question + .p-recruit-voice-modal-question {
        margin-top: 60px;
    }
    .p-recruit-voice-modal-question-term.term--a,
    .p-recruit-voice-modal-question-term.term--q {
        padding: 0;
    }
    .p-recruit-voice-modal-question-title {
        margin-bottom: 8px;
        font-size: 9px;
    }
    .p-recruit-voice-modal-question-term.term--q .p-recruit-voice-modal-question-text {
        top: -16px;
        margin-bottom: -16px;
    }
    .p-recruit-voice-modal-question-comment {
        font-size: 13px;
    }
    .p-recruit-voice-modal-question-comment-inner {
        padding: 10px;
    }

    .p-recruit-voice-modal-section {
        min-height: 180px;
        padding: 10px 10px 75px;
    }
    .p-recruit-voice-modal-section + .p-recruit-voice-modal-section {
        margin-top: 15px;
    }
    .p-recruit-voice-modal-section-header {
        margin-bottom: 55px;
        font-size: 10.5px;
    }
    .p-recruit-voice-modal-motto {
        font-size: 37.5px;
    }
    .p-recruit-voice-modal-section-body {
        padding: 0 30px;
        font-size: 13px;
    }
    .p-recruit-voice-modal-nav {
        gap: 16px;
        margin-top: 16px;
    }
    .p-recruit-voice-modal-nav-btn-thumb img {
        width: 100%;
    }
    .p-recruit-voice-modal-nav-btn-label {
        padding: 23px 10px;
        font-size: 12px;
    }
}


/*==========================================================================

   genba

==========================================================================*/
.p-genba-archive {
    max-width: 1030px;
    margin-right: auto;
    margin-left: auto;
    padding: 100px 50px 120px;
}
.p-genba-archive-header {
    margin-bottom: 80px;
    padding: .2em 0;
    text-box: var(--text-box-both-trim);
}
.p-genba-archive-list {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
}
.p-genba-archive-item {
    width: calc((100% - 30px * 2) / 3);
}
.p-genba-archive-item a {
    display: block;
    border: 1px solid #000;
    overflow: hidden;
}
.p-genba-archive-pager {
    margin-top: calc(80px + 6px);
}
.p-genba-modal__item + .p-genba-modal__item {
    margin-top: 40px;
}
.p-genba-modal__item:last-child {
	margin-bottom: 0;
}
.p-genba-modal__item img {
	width: 100%;
	height: auto;
	display: block;
}

@media screen and (max-width: 768px) {
    .p-genba-archive {
        width: 100%;
        padding: 50px 28px 60px;
    }
    .p-genba-archive-header {
        margin-bottom: 50px;
    }
    .p-genba-archive-list {
        gap: 21px;
    }
    .p-genba-archive-item {
        width: calc((100% - 21px) / 2);
    }
    .p-genba-archive-pager {
        margin-top: calc(40px + 6px);
    }
    .m-genba-modal__item + .m-genba-modal__item {
        margin-top: 15px;
    }
}





/*==========================================================================

   privacy

==========================================================================*/
.p-privacy-footer-btn {
    width: 192px;
    height: 50px;
    margin-top: 65px;
}

@media screen and (max-width: 768px) {
    .p-privacy-footer-btn {
        width: 145px;
        height: 36px;
        margin-top: 30px;
        font-size: 12px;
    }
}


/*==========================================================================

   contact

==========================================================================*/
.p-contact {
    padding: 100px 50px 120px;
}
.p-contact-section {
    max-width: 840px;
    margin: 0 auto;
    border: 1px solid #000;
    border-radius: 20px;
}
.p-contact-section + .p-contact-section {
    margin-top: 50px;
}
.p-page-contact-header {
    margin-bottom: 80px;
    padding: .2em 0;
    font-size: 20px;
    font-weight: 700;
    text-align: center;
    text-box: var(--text-box-both-trim);
}
.p-page-contact-section-header-notes {
    margin-bottom: 60px;
    font-size: 14px;
    color: #f00;
}
.p-contact-section-header {
    padding: 60px 60px 55px;
}
.p-contact-section-header-title {
    padding: .2em 0;
    font-size: 24px;
    font-weight: 700;
    text-box: var(--text-box-both-trim);
}
.p-contact-section-header-desc {
    padding: .2em 0;
    font-size: 18px;
    text-box: var(--text-box-both-trim);
}
.p-contact-section-header-title + .p-contact-section-header-desc {
    margin-top: 30px;
}
.p-contact-section-body {
    padding: 60px 60px 120px;
}
.p-contact-section-body.body--nospace {
    padding: 0;
}
.p-contact-section-body.body--equality {
    padding: 60px;
}
.p-contact-flow {
    display: flex;
}
.p-contact-flow-item {
    position: relative;
    flex: 1;
    padding: 60px;
}
.p-contact-flow-item-row {
    display: flex;
    align-items: center;
    gap: 0 5px;
}
.p-contact-flow-item-col.col--aside {
    width: 40px;
}
.p-contact-flow-item-col.col--main {
    flex: 1;
    text-align: center;
}
.p-contact-flow-item-icon {
    text-align: center;
}
.p-contact-flow-item-number {
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
    text-box: var(--text-box-both-trim);
}
.p-contact-flow-item-icon-image {
    font-size: 30px;
}
.p-contact-flow-item-icon-label {
    font-size: 18px;
    font-weight: 600;
}
.p-contact-flow-item-option {
    padding: .2em 0;
    font-size: 16px;
    text-box: var(--text-box-both-trim);
}
.p-contact-flow-item-number + .p-contact-flow-item-option {
    margin-top: 17px;
}
.p-contact-thanks-message {
    padding: .2em 0;
    font-size: 18px;
    text-align: center;
    text-box: var(--text-box-both-trim);
}
.p-contact-thanks-back {
    margin-top: 60px;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .p-contact {
        padding: 40px 25px 60px;
    }
    .p-page-contact-header {
        margin-bottom: 50px;
        font-size: 15px;
    }
    .p-page-contact-section-header-notes {
        margin-bottom: 30px;
        font-size: 12px;
    }
    .p-contact-section {
        width: 100%;
    }
    .p-contact-section-header {
        padding: 30px;
    }
    .p-contact-section-header-title {
        font-size: 18px;
    }
    .p-contact-section-header-desc {
        font-size: 13.5px;
    }
    .p-contact-section-header-title + .p-contact-section-header-desc {
        margin-top: 22px;
    }
    .p-contact-section-body,
    .p-contact-section-body.body--equality {
        padding: 30px;
    }
    .p-contact-flow {
        flex-direction: column;
    }
    .p-contact-flow-item {
        padding: 34px;
    }
    .p-contact-flow-item-row {
        justify-self: center;
        gap: 12px;
    }
    .p-contact-flow-item-col.col--aside {
        width: auto;
    }
    .p-contact-flow-item-icon-label {
        font-size: 13.5px;
    }
    .p-contact-flow-item-number {
        font-size: 30px;
    }
    .p-contact-flow-item-option {
        font-size: 12px;
    }
    .p-contact-flow-item-number + .p-contact-flow-item-option {
        margin-top: 12px;
    }
    .p-contact-flow-item-icon-image {
        font-size: 22px;
    }
    .p-contact-thanks-message {
        font-size: 13.5px;
    }
    .p-contact-thanks-back {
        margin-top: 30px;
    }
}





/*==========================================================================

   entry

==========================================================================*/
.p-entry-header {
    margin-bottom: 80px;
    padding: .135em 0 .05em;
    font-size: 20px;
    text-align: center;
    color: var(--main-color);
    text-box: var(--text-box-both-trim);
}
.p-entry-body {
    padding: 60px 60px 120px;
    border: 1px solid var(--text-color);
    border-radius: 20px;
}

@media screen and (max-width: 768px) {
    .p-entry-header {
        margin-bottom: 50px;
        font-size: 15px;
    }
    .p-entry-body {
        padding: 30px;
    }
}




/*==========================================================================

   recruit6

==========================================================================*/
.p-recruit6-article {
    padding: 100px 0;
    text-align: center;
}
.p-recruit6-article a {
    color: var(--main-color);
    text-decoration: underline;
}
.p-recruit6-header {
    margin-bottom: 60px;
}
.p-recruit6-bnr-text {
    max-width: 960px;
    margin: 80px auto 100px;
    padding: 10px 10px 12px;
    color: var(--main-color);
    border: 1px solid var(--main-color);
    box-sizing: border-box;
    font-size: 22px;
}



/*==========================================================================

   404

==========================================================================*/
.p-not-found {
    padding: 5em 0;
	text-align: center;
}
.p-not-found__title {
	font-size: 60px;
}
.p-not-found__text {
	margin-top: 39px;
	font-size: 16px;
	line-height: 2;
}
.p-not-found__btn {
    margin: 55px auto 0;
}
.p-not-found__btn .m-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 260px;
	height: 62px;
	margin: 0 auto;
}