@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 142.4vw;
    --min-height: 82.1538461538em;
    font-size: 6.5px;
  }
  .home_page .key .key_text .item {
    padding: 10px;
  }
  .home_page .key .key_img .img1 {
    width: 20.5714em;
    height: 20.5714em;
    top: 30.9em;
    left: -2.1em;
  }
  .home_page .key .key_img .img2 {
    top: 13.9048em;
    left: 3.4286em;
    width: 14.2857em;
    height: 14.2857em;
  }
  .home_page .key .key_img .img3 {
    top: 1.3333em;
    right: 6.4762em;
    bottom: unset;
    width: 19.8095em;
    height: 19.8095em;
  }
  .home_page .key .key_img .img4 {
    width: 14.4762em;
    height: 14.4762em;
    right: 1.5238em;
    bottom: 1.2em;
  }
  .home_page .key .key_img .img4 {
    right: 5em;
    bottom: 0em;
  }
  .home_page .key .key_img .img3 {
    bottom: -35em;
    right: 10em;
  }
  .home_page .key .catch {
    margin-top: 55em;
    padding-left: 8em;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    --min-height: 626px;
  }
}
@media only screen and (max-width: 480px) {
  .home_page .key {
    font-size: 1.4vmin;
  }
  .home_page .key::after {
    mask: unset;
    max-width: 100%;
    width: 100%;
    background: url(../images/idx_key_bg_sp.png) no-repeat top right/cover;
  }
  .home_page .key .inner::before {
    left: -47.8em;
    top: 39.7em;
  }
  .home_page .key .catch {
    margin-top: 56em;
    padding-left: 0;
  }
  .home_page .key .en {
    font-size: 7.619em;
  }
  .home_page .key h2 {
    font-size: 3.4286em;
  }
  .home_page .key .key_img .img1 {
    width: 20.5714em;
    height: 20.5714em;
    top: 30.9em;
    left: -2.1em;
  }
  .home_page .key .key_img .img2 {
    top: 13.9048em;
    left: 3.4286em;
    width: 14.2857em;
    height: 14.2857em;
  }
  .home_page .key .key_img .img3 {
    top: 1.3333em;
    right: 6.4762em;
    bottom: unset;
    width: 19.8095em;
    height: 19.8095em;
  }
  .home_page .key .key_img .img4 {
    width: 14.4762em;
    height: 14.4762em;
    right: 1.5238em;
    bottom: 1.2em;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    margin-bottom: 30px;
    font-size: calc(var(--ttl_size));
    text-align: center;
  }
  .home_page h3 .en {
    font-size: 16px;
  }
}
@media only screen and (max-width: 768px) {
  .home_page .inner,
  .home_page .inner_big,
  .home_page .inner_max {
    max-width: 610px;
  }
  .idx1 {
    padding: 40px 0;
  }
  .idx1 .l {
    display: table;
    width: auto;
    max-width: unset;
    margin-left: auto;
    margin-right: auto;
  }
  .idx1 .r {
    max-width: 100%;
    width: 100%;
    padding: 40px 0 0;
  }
  .idx1 h4 {
    font-size: 24px;
    letter-spacing: 0;
  }
  .idx1 h4::before {
    width: 9px;
    height: 9px;
    margin-top: 3px;
  }
  .idx1 ul {
    margin: 0;
  }
  .idx1 .btn-group {
    margin-top: 30px;
    max-width: 450px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
  }
  .idx1 .idx1_content {
    margin-top: 30px;
  }
  .idx1 .map {
    width: 100%;
    max-width: 100%;
  }
  .idx1 .map .idx1_map {
    height: 299px;
  }
  .idx1 .idx1_address {
    align-items: flex-start;
    margin: 20px 0 10px;
  }
  .idx1 .idx1_address::before {
    margin-top: -0.2em;
  }
  .idx1 .idx1_list {
    margin: 0 auto;
    width: 100%;
    max-width: 300px;
    display: table;
  }
  .idx1 .idx1_list::after {
    left: 30%;
  }
}
@media only screen and (max-width: 480px) {
  .idx1 .btn-group {
    justify-content: center;
    margin-top: 10px;
  }
  .idx1 ul li a {
    --date: 90px;
    --cat: 90px;
    flex-wrap: wrap;
    padding: 20px 40px 20px 0;
  }
  .idx1 ul li a .title {
    width: 100%;
    padding-top: 10px;
    letter-spacing: 0;
  }
  .idx1 ul li a .date {
    padding-left: 0;
    text-align: left;
  }
  .idx1 .idx1_list .item {
    padding: 10px 0;
  }
  .idx1 .idx1_list .item .img {
    width: 20%;
  }
  .idx1 .idx1_list .item .txt {
    width: 80px;
    padding-left: 18%;
  }
}
@media only screen and (max-width: 768px) {
  .idx2 {
    padding: 0 0 40px;
  }
  .idx2 .inner {
    display: block;
  }
  .idx2 .inner::before {
    top: 100em;
  }
  .idx2 .inner::after {
    right: -25em;
  }
  .idx2 .idx2_img {
    transform: none;
    max-width: 90%;
    margin: 40px auto;
  }
  .idx2 .idx2_txt {
    padding: 0;
  }
  .idx2 .idx2_txt p {
    letter-spacing: 0;
  }
  .idx2 .idx2_txt p:not(:last-child) {
    margin-bottom: 1em;
  }
  .idx2 .idx2_name {
    text-align: center;
    margin-top: 20px;
    padding-top: 20px;
  }
  .idx2 .idx2_name .ttl02 {
    justify-content: center;
  }
  .idx2 .idx2_name .ttl01,
  .idx2 .idx2_name .ttl02 {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 480px) {
  .idx2 .inner::before {
    top: 120em;
  }
  .idx2 .inner::after {
    right: -16em;
    top: -16em;
  }
}
@media only screen and (max-width: 768px) {
  .idx3 {
    background: url(../images/idx3_bg_sp.png) no-repeat top center/cover;
    padding: 40px 0;
  }
  .idx3 .idx3_ttl01 {
    text-align: center;
    font-size: min(5.84vw, 20px);
    letter-spacing: 0;
    margin: 1em 0;
  }
  .idx3 .idx3_ttl02 {
    width: 100%;
    max-width: 100%;
    letter-spacing: 0;
  }
  .idx3 .btn-group {
    margin-top: 30px;
    max-width: 450px;
    width: 100%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 480px) {
  .idx3::before {
    top: -12%;
  }
  .idx3 .btn-group {
    justify-content: center;
  }
}