@media only screen and (max-width: 768px) {
  .home_page .key {
    background-image: url(../images/idx_key_bg_sp.jpg);
    --height: calc(100vh - 60px);
    --max-height: 120vw;
    --min-height: 448px;
    font-size: 8px;
  }
  .home_page .key .key_text .item {
    padding: 10px;
  }
  .home_page .key .inner {
    padding: 0 30px;
  }
  .home_page .key .jp .char2 {
    margin: 0 10px;
  }
  .home_page .key h2 {
    letter-spacing: 0;
  }
  .home_page .key h2,
  .home_page .key .en {
    text-shadow: unset;
    text-align: center;
  }
  .home_page .key .jp {
    text-align: center;
    padding-left: 0;
  }
}
@media only screen and (max-width: 640px) {
  .home_page .key {
    font-size: 1.25vmin;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.25vmin;
  }
}
@media only screen and (max-width: 480px) {
  .home_page .key {
    font-size: 1.7vmin;
	    background-image: url(../images/idx_key_bg_sp425.jpg);
  }
  .home_page .key .inner {
    padding: 0 10px;
  }
  .home_page .key h2,
  .home_page .key p {
    letter-spacing: 0 !important;
  }
  .home_page .key .jp .char2 {
    margin: 0 5px 0 10px;
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    font-size: calc(var(--ttl_size));
    text-align: center;
  }
  .home_page h3,
  .home_page h3 .en,
  .home_page h3 .jp {
    letter-spacing: 0 !important;
  }
  .home_page h3 .en02 {
    font-size: 16px;
  }
  .home_page h4 {
    font-size: min(5vw, var(--ttl_size) - 2px);
    letter-spacing: 0;
  }
  .home_page h4 .en {
    font-size: 16px;
  }
}
@media only screen and (max-width: 480px) {
  .home_page h3 .en01 {
    font-size: 2.3em;
  }
}
@media only screen and (max-width: 768px) {
  .idx1 {
    padding: 40px 0;
  }
  .idx1 h4 {
    text-align: center;
    margin-bottom: 20px;
  }
  .idx1 .idx1_txt,
  .idx1 .idx1_news {
    padding: 0;
    margin: 0;
    width: 100%;
  }
  .idx1 .idx1_news ul li a {
    padding: 20px 0;
  }
  .idx1 .idx1_news ul li a .date {
    width: 100%;
    text-align: left;
    margin-bottom: 16px;
  }
  .idx1 .idx1_news ul li a .cat {
    width: 20%;
  }
  .idx1 .idx1_news ul li a .title {
    width: 80%;
  }
  .idx1 .btn {
    
	margin: 20px auto 0;
  }
	
	.idx1 .idx1_news {
		margin-bottom: 40px;
	}
}
@media only screen and (max-width: 480px) {
  .idx1 .idx1_news ul li a {
    padding: 18px 0;
  }
  .idx1 .idx1_news ul li a .cat {
    width: 25%;
  }
  .idx1 .idx1_news ul li a .title {
    width: 75%;
  }
}
@media only screen and (max-width: 768px) {
  .idx_bg {
    padding-bottom: 40px;
  }
  .idx2 .idx2_img {
    position: relative;
    top: unset;
    right: unset;
    display: table;
    margin: 0 auto 25px;
    width: 100%;
    max-width: 540px;
  }
  .idx2 .idx2_box {
    padding: 40px 0;
  }
  .idx2 .txt,
  .idx2 .txt2,
  .idx2 .txt3 {
    max-width: 100%;
    width: 100%;
  }
  .idx2 .idx2_name {
    right: 4em;
    font-size: 1.85vw;
    top: calc(50% - 10em);
  }
  .idx2 h4 {
    width: 100%;
    padding: 0;
    margin-bottom: 25px;
  }
  .idx2 h4::after {
    content: "";
    display: block;
    width: 80px;
    height: 1px;
    background-color: #ccdce3;
    margin: 15px auto 0;
  }
  .idx2 .txt3 {
    padding-left: 0;
    border: 0;
  }
  .idx2 .idx2_map {
    margin-top: 40px;
    height: 299px;
  }
  .idx2 .idx2_address {
    font-size: 14px;
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 480px) {
  .idx2 .idx2_name {
    top: 7.8em;
    right: 3em;
    font-size: 2.5vw;
  }
  .idx2 .idx2_name p {
    letter-spacing: 0 !important;
  }
  .idx2 .idx2_name .ttl02 {
    margin-left: 6px;
    padding-left: 6px;
  }
  .idx2 .txt p,
  .idx2 .txt2 p,
  .idx2 .txt3 p {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 768px) {
  .idx3 {
    padding: 40px 0;
  }
  .idx3 .txt::after {
    right: -5em;
    top: -8.5em;
    font-size: 1.25vw;
  }
  .idx3 .txt::before {
    font-size: 1.25vw;
    left: -5em;
  }
  .idx3 .idx3_ttl {
    letter-spacing: 0;
    font-size: min(6.7vw, 24px);
  }
  .idx3 .idx3_box {
    padding: 40px 0;
  }
  .idx3 .idx3_list {
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx3 .idx3_list .idx3_item {
    padding: 30px 0;
    width: 100%;
  }
  .idx3 .idx3_list .idx3_item:not(:last-child) {
    margin-bottom: 25px;
  }
  .idx3 .idx3_list .idx3_item .ttl01 {
    font-size: 18px;
    letter-spacing: 0;
    justify-content: flex-start;
    flex-direction: column;
    padding-left: 0;
  }
  .idx3 .idx3_list .idx3_item .ttl01::before {
    padding: 0 0 0.1em;
    top: 0;
    margin: 0 0 0.25em;
  }
  .idx3 .idx3_list .idx3_item .ttl02 {
    font-size: 24px;
    letter-spacing: 0;
  }
  .idx3 .idx3_list .idx3_item .ttl02::before {
    margin: 20px auto;
  }
  .idx3 .tel {
    font-size: min(3.2vw, 13px);
  }
  .idx3 .address p {
    font-size: min(4.2vw, 16px);
    letter-spacing: 0;
  }
  .idx3 .address p span {
    letter-spacing: 0;
  }
}
@media only screen and (max-width: 480px) {
  .idx3 {
    background-image: url(../images/idx3_bg_sp.jpg);
  }
  .idx3 .txt::after {
    right: -2em;
    top: -5em;
    font-size: 1.5vw;
  }
  .idx3 .txt::before {
    font-size: 1.5vw;
    left: -2em;
  }
  .idx3 .idx3_list .idx3_item .ttl01 {
    letter-spacing: 0;
    padding-left: 10px;
  }
  .idx3 .idx3_list .idx3_item .ttl02 {
    font-size: 22px;
  }
  .idx3 h4::before, .idx3 h4::after {
    width: 2em;
  }
  .idx3 h4::before {
    left: calc(100% + 0.5em);
    top: 50%;
  }
  .idx3 h4::after {
    right: calc(100% + 0.5em);
    top: 50%;
  }
}
@media only screen and (max-width: 345px) {
  .idx3 .address p {
    font-size: 4vw;
  }
}