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


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

　Hero Section

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

#hero {
    position: relative;
    width: 100vw;
    height: 100.0vh;
    overflow: hidden;
}

/* 画像 */
#hero picture {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
}

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

/* キャッチコピー */
#hero .catch {
    display: flex;
    position: absolute;
    top: min(25.0vw, 12.0rem);
    width: 100vw;
}

#hero .container {
    padding: 0 5.0vw;
}

#hero h1 {
    width: 100%;
    color: rgba(60, 60, 60, 1.00);
    font-family: var(--kaku-font);
    font-size: 3.5rem;
    line-height: 5.0rem;
    letter-spacing: 8.0%;
}

#hero h1 span {
    color: var(--corp-color);
}

@media (min-width: 768px) {

    #hero {
        height: 50.0vh;
    }

    /* キャッチコピー */
    #hero .catch {
        top: calc(50.0% - 0.26041vw);
        transform: translateY(-50%);
    }

    #hero h1 {
        font-size: 4.5rem;
        line-height: 6.62142rem;
    }

}

@media (min-width: 992px) {

    #hero {
        height: 70.0vh;
    }

}

@media (min-width: 1200px) {

    #hero {
        height: 100.0vh;
    }

    /* キャッチコピー */
    #hero h1 {
        font-size: 7.0rem;
        line-height: 10.3rem;
    }

}

@media (min-width: 1700px) {

    /* キャッチコピー */
    #hero h1 {
        left: 15.62499vw;
    }

}


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

　Products Section

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

section#products {
    padding: min(25.64102vw, 10.0rem) 0 min(26.15384vw, 10.2rem); /* 下余白は、次のセクションのネガティブマージンを考慮して調整 */
    font-family: var(--kaku-font);
    text-align: center;
}

section#products .lead {
    margin: min(11.79487vw, 4.6rem) auto min(8.97435vw, 3.5rem);
}

/* リード文 */
section#products .lead > div:first-of-type {
    width: 82.0%;
    margin: 0 auto;
}

section#products .lead > div:first-of-type p {
    color: rgba(119, 119, 119, 1.00);
    font-size: 1.6rem;
    font-weight: 500; /* .leadなので指定 */
    line-height: 3.0rem;
}

section#products .lead > div:first-of-type br {
    display: none; /* 改行をオフ */
}

/* tab set */
section#products .product {
    width: 87.6923%;
    margin: 0 auto;
}

/* tab */
section#products .nav-tabs {
    border: none;
}

section#products .nav-link {
    padding: 1.5rem 0;
    border: none;
    border-bottom: 0.254rem solid rgba(194, 194, 194, 1.00);
    border-radius: 0;
    background-color: transparent;
    color: rgba(136, 136, 136, 1.00);
    font-weight: 700;
    letter-spacing: 3.0%;
    transition: 0.3s;
}

section#products .nav-link.active {
    border-color: var(--corp-color);
    color: var(--corp-color);
    pointer-events: none;
}

/* tab contents */
section#products .tab-content {
    margin-top: min(9.23076vw, 3.6rem);
}

section#products .tab-pane.fade {
    transition: opacity 0.3s; /* fede速度変更 */
}

section#products .tab-pane > div > div:nth-of-type(n+2) {
    margin-top: 4.0rem;
}

/* サムネイル */
section#products figure {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68.20512vw;
    height: auto;
    margin: 0 auto;
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

section#products img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

/* 製品名 */
section#products .tab-content h3 {
    margin-top: 1.3rem;
    color: var(--text-color);
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
}

/* more */
section#products .more-btn {
    margin: 4.6rem auto 8.0rem;
}

section#products .tab-content .more-btn {
    margin-bottom: 0;
}

@media (min-width: 390px) {

    /* リード文 */
    section#products .lead > div:first-of-type {
        width: 79.48717%;
    }

}

@media (min-width: 576px) {

    section#products {
        padding-bottom: min(48.71794vw, 19.0rem); /* 下余白は、次のセクションのネガティブマージンを考慮して調整 */
    }

    /* 横並びレイアウト */
    section#products .tab-pane > div:first-of-type {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(1, 1fr);
        gap: 15px;
    }

    section#products .tab-pane > div > div:nth-of-type(n+2) {
        margin-top: 0;
    }

    /* サムネイル */
    section#products figure {
        width: 100%;
        margin: 0;
    }

}

@media (min-width: 768px) {

    /* リード文 */
    section#products .lead > div:first-of-type {
        width: 70.0rem;
    }

    section#products .lead > div:first-of-type br {
        display: inline; /* 改行をオン */
    }

    section#products .nav-link {
        padding: 2.0rem 0;
        border-width: 0.4rem;
        font-size: 2.2rem;
    }

    section#products .tab-content {
        margin-top: min(3.81944vw, 5.5rem);
    }

    /* 製品名 */
    section#products .tab-content h3 {
        margin-top: 1.5rem;
        font-size: 1.8rem;
    }

    /* more */
    section#products .more-btn {
        margin: 7.0rem auto 10.0rem;
    }

}

@media (min-width: 992px) {

    section#products .lead {
        margin: min(5.83333vw, 8.4rem) auto min(6.25vw, 9.0rem);
    }

    /* リード文 */
    section#products .lead > div:first-of-type {
        width: 76.0rem;
    }

    section#products .lead > div:first-of-type p {
        font-size: 1.8rem;
        font-weight: 700;
        line-height: 4.2rem;
    }

    section#products .nav-link:hover {
        color: var(--text-color);
        border-color: var(--text-color);
    }

    section#products a:hover img {
        transform: scale(1.05);
    }

}

@media (min-width: 1200px) {

    section#products {
        padding: min(8.68055vw, 12.5rem) 0 min(15.27777vw, 22.0rem); /* 下余白は、次のセクションのネガティブマージンを考慮して調整 */
    }

    /* tab */
    section#products .product {
        max-width: 105.0rem;
    }

}

@media (min-width: 1900px) {

    section#products {
        padding-bottom: min(17.36111vw, 25.0rem); /* 下余白は、次のセクションのネガティブマージンを考慮して調整 */
    }

}


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

　Strength Section

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

section#strengths {
    margin-top: -6.0rem;
    padding: min(14.10256vw, 5.5rem) 0 min(25.64102vw, 10.0rem);
    clip-path: ellipse(180% 50% at 50% 50%);
}

/* card領域 */
section#strengths .cards {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: min(17.17948vw, 6.7rem) min(6.15384vw, 2.4rem) 0;
}

section#strengths .cards > div:nth-of-type(n+2) {
    margin-top: min(12.82051vw, 5.0rem);
}

/* card */
section#strengths .card {
    position: relative;
    width: min(100%, 34.3rem);
    margin: 0 auto;
    padding: 4.6rem 2.4rem 3.4rem;
    border: none;
    border-radius: 0.6rem;
    background-color: var(--white-color);
    box-shadow: 0.4rem 0.4rem 2.1rem 0.2rem rgba(0, 0, 0, 0.25);
}

/* 番号 */
section#strengths aside {
    display: inline-block;
    position: absolute;
    inset: 0 auto auto 0;
    transform: translateY(-50%);
    color: var(--corp-color);
    font-family: var(--heading-font);
    font-optical-sizing: auto;
    font-size: 8.0rem;
    font-weight: 700;
    letter-spacing: 1.0%;
}

/* image */
section#strengths figure {
    text-align: center;
}

section#strengths img {
    width: min(100%, 18.0rem);
    height: auto;
    margin: 1.0rem auto;
}

/* 見出し（キャプションで設定） */
section#strengths figcaption {
    color: var(--corp-color);
    font-family: var(--kaku-font);
    font-size: 2.5rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 1.0%;
}

section#strengths figcaption h3 {
    margin-top: 2.0rem;
    color: var(--red-color);
    font-size: 140%;
    font-weight: 700;
}

/* lead */
section#strengths summary {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    user-select: none;
    list-style: none;
    cursor: pointer;
}

/* caret */
section#strengths summary::after {
    position: relative;
    inset: 0.1rem auto auto 0.5rem;
    font-family: 'bootstrap-icons';
    content: "\f282";
    transition: 0.3s;
}

section#strengths details[open] summary::after {
    transform: rotate(180deg);
}

section#strengths details > div {
    margin-top: 2.0rem;
    animation: slideDown 0.5s forwards;
}

section#strengths .card p {
    text-align: justify;
    line-height: 3.0rem;
}

/* more */
section#strengths .more-btn {
    margin-top: 4.6rem;
}

section#strengths .more-btn a {
    width: 28.0rem;
}

@media (min-width: 576px) {

    section#strengths {
        margin-top: -10.0rem;
        padding-top: 9.5rem;
        clip-path: ellipse(140% 50% at 50% 50%);
    }

}

@media (min-width: 768px) {

    section#strengths {
        margin-top: -9.0rem;
        padding-top: 8.25rem;
        clip-path: ellipse(100% 50% at 50% 50%);
    }

    /* card領域 */
    section#strengths .cards {
        display: flex;
        flex-direction: inherit;
        justify-content: space-between;
        margin: min(3.472222vw, 5.0rem) min(20.83333vw, 3.0rem) 0;
    }

    /* card */
    section#strengths .cards > div:nth-of-type(n+2) {
        margin-top: 0;
    }

    section#strengths .cards > div:nth-of-type(2) {
        transform: translateY(min(6.25vw, 9.0rem)); /* 下にずらす */
    }

    section#strengths .cards > div:nth-of-type(3) {
        transform: translateY(min(12.5vw, 18.0rem)); /* 下にずらす */
    }

    section#strengths .cards > div:nth-of-type(2) {
        margin-left: min(3.81944vw, 5.5rem); /* 中央のカードの左余白 */
        margin-right: min(3.81944vw, 5.5rem); /* 中央のカードの右余白 */
    }

    section#strengths .card {
        width: min(33.33333vw, 36.7rem);
        padding: 4.0rem 0 2.4rem;
    }

    /* 番号 */
    section#strengths aside {
        font-size: 6.0rem;
    }

    /* 見出し（キャプションで設定） */
    section#strengths figure {
        padding: 0 1.8rem;
    }

    section#strengths figcaption {
        font-size: min(1.95vw, 3.0rem);
    }

    section#strengths figcaption h3 {
        margin-top: 1.0rem;
        font-size: 133.33333%;
    }

    /* lead */
    section#strengths summary {
        display: none;
    }

    section#strengths details > div {
        margin-top: 0;
        padding: 0 2.4rem;
    }

    section#strengths .card p {
        font-size: 1.4rem;
        line-height: 2.4rem;
        letter-spacing: -0.035rem;
    }

    /* more */
    section#strengths .more-btn {
        margin-top: 14.0rem;
    }

}

@media (min-width: 992px) {

    section#strengths {
        margin-top: -8.25rem;
        padding-top: 7.5rem;
    }

    /* more */
    section#strengths .more-btn {
        margin-top: 16.0rem;
    }

}

@media (min-width: 1200px) {

    section#strengths {
        margin-top: -12.75rem;
        padding-top: 11.5rem;
        clip-path: ellipse(90% 50% at 50% 50%);
    }

    /* card領域 */
    section#strengths .card {
        padding: 5.5rem 0 4.1rem;
    }

    /* 番号 */
    section#strengths aside {
        font-size: 8.0rem;
    }

    /* 見出し（キャプションで設定） */
    section#strengths figure {
        padding: 0 1.5rem;
    }

    /* lead */
    section#strengths details > div {
        padding: 0 2.7rem;
    }

    section#strengths .card p {
        font-size: 1.6rem;
        line-height: 3.0rem;
    }

    /* more */
    section#strengths .more-btn {
        margin-top: 20.0rem;
    }

    section#strengths .more-btn a {
        width: min(27.5vw, 36.0rem);
    }

}

@media (min-width: 1400px) {

    section#strengths {
        margin-top: -13.0rem;
        padding-top: 12.0rem;
    }

    /* card領域 */
    section#strengths .cards {
        max-width: 121.0rem;
        margin: min(6.94444vw, 10.0rem) auto 0;
    }

    /* more */
    section#strengths .more-btn {
        margin-top: 24.0rem;
    }

}

@media (min-width: 1900px) {

    section#strengths {
        margin-top: -15.5rem;
        padding-top: 15.0rem;
        clip-path: ellipse(85% 50% at 50% 50%);
    }

}


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

　Company Section

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

section#company {
    margin-top: -4.0rem;
    padding: min(25.5641vw, 10.0rem) 0 min(24.35897vw, 9.5rem);
}

section#company .heading + div {
    margin-top: min(10.25641vw, 4.0rem);
    text-align: center;
}

/* logo */
section#company img {
    width: min(100%, 13.7rem);
    height: auto;
    margin: 0 auto;
}

/* menu */
section#company ul {
    margin-top: min(17.17948vw, 6.7rem);
    list-style: none;
}

section#company li:nth-of-type(n+2) {
    margin-top: 2.0rem;
}

section#company li a {
    position: relative;
    color: var(--corp-color);
    font-size: 1.8rem;
    font-weight: 700;
}

section#company li a:hover {
	text-decoration: underline;
}

/* more */
section#company .more-btn {
    margin-top: 4.6rem;
}

@media (min-width: 576px) {

    section#company {
        margin-top: -6.0rem;
        padding-top: 12.0rem;
    }

}

@media (min-width: 768px) {

    section#company {
        margin-top: -9.0rem;
        padding-top: 15.0rem;
    }

    /* 横並びレイアウト */
    section#company .heading + div {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(1, 1fr);
        margin: min(8.33333vw, 12.0rem) auto 0;
        text-align: left;
    }

    section#company .heading + div > div {
        display: flex;
        align-items: center;
        padding: 0.4rem 0 1.5rem;
    }

    section#company .heading + div > div:first-of-type {
        justify-content: flex-end;
        padding-right: min(12.5vw, 18.0rem);
        border-right: 0.2rem solid rgba(204, 204, 204, 1.00);
    }

    section#company .heading + div > div:last-of-type {
        justify-content: flex-start;
        padding-left: min(8.75vw, 12.6rem);
    }

    /* logo */
    section#company img {
        width: min(14.65277vw, 21.1rem);
        margin: 0;
    }

    /* menu */
    section#company ul {
        margin-top: 0;
    }

    section#company li:nth-of-type(n+2) {
        margin-top: min(2.5vw, 3.6rem);
    }

    section#company li a {
        font-size: min(2.0vw, 2.5rem);
    }

    section#company li a:hover {
		text-decoration: none;
    }

    section#company li a::after {
        visibility: hidden;
        display: inline-block;
        position: absolute;
        inset: 50% -2.5rem auto auto;
        transform: translateY(-50%);
        width: 3.8rem;
        height: 0.921rem;
        background: url("../img/arrow_company_min.png") left center / 100% auto no-repeat;
        content: '';
        opacity: 0;
        transition: 0.5s;
    }

    section#company li a:hover::after {
        visibility: visible;
        right: -6.0rem;
        opacity: 1;
    }

    /* more */
    section#company .more-btn {
        margin-top: min(7.98611vw, 11.5rem);
    }

}

@media (min-width: 992px) {

    section#company {
        margin-top: -6.0rem;
        padding-top: 13.0rem;
    }

}

@media (min-width: 1200px) {

    section#company {
        margin-top: -9.0rem;
        padding: min(12.5vw, 18.0rem) 0 min(9.72222vw, 14.0rem);
    }

    section#company .heading + div {
        margin-top: min(8.33333vw, 12.0rem);
    }

    /*section#company li a::after {
        right: -9.0rem;
        width: 13.4rem;
        height: 1.621rem;
        background-image: url("../img/arrow_company.png")
    }*/

    section#company li a::after {
        transition: 1.0s;
    }

    section#company li a:hover::after {
        right: -7.0rem
    }

}

@media (min-width: 1400px) {

    section#company {
        margin-top: -10.0rem;
        padding-top: 20.0rem;
    }

}

@media (min-width: 1900px) {

    section#company {
        margin-top: -15.0rem;
        padding-top: 24.0rem;
    }

}


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

　News Section

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

section#news {
    padding: min(24.35897vw, 9.5rem) 0 min(28.20512vw, 11.0rem);
}

/* swiper */
section#news .swiper-wrapper {
    /* slideのshadowを見せるため、wrapperに上下余白 */
    padding-top: min(11.79487vw, 4.6rem);
    padding-bottom: 8.0rem;
	text-align: center;
}

section#news .swiper-slide {
    width: min(57.20512vw, 22.7rem);
    height: min(100vw, 32.0rem);
	margin: 0 1.7rem;
    box-shadow: 0 0.26rem 1.038rem 0 rgba(0, 0, 0, 0.25);
}

/* サムネイル */
section#news figure {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    margin: 0;
    aspect-ratio: 227 / 142;
    overflow: hidden;
}

/* カテゴリー */
section#news figcaption {
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset: 0 auto auto 0;
    width: 6.6rem;
    height: 1.8rem;
    background-color: var(--corp-color);
    color: var(--white-color);
    font-size: 1.0rem;
    font-weight: 700;
}

section#news img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s;
}

/* 見出し */
section#news .swiper h3 {
    margin: 1.5rem 2.4rem 0.5rem;
    color: var(--corp-color);
    font-family: var(--kaku-font);
    font-size: 1.6rem;
    font-weight: 700;
	text-align: justify;
    line-height: 2.4rem;
}

/* 抜粋 */
section#news .swiper p{
    margin: 0 2.4rem;
    color: var(--text-color);
    font-size: 1.4rem;
    text-align: justify;
    line-height: 2.0rem;
}

/* more */
section#news .more-btn a {
    width: 30.0rem;
}

/* 投稿無し */
.nopost {
	display: block;
	width: 100%;
	color: var(--red-color);
	text-align: center;
}

@media (min-width: 576px) {

    section#news .swiper-slide {
        width: 26.0rem;
        height: 34.0rem;
    }

}

@media (min-width: 768px) {
	
	section#news .swiper {
        margin: 0 3.0vw;
		overflow: visible;
	}

    /* swiper */
    section#news .swiper-wrapper {
		width: min(100%, 120.0rem);
		height: 100%;
		margin: 0 auto;
        padding-top: min(5.55555vw, 8.0rem);
        padding-bottom: 8.4rem;
		text-align: center;
    }

    section#news .swiper-slide {
        width: 30.0% !important; /* サイズ強制変更 */
        height: min(43.0vw, 34.0rem);
		margin: 0 auto;
		background-color: var(--white-color);
        box-shadow: 0 0.4rem 1.6rem 0 rgba(0, 0, 0, 0.25);
    }

    section#news .swiper-slide:nth-of-type(n+2) {
		margin-left: 5.0%;
    }

    section#news .swiper-slide:nth-of-type(n+4) {
		display: none;
    }

    /* 抜粋 */
    section#news .swiper p {
        line-height: 2.2rem;
    }

}

@media (min-width: 992px) {

    section#news .swiper-slide {
        height: min(33.0vw, 37.0rem);
    }

    section#news a:hover img {
        transform: scale(1.05);
    }

}

@media (min-width: 1200px) {

    section#news {
        padding: min(9.72222vw, 14.0rem) 0 min(8.75vw, 12.6rem);
    }

    /* swiper */
    section#news .swiper-slide {
		width: calc((120.0rem - 6.0vw) / 3);
		max-width: 35.0rem;
        height: min(35.0vw, 43.0rem);
    }

    /* カテゴリー */
    section#news figcaption {
        width: 8.7rem;
        height: 2.9rem;
        font-size: 1.4rem;
    }

    /* 見出し */
    section#news .swiper h3 {
        margin: 1.6rem 2.4rem 2.0rem;
        font-size: 2.4rem;
        line-height: 3.0rem;
    }

    /* 抜粋 */
    section#news .swiper p {
        font-size: 1.6rem;
        line-height: 3.0rem;
    }

    section#news .more-btn a {
        width: min(27.77777vw, 40.0rem);
    }

}

@media (min-width: 1250px) {

    /* swiper */
    section#news .swiper {
		margin: 0;
    }
	
	section#news .swiper-slide:nth-of-type(n+2) {
		margin-left: 7.5rem;
    }

}

@media (min-width: 1400px) {

    section#news {
        padding: min(9.72222vw, 14.0rem) 0 min(8.75vw, 12.6rem);
    }

    /* カテゴリー */
    section#news figcaption {
        width: 8.7rem;
        height: 2.9rem;
        font-size: 1.4rem;
    }

}




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

body:not(.home) main {
    /*margin: min(30.76923vw, 12.0rem) auto min(17.94871vw, 8.0rem);*/
    margin: min(30.76923vw, 12.0rem) auto 0;
}

body:not(.home) section .container {
    max-width: min(100%, 144.0rem);
    padding-left: 3.5vw;
    padding-right: 3.5vw;
}

/*　スクロールメニュー
----------------------------------------------------------- */
.scroll-menu {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: min(10.25641vw, 4.0rem) 0 min(5.1282vw, 2.0rem);
}

.scroll-menu ul {
    display: flex;
    justify-content: center;
    width: min(100%, 105.0rem);
    list-style: none;
}

.scroll-menu li {
    border-right: 0.1rem solid var(--gray-color1);
}

.scroll-menu li:last-of-type {
    border-right: none;
}

.scroll-menu a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: min(7.6923vw, 3.0rem);
    color: rgba(85, 85, 85, 1.00);
    font-display: var(--kaku-font);
    font-weight: 700;
    transition: 0.3s;
}

.scroll-menu a::after {
    display: inline-block;
    position: absolute;
    inset: auto auto -0.7rem 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 0.7rem 0.5rem 0 0.5rem;
    border-color: var(--gray-color2) transparent transparent transparent;
    content: '';
    transition: 0.3s;
}

@media (min-width: 768px) {

    .scroll-menu a::after {
        bottom: -1.0rem;
        border-width: 1.0rem 0.7rem 0 0.7rem;
    }

}

@media (min-width: 992px) {

    body:not(.home) main {
        /*margin: min(11.52777vw, 16.6rem) auto min(18.61111vw, 13.0rem);*/
        margin: min(11.52777vw, 16.6rem) auto 0;
    }

    /*　スクロールメニュー
	----------------------------------------------------------- */
    .scroll-menu {
        margin: min(5.55555vw, 8.0rem) 0 min(6.94444vw, 10.0rem);
    }

    .scroll-menu a {
        height: min(4.86111vw, 7.0rem);
        font-size: 2.0rem;
        letter-spacing: 5.0%;
    }

    .scroll-menu a:hover {
        color: var(--black-color);
    }

    .scroll-menu a:hover::after {
        bottom: -1.5rem;
    }

}

/*　投稿日＆カテゴリー
----------------------------------------------------------- */
aside.meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 27.0rem;
    margin-bottom: 1.0rem;
    font-weight: 700;
}

aside.meta time {
    letter-spacing: 2.0%;
}

aside.meta a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 9.0rem;
    height: 3.0rem;
    margin-left: 4.5rem;
    border: 0.2rem solid;
    border-radius: 0.4rem;
    font-family: var(--kaku-font);
    font-size: 1.4rem;
    transition: 0.3s;
}

aside.meta a.notice {
    border-color: rgba(20, 167, 130, 1.00);
    color: rgba(20, 167, 130, 1.00);
}

aside.meta a.new-products {
    border-color: rgba(228, 164, 27, 1.00);
    color: rgba(228, 164, 27, 1.00);
}

aside.meta a.case-studies {
    border-color: rgba(215, 115, 115, 1.00);
    color: rgba(215, 115, 115, 1.00);
}

aside.meta a.recruitment-information {
    border-color: rgba(93, 143, 206, 1.00);
    color: rgba(93, 143, 206, 1.00);
}

@media (min-width: 768px) {

    /*　投稿日＆カテゴリー
	----------------------------------------------------------- */
    aside.meta {
        margin-bottom: 0;
    }

}

@media (min-width: 992px) {

    /*　投稿日＆カテゴリー
	----------------------------------------------------------- */
    aside.meta a.notice:hover {
        background-color: rgba(20, 167, 130, 0.10);
    }

    aside.meta a.new-products:hover {
        background-color: rgba(228, 164, 27, 0.10);
    }

    aside.meta a.case-studies:hover {
        background-color: rgba(215, 115, 115, 0.10);
    }

    aside.meta a.recruitment-information:hover {
        background-color: rgba(93, 143, 206, 0.10);
    }

}

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

　.archive & .category／お知らせ

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

.archive main {
    width: 100%;
}

#archive .container {
    margin: 5.0rem auto;
    width: min(100vw, 101.0rem);
}

/* リスト */
#archive ul {
    list-style: none;
}

#archive li {
    position: relative;
    width: 100%;
    padding: 2.0rem 4.0rem 2.0rem 0;
    border-bottom: 0.1rem solid rgba(129, 129, 129, 1.00);
}

#archive li::after {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    inset: 50% 0 auto auto;
    transform: translateY(-50%);
    width: 4.0rem;
    height: 100%;
    color: var(--corp-color);
    font-family: 'bootstrap-icons';
    font-size: 2.0rem;
    font-weight: 700;
    content: "\f285";
    transition: 0.3s;
}

/* 記事タイトル */
#archive li h3 {
    color: var(--gray-color1);
    font-weight: 700;
    line-height: 2.4rem;
}

@media (min-width: 768px) {

    /* リスト */
    #archive li {
        display: grid;
        grid-template-columns: 27.0rem auto;
        grid-template-rows: repeat(1, 1fr);
        gap: 4.0rem;
        align-items: center;
        padding: 3.0rem 0;
    }

    /* カテゴリ&投稿日 */
    aside.meta {
        margin-bottom: 0;
    }

}

@media (min-width: 992px) {

    /* 記事タイトル */
    #archive li {
        padding-right: 7.0rem;
    }

    #archive li::after {
        width: 7.0rem;
    }

    #archive li:hover::after {
        margin-right: -1.0rem;
    }

}

@media (min-width: 1200px) {

    #archive .container {
        margin: min(8.33333vw, 12.0rem) auto;
        padding: 0;
    }

    #archive .wp-pagenavi {
        margin-top: 10.0rem;
    }

}


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

　.single／投稿詳細ページ

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

.single main {
    width: 100%;
}

/* 投稿日・カテゴリ */
#single aside {
    flex-direction: column;
    align-items: flex-end;
    width: 100%;
    margin: 2.5rem 0;
}

#single aside time {
    margin-bottom: 1.0rem;
    letter-spacing: 23.0%;
}

/* 本文領域 */
#single .container {
    width: min(100%, 97.4rem);
    padding-bottom: 7.5rem;
}

/* 記事タイトル */
#single h1 {
    margin-bottom: 3.0rem;
    color: var(--gray-color1);
    font-family: var(--kaku-font);
    font-weight: 700;
    font-size: 2.4rem;
    text-align: justify;
    line-height: 3.4rem;
}

/* アイキャッチ */
#single figure img {
    width: 100%;
    height: auto;
}

/* 本文 */
#single .text {
    margin-top: 4.0rem;
}

#single .text p,
#single .text li {
    text-align: justify;
    line-height: 3.0rem;
    letter-spacing: 23%;
}

/* more */
#single .more-btn {
    margin-top: 5.0rem;
}

#single .more-btn ul {
    list-style: none;
}

#single .more-btn li:nth-of-type(n+2) {
    margin-top: 2.0rem;
}

#single .more-btn a {
    border-radius: 0.6rem;
}

#single .more-btn li:first-of-type a {
    border: 0.3rem solid var(--corp-color);
    background-color: var(--white-color);
    color: var(--corp-color);
}

#single .more-btn li:first-of-type a::after {
    background: url("../img/arrow_r_b.png") center center / contain no-repeat;
}

/* 戻る */
#single .toback {
    margin-top: 5.0rem;
    text-align: center;
}

#single .toback a {
    color: var(--text-color);
    font-family: var(--kaku-font);
    font-size: 2.0rem;
    font-weight: 700;
    letter-spacing: 7.0%;
}

#single .toback i {
    position: relative;
    inset: -0.1rem auto auto 1.5rem;
    transition: 0.3s;
}

@media (min-width: 576px) {

    /* more */
    #single .more-btn ul {
        display: flex;
        justify-content: center;
    }

    #single .more-btn li:nth-of-type(n+2) {
        margin-top: 0;
        margin-left: 3.0rem;
    }

}

@media (min-width: 768px) {

    /* more */
    #single .more-btn li:nth-of-type(n+2) {
        margin-left: min(9.02777vw, 13.0rem);
    }

}

@media (min-width: 992px) {

    #single .toback a:hover i {
        left: 2.5rem;
    }

    #single .more-btn li:first-of-type a:hover {
        background-color: var(--blue-color);
    }

    #single .more-btn li:last-of-type a:hover {
        background-color: var(--contrast-color);
    }

}

@media (min-width: 1000px) {

    .single #breadcrumbs,
    #single .container {
        padding: 0;
    }

}

@media (min-width: 1200px) {

    /* 本文領域 */
    #single .container {
        padding-bottom: min(10.41666vw, 15.0rem);
    }

    /* 本文領域 */
    #single h1 {
        margin-bottom: 6.5rem;
        font-size: 3.2rem;
        line-height: 4.5rem;
    }

    /* 本文 */
    #single .text {
        margin-top: 6.0rem;
    }

    #single .text p,
    #single .text li {
        line-height: 4.0rem;
    }

    /* more */
    #single .more-btn {
        margin-top: min(9.7222vw, 14.0rem);
    }

    /* 戻る */
    #single .toback {
        margin-top: min(11.11111vw, 16.0rem);
    }

}



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