@media only screen and (max-width: 768px) {
  .home_page .key {
    --height: calc(100vh - 60px);
    --max-height: 156vw;
    --min-height: 320px;
    padding-top: var(--wrapper);
    font-size: min(2vw, 8px);
  }
}
@media only screen and (max-width: 768px) and (orientation: landscape) {
  .home_page .key {
    --height: 52vw;
    font-size: 1.4vmin;
    padding-top: calc(var(--wrapper) - 30px);
  }
  .home_page .key_text {
    background-size: auto min(75%, 695px);
  }
  .home_page .key .catch {
    font-size: min(0.68vw, 10px);
    margin-left: auto;
    margin-right: auto;
  }
  .home_page .key .catch h2 > span {
    margin-left: auto;
    margin-right: auto;
  }
  .home_page .key .catch::after {
    font-size: 0.65em;
    margin-top: 2em;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 768px) and (orientation: portrait) {
  .home_page .key {
    background-image: url(../images/idx_key_bg_sp.jpg);
  }
  .home_page .key_text {
    background-size: auto min(55%, 695px);
    animation: keySlide 80s linear infinite;
  }
  .home_page .key .catch::after {
    font-size: 0.75em;
    margin-top: 2em;
    margin-left: auto;
    margin-right: auto;
  }
  .home_page .key h2 > span {
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 768px) {
  .home_page .wrap_h3 {
    margin-bottom: 30px;
  }
  .home_page .wrap_h3 .h_en.lg {
    font-size: min(12.5vw, 60px);
  }
  .home_page .wrap_h3 .h_en.lg + .sm {
    margin-top: -60px;
  }
  .home_page .wrap_h3 .h_en.sm {
    font-size: 18px;
  }
  .home_page .wrap_h3 h3 {
    font-size: var(--ttl_size);
  }
}
@media only screen and (max-width: 768px) {
  .idx_news {
    font-size: 8.75px;
    padding: 60px 20px 0;
    background-color: #f8f5f1;
    border-radius: 0;
  }
  .idx_news .news {
    border-radius: 40px;
    background-color: #fff;
    padding: 40px 20px 25px;
  }
  .idx_news .news .ttl {
    font-size: 24px;
    text-align: center;
    background-position: top center;
    padding-top: 10px;
    margin-bottom: 20px;
  }
  .idx_news .news ul li a {
    padding: 1em 0;
  }
  .idx_contact {
    padding: 60px 20px;
  }
  .idx_contact .wrap {
    border-radius: 20px;
    padding: 40px 0;
  }
  .idx_contact .ttl {
    font-size: var(--ttl_size);
    margin-bottom: 30px;
  }
  .idx_contact .contact-group {
    margin-bottom: 25px;
  }
  .idx_contact .btn-contact {
    font-size: min(3.125vw, 15px);
    max-width: 500px;
  }
  .idx_contact .btn-contact a {
    padding: 0.5em;
    min-height: 5em;
    font-size: 1.4em;
    border-radius: 10px;
  }
  .idx_contact .btn-contact a .tt {
    padding-left: 2.5em;
  }
  .idx_contact .btn-contact a .tt::before {
    font-size: 0.9em;
  }
  .idx_contact .btn-contact a .lg {
    font-size: 1.4286em;
  }
  .idx_contact .idx_desc:not(:last-of-type) {
    margin-bottom: 25px;
  }
  .idx01 {
    padding: 60px 20px;
  }
  .idx01 .wrap {
    border-radius: 40px;
    padding: 40px 0;
  }
  .idx01 .idx_box:not(:last-child) {
    margin-bottom: 50px;
  }
  .idx01 .idx_box::before {
    font-size: 0.625vw;
  }
  .idx01 .idx_box .box_img {
    margin-bottom: clamp(30px, 5.5vw, 40px);
  }
  .idx01 .idx_box .txt {
    margin-bottom: 30px;
  }
  .idx01 .idx_box .txt_info {
    font-size: min(2vw, 8.75px);
  }
  .idx01 .idx_box.box01::before {
    top: -5em;
    left: -5px;
  }
  .idx01 .idx_box.box02::before {
    top: -5em;
    right: -5px;
  }
  .idx02 {
    padding: 60px 0;
  }
  .idx02::before, .idx02::after {
    font-size: max(2.5px, 0.625vw);
  }
  .idx02::before {
    top: 4em;
    left: 5px;
  }
  .idx02::after {
    top: 4em;
  }
  .idx02 .idx_desc {
    margin-bottom: 30px;
  }
  .idx02 .idx_list {
    font-size: 8.75px;
    gap: 2em;
    margin-bottom: 30px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .idx02 .idx_list::before {
    font-size: 10px;
    top: 16em;
    right: -16.6em;
  }
  .idx02 .idx_list .item {
    width: calc(50% - 1em);
  }
  .idx03 {
    padding: 60px 0 80px;
  }
  .idx03 .wrap_h3 .txt-circle {
    font-size: 1em;
  }
  .idx03 .wrap_h3 .txt-circle.clr2 {
    margin-left: -0.2em;
  }
  .idx03 .TabContainer .TabPager {
    flex-wrap: wrap;
    gap: 6px;
  }
  .idx03 .TabContainer .TabPager > div {
    width: 45%;
    min-height: 70px;
  }
  .idx03 .TabContainer .TabPager > div > a {
    padding: 0.5em 0.8em;
  }
  .idx03 .TabContainer .TabPager > div.tab1 > a, .idx03 .TabContainer .TabPager > div.tab2 > a {
    border-radius: 10px;
  }
  .idx03 .TabContainer .TabContent {
    border-radius: 0 0 20px 20px;
  }
  .idx03 .TabContainer .TabContent .content > div {
    padding: 40px 20px;
  }
  .idx03 .idx_list {
    font-size: 8.75px;
    --gap: 30px;
    margin-bottom: 30px;
  }
  .idx03 .idx_list .item {
    width: calc((100% - var(--gap) * 1) / 2);
  }
  .idx04 {
    padding: 40px 0 60px;
    background-size: 500px 500px;
  }
  .idx04::before {
    width: 768px;
    top: -20px;
  }
  .idx04::after {
    width: 768px;
  }
  .idx04 .wrap::before, .idx04 .wrap::after {
    font-size: 4px;
  }
  .idx04 .wrap::before {
    bottom: calc(100% + 50px);
    left: -5px;
  }
  .idx04 .wrap::after {
    bottom: calc(100% + 50px);
    right: -5px;
  }
  .idx04 .idx_list {
    font-size: 8.75px;
    margin-bottom: 30px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
  }
  .idx04 .idx_list .item {
    width: calc(50% - 15px);
  }
  .idx04 .idx_list .item .cont {
    padding-left: 20px;
    padding-right: 20px;
  }
  .idx05 {
    font-size: min(0.9375vw, 8.75px);
  }
  .idx05 .wrap_h3 h3 {
    font-size: calc(var(--ttl_size) - 2px);
  }
  .idx05 .wrap_h3 h3::before, .idx05 .wrap_h3 h3::after {
    width: 1.5em;
  }
  .idx05 .wrap_h3 h3::before {
    margin-right: 5px;
  }
  .idx05 .wrap_h3 h3::after {
    margin-left: 5px;
  }
  .idx05 .wrap {
    padding-top: 40px;
  }
  .idx05 .wrap_bg {
    border-radius: min(8em, 40px);
    background-size: 14px 14px;
  }
  .idx05 .wrap_bg .item {
    width: min(9em, 45px);
  }
  .idx05 .idx_list li {
    padding-left: 2.1em;
  }
  .idx05 .idx_list li::before {
    font-size: 0.875em;
    width: round(1.75em, 1px);
  }
  .idx06 {
    padding: 60px 0;
  }
  .idx06::after {
    right: 20px;
    font-size: 4.2px;
  }
  .idx06 .idx_desc {
    margin-bottom: 30px;
  }
  .idx06 .idx_list {
    font-size: clamp(6.5px, 1.17vw, 8.75px);
    justify-content: center;
    gap: 30px;
    margin-bottom: 50px;
  }
  .idx06 .idx_list .item {
    width: calc(50% - 15px);
  }
  .idx06 .idx_list .item dl dt {
    height: 8em;
    flex-shrink: 0;
  }
  .idx06 .idx_list .item dl dd {
    --pl: 1.5em;
    --pr: 1.5em;
    flex-grow: 1;
  }
  .idx06 .idx_list .item .ttl {
    letter-spacing: 0.1em;
    line-height: 1.4;
  }
  .idx06 .idx_list .item .ttl .sm {
    font-size: 14px;
  }
  .idx06 .idx_list .item ul {
    padding: 1em var(--pr) 1em var(--pl);
  }
  .idx06 .idx_list .item ul li {
    --w: 7.5em;
    padding: 0.5em 0;
  }
  .idx06 .idx_list .item ul li .tt::after {
    left: calc(50% - 1.5em);
  }
  .idx06 .idx_list .item .sum {
    height: 8em;
    padding: 1em var(--pr) 0.5em var(--pl);
  }
  .idx06 .btn-acc .accBtn {
    width: calc(100% - 20px);
    padding: 0.5em 2.5em 0.5em 1em;
  }
  .idx06 .btn-acc .accBtn .plus {
    font-size: 0.9em;
    right: 1em;
  }
  .idx06 .btn-acc .accBlock {
    margin-top: -30px;
  }
  .idx06 .btn-acc .content {
    border-radius: 10px;
    padding: 50px 20px 40px;
    background-size: 14px 14px;
  }
  .idx06 .btn-acc .content .hlight {
    margin-bottom: 25px;
  }
  .idx06 .btn-acc .content ul li {
    padding-left: 2.5em;
  }
  .idx06 .btn-acc .content ul li::before {
    font-size: 1em;
    top: 0;
  }
  .idx08 {
    padding: 60px 0;
  }
  .idx08 .wrap_h3 {
    margin-bottom: 50px;
  }
  .idx08 .idx_list {
    font-size: 8.75px;
    --gap: 30px;
    margin-bottom: 30px;
    flex-wrap: wrap;
    justify-content: center;
    gap: 50px var(--gap);
  }
  .idx08 .idx_list .item {
    width: calc((100% - var(--gap) * 1) / 2);
  }
  .idx08 .idx_list .item picture::before {
    font-size: 8em;
  }
  .idx08 .idx_list .item .ttl {
    font-size: 2.4em;
    padding: 8px 10px;
  }
  .idx08 .idx_list .item .txt {
    padding: 10px;
  }
  .idx09 {
    margin-top: -1px;
    padding: 20px 0 30px;
    background-image: linear-gradient(180deg, #EFEDE6 50%, #fff 50%);
  }
  .idx09 .wrap {
    border-radius: 20px;
    padding: 40px 0;
  }
  .idx09 .wrap::before {
    font-size: min(0.55vw, 10px);
    bottom: calc(100% - 22.3em);
    left: 20px;
  }
  .idx09 .idx_desc {
    margin-bottom: 30px;
  }
  .idx09 .idx_banner {
    font-size: min(1.6vw, 8.75px);
    justify-content: center;
    flex-wrap: wrap;
    gap: 20px;
  }
  .idx09 .idx_banner .item {
    width: calc(50% - 10px);
    padding: 0.5em 2em;
  }
  .idx09 .idx_banner .item::before {
    right: 1em;
  }
  .idx10 .wrap {
    padding: 30px 0 100px;
  }
  .idx10 .wrap::before, .idx10 .wrap::after {
    font-size: 3px;
  }
  .idx10 .wrap::before {
    top: 0;
    right: 0;
  }
  .idx10 .wrap::after {
    left: 0;
  }
  .idx10 .idx_box .box_ttl {
    display: table;
    margin: 0 auto;
  }
  .idx10 .idx_box .box_ttl::before {
    font-size: 5px;
    top: 0;
    left: -15px;
  }
  .idx10 .ttl {
    text-align: center;
    font-size: calc(var(--ttl_size) - 2px);
    margin-bottom: 25px;
  }
  .idx10 .ttl > span {
    text-underline-offset: 16px;
  }
  .idx10 .idx_desc {
    margin-bottom: 30px;
  }
  .idx10 .idx_list {
    font-size: min(1.55vw, 8px);
    gap: 10px;
    justify-content: center;
  }
  .idx10 .idx_list .item {
    width: calc(50% - 5px);
  }
  .idx10 .idx_list .item picture {
    border-radius: 10px;
    margin-bottom: 10px;
  }
  .idx11 {
    padding: 60px 0;
  }
  .idx11 .wrap {
    --height: 300px;
    padding: 40px 20px;
    height: calc(var(--height) + 80px);
  }
  .idx11 .wrap::after {
    border-radius: 40px;
  }
  .idx11 .idx_flow {
    font-size: min(1.875vw, 8.75px);
    --gap: 3.2em;
    margin-bottom: 30px;
  }
  .idx11 .idx_flow .item {
    width: calc((100% - var(--gap) * 1) / 2);
    border-radius: 5px;
    min-height: 30em;
    padding: 1.2em;
  }
  .idx11 .idx_flow .item:not(:nth-child(odd))::before {
    content: "";
    position: absolute;
    width: 1.9em;
    aspect-ratio: 19/37;
    right: calc(100% + 0.6em);
    top: calc(50% - 1.8em);
    --mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 19 37' %3E%3Cpath d='M17.830,17.176 C18.498,17.932 18.498,19.068 17.830,19.824 L3.499,36.041 C2.279,37.422 -0.000,36.559 -0.000,34.717 L-0.000,2.284 C-0.000,0.442 2.279,-0.421 3.499,0.959 L17.830,17.176 Z'/%3E%3C/svg%3E");
    mask-image: var(--mask);
    -webkit-mask-image: var(--mask);
    mask-repeat: no-repeat;
    -webkit-mask-repeat: no-repeat;
    mask-size: 100% auto;
    -webkit-mask-size: 100% auto;
    mask-position: center;
    -webkit-mask-position: center;
    background-color: var(--clr-item);
  }
  .idx11 .idx_flow .item .ttl::after {
    width: 100%;
    height: 2px;
    mask-size: 4px 2px;
    -webkit-mask-size: 4px 2px;
  }
  .idx11 .idx_more {
    height: var(--height);
  }
  .idx11 .idx_more .btn_more {
    font-size: 8.75px;
  }
  .idx12 {
    --bg-height: 400px;
    padding: 60px 0 20px;
    background: url(../images/idx12_bg_sp.jpg) no-repeat top center/auto var(--bg-height), url(../images/idx12_pattern_bg.jpg) repeat top var(--bg-height) left/14px 14px;
  }
  .idx12 .idx_desc {
    margin-bottom: 30px;
  }
  .idx12 .TabContainer .TabPager {
    gap: 6px;
    flex-wrap: wrap;
  }
  .idx12 .TabContainer .TabPager > div {
    width: 48%;
    min-height: 60px;
    padding: 5px 8px;
  }
  .idx12 .TabContainer .TabPager > div.tab3 {
    width: 100%;
  }
  .idx12 .TabContainer .TabContent .content > div {
    padding: 40px 0;
  }
  .idx12 .idx_list {
    font-size: 10px;
    gap: 1em;
  }
  .idx12 .idx_list .item {
    width: calc(50% - 0.5em);
    min-height: 25em;
    padding: 30px 10px 50px;
    border-radius: 20px;
  }
  .idx12 .idx_list .item:hover {
    border-color: transparent;
    background: url(../images/idx12_item_bg.jpg) no-repeat center/cover;
  }
  .idx12 .idx_list .item .ttl {
    font-size: 2.2em;
  }
  .idx12 .idx_list .item .ic-arrow {
    font-size: 6.5px;
    right: 10px;
    bottom: 10px;
  }
}
@media only screen and (max-width: 639px) {
  .idx03 .idx_list .item,
  .idx04 .idx_list .item,
  .idx06 .idx_list .item,
  .idx08 .idx_list .item {
    width: 100%;
  }
  .idx06 .idx_list {
    font-size: min(2.34375vw, 8.75px);
  }
  .idx06 .idx_list .item {
    max-width: 400px;
  }
}
@media only screen and (max-width: 430px) {
  .idx09 .idx_banner {
    gap: 10px;
  }
  .idx09 .idx_banner .item {
    width: calc(50% - 5px);
  }
  .idx09 .idx_banner .item .item {
    padding: 0.5em 1em;
  }
  .idx09 .idx_banner .item .item::before {
    right: 0.5em;
  }
  .idx10 .idx_list .item {
    display: flex;
    flex-direction: column;
  }
  .idx10 .idx_list .item picture {
    flex-shrink: 0;
  }
  .idx10 .idx_list .item .txt {
    flex-direction: column;
    flex-grow: 1;
    padding: 0 1em;
  }
  .idx10 .idx_list .item .tt {
    text-align: center;
    flex-grow: 1;
  }
  .idx12 {
    --bg-height: 450px;
  }
  .idx12 .TabContainer .TabPager > div .tt {
    font-size: 15px;
  }
}
@media only screen and (max-width: 360px) {
  .idx_contact .ttl::before {
    right: calc(100% - 10px);
  }
  .idx_contact .ttl::after {
    left: calc(100% - 10px);
  }
  .idx05 .wrap_h3 h3 {
    font-size: 22px;
  }
  .idx05 .wrap_h3 h3::before, .idx05 .wrap_h3 h3::after {
    width: 0.8em;
  }
  .idx06 .wrap_h3 h3 {
    font-size: 22px;
  }
  .idx09 .idx_banner {
    font-size: 4.85px;
  }
  .idx10 .ttl {
    font-size: 22px;
  }
  .idx10 .idx_list {
    font-size: 4.5px;
  }
}

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