body {
  background: #E6E6E6; }

.irex2023 {
  text-align: left; }
  .irex2023 img {
    max-width: 100%;
    height: auto; }

@media screen and (min-width: 769px) {
  .sp--show {
    display: none; }

  .tab--show {
    display: none; }

  .pc--show {
    display: block; } }
@media screen and (max-width: 768px) {
  .pc--show {
    display: none; }

  .tab--show {
    display: none; }

  .sp--show {
    display: block; } }
.h2 {
  font-weight: 700;
  line-height: calc(55 / 45); }
  @media screen and (min-width: 769px) {
    .h2 {
      font-size: 2.8rem; } }
  @media screen and (max-width: 768px) {
    .h2 {
      font-size: calc(45 / 16 * 0.6)rem; } }

.h2_sm {
  font-weight: 700;
  line-height: calc(42 / 28); }
  @media screen and (min-width: 769px) {
    .h2_sm {
      font-size: 1.75rem; } }
  @media screen and (max-width: 768px) {
    .h2_sm {
      font-size: calc(28 / 16 * 0.8)rem; } }

.h3 {
  font-weight: 700;
  line-height: calc(32 / 25);
  border-bottom: 1px solid #000000; }
  @media screen and (min-width: 769px) {
    .h3 {
      font-size: 1.5rem;
      padding-bottom: 1.5rem; } }
  @media screen and (max-width: 768px) {
    .h3 {
      font-size: calc(25 / 16 * 0.75)rem;
      padding-bottom: calc(24 / 16 * 0.75)rem; } }

.h3_small {
  font-size: 1.7em; }

.title_bg {
  font-weight: 700;
  color: #fff;
  line-height: 1.4;
  text-align: center;
  padding: 10px;
  margin-bottom: 25px; }
  @media screen and (min-width: 769px) {
    .title_bg {
      font-size: 1.75rem; } }
  @media screen and (max-width: 768px) {
    .title_bg {
      font-size: calc(28 / 16 * 0.8)rem; } }
  .title_bg.content01 {
    background-color: #AB5376; }
  .title_bg.content02 {
    background-color: #6B5884; }
  .title_bg.content03 {
    background-color: #83A25D; }
  .title_bg.content04 {
    background-color: #68AFA3; }

.text-blue {
  color: #0056B9; }

.text-white {
  color: #fff; }

.text-center {
  text-align: center; }

.inner {
  width: calc(647 / 768 * 100%);
  max-width: 1046px;
  margin-left: auto;
  margin-right: auto; }

.btn {
  display: flex;
  flex-wrap: wrap; }
  .btn a {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: calc(30 / 20);
    border-radius: 100rem;
    transition: all 0.3s;
    box-sizing: border-box; }
    @media screen and (min-width: 769px) {
      .btn a {
        min-height: 75px;
        font-size: 1rem; } }
    @media screen and (max-width: 768px) {
      .btn a {
        min-height: 65px;
        font-size: calc(16 / 16)rem; } }
    .btn a:hover {
      text-decoration: none;
      opacity: 0.7; }
  .btn.--arrow a {
    padding: 6px 46px; }
    .btn.--arrow a::after {
      position: absolute;
      content: '';
      background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2219%22%20viewBox%3D%220%200%2020%2019%22%3E%3Cpath%20d%3D%22M8.5%2C3.92l.991-.966a1.087%2C1.087%2C0%2C0%2C1%2C1.513%2C0l8.678%2C8.454a1.021%2C1.021%2C0%2C0%2C1%2C0%2C1.475l-8.678%2C8.458a1.087%2C1.087%2C0%2C0%2C1-1.513%2C0L8.5%2C20.375a1.027%2C1.027%2C0%2C0%2C1%2C.018-1.492L13.9%2C13.888H1.071A1.055%2C1.055%2C0%2C0%2C1%2C0%2C12.843V11.451a1.055%2C1.055%2C0%2C0%2C1%2C1.071-1.044H13.9L8.521%2C5.412A1.02%2C1.02%2C0%2C0%2C1%2C8.5%2C3.92Z%22%20transform%3D%22translate(0%20-2.647)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
      top: 50%;
      right: 16px;
      transform: translateY(-50%);
      transition: all 0.3s; }
      @media screen and (min-width: 769px) {
        .btn.--arrow a::after {
          width: 20px;
          height: 20px; } }
      @media screen and (max-width: 768px) {
        .btn.--arrow a::after {
          width: 16px;
          height: 16px; } }
    .btn.--arrow a:hover::after {
      right: 10px; }
  @media screen and (min-width: 769px) {
    .btn.--arrow:not(.--img) a {
      padding: 6px 46px; } }
  @media screen and (max-width: 768px) {
    .btn.--arrow:not(.--img) a {
      padding: 6px 36px; } }
  .btn.--external-link a::after {
    position: absolute;
    content: '';
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2233.75%22%20height%3D%2230%22%20viewBox%3D%220%200%2033.75%2030%22%3E%3Cpath%20d%3D%22M33.75%2C1.406v7.5a1.407%2C1.407%2C0%2C0%2C1-2.4.994L29.257%2C7.807%2C14.988%2C22.076a1.406%2C1.406%2C0%2C0%2C1-1.989%2C0l-1.326-1.326a1.406%2C1.406%2C0%2C0%2C1%2C0-1.989L25.943%2C4.493%2C23.851%2C2.4A1.407%2C1.407%2C0%2C0%2C1%2C24.845%2C0h7.5A1.406%2C1.406%2C0%2C0%2C1%2C33.75%2C1.406Zm-9.9%2C14.461-.937.937a1.406%2C1.406%2C0%2C0%2C0-.412.994V26.25H3.75V7.5H19.219a1.406%2C1.406%2C0%2C0%2C0%2C.994-.412l.938-.938a1.406%2C1.406%2C0%2C0%2C0-.994-2.4H2.813A2.812%2C2.812%2C0%2C0%2C0%2C0%2C6.563V27.188A2.812%2C2.812%2C0%2C0%2C0%2C2.813%2C30H23.438a2.812%2C2.812%2C0%2C0%2C0%2C2.813-2.812V16.861A1.406%2C1.406%2C0%2C0%2C0%2C23.849%2C15.867Z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    transition: all 0.3s; }
    @media screen and (min-width: 769px) {
      .btn.--external-link a::after {
        width: 33px;
        height: 30px; } }
    @media screen and (max-width: 768px) {
      .btn.--external-link a::after {
        width: 23px;
        height: 20px; } }
  @media screen and (min-width: 769px) {
    .btn.--external-link:not(.--img) a {
      padding: 6px 50px; } }
  @media screen and (max-width: 768px) {
    .btn.--external-link:not(.--img) a {
      padding: 6px 36px; } }
  .btn.--yellow a {
    font-weight: 700;
    font-size:1.25rem;
    color: #fff;
    background-color: #E3A719; }
  .btn.--blue a {
    color: #fff;
    background-color: #265285; }
  .btn.--light-blue a {
    color: #1E1E1E;
    background-color: #00CBFF; }
  @media screen and (min-width: 769px) {
    .btn.--img a {
      padding: 6px 46px 6px 136px; } }
  @media screen and (max-width: 768px) {
    .btn.--img a {
      padding: 6px 30px 6px 70px; } }
  .btn.--img img {
    position: absolute;
    height: auto;
    top: 50%;
    transform: translateY(-50%); }
    @media screen and (min-width: 769px) {
      .btn.--img img {
        width: 69px;
        left: 30px; } }
    @media screen and (max-width: 768px) {
      .btn.--img img {
        width: 45px;
        left: 20px; } }

.movie-icon {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center; }
  .movie-icon::before {
    position: absolute;
    content: '';
    width: 70px;
    height: 70px;
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22133.85%22%20height%3D%22133.85%22%20viewBox%3D%220%200%20133.85%20133.85%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22a%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22133.85%22%20height%3D%22133.85%22%20filterUnits%3D%22userSpaceOnUse%22%3E%3CfeOffset%20input%3D%22SourceAlpha%22%2F%3E%3CfeGaussianBlur%20stdDeviation%3D%224%22%20result%3D%22b%22%2F%3E%3CfeFlood%20flood-opacity%3D%220.49%22%2F%3E%3CfeComposite%20operator%3D%22in%22%20in2%3D%22b%22%2F%3E%3CfeComposite%20in%3D%22SourceGraphic%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22c%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22133.85%22%20height%3D%22133.85%22%20filterUnits%3D%22userSpaceOnUse%22%3E%3CfeOffset%20input%3D%22SourceAlpha%22%2F%3E%3CfeGaussianBlur%20stdDeviation%3D%224%22%20result%3D%22d%22%2F%3E%3CfeFlood%20flood-opacity%3D%220.49%22%2F%3E%3CfeComposite%20operator%3D%22in%22%20in2%3D%22d%22%2F%3E%3CfeComposite%20in%3D%22SourceGraphic%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(-757.012%20-990.36)%22%3E%3Cg%20transform%3D%22matrix(1%2C%200%2C%200%2C%201%2C%20757.01%2C%20990.36)%22%20filter%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M46.94%2C82.642%2C79.9%2C57.925%2C46.94%2C33.209ZM57.925%2C3A54.925%2C54.925%2C0%2C1%2C0%2C112.85%2C57.925%2C54.945%2C54.945%2C0%2C0%2C0%2C57.925%2C3Zm0%2C98.865a43.94%2C43.94%2C0%2C1%2C1%2C43.94-43.94A44%2C44%2C0%2C0%2C1%2C57.925%2C101.865Z%22%20transform%3D%22translate(9%209)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix(1%2C%200%2C%200%2C%201%2C%20757.01%2C%20990.36)%22%20filter%3D%22url(%23c)%22%3E%3Cpath%20d%3D%22M46.94%2C82.642%2C79.9%2C57.925%2C46.94%2C33.209ZM57.925%2C3A54.925%2C54.925%2C0%2C1%2C0%2C112.85%2C57.925%2C54.945%2C54.945%2C0%2C0%2C0%2C57.925%2C3Zm0%2C98.865a43.94%2C43.94%2C0%2C1%2C1%2C43.94-43.94A44%2C44%2C0%2C0%2C1%2C57.925%2C101.865Z%22%20transform%3D%22translate(9%209)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: all 0.3s;
    z-index: 1; }
  .movie-icon:hover {
    opacity: 0.7; }
    .movie-icon:hover::before {
      transform: translate(-50%, -50%) scale(1.1); }

@media screen and (min-width: 769px) {
  .mv {
    background: url(/exh/archive/irex2025/images/top_pc.jpg) no-repeat 50% 50%/cover; } }
@media screen and (max-width: 768px) {
  .mv {
    background: url(/exh/archive/irex2025/images/top_sp.jpg) no-repeat 50% 100%/100% auto;
    padding-bottom: calc(593 / 768 * 100vw); } }
.mv .content {
  width: calc(647 / 768 * 100%);
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 769px) {
    .mv .content {
      max-width: 1046px;
      padding: 30px 0 80px; } }
  @media screen and (max-width: 768px) {
    .mv .content {
      text-align: left;
      margin: 0 auto;
      padding: calc(30 / 768 * 100vw) 0 calc(80 / 768 * 100vw); } }
  @media screen and (min-width: 769px) {
    .mv .content_in {
      width: calc(472 / 1046 * 100%); } }
  @media screen and (max-width: 768px) {
    .mv .content_in {
      width: 100%; } }
  .mv .content img {
    max-width: 100%;
    height: auto; }
    @media screen and (max-width: 768px) {
      .mv .content img {
        display: block;
        margin-left: auto;
        margin-right: auto; } }
  .mv .content p {
    font-size: 1rem;
    color: #000;
    margin: 0 0 24px; }
@media screen and (min-width: 769px) {
  .mv .btn {
    max-width: 360px; } }
@media screen and (max-width: 768px) {
  .mv .btn {
    width: 100%; } }
.mv .btn a {
  width: 100%; }

.intro {
  color: #fff;
  background: linear-gradient(48deg, #a800bb 0%, #2859c0 68%, #0075c2 94%, #002c5e 100%); }
  @media screen and (min-width: 769px) {
    .intro {
      padding: 50px 0 70px; } }
  @media screen and (max-width: 768px) {
    .intro {
      padding: 40px 0 60px; } }
  .intro__inner {
    width: calc(647 / 768 * 100%);
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
  .intro__subtitle {
    font-weight: 700;
    line-height: calc(50 / 30);
    border-top: 2px solid #fff; }
    @media screen and (min-width: 769px) and (max-width: 1390px) {
      .intro__subtitle .tab--show {
        display: block; } }
    @media screen and (min-width: 769px) {
      .intro__subtitle {
        font-size: 1.875rem;
        padding-top: 32px;
        margin-top: 16px; } }
    @media screen and (max-width: 768px) {
      .intro__subtitle {
        font-size: calc(30 / 16 * 0.6)rem;
        padding-top: calc(32px * 0.6);
        margin-top: calc(16px * 0.6); }
        .intro__subtitle .tab--show {
          display: none; } }
  .intro__img {
    width: 100%;
    max-width: 754px;
    margin-left: auto;
    margin-right: auto; }
    @media screen and (min-width: 769px) {
      .intro__img {
        margin-top: 66px;
        margin-bottom: 68px; } }
    @media screen and (max-width: 768px) {
      .intro__img {
        margin-top: calc(66 / 768 * 100vw);
        margin-bottom: calc(68 / 768 * 100vw); } }
    .intro__img a {
      position: relative;
      display: block;
      transition: all 0.3s; }
      .intro__img a::before {
        position: absolute;
        content: '';
        background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22133.85%22%20height%3D%22133.85%22%20viewBox%3D%220%200%20133.85%20133.85%22%3E%3Cdefs%3E%3Cfilter%20id%3D%22a%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22133.85%22%20height%3D%22133.85%22%20filterUnits%3D%22userSpaceOnUse%22%3E%3CfeOffset%20input%3D%22SourceAlpha%22%2F%3E%3CfeGaussianBlur%20stdDeviation%3D%224%22%20result%3D%22b%22%2F%3E%3CfeFlood%20flood-opacity%3D%220.49%22%2F%3E%3CfeComposite%20operator%3D%22in%22%20in2%3D%22b%22%2F%3E%3CfeComposite%20in%3D%22SourceGraphic%22%2F%3E%3C%2Ffilter%3E%3Cfilter%20id%3D%22c%22%20x%3D%220%22%20y%3D%220%22%20width%3D%22133.85%22%20height%3D%22133.85%22%20filterUnits%3D%22userSpaceOnUse%22%3E%3CfeOffset%20input%3D%22SourceAlpha%22%2F%3E%3CfeGaussianBlur%20stdDeviation%3D%224%22%20result%3D%22d%22%2F%3E%3CfeFlood%20flood-opacity%3D%220.49%22%2F%3E%3CfeComposite%20operator%3D%22in%22%20in2%3D%22d%22%2F%3E%3CfeComposite%20in%3D%22SourceGraphic%22%2F%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3Cg%20transform%3D%22translate(-757.012%20-990.36)%22%3E%3Cg%20transform%3D%22matrix(1%2C%200%2C%200%2C%201%2C%20757.01%2C%20990.36)%22%20filter%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22M46.94%2C82.642%2C79.9%2C57.925%2C46.94%2C33.209ZM57.925%2C3A54.925%2C54.925%2C0%2C1%2C0%2C112.85%2C57.925%2C54.945%2C54.945%2C0%2C0%2C0%2C57.925%2C3Zm0%2C98.865a43.94%2C43.94%2C0%2C1%2C1%2C43.94-43.94A44%2C44%2C0%2C0%2C1%2C57.925%2C101.865Z%22%20transform%3D%22translate(9%209)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3Cg%20transform%3D%22matrix(1%2C%200%2C%200%2C%201%2C%20757.01%2C%20990.36)%22%20filter%3D%22url(%23c)%22%3E%3Cpath%20d%3D%22M46.94%2C82.642%2C79.9%2C57.925%2C46.94%2C33.209ZM57.925%2C3A54.925%2C54.925%2C0%2C1%2C0%2C112.85%2C57.925%2C54.945%2C54.945%2C0%2C0%2C0%2C57.925%2C3Zm0%2C98.865a43.94%2C43.94%2C0%2C1%2C1%2C43.94-43.94A44%2C44%2C0%2C0%2C1%2C57.925%2C101.865Z%22%20transform%3D%22translate(9%209)%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        transition: all 0.3s; }
        @media screen and (min-width: 769px) {
          .intro__img a::before {
            width: 100px;
            height: 100px; } }
        @media screen and (max-width: 768px) {
          .intro__img a::before {
            width: 70px;
            height: 70px; } }
      .intro__img a:hover {
        opacity: 0.7; }
        .intro__img a:hover::before {
          transform: translate(-50%, -50%) scale(1.1); }
  .intro .btn {
    width: 100%;
    justify-content: center; }
    @media screen and (min-width: 769px) {
      .intro .btn a {
        width: 100%;
        max-width: 573px; } }
    @media screen and (max-width: 768px) {
      .intro .btn a {
        width: 100%; } }

.anchor {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px; }
  @media screen and (min-width: 769px) {
    .anchor {
      margin-top: 190px;
      margin-bottom: 50px; } }
  @media screen and (max-width: 768px) {
    .anchor {
      margin-top: calc(190 / 768 * 100vw);
      margin-bottom: calc(50 / 768 * 100vw); } }
  .anchor a {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    font-weight: 700;
    color: #fff;
    font-size: 1.25rem;
    line-height: calc(25 / 20);
    border: 1px solid #707070;
    background-color: #fff;
    box-sizing: border-box; }
    @media screen and (min-width: 992px) {
      .anchor a br {
        display: none; } }
    @media screen and (min-width: 769px) {
      .anchor a {
        width: calc((100% / 4) - (48px / 4));
        min-height: 103px;
        font-size: calc(20 / 16)rem; } }
    @media screen and (max-width: 768px) {
      .anchor a {
        width: calc((100% / 2) - (20px / 2));
        min-height: 90px;
        font-size: calc(17 / 16)rem; } }
    .anchor a::after {
      position: absolute;
      content: '';
      width: 19px;
      height: 20px;
      left: calc(50% - 10px);
      bottom: 7px;
      background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2220%22%20viewBox%3D%220%200%2019%2020%22%3E%3Cpath%20d%3D%22M18.125%2C10.754l.966.991a1.087%2C1.087%2C0%2C0%2C1%2C0%2C1.513l-8.454%2C8.678a1.021%2C1.021%2C0%2C0%2C1-1.475%2C0L.7%2C13.258a1.087%2C1.087%2C0%2C0%2C1%2C0-1.513l.966-.991a1.027%2C1.027%2C0%2C0%2C1%2C1.492.018L8.157%2C16.15V3.321A1.055%2C1.055%2C0%2C0%2C1%2C9.2%2C2.25h1.392a1.055%2C1.055%2C0%2C0%2C1%2C1.044%2C1.071V16.15l4.995-5.379A1.02%2C1.02%2C0%2C0%2C1%2C18.125%2C10.754Z%22%20transform%3D%22translate(-0.397%20-2.25)%22%2F%3E%3C%2Fsvg%3E") no-repeat 50% 50%/100% auto;
      transition: all 0.3s; }
    .anchor a:hover {
      text-decoration: none; }
      .anchor a:hover::after {
        bottom: 2px; }
    .anchor a span {
      display: flex;
      flex-wrap: wrap;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      width: 100%;
      color: #fff;
      text-align: center; }
      @media screen and (min-width: 769px) {
        .anchor a span {
          min-height: 71px; } }
      @media screen and (max-width: 768px) {
        .anchor a span {
          min-height: 55px; } }
    .anchor a.content01 span {
      background-color: #AB5376; }
    .anchor a.content02 span {
      background-color: #6B5884; }
    .anchor a.content03 span {
      background-color: #83A25D; }
    .anchor a.content04 span {
      background-color: #68AFA3; }

.flex_block {
  display: flex;
  flex-wrap: wrap; }
  @media screen and (min-width: 769px) {
    .flex_block {
      gap: 34px 30px; } }
  @media screen and (max-width: 768px) {
    .flex_block {
      gap: 24px; } }
  .flex_block .content {
    box-sizing: border-box;
    background-color: #fff; }
    @media screen and (min-width: 992px) {
      .flex_block .content {
        width: calc((100% / 2) - (30px / 2));
        padding: 55px 48px 58px; } }
    @media screen and (max-width: 991px) {
      .flex_block .content {
        width: 100%;
        padding: calc(55 / 768 * 100vw) calc(48 / 768 * 100vw) calc(58 / 768 * 100vw); } }
    .flex_block .content .h3 {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center; }
      .flex_block .content .h3 + img {
        margin-top: 32px; }
    .flex_block .content p {
      font-size: 1rem;
      word-break: break-all;
      margin: 16px 0; }
    .flex_block .content img {
      display: block;
      max-width: calc(338 / 408 * 100%);
      margin-left: auto;
      margin-right: auto; }
    .flex_block .content .btn {
      width: 100%; }
      .flex_block .content .btn:not(.--img) {
        margin-top: 50px; }
      .flex_block .content .btn.--img {
        margin-top: 38px; }
      .flex_block .content .btn a {
        width: 100%; }

@media screen and (min-width: 769px) {
  #content01,
  #content02,
  #content03,
  #content04 {
    margin-bottom: 80px; } }
@media screen and (max-width: 768px) {
  #content01,
  #content02,
  #content03,
  #content04 {
    margin-bottom: 60px; } }

.banner {
  background-color: #fff; }
  @media screen and (min-width: 769px) {
    .banner {
      padding-top: 72px;
      padding-bottom: 102px; } }
  @media screen and (max-width: 768px) {
    .banner {
      padding-top: calc(72 / 768 * 100vw);
      padding-bottom: calc(102 / 768 * 100vw); } }
  .banner__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 43px 30px;
    margin-top: 32px; }
  .banner a {
    display: block; }
  @media screen and (min-width: 769px) {
    .banner__half {
      width: calc((100% / 2) - (30px /2)); } }
  @media screen and (max-width: 768px) {
    .banner__half {
      width: 100%; } }
  .banner__wide {
    width: 100%; }

.contact {
  background-color: #133B80; }
  @media screen and (min-width: 769px) {
    .contact {
      padding-top: 55px;
      padding-bottom: 70px; } }
  @media screen and (max-width: 768px) {
    .contact {
      padding-top: calc(55 / 768 * 100vw);
      padding-bottom: calc(70 / 768 * 100vw); } }
  @media screen and (min-width: 769px) {
    .contact .h2_sm {
      padding-bottom: 32px; } }
  @media screen and (max-width: 768px) {
    .contact .h2_sm {
      padding-bottom: calc(32 / 760 * 100vw); } }
  .contact .btn {
    justify-content: center; }
    .contact .btn a {
      width: 100%;
      max-width: 360px; }
