@charset "utf-8";
/* CSS Document */


@media (min-width: 768px) {

    section > .container {
        max-width: 120.0rem;
    }

}


/* ========================================================
==                                                       ==
==                                                       ==
==  Top page sets                                        ==
==                                                       ==
==                                                       ==
=========================================================== */

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

　Main Visual Section

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

@media (max-width: 767.98px) {

    #mainvisual {
        padding-top: 6.0rem;
    }

    #mainvisual #carousel {
        display: none; /* カルーセル非表示 */
    }

    /* スマホ用画像 */
    #mainvisual #spImage {
        display: flex;
        align-items: center;
        justify-content: center;
        height: calc(100vh - 8.0rem); /* ヘッダーの高さ + Purposeの背景を見せる分　をマイナス */
        overflow: hidden;
    }

    #mainvisual #spImage img {
        width: 100%;
        height: 100%;
        aspect-ratio: 13 / 20;
        object-fit: cover;
        z-index: -1;
    }

}

@media (min-width: 768px) {

    #mainvisual {
        padding-top: 8.0rem;
    }

    /* スマホ用画像非表示 */
    #mainvisual #spImage {
        display: none;
    }

    #mainvisual .carousel-item {
        position: relative;
        z-index: -1;
        transition: 0.5s;
    }

    /* デスクトップ画像 */
    #mainvisual picture {
        display: flex;
        align-items: center;
        justify-content: center;
        aspect-ratio: inherit;
        height: 41.65vw;
        overflow: hidden;
    }

    #mainvisual img {
        width: 100%;
        height: 100%;
        aspect-ratio: 2000 / 833;
        object-fit: cover;
        z-index: -1;
    }

    #mainvisual .carousel-item:nth-of-type(odd) img[src*="jpg"] {
        animation: zoomIn 10.0s ease-out 0s normal forwards;
    }

    #mainvisual .carousel-item:nth-of-type(even) img[src*="jpg"] {
        animation: zoomOut 10.0s ease-out 0s normal forwards;
    }

    #mainvisual img + img {
        position: absolute;
        inset: 0;
        z-index: 1;
    }

    /* インジケーター */
    #mainvisual .carousel-indicators {
        position: absolute;
        inset: auto 0 0 auto;
        margin: 0;
        padding: 0 min(5.0vw, 5.0rem) min(5.0vw, 4.0rem) 0;
    }

}

@media (min-width: 1200px) {

    #mainvisual {
        padding-top: 10.0rem;
    }

}


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

　Purpose Section

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

.home #purpose {
    position: relative;
}

/* 背景画像 */
.home #purpose > img {
    position: absolute;
    margin-top: -3.0rem;
    z-index: -1;
}

/* コンテンツ領域 */
.home #purpose .container {
    padding-top: min(16.0vw, 8.0rem);
    padding-bottom: min(16.0vw, 8.0rem);
    z-index: 1;
}

/* イメージ画像 */
.home #purpose div[class^="col-"]:first-of-type {
    text-align: center;
}

.home #purpose div[class^="col-"]:first-of-type {
    text-align: center;
}

.home #purpose div[class^="col-"]:first-of-type img {
    width: min(50.0vw, 24.0rem);
    margin: 0 auto;
}

.home #purpose div[class^="col-"]:last-of-type {
    margin-top: min(14.0vw, 5.0rem);
}

/* リード文 */
.home #purpose p {
    margin-bottom: min(14.0vw, 5.0rem);
    color: var(--corporate-color);
    text-align: justify;
    line-height: 175%;
}

@media (min-width: 768px) {

    .home #purpose div[class^="col-"]:first-of-type {
        text-align: left;
    }

    .home #purpose div[class^="col-"]:last-of-type {
        position: relative;
        margin-top: 0;
        padding-bottom: 5.0rem;
    }

    .home #purpose .more a {
        position: absolute;
        inset: auto auto 2.0rem auto;
    }

}

@media (min-width: 992px) {

    .home #purpose div[class^="col-"]:first-of-type img {
        width: min(100%, 36.0rem);
    }

}

@media (min-width: 1200px) {

    .home #purpose div[class^="col-"]:first-of-type img {
        width: min(100%, 44.0rem);
    }

}

@media (min-width: 1921px) {

    .home #purpose > img {
        width: 100%;
        margin-top: min(-2.0vw, -3.5rem);
        object-fit: cover;
    }

}


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

　Strong Section

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

.home #strong {
    position: relative;
    background-color: var(--background-color);
}

.home #strong a {
    text-decoration: none;
}

/* 背景画像 */
.home #strong > img {
    position: absolute;
    margin-top: -3.0rem;
    z-index: 1;
}

/* コンテンツ領域 */
.home #strong .container {
    position: relative;
    padding-top: min(16.0vw, 8.0rem);
    padding-bottom: min(16.0vw, 8.0rem);
    z-index: 2;
}

.home #strong .container .row .row div[class^="col-"] {
    text-align: center;
}

.home #strong .container .row .row div[class^="col-"]:nth-of-type(n+2) {
    margin-top: 4.0rem;
}

/* 画像 */
.home #strong .container a > div:first-of-type {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.home #strong .container a > div:first-of-type img {
    width: 100%;
    object-fit: cover;
    transition: 0.3s;
    z-index: -1;
}

/* Point */
.home #strong .container h4 {
    position: absolute;
    inset: min(3.0vw, 2.4rem) auto auto min(3.0vw, 2.4rem);
    color: var(--white-color);
    font-family: "Poppins", sans-serif;
    font-size: min(20.0vw, 7.0rem);
    font-weight: 500;
    z-index: 5;
}

/* タイトル */
.home #strong .container h3 {
    padding: min(8.0vw, 4.0rem) 0;
    color: var(--corporate-color);
    font-size: min(7.0vw, 2.8rem);
    font-weight: 700;
}

/* more */
.home #strong .more span {
    font-size: min(4.6vw, 1.6rem);
}

.home #strong .more span::after {
    position: absolute;
    inset: auto auto -0.2rem 50%;
    transform: translateX(-50%);
    width: 100%;
    height: 0.1rem;
    background-color: var(--text-color);
    content: "";
    transition: 0.3s;
}

@media (min-width: 576px) and (max-width: 767.98px) {

    .home #strong .container .row .row div[class^="col-"] {
        width: min(100%, 36.0rem);
    }

}

@media (min-width: 768px) {

    .home #strong .container {
        padding-bottom: 5.0rem;
    }

    .home #strong .container .row .row div[class^="col-"]:nth-of-type(n+2) {
        margin-top: 0;
    }

    .home #strong .container .row .row div[class^="col-"]:nth-of-type(2) {
        margin: 0 2.0%;
    }

    .home #strong .container .row .row div[class^="col-"] {
        width: 32.0%; /* カードのサイズを３等分（余白除外） */
    }

    .home #strong .container h4 {
        inset: min(2.4vw, 2.4rem) auto auto min(2.4vw, 2.4rem);
        font-size: min(6.0vw, 7.0rem);
    }

    .home #strong .container h3 {
        padding: min(3.0vw, 4.0rem) 0;
        font-size: min(2.0vw, 2.8rem);
    }

    .home #strong .more span {
        height: 2.4rem;
        font-size: min(1.4vw, 1.6rem);
    }

    .home #strong .more img {
        width: 2.4rem;
        margin-left: 1.2rem;
    }

}

@media (min-width: 992px) {

    .home #strong .container {
        padding-bottom: min(16.0vw, 8.0rem);
    }

    .home #strong .container .row .row div[class^="col-"]:nth-of-type(2) {
        margin: 0 5.0%;
    }

    .home #strong .container .row .row div[class^="col-"] {
        width: 30.0%;
    }

    .home #strong .container .row .row div[class^="col-"] a:hover > h4 + div img {
        transform: scale(1.05);
    }

    .home #strong .container .row .row div[class^="col-"] a:hover .more span:after {
        background-color: var(--corporate-color);
    }

    .home #strong .container .row .row div[class^="col-"] a:hover .more img {
        transform: translateX(0.5rem);
    }

}

@media (min-width: 1200px) {

    .home #strong .more a {
        height: 4.0rem;
    }

    .home #strong .more img {
        width: 4.0rem;
    }

}

@media (min-width: 1921px) {

    .home #strong > img {
        width: 100%;
        margin-top: min(-2.0vw, -3.5rem);
        object-fit: cover;
    }

}


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

　News Section

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

.home #news {
    padding-top: min(20.0vw, 10.0rem);
    padding-bottom: min(20.0vw, 10.0rem);
    background-color: var(--contrast-color);
}

.home #news a {
    text-decoration: none;
}

.home #news div[class^="col-"] {
    align-items: flex-start;
}

/* アンカーの設定 */
.home #news li {
    padding-top: min(8.0vw, 4.0rem);
    padding-bottom: min(8.0vw, 4.0rem);
    border-top: 0.1rem solid var(--gray-color-02);
}

/* タイムスタンプ */
.home #news time {
    margin-right: min(6.0vw, 3.0rem);
}

/* カテゴリー */
.home #news time + a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 12.0rem;
    height: 3.0rem;
    border: 0.1rem solid var(--gray-color-02);
    border-radius: 0.4rem;
    background-color: var(--white-color);
}

.home #news time + a[href*="%e6%8e%a1%e7%94%a8%e6%83%85%e5%a0%b1"] {
    border: 0.1rem solid var(--corporate-color);
    color: var(--corporate-color);
}

/* 記事タイトル */
.home #news li h3 {
    margin-top: min(2.0vw, 1.0rem);
    text-align: justify;
    line-height: 150%;
}

/* more */
.home #news .more {
    display: flex;
    justify-content: flex-end;
    margin-top: min(8.0vw, 4.0rem);
}

@media (min-width: 992px) {

    /* マウスオーバー時の処理 */
    .home #news time + a:hover {
        opacity: 0.7;
    }

    .home #news li h3 a {
        position: relative;
    }

    .home #news li h3 a:hover {
        color: var(--text-color);
    }

    .home #news li h3 a::after {
        position: absolute;
        bottom: -0.3rem;
        color: transparent;
        font-family: 'bootstrap-icons';
        font-size: 2.8rem;
        font-weight: bold;
        content: "\f135";
        transition: 0.3s;
    }

    .home #news li h3 a:hover::after {
        transform: translateX(0.5rem);
        color: var(--accent-color);
    }

}


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

　Group Section

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

.home #group {
    padding-top: min(26.0vw, 13.0rem);
    padding-bottom: min(36.0vw, 18.0rem);
    background-color: var(--white-color);
}

.home #group div[class^="col-"] {
    align-items: flex-start;
}

/* リード文 */
.home #group p {
    text-align: justify;
    line-height: 175%;
}

/* リンクバナー */
.home #group .row > div[class^="col-"]:last-of-type {
    margin-top: min(16.0vw, 8.0rem);
}

.home #group a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 32.0rem);
    height: 8.0rem;
    margin: 0 auto;
    border: 0.1rem solid var(--gray-color-05);
}

.home #group .row > div[class^="col-"]:last-of-type div:nth-of-type(n+2) {
    margin-top: -0.1rem;
}

.home #group img {
    width: auto;
    height: 2.04658rem;
}

@media (min-width: 768px) {

    .home #group p {
        margin-top: min(2.0vw, 4.0rem);
    }

    .home #group .row > div[class^="col-"]:last-of-type {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(2, 1fr);
        gap: 0;
        width: 63.9rem;
    }

    .home #group .row > div[class^="col-"]:last-of-type div:nth-of-type(n+2) {
        margin-top: 0;
    }

    .home #group .row > div[class^="col-"]:last-of-type div:nth-of-type(n+3) {
        margin-top: -0.1rem;
    }

    .home #group .row > div[class^="col-"]:last-of-type div:nth-of-type(even) {
        margin-left: -0.1rem;
    }

}

@media (min-width: 992px) {

    /* マウスオーバー時の処理 */
    .home #group a:hover {
        opacity: 0.7;
    }

}

@media (min-width: 1200px) {

    .home #group p {
        margin-top: min(2.0vw, 4.0rem);
    }

    .home #group .row > div[class^="col-"]:last-of-type {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(1, 1fr);
        width: min(100%, 110.0rem);
    }

    .home #group a {
        width: min(100%, 32.0rem);
        height: 8.0rem;
    }

    .home #group .row > div[class^="col-"]:last-of-type div:nth-of-type(n+3) {
        margin-top: 0;
    }

    .home #group .row > div[class^="col-"]:last-of-type div:nth-of-type(n+2) {
        margin-left: -0.1rem;
    }

}

@media (min-width: 1400px) {

    .home #group .row > div[class^="col-"]:last-of-type {
        width: min(100%, 127.7rem);
    }

}

@media (min-width: 1600px) {

    .home #group p {
        padding-left: min(4.0vw, 16.0rem);
    }

}





/* ========================================================
==                                                       ==
==                                                       ==
==  Low page sets                                        ==
==                                                       ==
==                                                       ==
=========================================================== */

/* アイキャッチ */
#eyecatch {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    aspect-ratio: 12 / 3;
    margin-top: 6.0rem;
    overflow: hidden;
}

#eyecatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

#eyecatch::before {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: color-mix(in srgb, var(--black-color), transparent 70%);
    content: "";
    z-index: 1;
}

#eyecatch > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset: 0;
    color: var(--white-color);
    z-index: 5;
}

#eyecatch > div h2 {
    margin-bottom: min(3.0vw, 2.4rem);
    font-size: min(5.0vw, 2.8rem);
    font-weight: 700;
    letter-spacing: 0.3rem;
}

#eyecatch > div h3 {
    font-size: min(4.0vw, 2.0rem);
    font-weight: 500;
}

/* パンくずリスト */
#breadcrumbs {
    background: url("../img/breadcrumbs_bg_left.png") right top / auto min(12.0vw, 6.0rem) no-repeat,
        url("../img/breadcrumbs_bg_right.png") left top / auto min(12.0vw, 6.0rem) no-repeat;
    background-color: var(--green-color);
    color: var(--white-color);
    font-size: 1.4rem;
}

#breadcrumbs .container {
    padding-right: 0;
}

#breadcrumbs .row {
    background: url("../img/breadcrumbs_row_bg.png") left top / auto min(12.0vw, 6.0rem) no-repeat;
}

#breadcrumbs div[class^="col-"] {
    display: flex;
    justify-content: flex-start;
    padding-right: 0;
}

#breadcrumbs a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: min(20.0vw, 10.0rem);
    height: min(12.0vw, 6.0rem);
    margin-right: min(4.0vw, 2.0rem);
    padding-right: min(4.0vw, 2.0rem);
    background: url("../img/breadcrumbs_home_bg.png") right center / cover no-repeat;
    color: var(--white-color);
    text-align: justify;
}

#breadcrumbs span:nth-of-type(n+2) {
    padding-top: calc(min(6.0vw, 3.0rem) - 0.8rem); /* パンくずリストの高さ ÷ 2 - フォントサイズ ÷ 2 */
    padding-bottom: 0.8rem;
}

#breadcrumbs span.post {
    line-height: 150%;
}

/* セクション */
body:not(.home) main section {
    padding-top: min(12.0vw, 6.0rem);
    padding-bottom: min(12.0vw, 6.0rem);
}

/* 見出し */
body:not(.home) .heading {
    margin-bottom: min(10.0vw, 6.0rem);
    text-align: center;
}

body:not(.home) .heading h2 {
    margin: 0 auto;
}

@media (min-width: 576px) {

    #breadcrumbs {
        background-position: right 50% top, left 50% top;
    }

}

@media (min-width: 768px) {

    #eyecatch {
        margin-top: 8.0rem;
    }

}

@media (min-width: 768px) and (max-width: 1399.98px) {

    #breadcrumbs .container,
    #breadcrumbs .row,
    #breadcrumbs div[class^="col-"] {
        padding-left: 0;
        padding-right: 0;
    }

}

@media (min-width: 1200px) {

    #eyecatch {
        margin-top: 10.0rem;
    }

}

@media (min-width: 1400px) {

    #breadcrumbs .container {
        max-width: 120.0rem;
    }

}


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

　会社紹介

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

/*　Greeting
----------------------------------------------------------- */
/* 画像 */
#about #greeting .heading + div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    aspect-ratio: 10 / 4;
    overflow: hidden;
}

#about #greeting .heading + div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

#about #greeting .heading + div div {
    position: absolute;
    inset: min(4.0vw, 23.333%) auto min(4.0vw, 23.333%) min(5.0vw, 7.0%);
    width: 60.0%;
}

/* キャッチ */
#about #greeting .heading + div h3 {
    position: absolute;
    inset: 0 auto auto 0;
    font-size: min(4.0vw, 2.0rem);
    font-weight: 400;
    line-height: 150%;
}

/* 署名 */
#about #greeting .heading + div h4 {
    position: absolute;
    inset: auto 0 0 auto;
    font-family: var(--font-serif);
    font-optical-sizing: auto;
    font-size: min(3.0vw, 2.8rem);
    text-align: right;
}

#about #greeting .heading + div h4 span {
    font-family: var(--font-sans);
    font-optical-sizing: auto;
    font-size: 57.143%;
}

/* 挨拶文 */
#about #greeting p {
    margin-top: min(6.0vw, 6.0rem);
    text-align: justify;
    line-height: 175%;
}

/*　About
----------------------------------------------------------- */
#about #outline dt,
#about #outline dd {
    font-weight: 400;
    line-height: 185%;
}

#about #outline dd {
    font-size: min(4.5vw, 1.6rem);
    text-align: justify;
}

@media (max-width: 767.98px) {

    #about #outline dt,
    #about #outline dd {
        padding: 1.0rem;
    }

    #about #outline dt {
        background-color: color-mix(in srgb, var(--text-color), transparent 90%);
    }

    #about #outline dd:nth-last-of-type(n+2) {
        padding-bottom: 4.0rem;
    }

    #about #outline dd span {
        display: block;
    }

}

@media (min-width: 576px) {

    #about #outline dd span {
        display: inline;
    }

}

@media (min-width: 768px) {

    #about #greeting .heading + div {
        aspect-ratio: 10 / 3;
    }

    #about #greeting .heading + div div {
        inset: min(5.0vw, 23.333%) auto min(5.0vw, 23.333%) min(5.0vw, 7.0%);
    }

    #about #greeting .heading + div h3 {
        font-size: min(3.0vw, 4.0rem);
    }

    #about #outline dl {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    #about #outline dt,
    #about #outline dd {
        padding-top: 1.0rem;
        padding-bottom: 1.0rem;
        border-bottom: 0.1rem solid var(--text-color);
    }

    #about #outline dt {
        width: 25%;
        padding-left: 5.0%;
        background-color: transparent;
    }

    #about #outline dd {
        width: calc(100% - 25.0%);
    }

    #about #outline dd:nth-last-of-type(n+2) {
        padding-bottom: 1.0rem;
    }

}

/*　Access
----------------------------------------------------------- */
#about #access .branch {
    display: flex;
    flex-direction: column;
}

/* マップ */
#about #access .branch > div:first-of-type {
    order: 2;
    position: relative;
    width: 100%;
    height: 0;
    margin-bottom: min(10.0vw, 5.0rem);
    padding-top: 75.0%; /* 4:3=75.0% */
}

#about #access .branch > div:first-of-type iframe {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 100%;
}

/* 画像 */
#about #access .branch > div:last-of-type {
    display: flex;
    flex-direction: column;
    order: 1;
    margin-bottom: min(4.0vw, 2.0rem);
}

#about #access .branch > div:last-of-type div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    order: 2;
    position: relative;
    aspect-ratio: 35 / 26;
    overflow: hidden;
}

#about #access .branch > div:last-of-type img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

/* 所在地 */
#about #access .branch > div:last-of-type p {
    order: 1;
    margin-bottom: min(4.0vw, 2.0rem);
    line-height: 175%;
}

#about #access .branch > div:last-of-type p span {
    display: block;
}

#about #access .branch > div:last-of-type a {
    text-decoration: none;
}

@media (min-width: 576px) {

    #about #access .branch > div:last-of-type p span {
        display: inline;
    }

}

@media (min-width: 768px) {

    #about #access .branch {
        display: grid;
        grid-template-columns: 60.0% 35.0%;
        grid-template-rows: repeat(1, 1fr);
        gap: 5.0%;
    }

    #about #access .branch:nth-of-type(n+2) {
        margin-top: min(18.0vw, 9.0rem);
    }

    #about #access .branch > div:first-of-type {
        order: 1;
        margin-bottom: 0;
    }

    #about #access .branch > div:last-of-type {
        order: 2;
        margin-bottom: min(4.0vw, 2.0rem);
    }

    #about #access .branch > div:last-of-type div {
        order: 1;
        margin-bottom: min(4.0vw, 2.0rem);
    }

    #about #access .branch > div:last-of-type p {
        order: 2;
        margin-bottom: 0;
    }

    #about #access .branch > div:last-of-type p span {
        display: block;
    }

}

/*　Group
----------------------------------------------------------- */
#about #group dt,
#about #group dd {
    font-weight: 400;
    line-height: 185%;
}

#about #group dd {
    font-size: min(4.5vw, 1.6rem);
    text-align: justify;
}

@media (max-width: 991.98px) {

    #about #group dt,
    #about #group dd {
        padding: 1.0rem;
    }

    #about #group dt {
        background-color: color-mix(in srgb, var(--text-color), transparent 90%);
    }

    #about #group dd:nth-last-of-type(n+2) {
        padding-bottom: 4.0rem;
    }

    #about #group dt span,
    #about #group dd span {
        display: block;
    }

}

@media (min-width: 576px) {

    #about #group dt span {
        display: inline;
    }

}

@media (min-width: 768px) {

    #about #group dd span {
        display: inline;
    }

}

@media (min-width: 992px) {

    #about #group dl {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    #about #group dt,
    #about #group dd {
        padding-top: 1.0rem;
        padding-bottom: 1.0rem;
        border-bottom: 0.1rem solid var(--text-color);
    }

    #about #group dt {
        width: 50%;
        padding-left: 5.0%;
        background-color: transparent;
    }

    #about #group dd {
        width: calc(100% - 50.0%);
    }

    #about #group dd:nth-last-of-type(n+2) {
        padding-bottom: 1.0rem;
    }

    #about #group dd span {
        display: block;
    }

}

@media (min-width: 1200px) {

    #about #group dt {
        width: 42%;
    }

    #about #group dd {
        width: calc(100% - 42.0%);
    }

    #about #group dd span {
        display: inline;
    }

}

@media (min-width: 1400px) {

    #about #group dt {
        width: 40%;
    }

    #about #group dd {
        width: calc(100% - 40.0%);
    }

}


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

　バーガーパックの強み

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

#strong main p {
    text-align: justify;
}

/*　Strong point
----------------------------------------------------------- */
#strong .point {
    margin-top: min(20.0vw, 10.0rem);
}

#strong .point > div:nth-of-type(n+2) {
    margin-top: min(20.0vw, 5.0rem);
}

/* 画像 */
#strong .point .container + div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin-top: 2.0rem;
    padding-left: 0;
    padding-right: 0;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

#strong .point img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* タイトル */
#strong .point h2 {
    display: flex;
    align-items: center;
    margin-bottom: min(5.0vw, 5.0rem);
    color: var(--corporate-color);
    font-size: min(6.4vw, 2.8rem);
    font-weight: 700;
}

/* タイトルの数字 */
#strong .point h2 span {
    margin-right: min(5.0vw, 5.0rem);
    font-family: "Poppins", sans-serif;
    font-size: min(15.0vw, 8.0rem);
    font-weight: 500;
}

/*　Environment
----------------------------------------------------------- */
#strong main .content img {
    width: min(100%, 40.0rem);
    margin-bottom: min(8.0vw, 4.0rem);
}

#strong main .content > div {
    margin-top: min(8.0vw, 4.0rem);
}

#strong main .content span {
    display: block;
}

#strong main .content a {
    display: inline-block;
	margin-top: 1.5rem;
}

#strong main .content div div {
    margin-top: min(20.0vw, 10.0rem);
    padding: min(7.0vw, 3.5rem) min(8.0vw, 4.0rem);
    background-color: var(--gray-color-05);
}

#strong main .content p {
	line-height: 175%;
}

#strong main h4 {
    margin-bottom: 1.5rem;
    padding: 0 min(2.0vw, 2.0rem) 1.5rem;
    border-bottom: 0.1rem solid var(--text-color);
    font-size: min(7.0vw, 2.0rem);
    font-weight: 400;
}

#strong main h4 + p {
    padding: 0 min(2.0vw, 2.0rem);
}

@media (max-width: 575.98px) {

    #strong main section:nth-of-type(2) .heading h2 {
        font-size: min(11.0vw, 4.5rem);
    }

}

@media (min-width: 768px) {

    #strong .point .container + div {
        aspect-ratio: 2 / 1;
    }

    #strong .content {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(1, 1fr);
        column-gap: min(5.0vw, 10.0rem);
    }

    #strong main .content > div {
        margin-top: 0;
    }

    #strong main .content div div {
        margin-top: min(10.0vw, 5.0rem);
        padding: 3.0rem;
    }

}

@media (min-width: 992px) {

    #strong .point > div {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(1, 1fr);
        column-gap: min(5.0vw, 10.0rem);
    }

    #strong .point .container,
    #strong .point .container + div {
        display: flex;
        align-items: flex-start;
    }

    /* 奇数行のテキスト領域 */
    #strong .point > div:nth-of-type(odd) .container {
        order: 2;
        justify-content: flex-start; /* 左寄せ */
    }

    /* 偶数行のテキスト領域 */
    #strong .point > div:nth-of-type(even) .container {
        justify-content: flex-end; /* 右寄せ */
    }

    /* テキスト */
    #strong .point .container div[class^="col-"] {
        max-width: 55.0rem; /* テキストの最大幅固定 */
        padding-top: min(2.5vw, 5.0rem);
    }

    /* 画像 */
    #strong .point .container + div {
        margin-top: 0;
        aspect-ratio: 1 / 1;
    }

    /* 画像サイズ固定 */
    #strong .point img {
        max-width: 90.0rem;
        max-height: 90.0rem;
    }

    /* 奇数行の画像領域 */
    #strong .point > div:nth-of-type(odd) .container + div {
        justify-content: flex-start; /* 左寄せ */
        order: 1;
    }

    #strong .point > div:nth-of-type(odd) .container + div img {
        border-radius: 0 min(3.0vw, 5.0rem) min(3.0vw, 5.0rem) 0;
    }

    /* 偶数行の内容表示順変更 */
    #strong .point > div:nth-of-type(even) .container + div {
        justify-content: flex-end; /* 右寄せ */
    }

    #strong .point > div:nth-of-type(even) .container + div img {
        border-radius: min(3.0vw, 5.0rem) 0 0 min(3.0vw, 5.0rem);
    }

	#strong main .content span {
		display: inline;
	}

}

@media (min-width: 1200px) {

    #strong .point h2 span {
        font-size: min(15.0vw, 10.0rem);
    }

    #strong main .content div div {
        margin-top: min(10.0vw, 10.0rem);
        padding: min(7.0vw, 3.5rem) min(8.0vw, 8.0rem);
    }

}

@media (min-width: 1400px) {

    #strong .point > div {
        scroll-padding-top: -28.0rem;
    }

    #strong .point > div:nth-of-type(n+2) {
        margin-top: 0;
    }

}


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

　取扱商品

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

/* 画像 */
#product .heading + div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    aspect-ratio: 10 / 3;
    overflow: hidden;
}

#product .heading + div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

/* キャッチ */
#product .heading + div h3 {
    position: absolute;
    inset: 50% auto auto min(5.0vw, 7.0%);
    transform: translateY(-50%);
    width: 60.0%;
    font-size: min(4.0vw, 4.0rem);
    font-weight: 400;
    line-height: 150%;
}

/* リード文 */
#product main .container > .row > div[class^="col-"] > p {
    margin-top: min(6.0vw, 6.0rem);
    text-align: justify;
    line-height: 175%;
}

/* 製品 */
#product main .row .row {
    margin-top: min(10.0vw, 5.0rem);
}

/* 種別 */
#product main .row .row > h3 {
    padding-bottom: min(2.0vw, 1.0rem);
    color: var(--corporate-color);
    font-size: min(6.0vw, 3.0rem);
    font-weight: 700;
    border-bottom: 0.1rem solid color-mix(in srgb, var(--text-color), transparent 70%);

}

#product main .row .row > h3:nth-of-type(n+2) {
    margin-top: min(20.0vw, 10.0rem);
}

/* 製品画像 */
#product .row .row .row div[class^="col-"] {
    width: min(100%, 36.0rem);
    margin: 0 auto;
}

#product .row .row .row div[class^="col-"]:nth-of-type(n+2) {
    margin-top: min(8.0vw, 4.0rem);
}

#product main .row .row .row img {
    width: 100%;
}

/* スペック */
#product .row .row .row div[class^="col-"] div {
    margin-top: min(6.0vw, 6.0rem);
    padding: 2.4rem min(8.0vw, 5.0rem);
    background-color: var(--contrast-color);
    line-height: 175%;
}

#product .row .row .row div[class^="col-"] div h4 {
    margin-bottom: -2.0rem;
    font-size: min(6.0vw, 2.0rem);
    line-height: 150%;
}

@media (min-width: 768px) {

    #product .row .row .row div[class^="col-"] {
        width: min(50%, 50.0rem);
    }

    #product .row .row .row div[class^="col-"]:nth-of-type(n+2) {
        margin-top: 0;
    }

    #product .row .row .row div[class^="col-"]:nth-of-type(n+3) {
        margin-top: min(8.0vw, 4.0rem);
    }

}


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

　採用情報

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

/*　Introduction
----------------------------------------------------------- */
/* 画像 */
#recruit .heading + div {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    aspect-ratio: 10 / 3;
    overflow: hidden;
}

#recruit .heading + div img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

#recruit .heading + div div {
    display: flex;
    align-items: center;
    position: absolute;
    inset: 0 auto 0 min(5.0vw, 7.0%);
    width: 56.0%;
    height: 100%;
}

/* キャッチ */
#recruit .heading + div h3 {
    color: var(--white-color);
    font-size: min(4.0vw, 2.0rem);
    font-weight: 400;
    line-height: 150%;
}

/* 挨拶文 */
#recruit .heading + div + p {
    margin-top: min(6.0vw, 6.0rem);
    text-align: justify;
    line-height: 175%;
}

/* 見出し */
#recruit .voice h3 {
    margin-top: min(10.0vw, 8.0rem);
    margin-bottom: min(10.0vw, 5.0rem);
    color: var(--corporate-color);
    font-size: min(6.0vw, 2.8rem);
    font-weight: 700;
    line-height: 140%;
}

/* 過ごし方 */
#recruit .spend {
    display: flex;
    flex-direction: column;
    margin-top: min(8.0vw, 4.0rem);
    padding: 2.4rem min(8.0vw, 5.0rem);
    background-color: var(--contrast-color);
}

#recruit .spend h4 {
    margin-bottom: min(2.0vw, 1.0rem);
    font-size: min(6.0vw, 2.0rem);
    line-height: 175%;
}

#recruit .spend p {
    margin-left: 1.0rem;
    text-align: justify;
    line-height: 175%;
}

/* 画像 */
#recruit .photo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    aspect-ratio: 44 / 30;
    margin-top: min(6.0vw, 3.0rem);
    overflow: hidden;
}

#recruit .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}

/* エントリー */
#recruit .entry {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin-top: min(20.0vw, 10.0rem);
    padding: min(6.0vw, 6.0rem) min(5.0vw, 10.0rem) min(4.0vw, 4.0rem);
    border-radius: 1.0rem;
    background-color: var(--corporate-color);
    color: var(--white-color);
}

#recruit .entry h3 {
    margin-bottom: min(6.0vw, 3.0rem);
    font-size: min(6.0vw, 2.8rem);
    font-weight: 700;
}

#recruit .entry p {
    width: min(100%, 80.0rem);
}

#recruit .entry a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 40.0rem);
    height: 6.0rem;
    margin-top: min(6.0vw, 3.0rem);
    border-radius: 3.0rem;
    background-color: var(--white-color);
    color: var(--corporate-color);
    font-size: min(5.0vw, 2.0rem);
    font-weight: 700;
    text-decoration: none;
}

#recruit .entry a img {
    width: min(8.0vw, 4.0rem);
    height: auto;
    margin-left: min(4.0vw, 2.0rem);
    transition: 0.3s;
}

@media (min-width: 768px) {

    #recruit .heading + div h3 {
        font-size: min(3.0vw, 4.0rem);
    }

    #recruit .voice > div {
        display: flex;
        justify-content: space-between;
    }

    #recruit .voice > div > div {
        width: 100%;
    }

    #recruit .voice > div > div:last-of-type {
        margin-left: 12%;
    }

    #recruit .spend {
        padding: 2.4rem min(4.0vw, 2.0rem);
    }

    #recruit .spend h4 {
        font-size: min(2.2vw, 2.0rem);
    }

    #recruit .spend p {
        font-size: min(1.8vw, 1.6rem);
    }

}

@media (min-width: 992px) {

    #recruit .spend {
        padding: 2.4rem min(8.0vw, 5.0rem);
    }

    #recruit .entry a:hover img {
        transform: translateX(0.5rem);
    }

}


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

　お問い合わせ
　formのCSSは /forms/inquiry

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

/* 見出し */
#form main form > h3 {
    color: var(--corporate-color);
    font-size: min(7.0vw, 2.8rem);
}

/* クローズ文 */
#form main p {
    margin-top: min(14.0vw, 7.0rem);
}

/* クローズ文 */
#form main p a {
    text-decoration: none;
}

/* リード文 */
#form main form > p {
    margin-top: min(8.0vw, 4.0rem);
    text-align: justify;
    line-height: 175%;
}

/*　送信完了
/*-------------------------------------------*/
#thanks main a {
    text-decoration: none;
}

#thanks main h2 {
    margin-bottom: min(4.0vw, 2.0rem);
    font-size: min(5.4vw, 2.0rem);
}

#thanks main h2,
#thanks main p,
#thanks main li {
    text-align: justify;
    line-height: 175%;
}

/* 受付番号 */
#thanks main #mfp_thanks {
    margin-bottom: 2.4rem;
    color: var(--black-color);
    font-size: 1.8rem;
    font-weight: 500;
}

#thanks main #mfp_thanks strong {
    color: var(--corporate-color);
    font-size: 2.0rem;
    font-weight: 700;
}

/* メールが届いていない場合 */
#thanks main ul {
    margin: 2.4rem 0 2.4rem 3.2rem;
    color: var(--red-color-02);
    list-style: disc;
}


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

　プライバシーポリシー

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

/* 見出し */
#privacy-policy main h3 {
    margin-bottom: min(10.0vw, 5.0rem);
    color: var(--corporate-color);
    font-size: min(6.0vw, 2.8rem);
    font-weight: 700;
    line-height: 140%;
}

/* リード文 */
#privacy-policy main p {
    text-align: justify;
    line-height: 175%;
}

/* 条項 */
#privacy-policy main dl {
    margin-top: min(10.0vw, 5.0rem);
}

#privacy-policy main dt,
#privacy-policy main dd {
    line-height: 185%;
}

#privacy-policy main dt {
    margin-bottom: 1.0rem;
    padding-bottom: 0.5rem;
    border-bottom: 0.1rem solid var(--corporate-color);
    color: var(--corporate-color);
    font-size: min(6.0vw, 2.2rem);
    font-weight: 700;
}

#privacy-policy main dt:nth-of-type(n+2) {
    margin-top: min(16.0vw, 8.0rem);
}

#privacy-policy main dd {
    margin-top: 2.0rem;
}

#privacy-policy main dd span {
    display: block;
    margin-top: 3.0rem;
    font-size: 1.2rem;
    line-height: 140%;
}

#privacy-policy main a[href*="tel:"] {
    text-decoration: none;
}


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

　ニュース

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

.single-post main h2,
.single-post main h3,
.single-post main h4 {
    font-weight: 700;
    line-height: 175%;
}

.single-post main h2,
.single-post main h3 {
    color: var(--corporate-color);
}

.single-post main h3,
.single-post main h4 {
    margin-top: min(6.0vw, 3.0rem);
	margin-bottom: min(4.0vw, 2.0rem);
}

.single-post main p {
    line-height: 175%;
}

/* 大見出し */
.single-post main h2 {
    font-size: min(7.0vw, 2.8rem)
}

/* 大見出しに続くテキスト */
.single-post main h2 + p {
    margin-top: min(8.0vw, 4.0rem);
}

/* 中見出し */
.single-post main h3 {
    margin-top: min(14.0vw, 7.0rem);
	padding-bottom: 0.5rem;
	border-bottom: 0.1rem solid var(--corporate-color);
    font-size: min(6.4vw, 2.2rem);
}

/* 中見出しに続くテキスト */
.single-post main h3 + p {
    margin-top: min(5.0vw, 2.4rem);
}

/* 小見出し */
.single-post main h4 {
    margin-top: min(12.0vw, 6.0rem);
    font-size: min(6.0vw, 2.0rem);
}

/* 小見出しに続くテキスト */
.single-post main h4 + p {
    margin-top: min(4.0vw, 2.0rem);
}

/* 注記 */
.single-post main h5 {
	color: var(--black-color);
    font-size: min(5.0vw, 1.2rem);
	font-weight: 400;
}

/* リスト */
.single-post main ul,
.single-post main ol,
.single-post main dl {
	margin: min(6.0vw, 3.0rem) 0;
}

.single-post main ul {
	margin-left: 2.4rem;
	list-style: disc;
}

/* 画像 */
.single-post main img.size-full {
	width: 100%;
	height: auto;
}

/* 連続した画像 */
.single-post main img + img {
	margin-top: 1.0rem;
}

/* 画像キャプション */
.single-post main h5 {
    margin-top: 0.5rem;
    font-size: 1.2rem;
    font-weight: 400;
	line-height: 130%;
}

/* 本文が未入力の時に表示 */
.single-post main p.none {
    color: rgba(255, 0, 0, 1.00);
    font-size: 1.8rem;
    font-weight: 500;
}

/*　募集要項
----------------------------------------------------------- */
.single-post .requirements {
    margin: min(20.0vw, 10.0rem) 0 min(10.0vw, 5.0rem);
}

.single-post .requirements h2 {
    margin-bottom: min(10.0vw, 5.0rem);
}

.single-post .requirements dt,
.single-post .requirements dd {
    font-weight: 400;
    line-height: 180%;
}

.single-post .requirements dt {
    padding-bottom: min(4.0vw, 2.0rem);
    border-bottom: 0.1rem solid var(--gray-color-04);
}

.single-post .requirements dd {
    padding: min(2.0vw, 1.0rem) 0 min(8.0vw, 4.0rem);
}

@media (max-width: 767.98px) {

    /* 画像（タブレット以下で画像サイズ＝フルサイズを選択した場合） */
    /* 画像（タブレット以上で画像サイズ＝フルサイズを選択した場合は画像の実サイズで表示） */
    .single-post main img.size-full {
        width: 100%;
        height: auto;
    }

}

@media (min-width: 768px) {

    .single-post .requirements dl {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .single-post .requirements dt,
    .single-post .requirements dd {
        display: flex;
        align-items: flex-start;
        padding: min(4.0vw, 2.0rem) 0;
        border-bottom: 0.1rem solid var(--gray-color-04);
    }

    .single-post .requirements dt {
        width: min(30.0%, 18.0rem);
    }

    .single-post .requirements dd {
        width: calc(100% - min(30.0%, 18.0rem));
        padding-left: min(4.0vw, 4.0rem);
    }

}


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

　アーカイブ

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

.archive #news {
    padding-top: min(20.0vw, 10.0rem);
    padding-bottom: min(20.0vw, 10.0rem);
}

.archive #news a {
    text-decoration: none;
}

.archive #news div[class^="col-"] {
    align-items: flex-start;
}

/* アンカーの設定 */
.archive #news li {
    padding-top: min(8.0vw, 4.0rem);
    padding-bottom: min(8.0vw, 4.0rem);
    border-top: 0.1rem solid var(--gray-color-02);
}

/* タイムスタンプ */
.archive #news time {
    margin-right: min(6.0vw, 3.0rem);
}

/* カテゴリー */
.archive #news time + a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 12.0rem;
    height: 3.0rem;
    border: 0.1rem solid var(--gray-color-02);
    border-radius: 0.4rem;
    background-color: var(--white-color);
}

.archive #news time + a[href*="%e6%8e%a1%e7%94%a8%e6%83%85%e5%a0%b1"] {
    border: 0.1rem solid var(--corporate-color);
    color: var(--corporate-color);
}

/* 記事タイトル */
.archive #news li h3 {
    margin-top: min(2.0vw, 1.0rem);
    text-align: justify;
    line-height: 150%;
}

/* more */
.archive #news .more {
    display: flex;
    justify-content: flex-end;
    margin-top: min(8.0vw, 4.0rem);
}

@media (min-width: 992px) {

    .archive #news .heading h2 {
        margin: 0;
    }

    /* マウスオーバー時の処理 */
    .archive #news time + a:hover {
        opacity: 0.7;
    }

    .archive #news li h3 a {
        position: relative;
    }

    .archive #news li h3 a:hover {
        color: var(--text-color);
    }

    .archive #news li h3 a::after {
        position: absolute;
        bottom: -0.3rem;
        color: transparent;
        font-family: 'bootstrap-icons';
        font-size: 2.8rem;
        font-weight: bold;
        content: "\f135";
        transition: 0.3s;
    }

    .archive #news li h3 a:hover::after {
        transform: translateX(0.5rem);
        color: var(--accent-color);
    }

}

/*　ページャー
----------------------------------------------------------- */
.wp-pagenavi {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: min(10.0vw, 5.0rem);
    font-size: min(5.4vw, 2.0rem);
}

.wp-pagenavi a,
.wp-pagenavi .current {
    display: inline-grid;
    place-content: center;
    width: min(10.0vw, 4.0rem);
    height: min(10.0vw, 4.0rem);
    margin: 0 min(1.4vw, 1.0rem);
    background-color: var(--contrast-color);
    font-weight: 500;
}

.wp-pagenavi a.first,
.wp-pagenavi a.last,
.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
    width: auto;
    background-color: transparent;
}

.wp-pagenavi a::after {
    content: none;
}

.wp-pagenavi a.page,
.wp-pagenavi a[class*="postslink"],
.wp-pagenavi a.first,
.wp-pagenavi a.last {
    color: var(--text-color);
}

.wp-pagenavi .current {
    background-color: var(--corporate-color);
    color: var(--white-color);
}

@media (min-width: 992px) {

    /* マウスオーバー時の処理 */
    .wp-pagenavi a:hover {
        background-color: var(--gray-color-05);
    }

    .wp-pagenavi a.first:hover,
    .wp-pagenavi a.last:hover,
    .wp-pagenavi a.previouspostslink:hover,
    .wp-pagenavi a.nextpostslink:hover {
        background-color: transparent;
        color: var(--accent-color);
    }

}

@media (min-width: 1200px) {

    .wp-pagenavi {
        margin-top: min(10.0vw, 10.0rem);
    }

    .wp-pagenavi a,
    .wp-pagenavi .current {
        width: min(10.0vw, 5.4rem);
        height: min(10.0vw, 5.4rem);
        margin: 0 min(1.4vw, 1.4rem);
    }

}



/* ---- End of file --------------------------------------- */