@charset "UTF-8";

/**/
/* ベース */
.pB1 {
    padding-bottom: 1%;
}

.pB3 {
    padding-bottom: 3%;
}

.pB3 {
    padding-bottom: 5%;
}

.pB5 {
    padding-bottom: 5%;
}

.pB7 {
    padding-bottom: 7%;
}

.pB7 {
    padding-bottom: 5%;
}

.w60 {
    width: 60%;
}

.w70 {
    width: 70%;
}

.w85 {
    width: 85%;
}

.w90 {
    width: 90%;
}

#hatena {
    text-align: center;
    color: #4f4834;
    background-color: #fffcf0;
    font-family: 'Noto Sans JP', sans-serif;
    padding-bottom: 10%;
}

#hatena p {
    font-size: 19.6px;
    text-align: left;
    line-height: 2.0em;
    letter-spacing: 0.05em;
}

#hatena .yellow {
    background: linear-gradient(transparent 30%, #f4ecca 30%);
    display: inline;
}

/* タイトル */

#hatena .title {
    position: relative;
    margin: 8% 0 5%;
}

#hatena .q1 .title,
#hatena .q3 .title {
    margin: 0% 0 5%;
}

/* 解説 */

#hatena .answertxt {
    position: relative;
    margin: 5% 2%;
    padding: 15% 6% 28% 8%;
}

/* 解説の部分あしらい */

#hatena .answertxt::before,
#hatena .answertxt::after {
    position: absolute;
    content: '';
    display: inline-block;
    background-size: contain;
}

/* 解説の部分あしらい 前半 */

#hatena .answertxt::before {
    background: url(../images/txt_deco_01.png)no-repeat;
    top: 0;
    left: 0;
    height: 100%;
}

/* 解説の部分あしらい 後半 */

#hatena .answertxt::after {
    background: url(../images/txt_deco_02.png)no-repeat;
    bottom: 0%;
    right: 0;
    height: 45%;
}

/* Q1 */
#hatena .q1 .answertxt {
    padding: 16% 6% 17% 8%;
}

/* Q2 */
#hatena .q2 .answertxt {
    margin: 5% 2% 0;
}

#hatena .q2 .hiyoko_01 {
    position: absolute;
    top: -3%;
    left: 6%;
}

/* Q3 */
#hatena .q3 .onepoint {
    background-color: #faf3d5;
    border-radius: 7px;
    position: relative;
    margin: 12% 3% 15%;
    padding: 11% 6% 20% 7%;
}

/* Q3 画像部分 */
#hatena .q3_onepoint,
#hatena .q3_egg01,
#hatena .q3_egg02 {
    position: absolute;
}

#hatena .q3_onepoint {
    top: 3%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#hatena .q3_egg01 {
    bottom: 30%;
    right: 28%;
}

#hatena .q3_egg02 {
    bottom: 29%;
    right: 5%;
}

#hatena .q3 .answertxt {
    padding: 16% 6% 15% 8%;
}

/* Q4 */
#hatena .q4 .answertxt {
    margin: 6% 2%;
    padding: 16% 6% 17% 8%;
}

/* Q4 画像部分 */

#hatena .q4 .hiyoko_02,
#hatena .q4 .a4_food01,
#hatena .q4 .a4_food02,
#hatena .q4 .a4_food03,
#hatena .q4 .a4_food04 {
    position: absolute;
}

#hatena .q4 .hiyoko_02 {
    top: -3%;
    right: 6%;
}

#hatena .q4 .a4_food01 {
    top: 2%;
    right: 25%;
}

#hatena .q4 .a4_food02 {
    top: -3%;
    right: 12%;
    animation-delay: 0.2s;
}

#hatena .q4 .a4_food03 {
    bottom: 5%;
    left: 7%;
}

#hatena .q4 .a4_food04 {
    bottom: 5%;
    left: 27%;
    animation-delay: 0.2s;
}

#hatena .q4 .answertxt::after {
    bottom: -2%;
}

/* Q5 */
#hatena .q5 .answertxt {
    margin: 6% 2% 0;
    padding: 16% 6% 48% 8%;
}

/* Q5 画像部分 */

#hatena .q5 .a5_drink01,
#hatena .q5 .hiyoko_03 {
    position: absolute;
}

#hatena .q5 .a5_drink01 {
    bottom: 36%;
    right: 10%;
}

#hatena .q5 .hiyoko_03 {
    bottom: 7%;
    left: 10%;
}

#hatena .contents01 {
    position: relative;
    margin-bottom: 5%;
}

#hatena .contents01 .back {
    position: absolute;
    left: 15%;
    bottom: 17%;
}

#hatena .contents01 p {
    margin: 15% 3% 10%;
    text-align: center;
    font-size: 1.5em;
    font-weight: bold;
}

#hatena .contents01_item {
    width: 40%;
    transition: 0.2s;
    z-index: 5;
    position: relative;
}

/* SPEC */
#hatena .spec {
    position: relative;
    /*    width: 95%;*/
    margin: 0 auto;
}

#hatena .spec_item {
    position: absolute;
    left: 9%;
    top: 30%;
    width: 30%;
    transition: 0.2s;
}

#hatena .spec_icon {
    position: absolute;
    left: 24%;
    top: 24%;
}

/* 買い物ボタン */

/** 1個・2個共通 **/
#hatena .cp_btn {
    background-color: #4ba443;
    background: linear-gradient(90deg, #ffd68b, #ffbc64);
    margin: 5% auto;
    width: 65%;
    border-radius: 5px;
    box-shadow: 4px 4px #d88534;
    transition: 0.2s;
}

#hatena .spec .cp_btn {
    position: absolute;
    left: 50%;
    bottom: 2.5%;
    transform: translate(-50%, 0%);
}

#hatena .cp_btn a {
    color: #4f4834;
}

#hatena .cp_btn a:link {
    text-decoration: none;
    display: block;
    padding: 4% 4% 4% 9%;
    font-size: 2.0em;
}

#hatena .icon-cart {
    font-size: 1.2em;
    padding-right: 1%;
}

#hatena .icon-navi_right {
    font-size: 1.5em;
    padding-left: 3%;
    vertical-align: -7px;
}

/** オンマウス **/
#hatena .spec .cp_btn:hover {
    position: absolute;
    transform: translate(-49%, 2%);
}

#hatena .spec .spec_item:hover,
#hatena .contents01_item:hover {
    opacity: 0.8;
}

#hatena .attention {
    font-size: 0.75em;
    text-align: right;
    padding: 3% 3% 0 0;
}

/***カート画像無しカスタムカート***/

/*一番上*/
.other00 {
    background-color: #FFF;
    padding: 5% 0%;
}

/*枠の内側*/
#main00 .inc01 .other_item {
    margin: 7% 5%;
    padding: 2%;
    background-color: #FFF;
    position: relative;
}

/*枠の装飾*/
#main00 .inc01 .other_item {
    border: 5px solid #f9d39b;
    border-radius: 10px;
}

/*.other_item_custom(flexbox用)*/
#main00 .inc01 .other_item .other_item_custom {
    display: flex;
    padding: 3% 0 5%;
}

/*.custum_left(商品インクルードサムネ)*/
#main00 .other_item .custum_left {
    width: 40%;
}

/*.custum_right(カートまわり)*/
#main00 .other_item .custum_right {
    text-align: left;
    padding: 0 5% 0 3%;
    width: 55%;
    margin: auto;
}

#main00 .custum_right .cp_box {
    padding-top: 3%;
}

#main00 .custum_right .name_box,
.custum_right .price_box {
    font-size: 1.4em;
}

#main00 .custum_right .icon_box {
    padding-bottom: 2%;
}

#main00 .custum_right .cp_btn {
    width: 85%;
    margin: 5% auto 0 0;
    font-size: 1em;
}

/* ふわっとアニメ */
/* 動作を適用する箇所 */

.fuwatAnime {
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1.3s;
    /* アニメ時間 */
    -ms-animation-duration: 1.3s;
    animation-duration: 1.3s;
    -webkit-transition-delay: 0.1s;
    /* 開始時間 */
    -ms-transition-delay: 0.1s;
    transition-delay: 0.1s;
    -webkit-animation-name: fuwatAnime;
    /* アニメ名 */
    -ms-animation-name: fuwatAnime;
    animation-name: fuwatAnime;
    visibility: visible !important;
}

/* .fadeIn_r, .fadeIn_l {
-webkit-animation-duration: 1.5s; -ms-animation-duration: 1.5s; animation-duration: 1.5s;
-webkit-animation-iteration-count: 1; -ms-animation-iteration-count: 1; animation-iteration-count: 1;/* アニメの繰り返し（無限infinite）
}*/
.fadeIn_r_Anime {
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1.3s;
    /* アニメ時間 */
    -ms-animation-duration: 1.3;
    animation-duration: 1.3s;
    -webkit-transition-delay: 0.2s;
    /* 開始時間 */
    -ms-transition-delay: 0.2s;
    transition-delay: 0.2s;
    -webkit-animation-name: fadeIn_r_Anime;
    /* アニメ名 */
    -ms-animation-name: fadeIn_r_Anime;
    animation-name: fadeIn_r_Anime;
    visibility: visible !important;
}

.fadeIn_l_Anime {
    -webkit-animation-fill-mode: both;
    -ms-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-duration: 1.2s;
    /* アニメ時間 */
    -ms-animation-duration: 1.2s;
    animation-duration: 1.2s;
    -webkit-transition-delay: 0.2s;
    /* 開始時間 */
    -ms-transition-delay: 0.2s;
    transition-delay: 0.2s;
    -webkit-animation-name: fadeIn_l_Anime;
    /* アニメ名 */
    -ms-animation-name: fadeIn_l_Anime;
    animation-name: fadeIn_l_Anime;
    visibility: visible !important;
}

/* 動作内容 */
@-webkit-keyframes fuwatAnime {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-25px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
    }
}

@keyframes fuwatAnime {
    0% {
        opacity: 0;
        -webkit-transform: translateY(-25px);
        -ms-transform: translateY(-50px);
        transform: translateY(-25px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

/* 画像位置調整 */
.c-panel__link {
    display: inline-flex;
}

/* 商品名、受取方法、価格 */
.c-panel__body {
    /* place-content: center; */
    place-items: start;
    flex: 2;
    margin-top: -10px;
}

/* 価格調整 */
.c-panel__price-wrapper {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

/* ボタン調整 */
.c-panel__action .btn {
    background: linear-gradient(90deg, #ffd68b, #ffbc64);
    margin: 5% auto;
    width: 65%;
    border-radius: 5px;
    box-shadow: 4px 4px #d88534;
    transition: 0.2s;
    color: #4f4834;
    font-size: 1.4em;
    position: relative;
    z-index: 10;
    margin-right: -32px;
    margin-top: 70px;
}

#hatena .spec .cp_btn {
    position: absolute;
    left: 50%;
    bottom: 2.5%;
    transform: translate(-50%, 0%);
}

.c-panel__header {
    flex: 1;
    padding-right: 3%;
    margin-top: auto;
    margin-bottom: auto;
}

.clear_contents .sample_view .c-panel__action {
    display: block;
    margin-top: -70px;
    text-align: right;
    width: 85%;
}

/* .custum_right 内のボタン要素（インクルードで生成される .c-panel__action）のスタイルを調整 */
#main00 .inc01 .other_item .custum_right .c-panel__action {
    /* ボタンの位置を調整したい場合は、以下のスタイルを調整 */
    margin-top: 5%;
    /* price_boxの下にスペースを作る */
    text-align: left;
    /* ボタンを左寄せにする */
}

/* price_box の子要素（価格とボタンのラッパー）を縦に並べる設定 (追記/修正) */
#main00 .inc01 .other_item .other_item_custom .txt_box .price_box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    /* price_box全体を左寄せにする場合 */
}

.clear_contents {
    width: 100%;
}

.clear_contents .sample_view {
    width: 100%;
}


@media print,
screen and (min-width: 768px) {
    #hatena {
        width: 720px;
        margin: 0 auto;
    }

    /* タイトル画像 スマホのみ大きさ調整 */
    #hatena .answer {
        margin-top: 5%;
    }

    /* 解説の部分あしらい */
    #hatena .answertxt::before,
    #hatena .answertxt::after {
        width: 342px;
    }

    /* Q2 */
    #hatena .q2 .q2_column {
        width: 85%;
    }

    /* 買い物ボタン */

    /** 1個・2個共通 **/
    #hatena .cp_btn:hover {
        box-shadow: none;
        border-bottom: none;
        transform: translate(4px, 4px);
    }

}


@media print,
screen and (max-width: 768px) {
    #hatena {
        width: 100%;
    }

    #hatena p {
        font-size: 1.0em;
        text-align: left;
        line-height: 2.0em;
        letter-spacing: 0.05em;
    }

    /* タイトル画像 スマホのみ大きさ調整 */
    #hatena .q1 .title img:first-child {
        width: 70%;
        margin: 8% auto 5%;
    }

    #hatena .q1 .title img:last-child {
        width: 90%;
    }

    #hatena .q2 .title img:first-child {
        width: 60%;
        margin: 8% auto 5%;
    }

    #hatena .q2 .title img:nth-child(2) {
        width: 90%;
    }

    #hatena .q3 .title img:first-child {
        width: 85%;
        margin: 8% auto 5%;
    }

    #hatena .q3 .title img:last-child {
        width: 90%;
    }

    #hatena .q4 .title img:first-child {
        width: 60%;
        margin: 0% auto 5%;
    }

    #hatena .q4 .title img:nth-child(2) {
        width: 90%;
    }

    #hatena .q5 .title img:first-child {
        width: 80%;
        margin: 10% auto 5%;
    }

    #hatena .q5 .title img:last-child {
        width: 90%;
    }

    /* 解説 */

    #hatena .answertxt {
        padding: 17% 5% 12% 7%;
    }

    /* 解説の部分あしらい */

    #hatena .answertxt::before,
    #hatena .answertxt::after {
        width: 342px;
    }

    /* 解説の部分あしらい 前半 */

    #hatena .answertxt::before {
        left: -20%;
        top: -6%;
        height: 27%;
        transform: scale(0.6);
    }

    /* 解説の部分あしらい 後半 */

    #hatena .answertxt::after {
        right: -20%;
        bottom: -30%;
        height: 60%;
        transform: scale(0.6);
    }

    /* Q1 */
    #hatena .q1 .answertxt::after {
        bottom: -26%;
    }

    /* Q2 */
    #hatena .q2 .hiyoko_01 {
        top: -25%;
        left: 4%;
    }

    #hatena .q2 .q2_column {
        width: 95%;
        padding-top: 7%;
    }

    /* Q2 */
    #hatena .q2 .answertxt {
        margin: 5% 2% 10%;
    }

    /* Q3 */
    #hatena .q3 .onepoint {
        margin: 20% 3% 15%;
        padding: 13% 6% 9% 7%;
        font-size: 0.85em;
    }

    #hatena .q3 .answertxt::after {
        bottom: -25%;
    }

    /* Q3 画像部分 */
    #hatena .q3_onepoint {
        width: 40%;
    }

    #hatena .q3_egg01 {
        right: 23%;
        bottom: 10%;
        width: 15%;
    }

    #hatena .q3_egg02 {
        right: 2%;
        width: 20%;
        bottom: 10%;
    }

    /* Q4 画像部分 */

    #hatena .q4 .hiyoko_02 {
        top: -15%;
        right: 0%;
    }

    #hatena .q4 .a4_food01 {
        width: 20%;
        right: 17%;
    }

    #hatena .q4 .a4_food02 {
        width: 12%;
        right: 4%;
    }

    #hatena .q4 .a4_food03 {
        width: 17%;
        bottom: 2%;
        left: 2%;
    }

    #hatena .q4 .a4_food04 {
        width: 17%;
        bottom: 2%;
        left: 20%;
    }

    #hatena .q4 .answertxt::after {
        bottom: -25%;
    }

    /* Q5 */
    #hatena .q5 .answertxt {
        padding: 16% 6% 40% 8%;
    }

    /* Q5 画像部分 */
    #hatena .q5 .a5_drink01 {
        bottom: 14%;
        width: 33%;
    }

    #hatena .q5 .hiyoko_03 {
        width: 20%;
        bottom: 3%;
    }

    #hatena .contents01 .back {
        position: absolute;
        left: 7%;
        bottom: 27%;
        width: 90%;
    }

    #hatena .contents01 p {
        margin: 7% 3% 13%;
        font-size: 0.9em;
    }

    #hatena .contents01_item {
        width: 50%;
    }

    /*    width: 95%;*/
    #hatena .spec {
        width: 95%;
    }

    #hatena .spec_item {
        left: 5%;
        top: 33%;
        width: 32%;
    }

    #hatena .spec_icon {
        left: 21%;
        top: 25%;
        width: 17%;
    }

    /* 買い物ボタン */

    /** 1個・2個共通 **/
    #hatena .cp_btn {
        border-radius: 30px;
        box-shadow: 1px 3px #d88534;
        margin: 5% auto;
        width: 75%;
    }

    #hatena .cp_btn:hover {
        transform: none;
    }

    #hatena .cp_btn a:link {
        /*    padding: 3%;*/
        font-size: 1em;
    }

    #hatena .icon-navi_right {
        vertical-align: -5px;
    }

    /** オンマウス **/

    #hatena .spec .cp_btn:hover {
        transform: translate(-50%, 0%);
    }

    /***カート画像無しカスタムカート***/

    /*.custum_left(商品インクルードサムネ)*/

    #main00 .other_item .custum_left {
        width: 40%;
    }

    /*.custum_right(カートまわり)*/
    #main00 .other_item .custum_right {
        width: 75%;
        font-size: 0.8em;
    }

    #main00 .custum_right .name_box,
    #main00 .custum_right .price_box {
        font-size: 1.0em;
    }

    #main00 .custum_right .cp_btn {
        margin-top: 10%;
        width: 100%;
        font-size: 1.0em;
    }

    .c-panel__action .btn {
        margin-top: 79px;
        margin-right: -20px;
        border-radius: 40px;
        font-size: 1em;
    }

}

#hatena p span.hatena-highlight {
    background: linear-gradient(transparent 30%, #f4ecca 30%);
    display: inline;
}

.c-panel__desc {
    display: none;
}

.c-panel__action .btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.4em;
}


/* ==============================
   hatena：カートボタン（見た目＋レイアウト＋サイズ）整理版
   ============================== */

/* --- アイコン定義（共通） --- */
#hatena .c-panel__action .btn{
  position: relative;
  padding-left: 2.2em !important;
  padding-right: 1.8em !important;
}

/* カート */
#hatena .c-panel__action .btn::before{
  content: "\e90b" !important;
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  position: absolute;
  left: 0.9em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.15em;
}

/* ＞ */
#hatena .c-panel__action .btn::after{
  content: "\e96a" !important;
  font-family: "icomoon" !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  position: absolute;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.25em;
}

/* ==============================
   PC（769px〜）
   ============================== */
@media screen and (min-width: 769px){

  /* 商品カード内レイアウト（右カラム左端に揃える方式） */
  #hatena #main00 .c-panel__inner{
    display: flex !important;
    flex-wrap: wrap !important;
  }

  #hatena #main00 .c-panel__link{
    display: flex !important;
    width: 100% !important;
  }

  #hatena #main00 .c-panel__header{
    flex: 0 0 38% !important;      /* 画像カラム */
    padding-right: 3% !important;
  }

  #hatena #main00 .c-panel__body{
    flex: 1 1 auto !important;
    margin-top: -10px;             /* 既存見え方維持 */
  }

  /* ボタン行：右カラム左端に揃える */
  #hatena #main00 .c-panel__action{
    flex: 0 0 100% !important;
    display: flex !important;
    justify-content: flex-start !important;
    padding-left: 41% !important;  /* 38% + 3% */
    margin-top: 12px !important;
  }

  /* ボタン見た目（オレンジ＋影）＋サイズ（小さく） */
  #hatena #main00 .c-panel__action .btn{
    background: linear-gradient(90deg, #ffd68b, #ffbc64) !important;
    border: none !important;
    box-shadow: 4px 4px #d88534 !important;
    border-radius: 6px !important;

    color: #4f4834 !important;
    font-weight: 700 !important;
    text-decoration: none !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.6em !important;

    width: 260px !important;
    height: 50px !important;
    padding: 0 18px !important;
    font-size: 20px !important;
    line-height: 1 !important;

    margin: 0 !important;
    transform: none !important;
    filter: none !important;
    outline: none !important;

    white-space: nowrap !important;
  }

  /* hover：沈ませない。影だけ消す */
  #hatena #main00 .c-panel__action .btn:hover{
    transform: none !important;
    box-shadow: none !important;
  }
}

/* ==============================
   SP（〜768px）
   ============================== */
@media screen and (max-width: 768px){
.c-panel__discount {
    padding: 0 !important;
    margin-top: -10px;
    font-size: 1.2em !important;
}
  /* PC用ズラし等を無効化し、中央寄せ */
  #hatena #main00 .clear_contents .sample_view .c-panel__action{
    margin-top: 12px !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
  }

  /* カードは縦積み */
  #hatena #main00 .c-panel__inner{
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  #hatena #main00 .c-panel__header,
  #hatena #main00 .c-panel__body{
    width: 100% !important;
  }

  /* SPボタン：幅フィット＆小さめ */
  #hatena #main00 .c-panel__action .btn,
  #hatena #main00 .c-panel__action .btn:hover{
    background: linear-gradient(90deg, #ffd68b, #ffbc64) !important;
    border: none !important;
    box-shadow: 1px 3px #d88534 !important;
    border-radius: 24px !important;

    color: #4f4834 !important;
    font-weight: 700 !important;

    width: 100% !important;
    max-width: 280px !important;
    height: 48px !important;
    padding: 0 16px !important;

    font-size: 18px !important;
    line-height: 1 !important;
    white-space: nowrap !important;

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    transform: none !important;
  }

  /* SPはボタンが小さいのでアイコン余白も詰める */
  #hatena #main00 .c-panel__action .btn{
    padding-left: 2.4em !important;
    padding-right: 2.2em !important;
  }
  #hatena #main00 .c-panel__action .btn::before{ left: 0.75em !important; font-size: 1.1em !important; }
  #hatena #main00 .c-panel__action .btn::after { right: 0.70em !important; font-size: 1.2em !important; }
}

/* ==============================
   SP：価格〜ボタン間の余白を詰める（最下部に追記）
   ============================== */
@media screen and (max-width: 768px){
/* 価格調整 */
.c-panel__price-wrapper {
    display: block;
    text-align: left;
    }
.c-price--sale {
    display: inline-block;
    font-size: 1.2em !important;
    padding-left: 4px;
}
  /* ボタンの親の“上余白”を殺す */
  #hatena #main00 .clear_contents .sample_view .c-panel__action{
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  /* ボタン自体の“上余白”も殺す（過去の margin-top:79px 対策） */
  #hatena #main00 .c-panel__action .btn,
  #hatena #main00 .c-panel__action .btn:hover{
    margin-top: 0 !important;
  }

  /* 価格ブロックの下余白も詰める（必要最小限） */
  #hatena #main00 .c-panel__body{
    margin-bottom: 6px !important;
  }
}

/* ==============================
   SP：商品名の下にボタン（右カラム内）配置
   ============================== */
@media screen and (max-width: 768px){

  /* 縦積み化していた設定を解除して、旧サイト風の2カラムに戻す */
  #hatena #main00 .c-panel__inner{
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  /* 上段：画像＋本文（横並びで1行） */
  #hatena #main00 .c-panel__link{
    display: flex !important;
    width: 100% !important;
  }

  /* 左：画像カラム幅（好みで 32〜40%） */
  #hatena #main00 .c-panel__header{
    flex: 0 0 34% !important;
    padding-right: 3% !important;
    margin: 0 !important;
  }

  /* 右：商品名・受取方法・価格 */
  #hatena #main00 .c-panel__body{
    flex: 1 1 auto !important;
    margin: 0 !important;
  }

  /* 下段：ボタン行（右カラムの左端に合わせる） */
  #hatena #main00 .clear_contents .sample_view .c-panel__action{
    width: 100% !important;
    margin-top: 6px !important;          /* ここで“詰め具合”調整 */
    padding-left: 37% !important;        /* 34% + 3%（header + padding-right） */
    text-align: left !important;
    display: flex !important;
    justify-content: flex-start !important;
  }

  /* ボタン：右カラム幅にフィット（大きすぎ防止） */
  #hatena #main00 .c-panel__action .btn,
  #hatena #main00 .c-panel__action .btn:hover{
    width: 100% !important;
    max-width: 240px !important;         /* 必要なら 220〜260 */
    height: 44px !important;
    margin: 0 !important;

    /* 既にオレンジ設定がある前提：サイズだけ安定化 */
    font-size: 16px !important;
    padding: 0 14px !important;
    transform: none !important;
    white-space: nowrap !important;
  }

  /* アイコン余白もボタン縮小に合わせる */
  #hatena #main00 .c-panel__action .btn{
    padding-left: 2.2em !important;
    padding-right: 2.0em !important;
  }
  #hatena #main00 .c-panel__action .btn::before{ left: 0.70em !important; }
  #hatena #main00 .c-panel__action .btn::after { right: 0.65em !important; }
}

/* ==============================
   SP：カートボタンを少し左へ（微調整）
   ============================== */
@media screen and (max-width: 768px){
  #hatena #main00 .clear_contents .sample_view .c-panel__action{
    padding-left: 34% !important; /* ← 37% → 34% に */
  }
}

/* ==============================
   PC：ボタンを商品名・価格の下に寄せる（最小修正）
   ============================== */
@media screen and (min-width: 769px){

  /* ボタンの親 */
  #hatena #main00 .c-panel__action{
    margin-top: 24px !important;     /* 価格との間隔（微調整可） */
    margin-right: 80% !important;    /* ← ここが肝：右カラム開始位置 */
  }

  /* ボタン本体：ズレ要因を殺すだけ */
  #hatena #main00 .c-panel__action .btn{
    margin: 0 !important;
    transform: none !important;
  }
}

/* ==============================
   PC：ボタン位置 微調整（左 + 上）
   ============================== */
@media screen and (min-width: 769px){
  #hatena #main00 .c-panel__action .btn,
  #hatena #main00 .c-panel__action .btn:hover{
        transform: translate(70px, -70px) !important;
  }
}

/* ==============================
   PC：ボタン直下の白い余白を詰める
   ============================== */
@media screen and (min-width: 769px){

  /* カード中身全体の下余白 */
  #hatena #main00 .other_item_custom{
    padding-bottom: 0 !important;
  }

  /* ボタン行そのものの下余白 */
  #hatena #main00 .c-panel__action{
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
}


