@charset 'utf-8';

/* common
------------------------------------------------ */
@media screen and (min-width: 769px) {
  .fs-l-pageMain { padding: 0; max-width: inherit; }
}

/* calendar
------------------------------------------------ */
.calendar { position: relative; }
.calendar .point { position: relative; padding-left: 18px; font-size: 1.2rem; line-height: 1.2; }
.calendar .point::before { content: '\2026'; display: inline-block; padding-right: 0.2em; vertical-align: top; }
.calendar .point::after { content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
.calendar .point-sowing::after { width: 16px; height: 16px; background: #6cb9e8; border-radius: 50%; }
.calendar .point-planting::after { width: 0; height: 0; border: solid transparent 8px; border-top: none; border-bottom: solid #00ce9a 16px; }
.calendar .point-harvest::after { width: 16px; height: 16px; background: #cbba81; }
.calendar-top { display: flex; justify-content: center; align-items: flex-end; position: relative; }
.calendar-top::after { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 26px; background: url(../../img/calendar/bg_top.png) repeat-x left top; background-size: auto 100%; }
.calendar-top-map { position: relative; width: 37.6811594203%; }
.calendar-top-map--pic { position: relative; }
.calendar-top-map--note { position: absolute; top: 34.0909%; left: -8px; font-size: 1rem; line-height: 1.2; }
.calendar-top-info { margin: 0 0 22px -14px; width: 62.3188405797.3768%; }
.calendar-top-text { margin-bottom: 8px; font-size: 1.2rem; line-height: 1.6667; }
.calendar-top-point { display: flex; }
.calendar-content { padding: 45px 0 75px; background-position: center top; background-repeat: repeat; background-size: 100%; }
.calendar-category { position: relative; margin-top: 54px; }
.calendar-category:first-child { margin-top: 0; }
.calendar-category-top { position: relative; margin-bottom: 25px; }
.calendar-category-title { position: relative; margin: 0 auto; }
.calendar-category-point { display: flex; justify-content: center; position: absolute; padding: 8px 10px; background: #fff; }
.calendar-category-point .point { white-space: nowrap; }
.calendar-category-point .point + .point { margin-left: 8px; }
.calendar-category-schedule { position: relative; }

.calendar-category-1 .calendar-category-title { left: -10.6667%; width: 48.2667%; }
.calendar-category-2 .calendar-category-title { left: -10.2667%; width: 47.7333%; }
.calendar-category-3 .calendar-category-title { left: -10.3333%; width: 47.7333%; }
.calendar-category-4 .calendar-category-title { left: -11.2667%; width: 46%; }
.calendar-category-5 .calendar-category-title { left: -10.8667%; width: 51.3333%; }

@media screen and (max-width: 768px) {
  .calendar-top { margin: 0 -15px; padding: 0 15px 40px; }
  .calendar-top-map--pic { margin-left: 14px; }
  .calendar-top-point { justify-content: space-between; }
  .calendar-content { margin: 0 -15px; width: calc(100% + 30px); background-image: url(../../img/calendar/bg.png); }
  .calendar-category-top { padding-bottom: 48px; }
  .calendar-category-point { bottom: 0; left: 50%; transform: translateX(-50%); }
  .calendar-category-schedule { padding: 0 15px; }
  .calendar-category-schedule img { width: auto; height: auto; max-width: inherit; }
  .calendar-category-1 .calendar-category-schedule img { height: 393px; }
  .calendar-category-2 .calendar-category-schedule img { height: 243px; }
  .calendar-category-3 .calendar-category-schedule img { height: 593px; }
  .calendar-category-4 .calendar-category-schedule img { height: 243px; }
  .calendar-category-5 .calendar-category-schedule img { height: 142px; }
}

@media screen and (min-width: 769px) {
  .calendar .point { padding-left: 22px; font-size: 1.6rem; }
  .calendar-top { padding-bottom: 76px; }
  .calendar-top::after { height: 46px; }
  .calendar-top-map { width: 219px; }
  .calendar-top-map--note { top: 120px; left: 20px; font-size: 1.2rem; }
  .calendar-top-info { margin: 0 0 75px -14px; width: auto; }
  .calendar-top-text { margin-bottom: 20px; font-size: 1.6rem; line-height: 1.5; }
  .calendar-top-point .point + .point { margin-left: 16px; }
  .calendar-content { padding: 134px 0 200px; background-image: url(../../img/traditional/bg-pc.png); }
  .calendar-category { margin-top: 126px; }
  .calendar-category-top { margin-bottom: 30px; }
  .calendar-category-point { position: absolute; bottom: 0; right: 0; padding: 15px; border: solid #ccc 1px; }
  .calendar-category-point .point + .point { margin-left: 16px; }
  .calendar-category-1 .calendar-category-title { left: -52px; width: 215px; }
  .calendar-category-2 .calendar-category-title { left: -50px; width: 211px; }
  .calendar-category-3 .calendar-category-title { left: -50px; width: 211px; }
  .calendar-category-4 .calendar-category-title { left: -52px; width: 210px; }
  .calendar-category-5 .calendar-category-title { left: -50px; width: 234px; }
}

@media screen and (min-width: 769px) and (max-width: 940px) {
  .calendar-category-top { padding-bottom: 60px; }
}