@media only screen and (max-width: 768px) {
  .ovh header .hamburger-btn {
    bottom: auto;
    top: 0;
  }
  .idx-banner {
    padding-top: 0;
    padding-bottom: 60px;
  }
  .home_page {
    background-size: 100% 100%;
  }
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 156vw;
    --min-height: 320px;
    font-size: 8px;
  }
  .home_page .key .key_text {
    border-radius: 100px 30px 30px 30px;
  }
  .home_page .key .key_text .item {
    padding: 10px;
  }
  .home_page .key .catch {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    width: 100%;
    font-size: min(8px, 1.8vw);
  }
  .home_page .key h2 {
    text-align: center;
    font-size: 4em;
  }
  .home_page::before {
    width: 100%;
  }
  .home_page .scroll {
    width: 60px;
    height: 60px;
    bottom: -30px;
  }
}
@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 .catch {
    padding-left: 20px;
    font-size: 7px;
  }
  .home_page .key h2 {
    text-align: left;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key .s1::before {
    background-image: url(../images/idx_mv01_sp.jpg);
  }
  .home_page .key .slick-initialized .s2::before {
    background-image: url(../images/idx_mv02_sp.jpg);
  }
  .home_page .key .slick-initialized .s3::before {
    background-image: url(../images/idx_mv03_sp.jpg);
  }
}
@media only screen and (max-width: 768px) {
  .home_page h3 {
    margin-bottom: 30px;
    font-size: 26px;
    padding-bottom: 30px;
    padding-top: 35px;
  }
  .home_page h3 .en {
    font-size: 18px;
  }
  .home_page h3::before {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    font-size: min(60px, 16vw);
  }
}
@media only screen and (max-width: 768px) {
  .index0 {
    padding: 60px 0px 60px;
    background-color: #000;
  }
  .idx_news {
    padding: 60px 0px 55px;
    margin-top: 0;
  }
  .idx_news::before {
    font-size: 6px;
    right: 10px;
  }
  .idx_news .left {
    padding-top: 0;
    width: 100%;
    text-align: center;
  }
  .idx_news ul {
    width: 100%;
  }
  .idx_news h3 {
    padding-top: 0;
    padding-bottom: 0;
  }
  .idx_news h3 .jp {
    font-size: 24px;
  }
  .idx_news h3 .en {
    font-size: 14px;
  }
  .idx_news .content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .idx_news .content .news {
    display: block;
  }
  .idx_news .content .box {
    width: 100%;
    padding: 40px 20px;
    border-radius: 20px;
  }
  .idx_news .content li {
    max-width: 100%;
  }
  .idx_news .content li a {
    padding: 20px 0;
  }
  .idx_news .content li a .cat {
    margin-left: 10px;
  }
  .idx_news .content li a .date {
    width: 7em;
  }
  .idx_news .content li a .title {
    width: calc(100% - 7em);
    padding-left: 20px;
  }
  .idx_news .content li a .title::before {
    right: 0;
  }
  .idx_news .btn-group {
    max-width: 210px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 30px;
  }
  .idx01 {
    padding-bottom: 60px;
  }
  .idx01 .flex > div {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx01-right {
    margin-top: 20px;
  }
  .idx01 .txt {
    font-size: 14px;
  }
  .idx01-info {
    display: block;
  }
  .idx01 .btn-group {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
  }
  .idx01 .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
  }
  .idx01 .des {
    text-align: center;
  }
  .idx01-flex figure {
    width: 41px;
  }
  .idx02 {
    padding-top: 0;
  }
  .idx02 h3 {
    padding-top: 0;
  }
  .idx02-content {
    padding: 60px 0;
    background-color: #478651;
  }
  .idx02-content::before {
    border-radius: 30px 0 0 30px;
    width: 100%;
    background-image: url(../images/idx02_bg_sp.jpg);
    background-position: top center;
    background-size: 100% auto;
  }
  .idx02 .inner_big {
    padding-left: 15px;
    padding-right: 15px;
  }
  .idx02-banner {
    margin: 5px;
    width: calc(50% - 10px);
    margin-left: auto;
    margin-right: auto;
  }
  .idx02-txt {
    top: 6.4em;
    font-size: min(8.5px, 1.2vw);
  }
  .idx03 {
    padding: 60px 0;
  }
  .idx03-img {
    position: relative;
    top: 0;
    left: 0;
    font-size: min(6px, 1.45vw);
    margin-left: auto;
    margin-right: auto;
  }
  .idx03-img .name {
    height: 40em;
    top: 5em;
  }
  .idx03-img .name .t1 {
    font-size: 12px;
  }
  .idx03-img .name .sm {
    font-size: 8px;
  }
  .idx03-left {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .idx03 .inner_big {
    padding-bottom: 0;
  }
  .idx03 .inner_big::before {
    right: 0;
    border-radius: 10px;
    height: 100%;
    background-size: 100% auto;
    background-position: top center;
    background-image: url(../images/idx03_bg_sp.png);
  }
  .idx03 .ttl {
    font-size: 18px;
    text-align: center;
  }
  .idx03 .ttl span {
    display: inline-block;
  }
  .idx03 .btn-group {
    margin-top: 20px;
  }
  .idx03 .btn-group .btn {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 15px;
  }
  .idx03 .inner_big {
    padding-top: 30px;
  }
  .idx03 .inner_big::before {
    top: 0;
  }
  .idx03 .box-txt {
    padding-left: 0;
    margin-top: 20px;
  }
  .idx04 {
    margin-top: 0;
    padding: 60px 0;
  }
  .idx04::before {
    left: 20px;
    font-size: 5px;
    top: -60px;
  }
  .idx04 .flex {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .idx04 .item {
    max-width: 350px;
    width: 100%;
    margin: 10px auto;
  }
  .idx04 h3 {
    padding-top: 0;
  }
  .idx04 h4 {
    font-size: 20px;
    letter-spacing: 0.05em;
  }
  .idx04 .num {
    font-size: 50px;
  }
  .idx04-content {
    padding: 30px 20px;
  }
  .idx04 .btn-group {
    margin-top: 20px;
  }
  .idx05 {
    padding: 60px 0;
  }
  .idx05::after {
    height: 100%;
  }
  .idx05::before {
    top: -60px;
    font-size: 5.5px;
  }
  .idx05-content {
    padding: 30px 15px;
  }
  .idx05 .inner_big {
    padding-left: 15px;
    padding-right: 15px;
  }
  .idx05-btn a {
    padding-left: 1em;
    font-size: min(14px, 3vw);
    min-height: 4.5em;
    height: 100%;
    letter-spacing: 0;
    padding-top: 0.3em;
    padding-bottom: 0.3em;
  }
  .idx05-TabList li {
    font-size: 16px;
    height: 60px;
    letter-spacing: 0.05em;
  }
}
@media only screen and (max-width: 580px) {
  .idx05-btn a span .br {
    display: block;
  }
  .idx05-content {
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 520px) {
  .idx01-flex {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .idx01-flex .item {
    margin: 5px;
    width: calc(50% - 10px);
  }
}
@media only screen and (max-width: 430px) {
  .idx_news .content li a {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .idx_news .content li a .title {
    padding-left: 0;
    width: 100%;
    padding-top: 15px;
  }
  .idx_news .content li a .title::before {
    top: calc(50% + 3px);
  }
  .idx02-banner {
    max-width: 320px;
    width: 100%;
  }
  .idx02-txt {
    font-size: 8px;
    top: 5em;
  }
}
@media only screen and (max-width: 374px) {
  .idx02-banner {
    width: 100%;
  }
  .idx05-btn {
    width: 100%;
  }
  .idx05-btn a {
    font-size: 14px;
  }
  .idx05-btn a span .br {
    display: inline-block;
  }
}
@media only screen and (max-width: 359px) {
  .idx01 .txt {
    font-size: 12px;
  }
  .idx04 h4 {
    letter-spacing: 0;
  }
  .idx04-content {
    padding: 30px 10px;
  }
}
/*# sourceMappingURL=index_sp.css.map */