@charset "UTF-8";
/* ###################  ブレイクポイントの設定  ################### */
/*ブレイクポイント*/
/* ####  マージン　パディング  #####*/
.mt_00 { margin-top: 0px !important; }

.mb_00 { margin-bottom: 0px !important; }

.pt_00 { padding-top: 0px !important; }

.pb_00 { padding-bottom: 0px !important; }

.mt_10 { margin-top: 10px !important; }

.mb_10 { margin-bottom: 10px !important; }

.pt_10 { padding-top: 10px !important; }

.pb_10 { padding-bottom: 10px !important; }

.mt_20 { margin-top: 20px !important; }

.mb_20 { margin-bottom: 20px !important; }

.pt_20 { padding-top: 20px !important; }

.pb_20 { padding-bottom: 20px !important; }

.mt_30 { margin-top: 30px !important; }

.mb_30 { margin-bottom: 30px !important; }

.pt_30 { padding-top: 30px !important; }

.pb_30 { padding-bottom: 30px !important; }

.mt_40 { margin-top: 40px !important; }

.mb_40 { margin-bottom: 40px !important; }

.pt_40 { padding-top: 40px !important; }

.pb_40 { padding-bottom: 40px !important; }

.mt_50 { margin-top: 50px !important; }

.mb_50 { margin-bottom: 50px !important; }

.pt_50 { padding-top: 50px !important; }

.pb_50 { padding-bottom: 50px !important; }

.mt_60 { margin-top: 60px !important; }

.mb_60 { margin-bottom: 60px !important; }

.pt_60 { padding-top: 60px !important; }

.pb_60 { padding-bottom: 60px !important; }

.mt_70 { margin-top: 70px !important; }

.mb_70 { margin-bottom: 70px !important; }

.pt_70 { padding-top: 70px !important; }

.pb_70 { padding-bottom: 70px !important; }

.mt_80 { margin-top: 80px !important; }

.mb_80 { margin-bottom: 80px !important; }

.pt_80 { padding-top: 80px !important; }

.pb_80 { padding-bottom: 80px !important; }

.mt_90 { margin-top: 90px !important; }

.mb_90 { margin-bottom: 90px !important; }

.pt_90 { padding-top: 90px !important; }

.pb_90 { padding-bottom: 90px !important; }

.mt_100 { margin-top: 100px !important; }

.mb_100 { margin-bottom: 100px !important; }

.pt_100 { padding-top: 100px !important; }

.pb_100 { padding-bottom: 100px !important; }

/*    タグリセット      */
html { scroll-behavior: smooth; }

html, body { margin: 0; padding: 0; font-family: "Noto Sans", 'NotoSansCJKjp', "Noto Sans CJK JP", "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif; }

ul, dl, ol { margin: 0; padding: 0; }

main, section, article, div { box-sizing: border-box; }

li { margin: 0; padding: 0; list-style: none; }

a { text-decoration: none; box-sizing: border-box; }

img { vertical-align: top; }

@media screen and (max-width: 640px) { .disp_pc { display: none !important; } }

@media screen and (max-width: 800px) { .disp_pad { display: none !important; } }

.disp_sp { display: none !important; }
@media screen and (max-width: 640px) { .disp_sp { display: block !important; } }

.center { text-align: center; }

.go_top a { display: block; color: #fff; background: #000; text-decoration: none; padding: 8px 0; width: 90%; margin: auto; text-align: center; }

input[type="submit"]:hover, input[type="image"]:hover { cursor: pointer; }

.cart_area { background: #c00; padding: 10px; box-sizing: border-box; margin-bottom: 10px; }
.cart_area .cart_h { color: #fff; text-align: center; padding-bottom: 8px; }
.cart_area form { background: #fff; display: flex; align-items: center; gap: 10px; box-sizing: border-box; }
@media screen and (max-width: 640px) { .cart_area form { flex-wrap: wrap; padding: 10px; text-align: center; } }
.cart_area form .cart_img_area { width: 30%; max-width: 300px; }
@media screen and (max-width: 640px) { .cart_area form .cart_img_area { text-align: center; width: 100%; max-width: inherit; } }
.cart_area form .cart_info_area { width: 70%; padding: 0 10px; text-align: center; }
@media screen and (max-width: 640px) { .cart_area form .cart_info_area { width: 100%; padding: 0; } }
.cart_area form p { color: #c00; font-size: 28pt; font-weight: bold; margin: 0; }
@media screen and (max-width: 640px) { .cart_area form p { font-size: 6.5vw; } }
.cart_area form p small { font-size: 10pt; }
@media screen and (max-width: 640px) { .cart_area form p small { font-size: 8pt; } }
.cart_area form button { background: #000; color: #fff; border: none; font-size: 16pt; padding: 4px; font-weight: bold; border-radius: 4px; width: 80%; margin: 20px auto 0 auto; display: block; }
@media screen and (max-width: 640px) { .cart_area form button { width: 80%; font-size: 5vw; line-height: 1; padding: 10px 0px; } }
.cart_area form button:hover { cursor: pointer; }
.cart_area h3 { font-size: 16pt; margin: 0; }
@media screen and (max-width: 640px) { .cart_area h3 { font-size: 4.3vw; } }
.cart_area .cart_img { width: 100%; max-width: 260px; height: auto; }

.kiyaku { margin: 40px auto; border-width: 3px; border-style: solid; border-color: #333; padding: 10px 20px; border-radius: 8px; box-sizing: border-box; }
@media screen and (max-width: 640px) { .kiyaku { width: 96%; } }
.kiyaku dl { margin: 0; padding: 0; }
.kiyaku dt { margin: 0 0 6px 0; padding: 10px 10px 0 10px; font-weight: 700; font-size: 14pt; }
@media screen and (max-width: 640px) { .kiyaku dt { font-size: 10pt; } }
.kiyaku dd { font-size: 12pt; margin: 0; padding: 0 10px 10px 10px; border-bottom: 1px solid #ddd; line-height: 1.4; }
@media screen and (max-width: 640px) { .kiyaku dd { font-size: 8pt; } }
.kiyaku dd:last-child { border: none; }
.kiyaku dd ul { margin-left: 1rem; }
.kiyaku dd li { list-style: disc; margin-bottom: 6px; }

.go_top a { display: block; color: #fff; background: #000; text-decoration: none; padding: 8px 0; width: 90%; margin: auto; text-align: center; }

html { scroll-behavior: smooth; }

body { font-family: "Noto Sans JP", "Yu Gothic Medium", "Yu Gothic", "游ゴシック体", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Meiryo", "メイリオ", "Roboto", sans-serif; font-weight: 500; }

#msd { width: 100%; max-width: 900px; margin: auto; }
#msd img { width: 100%; height: auto; }
#msd section { width: 100%; max-width: 800px; margin: auto; }
#msd .kiyaku { margin-top: 60px; }
#msd .camp { background: linear-gradient(to right, #E6BC46, #F4E3AF); text-align: center; padding: 1px 0 30px 0; }
#msd .camp h3 { margin: 20px 0 4px 0; font-size: clamp(18px, 4.5vw, 24px); }
#msd .camp p { margin: 0 0 0px 0; font-size: clamp(14px, 4vw, 20px); }
#msd .camp p strong { font-size: clamp(18px, 4.5vw, 22px); }
#msd .camp a { background: #000; color: #fff; border-radius: 8px; width: 60%; margin: 20px auto 0 auto; display: block; padding: 8px 0; }
#msd .cart_area { background: #E6BC46; }
#msd .cart_area span { font-size: 16pt; }
@media screen and (max-width: 640px) { #msd .cart_area span { font-size: 12pt; } }
#msd .harf_cart_area { display: flex; flex-wrap: wrap; gap: 40px 10px; padding: 40px 20px; }
@media screen and (max-width: 640px) { #msd .harf_cart_area { padding: 0; margin: 20px auto; gap: 20px 10px; width: 94%; } }
#msd .harf_cart_area article { width: 32%; margin: auto; }
@media screen and (max-width: 640px) { #msd .harf_cart_area article { width: 48%; } }
#msd .harf_cart_area article h3 { margin: 0; text-align: center; font-size: clamp(14px, 3.5vw, 18px); }
#msd .harf_cart_area form { flex-direction: column; justify-content: center; display: flex; }
#msd .harf_cart_area form div.cart_img_area { width: 100%; text-align: center; }
#msd .harf_cart_area form div.cart_text_area { width: 100%; text-align: center; }
#msd .harf_cart_area form span { font-size: 16pt; }
@media screen and (max-width: 640px) { #msd .harf_cart_area form span { font-size: 12pt; } }
#msd .harf_cart_area img { width: 100%; margin-bottom: 10px; }
#msd .harf_cart_area p { color: #c00; font-size: 28pt; font-weight: bold; margin: auto; text-align: center; }
@media screen and (max-width: 640px) { #msd .harf_cart_area p { font-size: 5.5vw; } }
#msd .harf_cart_area p small { font-size: 10pt; }
@media screen and (max-width: 640px) { #msd .harf_cart_area p small { font-size: 8pt; } }
#msd .harf_cart_area button { background: #000; color: #fff; border: none; font-size: clamp(12px, 3.5vw, 16px); padding: 4px; font-weight: bold; border-radius: 4px; width: 90%; margin: 10px auto 0 auto; display: block; }
@media screen and (max-width: 640px) { #msd .harf_cart_area button { width: 90%; font-size: 3.5vw; line-height: 1; padding: 10px 0px; margin-top: 10px auto 20px auto; } }
#msd .harf_cart_area button:hover { cursor: pointer; }

.slider_outer { width: 100%; position: relative; margin: 40px auto; }

.slider { margin-bottom: 40px; overflow-x: auto; display: flex; gap: 10px; scroll-snap-type: x mandatory; scroll-behavior: smooth; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: #CDCDCD transparent; }
.slider::-webkit-scrollbar { height: 8px; }
.slider::-webkit-scrollbar-track { background: transparent; }
.slider::-webkit-scrollbar-thumb { background: #CDCDCD; border-radius: 4px; }
.slider::-webkit-scrollbar-thumb:hover { background: #CDCDCD; }
.slider div { min-width: 40%; margin-bottom: 10px; display: flex; flex-direction: column; justify-content: space-between; }
.slider div img { width: 100%; height: auto; }
.slider form input[type="image"] { width: 100%; height: auto; }
.slider a { display: block; color: #000; font-weight: bold; }
.slider input[type="submit"] { width: 100%; border-radius: 10px; background: #000; color: #fff; border: none; padding: 10px 0; margin-top: 4px; }
.slider p { margin: 0; text-align: center; }
.slider p strong { color: #c00; display: block; text-align: center; font-size: 18pt; }
.slider p strong small { font-size: 10pt; }

/* ナビボタン */
.prd-nav { position: absolute; top: 50%; translate: 0 -50%; width: 32px; height: 48px; border: none; border-radius: 8px; background: #000; color: #fff; cursor: pointer; }
@media screen and (max-width: 640px) { .prd-nav { display: none; } }

.prd-nav:disabled { opacity: .35; cursor: default; }

.prd-nav.prev { left: 4px; }

.prd-nav.next { right: 4px; }

/* 端のフェード（“続きがある”ヒント） */
.prd-carousel::before, .prd-carousel::after { content: ""; position: absolute; top: 0; bottom: 0; width: 24px; pointer-events: none; }

.prd-carousel::before { left: 40px; background: linear-gradient(90deg, #fff 0, transparent 100%); }

.prd-carousel::after { right: 40px; background: linear-gradient(270deg, #fff 0, transparent 100%); }
