@charset "utf-8";
/***** 全体 *****/
#wrapper {
  min-height: 650px;
  padding: 0 var(--space-xs) var(--space-xxl);
}
@media screen and (max-width:768px) {
  #wrapper {
    min-height: auto;
  }
}
/***** header *****/
.l-header__ttl {
  max-width: 420px;
  display: flex;
  align-items: center;
  gap: 0.8vw;
}
.l-header__ttl a:first-child {
  width: 100%;
  max-height: 65px;
}
@media screen and (max-width:768px) {
  .l-header__ttl img {
    max-height: 28px;
  }
  .l-header__ttl a:first-child {
    width: auto;
  }
}
/***** 見出し *****/
.l-headline {
  max-width: calc(1200px + var(--space-xs) + var(--space-xs));
  margin-inline: auto;
  margin-bottom: var(--space-sm);
  padding: 0 var(--space-xs);
}
.l-headline_ttl {
  font-size: clamp(2rem, 5.3vw, 3.2rem);
  font-weight: 600;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.08em;
  color: #fff;
  padding: var(--space-sm) var(--space-lg);
  border-radius: var(--round-lg);
  outline: 4px solid var(--base-color);
  outline-offset: -12px;
  overflow: hidden;
}
.c-title__main {
  font-size: clamp(1.8rem, 4.8vw, 2rem);
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: clamp(1rem, 2.7vw, var(--space-xs));
  padding-bottom: 0.5rem;
  border-bottom: 2px solid;
  position: relative;
}
.c-title__main:before {
  position: absolute;
  bottom: -0.5rem;
  left: 0;
  right: 0;
  border-bottom: 1px solid var(--base-color);
  content: "";
}
.c-title__large {
  font-size: clamp(1.6rem, 4.3vw, 1.8rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  margin-bottom: 0.5rem;
}
.c-title__medium {
  font-weight: 500;
  margin-bottom: 0.5rem;
  padding-left: clamp(1.4rem, 3.7vw, 1.6rem);
  position: relative;
}
.c-title__medium:before {
  position: absolute;
  top: 0.5em;
  left: 0;
  width: clamp(10px, 2.7vw, 12px);
  height: clamp(10px, 2.7vw, 12px);
  content: '';
  border-radius: 3px;
}
.c-title__small span {
  display: inline-block;
  background-repeat: no-repeat;
  background-size: 100% 2px;
  background-position: bottom;
  margin-bottom: 0.8rem;
}
@media screen and (max-width:768px) {
  .l-headline_ttl {
    outline: 2px solid var(--base-color);
    outline-offset: -6px;
  }
}
/***** 開催情報 *****/
.p-information__head {
  max-width: 440px;
  margin-inline: auto;
  padding: 0 var(--space-xs);
  position: absolute;
  top: -5%;
  left: 0;
}
.p-information__head__fig {
  position: relative;
}
.p-information__head__wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: clamp(1rem, 2.7vw, var(--space-md));
  text-align: center;
}
.p-information__head__ttl {
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: clamp(2.4rem, 6.4vw, 4.8rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 2;
  color: var(--sub-color02);
  position: relative;
}
.p-information__head__ttl:before {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  border-top: clamp(4px, 1.1vw, 8px) dotted var(--sub-color);
  width: 0.8em;
  content: "";
}
.p-information__map {
  position: relative;
  margin-top: 4vw;
  padding-bottom: var(--space-xl);
}
.p-information__map__fig {
  max-width: 880px;
  margin-inline: auto;
}
.p-information__map__area {
  position: absolute;
}
.hokkaido.p-information__map__area {
  top: 13%;
  right: 38%;
}
.tohoku.p-information__map__area {
  top: 30%;
  right: 0;
}
.kanto.p-information__map__area {
  top: 42%;
  right: 0;
}
.chubu.p-information__map__area {
  top: 25%;
  right: 38%;
}
.kinki.p-information__map__area {
  bottom: 22%;
  right: 22%;
}
.shikoku.p-information__map__area {
  bottom: 22%;
  left: 32%;
}
.chugoku.p-information__map__area {
  top: 37%;
  left: 28%;
}
.kyushu.p-information__map__area {
  top: 42%;
  left: 3%;
}
.okinawa.p-information__map__area {
  bottom: 10%;
  left: 32%;
}
.p-information__map__btn {
  text-decoration: none;
  color: #fff;
  font-size: clamp(1.8rem, 4.8vw, 2.8rem);
  font-weight: 600;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.06em;
  padding: var(--space-xs);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.4vw;
  width: 9em;
  text-align: center;
  border-radius: var(--round-lg);
  box-shadow: 4px 4px 0px #fff;
  transition: 0.3s;
  position: relative;
}
.p-information__map__btn:hover {
  box-shadow: unset;
  transform: translate(3px, 3px);
}
.hokkaido .p-information__map__btn {
  background-color: var(--sub-color02);
}
.tohoku .p-information__map__btn {
  background-color: #12838C;
}
.kanto .p-information__map__btn {
  background-color: #137339;
}
.chubu .p-information__map__btn {
  background-color: #389939;
}
.kinki .p-information__map__btn {
  background-color: #877A2A;
}
.shikoku .p-information__map__btn {
  background-color: #891C22;
}
.chugoku .p-information__map__btn {
  background-color: #A14824;
}
.kyushu .p-information__map__btn {
  background-color: var(--sub-color);
}
.okinawa .p-information__map__btn {
  background-color: #E26815;
}
.p-information__map__btn:after {
  content: "";
  display: block;
  width: clamp(24px, 6.4vw, 36px);
  height: clamp(24px, 6.4vw, 36px);
  background: url("../images/btn_down_arrow.svg") no-repeat center / 100%;
}
.p-information__area__wrap + .p-information__area__wrap {
  margin-top: var(--space-lg);
}
.p-information__ttl {
  display: inline-block;
  font-size: clamp(2rem, 5.3vw, 3.2rem);
  font-weight: 600;
  font-family: "Zen Maru Gothic", sans-serif;
  letter-spacing: 0.08em;
  color: #fff;
  padding: var(--space-xs) var(--space-lg);
  border-radius: var(--round-lg);
  text-underline-offset: 5px;
  text-decoration: 2px underline wavy var(--base-color);
  position: relative;
  bottom: -1.6rem;
}
#hokkaido .p-information__ttl {
  background-color: var(--sub-color02);
}
#tohoku .p-information__ttl {
  background-color: #12838C;
}
#kanto .p-information__ttl {
  background-color: #137339;
}
#chubu .p-information__ttl {
  background-color: #389939;
}
#kinki .p-information__ttl {
  background-color: #877A2A;
}
#chugoku .p-information__ttl {
  background-color: #A14824;
}
#shikoku .p-information__ttl {
  background-color: #891C22;
}
#kyushu .p-information__ttl {
  background-color: var(--sub-color);
}
#okinawa .p-information__ttl {
  background-color: #E26815;
}
.p-information__area__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  background-color: #fff;
  padding: var(--space-md);
  border-radius: var(--round-md);
}
.p-information__area__link {
  text-decoration: none;
  color: var(--black-color);
  padding-bottom: var(--space-xs);
  border-bottom: 3px dotted var(--base-color);
  transition: 0.3s;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-xs);
}
.p-information__area__link:hover {
  opacity: 0.7;
}
.p-information__area__item:last-child .p-information__area__link {
  border: none;
  padding: 0;
}
.p-information__area__link:after {
  content: "";
  display: inline-block;
  width: clamp(24px, 6.4vw, 30px);
  height: clamp(24px, 6.4vw, 30px);
  background: url("../images/btn_right_arrow.svg") no-repeat center / 100%;
  flex-shrink: 0;
}
.p-information__area__contents {
  display: flex;
  align-items: center;
}
.p-information__area__pref {
  width: 6.5em;
  text-align: center;
  color: #fff;
  font-size: clamp(1.6rem, 4.3vw, 1.8rem);
  font-weight: 600;
  letter-spacing: 0.05em;
  margin-right: var(--space-md);
  padding: 0.5rem var(--space-xs);
  border-radius: var(--round-md);
  flex-shrink: 0;
}
#hokkaido .p-information__area__pref {
  background-color: var(--sub-color02);
}
#tohoku .p-information__area__pref {
  background-color: #12838C;
}
#kanto .p-information__area__pref {
  background-color: #137339;
}
#chubu .p-information__area__pref {
  background-color: #389939;
}
#kinki .p-information__area__pref {
  background-color: #877A2A;
}
#chugoku .p-information__area__pref {
  background-color: #A14824;
}
#shikoku .p-information__area__pref {
  background-color: #891C22;
}
#kyushu .p-information__area__pref {
  background-color: var(--sub-color);
}
#okinawa .p-information__area__pref {
  background-color: #E26815;
}
.p-information__area__date {
  font-weight: bold;
  font-size: clamp(1.6rem, 4.3vw, 1.8rem);
  flex-shrink: 0;
  width: 9.5em;
}
#hokkaido .p-information__area__date {
  color: var(--sub-color02);
}
#tohoku .p-information__area__date {
  color: #12838C;
}
#kanto .p-information__area__date {
  color: #137339;
}
#chubu .p-information__area__date {
  color: #389939;
}
#kinki .p-information__area__date {
  color: #877A2A;
}
#chugoku .p-information__area__date {
  color: #A14824;
}
#shikoku .p-information__area__date {
  color: #891C22;
}
#kyushu .p-information__area__date {
  color: var(--sub-color);
}
#okinawa .p-information__area__date {
  color: #E26815;
}
.p-information__area__venue li:not(:last-child) {
  margin-bottom: clamp(0.5rem, 1.3vw, 1rem);
}
@media screen and (max-width:1100px) {
  .p-information__head {
    position: relative;
    top: -4vw;
    order: 1;
    max-width: 100%;
    padding: 0;
  }
  .p-information__map {
    display: flex;
    flex-direction: column-reverse;
    gap: var(--space-lg);
  }
  .p-information__map__wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xs);
  }
  .p-information__map__fig {
    width: 100%;
  }
  .p-information__map__area {
    position: static;
  }
  .p-information__map__btn {
    width: 100%;
    padding: 1rem var(--space-xs);
  }
}
@media screen and (max-width:768px) {
  .p-information__ttl {
    bottom: -1rem;
  }
  .p-information__area__contents {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }
  .p-information__area__pref {
    width: auto;
    margin: 0 0 0.5rem;
  }
  .p-information__area__date {
    width: 100%;
  }
}
/***** 各都道府県詳細ページ *****/
.hokkaido.l-headline_ttl {
  background-color: var(--sub-color02);
}
.tohoku.l-headline_ttl {
  background-color: #12838C;
}
.kanto.l-headline_ttl {
  background-color: #137339;
}
.chubu.l-headline_ttl {
  background-color: #389939;
}
.kinki.l-headline_ttl {
  background-color: #877A2A;
}
.chugoku.l-headline_ttl {
  background-color: #A14824;
}
.shikoku.l-headline_ttl {
  background-color: #891C22;
}
.kyushu.l-headline_ttl {
  background-color: var(--sub-color);
}
.okinawa.l-headline_ttl {
  background-color: #E26815;
}
.p-area__table {
  width: 100%;
}
.p-area__table th {
  padding: var(--space-xs);
  font-size: clamp(1.6rem, 4.3vw, 1.8rem);
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.02em;
  border: 2px solid var(--base-color);
  width: 20%;
}
.hokkaido .p-area__table th {
  background-color: var(--sub-color02);
}
.tohoku .p-area__table th {
  background-color: #12838C;
}
.kanto .p-area__table th {
  background-color: #137339;
}
.chubu .p-area__table th {
  background-color: #389939;
}
.kinki .p-area__table th {
  background-color: #877A2A;
}
.chugoku .p-area__table th {
  background-color: #A14824;
}
.shikoku .p-area__table th {
  background-color: #891C22;
}
.kyushu .p-area__table th {
  background-color: var(--sub-color);
}
.okinawa .p-area__table th {
  background-color: #E26815;
}
.p-area__table tr:first-child th {
  border-radius: var(--round-md) 0 0 0;
}
.p-area__table tr:last-child th {
  border-radius: 0 0 0 var(--round-md);
}
.p-area__table td {
  padding: var(--space-xs);
  border: 2px solid var(--base-color);
  background-color: #fff;
}
.p-area__table tr:first-child td {
  border-radius: 0 var(--round-md) 0 0;
}
.p-area__table tr:last-child td {
  border-radius: 0 0 var(--round-md) 0;
}
.p-area__item {
  margin-bottom: var(--space-sm);
}
.p-area__item:last-child {
  margin: 0;
  padding: 0;
  border: none;
}
.p-area__item__in + .p-area__item__in {
  margin-top: clamp(1rem, 2.7vw, var(--space-xs));
}
.hokkaido .c-title__main {
  color: var(--sub-color02);
  border-color: var(--sub-color02);
}
.kanto .c-title__main {
  color: #137339;
}
.chubu .c-title__main {
  color: #389939;
}
.kinki .c-title__main {
  color: #877A2A;
}
.chugoku .c-title__main {
  color: #A14824;
}
.shikoku .c-title__main {
  color: #891C22;
}
.kyushu .c-title__main {
  color: var(--sub-color);
}
.okinawa .c-title__main {
  color: #E26815;
}
.p-area__item .c-title__large:last-child, .p-area__item .c-title__medium:last-child {
  margin-bottom: 0;
}
.hokkaido .c-title__large {
  color: var(--sub-color02);
}
.tohoku .c-title__large {
  color: #12838C;
}
.kanto .c-title__large {
  color: #137339;
}
.chubu .c-title__large {
  color: #389939;
}
.kinki .c-title__large {
  color: #877A2A;
}
.chugoku .c-title__large {
  color: #A14824;
}
.shikoku .c-title__large {
  color: #891C22;
}
.kyushu .c-title__large {
  color: var(--sub-color);
}
.okinawa .c-title__large {
  color: #E26815;
}
.hokkaido .c-title__medium:before {
  background: var(--sub-color02);
}
.tohoku .c-title__medium:before {
  background: #12838C;
}
.kanto .c-title__medium:before {
  background: #137339;
}
.chubu .c-title__medium:before {
  background: #389939;
}
.kinki .c-title__medium:before {
  background: #877A2A;
}
.shikoku .c-title__medium:before {
  background: #891C22;
}
.chugoku .c-title__medium:before {
  background: #A14824;
}
.kyushu .c-title__medium:before {
  background: var(--sub-color);
}
.okinawa .c-title__medium:before {
  background: #E26815;
}
.p-area__list + .c-title__small, p + .c-title__small, .p-area__list + .c-title__medium {
  margin-top: 0.5rem;
}
.hokkaido .c-title__small span {
  background-image: linear-gradient(90deg, var(--sub-color02) 0 3em, var(--base-color) 3em);
}
.tohoku .c-title__small span {
  background-image: linear-gradient(90deg, #12838C 0 3em, var(--base-color) 3em);
}
.kanto .c-title__small span {
  background-image: linear-gradient(90deg, #137339 0 3em, var(--base-color) 3em);
}
.chubu .c-title__small span {
  background-image: linear-gradient(90deg, #389939 0 3em, var(--base-color) 3em);
}
.kinki .c-title__small span {
  background-image: linear-gradient(90deg, #877A2A 0 3em, var(--base-color) 3em);
}
.shikoku .c-title__small span {
  background-image: linear-gradient(90deg, #891C22 0 3em, var(--base-color) 3em);
}
.chugoku .c-title__small span {
  background-image: linear-gradient(90deg, #A14824 0 3em, var(--base-color) 3em);
}
.kyushu .c-title__small span {
  background-image: linear-gradient(90deg, var(--sub-color) 0 3em, var(--base-color) 3em);
}
.okinawa .c-title__small span {
  background-image: linear-gradient(90deg, #E26815 0 3em, var(--base-color) 3em);
}
.p-area__list {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 9em 1fr;
  column-gap: 1rem;
}
.p-area__list + .p-area__list, p + .p-area__list {
  margin-block: 0.5rem;
}
.p-area__list:last-child {
  margin-bottom: 0;
}
.p-area__list__ttl {
  padding: 0 0.5rem;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  border: 1px solid;
  border-radius: 4px;
}
.hokkaido .p-area__list__ttl {
  color: var(--sub-color02);
  border-color: var(--sub-color02);
}
.tohoku .p-area__list__ttl {
  color: #12838C;
  border-color: #12838C;
}
.kanto .p-area__list__ttl {
  color: #137339;
  border-color: #137339;
}
.chubu .p-area__list__ttl {
  color: #389939;
  border-color: #389939;
}
.kinki .p-area__list__ttl {
  color: #877A2A;
  border-color: #877A2A;
}
.shikoku .p-area__list__ttl {
  color: #891C22;
  border-color: #891C22;
}
.chugoku .p-area__list__ttl {
  color: #A14824;
  border-color: #A14824;
}
.kyushu .p-area__list__ttl {
  color: var(--sub-color);
  border-color: var(--sub-color);
}
.okinawa .p-area__list__ttl {
  color: #E26815;
  border-color: #E26815;
}
.p-area__list__txt + .p-area__list__txt {
  grid-column: 2 / 3;
}
.p-area__timeList {
  display: grid;
  align-items: flex-start;
  grid-template-columns: 9em 1fr;
  column-gap: 1rem;
}
.p-area__timeList + .p-area__timeList {
  margin-block: 0.5rem;
}
.p-area__timeList:last-child {
  margin-bottom: 0;
}
.p-area__timeList__time {
  font-weight: 600;
  letter-spacing: 0.08em;
}
.hokkaido .p-area__timeList__time {
  color: var(--sub-color02);
}
.tohoku .p-area__timeList__time {
  color: #12838C;
}
.kanto .p-area__timeList__time {
  color: #137339;
}
.chubu .p-area__timeList__time {
  color: #389939;
}
.kinki .p-area__timeList__time {
  color: #877A2A;
}
.shikoku .p-area__timeList__time {
  color: #891C22;
}
.chugoku .p-area__timeList__time {
  color: #A14824;
}
.kyushu .p-area__timeList__time {
  color: var(--sub-color);
}
.okinawa .p-area__timeList__time {
  color: #E26815;
}
.p-area__timeList__txt + .p-area__timeList__txt {
  grid-column: 2 / 3;
  margin-top: 1rem;
}
@media screen and (max-width:768px) {
  .p-area__table th {
    width: 25%;
  }
  .p-area__table tr:first-child th {
    border-radius: 16px 0 0 0;
  }
  .p-area__table tr:last-child th {
    border-radius: 0 0 0 16px;
  }
  .p-area__table tr:first-child td {
    border-radius: 0 16px 0 0;
  }
  .p-area__table tr:last-child td {
    border-radius: 0 0 16px 0;
  }
  .p-area__list {
    grid-template-columns: 1fr;
    row-gap: 0.5rem;
  }
  .p-area__timeList {
    grid-template-columns: 1fr;
    row-gap: 0;
  }
}
/***** 印刷設定 *****/
@media print {
  .l-header {
    position: static;
  }
}