html {
    margin: 0;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body {
    margin: 0;

    font-family:
        "Zen Maru Gothic",
        "Hiragino Kaku Gothic ProN",
        "Hiragino Sans",
        "Yu Gothic",
        "Meiryo",
        sans-serif;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;

    text-rendering: optimizeLegibility;
}
	
/* ========================================
   SITE HEADER
======================================== */

.site-header {
  position: relative;
  width: 100%;
  height: 120px;
  background-color: #ffffff;
  z-index: 1000;
}


/* ヘッダー内部
------------------------------ */

.site-header__inner {
  width: 100%;
  height: 100%;
  padding: 0 51px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  box-sizing: border-box;
}


/* ロゴ
------------------------------ */

.site-header__logo {
  position: relative;
  z-index: 1002;

  flex-shrink: 0;
}

.site-header__logo a {
  display: block;
  line-height: 0;
}

.site-header__logo img {
  display: block;

  width: 92px;
  height: auto;

  object-fit: contain;
}


/* PCナビゲーション
------------------------------ */

.site-header__nav {
  display: block;

  margin-top: 1px;
}

.site-header__nav-list {
  display: flex;
  align-items: center;

  gap: 45px;

  margin: 0;
  padding: 0;

  list-style: none;
}

.site-header__nav-item {
  margin: 0;
  padding: 0;
}

.site-header__nav-item a {
  position: relative;

  display: inline-block;

  padding: 10px 0;

  color: #555555;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "YuGothic",
    "Noto Sans JP",
    sans-serif;

  font-size: 14px;
  font-weight: 600;

  line-height: 1.5;
  letter-spacing: 0.04em;

  text-decoration: none;

  transition:
    color 0.3s ease,
    opacity 0.3s ease;
}


/* ナビ下線 */

.site-header__nav-item a::after {
  content: "";

  position: absolute;
  left: 0;
  bottom: 4px;

  width: 100%;
  height: 1px;

  background-color: #555555;

  transform: scaleX(0);
  transform-origin: right center;

  transition: transform 0.3s ease;
}

.site-header__nav-item a:hover {
  color: #111111;
}

.site-header__nav-item a:hover::after {
  transform: scaleX(1);
  transform-origin: left center;
}


/* ハンバーガーボタン
PCでは非表示
------------------------------ */

.site-header__hamburger {
  display: none;
}


/* SPメニュー
PCでは非表示
------------------------------ */

.sp-menu {
  display: none;
}

.sp-menu-overlay {
  display: none;
}
/*======================================
FV
======================================*/

.fv{

    position:relative;

    width:100%;

    padding:0px 0 70px;

    overflow:hidden;

    background:#fff;

}


/*=========================
背景画像
=========================*/

.fv__bg{

    width:100%;
    height:630px;

    background:url("../images/fv.jpg") center center / cover no-repeat;

}


/*=========================
中央配置
=========================*/

.fv__inner{

    position:absolute;

    top:0;
    left:0;

    width:100%;
    height:100%;

    display:flex;
    justify-content:center;
    align-items:center;

    pointer-events:none;

}


/*=========================
ガラスボックス
=========================*/

.fv__content{

    position:relative;

    width:600px;
    height:390px;

    margin-top:120px;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    background:rgba(255,255,255,.58);

    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);

    box-shadow:
        0 18px 45px rgba(0,0,0,.08);

    z-index:2;

}


/*=========================
右の三角
=========================*/

.fv__mark{

    position:absolute;

    top:50%;
    right:-42px;

    transform:translateY(-50%);

    width:0;
    height:0;

    border-top:48px solid transparent;
    border-bottom:48px solid transparent;
    border-left:42px solid rgba(255,255,255,.58);

}


/*=========================
タイトル
=========================*/

.fv__title{

    margin:0 0 42px;

    color:#2b2b2b;

    font-size:40px;

    font-weight:700;

    letter-spacing:.12em;

    line-height:1.3;

}


/*=========================
本文
=========================*/

.fv__text{

    margin:0;

    color:#444;

    font-size:18px;

    font-weight:500;

    line-height:2;

    letter-spacing:.12em;

}


/*=========================
アニメーション
=========================*/

.fv__content{

    animation:fadeUp 1.2s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:
        translateY(40px);

    }

    to{

        opacity:1;

        transform:
        translateY(0);

    }

}
/*======================================
NEWS
======================================*/

.news{

    padding:120px 0;

    background:#fff;

}

.news__inner{

    width:min(1260px, calc(100% - 80px));

    margin:0 auto;

}


/*======================================
SECTION TITLE
======================================*/

.section-title{

    margin-bottom:80px;

    text-align:center;

}

.section-title h2{

    position:relative;

    display:inline-block;

    margin:0;

    padding:0 220px;

    color:#2b2b2b;

    font-size:52px;

    font-weight:700;

    letter-spacing:.08em;

    line-height:1.2;

}

.section-title h2::before,
.section-title h2::after{

    content:"";

    position:absolute;

    top:50%;

    width:170px;

    height:1px;

    background:#444;

}

.section-title h2::before{

    left:0;

}

.section-title h2::after{

    right:0;

}

.section-title span{

    display:block;

    margin-top:8px;

    color:#dddddd;

    font-size:26px;

    font-weight:300;

    letter-spacing:.08em;

    font-family:serif;

}


/*======================================
LIST
======================================*/

.news__list{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:40px;

}


/*======================================
CARD
======================================*/

.news-card{

    width:100%;

}

.news-card a{

    display:block;

    color:#333;

    text-decoration:none;

}


/*======================================
IMAGE
======================================*/

.news-card__image{

    position:relative;

    overflow:hidden;

    aspect-ratio:4 / 3;

    background:#f5f5f5;

}

.news-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.6s;

}

.news-card:hover img{

    transform:scale(1.06);

}


/*======================================
META
======================================*/

.news-card__meta{

    display:flex;

    align-items:center;

    gap:28px;

    margin-top:18px;

}


/*======================================
CATEGORY
======================================*/

.news-card__category{

    display:flex;

    justify-content:center;

    align-items:center;

    min-width:104px;

    height:36px;

    border:1px dashed #777;

    font-size:15px;

    font-weight:600;

    letter-spacing:.08em;

    color:#333;

    box-sizing:border-box;

}


/*======================================
DATE
======================================*/

.news-card__date{

    color:#444;

    font-size:15px;

    font-weight:600;

    letter-spacing:.05em;

}


/*======================================
TITLE
======================================*/

.news-card__title{

    margin-top:22px;

    color:#333;

    font-size:28px;

    font-weight:500;

    line-height:1.7;

    letter-spacing:.05em;

    transition:.3s;

}

.news-card:hover .news-card__title{

    color:#000;

}


/*======================================
NO POST
======================================*/

.news__none{

    text-align:center;

    font-size:18px;

    color:#888;

}
/* ========================================
   ABOUT
======================================== */

.about {
  padding: 130px 0 120px;

  background-color: #ffffff;
}

.about__inner {

    width:100%;

    display:grid;

    grid-template-columns:50% 50%;

    align-items:center;
}


/* 左テキスト
------------------------------ */

.about__content {
    width:100%;

    max-width:700px;

    margin-left:auto;

    padding-left:60px;

    padding-right:90px;

    box-sizing:border-box;
}

.about__title {
  margin: 0;

  color: #2d2d2d;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "YuGothic",
    sans-serif;

  font-size: 38px;
  font-weight: 600;

  line-height: 1.4;
  letter-spacing: 0.07em;
}


/* 横線
------------------------------ */

.about__line {
  width: 100%;
  height: 1px;

  margin: 28px 0 30px;

  background-color: #555555;
}


/* 本文
------------------------------ */

.about__text {
  color: #4a4a4a;

  font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    "Yu Gothic",
    "YuGothic",
    sans-serif;

  font-size: 17px;
  font-weight: 400;

  line-height: 1.45;
  letter-spacing: 0.09em;
}

.about__text p {
  margin: 0;
}

.about__text p + p {
  margin-top: 30px;
}


/* 右画像
------------------------------ */

.about__image {
    width:100%;

    height:400px;

    overflow:hidden;
}

.about__image img {
  display: block;

  width: 100%;
  height: 100%;

  object-fit: cover;
  object-position: center;

  transition: transform 0.8s ease;
}

.about__image:hover img {
  transform: scale(1.03);
}
/*======================================
CONCEPT
======================================*/

.concept{

    padding:140px 0;

    background:#fff;

    overflow:hidden;

}

.concept__inner{

    display:flex;

    align-items:top;

}


/*=========================
左画像
=========================*/

.concept__visual{

    position:relative;

    width:55%;

    height:760px;

    flex-shrink:0;

}


/*=========================
上画像
=========================*/

.concept__image--top{

    position:absolute;

    top:0;
    left:0;

    width:640px;
    height:430px;

    z-index:1;

}


/*=========================
下画像
=========================*/

.concept__image--bottom{

    position:absolute;

    top:250px;

    left:260px;

    width:650px;
    height:420px;

    z-index:2;

}


/*=========================
画像共通
=========================*/

.concept__image{

    overflow:hidden;

}

.concept__image img{

    width:70%;
    height:70%;

    object-fit:cover;

    display:block;

    transition:.7s;

}

.concept__image:hover img{

    transform:scale(1.05);

}


/*=========================
右テキスト
=========================*/

.concept__content{

    width:45%;

    padding-left:90px;

    padding-right:70px;

    box-sizing:border-box;

}


/*=========================
タイトル
=========================*/

.concept__title{

    margin:0 0 70px;

    color:#333;

    font-size:40px;

    font-weight:700;

    line-height:1.45;

    letter-spacing:.08em;

}


/*=========================
本文
=========================*/

.concept__text{

    color:#444;

    font-size:14px;

    font-weight:400;

    line-height:2.1;

    letter-spacing:.08em;

}

.concept__text p{

    margin:0;

}

.concept__text p+p{

    margin-top:45px;

}
/*======================================
GALLERY｜PC
======================================*/

.gallery {
    --gallery-gap: 52px;
    --gallery-speed-top: 46s;
    --gallery-speed-bottom: 52s;

    width: 100%;

    padding: 120px 0;

    background-color: #ffffff;

    overflow: hidden;
}


/*======================================
各段
======================================*/

.gallery__row {
    position: relative;

    width: 100%;

    overflow: hidden;
}

.gallery__row + .gallery__row {
    margin-top: 48px;
}


/* 下段を少し横へずらして
   上段と配置が揃いすぎないようにする */

.gallery__row--bottom {
    transform: translateX(-80px);

    width: calc(100% + 80px);
}


/*======================================
流れるトラック
======================================*/

.gallery__track {
    display: flex;
    align-items: center;

    width: max-content;

    gap: var(--gallery-gap);

    will-change: transform;

    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    transform: translate3d(0, 0, 0);
}


/* 上段：右から左 */

.gallery__row--top .gallery__track {
    animation:
        gallery-scroll-left
        var(--gallery-speed-top)
        linear
        infinite;
}


/* 下段：左から右 */

.gallery__row--bottom .gallery__track {
    animation:
        gallery-scroll-right
        var(--gallery-speed-bottom)
        linear
        infinite;
}


/* マウスを乗せると停止 */

.gallery__row:hover .gallery__track {
    animation-play-state: paused;
}


/*======================================
画像アイテム
======================================*/

.gallery__item {
    flex: 0 0 auto;

    display: flex;
    align-items: center;
    justify-content: center;

    overflow: hidden;
}


/* 画像共通 */

.gallery__item img {
    display: block;

    width: auto;
    height: 180px;

    max-width: none;

    object-fit: contain;

    transition:
        transform 0.55s cubic-bezier(.22, .61, .36, 1),
        opacity 0.4s ease;
}


/* 画像ホバー */

.gallery__item:hover img {
    transform: scale(1.035);

    opacity: 0.9;
}


/*======================================
画像ごとの高さ
同じ12枚が複製されても
同一サイズになる指定
======================================*/

.gallery__item:nth-child(12n + 1) img {
    height: 178px;
}

.gallery__item:nth-child(12n + 2) img {
    height: 180px;
}

.gallery__item:nth-child(12n + 3) img {
    height: 178px;
}

.gallery__item:nth-child(12n + 4) img {
    height: 180px;
}

.gallery__item:nth-child(12n + 5) img {
    height: 178px;
}

.gallery__item:nth-child(12n + 6) img {
    height: 176px;
}

.gallery__item:nth-child(12n + 7) img {
    height: 180px;
}

.gallery__item:nth-child(12n + 8) img {
    height: 178px;
}

.gallery__item:nth-child(12n + 9) img {
    height: 180px;
}

.gallery__item:nth-child(12n + 10) img {
    height: 178px;
}

.gallery__item:nth-child(12n + 11) img {
    height: 180px;
}

.gallery__item:nth-child(12n + 12) img {
    height: 176px;
}


/*======================================
無限スクロールアニメーション
======================================*/

/*
複製前と複製後の間にもgapが1つ入るため、
単純な-50%ではわずかなズレが生じます。

gapが52pxなので、その半分の26pxを加えて
継ぎ目が見えないようにしています。
*/

@keyframes gallery-scroll-left {

    from {
        transform: translate3d(0, 0, 0);
    }

    to {
        transform:
            translate3d(
                calc(-50% - (var(--gallery-gap) / 2)),
                0,
                0
            );
    }

}


@keyframes gallery-scroll-right {

    from {
        transform:
            translate3d(
                calc(-50% - (var(--gallery-gap) / 2)),
                0,
                0
            );
    }

    to {
        transform: translate3d(0, 0, 0);
    }

}


/*======================================
動きを減らす設定のユーザーに配慮
======================================*/

@media (prefers-reduced-motion: reduce) {

    .gallery__track {
        animation-play-state: paused !important;
    }

}
/*======================================
FEATURE
======================================*/

.feature{

    padding:140px 0;

    background:#fff;

}

.feature__inner{

    width:min(1600px, calc(100% - 100px));
    margin:0 auto;

    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:90px;

}


/*======================================
左
======================================*/

.feature__content{


    flex:1;
    min-width:0;


}


/* タイトル */

.feature__title{

    margin:0 0 70px;

    color:#333;

    font-size:54px;

    font-weight:700;

    line-height:1.45;

    letter-spacing:.08em;

}


/* 本文 */

.feature__text{

    color:#444;

    font-size:17px;

    line-height:2.3;

    letter-spacing:.08em;

}

.feature__text p{

    margin:0 0 55px;

}


/*======================================
右 Sticky
======================================*/

.feature__gallery{

    position:sticky;
    top:120px;

    width:620px;

    flex-shrink:0;

    align-self:flex-start;
}

.feature__gallery-inner{

    position:static;


}


/*======================================
メイン画像
======================================*/

.feature__main{

    width:100%;

    aspect-ratio:16 / 10;

    overflow:hidden;

    background:#f5f5f5;

}

.feature__main img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:opacity .35s ease;

}


/*======================================
サムネイル
======================================*/

.feature__thumbs{

    margin-top:45px;

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

}


/* ボタン */

.feature__thumb{

    padding:0;

    border:none;

    background:none;

    cursor:pointer;

    overflow:hidden;

    transition:.3s;

}


/* 選択中 */

.feature__thumb.is-active{

    outline:2px solid #222;

    outline-offset:6px;

}


/* 画像 */

.feature__thumb img{

    width:100%;

    aspect-ratio:1 / 1;

    object-fit:cover;

    display:block;

    transition:.4s;

}

.feature__thumb:hover img{

    transform:scale(1.05);

}


/*======================================
フェード
======================================*/

.feature__main img.is-changing{

    opacity:.35;

}
/*======================================
MARQUEE
======================================*/

.marquee{

    padding:70px 0;

    overflow:hidden;

    background:#fff;

}

.marquee__wrap{

    overflow:hidden;

}

.marquee__track{

    display:flex;

    width:max-content;

    animation:marquee 120s linear infinite;

}

.marquee__track span{

    display:block;

    padding-right:90px;

    color:#ececec;

    font-size:180px;

    font-weight:700;

    line-height:1;

    letter-spacing:.05em;

    white-space:nowrap;

    user-select:none;

}

@keyframes marquee{

    from{

        transform:translateX(0);

    }

    to{

        transform:translateX(-50%);

    }

}
/*======================================
RECOMMEND
======================================*/

.recommend{

    padding:140px 0;

    background:#fff;

}

.recommend__inner{

    width:min(1600px, calc(100% - 100px));

    margin:0 auto;

}


/*=========================
タイトル
=========================*/

.recommend__heading{

    margin-bottom:80px;

    text-align:center;

}

.recommend__heading-main{

    display:flex;

    justify-content:center;

    align-items:center;

    gap:38px;

}

.recommend__heading-line{

    width:210px;

    height:1px;

    background:#333;

}

.recommend__title{

    margin:0;

    font-size:52px;

    font-weight:700;

    letter-spacing:.08em;

    line-height:1;

    color:#333;

}

.recommend__en{

    margin-top:16px;

    color:#999;

    font-size:26px;

    letter-spacing:.08em;

}


/*=========================
商品一覧
=========================*/

.recommend__list{

    display:flex;

    justify-content:center;

    gap:60px;

}


/*=========================
カード
=========================*/

.recommend-card{
    width:520px;
}

.recommend-card__link{

    display:block;

    color:inherit;

    text-decoration:none;

}


/*=========================
画像
=========================*/

.recommend-card__image{

    width:100%;

    height:380px;

    overflow:hidden;

    border:1px solid #dcdcdc;
}

.recommend-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.6s;

}

.recommend-card:hover img{

    transform:scale(1.05);

}


/*=========================
本文
=========================*/

.recommend-card__body{

    padding-top:22px;

}

.recommend-card__title{

    margin:0 0 12px;

    font-size:34px;

    font-weight:700;

    letter-spacing:.06em;

    color:#333;

    line-height:1.5;

}

.recommend-card__price{

    margin:0;

    color:#666;

    font-size:24px;

    font-weight:400;

    letter-spacing:.05em;

}
/*======================================
RECOMMEND SUB
======================================*/

.recommend-sub{

    margin-top:110px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:35px;

}


/*=========================
カード
=========================*/

.recommend-sub__card{

}

.recommend-sub__card a{

    display:block;

    color:#333;

    text-decoration:none;

}


/*=========================
画像
=========================*/

.recommend-sub__image{

    overflow:hidden;

    border:1px solid #dcdcdc;

    background:#fff;

}

.recommend-sub__image img{

    width:100%;

    aspect-ratio:1 / 1;

    object-fit:cover;

    display:block;

    transition:.6s;

}

.recommend-sub__card:hover img{

    transform:scale(1.05);

}


/*=========================
商品名
=========================*/

.recommend-sub__card h3{

    margin:18px 0 10px;

    color:#333;

    font-size:24px;

    font-weight:700;

    line-height:1.5;

    letter-spacing:.05em;

}


/*=========================
価格
=========================*/

.recommend-sub__card p{

    margin:0;

    color:#666;

    font-size:18px;

    line-height:1.6;

}


/*======================================
VIEW MORE
======================================*/

.recommend-button{
    margin-top:90px;

    text-align:center;

}

.recommend-button__link{

    position:relative;

    display:inline-flex;

    align-items:center;
    justify-content:center;

    width:500px;
    max-width:calc(100% - 40px);

    height:92px;

    background:#333;

    color:#fff;

    font-size:26px;
    font-weight:600;

    letter-spacing:.08em;

    text-decoration:none;

    box-sizing:border-box;

    transition:
        background .3s ease,
        color .3s ease;

}
.recommend-button__link::before{

    content:"";

    position:absolute;

    top:9px;
    right:14px;
    bottom:9px;
    left:14px;

    border:1px dashed rgba(255,255,255,.75);

    pointer-events:none;

}

/*=========================
Hover
=========================*/

.recommend-button__link:hover{

    background:#222;

    color:#fff;


}
/*======================================
FLOW
======================================*/

.flow{

    padding:150px 0;

   background:#f8f8f8;   /* ←変更 */

}

.flow__inner{

    width:min(1400px, calc(100% - 80px));

    margin:0 auto;

}


/*=========================
タイトル
=========================*/

.flow__title{

    position:relative;

    margin:0;
    padding-bottom:90px;

    color:#333;

    font-size:40px;

    font-weight:700;

    text-align:center;

    line-height:1.4;

    letter-spacing:.08em;

}
.flow__title::after{

    content:"";

    position:absolute;

    left:50%;
    bottom:10px;

    transform:translateX(-50%);

    width:2px;
    height:70px;

    background:#333;

}

/*=========================
画像
=========================*/

.flow__image{

    text-align:center;

}

.flow__image img{

    width:100%;

    max-width:1280px;

    display:block;

    margin:0 auto;

}
/*======================================
FAQ
======================================*/

.faq{

    padding:160px 0;

    background:#fff;

}

.faq__inner{

    width:min(1500px, calc(100% - 100px));

    margin:0 auto;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:90px;

}


/*======================================
左
======================================*/

.faq__left{

    width:28%;

}

.faq__title{

    margin:0;

    color:#333;

    font-size:45px;

    font-weight:700;

    line-height:1.4;

    letter-spacing:.08em;

}


/*======================================
右
======================================*/

.faq__right{

    width:72%;

}


/*======================================
1項目
======================================*/

.faq__item{

    margin-bottom:2px;

}


/*======================================
質問
======================================*/

.faq__question{

    width:100%;

    height:110px;

    padding:0 40px;

    border:none;

    background:#4b4b4b;

    color:#fff;

    display:flex;

    align-items:center;

    gap:25px;

    cursor:pointer;

    transition:.3s;

}

.faq__question:hover{

    background:#5a5a5a;

}


/* Q */

.faq__question span{

    font-size:30px;

    font-weight:600;

}


/* タイトル */

.faq__question p{

    margin:0;

    font-size:22px;

    font-weight:500;

    text-align:left;

}


/*======================================
回答
======================================*/

.faq__answer{

    max-height:0;

    overflow:hidden;

    background:#fff;

    transition:max-height .45s ease;

}


/* 開いた時 */

.faq__item.is-open .faq__answer{

    max-height:500px;

}


/* 回答本文 */

.faq__answer p{

    margin:0;

    padding:40px;

    color:#333;

    font-size:20px;

    line-height:2;

}


/* A */

.faq__answer strong{

    margin-right:12px;

    font-size:30px;

}
/*======================================
MESSAGE
======================================*/

.message{

    padding:170px 0;

    background:#fff;

}

.message__inner{

    width:min(1500px, calc(100% - 100px));

    margin:0 auto;

}


/*======================================
コンテンツ
======================================*/

.message__content{

    margin-top:90px;

    display:flex;

    justify-content:space-between;

    align-items:flex-start;

    gap:110px;

}


/*======================================
左画像
======================================*/

.message__image{

    width:30%;

    overflow:hidden;

}

.message__image img{

    width:100%;

    height:600px;

    object-fit:cover;

    display:block;

    transition:.7s;

}

.message__image:hover img{

    transform:scale(1.05);

}


/*======================================
右
======================================*/

.message__text{

    width:54%;

    padding-top:80px;

}


/*======================================
名前
======================================*/

.message__text h3{

    margin:0;

    color:#333;

    font-size:40px;

    font-weight:700;

    line-height:1.5;

    letter-spacing:.08em;

}


/*======================================
横線
======================================*/

.message__border{

    display:block;

    width:100%;

    height:2px;

    margin:28px 0 55px;

    background:#444;

}


/*======================================
本文
======================================*/

.message__text p{

    margin:0 0 60px;

    color:#444;

    font-size:18px;

    font-weight:400;

    line-height:2.2;

    letter-spacing:.08em;

}

.message__text p:last-child{

    margin-bottom:0;

}
/*======================================
BLOG
======================================*/

.blog{

    background:#fff;

}

.blog__inner{

    width:min(1000px, calc(100% - 100px));
    padding-bottom:100px;
    margin:0 auto;

}


/*======================================
一覧
======================================*/

.blog__list{

    margin-top:90px;

}


/*======================================
1記事
======================================*/

.blog__item{

    display:grid;

    grid-template-columns:140px 160px 1fr;

    align-items:center;

    gap:40px;

    padding:45px 0;

    border-bottom:1px solid #cfcfcf;

    color:#333;

    text-decoration:none;

    transition:.3s;

}

.blog__item:first-child{

    border-top:1px solid #cfcfcf;

}


/*======================================
カテゴリー
======================================*/

.blog__category{

    width:100px;

    height:48px;

    display:flex;

    justify-content:center;

    align-items:center;

    border:2px dashed #999;

    color:#333;

    font-size:20px;

    font-weight:700;

    letter-spacing:.08em;

}


/*======================================
日付
======================================*/

.blog__date{

    color:#444;

    font-size:24px;

    font-weight:600;

    letter-spacing:.05em;

}


/*======================================
タイトル
======================================*/

.blog__title{

    margin:0;

    color:#333;

    font-size:24px;

    font-weight:500;

    line-height:1.6;

    letter-spacing:.05em;

    transition:.3s;

}


/*======================================
Hover
======================================*/

.blog__item:hover .blog__title{

    color:#777;

}

.blog__item:hover{

    background:#fafafa;

}
/*======================================
FOOTER
======================================*/

.footer{

    background:#4b4b4b;

    padding:70px 0;

}

.footer__inner{

    width:min(1500px, calc(100% - 100px));

    margin:0 auto;

    display:flex;

    justify-content:space-between;

    align-items:center;

}


/*======================================
左
======================================*/

.footer__left{

    display:flex;

    align-items:center;

    gap:45px;

}


/* ロゴ */

.footer__logo{

    display:block;

}

.footer__logo img{

    width:100px;

    display:block;

}


/* Instagram */

.footer__instagram{

    display:block;

    transition:.3s;

}

.footer__instagram img{

    width:55px;

    display:block;

}

.footer__instagram:hover{

    opacity:.75;

}


/*======================================
ナビ
======================================*/

.footer__nav ul{

    display:flex;

    align-items:center;

    gap:85px;

    margin:0;

    padding:0;

    list-style:none;

}

.footer__nav li{

    margin:0;

}


/* リンク */

.footer__nav a{

    position:relative;

    display:inline-block;

    color:#fff;

    font-size:16px;

    font-weight:600;

    letter-spacing:.08em;

    text-decoration:none;

    padding-bottom:10px;

    transition:.3s;

}


/* 点線 */

.footer__nav a::after{

    content:"";

    position:absolute;

    left:0;
    bottom:0;

    width:100%;
    height:2px;

    background-image:repeating-linear-gradient(
        to right,
        #fff 0 8px,
        transparent 8px 13px
    );

    opacity:.8;

    transition:.3s;

}


/* Hover */

.footer__nav a:hover{

    opacity:.75;

}

.footer__nav a:hover::after{

    opacity:1;

}
/*======================================
NEWS PAGE
======================================*/
/*======================================
ARCHIVE NEWS
======================================*/

.archive-news{

    background:#fff;

}


/*======================================
PAGE TITLE
======================================*/

.archive-news__fv{

    padding:140px 0 90px;

}

.archive-news__fv-inner{

    width:min(1200px, calc(100% - 40px));

    margin:0 auto;

    text-align:center;

}

.archive-news__title{

    margin:0;

    color:#333;

    font-size:56px;

    font-weight:700;

    line-height:1.4;

    letter-spacing:.08em;

}

.archive-news__sub{

    margin-top:15px;

    color:#888;

    font-size:18px;

    letter-spacing:.18em;

}


/*======================================
LIST
======================================*/

.archive-news__section{

    padding-bottom:180px;

}

.archive-news__inner{

    width:min(1400px, calc(100% - 100px));

    margin:0 auto;

}


/*======================================
GRID
======================================*/

.archive-news__grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:90px 35px;

}


/*======================================
CARD
======================================*/

.archive-news-card{

    width:80%;

}

.archive-news-card__link{

    display:block;

    color:#333;

    text-decoration:none;

}


/*======================================
IMAGE
======================================*/

.archive-news-card__image{

    overflow:hidden;

    aspect-ratio:4/3;

    background:#f5f5f5;

}

.archive-news-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.6s;

}

.archive-news-card:hover img{

    transform:scale(1.05);

}


/*======================================
META
======================================*/

.archive-news-card__meta{

    display:flex;

    align-items:center;

    gap:22px;

    margin-top:18px;

}


/*======================================
CATEGORY
======================================*/

.archive-news-card__category{

    display:flex;

    justify-content:center;

    align-items:center;

    min-width:92px;

    height:34px;

    padding:0 16px;

    border:1px dashed #666;

    color:#333;

    font-size:15px;

    font-weight:600;

    letter-spacing:.08em;

    box-sizing:border-box;

}


/*======================================
DATE
======================================*/

.archive-news-card__date{

    color:#444;

    font-size:15px;

    font-weight:500;

}


/*======================================
TITLE
======================================*/

.archive-news-card__title{

    margin:18px 0 0;

    color:#333;

    font-size:24px;

    font-weight:500;

    line-height:1.7;

    letter-spacing:.06em;

    transition:.3s;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    overflow:hidden;

}

.archive-news-card:hover .archive-news-card__title{

    opacity:.65;

}


/*======================================
PAGINATION
======================================*/

.archive-news__pagination{

    margin-top:110px;

    text-align:center;

}

.archive-news__pagination .page-numbers{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    width:46px;

    height:46px;

    margin:0 5px;

    border:1px solid #444;

    color:#333;

    text-decoration:none;

    transition:.3s;

}

.archive-news__pagination .current{

    background:#444;

    color:#fff;

}

.archive-news__pagination a:hover{

    background:#444;

    color:#fff;

}


/*======================================
NO POST
======================================*/

.archive-news__none{

    text-align:center;

    font-size:18px;

    color:#666;

}
/*======================================
SINGLE NEWS
======================================*/

.single-news{

    background:#fff;

}


/*======================================
FV
======================================*/

.single-news__fv{

    padding:130px 0 80px;

}

.single-news__fv-inner{

    width:min(1100px, calc(100% - 40px));

    margin:0 auto;

}

.single-news__title{

    margin:0;

    color:#333;

    font-size:48px;

    font-weight:700;

    line-height:1.5;

    letter-spacing:.08em;

}


/*======================================
META
======================================*/

.single-news__meta{

    display:flex;

    align-items:center;

    gap:24px;

    margin-top:30px;

}

.single-news__category{

    display:flex;

    justify-content:center;

    align-items:center;

    min-width:90px;

    height:34px;

    padding:0 16px;

    border:1px dashed #666;

    color:#333;

    font-size:15px;

    font-weight:600;

    letter-spacing:.08em;

}

.single-news__date{

    color:#555;

    font-size:15px;

}


/*======================================
CONTENT
======================================*/

.single-news__section{

    padding-bottom:160px;

}

.single-news__inner{

    width:min(1100px, calc(100% - 40px));

    margin:0 auto;

}


/*======================================
THUMBNAIL
======================================*/

.single-news__thumbnail{

    margin-bottom:70px;
	width:80%;

}

.single-news__thumbnail img{

    width:100%;

    height:auto;

    display:block;

}
/*======================================
BACK BUTTON
======================================*/

.single-news__back{

    margin-top:80px;

    text-align:center;

}

.single-news__back a{

    position:relative;

    display:inline-flex;

    justify-content:center;

    align-items:center;

    width:320px;

    height:70px;

    background:#444;

    color:#fff;

    font-size:18px;

    font-weight:600;

    letter-spacing:.08em;

    text-decoration:none;

    transition:.3s;

}

.single-news__back a::before{

    content:"";

    position:absolute;

    top:8px;
    left:8px;
    right:8px;
    bottom:8px;

    border:1px dashed rgba(255,255,255,.7);

    pointer-events:none;

}

.single-news__back a:hover{

    background:#333;

}

/*======================================
ARTICLE
======================================*/

.single-news__content{

    color:#444;

    font-size:17px;

    line-height:2.2;

    letter-spacing:.06em;

}

.single-news__content>*:first-child{

    margin-top:0;

}

.single-news__content p{

    margin:0 0 35px;

}


/*======================================
H2
======================================*/

.single-news__content h2{

    margin:90px 0 35px;

    padding-bottom:18px;

    border-bottom:2px solid #333;

    color:#333;

    font-size:34px;

    font-weight:700;

    line-height:1.5;

}


/*======================================
H3
======================================*/

.single-news__content h3{

    margin:70px 0 25px;

    padding-left:18px;

    border-left:5px solid #444;

    color:#333;

    font-size:26px;

    font-weight:700;

    line-height:1.5;

}


/*======================================
LIST
======================================*/

.single-news__content ul,

.single-news__content ol{

    margin:30px 0 40px 25px;

}

.single-news__content li{

    margin-bottom:12px;

}


/*======================================
IMAGE
======================================*/

.single-news__content img{

    max-width:100%;

    height:auto;

    display:block;

    margin:50px auto;

}


/*======================================
TABLE
======================================*/

.single-news__content table{

    width:100%;

    border-collapse:collapse;

    margin:50px 0;

}

.single-news__content th,

.single-news__content td{

    border:1px solid #ddd;

    padding:15px;

}

.single-news__content th{

    background:#f7f7f7;

}


/*======================================
LINK
======================================*/

.single-news__content a{

    color:#444;

    text-decoration:underline;

}

.single-news__content a:hover{

    opacity:.7;

}


/*======================================
BLOCKQUOTE
======================================*/

.single-news__content blockquote{

    margin:50px 0;

    padding:25px 35px;

    background:#f8f8f8;

    border-left:5px solid #555;

}


/*======================================
WP CAPTION
======================================*/

.single-news__content .wp-caption{

    max-width:100%;

}

.single-news__content .wp-caption img{

    margin-bottom:10px;

}

.single-news__content .wp-caption-text{

    text-align:center;

    font-size:14px;

    color:#777;

}
/*======================================
CONTACT PAGE
======================================*/

.contact-page{

    background:#fff;

}


/*======================================
TITLE
======================================*/

.contact-page__fv{

    padding:140px 0 80px;

}

.contact-page__fv-inner{

    width:min(1200px, calc(100% - 40px));

    margin:0 auto;

    text-align:center;

}

.contact-page__title{

    margin:0;

    color:#333;

    font-size:54px;

    font-weight:700;

    letter-spacing:.08em;

}

.contact-page__sub{

    margin-top:12px;

    color:#888;

    font-size:18px;

    letter-spacing:.15em;

}


/*======================================
FORM
======================================*/

.contact-page__section{

    padding-bottom:180px;

}

.contact-page__inner{

    width:min(700px, calc(100% - 40px));

    margin:0 auto;

}


/*======================================
CONTACT FORM7
======================================*/

.contact-page .wpcf7{

    width:100%;

}

.contact-page .wpcf7 p{

    margin:0 0 18px;

}


/*======================================
INPUT
======================================*/

.contact-page input[type="text"],

.contact-page input[type="email"],

.contact-page input[type="tel"]{

    width:100%;

    height:82px;

    padding:0 24px;

    border:1px solid #555;

    background:#fff;

    font-size:16px;

    color:#333;

    box-sizing:border-box;

    outline:none;

    transition:.3s;

}


/*======================================
TEXTAREA
======================================*/

.contact-page textarea{

    width:100%;

    height:260px;

    padding:24px;

    border:1px solid #555;

    background:#fff;

    font-size:16px;

    color:#333;

    resize:none;

    box-sizing:border-box;

    outline:none;

    transition:.3s;

}


/*======================================
PLACEHOLDER
======================================*/

.contact-page input::placeholder,

.contact-page textarea::placeholder{

    color:#bbb;

}


/*======================================
FOCUS
======================================*/

.contact-page input:focus,

.contact-page textarea:focus{

    border-color:#222;

}


/*======================================
SUBMIT
======================================*/

.contact-page .wpcf7-submit{

    display:block;

    width:280px;

    height:70px;

    margin:50px auto 0;

    border:none;

    background:#3f3f3f;

    color:#fff;

    font-size:18px;

    font-weight:600;

    letter-spacing:.08em;

    cursor:pointer;

    transition:.3s;

}

.contact-page .wpcf7-submit:hover{

    background:#222;

}


/*======================================
RESPONSE
======================================*/

.contact-page .wpcf7-response-output{

    margin:35px 0 0 !important;

    text-align:center;

    border:none !important;

    padding:0 !important;

}


/*======================================
ERROR
======================================*/

.contact-page .wpcf7-not-valid-tip{

    margin-top:8px;

    font-size:13px;

}
/*======================================
PRODUCTS PAGE
======================================*/

.products-page{

    background:#fff;

}


/*======================================
TITLE
======================================*/

.products-page__fv{

    padding:140px 0 90px;

}

.products-page__fv-inner{

    width:min(1200px, calc(100% - 40px));

    margin:0 auto;

    text-align:center;

}

.products-page__title{

    margin:0;

    color:#333;

    font-size:45px;

    font-weight:700;

    letter-spacing:.08em;

}

.products-page__sub{

    margin-top:12px;

    color:#888;

    font-size:18px;

    letter-spacing:.12em;

}


/*======================================
LIST
======================================*/

.products-page__section{

    padding-bottom:180px;

}

.products-page__inner{

    width:min(900px, calc(100% - 100px));

    margin:0 auto;

}


/*======================================
GRID
======================================*/

.products-page__grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:90px 45px;

}


/*======================================
CARD
======================================*/

.products-card{

  
    width:70%;
    margin:0 auto;

}

.products-card a{

    display:block;

    color:#333;

    text-decoration:none;

}


/*======================================
IMAGE
======================================*/

.products-card__image{

    width:100%;

    aspect-ratio:4 / 5;

    overflow:hidden;

    border:1px solid #555;

    background:#f5f5f5;

}

.products-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    display:block;

    transition:.5s;

}

.products-card:hover img{

    transform:scale(1.05);

}


/*======================================
TITLE
======================================*/

.products-card__title{

    margin:22px 0 8px;

    color:#333;

    font-size:22px;

    font-weight:600;

    line-height:1.6;

    letter-spacing:.05em;

}


/*======================================
PRICE
======================================*/

.products-card__price{

    color:#444;

    font-size:16px;

    font-weight:500;

    letter-spacing:.05em;

}


/*======================================
PAGINATION
======================================*/

.products-page__pagination{

    margin-top:100px;

    text-align:center;

}

.products-page__pagination .page-numbers{

    display:inline-flex;

    justify-content:center;

    align-items:center;

    width:48px;

    height:48px;

    margin:0 5px;

    border:1px solid #444;

    color:#333;

    text-decoration:none;

    transition:.3s;

}

.products-page__pagination .current{

    background:#444;

    color:#fff;

}

.products-page__pagination a:hover{

    background:#444;

    color:#fff;

}
/*=========================
ページタイトル
=========================*/

.products-page__fv{

    padding:80px 0 50px;

}

.products-page__fv-inner{

    width:calc(100% - 40px);

}

.products-page__title{

    font-size:32px;

    line-height:1.4;

    letter-spacing:.08em;

}

.products-page__sub{

    margin-top:8px;

    font-size:14px;

}


/*=========================
一覧
=========================*/

.products-page__section{

    padding-bottom:90px;

}

.products-page__inner{

    width:calc(100% - 30px);

}


/*=========================
画像
=========================*/

.products-card__image{

    aspect-ratio:4 / 5;

}


/*=========================
商品名
=========================*/

.products-card__title{

    margin:12px 0 6px;

    font-size:16px;

    line-height:1.5;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    overflow:hidden;

}


/*=========================
価格
=========================*/

.products-card__price{

    font-size:15px;

    font-weight:600;

}


/*=========================
ページネーション
=========================*/

.products-page__pagination{

    margin-top:60px;

}

.products-page__pagination .page-numbers{

    width:40px;

    height:40px;

    margin:0 3px;

    font-size:13px;

}





















/* ========================================
   SITE HEADER SP
======================================== */

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

  /* bodyの横スクロール防止 */
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }


  /* ヘッダー
  ------------------------------ */

  .site-header {
    height: 78px;

    background-color: #ffffff;
  }

  .site-header__inner {
    position: relative;

    height: 78px;

    padding: 0 20px;
  }


  /* ロゴ
  ------------------------------ */

  .site-header__logo {
    z-index: 1003;
  }

  .site-header__logo img {
    width: 67px;
    height: auto;
  }


  /* PCナビを非表示
  ------------------------------ */

  .site-header__nav {
    display: none;
  }


  /* ハンバーガーボタン
  ------------------------------ */

  .site-header__hamburger {
    position: relative;
    z-index: 1003;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin: 0;
    padding: 0;

    background-color: transparent;

    border: none;
    border-radius: 0;

    appearance: none;
    cursor: pointer;
  }

  .site-header__hamburger span {
    position: absolute;
    left: 50%;

    display: block;

    width: 26px;
    height: 1px;

    background-color: #222222;

    transform: translateX(-50%);

    transition:
      top 0.35s ease,
      transform 0.35s ease,
      opacity 0.25s ease;
  }

  .site-header__hamburger span:nth-child(1) {
    top: 15px;
  }

  .site-header__hamburger span:nth-child(2) {
    top: 23px;
  }

  .site-header__hamburger span:nth-child(3) {
    top: 31px;
  }


  /* ハンバーガー開閉時 */

  .site-header__hamburger.is-open span:nth-child(1) {
    top: 23px;

    transform:
      translateX(-50%)
      rotate(45deg);
  }

  .site-header__hamburger.is-open span:nth-child(2) {
    opacity: 0;
  }

  .site-header__hamburger.is-open span:nth-child(3) {
    top: 23px;

    transform:
      translateX(-50%)
      rotate(-45deg);
  }


  /* SPメニュー本体
  ------------------------------ */

  .sp-menu {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1002;

    display: block;

    width: min(86%, 390px);
    height: 100dvh;

    background-color: #ffffff;

    overflow-y: auto;
    overscroll-behavior: contain;

    transform: translateX(100%);

    visibility: hidden;

    transition:
      transform 0.45s cubic-bezier(0.77, 0, 0.18, 1),
      visibility 0.45s;
  }

  .sp-menu.is-open {
    transform: translateX(0);

    visibility: visible;
  }

  .sp-menu__inner {
    min-height: 100%;

    padding:
      128px
      35px
      60px;

    box-sizing: border-box;
  }


  /* SPメニューリスト
  ------------------------------ */

  .sp-menu__list {
    display: flex;
    flex-direction: column;

    margin: 0;
    padding: 0;

    list-style: none;
  }

  .sp-menu__item {
    margin: 0;
    padding: 0;

    border-bottom: 1px solid #dedede;
  }

  .sp-menu__item:first-child {
    border-top: 1px solid #dedede;
  }

  .sp-menu__item a {
    position: relative;

    display: flex;
    flex-direction: column;

    padding: 23px 38px 23px 0;

    color: #222222;

    text-decoration: none;
  }


  /* 矢印 */

  .sp-menu__item a::before {
    content: "";

    position: absolute;
    top: 50%;
    right: 5px;

    width: 20px;
    height: 1px;

    background-color: #333333;
  }

  .sp-menu__item a::after {
    content: "";

    position: absolute;
    top: calc(50% - 3px);
    right: 5px;

    width: 7px;
    height: 7px;

    border-top: 1px solid #333333;
    border-right: 1px solid #333333;

    transform: rotate(45deg);
  }


  /* 英語表記 */

  .sp-menu__en {
    margin-bottom: 6px;

    color: #a0a0a0;

    font-family:
      Arial,
      Helvetica,
      sans-serif;

    font-size: 10px;
    font-weight: 400;

    line-height: 1;

    letter-spacing: 0.18em;
  }


  /* 日本語表記 */

  .sp-menu__ja {
    color: #333333;

    font-family:
      "Hiragino Kaku Gothic ProN",
      "Hiragino Sans",
      "Yu Gothic",
      "YuGothic",
      "Noto Sans JP",
      sans-serif;

    font-size: 15px;
    font-weight: 600;

    line-height: 1.5;
    letter-spacing: 0.06em;
  }


  /* 背景オーバーレイ
  ------------------------------ */

  .sp-menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 1001;

    display: block;

    width: 100%;
    height: 100%;

    background-color: rgba(0, 0, 0, 0.35);

    opacity: 0;
    visibility: hidden;

    cursor: pointer;

    transition:
      opacity 0.35s ease,
      visibility 0.35s ease;
  }

  .sp-menu-overlay.is-open {
    opacity: 1;
    visibility: visible;
  }


  /* メニュー展開時のスクロール停止
  ------------------------------ */

  body.is-menu-open {
    overflow: hidden;
    touch-action: none;
  }
.fv{

    padding:20px 0 50px;

}


/*=========================
背景画像
=========================*/

.fv__bg{

    height:440px;

    background-position:center center;

}


/*=========================
中央配置解除
=========================*/

.fv__inner{

    position:relative;

    display:block;

    width:100%;

    margin-top:-90px;

    padding:0 20px;

    box-sizing:border-box;

}


/*=========================
ガラスボックス
=========================*/

.fv__content{

    width:100%;
    max-width:340px;

    height:auto;

    margin:0 auto;

    padding:50px 30px;

    background:rgba(255,255,255,.82);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);

    box-shadow:

        0 10px 30px rgba(0,0,0,.08);

}


/*=========================
三角
=========================*/

.fv__mark{

    right:-25px;

    border-top:30px solid transparent;
    border-bottom:30px solid transparent;
    border-left:25px solid rgba(255,255,255,.82);

}


/*=========================
タイトル
=========================*/

.fv__title{

    margin-bottom:28px;

    font-size:24px;

    line-height:1.4;

    letter-spacing:.08em;

}
	.fv_br br{
		display:none;
	}

/*=========================
本文
=========================*/

.fv__text{

    font-size:12px;

    line-height:1.9;

    letter-spacing:.08em;

}
	.news{

    padding:70px 0;

    overflow:hidden;

}

.news__inner{

    width:100%;

}


/*=========================
タイトル
=========================*/

.section-title{

    margin-bottom:45px;

}

.section-title h2{

    padding:0 80px;

    font-size:34px;

}

.section-title h2::before,
.section-title h2::after{

    width:60px;

}

.section-title span{

    margin-top:5px;

    font-size:18px;

}


/*=========================
横スクロール
=========================*/

.news__list{

    display:flex;

    gap:18px;

    overflow-x:auto;

    overflow-y:hidden;

    padding:0 20px 10px;

    scroll-snap-type:x proximity;

    -webkit-overflow-scrolling:touch;

}


/* スクロールバー非表示 */

.news__list::-webkit-scrollbar{

    display:none;

}

.news__list{

    scrollbar-width:none;

}


/*=========================
カード
=========================*/

.news-card{

    flex:0 0 300px;

    scroll-snap-align:start;

}


/*=========================
画像
=========================*/

.news-card__image{

    height:210px;

}

.news-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

}


/*=========================
カテゴリ・日付
=========================*/

.news-card__meta{

    gap:15px;

    margin-top:15px;

}

.news-card__category{

    min-width:80px;

    height:32px;

    font-size:13px;

}

.news-card__date{

    font-size:13px;

}


/*=========================
タイトル
=========================*/

.news-card__title{

    margin-top:15px;

    font-size:18px;

    line-height:1.6;

}
.about{

    padding:70px 0;

}

.about__inner{

    display:flex;

    flex-direction:column;

}


/*=========================
画像
=========================*/

.about__image{

    order:1;

    width:100%;

    height:260px;

}


/*=========================
文章
=========================*/

.about__content{

    order:2;

    width:100%;

    max-width:none;

    margin:40px auto 0;

    padding:0 20px;

    box-sizing:border-box;

}


.about__title{

    font-size:28px;

}


.about__line{

    margin:18px 0 24px;

}


.about__text{

    font-size:15px;

    line-height:2;

}

.about__text br{

    display:none;

}
.concept{

    padding:70px 0;

}


/*=========================
縦並び
=========================*/

.concept__inner{

    display:flex;

    flex-direction:column;

}


/*=========================
画像エリア
=========================*/

.concept__visual{

    position:relative;

    width:100%;

    height:420px;

    margin-bottom:40px;

}


/*=========================
上画像
=========================*/

.concept__image--top{

    position:absolute;

    top:0;
    left:0;

    width:72%;

    height:210px;

}


/*=========================
下画像
=========================*/

.concept__image--bottom{

    position:absolute;

    bottom:0;
    right:0;

    width:78%;

    height:220px;

}


/*=========================
画像
=========================*/

.concept__image img{

    width:100%;
    height:100%;

    object-fit:cover;

    display:block;

}


/*=========================
テキスト
=========================*/

.concept__content{

    width:100%;

    padding:0 20px;

    box-sizing:border-box;

}


/*=========================
タイトル
=========================*/

.concept__title{

    margin:20px 0 30px;

    font-size:28px;

    line-height:1.5;

}


/*=========================
本文
=========================*/

.concept__text{

    font-size:14px;

    line-height:2;

}

.concept__text br{

    display:none;

}

.concept__text p+p{

    margin-top:24px;

}
	.gallery{

    --gallery-gap:18px;

    --gallery-speed-top:28s;

    --gallery-speed-bottom:32s;

    padding:70px 0;

}


/*=========================
段の余白
=========================*/

.gallery__row + .gallery__row{

    margin-top:18px;

}


/*=========================
下段のズレ
=========================*/

.gallery__row--bottom{

    transform:translateX(-40px);

    width:calc(100% + 40px);

}


/*=========================
画像サイズ
=========================*/

.gallery__item img{

    width:auto;

    height:95px;

}


/*=========================
高さを少しランダムに
=========================*/

.gallery__item:nth-child(12n+1) img{
    height:92px;
}

.gallery__item:nth-child(12n+2) img{
    height:95px;
}

.gallery__item:nth-child(12n+3) img{
    height:90px;
}

.gallery__item:nth-child(12n+4) img{
    height:95px;
}

.gallery__item:nth-child(12n+5) img{
    height:92px;
}

.gallery__item:nth-child(12n+6) img{
    height:95px;
}

.gallery__item:nth-child(12n+7) img{
    height:90px;
}

.gallery__item:nth-child(12n+8) img{
    height:95px;
}

.gallery__item:nth-child(12n+9) img{
    height:92px;
}

.gallery__item:nth-child(12n+10) img{
    height:95px;
}

.gallery__item:nth-child(12n+11) img{
    height:90px;
}

.gallery__item:nth-child(12n+12) img{
    height:95px;
}


/*=========================
hover解除
=========================*/

.gallery__item:hover img{

    transform:none;

    opacity:1;

}
	
.feature{

    padding:80px 20px;

}

.feature__inner{

    display:flex;

    flex-direction:column-reverse;

    gap:45px;

    width:100%;

}


/*=========================
画像
=========================*/

.feature__gallery{

    width:100%;

}

.feature__gallery{

    position:static;

}

.feature__gallery-inner{

    position:static;

}


/* メイン画像 */

.feature__main{

    width:100%;

}

.feature__main img{

    width:100%;

    display:block;

}


/*=========================
サムネイル
=========================*/

.feature__thumbs{

    margin-top:18px;

    gap:12px;

}

.feature__thumb{

    outline-offset:3px;

}


/*=========================
テキスト
=========================*/

.feature__content{

    width:100%;

}

.feature__title{

    margin-bottom:30px;

    font-size:28px;

    line-height:1.5;

}

.feature__text{

    font-size:14px;

    line-height:2;

}

.feature__text p{

    margin-bottom:28px;

}
	.marquee{

    padding:40px 0;

}

.marquee__track span{

    padding-right:40px;

    font-size:70px;

}

.marquee__track{

    animation-duration:22s;

}
	.recommend{

    padding:90px 0;

}

.recommend__inner{

    width:100%;

}


/*=========================
タイトル
=========================*/

.recommend__heading{

    margin-bottom:50px;

    padding:0 20px;

}

.recommend__heading-main{

    gap:18px;

}

.recommend__heading-line{

    flex:1;

    height:1px;

}

.recommend__title{

    font-size:30px;

}

.recommend__en{

    margin-top:10px;

    font-size:16px;

}


/*=========================
横スクロール
=========================*/

.recommend__list{

    display:block;

    gap:18px;

    overflow-x:auto;

    overflow-y:hidden;

    padding:0 20px 15px;

    scroll-snap-type:x mandatory;

    -webkit-overflow-scrolling:touch;

}


/* スクロールバー非表示 */

.recommend__list::-webkit-scrollbar{

    display:none;

}

.recommend__list{

    scrollbar-width:none;

}


/*=========================
カード
=========================*/

.recommend-card{

    flex:0 0 82%;

    width:auto;

    scroll-snap-align:start;

}


/*=========================
画像
=========================*/

.recommend-card__image{

    height:260px;

}

.recommend-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

}


/*=========================
文字
=========================*/

.recommend-card__body{

    padding-top:16px;

}

.recommend-card__title{

    font-size:22px;

    margin-bottom:8px;

}

.recommend-card__price{

    font-size:16px;

}
	   .recommend-button{

        margin-top:55px;

        padding:0 20px;

    }

    .recommend-button__link{

        width:100%;
        max-width:none;

        height:70px;

        font-size:20px;

    }

    .recommend-button__link::before{

        top:7px;
        right:10px;
        bottom:7px;
        left:10px;

    }
	
.flow{

    padding:90px 0;

}

.flow__inner{

    width:100%;

    padding:0 20px;

    box-sizing:border-box;

}

.flow__title{

    margin-bottom:45px;

    font-size:24px;

    line-height:1.5;

}

.flow__image{

    overflow-x:auto;

    -webkit-overflow-scrolling:touch;

}

.flow__image::-webkit-scrollbar{

    display:none;

}

.flow__title::after{

    content:"";

    position:absolute;

    left:50%;
    bottom:18px;

    transform:translateX(-50%);

    width:2px;
    height:40px;

    background:#333;

}
.flow__image{

    scrollbar-width:none;

}

.flow__image img{

    width:950px;

    max-width:none;

}
	.faq{

    padding:90px 0;

}

.faq__inner{

    width:100%;

    padding:0 20px;

    box-sizing:border-box;

    display:block;

}


/*=========================
左
=========================*/

.faq__left{

    width:100%;

    margin-bottom:45px;

}

.faq__title{

    font-size:38px;

    text-align:center;

    line-height:1.4;

}


/*=========================
右
=========================*/

.faq__right{

    width:100%;

}


/*=========================
質問
=========================*/

.faq__question{

    height:auto;

    min-height:78px;

    padding:22px 20px;

    gap:14px;

    align-items:flex-start;

}


/* Q */

.faq__question span{

    font-size:22px;

    flex-shrink:0;

}


/* タイトル */

.faq__question p{

    font-size:18px;

    line-height:1.6;

}


/*=========================
回答
=========================*/

.faq__answer p{

    padding:25px 20px;

    font-size:16px;

    line-height:1.9;

}


/* A */

.faq__answer strong{

    font-size:22px;

}
	.message{

    padding:90px 0;

}

.message__inner{

    width:100%;

    padding:0 20px;

    box-sizing:border-box;

}


/*=========================
レイアウト
=========================*/

.message__content{

    margin-top:45px;

    display:block;

}


/*=========================
画像
=========================*/

.message__image{

    width:100%;

    margin-bottom:45px;

}

.message__image img{

    width:100%;

    height:420px;

    object-fit:cover;

}


/*=========================
右テキスト
=========================*/

.message__text{

    width:100%;

    padding-top:0;

}


/*=========================
名前
=========================*/

.message__text h3{

    font-size:28px;

    line-height:1.5;

}


/*=========================
横線
=========================*/

.message__border{

    margin:18px 0 30px;

    height:1px;

}


/*=========================
本文
=========================*/

.message__text p{

    margin-bottom:28px;

    font-size:16px;

    line-height:2;

}

.message__text p:last-child{

    margin-bottom:0;

}

.blog__inner{

    width:100%;

    padding:0 20px;

    box-sizing:border-box;

}


/*=========================
一覧
=========================*/

.blog__list{

    margin-top:45px;

}


/*=========================
記事
=========================*/

.blog__item{

    display:flex;

    flex-direction:column;

    align-items:flex-start;

    gap:15px;

    padding:30px 0;

    border-bottom:1px solid #ddd;

}

.blog__item:first-child{

    border-top:1px solid #ddd;

}


/*=========================
カテゴリー
=========================*/

.blog__category{

    width:90px;

    height:36px;

    font-size:15px;

    border:1px dashed #999;

}


/*=========================
日付
=========================*/

.blog__date{

    font-size:15px;

    color:#666;

}


/*=========================
タイトル
=========================*/

.blog__title{

    width:100%;

    font-size:18px;

    line-height:1.7;

    font-weight:500;

}


/*=========================
Hover解除
=========================*/

.blog__item:hover{

    background:none;

}

.blog__item:hover .blog__title{

    color:#333;

}
.archive-news__fv{

    padding:80px 0 50px;

}

.archive-news__fv-inner{

    width:calc(100% - 40px);

}

.archive-news__title{

    font-size:32px;

    line-height:1.4;

}

.archive-news__sub{

    margin-top:8px;

    font-size:14px;

    letter-spacing:.15em;

}


/*=========================
一覧
=========================*/

.archive-news__section{

    padding-bottom:90px;

}

.archive-news__inner{

    width:calc(100% - 40px);

}


/*=========================
2列
=========================*/

.archive-news__grid{

    grid-template-columns:repeat(2,1fr);

    gap:45px 16px;

}


/*=========================
画像
=========================*/

.archive-news-card__image{

    aspect-ratio:1/1;

}


/*=========================
メタ
=========================*/

.archive-news-card__meta{

    display:block;

    margin-top:12px;

}

.archive-news-card__category{

    display:inline-flex;

    min-width:70px;

    height:28px;

    padding:0 10px;

    font-size:11px;

}

.archive-news-card__date{

    display:block;

    margin-top:8px;

    font-size:12px;

}


/*=========================
タイトル
=========================*/

.archive-news-card__title{

    margin-top:10px;

    font-size:15px;

    line-height:1.6;

}


/*=========================
ページネーション
=========================*/

.archive-news__pagination{

    margin-top:60px;

}

.archive-news__pagination .page-numbers{

    width:38px;

    height:38px;

    margin:0 3px;

    font-size:13px;

}
	.footer{

    padding:60px 20px;

}

.footer__inner{

    width:100%;

    display:flex;

    flex-direction:column;

    align-items:center;

}


/*=========================
左
=========================*/

.footer__left{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:20px;

}


/* ロゴ */

.footer__logo img{

    width:90px;

}


/* Instagram */

.footer__instagram img{

    width:48px;

}


/*=========================
ナビ
=========================*/

.footer__nav{

    width:100%;

    margin-top:45px;

}

.footer__nav ul{

    display:flex;

    flex-direction:column;

    gap:24px;

    align-items:center;

}

.footer__nav li{

    width:100%;

    text-align:center;

}


/* リンク */

.footer__nav a{

    display:inline-block;

    font-size:15px;

    padding-bottom:8px;

}


/* 点線 */

.footer__nav a::after{

    height:1px;

}
	.single-news__fv{

    padding:80px 0 45px;

}

.single-news__fv-inner{

    width:calc(100% - 40px);

}


/*=========================
タイトル
=========================*/

.single-news__title{

    font-size:30px;

    line-height:1.5;

    letter-spacing:.05em;

}


/*=========================
メタ
=========================*/

.single-news__meta{

    flex-wrap:wrap;

    gap:12px;

    margin-top:20px;

}

.single-news__category{

    min-width:70px;

    height:28px;

    padding:0 10px;

    font-size:12px;

}

.single-news__date{

    font-size:13px;

}


/*=========================
本文
=========================*/

.single-news__section{

    padding-bottom:90px;

}

.single-news__inner{

    width:calc(100% - 40px);

}

.single-news__thumbnail{

    margin-bottom:35px;

}


/*=========================
文章
=========================*/

.single-news__content{

    font-size:16px;

    line-height:2;

}

.single-news__content p{

    margin-bottom:25px;

}


/*=========================
H2
=========================*/

.single-news__content h2{

    margin:55px 0 22px;

    padding-bottom:12px;

    font-size:24px;

}


/*=========================
H3
=========================*/

.single-news__content h3{

    margin:45px 0 18px;

    padding-left:12px;

    font-size:20px;

}


/*=========================
画像
=========================*/

.single-news__content img{

    margin:35px auto;

}


/*=========================
リスト
=========================*/

.single-news__content ul,

.single-news__content ol{

    margin:20px 0 30px 20px;

}


/*=========================
テーブル
=========================*/

.single-news__content table{

    display:block;

    overflow-x:auto;

    white-space:nowrap;

}


/*=========================
YouTube・iframe
=========================*/

.single-news__content iframe{

    width:100%;

    max-width:100%;

}


/*=========================
引用
=========================*/

.single-news__content blockquote{

    padding:18px;

    margin:30px 0;

}
	/*======================================
CONTACT PAGE SP
======================================*/

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

.contact-page__fv{

    padding:80px 0 45px;

}

.contact-page__fv-inner{

    width:calc(100% - 40px);

}


/*=========================
タイトル
=========================*/

.contact-page__title{

    font-size:32px;

    line-height:1.4;

}

.contact-page__sub{

    margin-top:8px;

    font-size:14px;

}


/*=========================
フォーム
=========================*/

.contact-page__section{

    padding-bottom:90px;

}

.contact-page__inner{

    width:calc(100% - 40px);

}


/*=========================
入力欄
=========================*/

.contact-page input[type="text"],

.contact-page input[type="email"],

.contact-page input[type="tel"]{

    height:62px;

    padding:0 18px;

    font-size:15px;

}


/*=========================
テキストエリア
=========================*/

.contact-page textarea{

    height:180px;

    padding:18px;

    font-size:15px;

}


/*=========================
送信ボタン
=========================*/

.contact-page .wpcf7-submit{

    width:100%;

    height:60px;

    margin-top:35px;

    font-size:16px;

}


/*=========================
エラー
=========================*/

.contact-page .wpcf7-not-valid-tip{

    font-size:12px;

}

.contact-page .wpcf7-response-output{

    font-size:14px;

}
	/*=========================
ページタイトル
=========================*/

.products-page__fv{

    padding:80px 0 50px;

}

.products-page__fv-inner{

    width:calc(100% - 40px);

}

.products-page__title{

    font-size:32px;

    line-height:1.4;

    letter-spacing:.08em;

}

.products-page__sub{

    margin-top:8px;

    font-size:14px;

}


/*=========================
一覧
=========================*/

.products-page__section{

    padding-bottom:90px;

}

.products-page__inner{

    width:calc(100% - 30px);

}


/*=========================
2列レイアウト
=========================*/

.products-page__grid{

    grid-template-columns:repeat(2,1fr);

    gap:40px 0px;

}


/*=========================
画像
=========================*/

.products-card__image{

    aspect-ratio:4 / 5;

}


/*=========================
商品名
=========================*/

.products-card__title{

    margin:12px 0 6px;

    font-size:16px;

    line-height:1.5;

    display:-webkit-box;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    overflow:hidden;

}


/*=========================
価格
=========================*/

.products-card__price{

    font-size:15px;

    font-weight:600;

}


/*=========================
ページネーション
=========================*/

.products-page__pagination{

    margin-top:60px;

}

.products-page__pagination .page-numbers{

    width:40px;

    height:40px;

    margin:0 3px;

    font-size:13px;

}
/*======================================
RECOMMEND SUB
======================================*/

.recommend-sub{

    margin-top:60px;

    grid-template-columns:repeat(2,1fr);

    gap:18px;
    padding-left:10px;
	padding-right:10px;
}
/*=========================
画像
=========================*/

.recommend-sub__image{

    overflow:hidden;

    border:1px solid #dcdcdc;

    background:#fff;

}

.recommend-sub__image img{

    width:100%;

    aspect-ratio:1 / 1;

    object-fit:cover;

    display:block;

    transition:.6s;

}

.recommend-sub__card:hover img{

    transform:scale(1.05);

}


/*=========================
商品名
=========================*/

.recommend-sub__card h3{

    margin:18px 0 10px;

    color:#333;

    font-size:18px;

    font-weight:700;

    line-height:1.5;

    letter-spacing:.05em;

}


/*=========================
価格
=========================*/

.recommend-sub__card p{

    margin:0;

    color:#666;

    font-size:14px;

    line-height:1.6;

}
	.single-news__back{

    margin-top:60px;

}

.single-news__back a{

    width:100%;

    max-width:300px;

    height:60px;

    font-size:16px;

}
}