﻿@charset "UTF-8";
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:#fff;
  color:#333;
  font-family:
    "Zen Old Mincho",
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "MS PMincho",
    serif;
}
html, body{
  overflow-x:hidden;
}
.pane-contents {
  padding-bottom:0!important;
}
/* =========================
  Header height rules（Base）
========================= */
:root{
  --header-h:95px;
  --gnav-h:0px;
  --hd-top-h:calc(var(--header-h) - var(--gnav-h));
  --hd-pad-y:12px;
  --hd-pad-x:20px;
  --noticebar-h:40px;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus{
  outline:none;
  box-shadow:none;
}

.page-top main.pane-main{
  display:flex;
  flex-direction:column;
  padding:calc(var(--header-h) + var(--noticebar-h)) 0 0;
}

body:not(.page-top) main.pane-main{
  display:flex;
  flex-direction:column;
  padding-top:95px;
}
.mt10 {
  margin-top:10px!important;
}
.mt20 {
  margin-top:20px!important;
}
.mt30 {
  margin-top:30px!important;
}
.mt60 {
  margin-top:60px!important;
}
.mt90 {
  margin-top:90px!important;
}


.hd-searchpanel__field {
  display:none;
}

/* =========================
  Image hover（opacity only / PC）
========================= */
@media (hover:hover) and (pointer:fine){

  a img,
  .is-hover-img{
    transition: opacity 0.2s ease;
  }

  a:hover img,
  .is-hover-img:hover{
    opacity:0.5;
  }
}

.sp-only{
  display: none;
}
@media (max-width: 767px){
  .sp-only{
    display: block;
  }
}

/* =========================
  Header（Base）
========================= */
#header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:10000;
  background:#fff;
}

.hd-top{
  position:relative;
  height:var(--hd-top-h);
  padding:var(--hd-pad-y) var(--hd-pad-x);
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:space-between;
}



/* ---------- ロゴ ---------- */
.hd-logo img{
  width:min(70px, 10vw);
  height:auto;
}

/* かご 数量（丸囲み） */
/* 親を基準にする */
.hd-icon{
  position: relative;
}

/* かご 数量バッジ */
.block-headernav--cart-count{
  position: absolute;
  top: -6px;
  right: 5px;
  font-family:
    "Yu Gothic",
    "游ゴシック",
    YuGothic,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
  font-weight:700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  font-size: 13px;
  line-height: 1;
  color: #bf292a;
  background: #fff;
  border: 1.5px solid #bf292a;
  border-radius: 50%;
  box-sizing: border-box;
  z-index: 2;
}
@media (max-width:767px){
  .hd-top{
    padding-right:calc(var(--hd-pad-x) + var(--ham));
    border-bottom: 1px solid #73aab7;
  }
  .block-headernav--cart-count{
    top: -10px;
    right: 0;
    width: 22px;
    height: 22px;
    font-size: 13px;
  }
}



/* 追加ロゴ：デフォルトは非表示（PCでも最初は隠す） */
.hd-logo-sub{
  display:none;
  overflow:hidden; /* ★念のため：大きいロゴでもはみ出しを隠す */
}
.hd-logo-sub__img{
  display:block;
  height:auto;
  max-width:100%;
}

.hd-tel {
  display:none;
}
/* PCのみ対象 */
@media (min-width:768px){

  /* 通常時：左TEL表示、中央ロゴ表示 */
  .hd-logo{display:block;}

  /* ★中央ロゴ：displayは触らず opacityのみ（座標ズレ防止） */



  /* ★スクロール後：変数上書きでヘッダーを縮める */
  body.is-pc-scrolled{
    --header-h:80px;         /* スクロール後のヘッダー高 */
    --gnav-h:0px;
    --hd-top-h:calc(var(--header-h) - var(--gnav-h));
    --hd-pad-y:8px;
  }

  /* スクロール後：左TELを隠す */
  body.is-pc-scrolled .hd-tel{
    display:none;
  }

  /* スクロール後：左の代替ロゴを表示（固定） */
  body.is-pc-scrolled .hd-logo-sub{
    display:block;
    width:70px;
    height:70px;
    overflow:hidden;

    /* ★演出：ふわっと出す（display切替なのでopacityは補助的に） */
  }

  @keyframes hdLogoSubIn{
    to{
      opacity:1;
      transform: scale(1);
    }
  }

  /* ★固定枠に必ず収める（縦横どっちが大きくてもOK） */
  body.is-pc-scrolled .hd-logo-sub__img{
    width:100%;
    height:100%;
    max-width:none;
    max-height:none;
    object-fit:contain;
    display:block;
  }

  /* スクロール後：中央ロゴを隠す（display:none禁止。opacityのみ） */
  body.is-pc-scrolled .hd-logo{
    opacity:0;
    pointer-events:none;
    transition-delay: 0s; /* ★スクロール開始時はすぐ消す */
  }
}

@media (min-width:768px){
  main {
    box-sizing: border-box;
    max-width: 100%;
    overflow-x: hidden;
  }
  main:has(.block-filter--treelist-layer){
    overflow-x: visible;
  }

}



/* =========================
  Hover effects（PC only）
========================= */
@media (hover:hover) and (pointer:fine){

  .hd-icon__img{
    transition:
      filter 0.2s ease,
      transform 0.2s ease;
  }

  .hd-icon:hover .hd-icon__img{
    transform: translateY(-2px);
  }
}




/* =========================
  [title] block-top-event タイトル調整
  - 上下逆
  - メイン：明朝 32px（SP 28px）
  - サブ（span）：ゴシック 14px normal / margin-bottom:10px
========================= */

h2.block-top-title{
  display: flex;
  flex-direction: column-reverse;
  font-family:
  "Zen Old Mincho",
  "Hiragino Mincho ProN",
  "Yu Mincho",
  "MS PMincho",
   serif;
  font-size: 32px;
  line-height: 1.3;
  color:#333;
  padding-top:0;
  padding-bottom:20px;
  color:#333;
}

h2.block-top-title span{
  font-family:
  "Yu Gothic",
  "Yu Gothic Medium",
  "游ゴシック体",
  "Hiragino Kaku Gothic ProN",
  "Meiryo",
  sans-serif;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 10px;
  line-height: 1.4;
  color:#333;
}

@media (max-width:767px){
  h2.block-top-title{
    font-size: 28px;
  }
}





/* PC/SP 表示制御 */
.is-pc-only{display:inline-flex;}


/* =========================
  PC：1000px以上
========================= */
@media (min-width:1000px){
  .hd-icons{ gap:14px; }
  .hd-icon{ font-size:11px; min-width:56px; }
  .hd-icon__img{ width:32px; height:32px; }
}

/* =========================
  PC：1000px未満
========================= */
@media (max-width:999px) and (min-width:768px){
  :root{
    --hd-pad-y:clamp(8px, 1.2vw, 12px);
    --hd-pad-x:clamp(12px, 2.0vw, 20px);
  }
  .hd-icons{ gap:8px; }
  .hd-icon{ font-size:clamp(10px, 1.0vw, 11px); min-width:48px; }
  .hd-icon__img{ width:28px; height:28px; }
}

/* =========================
  SP（縦向き含む）
========================= */
@media (max-width:767px){
  :root{
    --ham:min(96px, 18vw);
    --header-h:var(--ham);
    --gnav-h:0px;
    --hd-top-h:var(--ham);
    --hd-pad-y:10px;
    --hd-pad-x:14px;
  }

  .hd-logo img{
    width:56px;
    height:56px;
  }

  .hd-icon{
    font-size:9px!important;
    min-width:46px;
	gap:6px;
  }
  .hd-icon__img{
    width:clamp(24px, 6.7vw, 30px)!important;
    height:auto;
  }

  .hd-icons{
    gap:clamp(6px, 1.8vw, 10px);
  }

  .is-pc-only{display:none;}
  .is-sp-only{display:block!important;}
  .hd-hamburger{
    display:flex;
    position:absolute;
    top:0;
    right:0;
    width:var(--ham);
    height:var(--ham);
    background:#bf292a;
    align-items:center;
    justify-content:center;
  }

}

/* =========================
  SP 横向き（landscape）調整 ver.3.1
========================= */
@media (max-width:767px) and (orientation: landscape){
  :root{
    --ham:72px;
    --header-h:72px;
    --hd-top-h:72px;
    --hd-pad-y:6px;
    --hd-pad-x:16px; /* 左右余白を広く */
  }

  .hd-top{
    padding-right:calc(var(--hd-pad-x) + var(--ham));
  }

  /* ロゴを少し大きく */
  .hd-logo img{
    width:55px;
    height:55px;
  }

  /* アイコンを少し大きく */
  .hd-icon__img{
    width:28px!important;
  }

  /* フォントを少し大きく */
  .hd-icon{
    font-size:10px!important;
    min-width:44px;
  }

  /* アイコン間の余白を広げる */
  .hd-icons{
    gap:16px;
  }
}



/* カート以降調整 */
.block-cart--goods-list-item-delete-btn,form .btn  {
    font-family:
    "Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif!important;
}

input[type="submit"].block-cart--goods-list-item-delete-btn{
    font-family:
    "Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif!important;
}





/* =========================
  Footer アイコンセット（共通）
========================= */
.pane-footer {
  margin-top:50px;
  background:#fff!important;
  padding:0!important;
}

.page-top .footer-iconset {
  margin-top:150px;  /* トップ用調整 */
  padding-bottom:70px;
}


/* 全体 */
.footer-iconset{
  width:100%;
  max-width:1000px;
  margin:0 auto;
  box-sizing:border-box;
}

/* トップページ以外の footer-icon */
body:not(.page-top) .footer-iconset{
  padding:0 1%!important;
}



/* リスト（PC / SP 共通：3列×2段） */
.footer-iconset__list{
  list-style:none;
  margin:0;
  padding:0;

  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:15px; /* PCの余白 */
}

/* パネル */
.footer-iconset__item{
  width:calc((100% - 40px) / 3); /* 3列 */
  box-sizing:border-box;
  position:relative;
}

/* リンク（PC：横並び） */
.footer-iconset__link{
  display:flex;
  align-items:center;
  gap:14px;

  border:1px solid #4d4d4d;
  background:#fff;

  padding:18px 16px;
  box-sizing:border-box;

  text-decoration:none;
  color:#333;

  position:relative;
}

/* 画像 */
.footer-iconset__icon{
  width:40px;
  height:auto;
  display:block;
  flex:0 0 auto;
}

/* テキスト */
.footer-iconset__text{
  font-family:
    "Yu Gothic",
    "Yu Gothic Medium",
    "游ゴシック体",
    "Hiragino Kaku Gothic ProN",
    "Meiryo",
    sans-serif;
  font-size:16px;
  font-weight:700;
  line-height:1.3;
  margin-top:5px;
}


/* =========================
  SP（3列×2段）
  ・上下は実線
  ・中の仕切りは接触しない
========================= */
@media (max-width:767px){

  .footer-iconset{
    max-width:none;
  }

  /* 上下の実線：borderではなく疑似要素で描画（確実に #73aab7） */
  .footer-iconset__list{
    position:relative;
    gap:0;
    border:0 !important; /* 既存borderは無効化（ダブり防止） */
  }

  .footer-iconset__list::before,
  .footer-iconset__list::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    height:1px;
    background:#73aab7;
    pointer-events:none;
    z-index:5;
  }

.footer-iconset__list::before{ top:0; }
.footer-iconset__list::after{ bottom:0; }

  .footer-iconset__item{
    width:calc(100% / 3);
  }

  /* リンク（SP：縦並び） */
  .footer-iconset__link{
    flex-direction:column;
    align-items:center;
    gap:15px;
    border:0;
    background:#fff;
    padding:20px 0;
    text-align:center;
  }

  /* 縦の仕切り線（非接触） */
  .footer-iconset__item:not(:nth-child(3n)) .footer-iconset__link::after{
    content:"";
    position:absolute;
    top:6px;
    bottom:6px;
    right:0;
    width:1px;
    background:#73aab7;
  }

  /* 横の仕切り線（非接触） */
  .footer-iconset__item:nth-child(-n+3) .footer-iconset__link::before{
    content:"";
    position:absolute;
    left:6px;
    right:6px;
    bottom:0;
    height:1px;
    background:#73aab7;
  }

  .footer-iconset__icon{
    width:40px;
  }

  .footer-iconset__text{
    font-size:14px;
    line-height:1.4;
    margin-top:0;
  }
}

/* hover装飾 */
.footer-iconset__link:hover{
  background: #e6f1f2;
  border-color: #73aab7;
  text-decoration: none;
}

.footer-iconset__item:hover{
  background: #e6f1f2;
  text-decoration: none;
}

.footer-iconset__item:hover .footer-iconset__link{
  text-decoration: none;
  color:#73aab7;
}






/* =========================
  Footer お問い合わせ
========================= */


.ft-contact{
  width:100%;
  position:relative;
}

.page-top .ft-contact{
  background:
    url("../../img/usr/common/pc/bg_island2.jpg")
    no-repeat
    center top / 100% auto;
}



/* 白背景が透けて背景画像が見える */
.page-top .ft-contact::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.42);
  pointer-events:none;
}

.ft-contact__inner{
  position:relative;
  max-width:1000px;
  width:100%;
  margin:50px auto 0;
  padding:50px 20px 60px;
  box-sizing:border-box;
}
.page-top .ft-contact__inner{
  margin-top:0;
}

/* タイトル：明朝 */
.ft-contact__ttl{
  margin:0;
  color:#333;
  font-family:
    "Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif;
  font-weight:700;
  font-size:22px;
  line-height:1.4;
  text-align:left; /* PC：左寄せ */
}

/* 下線（これ1本のみ） */
.ft-contact__line{
  width:100%;
  height:1px;
  background:#4d4d4d;
  margin:14px 0 45px;
}

/* 画像3点（PC：横並び） */
.ft-contact__items{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  column-gap:24px; /* PCは詰めて、端に寄せやすく */
}

.ft-contact__item{
  flex:1 1 0;
  display:flex; /* 端寄せ用 */
}

/* PC：左・中・右の寄せ */
.ft-contact__item:first-child{
  justify-content:flex-start;
}
.ft-contact__item:nth-child(2){
  justify-content:center;
}
.ft-contact__item:last-child{
  justify-content:flex-end;
}

/* PC：画像を大きく（80%指定はSPに閉じ込める） */
.ft-contact__item img{
  width:100%;
  max-width:290px;
  height:auto;
  display:block;
}

/* =========================
  SP
========================= */
@media (max-width:767px){
  .page-top .ft-contact{
    /* 背景画像（SP） */
    background:
      url("../../img/usr/common/sp/bg_island2.jpg")
      no-repeat
      center top / 100% auto;
  }

  .ft-contact__inner{
    max-width:none;
    width:100%;
    padding:38px 0 110px;
    margin:0;
  }



  .page-top .ft-contact::before{
    background:rgba(255,255,255,.42); /* 例：同じ */
    /* background:rgba(255,255,255,.3); ← さらに透けさせたい場合 */
  }



  .ft-contact__ttl{
    font-size:18px;
    text-align:center; /* SP：中央 */
  }

  .ft-contact__line{
    margin:12px auto 24px;
    width:92%;
  }

  .ft-contact__items{
    display:block; /* SP：縦並び */
  }

  .ft-contact__item{
    display:block; /* SPは寄せ指定不要 */
  }

  /* SP：画像80%（中央） */
  .ft-contact__item img{
    width:80%;
    margin:0 auto;
  }

  .ft-contact__item + .ft-contact__item{
    margin-top:30px;
  }
}



/* =========================
  FAX 注文用紙ダウンロード
========================= */
.ft-contact__inner{
  position:relative; /* 念のため（すでに指定済み） */
}

.ft-contact__faxdl{
  position:absolute;
  z-index:5;
  display:block;
  text-decoration:none;
}

/* 画像共通 */
.ft-contact__faxdl img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
}

/* =========================
  PC：右上
========================= */
@media (min-width:768px){
  .ft-contact__faxdl{
    top:20px;
    right:20px;
  }

  .ft-contact__faxdl img{
    content:url("../../img/usr/common/pc/fax_dl.png");
    width:160px;
  }
}

/* =========================
  SP：右下
========================= */
@media (max-width:767px){
  .ft-contact__faxdl{
    bottom:25px;
    right:0;
  }

  .ft-contact__faxdl img{
    content:url("../../img/usr/common/sp/fax_dl.png");
    width:180px;
  }
}





/* トップ以外の共通 css */
body:not(.page-top) .hd-gnav{
  border-bottom: 1px solid #73aab7;
}
/*
body .pane-contents{
  content:'';
}
*/


/* パンくず → 先頭へ */
.block-category-list{
  display: flex;
  flex-direction: column;
}
.block-category-list .block-topic-path{
  order: 0;
  font-family:
    "Yu Gothic",
    "Yu Gothic Medium",
    "游ゴシック体",
    "Hiragino Kaku Gothic ProN",
    "Meiryo",
    sans-serif;
}
.block-topic-path,
.block-topic-path li,
.block-topic-path a{
  font-size: 12px;
}


.block-category-list > :not(.block-topic-path){
  order: 1;
}
/* ホーム：画像置き換え */
.block-topic-path--item__home a span{
  display:inline-block;
  width:14px;
  height:14px;
  background:url("../../img/usr/common/home.png")
             no-repeat center / contain;
  text-indent: -9999px;
  overflow:hidden;
  vertical-align: middle;
  transform: translateY(-2px);
}

/* パンくず：背景を画面幅いっぱいに引き延ばす（ズレ・空白対策込み） */
.block-topic-path{
  position: relative;
  left: 50%;
  right: 50%;
  width: 100vw;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: 0;
  margin-bottom: 0;
  box-sizing: border-box;
  background: #e6f1f2!important;
  padding: 8px 0!important;
  border: none;
}

/* 中身だけ1000pxに制限 */
.block-topic-path--list{
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.block-topic-path--category-item a {
  padding:0 5px;
}



.block-category-list{
  display:flex;
  flex-direction:column;
}

/* 1) 見出し */
.block-category-list--header{
  order: 0;
}

/* 2) パンくず */
.block-topic-path{
  order: 1;
}

/* 3) コメント */
.block-category-list--comment{
  order: 2;
}

/* 4) カテゴリメニュー */
#catemenu{
  order: 3;
}

/* 5) その他 */
.block-category-list > :not(.block-category-list--header):not(.block-topic-path):not(.block-category-list--comment):not(#catemenu){
  order: 4;
}

@media (max-width:767px){
  .block-topic-path--item__home a span{
    width:16px;
    height:16px;
  }
  .block-topic-path{
    padding: 8px 0;
  }
  .block-topic-path,
  .block-topic-path li,
  .block-topic-path a{
    font-size: 14px;
  }

}



/* カテゴリタイトル */
.block-category-list--header{
  font-family:
    "Zen Old Mincho",
    "Hiragino Mincho ProN",
    "Yu Mincho",
    "MS PMincho",
    serif;
  text-align: center;
  padding-top:50px!important;
  margin-bottom:10px!important;
  font-size:30px;
  color:#333;
}

.block-category-list--comment{
  font-family:
    "Yu Gothic",
    "Yu Gothic Medium",
    "游ゴシック体",
    "Hiragino Kaku Gothic ProN",
    "Meiryo",
    sans-serif;
  color:#333;
  text-align: center;
  font-size:16px;
  margin-bottom:70px;
}





.block-category-list{
  position: relative;
  z-index: 0;
}

/* 背景：高さに合わせて画像をフィット */
.block-category-list::before{
  content: "";
  position: absolute;
  top: 34px;
  left: 50%;
  width: 100vw;
  height: 230px;
  margin-left: -50vw;

  background-image: url("../../img/usr/common/pc/cate_wave.png");
  background-repeat: repeat-x;
  background-position: center top;
  background-size: auto 100%;

  z-index: -1;
}



/* SP */
@media (max-width: 767px){
  .block-category-list::before{
    top: 37px;
    background-image: url("../../img/usr/common/sp/cate_wave.png");
    height: 240px;
  }

  .block-category-list--comment{
    margin-bottom:50px;
  }

}



/* ログイン */

.page-login .block-login--member-body {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
  font-size:16px;  
}

.page-login .block-login--display-password {
  font-size:15px;
}
.page-login .form-control.form-pwd {
  margin-bottom:10px;
}
.page-login .btn.btn-primary.block-login--login {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
  font-size:16px;  
}
.page-login .block-login--body label {
  font-size:15px;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
}
.page-login .block-login--linelogin-text p {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
  font-size:16px;  
}

.line_word {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
}

@media (max-width: 767px){
  .page-login .block-login--linelogin-contents {
    padding:15px 0;
  }

}




/* のし */
.page-noshi .block-order-gift-noshi div{
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
  font-size:16px;
}
.page-noshi h2 {
  font-family: "Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif!important;
}
.page-noshi .block-order-gift-noshi--noshi-container-title  {
  padding-top:40px;
}
.page-noshi .block-order-gift-noshi--goods {
  margin-top:20px;
}
.page-noshi .block-order-gift-noshi--purpose-content-body .block-order-gift-noshi--purpose-select li {
  margin-right:20px;
}


.page-noshi .block-order-gift-noshi--paper-select li {
  text-align:center;
  padding-bottom:20px;
}
.page-noshi .block-order-gift-noshi--paper-content-body {
  padding:20px 0 20px 20px!important;
}
.page-noshi .block-order-gift-noshi--paper-select li img{
  margin-bottom:10px;
}
.page-noshi .block-order-gift-noshi--paper-select li .block-order-gift-noshi--paper-item-name{
  margin-right:20px;
}


.page-noshi .block-order-gift-noshi--nameprint-content-body li {
  text-align:center;
  padding-bottom:20px;
}
.page-noshi .block-order-gift-noshi--nameprint-select li img{
  margin-bottom:10px;
}
.page-noshi .block-order-gift-noshi--nameprint-select li .block-order-gift-noshi--item-name{
  margin-right:10px;
}


.page-noshi .block-order-gift-noshi--wrap-container-body li {
  text-align:center;
  padding-bottom:20px;
}
.page-noshi .block-order-gift-noshi--wrap-container-body li img{
  margin-bottom:10px;
}
.page-noshi .block-order-gift-noshi--wrap-container-body li .block-order-gift-noshi--wrap-item-name{
  margin-right:10px;
}

.page-noshi .btn {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif!important;
}
.page-noshi .block-order-gift-noshi--setting-btn {
  font-weight:bold;
}

@media (max-width: 767px){

  .page-noshi .block-order-gift-noshi--noshi-container-title  {
    padding-top:20px;
  }
  .page-noshi .block-order-gift-noshi--goods {
    margin-top:0;
    font-size:16px!important;
  }

  .page-noshi .block-order-gift-noshi--sender {
    font-size:16px;
  }
  .page-noshi h3 {
    margin-top:30px;
  }
  .page-noshi label input {
    margin-bottom:5px;
  }
/*  margin:0 5px 5px 10px;*/

  .page-noshi label span {
    font-size:16px;
  }
  .page-noshi .block-order-gift-noshi--noshi-select label input {
    margin-left:10px;
    margin-right:5px;
  }
  .page-noshi .block-order-gift-noshi--purpose-select label input {
    margin-left:10px;
    margin-right:5px;
  }


  .page-noshi .block-order-gift-noshi--wrap-container-body li .block-order-gift-noshi--wrap-item-name{
    margin-right:0;
  }

  .page-noshi .block-order-gift-noshi--paper-content-body {
    padding-bottom:0!important;
  }
  .page-noshi .block-order-gift-noshi--paper-select li {
    margin-right:20px;
  }
  .page-noshi .block-order-gift-noshi--nameprint-select {
    padding-left:20px;
  }
  .page-noshi .block-order-gift-noshi--nameprint-select li {
    margin-right:20px;
  }
  .page-noshi .block-order-gift-noshi--wrap-select {
    padding-left:20px;
  }
  .page-noshi .block-order-gift-noshi--wrap-select li {
    margin-right:20px;
  }
  .page-noshi .block-order-gift-noshi--setting-message {
    font-size:16px;
  }
  .page-noshi .block-order-gift-noshi--setting-btn {
    font-size:18px;
  }

  .page-noshi .block-order-gift-noshi--nameprint-input table th,.page-noshi .block-order-gift-noshi--nameprint-input table td {
    font-size:16px;
  }


  
}



/* =========================
  Footer（最下部フッター）
========================= */
.ft-footer{
  width:100%;
  background:#e6f1f2;
  font-family:
    "Yu Gothic","Yu Gothic Medium","游ゴシック体",
    "Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
}

.ft-footer__inner{
  max-width:1140px;
  width:100%;
  margin:0 auto;
  padding:44px 0;
  box-sizing:border-box;

  display:flex;
  gap:0; /* PC：左右ブロックのギャップなし */
  align-items:flex-start;
}
@media (max-width: 1169px){
  .ft-footer__inner{
    padding:44px 10px;
  }

  .ft-footer__left{
    flex:0 0 47%!important;
  }
  .ft-footer__right{
    flex:0 0 53%!important;
  }
  .ft-footer-menu{
     column-gap:5px!important;
  }

}

/* =========================
  左右 50%（PC）
========================= */
.ft-footer__left{
  flex:1 1 0;
  min-width:0;
  order:1;
}

.ft-footer__right{
  flex:1 1 0;
  min-width:0;
  order:2;

  /* PC：メニュー3列＋SNS配置用 */
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  column-gap:28px;
  row-gap:8px;
}

/* =========================
  左ブロック(A)（PC）
  左：ロゴ（2行分）
  右：上「三陸おのや」／下「住所」
========================= */
.ft-footer-brand{
  display:grid;
  grid-template-columns:auto 1fr;
  column-gap:25px;
  row-gap:6px;
  align-items:start;
}

/* row内要素をgridに参加させる */
.ft-footer-brand__row{
  display:contents;
}

/* ロゴ：さらに大きく */
.ft-footer-brand__logo{
  grid-column:1;
  grid-row:1 / span 2;
  width:auto;
  height:100px; /* ← ロゴをさらに大きく */
  display:block;
}

/* 三陸おのや：20px */
.ft-footer-brand__name{
  grid-column:2;
  grid-row:1;
  font-weight:600;
  font-size:20px;
  line-height:1.25;
  margin:0;
}

/* 住所（会社情報）：14px */
.ft-footer-brand__company{
  grid-column:2;
  grid-row:2;
  margin:0;
  font-size:14px;
  font-size:clamp(12px, 1.5vw, 14px);
  line-height:1.7;
  font-weight:600;
}

/* =========================
  右ブロック(A)（PC）メニュー
========================= */
.ft-footer-menu{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px;
}

/* 親メニュー：16px */
.ft-footer-menu__parent{
  font-weight:600;
  font-size:clamp(14px, 1.6vw, 16px);
  line-height:1.4;
  position:relative;
  padding:8px 0 5px;
}

/* 子メニュー：13px＋縦幅を少し広く */
.ft-footer-menu__child{
  list-style:none;
  margin:10px 0 0;
  padding:0;
  font-family:
    "Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho","MS PMincho",serif;
  font-size:13px;
  line-height:2.3;
  font-weight:600;
}

.ft-footer-menu__child li{
  margin:0;
}

.ft-footer-menu__child a{
  color:#333;
  text-decoration:none;
  display:block;
  padding:0 0;
}

.ft-footer-menu__child a:hover{
  opacity:.75;
  
}

/* =========================
  SNS（PC）
  メニュー3の直下
========================= */
.ft-footer-sns{
  grid-column:3;
  grid-row:2;
  margin-top:15px;
  display:flex;
  gap:20px;
  align-items:center;
}

.ft-footer-sns__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.ft-footer-sns__link img{
  display:block;
  width:20px;
  height:auto;
}

/* =========================
  SP（アコーディオン）
========================= */
@media (max-width: 767px){

  .ft-footer__inner{
    max-width:none;
    padding:0 0 50px 0;
    flex-direction:column;
    gap:24px;
  }

  /* SP：右→左 */
  .ft-footer__right{
    order:1; display:block;
    width:100%;
  }
  .ft-footer__left{
    order:2;
    width:100%;
  }

  /* 左ブロック：縦並び */
  .ft-footer-brand{
    display:block;
  }

  .ft-footer-brand__row{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
  }

  .ft-footer-brand__logo{
    margin-top:25px;
    height:100px;
  }

  .ft-footer-brand__name{
    font-size:20px;
    margin-top:40px;
  }

  .ft-footer-brand__company{
    margin-top:16px;
    text-align:center;
  }

  /* メニュー：縦並び＋アコーディオン */
  .ft-footer-menu{
    display:grid;
    grid-template-columns:1fr;
    gap:0;
  }

  .ft-footer-menu__parent{
    padding:22px 40px 22px 10px;
    border-bottom:1px solid #73aab7;
    cursor:pointer;
  }

  .ft-footer-menu__icon{
    position:absolute;
    top:50%;
    right:5%;
    width:18px;
    height:18px;
    transform:translateY(-50%);
  }

  .ft-footer-menu__icon::before,
  .ft-footer-menu__icon::after{
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    width:15px;
    height:2px;
    background:#73aab7;
    transform:translate(-50%,-50%);
  }

  .ft-footer-menu__icon::after{
    transform:translate(-50%,-50%) rotate(90deg);
  }

  .ft-footer-menu__child{
    display:none;
    padding:0 0 12px 50px;
    margin:0;
    font-size:16px;
  }
  .ft-footer-menu__child a{
    padding:4px 0;
  }

  .ft-footer-menu__col.is-open .ft-footer-menu__parent{
    border-bottom:none;
  }

  .ft-footer-menu__col.is-open .ft-footer-menu__child{
    display:block;
  }

  .ft-footer-menu__col.is-open .ft-footer-menu__icon::after{
    display:none;
  }

  .ft-footer-sns{
    margin-top:25px;
    justify-content: center;
    gap:50px;
  }

  .ft-footer-sns__link img{
    width:40px;
  }


  
}



/* フッターのアコーディオン */
@media (max-width: 767px){

  /* 子メニュー（閉） */
  .ft-footer-menu__child{
    display:block;              /* none にしない */
    max-height:0;
    overflow:hidden;

    /* ★ここがズレ原因：閉じてる時はpaddingで高さを作らない */
    padding:0 0 0 50px;         /* ← bottomを0に */
    margin:0;
    font-size:16px;

    transition:
      max-height .12s ease,
      padding .12s ease;
  }

  /* 開いた状態 */
  .ft-footer-menu__col.is-open .ft-footer-menu__child{
    max-height:2000px;
    padding:0 0 12px 50px;      /* ←元のbottom 12pxに戻す */
  }

}
@media (max-width: 767px){

  /* 開いている項目の「次の親メニュー」の上に線を足す */
  .ft-footer-menu__col.is-open + .ft-footer-menu__col .ft-footer-menu__parent{
    border-top:1px solid #73aab7;
  }
  /* 最後の親メニューが開いているとき、colの最下部に仕切り線 */
  .ft-footer-menu__col.is-open:last-child{
    border-bottom:1px solid #73aab7;
  }
}



/* =========================
  Footer Copyright
========================= */
.footer-copyright{
  width:100%;
  background:#73aab7;
  color:#fff;
  text-align:center;
  font-family:
    "Yu Gothic",
    "Yu Gothic Medium",
    "游ゴシック体",
    "Hiragino Kaku Gothic ProN",
    "Meiryo",
    sans-serif;
  font-size:12px;
  padding:14px 10px;
  box-sizing:border-box;
}

/* PC */
@media (max-width:767px){
  .footer-copyright{
    font-size:11px;
    padding:16px 0;
  }
}
