@media screen and (max-width: 960.98px) {
  .mainArea {
    padding-bottom: clamp(0px, calc(0px + (100 * max(0px, ((100dvw - 0px) / (768))))), 100px);
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea {
    padding-bottom: clamp(0px, calc(0px + (100 * max(0px, ((100dvw - 0px) / (968))))), 100px);
  }
}
@media screen and (max-width: 960.98px) {
  .mainArea .l-section {
    margin-top: 4em;
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .l-section {
    margin-top: 6em;
  }
}
.mainArea .l-section .l-sectionHeading {
  color: #fff;
  display: grid;
  grid-template-columns: repeat(2, auto);
  justify-content: center;
  align-items: center;
  column-gap: .25em;
  padding: .25em;
}
.mainArea .l-section .l-sectionHeading::before {
  content: "";
  background-color: #fff;
  aspect-ratio: 140 / 95;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
@media screen and (max-width: 960.98px) {
  .mainArea .l-section .l-sectionHeading::before {
    width: min(rsz(110px, 768), 80px);
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .l-section .l-sectionHeading::before {
    width: clamp(0px, calc(0px + (90 * max(0px, ((100dvw - 0px) / (960))))), 90px);
  }
}
.mainArea .l-section .l-list {
  display: grid;
  justify-content: center;
}
@media screen and (max-width: 960.98px) {
  .mainArea .l-section .l-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.5em;
    margin-top: 2.5em;
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .l-section .l-list {
    grid-template-columns: repeat(3, 1fr);
    gap: 5em 8em;
    max-width: 1060px;
    margin: 4em auto 0;
  }
}
.mainArea .l-section .l-list li {
  display: contents;
}
.mainArea .l-section .l-list li a {
  text-decoration: none;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 1em;
}
@media (hover: hover) and (pointer: fine) {
  body:not([data-device="touchDevice"]) .mainArea .l-section .l-list li a:hover img {
    transform: scale(1.1);
  }
}
@media (hover: hover) and (pointer: fine) {
  .mainArea .l-section .l-list li a span.c-hover-line {
    background: linear-gradient(currentColor, currentColor) 0 100%/0% 1px no-repeat;
    transition: background 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
    /* easeOutQuart */
    padding-bottom: 0.2em;
  }
  .mainArea .l-section .l-list li a:hover span.c-hover-line {
    background: linear-gradient(currentColor, currentColor) 0 100%/100% 1px no-repeat;
  }
}
.mainArea .l-section .l-list li a .l-image {
  aspect-ratio: 1;
  overflow: hidden;
}
.mainArea .l-section .l-list li a .l-image img {
  width: 100%;
  transition: transform 400ms;
}
.mainArea .l-section .l-list li a .l-image.has-border {
  position: relative;
}
.mainArea .l-section .l-list li a .l-image.has-border::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #000;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 100;
}
.mainArea .l-section .l-list li a .l-caption {
  align-items: center;
}
@media screen and (max-width: 960.98px) {
  .mainArea .l-section .l-list li a .l-caption {
    display: grid;
    grid-template-columns: clamp(0px, calc(0px + (12 * max(0px, ((100dvw - 0px) / (768))))), 12px) 1fr clamp(0px, calc(0px + (12 * max(0px, ((100dvw - 0px) / (768))))), 12px);
    column-gap: 1.5em;
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .l-section .l-list li a .l-caption {
    display: inline-grid;
    grid-template-columns: clamp(0px, calc(0px + (8 * max(0px, ((100dvw - 0px) / (1140))))), 8px) auto clamp(0px, calc(0px + (8 * max(0px, ((100dvw - 0px) / (1140))))), 8px);
    column-gap: 1em;
    width: fit-content;
    margin-inline: auto;
  }
}
.mainArea .l-section .l-list li a .l-caption::before, .mainArea .l-section .l-list li a .l-caption::after {
  content: "";
  width: 100%;
}
.mainArea .l-section .l-list li a .l-caption::after {
  justify-self: end;
  aspect-ratio: 1;
  border-style: solid;
  rotate: 45deg;
}
@media screen and (max-width: 960.98px) {
  .mainArea .l-section .l-list li a .l-caption::after {
    border-width: .15em .15em 0 0;
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .l-section .l-list li a .l-caption::after {
    border-width: clamp(0px, calc(0px + (2 * max(0px, ((100dvw - 0px) / (1140))))), 2px) clamp(0px, calc(0px + (2 * max(0px, ((100dvw - 0px) / (1140))))), 2px) 0 0;
  }
}
.mainArea .introduntionArea {
  margin-top: 3em;
}
@media screen and (max-width: 960.98px) {
  .mainArea .introduntionArea .l-lead {
    text-align: left;
  }
}
.mainArea .introduntionArea .l-note {
  text-align: left;
  margin-top: 1.5em;
}
@media print, screen and (min-width: 961px) {
  .mainArea .introduntionArea .l-note {
    display: grid;
    justify-content: center;
  }
}
.mainArea .introduntionArea .l-list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 4em;
}
@media screen and (max-width: 960.98px) {
  .mainArea .introduntionArea .l-list {
    column-gap: .5em;
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .introduntionArea .l-list {
    column-gap: 1em;
  }
}
.mainArea .introduntionArea .l-list li {
  display: contents;
}
.mainArea .introduntionArea .l-list li a {
  color: #fff;
  text-decoration: none;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  overflow: hidden;
}
@media screen and (max-width: 960.98px) {
  .mainArea .introduntionArea .l-list li a {
    border-radius: clamp(0px, calc(0px + (8 * max(0px, ((100dvw - 0px) / (768))))), 8px);
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .introduntionArea .l-list li a {
    border-radius: clamp(0px, calc(0px + (8 * max(0px, ((100dvw - 0px) / (960))))), 8px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .mainArea .introduntionArea .l-list li a span.c-hover-line {
    background: linear-gradient(currentColor, currentColor) 0 100%/0% 1px no-repeat;
    transition: background 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
    /* easeOutQuart */
    padding-bottom: 0;
  }
  .mainArea .introduntionArea .l-list li a:hover span.c-hover-line {
    background: linear-gradient(currentColor, currentColor) 0 100%/100% 1px no-repeat;
  }
}
@media screen and (max-width: 960.98px) {
  .mainArea .introduntionArea .l-list li a .l-icon {
    padding-block: .5em;
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .introduntionArea .l-list li a .l-icon {
    padding: 2.5em 1em;
  }
}
@media screen and (max-width: 960.98px) {
  .mainArea .introduntionArea .l-list li a .l-icon img {
    width: min(85%, 120px);
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .introduntionArea .l-list li a .l-icon img {
    width: clamp(0px, calc(0px + (140 * max(0px, ((100dvw - 0px) / (960))))), 140px);
  }
}
.mainArea .introduntionArea .l-list li .l-caption {
  display: grid;
}
@media screen and (max-width: 960.98px) {
  .mainArea .introduntionArea .l-list li .l-caption {
    font-size: clamp(1.3rem, calc(13px + (3 * max(0px, ((100dvw - 384px) / (384))))), 1.6rem);
    line-height: 1.2;
    place-items: center;
    padding-block: 0.5em clamp(0px, calc(0px + (30 * max(0px, ((100dvw - 0px) / (768))))), 30px);
    position: relative;
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .introduntionArea .l-list li .l-caption {
    grid-template-columns: repeat(2, auto);
    justify-content: center;
    align-items: center;
    column-gap: .5em;
    padding: .25em;
  }
}
.mainArea .introduntionArea .l-list li .l-caption::after {
  content: "";
  aspect-ratio: 1;
  border-color: #fff;
  border-style: solid;
  display: block;
  rotate: -45deg;
}
@media screen and (max-width: 960.98px) {
  .mainArea .introduntionArea .l-list li .l-caption::after {
    width: clamp(0px, calc(0px + (10 * max(0px, ((100dvw - 0px) / (768))))), 10px);
    border-width: 0 0 .15em .15em;
    position: absolute;
    bottom: clamp(0px, calc(0px + (10 * max(0px, ((100dvw - 0px) / (768))))), 10px);
    left: 50%;
    translate: -50%;
    transform-origin: center left;
  }
}
@media print, screen and (min-width: 961px) {
  .mainArea .introduntionArea .l-list li .l-caption::after {
    width: clamp(0px, calc(0px + (6 * max(0px, ((100dvw - 0px) / (960))))), 6px);
    border-width: 0 0 clamp(0px, calc(0px + (3 * max(0px, ((100dvw - 0px) / (960))))), 3px) clamp(0px, calc(0px + (3 * max(0px, ((100dvw - 0px) / (960))))), 3px);
  }
}
.mainArea .introduntionArea .l-list li.l-leisure a {
  background-color: #E7FBE9;
}
.mainArea .introduntionArea .l-list li.l-leisure a .l-caption {
  background-color: #28992D;
}
.mainArea .introduntionArea .l-list li.l-culture a {
  background-color: #FFECEC;
}
.mainArea .introduntionArea .l-list li.l-culture a .l-caption {
  background-color: #E36367;
}
.mainArea .introduntionArea .l-list li.l-hotels a {
  background-color: #E6F7FF;
}
.mainArea .introduntionArea .l-list li.l-hotels a .l-caption {
  background-color: #2187C7;
}
.mainArea .introduntionArea .l-list li.l-schools a {
  background-color: #FFF3D6;
}
.mainArea .introduntionArea .l-list li.l-schools a .l-caption {
  background-color: #D09A18;
}
.mainArea .introduntionArea .l-list li.l-other a {
  background-color: #EFE4F9;
}
.mainArea .introduntionArea .l-list li.l-other a .l-caption {
  background-color: #8447B8;
}
.mainArea .leisureArea .l-sectionHeading {
  background-color: #28992D;
}
.mainArea .leisureArea .l-sectionHeading::before {
  mask-image: url("../images/icon-institution_leisure.svg");
}
.mainArea .leisureArea .l-list li a {
  color: #28992D;
}
.mainArea .cultureArea .l-sectionHeading {
  background-color: #E36367;
}
.mainArea .cultureArea .l-sectionHeading::before {
  mask-image: url("../images/icon-institution_culture.svg");
}
.mainArea .cultureArea .l-list li a {
  color: #E36367;
}
.mainArea .hotelsArea .l-sectionHeading {
  background-color: #2187C7;
}
.mainArea .hotelsArea .l-sectionHeading::before {
  mask-image: url("../images/icon-institution_hotels.svg");
}
.mainArea .hotelsArea .l-list li a {
  color: #2187C7;
}
.mainArea .schoolsArea .l-sectionHeading {
  background-color: #D09A18;
}
.mainArea .schoolsArea .l-sectionHeading::before {
  mask-image: url("../images/icon-institution_schools.svg");
}
.mainArea .schoolsArea .l-list li a {
  color: #D09A18;
}
.mainArea .otherArea .l-sectionHeading {
  background-color: #8447B8;
}
.mainArea .otherArea .l-sectionHeading::before {
  mask-image: url("../images/icon-institution_other.svg");
}
.mainArea .otherArea .l-list li a {
  color: #8447B8;
}

.modalArea .institutionModal {
  width: 90%;
  max-width: 1140px;
}
.modalArea .institutionModal .l-inner {
  background-color: #fff;
  box-sizing: border-box;
  position: relative;
}
@media screen and (max-width: 960.98px) {
  .modalArea .institutionModal .l-inner .l-main {
    padding: 2.5em;
  }
}
@media print, screen and (min-width: 961px) {
  .modalArea .institutionModal .l-inner .l-main {
    display: grid;
    grid-template-columns: clamp(0px, calc(0px + (300 * max(0px, ((100dvw - 0px) / (1140))))), 300px) 1fr;
    column-gap: clamp(0px, calc(0px + (70 * max(0px, ((100dvw - 0px) / (1140))))), 70px);
    align-items: center;
    padding: 7.5em 4em;
  }
}
.modalArea .institutionModal .l-inner .l-main .l-image {
  margin-inline: auto;
}
@media screen and (max-width: 960.98px) {
  .modalArea .institutionModal .l-inner .l-main .l-image {
    width: min(100%, 400px);
  }
}
@media print, screen and (min-width: 961px) {
  .modalArea .institutionModal .l-inner .l-main .l-image {
    width: 100%;
  }
}
.modalArea .institutionModal .l-inner .l-main .l-image img {
  width: 100%;
}
.modalArea .institutionModal .l-inner .l-main .l-image.has-border {
  position: relative;
}
.modalArea .institutionModal .l-inner .l-main .l-image.has-border::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid #000;
  top: 0;
  left: 0;
  pointer-events: none;
}
@media screen and (max-width: 960.98px) {
  .modalArea .institutionModal .l-inner .l-main .l-content {
    margin-top: 2em;
  }
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-name {
  text-align: left;
  padding-bottom: .25em;
  border-bottom: 2px solid currentColor;
}
@media print, screen and (min-width: 961px) {
  .modalArea .institutionModal .l-inner .l-main .l-content .l-name {
    font-size: clamp(2.3rem, calc(23px + (9 * max(0px, ((100dvw - 384px) / (384))))), 3.2rem);
    line-height: 1.4375;
  }
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-text {
  text-align: left;
  margin-top: 1em;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-ol {
  text-align: left;
  padding-left: 1.75em;
  margin-top: 1em;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-ol li {
  list-style-type: numeric;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 2em;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-table th,
.modalArea .institutionModal .l-inner .l-main .l-content .l-table td {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  vertical-align: middle;
  padding: .75em;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-table th[scope="col"] {
  background-color: #ebf7f0;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-table th[scope="col"]:not(:last-child) {
  border-right: 1px solid #000;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-table th[scope="row"] {
  border-right: 1px solid #000;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-table td {
  background-color: #fff;
  border-left: 1px solid #000;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-note {
  text-align: left;
  margin-top: 1.5em;
}
.modalArea .institutionModal .l-inner .l-main .l-content .l-highlight {
  color: #E3148A;
}
.modalArea .institutionModal .l-inner .l-main .l-benefit {
  margin-top: 1.5em;
}
@media print, screen and (min-width: 961px) {
  .modalArea .institutionModal .l-inner .l-main .l-benefit {
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: 1.5em;
  }
}
.modalArea .institutionModal .l-inner .l-main .l-benefit dt {
  border: 1px solid currentColor;
}
@media screen and (max-width: 960.98px) {
  .modalArea .institutionModal .l-inner .l-main .l-benefit dt {
    padding: .5em;
  }
}
@media print, screen and (min-width: 961px) {
  .modalArea .institutionModal .l-inner .l-main .l-benefit dt {
    padding: 1em;
  }
}
.modalArea .institutionModal .l-inner .l-main .l-benefit dd {
  text-align: left;
}
@media screen and (max-width: 960.98px) {
  .modalArea .institutionModal .l-inner .l-main .l-benefit dd {
    margin-top: 1em;
  }
}
.modalArea .institutionModal .l-inner .l-main .l-benefit dd span {
  display: block;
  margin-top: .25em;
}
.modalArea .institutionModal .l-inner .l-footerLink {
  color: #fff;
  text-decoration: none;
  padding: 1em;
  display: grid;
}
@media print, screen and (min-width: 961px) {
  .modalArea .institutionModal .l-inner .l-footerLink {
    font-size: clamp(1.6rem, calc(16px + (4 * max(0px, ((100dvw - 384px) / (384))))), 2rem);
    line-height: 1.6;
  }
}
@media (hover: hover) and (pointer: fine) {
  .modalArea .institutionModal .l-inner .l-footerLink span.c-hover-line {
    background: linear-gradient(currentColor, currentColor) 0 100%/0% 1px no-repeat;
    transition: background 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
    /* easeOutQuart */
    padding-bottom: 0.2em;
  }
  .modalArea .institutionModal .l-inner .l-footerLink:hover span.c-hover-line {
    background: linear-gradient(currentColor, currentColor) 0 100%/100% 1px no-repeat;
  }
}
.modalArea .institutionModal .l-inner .l-footerLink > span {
  width: fit-content;
  margin-inline: auto;
  display: inline-grid;
  align-items: center;
  column-gap: .75em;
}
@media screen and (max-width: 960.98px) {
  .modalArea .institutionModal .l-inner .l-footerLink > span {
    grid-template-columns: clamp(0px, calc(0px + (12 * max(0px, ((100dvw - 0px) / (768))))), 12px) auto clamp(0px, calc(0px + (12 * max(0px, ((100dvw - 0px) / (768))))), 12px);
  }
}
@media print, screen and (min-width: 961px) {
  .modalArea .institutionModal .l-inner .l-footerLink > span {
    grid-template-columns: clamp(0px, calc(0px + (8 * max(0px, ((100dvw - 0px) / (1140))))), 8px) auto clamp(0px, calc(0px + (8 * max(0px, ((100dvw - 0px) / (1140))))), 8px);
  }
}
.modalArea .institutionModal .l-inner .l-footerLink > span::before, .modalArea .institutionModal .l-inner .l-footerLink > span::after {
  content: "";
  width: 100%;
}
.modalArea .institutionModal .l-inner .l-footerLink > span::after {
  justify-self: end;
  aspect-ratio: 1;
  border-style: solid;
  rotate: 45deg;
}
@media screen and (max-width: 960.98px) {
  .modalArea .institutionModal .l-inner .l-footerLink > span::after {
    border-width: .15em .15em 0 0;
  }
}
@media print, screen and (min-width: 961px) {
  .modalArea .institutionModal .l-inner .l-footerLink > span::after {
    border-width: clamp(0px, calc(0px + (2 * max(0px, ((100dvw - 0px) / (1140))))), 2px) clamp(0px, calc(0px + (2 * max(0px, ((100dvw - 0px) / (1140))))), 2px) 0 0;
  }
}
.modalArea .institutionModal .l-inner .l-button {
  color: #fff;
  font: inherit;
  margin: 0;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
  box-sizing: border-box;
  outline: none;
  appearance: none;
  cursor: pointer;
  position: absolute;
  right: 0;
  bottom: 0;
  translate: 0 110%;
  z-index: 1;
  display: grid;
}
.modalArea .institutionModal .l-inner .l-button .l-icon {
  width: 40px;
  aspect-ratio: 1;
  position: relative;
  display: block;
  justify-self: center;
}
.modalArea .institutionModal .l-inner .l-button .l-icon::before, .modalArea .institutionModal .l-inner .l-button .l-icon::after {
  content: "";
  background-color: #fff;
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 2px;
  height: 100%;
}
.modalArea .institutionModal .l-inner .l-button .l-icon::before {
  rotate: 45deg;
}
.modalArea .institutionModal .l-inner .l-button .l-icon::after {
  rotate: -45deg;
}
.modalArea .institutionModal.institutionModal-leisure .l-inner .l-main .l-name {
  color: #28992D;
}
.modalArea .institutionModal.institutionModal-leisure .l-inner .l-main .l-benefit dt {
  color: #28992D;
}
.modalArea .institutionModal.institutionModal-leisure .l-inner .l-footerLink {
  background-color: #28992D;
}
.modalArea .institutionModal.institutionModal-culture .l-inner .l-main .l-name {
  color: #E36367;
}
.modalArea .institutionModal.institutionModal-culture .l-inner .l-main .l-benefit dt {
  color: #E36367;
}
.modalArea .institutionModal.institutionModal-culture .l-inner .l-footerLink {
  background-color: #E36367;
}
.modalArea .institutionModal.institutionModal-hotels .l-inner .l-main .l-name {
  color: #2187C7;
}
.modalArea .institutionModal.institutionModal-hotels .l-inner .l-main .l-benefit dt {
  color: #2187C7;
}
.modalArea .institutionModal.institutionModal-hotels .l-inner .l-footerLink {
  background-color: #2187C7;
}
.modalArea .institutionModal.institutionModal-schools .l-inner .l-main .l-name {
  color: #D09A18;
}
.modalArea .institutionModal.institutionModal-schools .l-inner .l-main .l-benefit dt {
  color: #D09A18;
}
.modalArea .institutionModal.institutionModal-schools .l-inner .l-footerLink {
  background-color: #D09A18;
}
.modalArea .institutionModal.institutionModal-other .l-inner .l-main .l-name {
  color: #8447B8;
}
.modalArea .institutionModal.institutionModal-other .l-inner .l-main .l-benefit dt {
  color: #8447B8;
}
.modalArea .institutionModal.institutionModal-other .l-inner .l-footerLink {
  background-color: #8447B8;
}

/*# sourceMappingURL=institution.css.map */
