@charset "utf-8";

.wrapper {
  font-family: BIZ UDPGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, Helvetica, Arial, sans-serif;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
}
#main_title {width: 100%; margin: 0 auto 0 auto; padding: 120px 0 20px;}
.main_title_img {width: 90%; margin: 0 auto; max-width: 1200px; border-radius: 20px;}

#info {display: grid; gap: 10px; grid-template-columns: auto 1fr; width: 100%; max-width: 600px; margin: 3em auto 3em auto;}
#info_ttl h2 {color: #333; font-size: 29px; position: relative; display: inline-block; border: none;}
#info_ttl h2:before {position: absolute; content: attr(data-sub); top: 2em; left: 50%; transform: translateX(-50%); color: #aaa; font-size: 13px;}
.info_inner {border-top: 2px solid #CCCCCC;}
.info_text {border-bottom: 2px solid #CCCCCC; color: #333; padding: 10px; line-height: 1.6em; font-size: 15px;}
.info_new p {background-color: #cf4332; color: #fff; padding: 5px 4px; font-size: 14px; margin-bottom: 2px; display: inline-block;}

#event_area {padding: 20px; border-radius: 24px; margin: 50px auto; width: 95%;}
.inner {width: 100%; padding: 0; margin: 0 auto; box-sizing: border-box;}
.area_left {font-size: 2em; font-weight: bold; margin-bottom: 1em; margin-top: 0.5em;}
.features {display: grid; grid-template-columns: 1fr 1fr 1fr; margin: 0 auto; gap: 2em 1.4em; width: 100%; padding-bottom: 30px;}
.features article {display: flex; flex-direction: column;}
.features article a {width: 100%; aspect-ratio: 10 / 6.7;}

p.area {margin: 10px 0 5px; color: #333; font-weight: bold; font-size: 1.2em;}
p.event {color: #333; font-weight: bold; font-size: 1.43em; line-height: 1.2em;}

.illumination {background-color: #051025;}
.illumination .area_left {color: #9eb9ff;}
.illumination p.area {color: #fff;}
.illumination p.event {color: #9eb9ff;}

.onsen {background-color: #b7e5e9;}
.onsen .area_left {color: #fd736f;}

.gourmet {background-color: #ef979d;}
.gourmet .area_left {color: #fff;}
.gourmet p.area {color: #fff;}
.gourmet p.event {color: #fff;}

.snow_festival {background-color: #f3f3f3;}
.snow_festival .and_more {color: #838383;}

.features article img {border-radius: 5px; object-fit: cover; width: 100%; height: 100%;}
.link_image {display: block; margin: 20px auto 0; width: 450px; max-width: 100%;}
.link_image img {margin: 0 auto; border-radius: 20px; width: auto;}
.and_more {text-align: center; color: #fff; font-weight: bold; padding: 2em 0; font-size: 1.1em;}

@media (max-width: 768px) {
  #info {display: block; margin: 1em auto;}
  #info_ttl {text-align: center;}
  .info_inner {margin-top: 30px;}
  .features {grid-template-columns: 1fr 1fr;}
}

@media (max-width: 425px) {
  #main_title {padding: 0 0 20px;}
  .main_title_img {width: 100%; border-radius: 0px;}
  .features {grid-template-columns: 1fr;}
}