@charset "utf-8";

:root {
  --red: #f10735;
}

/* ======== PC ======== */
@media screen and (min-width: 751px) {
  #mothersday .sp {
    display: none !important;
  }
  footer#site_footer #footer_pagetop {
    bottom: 70px;
  }
  
  #mothersday {
    color: #4c2f1e;
    font-size: 20px;
    line-height: 2.5;
    padding: 50px 0 100px;
    background: #ffebeb url(bg.png) no-repeat center top -15px / 100%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }
  #mothersday .mv {
    text-align: center;
    margin: 0 0 60px;
  }
  #mothersday .mv h1 {
    transform: translateX(-10px);
  }
  #mothersday .mv .message span {
    color: var(--red);
  }
  #mothersday .first {
    width: 1000px;
    padding: 35px 0;
    margin: 0 auto 80px;
    background: rgb(255, 247, 247);
    border-radius: 10px;
    text-align: center;
    line-height: 1.6;
    font-weight: bold;
  }
  #mothersday .first .head {
    margin: 0 0 20px;
  }
  #mothersday .first .head span {
    display: inline-block;
    color: var(--red);
    font-size: 24px;
    font-weight: bold;
    padding: 0 0 0 40px;
    border-bottom: 2px solid var(--red);
    background: url(icon_caution.png) no-repeat left top;
  }
  #mothersday .first p {
    text-align: left;
    padding: 0 130px;
  }
  #mothersday .first .text {
    font-size: 18px;
    margin: 8px 0 0;
  }
  #mothersday .first .text span {
    color: var(--red);
  }
  #mothersday .nav {
    display: flex;
    justify-content: center;
    gap: 50px;
    margin: 0 0 100px;
  }
  #mothersday .nav li a {
    position: relative;
    display: block;
  }
  #mothersday .nav li a:hover {
    opacity: .8;
    text-decoration: none;
  }
  #mothersday .nav li p {
    position: absolute;
    left: 0;
    bottom: 40px;
    width: 300px;
    color: #4c2f1e;
    font-weight: bold;
    text-align: center;
  }
  #mothersday .special {
    position: relative;
    width: 1000px;
    margin: 0 auto;
    text-align: center;
    padding: 0 0 150px;
    z-index: 1;
  }
  #mothersday .special:after {
    content: '';
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -50px;
    width: 1344px;
    height: 100%;
    background: url(bg_special_item.png) no-repeat center bottom;
    z-index: -1;
  }
  #mothersday .special h2 {
    margin: 0 0 45px;
    transform: translateX(-40px);
  }
  #mothersday .special .detail01 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 160px;
    margin: 0 0 60px;
  }
  #mothersday .special .detail01 h3 {
    line-height: 0;
    margin: 0 0 10px;
  }
  #mothersday .special .detail01 h4 {
    font-size: 24px;
    line-height: 1.67;
  }
  #mothersday .special > .text {
    line-height: 2;
    margin: 0 0 100px;
  }
  #mothersday .special .detail02 {
    display: flex;
    justify-content: space-between;
  }
  #mothersday .special .detail02 .text {
    line-height: 2;
    margin: 50px 0 0;
  }
  #mothersday .lineup {
    width: 1049px;
    margin: 0 auto 40px;
    transform: translateX(-24.5px);
  }
  #mothersday .lineup h2 {
    text-align: center;
    line-height: 0;
    margin: 0;
    transform: translateX(93px);
  }
  #mothersday .lineup ul {
    display: flex;
    justify-content: center;
  }
  #mothersday .lineup li {
    position: relative;
  }
  #mothersday .lineup .btn-cart {
    position: absolute;
    right: 37px;
    bottom: 75px;
    display: block;
    width: 400px;
    border-radius: 40px;
    color: #4c2f1e;
    text-align: center;
    font-weight: bold;
    background-image: linear-gradient(to right,rgb(227,190,80),rgb(255,250,197) 30%,rgb(227,190,80));
    box-shadow: 0px 5px 2.85px 0.15px rgba(0, 0, 0, 0.2);
    padding: 7px 0;
    letter-spacing: .5px;
  }
  #mothersday .lineup .btn-cart:after {
    content: '';
    position: absolute;
    top: 25px;
    right: 30px;
    border-style: solid;
    border-width: 7px 0 7px 12px;
    border-color: transparent transparent transparent #4c2f1e;
  }
  #mothersday .lineup .btn-cart:hover {
    opacity: .8;
    text-decoration: none;
  }
  #mothersday .caution {
    width: 1000px;
    margin: 0 auto;
    padding: 30px 40px;
    border-radius: 10px;
    background: rgb(255, 247, 247);
    line-height: 1.67;
  }
  #mothersday .caution dl:not(:last-child) {
    margin: 0 0 20px;
  }
  #mothersday .caution dt {
    font-size: 20px;
    font-weight: bold;
  }
  #mothersday .caution dd {
    font-size: 18px;
  }
  #mothersday .caution dd span {
    color: var(--red);
    font-weight: bold;
  }
  #mothersday .caution dd a {
    color: #4c2f1e;
    text-decoration: underline;
  }
  #mothersday .caution dd a:hover {
    text-decoration: none;
  }
  #mothersday .fixed-btn {
    position: fixed;
    right: 30px;
    bottom: 140px;
    width: 145px;
    line-height: 0;
    z-index: 1;
  }
}

/* ======== SP ======== */
@media screen and (max-width: 750px) {
  #mothersday .pc {
    display: none !important;
  }
  
  #mothersday {
    color: #4c2f1e;
    font-size: 12px;
    line-height: 2.5;
    padding: 12px 0 35px;
    background: #ffebeb url(bg_sp.png) no-repeat center top -45px / 100%;
    font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  }
  #mothersday .mv {
    margin: 0 0 25px;
  }
  #mothersday h1 {
    padding: 0;
    margin: 0 0 25px;
  }
  #mothersday h1 img {
    width: 100%;
  }
  #mothersday .mv .message {
    text-align: center;
  }
  #mothersday .mv .message span {
    color: var(--red);
  }
  #mothersday .first {
    padding: 13px 15px;
    margin: 0 10px 30px;
    background: rgb(255, 247, 247);
    border-radius: 5px;
    line-height: 1.42;
    font-weight: bold;
  }
  #mothersday .first .head {
    text-align: center;
    margin: 0 0 8px;
  }
  #mothersday .first .head span {
    display: inline-block;
    color: var(--red);
    font-size: 14px;
    font-weight: bold;
    padding: 0 0 0 25px;
    border-bottom: 2px solid var(--red);
    background: url(icon_caution.png) no-repeat left top / 16.5px;
  }
  #mothersday .first .text {
    font-size: 12px;
    margin: 6px 0 0;
  }
  #mothersday .first .text span {
    color: var(--red);
  }
  #mothersday .nav {
    display: flex;
    justify-content: center;
    gap: 25px;
    padding: 0 10px;
    margin: 0 0 40px;
  }
  #mothersday .nav li a {
    position: relative;
    display: block;
  }
  #mothersday .nav li p {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    color: #4c2f1e;
    font-size: 14px;
    line-height: 1.3;
    font-weight: bold;
    text-align: center;
  }
  #mothersday .special {
    text-align: center;
    padding: 0 0 80px;
    background: url(bg_special_item_sp.png) no-repeat center bottom / 100%;
  }
  #mothersday .special h2 {
    padding: 0;
    margin: 0 0 20px;
  }
  #mothersday .special .detail01 {
    display: flex;
    align-items: flex-start;
    justify-content: flex-end;
    margin: 0 0 30px;
  }
  #mothersday .special .detail01 .item {
    flex: 1;
  }
  #mothersday .special .detail01 h3 {
    margin: 0 0 5px;
    padding: 0;
  }
  #mothersday .special .detail01 h3 img {
    width: calc(294 / 750 * 100vw);
  }
  #mothersday .special .detail01 h4 {
    font-size: 12px;
    line-height: 1.67;
    font-weight: normal;
  }
  #mothersday .special .detail01 > img,
  #mothersday .special .detail02 > img {
    width: calc(360 / 750 * 100vw);
  }
  #mothersday .special > .text {
    line-height: 1.67;
    margin: 0 0 30px;
  }
  #mothersday .special .detail02 {
    display: flex;
    justify-content: space-between;
  }
  #mothersday .special .detail02 .point {
    width: calc(350 / 750 * 100vw);
  }
  #mothersday .special .detail02 .text {
    line-height: 1.67;
    margin: 5.5vw 0 0;
  }
  #mothersday .lineup {
    margin: -10px 0 20px;
  }
  #mothersday .lineup h2 {
    padding: 0;
    margin: 0 0 15px;
  }
  #mothersday .lineup ul {
    padding: 0 10px;
  }
  #mothersday .lineup li {
    position: relative;
    margin: 0 0 60px;
    z-index: 1;
  }
  #mothersday .lineup li:last-child {
    margin: 0;
  }
  #mothersday .lineup li:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 90%;
    background: #e9617d;
    border-radius: 0 0 5px 5px;
    z-index: -1;
  }
  #mothersday .lineup li .label {
    position: absolute;
    top: -13vw;
    left: -1vw;
    width: calc(218 / 750 * 100vw);
  }
  #mothersday .lineup .btn-cart {
    position: relative;
    display: block;
    width: 90%;
    margin: 18px auto 20px;
    border-radius: 40px;
    color: #4c2f1e;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    background-image: linear-gradient(to right,rgb(227,190,80),rgb(255,250,197) 30%,rgb(227,190,80));
    box-shadow: 0px 5px 2.85px 0.15px rgba(0, 0, 0, 0.2);
    padding: 2px 0;
    letter-spacing: .5px;
  }
  #mothersday .lineup .btn-cart:after {
    content: '';
    position: absolute;
    top: 22px;
    right: 20px;
    border-style: solid;
    border-width: 5px 0 5px 8px;
    border-color: transparent transparent transparent #4c2f1e;
  }
  #mothersday .lineup .note {
    color: #fff;
    font-size: 10px;
    line-height: 1.7;
    padding: 0 5.5% 15px;
  }
  #mothersday .lineup .contact {
    color: #fff;
    font-size: 10px;
    line-height: 1.7;
    padding: 0 5.5% 20px;
  }
  #mothersday .lineup .contact a {
    color: #fff;
    text-decoration: underline;
  }
  #mothersday .caution {
    margin: 0 10px;
    padding: 15px;
    border-radius: 5px;
    background: rgb(255, 247, 247);
    line-height: 1.5;
  }
  #mothersday .caution dt {
    font-size: 13px;
    font-weight: bold;
    margin: 0 0 3px;
  }
  #mothersday .caution dd li {
    font-size: 12px;
    text-indent: -6px;
    padding: 0 0 0 6px;
  }
  #mothersday .caution dd span {
    color: var(--red);
    font-weight: bold;
  }
  #mothersday .fixed-btn {
    position: fixed;
    right: 10px;
    bottom: 80px;
    width: 100px;
    line-height: 0;
    z-index: 1;
  }
}