html, body {
    overflow-x: hidden;
    scroll-behavior: smooth;
}
main {
    box-sizing: border-box;
}
*, *::before, *::after {
    box-sizing: border-box;
}
/************ メイン画像 ****************//*残す*/
.winter-gift2025_main img {
    width: 100%;
}
/************ タイトル ****************/
.winter-gift2025_box {
    text-align: center;
}
.m_title {
    font-size: var(--fz37);
    color: #C2584A;
    text-align: center;
    padding: 100px 0 40px;
}
.m_title.intro {
    color: #4A2212;
    letter-spacing: 0.05em;
    font-size: var(--fz36);
}
.m_title.intro span {
    color: #C2584A;
}
.m_title p {
    line-height: 1.4;
    letter-spacing: 0.05em;
}
.m_text {
    font-size: var(--fz20);
    text-align: center;
    line-height: 5.2rem;
}
.comments {
    font-size: var(--fz18);
    font-weight: bold;
    color: #679D68;
    text-align: center;
    padding: 22px 10px;
    margin: 40px 0 0;
    display: inline-block;
    position: relative;
    z-index: 1;
}
.comments::before, .comments::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 7px;
    background: linear-gradient( -70deg, transparent 35%, #679D68 45%, #679D68 55%, transparent 65% );
    background-size: 8px 12px;
    border: none;
    z-index: -1; /* テキストの下に置く */
}
.comments::before {
    top: 0;
}
.comments::after {
    bottom: 0;
}
/************ のし ****************/
.noshi {
    max-width: 980px;
    width: 90%;
    margin: 0 auto 0;
}
.noshi img {
    width: 100%;
}
.mark_noshi {
    background: url(https://gigaplus.makeshop.jp/agemochiya/img/keirounohi_noshi_mark.png) center center / contain no-repeat;
    position: absolute;
    top: 25px;
    left: 25px;
    max-width: 45px;
    width: 25%;
    height: 45px;
    z-index: 10;
}
.summergift_item_box_sp {
    text-align: center;
    width: 90%;
    margin: 0 auto;
    padding: 0 0 20px;
}
.summergift_item_box_sp .b_title {
    padding: 20px 0 0;
    font-size: var(--fz32);
}
.summergift_item_box_sp .b_text {
    font-size: var(--fz16);
    line-height: 3rem;
}
.summergift_item_box_sp .b_btn {
    margin: 10px 0;
    font-size: var(--fz18);
}
.summergift_item_box_sp .b_btn a {
    color: #4A2212;
}
.summergift_item_box_sp img {
    width: 50%;
    max-width: 140px;
    margin: 10px 0;
}
/************ 幅100% ****************/
.width100 img {
    width: 100%;
}
.width100 img {
    width: 100%;
}
/************ 角丸 10 ****************/
.border-radius10 img {
    border-radius: 10px;
}
/************ 夏季限定  あげもち彩りセット ****************/
.m_box_1 {
    background-color: #F2F1EB;
    padding: 0 5.5% 6%;
    margin: 80px 0 20px;
    border-radius: 10px;
}
.m_title img {
    width: 80px;
}
.box02 {
    display: flex;
    gap: 6%;
    align-items: center;
    padding: 5%;
}
.box02 img {
    width: 50%;
}
p.name1 {
    font-size: var(--fz25);
    line-height: 3.5rem;
    border-bottom: dotted 2px;
    padding: 0 0 28px;
}
p.txt1 {
    font-size: var(--fz16)x;
    padding-top: 30px;
    line-height: 3.5rem;
}
.btn {
    background-color: #6FAFE6;
    border-radius: 100px;
    padding: 10px;
    width: 60%;
    margin: 0 auto;
    font-family: "Noto Sans JP";
    font-size: var(--fz14);
    text-align: center;
    margin-top: 30px;
}
.btn a {
    color: #fff !important;
}
.irodori_btn {
    max-width: 325px;
    width: 60%;
    margin: 30px auto 80px;
    font-family: "Zen Maru Gothic", serif;
    text-align: center;
}
.irodori_btn a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1em;
    color: #4A2212;
    font-size: var(--fz19);
    border-radius: 5px;
    border: 1.5px solid #4A2212;
    transition: all .3s ease;
}
.irodori_btn .arw, .btn_link .arw {
    position: absolute;
    top: 50%;
    right: 0.7em;
    display: block;
    width: 1.3em;
    transform: translateY(-50%);
}
.irodori_btn .arw::before, .btn_link .arw::before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background: #4A2212;
}
.irodori_btn .arw::after, .btn_link .arw::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    display: block;
    width: 7px;
    height: 7px;
    background: #4A2212;
    border-radius: 50%;
    transform: translateY(-50%);
}
/************ 商品追加 ****************/
.pic_box .p_title {
    font-family: var(--noto);
    font-size: var(--fz18);
    text-align: left;
    padding: 10px 0;
    display: inline-block;
    line-height: 3.5rem;
}
.pic_box img {
    width: 90%;
}
.pic_box .p_text {
    font-size: var(--fz16);
    text-align: left;
    line-height: 2.5rem;
    padding: 10px 0;
}
.pic_box a .b_btn {
    background-color: #C2584A;
    border-radius: 100px;
    padding: 10px;
    color: #fff;
    width: 80%;
    margin: 0 auto;
    margin-top: 15px;
    margin-bottom: 10px;
    font-family: "Noto Sans JP";
    font-size: var(--fz14);
}
#nanairo .pic_box a .b_btn {
    background-color: #9F7344;
}
#hanahukiyose .pic_box a .b_btn {
    background-color: #CC5D6E;
}
#irodori .pic_box a .b_btn {
    background-color: #C2814A;
}
#giftkan .pic_box a .b_btn {
    background-color: #5C956E;
}
.pic_box .b_price {
    font-size: var(--fz24);
    font-family: "Noto Sans JP";
    text-align: center;
}
.pic_box .b_price span {
    font-size: var(--fz14);
    padding-left: 10px;
}
/************ 3set ****************/
.item01_2 {
    background-color: #DDEBF0;
    margin: 70px 0;
}
.set_box {
    display: flex;
    padding: 20px 60px 60px;
    gap: 50px;
}
p.item01_2_title {
    font-size: var(--fz22);
    text-align: center;
    padding-top: 40px;
}
.set01 {
    width: 100%;
}
.set01 img {
    width: 100%;
}
p.set_title01 {
    font-size: var(--fz20);
    letter-spacing: .3rem;
    text-align: center;
    border-radius: 100px;
    margin-bottom: 10px;
    color: #4F98BF;
    line-height: 2.5rem;
}
p.set_title02 {
    font-size: var(--fz20);
    letter-spacing: .3rem;
    text-align: center;
    border-radius: 100px;
    margin-bottom: 10px;
    color: #3C8220;
    line-height: 2.5rem;
}
p.set_title03 {
    font-size: var(--fz20);
    letter-spacing: .3rem;
    text-align: center;
    border-radius: 100px;
    margin-bottom: 10px;
    color: #864194;
    line-height: 2.5rem;
}
/************ ご予算から選ぶ ****************/
.yosan_txt, .puchi_txt {
    text-align: center;
    line-height: 4.5rem;
    font-size: var(--fz17);
}
.btn_link {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: auto;
    gap: 10px;
    margin: 30px 0 40px;
}
.btn_link li {
    width: 32%;
    max-width: 270px;
}
.btn_link > li > a {
    opacity: 1;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 1em;
    color: #fff;
    font-size: var(--fz22);
    font-family: "Zen Maru Gothic", serif;
    background: #679D68;
    border-radius: 5px;
    box-sizing: border-box;
    transition: all .3s ease;
}
/************ 定番商品から選ぶ ****************/
.m_box_3 {
    background-color: #F2F1EB;
    padding: 0 5% 0;
    margin: 80px 0 20px;
    border-radius: 10px;
}
.teiban_txt {
    text-align: center;
    margin: 0 0 40px;
    line-height: 4rem;
    font-size: var(--fz17);
}
.adjust-margin.teiban_txt {
    margin: 0 0 40px;
}
.teiban_cont {
    padding: 0 0 85px;
}
.teiban_cont_tit {
    font-size: var(--fz31);
    margin: 35px 0 10px;
    letter-spacing: 0.05em;
}
.teiban_anchor {
    display: flex;
    gap: 5px;
    width: 95%;
    max-width: 1000px;
    margin: 0 auto 65px;
    justify-content: center;
}
.teiban_anchor img {
    max-width: 150px;
    width: 60%;
}
.teiban_anchor_cont {
    text-align: center;
    width: calc(33% - 8.5px);
}
.teiban_anchor_txt {
    text-align: center;
}
.teiban_anchor p {
    font-size: var(--fz18);
}
.teiban_anchor a {
}
.teiban_anchor p::after {
    content: '\f078';
    font-size: var(--fz17);
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    color: #4A2212;
    padding-left: 7px;
}
.teiban_title_sp {
    text-align: center;
    margin-top: 20px;
    font-size: var(--fz32);
}
.teiban_title_sp img {
    width: 35px
}
/************ ランキング ****************/
.m_box_4 {
    padding: 0 5.5% 0;
}
.pic_box {
    position: relative;
}
.ranking-icon {
    position: absolute;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    font-size: var(--fz20);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    padding-top: 0.4em; /* 数字の位置微調整 */
    z-index: 10;
}
.rank-1 {
    background: url(https://gigaplus.makeshop.jp/agemochiya/img/figure_ribon1.png) center center/contain no-repeat;
}
.rank-2 {
    background: url(https://gigaplus.makeshop.jp/agemochiya/img/figure_ribon2.png) center center/contain no-repeat;
}
.rank-3 {
    background: url(https://gigaplus.makeshop.jp/agemochiya/img/figure_ribon3.png) center center/contain no-repeat;
}
.rank-4 {
    background: url(https://gigaplus.makeshop.jp/agemochiya/img/figure_ribon4.png) center center/contain no-repeat;
}
/* 3カラム */
.pic {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    text-align: center;
    justify-content: flex-start;
    gap: 15px;
}
.pic > div {
    padding: 20px 30px;
    background-color: #fff;
    border-radius: 10px;
width: calc((100% - (15px * 2)) / 3);
}
/************ 定番商品　商品横4set ****************/
.col2.pic > div {
    flex: initial;
    padding: 30px 30px;
    border-radius: 10px;
}
.col2 {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    justify-content: flex-start;
}
.col2 > .pic_box {
    width: calc(50% - 7.5px);
    background-color: #fff;
    padding: 20px 30px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    gap: 1em;
    text-align: left;
}
.col2 .pic_box_cont1 {
    width: 50%;
}
.col2 .pic_box_cont1 img {
    width: 100%;
    height: auto;
}
.col2 .pic_box_cont2 {
    width: 50%;
}
.col2 .b_btn {
    display: block;
    text-align: center;
    background-color: #F69867;
    border-radius: 100px;
    padding: 10px;
    color: #fff;
    width: 90%;
    margin: 0 auto;
    margin-top: 20px;
    font-family: "Noto Sans JP";
    font-size: var(--fz14);
}
.col2 .pic_box .p_title {
    font-size: var(--fz18);
    text-align: left;
    padding: 0 0 20px;
    display: inline-block;
    line-height: 3.5rem;
}

/************ 定番商品　商品横4set ここまで ****************/

@media screen and (max-width: 375px) {
.pic > div {
    width: 47%;
    padding: 0 10px;
    margin-bottom: 10px;
}
.pic_box .p_title {
    font-size: var(--fz16);
}
.pic_box .p_text {
    font-size: var(--fz14);
    line-height: 2rem;
}
.pic_box .b_price {
    font-size: var(--fz18);
}
.pic_box .b_price span {
    padding-left: 5px;
}
.pic_box a .b_btn, .puchi-gift .b_btn {
    width: 100%;
}
}
/************ プチギフト ****************/
.puchi-gift {
    background-color: #F0EADD;
    padding: 70px 60px 70px;
    margin: 35px 0 0;
s
}
.puchi-gift_cont {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.puchi-gift_box {
    width: calc((100% - 40px) / 3);
    text-align: center;
}
.puchi-gift_box img {
    width: 95%;
    max-width: 240px;
    margin: 0 0 5px;
}
p.name {
    text-align: center;
    font-size: var(--fz18);
    line-height: 2.5rem;
}
.puchi-gift_box .price {
    border-bottom: none;
    text-align: center;
}
p.price {
    font-size: 24px;
    font-family: var(--noto);
}
p.price span {
    font-size: var(--fz14);
    padding-left: 8px;
}

/************ spのみ表示 ****************/
@media(min-width:801px) {
.summergift_item_box_sp, .teiban_title_sp {
    display: none !important;
}
}

/************ sp ****************/
@media only screen and (max-width: 1200px) {
.box02 {
    flex-direction: column-reverse;
    margin: 0 auto;
    padding: 5% 0 5%;
}
.box02 img {
    width: 80%;
}
.tag_img {
    margin: 0 auto;
}
.tag_img img {
    width: 80%;
}
.set01 {
    width: 45%;
}
p.name1 {
    padding: 0 0 20px;
}
p.txt1 {
    padding: 20px 0 30px;
}
.pic {
    flex-wrap: wrap;
}
.pic > div {
    flex: initial;
    width: calc(50% - 7.5px);
    padding: 20px;
}
.teiban_anchor {
    width: 100%;
}
.col2.pic > div {
    flex-direction: column;
}
.col2 .pic_box_cont1, .col2 .pic_box_cont2 {
    width: 100%;
}
}

@media only screen and (max-width: 1020px) {
.winter-gift2025_main01 img {
    width: 100%;
}
}

@media only screen and (max-width: 800px) {
.br-sp {
    display: none;
}
.m_text {
    line-height: 3.2rem;
    font-size: var(--fz18);
}
.m_title p {
    font-size: var(--fz26);
    line-height: 4rem;
}
.m_title {
    padding: 60px 0 25px;
}
.m_box_1, .m_box_3 {
    padding: 0px 20px 45px;
    margin: 50px 0 0;
}
.item01_2 {
    margin-top: 40px;
    margin-bottom: 40px;
}
.set_box {
    padding: 0 20px 40px;
    gap: 10px;
}
p.set_text {
    font-size: var(--fz16);
}
.main_anchor {
    margin: 50px auto 0;
}
.main_anchor a::after {
    padding-left: 5px;
}
p.txt1 {
    line-height: 3rem;
}
.col2 .b_btn {
    width: 90%;
    margin: 15px auto 10px;
}
.col2 .pic_box .p_title {
    line-height: 2.5rem;
}
.col2.pic > div {
    padding: 20px;
}
.mark_noshi {
    top: 13px;
    left: 13px;
    width: 22%;
}
.box02 {
    padding: 5% 0 10%;
}
.box02 img {
    width: 70%;
}
.irodori_btn {
    margin: 10px auto 60px;
}
.yosan_txt, .puchi_txt {
    line-height: 3rem;
    text-align: start;
}
.btn_link {
    flex-wrap: wrap;
}
.btn_link li {
    width: 100%;
    margin-bottom: .7em;
}
.m_box_4 {
    padding: 0;
}
.teiban_cont {
    padding: 0;
    margin: 0 0 50px;
}
.teiban_cont_tit {
    margin: 20px 0 10px;
}
.teiban_txt {
    line-height: 3rem;
    margin: 15px 0 25px;
}
.teiban_anchor {
    margin: 0 auto 30px;
    width: 100%;
    flex-wrap: wrap;
}
.teiban_anchor_cont {
    width: calc(50% - 2.5px);
    margin: 0 0 12px;
    gap: 0;
}
.teiban_anchor p {
    font-size: var(--fz16);
}
.teiban_anchor p::after {
    font-size: var(--fz16);
    padding-left: 4px;
}
.subtitle {
    font-size: var(--fz13);
}
.adjust-margin.teiban_txt {
    margin: 0 0 20px;
}
.heading-with-lines .icon {
    width: 50px;
}
}
/* カテゴリー 各ビジュアル */
.product-hero {
    position: relative;
    width: 100%;
    padding: 6.5% 5%;
}
.product-bg img {
    display: none;
}
#irodori .product-hero {
    background: url("https://gigaplus.makeshop.jp/agemochiya/img/2025witer-gift/irodori.jpg") 40% center/cover no-repeat;
}
#hanahukiyose .product-hero {
    background: url("https://gigaplus.makeshop.jp/agemochiya/img/2025witer-gift/hanahukiyose.jpg") 55% center/cover no-repeat;
}
#nanairo .product-hero {
    background: url("https://gigaplus.makeshop.jp/agemochiya/img/2025witer-gift/nanairo.jpg") 40% center/cover no-repeat;
}
#giftkan .product-hero {
    background: url("https://gigaplus.makeshop.jp/agemochiya/img/2025witer-gift/giftkan.jpg") 55% center/cover no-repeat;
}
/* テキストを上に配置 */
.product-hero .product-text {
    width: 33%;
    text-align: left;
}
.teiban_cont:nth-of-type(odd) .product-hero .product-text {
    margin-left: auto;
}
.teiban_cont:nth-of-type(even) .product-hero .product-text {
    margin-right: auto;
}
/* テキストスタイル */
.product-hero .product-text h1 {
    font-size: var(--fz26);
    margin: 0 0 5px;
    line-height: 1.5;
}
.product-hero .price {
    font-size: var(--fz26);
    margin-bottom: 20px;
    font-family: var(--zenmaru);
}
.product-hero .price span {
    font-size: var(--fz14);
}
.product-hero .separator {
    border-top: 2px dotted #4A2212;
    width: 100%;
    margin: 20px 0;
}
.product-hero .desc {
    font-size: var(--fz16);
    line-height: 2;
}
/* ボタン */
.product-hero .btn {
    display: block;
    padding: 12px 45px;
    color: #fff;
    text-decoration: none;
    border-radius: 30px;
    transition: background 0.3s;
    width: 80%;
}
#nanairo .product-hero .btn {
    background: #9F7344;
}
#hanahukiyose .product-hero .btn {
    background: #CC5D6E;
}
#irodori .product-hero .btn {
    background: #C2814A;
}
#giftkan .product-hero .btn {
    background: #5C956E;
}
.product-hero .btn:hover {
    background: #9c734b;
}
.teiban_cont .s_item_pic {
    margin-top: 30px;
}
.heading-with-lines {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1em; /* アイコンと線の間隔 */
}
.heading-with-lines .line {
    height: 3px;
    flex-grow: 1;
    border-radius: 9999px;
}
.heading-with-lines .line.left {
    background-color: #EB8175;
}
.heading-with-lines .line.right {
    background-color: #EBCB73; 
}
.heading-with-lines .icon {
    width: 60px;
    height: auto;
    display: block;
}

/* スマホ対応 */
@media (max-width: 1200px) {
.product-hero .btn {
    width: 100%;
}
}

@media (max-width: 1000px) {
.product-hero .btn {
    width: 80%;
    max-width: 300px;
}
.product-hero {
    background: none !important;
    padding: 0;
}
.product-hero .product-bg {
    display: block;
}
.product-hero .product-bg img {
    width: 100%;
    height: auto;
    display: block;
}
.product-hero .product-text {
    width: 100%;
    padding: 20px 0;
    text-align: center;
}
.product-hero .product-text h1 {
    font-size: var(--fz24);
    margin: 0 0 3px;
}
.product-hero .price {
    font-size: var(--fz24);
}
.product-hero .separator {
    margin: 15px 0;
}
}
/************ タブ切り替え ****************/
.tabs {
    margin-top: 50px;
    background-color: #fff;
    width: 100%;
    margin: 0 auto;
    border-radius: 10px;
}
/*タブのスタイル*/
.tab_item {
    width: calc((100% - 10px) / 3);
    border-radius: 10px 10px 0 0;
    color: #fff;
    font-weight: 500;
    font-size: var(--fz25);
    text-align: center;
    display: block;
    float: left;
    transition: all 0.2s ease;
    height: auto;
    padding: 15px 0 18px;
}
.tab_item:hover {
    opacity: 0.75;
}
.tab_item.tab1 {
    background-color: #C2A64A;
}
.tab_item.tab2 {
    background-color: #C2984A;
}
.tab_item.tab3 {
    background-color: #C2864A;
}
/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}
/*タブ切り替えの中身のスタイル*/
.tab_content {
    display: none;
    clear: both;
    overflow: hidden;
}
/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content, #programming:checked ~ #programming_content, #design:checked ~ #design_content {
    display: block;
}
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
    background-color: #fff;
    color: #C2584A;
}
/************ タブ切り替え（中身） ****************/	
.tab_content_description p {
    padding: 50px 0 20px;
    font-size: var(--fz18);
    width: 90%;
    margin: 0 auto;
}
.tab_content_description .pic {
    padding: 20px 40px;
}
.tab_content_description .pic > div {
    padding: 10px;
}
.tab_content_description .p_title {
    border-bottom: none;
    font-size: var(--fz18);
    text-align: left;
}
.tab_content_description .b_price {
    font-size: var(--fz22);
}
.tab_content_description .b_price span {
    font-size: var(--fz14);
    font-weight: normal;
}
.tab_content_description .pic_box a .b_btn {
    background-color: #C2584A;
    color: #fff;
    width: 80%;
}
.tab_content_description .btn_more img {
    width: 30%;
    padding: 20px 0 50px;
    display: block;
    margin: 0 auto;
}
.sp_anchor_link {
    display: none;
}

/************ sp ****************/ 
@media only screen and (max-width: 800px) {
.title p {
    font-size: 26px;
}
.sp_anchor_link {
    display: flex;
    justify-content: center;
    gap: 3px;
}
.sp_anchor_link > li > a {
    color: #fff;
    background-color: #EA7EA2;
    text-decoration: none;
    display: inline-block;
    font-family: "Zen Maru Gothic", serif;
    padding: 15px;
    line-height: 2rem;
    font-size: 13px;
}
.sp_anchor_link .dli-chevron-down {
    transform: translateX(40px) rotate(135deg);
}
.anchor_link {
    padding: 0;
    display: block;
}
.anchor_link > li > a {
    padding: 10px 5px;
    font-size: 13px;
    line-height: 1.8rem;
    border-radius: inherit;
    width: 100%;
    height: 65px;
    margin-bottom: 20px;
}
.dli-chevron-down {
    transform: translateY(22px) rotate(135deg);
    display: block;
    right: 45%;
}
.bridal_box {
    display: flex;
    flex-wrap: wrap;
}
.title_name p {
    padding: 8px 5px 8px 100px;
    line-height: 2.5rem;
    font-size: 20px;
}
.noshi_box .noshi_pic {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.noshi_box .noshi_pic img {
    width: 45%;
}
.tab_item {
    font-size: var(--fz16);
    padding: 15px 1px 18px;
}
.tab_content_description .pic {
    padding: 20px 20px;
}
.pic_box .p_title {
    line-height: 2.5rem;
}
.pic_box .b_price span {
    padding-left: 5px;
}
p.price span {
    padding-left: 3px;
}
}