@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#1a1a1a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;font-family:Century Gothic,Oswald,Noto Sans JP,system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0;padding:0}button{cursor:pointer;font-family:Century Gothic,Oswald,Noto Sans JP,system-ui,inherit}@media (prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.day-cell{color:#000;justify-content:center;align-items:center;min-height:28px;font-size:11px;font-weight:500;display:flex}.day-cell--red{color:#e74c3c}.day-cell--blue{color:#3498db}.day-cell--black{color:#1a1a1a}.day-cell--gray{color:#b0b0b0}.day-cell--outside{opacity:.6}.day-cell__date{line-height:1}@media print{.day-cell{page-break-inside:avoid}}@media screen and (min-width:768px) and (max-width:1023px){.day-cell{min-height:28px;font-size:12px}}@media screen and (max-width:767px){.day-cell{min-height:20px;font-size:10px}}@media screen and (max-width:480px){.day-cell{min-height:16px;font-size:9px}}.month-calendar{box-sizing:border-box;background:#fff;border-right:1px solid #ddd;flex-direction:column;height:100%;padding:4mm 6mm 6mm;transition:background-color .2s;display:flex}.month-calendar:nth-child(2n){background:#f5f5f5}.month-calendar:last-child,.month-calendar:nth-child(3n){border-right:none}.month-calendar__header{text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;height:40%;margin-bottom:10px;display:flex}.month-calendar__title{letter-spacing:.5px;color:#1a1a1a;margin:0;font-size:24px;font-weight:700}.month-calendar__subtitle{color:#666;letter-spacing:.3px;margin:4px 0 0;font-family:Noto Serif JP,Georgia,serif;font-size:11px;font-weight:400;line-height:1.2}.month-calendar__weekdays{flex-shrink:0;grid-template-columns:repeat(7,1fr);gap:0;height:9%;margin-bottom:0;display:grid}.month-calendar__weekday{text-align:center;color:#666;justify-content:center;align-items:center;min-height:16px;padding:0;font-size:9px;font-weight:600;line-height:1;display:flex}.month-calendar__grid{flex:1;grid-template-columns:repeat(7,1fr);gap:0;display:grid;overflow:hidden}@media print{.month-calendar{page-break-inside:avoid}}@media screen and (min-width:768px) and (max-width:1023px){.month-calendar{padding:4mm 3mm}.month-calendar__title{font-size:24px}.month-calendar__subtitle{font-size:7px}.month-calendar__weekday{min-height:16px;font-size:8px}}@media screen and (max-width:767px){.month-calendar{padding:4mm 3mm}.month-calendar__title{font-size:24px}.month-calendar__subtitle{margin:1px 0 0;font-size:7px}.month-calendar__weekday{min-height:16px;font-size:8px}}@media screen and (max-width:480px){.month-calendar{padding:4mm 3mm}.month-calendar__title{font-size:24px}.month-calendar__subtitle{margin:1px 0 0;font-size:7px}.month-calendar__weekday{min-height:16px;font-size:8px}}.calendar-wrapper{background:#fff;min-height:100vh;margin:0;padding:0}.calendar-header{background:#f8f8f8;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:16px 20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;display:flex}.calendar-header__title-section{flex:1}.calendar-header__title{color:#1a1a1a;margin:0;font-size:24px;font-weight:700}.calendar-header__controls{align-items:center;gap:12px;width:100%;display:flex}.calendar-controls__button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;justify-content:center;align-items:center;min-width:40px;height:40px;padding:8px 12px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.calendar-controls__button--print{background:#e8f5e9;border-color:#81c784;font-size:14px;font-weight:700}.calendar-controls__button--print:hover{background:#c8e6c9;border-color:#4caf50}.calendar-banner__content__icons ul{justify-content:center;gap:20px;padding:0;list-style:none;display:flex}.calendar-banner__content__icons ul li{color:#fff;flex-direction:column;align-items:center;font-size:16px;font-weight:600;display:flex}.calendar-banner__content__icons ul li img{width:124px;height:124px}.calendar-controls__button--print-spacer{margin-left:auto}.calendar-controls__button:hover{background:#f0f0f0;border-color:#999}.calendar-controls__button:active{background:#e0e0e0}.calendar-controls__button--week-toggle{background:#e3f2fd;border-color:#90caf9;font-size:14px;font-weight:700}.calendar-controls__button--week-toggle:hover{background:#bbdefb;border-color:#64b5f6}.calendar-controls__select{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:4px;height:40px;padding:8px 12px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:14px;font-weight:600;transition:all .2s}.calendar-controls__select:hover{background:#f0f0f0;border-color:#999}.calendar-controls__select:focus{border-color:#64b5f6;outline:none;box-shadow:0 0 0 2px #64b5f633}.calendar-controls__display{color:#666;min-width:50px;font-size:14px;font-weight:500}.calendar-guide{background:#fafafa;border-bottom:1px solid #eee;gap:30px;padding:12px 20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:13px;display:flex}.calendar-guide__item{align-items:baseline;gap:8px;display:flex}.calendar-guide__label{color:#333;word-break:keep-all;font-weight:600}.calendar-guide__description{color:#666}.calendar-banner{background:#f0f0f0;gap:0;width:100%;height:50dvh;min-height:450px;margin:0;padding:0;display:flex;position:relative;overflow:hidden}.calendar-annotations{color:#999;text-align:center;margin-top:40px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:12px}.calendar-banner__image{object-fit:cover;width:100%;height:50dvh;min-height:450px;transition:opacity .8s ease-in-out,transform 6s ease-in-out;display:block;position:absolute;top:0;left:0;transform:scale(1)}.calendar-banner__image[style*="opacity: 1"]{transform:scale(1.1)}.calendar-banner__content{text-align:center;color:#fff;z-index:10;text-shadow:0 2px 8px #0000004d;background:#0000004d;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100dvw;height:100%;padding:40px 30px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.calendar-banner__title{letter-spacing:1px;margin:0 0 24px;font-size:28px;font-weight:700}.calendar-banner__subtitle{max-width:540px;margin:0 0 12px;font-size:16px;font-weight:500;line-height:1.6}.calendar-banner__description{opacity:.95;margin:0;font-size:14px;font-weight:400;line-height:1.6}.calendar-banner__content br{display:none}@media (max-width:768px){.calendar-banner{flex-direction:column;height:80dvh;min-height:auto;position:relative}.calendar-banner__image{width:100%;height:80dvh;min-height:200px;top:auto;left:auto}.calendar-banner__content br{display:block}.calendar-banner__title{font-size:28px}.calendar-banner__subtitle{font-size:14px}.calendar-banner__description{font-size:12px}.calendar-banner__content__icons ul li img{width:88px;height:88px}}.calendar-footer{color:#fff;text-align:center;background:#333;border-top:1px solid #222;padding:20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:12px}.calendar-footer__content{max-width:1200px;margin:0 auto}.calendar-footer__copyright{color:#fff;margin:0 0 8px;font-weight:600}.calendar-footer__notice{color:#ccc;margin:0;font-size:11px}.carousel-viewport{background:#fff;width:100%;overflow:hidden}.calendar-containers-wrapper{--carousel-gap:20px;justify-content:flex-start;align-items:stretch;gap:var(--carousel-gap);box-sizing:border-box;background:#fff;flex-wrap:nowrap;width:100%;padding:20px;display:flex}.calendar-container{flex:0 0 calc(50% - var(--carousel-gap) / 2);max-width:calc(50% - var(--carousel-gap) / 2)}.calendar-carousel-controls{background:#fff;justify-content:center;align-items:center;gap:16px;padding:16px 20px;display:flex}.carousel-pagination{align-items:center;gap:8px;display:flex}.carousel-pagination__dot{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:50%;width:8px;height:8px;padding:0;transition:all .2s}.carousel-pagination__dot:hover{background:#f0f0f0;border-color:#999}.carousel-pagination__dot--active{background:#333;border-color:#333}.calendar-container{box-sizing:border-box;background:#fff;border:.5px solid #999;grid-template-columns:repeat(3,1fr);gap:0;display:grid}.calendar-container--hagaki{width:148mm;height:100mm}.calendar-container--l{width:127mm;height:89mm}.calendar-container--a5{width:210mm;height:148mm}.calendar-container--a6{width:148mm;height:105mm}.calendar-container:has(>.month-calendar:first-child:only-child){grid-template-columns:1fr}.calendar-container:has(>.month-calendar:nth-child(2):last-child){grid-template-columns:repeat(2,1fr)}.calendar-container:has(>.month-calendar:nth-child(4)){grid-template-columns:repeat(3,1fr)}.calendar-container:has(>.month-calendar:nth-child(7)){grid-template-columns:repeat(4,1fr)}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .month-calendar__title{font-size:13px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .month-calendar__subtitle{margin-top:1px;font-size:7px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .month-calendar__weekday{min-height:10px;font-size:6px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .day-cell{min-height:16px;font-size:6px}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar{padding:1mm 1.5mm 1.5mm}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar__title{font-size:10px}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar__subtitle{margin-top:.5px;font-size:5px}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar__weekday{min-height:8px;font-size:4px}.calendar-container:has(>.month-calendar:nth-child(7)) .day-cell{min-height:12px;font-size:4px}.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar:nth-child(4n){border-right:none!important}:is(.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar:nth-child(4n-1),.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar:nth-child(4n-2),.calendar-container:has(>.month-calendar:nth-child(7)) .month-calendar:nth-child(4n-3)){border-right:1px solid #ddd}.calendar-container--loading{justify-content:center;align-items:center;min-height:100vh;display:flex}.calendar-container__loading-text{color:#666;font-family:Century Gothic,Oswald,Noto Sans JP,Segoe UI,Roboto,sans-serif;font-size:16px}@media print{*{margin:0;padding:0}body,.calendar-wrapper{background:#fff;margin:0;padding:0}.calendar-header,.calendar-guide,.calendar-banner,.calendar-reasons,.calendar-products,.calendar-carousel-controls,.calendar-footer,.calendar-controls{display:none!important}@page{size:A4 landscape;margin:1mm}.calendar-containers-wrapper{box-sizing:border-box;page-break-inside:avoid;grid-template-rows:repeat(6,1fr)!important;grid-template-columns:repeat(2,1fr)!important;grid-auto-flow:initial!important;gap:0!important;width:293mm!important;height:auto!important;margin:0!important;padding:0!important;display:grid!important;overflow:visible!important;transform:none!important}.calendar-containers-wrapper--a5{page-break-after:always;grid-template-rows:repeat(2,1fr);grid-template-columns:1fr;width:auto;height:auto}.calendar-containers-wrapper--a5 .calendar-container:nth-child(2n){page-break-after:always}.calendar-containers-wrapper--a6{page-break-after:always;grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(2,1fr);width:auto;height:auto}.calendar-containers-wrapper--a6 .calendar-container:nth-child(4n){page-break-after:always}.calendar-container{page-break-inside:avoid;background:#fff;border:.5px solid #ccc;grid-template-columns:repeat(3,1fr);gap:0;margin:-.5px 0 0 -.5px;padding:0;display:grid;flex:none!important;max-width:none!important}.calendar-container--hagaki{width:148mm;height:100mm}.calendar-container--l{width:127mm;height:89mm}.calendar-container--a5{width:210mm;height:148mm}.calendar-container--a6{width:148mm;height:105mm}.day-cell{min-height:16px;font-size:10px}.day-cell__date{font-size:10px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .day-cell{font-size:5px}.calendar-container:has(>.month-calendar:nth-child(4)):not(:has(>.month-calendar:nth-child(7))) .day-cell__date{font-size:6px}.calendar-container:has(>.month-calendar:nth-child(7)) .day-cell{font-size:4px}.calendar-container:has(>.month-calendar:nth-child(7)) .day-cell__date{font-size:5px}}@media screen{body{background:#efefef;margin:0;padding:0;font-family:Century Gothic,Oswald,Noto Sans JP,Segoe UI,Roboto,sans-serif}}@media screen and (min-width:1024px){.calendar-containers-wrapper{--carousel-gap:20px;gap:var(--carousel-gap);background:#fff;padding:20px}.calendar-container--hagaki{border:.5px solid #ccc;width:148mm;height:100mm}.calendar-container--l{border:.5px solid #ccc;width:127mm;height:89mm}.calendar-container--a5{border:.5px solid #ccc;width:210mm;height:148mm}.calendar-container--a6{border:.5px solid #ccc;width:148mm;height:105mm}.calendar-header{padding:16px 20px}.calendar-header__title{font-size:24px}.calendar-guide{gap:30px;padding:12px 20px;font-size:12px}.calendar-controls__button{padding:8px 12px;font-size:16px}.calendar-controls__display{font-size:14px}}@media screen and (min-width:768px) and (max-width:1023px){.calendar-containers-wrapper{--carousel-gap:15px;gap:var(--carousel-gap);background:#fff;padding:15px}.calendar-container{border:1px solid #ccc;width:100%;height:auto;margin:0 auto}.calendar-container--hagaki{aspect-ratio:148/100}.calendar-container--l{aspect-ratio:127/89}.calendar-container--a5{aspect-ratio:210/148}.calendar-container--a6{aspect-ratio:148/105}.calendar-header{flex-direction:column;align-items:flex-start;gap:12px;padding:12px 16px}.calendar-header__title{font-size:20px}.calendar-header__controls{justify-content:flex-start;gap:8px;width:100%}.calendar-guide{flex-direction:column;gap:8px;padding:10px 16px;font-size:12px}.calendar-guide__item{gap:6px}.calendar-controls__button{padding:6px 10px;font-size:14px}.calendar-controls__display{min-width:auto;font-size:12px}}@media screen and (max-width:767px){.calendar-containers-wrapper{--carousel-gap:12px;gap:var(--carousel-gap);background:#fff;padding:12px}.calendar-container{border:1px solid #ccc;width:100%;height:auto}.calendar-container--hagaki{aspect-ratio:148/100}.calendar-container--l{aspect-ratio:127/89}.calendar-container--a5{aspect-ratio:210/148}.calendar-container--a6{aspect-ratio:148/105}.calendar-header{flex-direction:column;align-items:flex-start;gap:10px;padding:10px 12px}.calendar-header__title{font-size:18px}.calendar-header__controls{justify-content:flex-start;gap:6px;width:100%}.calendar-guide{flex-direction:column;gap:6px;padding:8px 12px;font-size:11px}.calendar-guide__item{gap:4px}.calendar-controls__button{padding:5px 8px;font-size:12px}.calendar-controls__display{min-width:auto;font-size:11px}}@media screen and (max-width:480px){.calendar-header{gap:8px;padding:8px 10px}.calendar-header__title{font-size:16px}.calendar-guide{gap:4px;padding:6px 10px;font-size:10px}.calendar-guide__item{gap:3px}.calendar-controls__button{padding:4px 6px;font-size:11px}}.calendar-reasons{background:#fff;margin:0;padding:60px 20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif}.calendar-reasons__title{text-align:center;color:#1a1a1a;letter-spacing:.5px;margin:0 0 40px;font-size:32px;font-weight:700}.calendar-reasons__columns{grid-template-columns:1fr 1fr;gap:40px;max-width:1000px;margin:0 auto;display:grid}.calendar-reasons__column{background:#f8f8f8;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000000d}.calendar-reasons__column-title{color:#1a1a1a;border-bottom:3px solid #64b5f6;margin:0 0 16px;padding-bottom:12px;font-size:24px;font-weight:700}.calendar-reasons__column-description{color:#333;margin:0;font-size:16px;line-height:1.8}.calendar-products{background:#fafafa;margin:0;padding:60px 20px;font-family:Noto Sans JP,Segoe UI,Roboto,sans-serif}.calendar-products__title{text-align:center;color:#1a1a1a;letter-spacing:.5px;margin:0 0 40px;font-size:28px;font-weight:700}.calendar-products__grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:24px;max-width:1200px;margin:0 auto;display:grid}.calendar-products__item{background:#fff;border-radius:8px;transition:all .3s;overflow:hidden;box-shadow:0 2px 8px #00000014}.calendar-products__item:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.calendar-products__link{height:100%;color:inherit;flex-direction:column;text-decoration:none;display:flex}.calendar-products__image-wrapper{background:#f5f5f5;width:100%;padding-bottom:100%;position:relative;overflow:hidden}.calendar-products__image{object-fit:cover;width:100%;height:100%;transition:transform .3s;position:absolute;top:0;left:0}.calendar-products__item:hover .calendar-products__image{transform:scale(1.05)}.calendar-products__info{flex-direction:column;flex:1;justify-content:space-between;padding:20px;display:flex}.calendar-products__name{color:#1a1a1a;flex:1;margin:0 0 12px;font-size:16px;font-weight:400;line-height:1.5}.calendar-products__price{color:initial;text-align:right;border-top:1px solid #eee;margin:0;padding-top:12px;font-family:Century Gothic,Din Alternate,Arial,sans-serif;font-size:14px;font-weight:400}@media (max-width:768px){.calendar-products{padding:40px 32px}.calendar-products__title{margin:0 0 30px;font-size:22px}.calendar-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.calendar-products__info{padding:16px}.calendar-products__name{margin:0 0 10px;font-size:14px}.calendar-products__price{font-size:16px}}@media screen and (max-width:480px){.calendar-products{padding:30px 24px}.calendar-products__title{margin:0 0 24px;font-size:20px}.calendar-products__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.calendar-products__info{padding:14px}.calendar-products__name{margin:0 0 8px;font-size:13px}.calendar-products__price{font-size:15px}}@media (max-width:768px){.calendar-reasons{padding:40px 16px}.calendar-reasons__title{margin:0 0 30px;font-size:24px}.calendar-reasons__columns{grid-template-columns:1fr;gap:20px}.calendar-reasons__column{padding:20px}.calendar-reasons__column-title{margin:0 0 12px;padding-bottom:8px;font-size:20px}.calendar-reasons__column-description{font-size:14px}.carousel-viewport{width:auto!important;display:block!important;overflow:visible!important}}#root{margin:0;padding:0}
