@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 133vw;
    --min-height: 320px;
    font-size: 8px;
  }
  .home_page .key::before {
    font-size: min(5px, 2vw);
    bottom: -27.7em;
  }
  .home_page .key .key_text .item {
    padding: 10px;
  }
  .home_page .key .catch {
    font-size: min(7px, 1.6vw);
    top: auto;
    bottom: 3em;
    left: 50%;
    transform: translateX(-50%);
    width: 45em;
    height: 45em;
  }
  .home_page .key .catch p {
    letter-spacing: 0;
  }
  .idx_news .right .ttl .jp {
    font-size: 18px;
  }
}
@media only screen and (max-width: 640px) {
  .home_page .key {
    font-size: 1.4vmin;
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    font-size: 1.4vmin;
  }
  .home_page .key::before {
    font-size: 2.5px;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key .s1 {
    background-image: url(../images/idx_mv01_sp.jpg);
  }
  .home_page .key .slick-initialized .s2 {
    background-image: url(../images/idx_mv02_sp.jpg);
  }
  .home_page .key .slick-initialized .s3 {
    background-image: url(../images/idx_mv03_sp.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    text-align: center;
    margin-bottom: 30px;
    font-size: 8px;
    padding-bottom: 10px;
  }
  .home_page h3 .en {
    font-size: 18px !important;
  }
}
@media only screen and (max-width: 768px) {
  .index0 {
    padding: 60px 0px 60px;
    background-color: #000;
  }
  .idx_news {
    padding: 60px 0px 100px;
  }
  .idx_news::before {
    font-size: 6.5px;
  }
  .idx_news::after {
    height: 150px;
    background-size: 100% 100%;
  }
  .idx_news .tab_button {
    width: calc(100% - 20px);
  }
  .idx_news .left {
    width: 100%;
  }
  .idx_news li a {
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 10px;
  }
  .idx_news li a::after, .idx_news li a::before {
    right: 10px;
  }
  .idx_news li a .title {
    padding-left: 20px;
    font-size: 16px;
  }
  .idx_news .right {
    width: 100%;
  }
  .idx_news .right .ttl {
    padding-bottom: 15px;
  }
  .idx_news .right .ttl .en::before {
    bottom: -16px;
    max-width: 200px;
    width: 90%;
  }
  .idx_news .btn-group {
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    display: table;
  }
  .idx01 {
    padding: 0 0 100px;
    margin-top: 0;
  }
  .idx01 .left,
  .idx01 .right {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx01 .inner_big::before {
    font-size: min(6px, 1.4vw);
    left: -24em;
    top: -28em;
  }
  .idx01 .idx-tel {
    margin: 20px auto;
  }
  .idx01-logo {
    width: 60%;
  }
  .idx01 .right {
    margin-top: 70px;
  }
  .idx01 .btn-group {
    margin-top: 30px;
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
  }
  .idx01-map {
    margin-top: 20px;
  }
  .idx01-map::before {
    top: 10%;
  }
  .idx01-map .map {
    width: 100%;
  }
  .idx01-img::before {
    width: 80px;
    height: 80px;
  }
  .idx02 {
    padding: 60px 0;
  }
  .idx02 .text {
    font-size: 16px;
  }
  .idx02::before {
    font-size: 6px;
    top: -60px;
    left: 20px;
  }
  .idx02::after {
    font-size: min(6px, 1vw);
  }
  .idx02 h3 {
    display: table;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-bottom: 10px;
  }
  .idx02 h3::before, .idx02 h3::after {
    width: 100%;
    height: 2px;
    bottom: 0;
    top: auto;
    transform: unset;
  }
  .idx02 h3::after {
    width: 50%;
  }
  .idx02 .flex {
    flex-direction: column-reverse;
  }
  .idx02 .left,
  .idx02 .right {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx02 .left {
    max-width: 450px;
    margin-top: 30px;
  }
  .idx02 .right {
    padding-top: 0;
  }
  .idx02-circle {
    justify-content: center;
    font-size: min(8px, 1.8vw);
  }
  .idx02 .text_bold {
    margin: 15px 0;
    font-size: 20px;
    letter-spacing: 0;
    text-align: center;
  }
  .idx02 .text_bold span {
    display: inline-block;
  }
  .idx02 .text_right {
    margin-top: 20px;
  }
  .idx02 .btn-group {
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
  }
  .idx02-img {
    margin-bottom: 20px;
  }
  .idx03 {
    padding: 60px 0;
  }
  .idx03::after {
    right: 8px;
    right: 20px;
  }
  .idx03 .btn-group {
    margin-top: 70px;
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .idx03-flow {
    margin-top: 5em;
  }
  .idx03 .box .ttl {
    letter-spacing: 0;
    margin-top: 1em;
  }
  .idx03 .txt {
    font-size: 16px;
  }
  .idx04 {
    padding: 60px 0;
  }
  .idx04::before {
    font-size: min(6px, 1vw);
  }
  .idx04 .inner_big::after {
    font-size: min(5px, 1vw);
    right: -35em;
  }
  .idx04-img {
    position: relative;
    right: unset;
    font-size: min(6px, 1.25vw);
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
  .idx04-img::before {
    bottom: 0;
  }
  .idx04 .left {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-top: 0;
  }
  .idx04 .btn-group {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .idx04-btn {
    margin-top: 20px;
    flex-direction: column;
    font-size: min(8px, 2vw);
    gap: 0;
    margin-bottom: 13px;
  }
  .idx04-btn .button {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 400px;
  }
  .idx04-btn a {
    min-height: 4em;
    font-size: 2.2em;
  }
  .idx04 .txt {
    font-size: 16px;
  }
  .idx05 {
    padding: 60px 0;
  }
  .idx05 p.txt {
    font-size: 16px;
  }
  .idx05::before {
    font-size: 7px;
    right: 20px;
  }
  .idx05-top {
    display: block;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx05-inner {
    padding-top: 30px;
  }
  .idx05 .ttl {
    margin-top: 0;
    text-align: center;
    font-size: 22px;
  }
  .idx05 .ttl span {
    display: inline-block;
  }
  .idx05-img {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
  }
  .idx05-btn {
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    font-size: min(8px, 2vw);
    max-width: 350px;
  }
  .idx05-btn a {
    padding-left: 3em;
  }
  .idx05-bot {
    gap: unset;
    margin-top: 20px;
  }
  .idx05 .item {
    width: calc(50% - 10px);
    margin: 5px;
    padding: 10px;
    min-height: 250px;
  }
  .idx05 .item p {
    font-size: 16px;
  }
  .idx05 .item_sm {
    padding: 40px 20px;
  }
  .idx05 .title {
    font-size: min(8px, 1.8vw);
  }
  .idx05 .title .en {
    font-size: 12px;
  }
  .idx05 .title .jp {
    letter-spacing: 0;
  }
  .idx06 {
    padding: 60px 0 20px;
  }
  .idx06 .inner_big::before {
    font-size: 6px;
    top: -80px;
  }
  .idx06 .inner_big::after {
    font-size: min(6px, 1vw);
    top: 50%;
    transform: translateY(-50%);
    right: -28em;
  }
  .idx06 .btn-group {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
  .idx06 .item {
    max-width: 550px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
  }
  .idx06 .item::before {
    left: 20px;
    width: 92%;
  }
  .idx06-content {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 30px;
  }
  .idx06 .txt {
    font-size: 16px;
  }
  .idx06 .point {
    font-size: 18px;
    right: 0;
    bottom: -20px;
  }
  .idx06 .point .num {
    font-size: 4em;
  }
  .idx06-img img {
    width: 93%;
  }
  .idx06 .ttl {
    margin-top: 50px;
    font-size: 22px;
    letter-spacing: 0.05em;
  }
  .idx07 {
    padding-top: 50px;
    padding-bottom: 60px;
  }
  .idx07 h3 {
    padding-bottom: 0;
    margin-bottom: 15px;
    justify-content: center;
    display: block;
  }
  .idx07 h3 .en {
    margin-left: 5px;
  }
  .idx07 .inner_big {
    max-width: 500px;
  }
  .idx07 .inner_big::after {
    width: 60px;
    height: 60px;
    top: -50px;
    left: 20px;
  }
  .idx07 .inner_sm::before, .idx07 .inner_sm::after {
    top: 0;
  }
  .idx07 .inner_sm::before {
    font-size: min(6px, 1.05vw);
    background-image: url(../images/idx07-bg.png);
    left: 0;
    background-position: top center;
  }
  .idx07 .inner_sm::after {
    font-size: 5px;
    right: -8em;
    display: none;
  }
  .idx07-content {
    padding-top: min(190px, 30vw);
    padding-bottom: 80px;
    padding-right: 20px;
    padding-left: 20px;
  }
  .idx07-content::before, .idx07-content::after {
    bottom: 20px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 45px;
    height: 45px;
  }
  .idx07-content p {
    font-size: 16px;
  }
}
@media only screen and (max-width: 430px) {
  .idx_news li a {
    flex-direction: column;
  }
  .idx_news li a .title {
    padding-left: 0;
    padding-top: 10px;
  }
  .idx_news li a::before, .idx_news li a::after {
    top: auto;
    bottom: 20px;
  }
  .idx03-flow {
    font-size: min(7px, 1.5vw);
    flex-wrap: wrap;
    justify-content: space-between;
    width: 52em;
    margin-left: auto;
    margin-right: auto;
  }
  .idx03 .box {
    margin-bottom: 15em;
  }
  .idx03 .box:nth-child(2n) {
    margin-right: 0;
  }
  .idx03 .box:nth-child(2n) .circle::after {
    display: none;
  }
  .idx03 .box .ttl {
    font-size: min(18px, 3em);
  }
  .idx03 .box .ttl span {
    display: block;
  }
  .idx03 .btn-group {
    margin-top: 10px;
    margin-left: auto;
    margin-right: auto;
  }
  .idx05-inner {
    padding-left: 10px;
    padding-right: 10px;
  }
  .idx05 .item {
    min-height: unset;
  }
  .idx05 .item_sm {
    padding: 30px 10px;
  }
  .idx05 .title .jp {
    font-size: 2em;
  }
}
@media only screen and (max-width: 480px) {
  .idx01-desc span {
    display: block;
    padding-right: 0;
  }
}
@media only screen and (max-width: 374px) {
  .idx05 .item {
    width: 100%;
    min-height: 310px;
    padding: 15px;
  }
  .idx05 .item_sm {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .idx05 .title {
    font-size: 10px;
  }
  .idx05-bot {
    margin-top: 30px;
  }
  .home_page .key::before {
    font-size: 1.4vw;
  }
  .idx06 .ttl {
    font-size: 20px;
  }
}
@media only screen and (max-width: 359px) {
  .idx06 .item::before {
    width: 90%;
  }
}

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