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


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

　Top page Sections

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

/*　#hero
----------------------------------------------------------- */
.home #hero {
    position: relative;
    /*height: calc(100vh - 7.0rem - 6.0rem + 14.0rem); /* ヘッダーの高さとフィクスボタンの高さをマイナス、ショップボタンの高さをプラス */
    height: 100vh;
}

.home .carousel-inner {
    overflow: visible;
}

/* 画像 */
.home #hero picture {
    display: flex;
    align-items: center;
    justify-content: center;
    height: calc(100vh - 7.0rem - 6.0rem); /* ヘッダーの高さとフィクスボタンの高さをマイナス */
    overflow: hidden;
}

.home #hero picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
    animation: zoomin 10.0s ease-out 0s normal forwards;
}

/* テキスト領域 */
.home #hero .carousel-caption {
    display: flex;
    flex-direction: column;
    position: absolute;
    inset: auto auto -13.0rem 0;
    width: 100%;
    height: 13.0rem;
    padding: 0;
}

.home #hero .carousel-caption h3,
.home #hero .carousel-caption a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8.0rem;
    padding: 2.0rem 0;
    font-weight: 600;
}

.home #hero .carousel-caption h3 {
    width: 100%;
    height: 8.0rem;
    color: var(--text-color-01);
    font-family: "Shippori Mincho", serif;
    font-size: min(5.0vw, 2.1rem);
    font-weight: 700;
    line-height: 150%;
    letter-spacing: min(1.65vw, 0.693rem); /* font-size x 33% */
}

/* アンカー設定 */
.home #hero .carousel-caption > div {
    width: 100%;
}

.home #hero .carousel-caption a {
    width: min(100%, 35.0rem);
    height: 5.0rem;
    margin: 0 auto;
    background-color: rgba(39, 39, 39, 0.70);
    color: var(--white-color);
    font-size: min(5.0vw, 1.7rem);
    letter-spacing: min(1.65vw, 0.425rem); /* font-size x 25% */
}

/* arrow */
.home #hero .carousel-caption a img[src*="ep_right"] {
    margin-left: min(1.0vw, 2.0rem);
}

/* 前面レイヤー */
.home #mask {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    position: absolute;
    inset: 0 0 auto auto;
    width: auto;
    height: 100%;
    z-index: 2;
}

/* テキスト領域 */
.home #mask > div {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    position: absolute;
    width: min(38.0vw, 16.0rem);
    padding: 2.0rem 0 8.0rem;
    margin: min(3.0vw, 2.0rem) min(3.0vw, 2.0rem) 0 0;
    background-color: rgba(71, 114, 167, 0.90);
}

/* キャッチコピー */
.home #mask h2 {
    color: var(--white-color);
    font-family: "Shippori Mincho", serif;
    font-size: min(4.5vw, 2.0rem);
    font-weight: 700;
    text-align: left; /* インデントをとる場合はコメントアウト */
    letter-spacing: 0.5rem; /* ***** */
    writing-mode: vertical-rl;
}

.home #mask h2 span {
    margin-top: 2.4rem;
}

/* ロゴ */
.home #mask > div img {
    width: auto;
    height: min(46.0vh, 28.0rem);
    margin: 1.0rem 1.0rem 0 0;
}

/* スマホ時の非表示パーツ */
.home #hero .carousel-indicators,
.home #mask > img {
    display: none;
}

@media (min-width: 768px) {

    .home #hero,
    .home #hero picture {
        height: 55.0vh;
    }

    .home .carousel-inner {
        overflow: hidden;
    }

    .home #hero .carousel-caption {
        inset: auto auto min(3.0vw, 8.0rem) min(3.5vw, 9.0rem);
        width: auto;
        height: auto;
    }

    .home #hero .carousel-caption h3 {
        height: auto;
        color: var(--white-color);
        font-size: min(2.9vw, 3.2rem);
        text-align: left;
        letter-spacing: min(0.957vw, 1.056rem); /* font-size x 33% */
    }

    .home #hero .carousel-caption div {
        width: auto;
        margin-top: min(4.0vw, 4.5rem);
    }

    .home #hero .carousel-caption a {
        width: min(45.0vw, 48.0rem);
        height: min(6.0vw, 7.2rem);
        margin: auto;
        padding: 0 min(2.0vw, 8.0rem);
        font-size: min(2.5vw, 2.6rem);
        letter-spacing: min(0.625vw, 0.65rem); /* font-size x 25% */
    }

    /* arrow */
    .home #hero .carousel-caption a img[src*="ep_right"] {
        width: min(2.4vw, 2.0rem);
    }

    /* インジケーター部 */
    .home #hero .carousel-indicators {
        display: inline-flex;
        justify-content: flex-end;
        position: absolute;
        inset: auto min(2.0vw, 3.0rem) min(1.0vw, 2.0rem) auto;
        margin: 0;
        z-index: 3;
    }

    .home #hero .carousel-indicators [data-bs-target] {
        opacity: 1;
        transition: 0.3s;
    }

    .home #hero .carousel-indicators [data-bs-target]:hover {
        background-color: var(--sub-color-02);
    }

    .home #hero .carousel-indicators [aria-current="true"] {
        background-color: var(--sub-color-01);
    }

    /* 前面レイヤー */
    .home #mask {
        align-items: center;
        justify-content: center;
    }

    .home #mask > img {
        display: block;
        width: auto;
        height: 100%;
    }

    .home #mask > div {
        transform: translate(4.0vw, -12.0%);
        width: inherit;
        padding: 0;
        margin: 0;
        background-color: transparent;
        text-align: right;
    }

    .home #mask h2 {
        font-size: min(4.5vw, 2.6rem);
        letter-spacing: -0.1vw; /* ***** */
    }

    .home #mask h2 span {
        display: block;
        margin: 0 2.0rem 0 0;
    }

    .home #mask > div img {
        height: min(40.0vw, 42.0rem);
        margin: 0.65rem 3.4rem 0 0;
    }

}

@media (min-width: 768.1px) {

    .home #hero,
    .home #hero picture {
        height: 70.0vh;
    }

}

/* 各種タブレット対応 */
@media (min-device-width: 600px) and (max-device-width: 1366px) and (orientation: portrait) {

    .home #mask h2 {
        letter-spacing: 0.5rem; /* ***** */
    }

}

@media (min-device-width: 768px) and (max-device-width: 1366px) and (orientation: landscape) {

    .home #mask > div {
        transform: translate(2.0rem, 0);
    }

    .home #mask h2 {
        letter-spacing: 0.5rem; /* ***** */
    }

}

@media (min-width: 992px) {

    /* アンカーのマウスオーバー時の処理 */
    .home #hero .carousel-caption a:hover {
        background-color: rgba(23, 56, 96, 0.70);
    }

}

@media (min-width: 1200px) {

    .home #hero,
    .home #hero picture {
        height: calc(100vh - 7.6rem); /* ヘッダーの高さをマイナス */
    }

}


/*　#introduction
----------------------------------------------------------- */
.home #introduction {
    position: relative;
}

/* スマホ時は装飾画像非表示 */
.home #introduction > img {
    display: none;
}

/* 上下余白 */
.home #introduction .container {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
}

/* テキスト領域 */
.home #introduction h2,
.home #introduction p,
.home #introduction .more {
    width: min(100%, 32.0rem);
    margin: 0 auto;
}

/* キャッチコピー */
.home #introduction h2 {
    font-family: "Shippori Mincho", serif;
    font-size: min(7.0vw, 2.2rem);
    font-weight: 800;
    line-height: 200%;
    letter-spacing: min(0.98vw, 0.308rem); /* font-size x 14% */
}

.home #introduction .container > div:nth-of-type(2) {
    margin-top: min(15.0vw, 7.0rem);
}

/* リード文 */
.home #introduction p {
    font-size: min(4.5vw, 1.6rem);
    font-weight: 700;
    text-align: justify;
    line-height: 240%;
    letter-spacing: min(0.45vw, 0.16rem); /* font-size x 10% *デザインどおりでは実現せず */
}

.home #introduction p:nth-of-type(n+2) {
    margin-top: 3.0rem;
}

/* イメージ画像非表示 */
.home #introduction .container > div:last-of-type {
    display: none;
}

/* more */
.home #introduction .more {
    margin: min(10.0vw, 5.0rem) auto 0;
}

.home #introduction .more a {
    display: inline-flex;
    align-items: center;
    text-transform: uppercase;
    padding-bottom: 1.4rem;
    border-bottom: 0.1rem solid var(--text-color-01);
    color: var(--text-color-01);
    font-weight: 700;
    letter-spacing: 0.272rem; /* font-size x 17% */
}

@media (min-width: 768px) {

    /* 装飾画像表示 */
    .home #introduction > img {
        display: block;
        position: absolute;
        inset: 7.0rem auto auto -8.5vw;
        width: 44.5vw;
        z-index: 1;
    }

    .home #introduction .container {
        display: flex;
        padding-top: 8.25rem;
        padding-botton: 9.0rem;
    }

    /* キャッチコピー領域 */
    .home #introduction .container > div:nth-of-type(1) {
        order: 2;
        display: flex;
        justify-content: center;
        width: 25.0%;
    }

    .home #introduction h2 {
        width: auto;
        margin: 0;
        font-size: min(4.0vw, 3.8rem);
        letter-spacing: -0.55vw; /* ***** */
        writing-mode: vertical-rl;
    }

    .home #introduction h2 span {
        display: inline-block;
        text-indent: calc(min(4.0vw, 3.4rem) + 0.8rem); /* フォントサイズ + 文字間 */
    }

    /* リード文領域 */
    .home #introduction .container > div:nth-of-type(2) {
        order: 1;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        width: 50.0%;
        padding: min(5.0vw, 4.0rem) 0 0 0;
    }

    .home #introduction p {
        margin: 0;
        font-size: min(1.8vw, 1.6rem);
    }

    .home #introduction .more {
        margin-top: min(10.0vw, 5.0rem) 0 0;
    }

    /* イメージ画像領域 */
    .home #introduction .container > div:nth-of-type(3) {
        display: flex; /* イメージ画像表示 */
        justify-content: flex-end;
        order: 3;
        width: 25.0%;
    }

    .home #introduction .container > div:nth-of-type(3) div {
        display: flex;
        align-items: center;
        justify-content: center;
        width: min(100%, 28.5rem);
        height: min(100%, 63.5rem);
    }

    .home #introduction .container > div:nth-of-type(3) img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        margin: 0.3rem 0 auto auto;
    }

}

/* 各種タブレット対応 */
@media (min-device-width: 600px) and (max-device-width: 1366px) and (orientation: portrait) {

    .home #introduction h2 {
        letter-spacing: 0.5rem; /* ***** */
    }

}

@media (min-device-width: 600px) and (max-device-width: 1366px) and (orientation: landscape) {

    .home #introduction h2 {
        letter-spacing: 0.5rem; /* ***** */
    }

}

@media (min-width: 992px) {

    .home #introduction p,
    .home #introduction .more {
        width: 37.0rem;
    }

    .home #introduction .container > div:nth-of-type(2) {
        padding-right: min(4.0vw, 3.0rem);
    }

    .home #introduction .more {
        margin: min(10.0vw, 6.0rem) 0 0;
    }

}


/*　#recommend
----------------------------------------------------------- */
.home #recommend {
    position: relative;
    padding-top: 3.0rem;
    padding-bottom: 7.5rem;
}

.home #recommend .container {
    text-align: center;
}

/* 装飾画像表示 */
.home #recommend > img {
    display: block;
    position: absolute;
    inset: 60.0% -3.0vw auto auto;
    width: 36.0vw;
    z-index: -1;
}

/* テキスト領域 */
.home #recommend .contents h2,
.home #recommend .contents p,
.home #recommend .contents > div > img,
.home #recommend .more {
    width: min(100%, 32.0rem);
    margin: 0 auto;
    text-align: left;
}

/* 商品写真 */
.home #recommend .contents > div > img {
    height: auto;
}

/* 商品名 */
.home #recommend .contents h2 {
    margin: min(6.0vw, 3.0rem) auto min(9.0vw, 4.5rem);
    font-family: "Shippori Mincho", serif;
    font-size: min(7.0vw, 2.2rem);
    font-weight: 800;
    line-height: 200%;
    letter-spacing: min(0.98vw, 0.308rem); /* font-size x 14% */
}

/* リード文 */
.home #recommend .contents p {
    font-size: min(4.5vw, 1.6rem);
    font-weight: 700;
    text-align: justify;
    line-height: 240%;
    letter-spacing: min(0.45vw, 0.16rem); /* font-size x 10% *デザインどおりでは実現せず */
}

/* サムネイル */
.home #recommend .thumbnails {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 1.2rem;
    width: calc(min(100%, 32.0rem));
    margin-top: min(10.0vw, 7.0rem);
    padding: 0;
}

.home #recommend .thumbnails img {
    width: min(100%, 35.0rem);
}

/* more */
.home #recommend .more {
    margin: min(10.0vw, 5.0rem) auto 0;
}

.home #recommend .more a {
    display: inline-flex;
    align-items: center;
    padding-bottom: 1.4rem;
    border-bottom: 0.1rem solid var(--text-color-01);
    color: var(--text-color-01);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.272rem; /* font-size x 17% */
}

@media (min-width: 768px) {

    .home #recommend {
        padding-top: 5.0rem;
        padding-bottom: 10.0rem;
    }

    .home #recommend .container {
        display: flex;
        text-align: left;
    }

    .home #recommend > img {
        inset: 55.0% -2.0vw auto auto;
        transform: translateY(-100%);
        width: 20.0vw;
    }

    /* 商品写真 */
    .home #recommend .contents > div:nth-of-type(1) {
        width: 50%;
        padding-left: min(3.0vw, 3.0rem);
    }

    .home #recommend .contents > div > img {
        width: min(90.0%, 50.3rem);
    }

    /* 商品名 */
    .home #recommend .contents > div:nth-of-type(2) {
        display: flex;
        justify-content: center;
        width: 12.0%;
    }

    .home #recommend .contents h2 {
        width: auto;
        margin: 0;
        margin: min(4.0vw, 2.0rem) auto 0;
        font-size: min(4.0vw, 3.8rem);
        letter-spacing: -0.55vw; /* ***** */
        writing-mode: vertical-rl;
    }

    /* リード文 */
    .home #recommend .contents > div:nth-of-type(3) {
        width: 38.0%;
    }

    .home #recommend .contents p {
        margin-top: min(6.0vw, 6.0rem);
        font-size: min(1.8vw, 1.6rem);
    }

    .home #recommend .contents p:nth-of-type(n+2) {
        margin-top: 3.0rem;
    }

    .home #recommend .thumbnails {
        gap: 4.2rem;
        width: min(100%, 120.0rem);
        padding: 0 min(3.8vw, 3.8rem);
    }

    .home #recommend .more {
        width: 100%;
        margin: min(7.0vw, 13.0rem) auto 0;
        text-align: center;
    }

    .home #recommend .more a {
        padding: 0 min(2.4vw, 2.4rem) 3.0rem;
        font-family: "Shippori Mincho", serif;
        font-size: min(3.2vw, 3.2rem);
        letter-spacing: min(1.056vw, 1.056rem); /* font-size x 33% */
    }

    .home #recommend .more img[src*="ep_right"] {
        top: 0.15rem;
        width: min(2.8vw, 2.4rem);
        margin-left: 1.0rem;
    }

}

/* 各種タブレット対応 */
@media (min-device-width: 600px) and (max-device-width: 1366px) and (orientation: portrait) {

    .home #recommend .contents h2 {
        letter-spacing: 0.5rem; /* ***** */
    }

}

@media (min-device-width: 600px) and (max-device-width: 1366px) and (orientation: landscape) {

    .home #recommend .contents h2 {
        letter-spacing: 0.5rem; /* ***** */
    }

}

@media (min-width: 992px) {

    .home #recommend .contents p {
        width: min(100%, 37.0rem);
    }

    .home #recommend .contents > div:nth-of-type(2) {
        width: 15.0%;
    }

    .home #recommend .contents > div:nth-of-type(3) {
        width: 35.0%;
    }

}

@media (min-width: 1200px) {

    .home #recommend > img {
        top: 50.0%;
    }

}

@media (min-width: 1900px) {

    .home #recommend > img {
        top: 60.0%;
    }

}


/*　#news
----------------------------------------------------------- */
.home #news {
    padding-bottom: min(14.0vw, 7.0rem);
    background-color: rgba(246, 246, 248, 1.00);
}

.home #news ul {
    width: min(100%, 100rem);
    margin: 0 auto;
}

/* アンカー設定 */
.home #news a {
    color: var(--text-color-01);
}

.home #news li a {
    display: block;
    padding: min(10.0vw, 5.0rem) 0 min(5.0vw, 2.5rem);
    border-bottom: 0.1rem solid rgba(172, 172, 172, 1.00);
    text-align: justify;
}

.home #news li:first-of-type a {
    padding-top: 0;
}

/* 投稿日 */
.home #news time {
    display: block;
    margin-bottom: 1.0rem;
    font-weight: 600;
    line-height: 140%;
    letter-spacing: 0.272rem; /* font-size x 17% */
}

/* NEW */
.home #news time span {
    margin-left: 2.0rem;
    color: var(--main-color-01);
    font-weight: 700;
    text-transform: uppercase;
}

/* 記事タイトル */
.home #news li h3 {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0.368rem; /* font-size x 23% */
    transition: 0.3s
}

/* more */
.home #news .more {
    width: min(100%, 100.0rem);
    margin: min(10.0vw, 5.0rem) auto 0;
    text-align: right;
}

.home #news .more a {
    display: inline-flex;
    align-items: center;
    text-transform: uppercase;
    padding-bottom: 1.4rem;
    border-bottom: 0.1rem solid var(--text-color-01);
    font-weight: 700;
    letter-spacing: 0.272rem; /* font-size x 17% */
}

@media (min-width: 768px) {

    .home #news li a {
        display: grid;
        grid-template-columns: min(30.0vw, 30.0rem) auto;
        grid-template-rows: repeat(1, 1fr);
    }

    .home #news time {
        display: inline;
        margin-bottom: 0;
    }

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

    .home #news li a:hover h3 {
        transform: translateX(1.0rem);
    }

}


/*　#about
----------------------------------------------------------- */
/* パララックス領域 */
.home #about .jarallax {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    padding: min(20.0vw, 10.0rem) 0;
}

/* 全面のレイヤー */
.home #about .jarallax::after {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(39, 39, 39, 0.50);
    content: "";
    z-index: -1;
}

/* テキスト領域 */
.home #about .container {
    color: var(--white-color);
    text-align: center;
}

.home #about .container h3 {
    font-family: "Shippori Mincho", serif;
    font-size: min(8.0vw, 3.9rem);
    font-weight: 700;
    line-height: 150%;
    letter-spacing: min(1.84vw, 0.897rem); /* font-size x 23% */
}

.home #about .container p {
    display: none; /* スマホ時は非表示 */
}

/* more */
.home #about .more a {
    display: grid;
    place-content: center;
    width: min(100vw, 25.0rem);
    height: 5.4rem;
    margin: min(20.0vw, 6.0rem) auto 0;
    border: 0.3rem solid var(--white-color);
    color: var(--white-color);
    font-family: "Shippori Mincho", serif;
    font-size: 2.4rem;
    letter-spacing: 0.552rem; /* font-size x 23% */
}

@media (min-width: 768px) {

    .home #about .jarallax {
        height: min(60.0vw, 60.0rem);
        padding: 0;
    }

    .home #about .container p {
        display: block; /* タブレット以上で表示 */
        margin-top: min(5.0vw, 4.0rem);
        font-weight: 300;
        line-height: 240%;
        letter-spacing: min(0.25vw, 0.5rem); /* デザインどおりでは実現せず */
    }

    .home #about .more a {
        width: min(100vw, 34.0rem);
        height: 7.2rem;
    }

}

@media (min-width: 992px) {

    /* アンカーのマウスオーバー時の処理 */
    .home #about .more a:hover {
        background-color: rgba(255, 255, 255, 0.25);
    }

}


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

　わたしたちについて　#about / 商品について　#product　共通

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

/* ヘッダー（パララックス）領域 */
.heading.jarallax {
    width: 100%;
    height: 75.0vw;
    padding: 0;
    aspect-ratio: 4 / 3; /* アスペクト比（デザインによる） */
}

/* ヘッダータイトル */
.heading.jarallax h2 {
    position: absolute;
    bottom: 10.0%;
    margin-left: -1.7vw;
    background: none;
    background-clip: inherit;
    color: rgba(218, 218, 218, 0.60);
    font-size: min(15.0vw, 15.0rem);
    letter-spacing: min(1.5vw, 1.5rem); /* font-size x 10% */
}

.heading.jarallax h3 {
    inset: 0 9.7vw 0 auto;
    padding: 5.0% 0;
    color: var(--white-color);
    font-family: "Shippori Mincho", serif;
    font-size: min(6.0vw, 3.4rem);
    text-align: center;
    writing-mode: vertical-rl;
}

@media (min-width: 768px) {

    .heading.jarallax {
        height: 50.0vw;
        aspect-ratio: 2 / 1; /* アスペクト比（デザインによる） */
    }

    .heading.jarallax h3 {
        font-size: min(3.5vw, 3.0rem);
        letter-spacing: -1.0rem; /* ***** */
    }

}

/* 各種タブレット対応 */
@media (min-device-width: 600px) and (max-device-width: 1366px) and (orientation: portrait) {

    .heading.jarallax h3 {
        letter-spacing: 0.2rem; /* ***** */
    }

}

@media (min-device-width: 600px) and (max-device-width: 1366px) and (orientation: landscape) {

    .heading.jarallax h3 {
        letter-spacing: 0.2rem; /* ***** */
    }

}

@media (min-width: 1200px) {

    .heading.jarallax {
        height: 44.79166vw;
        aspect-ratio: 1440 / 645; /* アスペクト比（デザインによる） */
    }

    .heading.jarallax h2 {
        margin-left: -1.5vw;
    }

    .heading.jarallax h3 {
        font-size: min(3.5vw, 3.8rem);
    }

}

@media (min-width: 1400px) {

    .heading.jarallax h2 {
        margin-left: -1.3vw;
    }

}

@media (min-width: 1900px) {

    .heading.jarallax h2 {
        margin-left: -0.8vw;
    }

}


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

　わたしたちについて / 会社概要　#about

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

body#about article .row img {
    width: 100%;
    height: auto;
}

/*　わたしたちについて
----------------------------------------------------------- */
body#about article:first-of-type {
    padding-top: min(10.0vw, 9.0rem);
    padding-bottom: min(15.0vw, 12.0rem);
    color: var(--white-color);
}

body#about article:first-of-type::before {
    position: absolute;
    inset: 0;
    background-color: rgba(82, 82, 82, 0.70);
    content: "";
    z-index: -1
}

/* 画像領域 */
body#about article:first-of-type .row div:first-of-type {
    padding-left: 0;
    padding-right: 0;
}

/* テキスト領域 */
body#about article:first-of-type .row div:last-of-type {
    padding-top: min(10.0vw, 5.0rem);
    padding-bottom: min(10.0vw, 5.0rem);
}

/* タイトル */
body#about article:first-of-type h2 {
    margin-bottom: min(12.0vw, 13.0rem);
    font-family: "Shippori Mincho", serif;
    font-size: min(6.0vw, 3.4rem);
    font-weight: 700;
    text-align: center;
    line-height: 200%;
    letter-spacing: min(0.78vw, 0.442rem); /* font-size x 13% *デザインどおりでは実現せず */
}

/* サブタイトル・テキスト */
body#about article:first-of-type h3,
body#about article:first-of-type p {
    width: min(100%, 50.0rem);
    margin: 0 auto;
    padding-left: 2.0vw;
    padding-right: 2.0vw;
}

body#about article:first-of-type h3 {
    margin-bottom: min(8.0vw, 5.0rem);
    font-family: "Shippori Mincho", serif;
    font-size: min(5.4vw, 2.4rem);
    font-weight: 600;
    line-height: 150%;
    letter-spacing: min(0.81vw, 0.52rem); /* font-size x 15% *デザインどおりでは実現せず */
}

body#about article:first-of-type h3 span {
    display: block;
}

body#about article:first-of-type p {
    font-size: min(4.5vw, 1.6rem);
    text-align: justify;
    line-height: min(8.0vw, 240%);
    letter-spacing: min(0.945vw, 0.336rem); /* font-size x 21% *デザインどおりでは実現せず */
}

/* more */
body#about article:first-of-type .more {
    width: 100%;
    margin: min(10.0vw, 14.0rem) auto;
    text-align: center;
}

body#about article:first-of-type .more a {
    padding: 0 min(2.4vw, 2.4rem) 1.4rem;
    border-bottom: 0.1rem solid var(--white-color);
    color: var(--white-color);
    font-family: "Shippori Mincho", serif;
    font-size: min(6.0vw, 3.2rem);
    font-weight: 700;
}

body#about article:first-of-type .more img[src*="ep_right"] {
    top: -0.2rem;
    margin-left: 1.0rem;
    width: min(5.0vw, 2.4rem);
}

@media (min-width: 576px) {

    body#about article:first-of-type h3 span {
        display: inline;
    }

}

@media (min-width: 768px) {

    body#about article:first-of-type h2 {
        font-size: min(4.0vw, 3.8rem);
    }

    body#about article:first-of-type h3,
    body#about article:first-of-type p {
        padding-left: 0;
        padding-right: 0;
    }

    body#about article:first-of-type p {
        line-height: 240%;
    }

    body#about article:first-of-type .more {
        margin: min(7.0vw, 13.0rem) auto 0;
    }

    body#about article:first-of-type .more a {
        padding: 0 min(2.4vw, 2.4rem) 3.0rem;
        font-size: min(3.2vw, 3.2rem);
        letter-spacing: min(1.056vw, 1.056rem); /* font-size x 33% */
    }

}

@media (min-width: 992px) {

    body#about article:first-of-type .row div:last-of-type {
        padding: 0 min(5.0vw, 10.0rem);
    }

    body#about article:first-of-type .row:nth-of-type(n+2) {
        margin-top: min(10.0vw, 20.0rem);
    }

    body#about article:first-of-type .row:nth-of-type(even) div:first-of-type {
        order: 2;
    }

    body#about article:first-of-type .row:nth-of-type(even) div:last-of-type {
        order: 1;
    }

    body#about article:first-of-type h3 span {
        display: block;
    }

}

@media (min-width: 1200px) {

    body#about article:first-of-type .more {
        margin: 14.0rem auto 5.0rem;
    }

}

@media (min-width: 1400px) {

    body#about article:first-of-type h3 span {
        display: inline;
    }

}

@media (min-width: 1500px) {

    body#about article:first-of-type .row div {
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    body#about article:first-of-type .row:nth-of-type(even) div:last-of-type {
        align-items: flex-end;
    }

    body#about article:first-of-type h3,
    body#about article:first-of-type p {
        margin: 0;
    }

    body#about article:first-of-type h3 {
        margin-bottom: min(8.0vw, 5.0rem);
    }

}

/*　会社概要
----------------------------------------------------------- */
body#about article:last-of-type {
    padding-top: min(6.0vw, 2.0rem);
    padding-bottom: min(20.0vw, 12.0rem);
    background-color: rgba(246, 246, 248, 1.00);
}

body#about article:last-of-type .heading h2 {
    margin-left: -2.8vw;
}

body#about article:last-of-type dl {
    width: min(100%, 99.0rem);
    margin: min(8.0vw, 6.0rem) auto 0;
    padding-left: 2.0vw;
    padding-right: 2.0vw;
}

body#about article:last-of-type dt,
body#about article:last-of-type dd {
    padding: min(3.0vw, 1.0rem);
}

body#about article:last-of-type dt {
    font-weight: 600;
    line-height: 150%;
    letter-spacing: 0.368rem; /* font-size x 23% */
}

body#about article:last-of-type dt:nth-of-type(n+2) {
    margin-top: 3.0rem;
}

body#about article:last-of-type dd {
    border-bottom: 0.1rem solid rgba(172, 172, 172, 1.00);
    line-height: 150%;
    letter-spacing: 0.368rem; /* font-size x 23% */
}

body#about article:last-of-type ul {
    margin-left: 2.4rem;
    list-style: disc;
}

body#about article:last-of-type li {
    line-height: 150%;
}

body#about article:last-of-type li:nth-of-type(n+2) {
    margin-top: 1.0rem;
}

@media (min-width: 768px) {

    body#about article:last-of-type .heading h2 {
        margin-left: -2.4vw;
    }

    /* 横並びに */
    body#about article:last-of-type dl {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    body#about article:last-of-type dt,
    body#about article:last-of-type dd {
        padding: min(4.0vw, 5.0rem) 1.0rem min(3.0vw, 3.0rem);
    }

    body#about article:last-of-type dt {
        width: 25%;
        border-bottom: 0.1rem solid rgba(172, 172, 172, 1.00);
    }

    body#about article:last-of-type dt:nth-of-type(n+2) {
        margin-top: 0;
    }

    body#about article:last-of-type dd {
        width: calc(100% - 25.0%);
    }

}

@media (min-width: 992px) {

    body#about article:last-of-type {
        padding-bottom: min(20.0vw, 20.0rem);
    }

    body#about article:last-of-type .heading h2 {
        margin-left: -2.0vw;
    }

}

@media (min-width: 1200px) {

    body#about article:last-of-type .heading h2 {
        margin-left: -1.6vw;
    }

}

@media (min-width: 1400px) {

    body#about article:last-of-type .heading h2 {
        margin-left: -1.4vw;
    }

}

@media (min-width: 1900px) {

    body#about article:last-of-type .heading h2 {
        margin-left: -1.0vw;
    }

}


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

　商品について　#product

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

body#product main section::before {
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.70);
    content: "";
    z-index: -1
}

body#product article {
    padding: min(15.0vw, 10.0rem) 2.0vw;
}

/* セクションタイトル */
body#product article .product-heading h2 {
    display: inline-block;
    position: relative;
    margin-bottom: min(20.0vw, 13.0rem);
    font-family: "Shippori Mincho";
    font-size: min(8.0vw, 3.8rem);
    font-weight: 700;
    letter-spacing: min(1.84vw, 0.782rem); /* font-size x 23% */
}

body#product article .product-heading h2::before {
    position: absolute;
    inset: 0 auto auto 0;
    width: min(100.0vw, 50.0rem);
    height: auto;
    background-image: url("../img/product_decoration1.png");
    background-position: left top;
    background-size: cover;
    background-repeat: no-repeat;
    aspect-ratio: 5 / 1;
    transform: rotate(-1.8deg) translateX(-25%);
    content: "";
    z-index: -1;
}

/* more product */
body#product .more.product {
    width: min(100%, 41.3rem);
    margin: min(8.0vw, 4.0rem) auto 0;
    text-align: left;
}

body#product .more.product a {
    padding-bottom: min(3.0vw, 2.4rem);
    border-bottom: 0.2rem solid var(--text-color-01);
    color: var(--text-color-01);
    font-family: "Shippori Mincho", serif;
    font-size: min(6.0vw, 2.4rem);
    font-weight: 700;
    letter-spacing: min(0.42vw, 0.168rem); /* font-size x 7% */
}

body#product .more.product img[src*="ep_right"] {
    top: -0.2rem;
    width: min(5.0vw, 2.4rem);
}

/* more shop */
body#product .more.shop {
    width: 100%;
    margin: min(20.0vw, 10.0rem) 0 0;
}

body#product .more.shop a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: min(100%, 41.3rem);
    height: min(30.0vw, 9.0rem);
    margin: 0 auto;
    background-color: var(--sub-color-01);
    color: var(--white-color);
    font-family: "Shippori Mincho", serif;
    font-size: min(7.0vw, 2.4rem);
    font-weight: 700;
    letter-spacing: min(0.49vw, 0.168rem); /* font-size x 7% */
}

body#product .more.shop img[src*="ep_right"] {
    width: min(7.0vw, 2.4rem);
}

@media (min-width: 576px) {

    body#product article .product-heading h2::before {
        top: -2.0vw;
    }

}

@media (min-width: 768px) {

    body#product article {
        padding: 10.0rem 0;
    }

    body#product article .product-heading h2::before {
        top: -3.5rem;
        width: min(100.0vw, 70.0rem);
        transform: rotate(-1.0deg) translateX(-35%);
    }

}

@media (min-width: 992px) {

    body#product .more.product {
        position: absolute;
        bottom: 3.4rem;
    }

    body#product .more.shop a {
        width: min(100%, 50.0rem);
    }

}

body#product article:nth-of-type(1) .row > div > img,
body#product article:nth-of-type(2) .row > div > img {
    width: 100%;
    height: auto;
}

/*　商品について
----------------------------------------------------------- */
body#product article:nth-of-type(1) {
    padding-left: 0;
    padding-right: 0;
}

body#product article:nth-of-type(1) .container-fluid {
	position: relative;
    padding-left: 0;
    padding-right: 0;
}

/* 装飾画像 */
body#product article:nth-of-type(1) .container-fluid > img {
	position: absolute;
	inset: auto 0 10.0vw auto;
	width: min(30.0vw, 62.2rem);
}

/* セクションタイトルの舌余白調整 */
body#product article:nth-of-type(1) .product-heading h2 {
    margin-bottom: min(7.0vw, 5.0rem);
}

/* リード文 */
body#product article:nth-of-type(1) .product-heading h3 {
    margin-left: min(4.0vw, 2.0rem);
    font-family: "Shippori Mincho";
    font-size: min(5.4vw, 2.4rem);
    font-weight: 700;
    text-align: justify;
    line-height: min(7.0vw, 140%);
    letter-spacing: min(1.242vw, 0.522rem); /* font-size x 23% */
}

body#product article:nth-of-type(1) .row {
    margin-top: min(17.0vw, 17.0rem);
}

/* 画像 */
body#product article:nth-of-type(1) .row > div[class^="col-"]:first-of-type {
    position: relative;
}

body#product article:nth-of-type(1) .row > div > img:nth-of-type(1) {
    width: min(100%, 80.0rem);
}

body#product article:nth-of-type(1) .row > div > img.badge-img {
    position: absolute;
    width: min(25.0vw, 18.0rem);
    transform: translateY(10.0%);
}

body#product article:nth-of-type(1) .row:nth-of-type(odd) > div > img.badge-img {
    inset: 0 5.0% auto auto;
}

body#product article:nth-of-type(1) .row:nth-of-type(even) > div > img.badge-img {
    inset: 0 auto auto 5.0%;
}

body#product article:nth-of-type(1) .row h3,
body#product article:nth-of-type(1) .row p {
    padding-left: 4.0vw;
    padding-right: 4.0vw;
}

/* タイトル */
body#product article:nth-of-type(1) .row h3 {
    margin: min(10.0vw, 3.0rem) auto min(7.0vw, 2.0rem);
    font-family: "Shippori Mincho";
    font-size: min(6.5vw, 3.0rem);
    font-weight: 700;
    letter-spacing: min(1.495vw, 0.69rem); /* font-size x 30% */
}

body#product article:nth-of-type(1) .row h3 span {
	display: none;
}

/* テキスト*/
body#product article:nth-of-type(1) .row p {
    font-family: "Shippori Mincho";
    font-size: min(5.0vw, 1.6rem);
    font-weight: 700;
    line-height: min(8.0vw, 240%);
    letter-spacing: min(1.15vw, 0.368rem); /* font-size x 23% */
}

/* more */
body#product article:nth-of-type(1) .more.product {
    position: static;
    width: 100%;
    margin-top: min(20.0vw, 13.0rem);
    text-align: center;
}

body#product article:nth-of-type(1) .more.product a {
    font-size: min(7.0vw, 3.2rem);
    letter-spacing: min(0.56vw, 0.224rem); /* font-size x 7% */
}

body#product article:nth-of-type(1) .more.product img[src*="ep_right"] {
    top: -0.2rem;
    width: min(5.0vw, 2.4rem);
}

/* 各種タブレット対応 */
@media (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {

    body#product article:nth-of-type(1) .product-heading h3 {
        line-height: 140%;
    }

    body#product article:nth-of-type(1) .row h3 {
        letter-spacing: 1.0rem;
    }

    body#product article:nth-of-type(1) .row p {
        letter-spacing: 0.5rem;
    }

}

@media (min-device-width: 768px) and (max-device-width: 1366px) and (orientation: landscape) {

    body#product article:nth-of-type(1) .product-heading h3 {
        line-height: 140%;
    }

    body#product article:nth-of-type(1) .row h3 {
        letter-spacing: 1.0rem;
    }

    body#product article:nth-of-type(1) .row p {
        letter-spacing: 0.5rem;
    }

}

@media (min-width: 768px) {

    body#product article:nth-of-type(1) .row:nth-of-type(1) {
        margin-top: min(20.0vw, 9.0rem);
    }

    body#product article:nth-of-type(1) .row:nth-of-type(n+2) {
        margin-top: min(15.0vw, 12.0rem);
    }

    /* 位置調整 */
    body#product article:nth-of-type(1) .row:nth-of-type(odd) div[class^="col-"]:last-of-type {
        display: flex;
        justify-content: flex-end;
    }

    body#product article:nth-of-type(1) .row:nth-of-type(odd) div[class^="col-"]:first-of-type {
        display: flex;
        justify-content: flex-end;
    }

    body#product article:nth-of-type(1) .row:nth-of-type(even) div[class^="col-"]:last-of-type {
        display: flex;
        justify-content: flex-start;
    }

    /* 画像表示順 */
    body#product article:nth-of-type(1) .row:nth-of-type(odd) div[class^="col-"]:first-of-type {
        order: 2;
    }

    body#product article:nth-of-type(1) .row:nth-of-type(odd) div[class^="col-"]:last-of-type {
        order: 1;
    }

    /* テキスト表示順 */
    body#product article:nth-of-type(1) .row:nth-of-type(odd) div[class^="col-"]:last-of-type h3 {
        order: 1;
    }

    body#product article:nth-of-type(1) .row:nth-of-type(odd) div[class^="col-"]:last-of-type p {
        order: 2;
    }

    body#product article:nth-of-type(1) .row:nth-of-type(even) div[class^="col-"]:last-of-type h3 {
        order: 2;
    }

    body#product article:nth-of-type(1) .row:nth-of-type(even) div[class^="col-"]:last-of-type p {
        order: 1;
    }
	
	body#product article:nth-of-type(1) .container-fluid > img {
		bottom: 0;
	}

    body#product article:nth-of-type(1) .row h3 {
        margin: 0;
        line-height: 0;
        writing-mode: vertical-rl;
    }

	body#product article:nth-of-type(1) .row h3 span {
		display: inline-block;
		position: relative;
	}

	body#product article:nth-of-type(1) .row h3 span::before {
		position: absolute;
		inset: auto 50% -12.5rem auto;
		background-color: var(--icon-color-10);
		width: 0.1rem;
		height: 11.5rem;
		margin: auto;
		content: "";
	}

    body#product article:nth-of-type(1) .row p {
        padding-top: min(10.0vw, 13.0rem);
        line-height: min(7.0vw, 200%);
        writing-mode: vertical-rl;
    }

    body#product article:nth-of-type(1) .tt,
    body#product article:nth-of-type(1) .kt,
    body#product article:nth-of-type(1) .kks,
	body#product article:nth-of-type(1) .kke {
        display: inline-block;
    }

    body#product article:nth-of-type(1) .tt {
		/*transform: translate(1.0rem, -1.6rem);*/
		margin-top: -1.0rem;
		margin-bottom: 1.0rem;
		transform: translateX(1.0rem);
    }

    body#product article:nth-of-type(1) .kt {
        transform: rotate(180deg);
    }

    body#product article:nth-of-type(1) .kks {
		transform: rotate(90deg) translate(-0.25rem, -0.25rem);
    }

    body#product article:nth-of-type(1) .kke {
		transform: rotate(90deg) translate(0.25rem, 0.25rem);
    }

}

/* 各種タブレット対応 */
@media (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {

    body#product article:nth-of-type(1) .kakkos {
		transform: rotate(90deg) translate(-0.25rem, 0);
    }

    body#product article:nth-of-type(1) .kakkoe {
		transform: rotate(90deg) translate(0, 0.25rem);
    }

}

@media (min-device-width: 768px) and (max-device-width: 1366px) and (orientation: landscape) {

    body#product article:nth-of-type(1) .kakkos {
		transform: rotate(90deg) translate(-0.25rem, 0);
    }

}

@media (min-width: 992px) {

    body#product article:nth-of-type(1) .row h3 {
        letter-spacing: min(1.495vw, -0.2rem);
    }

    body#product article:nth-of-type(1) .row p {
        letter-spacing: min(1.15vw, -0.1rem);
    }

}

@media (min-width: 1200px) {

    body#product article:nth-of-type(1) .row:nth-of-type(n+2) {
        margin-top: min(10.0vw, 5.0rem);
    }

}

/*　その他の人気商品
----------------------------------------------------------- */
body#product article:nth-of-type(2) .row > div {
    text-align: center;
}

body#product article:nth-of-type(2) .row + .row {
    margin-top: min(17.0vw, 17.0rem);
}

/* 画像 */
body#product article:nth-of-type(2) .row > div > img,
body#product article:nth-of-type(2) h3,
body#product article:nth-of-type(2) p {
    width: min(100%, 41.3rem);
    margin: 0 auto;
}

/* タイトル */
body#product article:nth-of-type(2) h3 {
    margin: min(10.0vw, 3.0rem) auto min(7.0vw, 2.0rem);
    font-family: "Shippori Mincho";
    font-size: min(6.5vw, 2.4rem);
    font-weight: 700;
    text-align: left;
    letter-spacing: min(1.38vw, 0.522rem); /* font-size x 23% */
}

/* テキスト */
body#product article:nth-of-type(2) p {
    text-align: justify;
    line-height: min(8.0vw, 240%);
    letter-spacing: 0.304rem; /* font-size x 19% *デザインどおりでは実現せず */
}

@media (min-width: 768px) {

    body#product article:nth-of-type(2) .row > div:last-of-type {
        position: relative;
        padding-left: 5.0rem;
    }

    body#product article:nth-of-type(2) h3 {
        margin: 0;
        margin-bottom: min(5.0vw, 1.5rem);
    }

    body#product article:nth-of-type(2) p {
        width: min(100%, 60.0rem);
    }

}

@media (min-width: 1200px) {

    body#product article:nth-of-type(2) .row > div:last-of-type {
        padding-left: min(5.0vw, 18.0rem);
    }

}

/*　商品をさがす
----------------------------------------------------------- */
/* 背景色 */
body#product article:nth-of-type(3) {
    background-color: var(--sub-color-03);
}

/* カテゴリー */
body#product article:nth-of-type(3) h3 {
    margin-bottom: min(5.0vw, 3.0rem);
    font-size: min(6.0vw, 2.4rem);
    letter-spacing: min(1.38vw, 0.522rem); /* font-size x 23% */
}

body#product article:nth-of-type(3) h3:nth-of-type(n+2) {
    margin-top: min(15.0vw, 8.0rem);
}

body#product article:nth-of-type(3) h3::before {
    content: "▼";
}

/* 商品リンク */
body#product article:nth-of-type(3) ul {
    width: min(90vw, 50.0rem);
    margin: 0 auto;
}

body#product article:nth-of-type(3) li:nth-of-type(n+2) {
    margin-top: min(5.0vw, 5.0rem);
}

/* アンカー設定 */
body#product article:nth-of-type(3) li a {
    display: flex;
    justify-content: space-between;
    margin-left: min(10.0vw, 5.0rem);
    padding: min(4.0vw, 2.0rem);
    padding-left: 0;
    border-bottom: 0.2rem solid var(--text-color-01);
    color: var(--text-color-01);
    font-family: "Shippori Mincho";
    font-size: min(4.5vw, 1.8rem);
    font-weight: 700;
    letter-spacing: min(1.15vw, 0.414rem); /* font-size x 23% */
}

@media (min-width: 576px) {

    body#product article:nth-of-type(3) li:nth-of-type(n+2) {
        margin-top: 0;
    }

    body#product article:nth-of-type(3) li:nth-of-type(n+3) {
        margin-top: min(5.0vw, 1.5rem);
    }

}

@media (min-width: 768px) {

    body#product article:nth-of-type(3) ul {
        position: relative;
        width: min(100%, 100.0rem);
    }

    body#product article:nth-of-type(3) li {
        padding-left: 0;
        padding-right: 0;
    }

    body#product article:nth-of-type(3) li:nth-of-type(odd) {
        display: flex;
        justify-content: flex-start;
    }

    body#product article:nth-of-type(3) li:nth-of-type(even) {
        display: flex;
        justify-content: flex-end;
    }

    body#product article:nth-of-type(3) li a {
        width: min(100%, 36.0rem);
    }

}

@media (min-width: 992px) {

    /* アンカーのマウスオーバー時の処理 */
    body#product article:nth-of-type(3) li a:hover {
        opacity: 0.7;
    }

}

@media (min-width: 1400px) {

    body#product article:nth-of-type(3) li a {
        margin-left: 0;
    }

}


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

　プライバシーポリシー　#policy

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

body#policy main .container {
    margin-top: min(3.0vw, 3.0rem);
}

body#policy main p,
body#policy main dt,
body#policy main dd,
body#policy main li {
    text-align: justify;
    line-height: min(9.0vw, 200%);
    letter-spacing: 0.368rem; /* font-size x 23% */
}

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

body#policy main dt {
    margin-bottom: 0.5rem;
    font-weight: 500;
}

body#policy main dt:nth-of-type(n+2) {
    margin-top: min(10.0vw, 4.0rem);
}

body#policy main ol {
    margin: min(5.0vw, 2.0rem) 0 min(5.0vw, 2.0rem) 2.0rem;
}

body#policy main ul {
    margin: min(5.0vw, 2.0rem) 0 min(5.0vw, 2.0rem) 2.4rem;
    list-style: disc;
}

@media (min-width: 1200px) {

    body#policy main .container {
        width: min(100%, 103.0rem);
    }

}


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

　お問い合わせ　#contact

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

@media (min-width: 1200px) {

    body#contact main .container,
    body#thanks main .container {
        width: min(100%, 80.0rem);
    }

}

/*　送信完了　#thanks
----------------------------------------------------------- */
body#thanks main h4 {
    margin-bottom: 2.0rem;
    color: var(--main-color-01);
    font-size: min(6.5vw, 2.4rem);
}

body#thanks main ul {
    margin: min(5.0vw, 2.0rem) 0 min(5.0vw, 2.0rem) 4.0rem;
    color: var(--red-color);
    list-style: disc;
}

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

body#thanks main a {
    color: var(--text-color-01);
}


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

　.single

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

/* 記事タイトル */
.single main .post-heading {
    margin: min(10.0vw, 10.0rem) 0 min(10.0vw, 10.0rem);
}

.single main h1 {
    font-size: min(7.0vw, 3.2rem);
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.368rem; /* font-size x 23% */
}

/* 投稿日 */
.single main time {
    display: block;
    width: 100%;
    margin-top: 0.5rem;
    font-weight: 700;
    text-align: right;
    line-height: 150%;
    letter-spacing: 0.368rem; /* font-size x 23% */
}

/*　本文
----------------------------------------------------------- */
/* 見出し */
.single main h2,
.single main h3,
.single main h4 {
    margin-bottom: 1.5rem;
    line-height: 150%;
    letter-spacing: 0.368rem; /* font-size x 23% */
}

.single main h2 {
    font-size: min(6.0vw, 2.8rem);
}

.single main h3 {
    font-size: min(5.5vw, 2.4rem);
}

.single main h4 {
    font-size: min(5.0vw, 2.0rem);
}

.single main p {
    text-align: justify;
    line-height: min(10.0vw, 240%);
}

.single main ul {
    margin: min(5.0vw, 2.0rem) 0 min(5.0vw, 2.0rem) 4.0rem;
    list-style: disc;
}

.single main ol {
    margin: min(5.0vw, 2.0rem) 0 min(5.0vw, 2.0rem) 2.0rem;
}

.single main li {
    text-align: justify;
    line-height: min(10.0vw, 180%);
    letter-spacing: 0.368rem; /* font-size x 23% */
}

/* 挿入画像のサイズ調整 */
.single main img,
.single main img.size-full {
    width: 100%;
    height: auto;
}

.single main img.size-thumbnail {
    width: min(100%, 32.0rem);
}

.single main img.size-medium {
    width: min(100%, 64.0rem);
}

/* お知らせ一覧に戻る */
.single main .back {
    margin: min(14.0vw, 14.0rem) auto 0;
    text-align: center;
}

.single main .back a {
    display: inline-flex;
    align-items: center;
    margin: 0 auto;
    padding: 0 min(2.4vw, 2.4rem) 3.0rem;
    border-bottom: 0.1rem solid var(--text-color-01);
    color: var(--text-color-01);
    font-family: "Shippori Mincho", serif;
    font-size: min(6.0vw, 2.4rem);
    font-weight: 700;
    letter-spacing: min(0.42vw, 0.168rem); /* font-size x 7% */
}

/* arrow */
.single main a img[src*="ep_right"] {
    width: min(5.0vw, 2.0rem);
}

@media (min-width: 1200px) {

    .single main .container {
        width: min(100%, 103.0rem);
    }

}


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

　.archive

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

.archive main {
    padding-bottom: min(14.0vw, 7.0rem);
}

.archive main .container {
    width: min(100%, 98.0rem);
    margin-top: min(3.0vw, 3.0rem);
}

/* アンカー設定 */
.archive main a {
    color: var(--text-color-01);
}

.archive main li a {
    display: block;
    padding: min(10.0vw, 5.0rem) 0 min(5.0vw, 2.5rem);
    border-bottom: 0.1rem solid rgba(172, 172, 172, 1.00);
}

.archive main li:first-of-type a {
    padding-top: 0;
}

/* 投稿日 */
.archive main time {
    display: block;
    margin-bottom: 1.0rem;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: 0.368rem; /* font-size x 23% */
}

/* 記事タイトル */
.archive main li h3 {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 140%;
    letter-spacing: 0.368rem; /* font-size x 23% */
    transition: 0.3s
}

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

.wp-pagenavi .current,
.wp-pagenavi .page {
    display: inline-block;
    width: 4.4rem;
    height: 4.4rem;
    margin: 0 0.5rem;
    border-radius: 50%;
    background-color: var(--white-color);
    color: var(--text-color-01);
    font-family: "Shippori Antique", sans-serif;
    font-size: 2.4rem;
    text-align: center;
    line-height: 4.0rem;
}

.wp-pagenavi .current {
    border: 0.1rem solid var(--text-color-01);
}

.wp-pagenavi .first,
.wp-pagenavi .last,
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
    color: var(--text-color-01);
    font-size: 2.0rem;
}

.wp-pagenavi .previouspostslink {
    margin-left: 1.0rem;
    color: var(--text-color-02);
}

.wp-pagenavi .nextpostslink {
    margin-right: 1.0rem;
    color: var(--text-color-02);
}

.wp-pagenavi .extend {
    margin: 0 0.5rem;
}

@media (min-width: 768px) {

    .archive main li a {
        display: grid;
        grid-template-columns: min(25.0vw, 20.0rem) auto;
        grid-template-rows: repeat(1, 1fr);
    }

    .archive main time {
        display: inline;
        margin-bottom: 0;
    }

}

@media (min-width: 992px) {

    /* アンカーのマウスオーバー時の処理 */
    .archive main li a:hover {
        opacity: 0.7;
    }

    .archive main li a:hover h3 {
        transform: translateX(1.0rem);
    }

    .wp-pagenavi .page:hover {
        background-color: var(--sub-color-02);
        color: var(--white-color);
    }

}



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