@media only screen and (max-width: 768px) {
    .home_page .key {
        --height: calc(100vh - 60px);
        --max-height: 667px;
        --min-height: 400px;
        height: var(--height);
        aspect-ratio: unset;
        padding-bottom: 155px
    }
    .home_page .key_wrap,
    .home_page .key .inner {
        height: calc(var(--height) - 100px);
    }
    .home_page .key_img img {
        object-position: center top
    }
    .txt-main {
        width: fit-content;
        margin-left: auto;
        color: #fff;
        position: absolute;
        left: 0;
        right: 10px;
        text-align: right;
        bottom: 4em;
        font-size: 3.8em;
    }
    .txt-main span {
        margin-top: -15px;
        font-size: 20px;
        text-align: left;
        padding-left: 15px;
    }
    .bg-key .img {
        min-height: 667px;
        max-height: 667px;
    }
    .content_btn.col1 {
        padding: 0 21px;
        max-width: 295px;
        margin: 0 auto;
    }
    .content_btn.col1 li a {
        min-width: 100%;
    }
    .home_page .key_content {
        margin-left: 0;
        padding: 26px 0;
        justify-content: center;
        height: auto;
    }
    .iThought {
        background-size: 15px auto;
    }
    .iThought_wrap {
        padding: 50px 19px;
    }
    .iThought h3 {
        font-size: 20px;
    }
    .iThought_heading::before {
        top: 1px;
        width: 26px;
    }
    .iThought_heading::after {
        bottom: -20px;
        right: 20px;
        width: 36px;
    }
    .iThought_content:before {
        top: -20px;
        left: 0;
        width: 40px;
    }
    .iThought_box {
        margin: 30px auto 35px;
    }
    .home_page .key .title {
        margin-bottom: 1px;
        font-size: 36px;
        text-align: center;
        text-shadow: 0 0 3px rgba(0, 0, 0, 0.5);
    }
    .box-ttl {
        right: -25px;
        top: -5em;
        width: 6.5em;
        height: 6.5em;
        font-size: 1.5em;
    }
    .bg-key .img:nth-child(2) .box-ttl {
        top: -5.5em;
        right: 6em;
    }
    .home_page .key .sub {
        font-size: 16px
    }
    .sec_heading .en {
        padding-bottom: 3px;
        margin-bottom: 6px;
        font-size: 36px
    }
    .sec_heading .en::after {
        width: 66px
    }
    .sec_heading .jp {
        font-size: 12px
    }
    .sec_heading.--large .jp {
        font-size: 18px
    }
    .sec_heading.--sm .en {
        padding-bottom: 6px;
        font-size: 23px
    }
    .iBtn {
        padding: 12px 35px 14px 19px;
        min-height: 48px
    }
    .iBtn::after {
        right: 14px;
        top: calc(50% - 10px);
        width: 20px;
        background-size: 7px auto
    }
    .iBtn>span {
        font-size: 16px
    }
    .iNews {
        padding: 14px 20px;
        width: 100%;
        border-radius: 15px 15px 0 0
    }
    .iNews_top {
        margin-bottom: 20px
    }
    .iNews_top-title {
        font-size: 20px
    }
    .iNews_top-btn {
        top: 0
    }
    .iNews_top-btn a {
        padding: 7px 15px 7px 0;
        font-size: 14px
    }
    .iNews_list a .date {
        font-size: 12px
    }
    .iNews_list a .ttl {
        flex-grow: 1
    }
    .iMes {
        padding: 67px 0 152px;
        background-image: url(../images/iMes_bg_sp.png);
        background-size: 750px auto
    }
    .iMes .inner {
        padding-left: 0;
        padding-right: 0
    }
    .iMes_wrap {
        padding-left: 20px;
        padding-right: 20px
    }
    .iMes_heading {
        position: relative;
        margin-bottom: 25px
    }
    .iMes_heading::before {
        content: "";
        position: absolute;
        bottom: -22px;
        left: 5px;
        width: 22px;
        aspect-ratio: 22/23;
        background: url(../images/leaf_img12.svg) center/100% auto no-repeat;
        pointer-events: none
    }
    .iMes_heading::after {
        content: "";
        position: absolute;
        top: -65px;
        right: 20px;
        width: 31px;
        aspect-ratio: 31/41;
        background: url(../images/leaf_img13.svg) center/100% auto no-repeat;
        pointer-events: none
    }
    .iMes_img {
        margin-bottom: 62px;
        position: relative;
        width: 100%;
        max-width: 525px;
        margin-left: auto;
        margin-right: auto;
        display: grid;
        grid-template-columns: min(39.2vw, 206px) min(50.4vw, 265px);
        grid-template-areas: "r1 r3" "r1 r2";
        gap: min(10.4vw, 56px)
    }
    .iMes_img::after {
        content: "";
        position: absolute;
        bottom: 10px;
        left: 50px;
        width: 17px;
        aspect-ratio: 17/35;
        background: url(../images/leaf_img11.svg) center/100% auto no-repeat;
        pointer-events: none;
        z-index: 2
    }
    .iMes_img li {
        position: relative;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important
    }
    .iMes_img li:nth-child(1) {
        grid-area: r1;
        display: flex;
        align-self: center;
        justify-content: flex-end
    }
    .iMes_img li:nth-child(1) picture {
        margin-bottom: 5vw;
        margin-left: -14.13vw
    }
    .iMes_img li:nth-child(2) {
        display: flex;
        align-items: flex-start;
        grid-area: r2
    }
    .iMes_img li:nth-child(2) picture {
        margin-left: -22px;
        width: min(37.33vw, 196px)
    }
    .iMes_img li:nth-child(3) {
        display: flex;
        align-items: flex-start;
        grid-area: r3
    }
    .iMes_img li:nth-child(3)::before {
        top: -28px;
        left: -20px;
        width: 67px
    }
    .iMes_img li:nth-child(3) picture {
        margin-right: -2.93vw
    }
    .iMes_desc {
        position: relative
    }
    .iMes_desc::after {
        content: "";
        position: absolute;
        bottom: -66px;
        left: calc(50% - 70px);
        width: 24px;
        aspect-ratio: 24/36;
        background: url(../images/leaf_img14.svg) center/100% auto no-repeat;
        pointer-events: none
    }
    .iMes_desc p {
        font-size: min(4vw, 15px);
        line-height: 2.5;
        letter-spacing: .01em
    }
    .iProfile {
        padding: 41px 0 130px
    }
    .iProfile::before {
        width: 41px;
        top: -50px;
        left: calc(50% - 150px)
    }
    .iProfile::after {
        bottom: -5.6vw;
        left: calc(50% - 195.47vw);
        width: min(338.67vw, 1440px)
    }
    .iProfile_heading {
        margin-bottom: 37px
    }
    .iProfile_heading::before {
        top: 50px;
        right: calc(50% - 143px);
        width: 17px;
        aspect-ratio: 17/35;
        background-image: url(../images/leaf_img05_sp.svg)
    }
    .iProfile_box {
        flex-direction: column
    }
    .iProfile_info {
        margin-bottom: 39px;
        padding-top: 0;
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center
    }
    .iProfile_info-img {
        margin-bottom: 22px;
        width: 270px;
        border-radius: 135px;
        border-width: 1px
    }
    .iProfile_info-name {
        font-size: 24px
    }
    .iProfile_info-name .en {
        display: inline-block;
        padding-top: 12px
    }
    .iProfile_content {
        width: 100%
    }
    .iProfile_content .item {
        padding-left: 15px;
        padding-right: 15px
    }
    .iProfile_content .item:not(:last-child) {
        margin-bottom: 30px;
        padding-bottom: 26px
    }
    .iProfile_content .item_title {
        margin-bottom: 11px;
        padding: 3px 25px 5px;
        min-width: 150px;
        min-height: 36px;
        font-size: 17px
    }
    .iProfile_content .item_desc p {
        font-weight: 400;
        line-height: 1.6
    }
    .iProfile_content .item_tbl {
        margin-top: 2px
    }
    .iProfile_content .item_tbl tr {
        display: flex;
        flex-direction: column
    }
    .iProfile_content .item_tbl tr:not(:last-child) {
        margin-bottom: 11px
    }
    .iProfile_content .item_tbl tr:not(:last-child) th,
    .iProfile_content .item_tbl tr:not(:last-child) td {
        padding-bottom: 0
    }
    .iProfile_content .item_tbl th,
    .iProfile_content .item_tbl td {
        font-size: 15px;
        line-height: 1.25
    }
    .iProfile_content .item_tbl td {
        padding-left: 0;
        font-weight: 400
    }
    .iTax {
        padding: 62px 0 160px;
        background-image: url(../images/iTax_bg_sp.jpg)
    }
    .iTax_wrap {
        flex-direction: column
    }
    .iTax_img {
        margin-left: -16px;
        width: calc(100% + 32px)
    }
    .iTax_sub {
        font-size: min(5.33vw, 20px)
    }
    .iTax_heading {
        padding-bottom: 18px;
        font-size: min(10.67vw, 40px);
        letter-spacing: .025em
    }
    .iTax_content {
        padding-top: 9px
    }
    .iTax_list {
        margin-bottom: 36px
    }
    .iTax_list li:not(:last-child) {
        margin-bottom: 6px
    }
    .iTax_list li::before {
        padding-right: min(4vw, 15px);
        font-size: min(12vw, 45px);
        align-self: center
    }
    .iTax_list li>span {
        padding-left: min(4vw, 15px);
        font-size: min(4.27vw, 16px);
        letter-spacing: .025em
    }
    .iTax_list li>span::before {
        height: 90%
    }
    .iTax_note::before {
        top: 1px;
    }
    .iInno_list .img img {
        height: min(58.67vw, 300px);
        width: 100%;
        border-top-left-radius: 15px;
        border-bottom-left-radius: 15px;
        object-fit: cover;
    }
    .iInno_list .content_title::after {
        background: url(../images/ico_line02.png) left center / 11px auto repeat-x;
    }
    .iTax_note-txt {
        font-size: 27px
    }
    .iGallery {
        margin: -90px auto
    }
    .iGallery::after {
        bottom: -33px;
        right: 64px;
        left: auto;
        width: 41px;
        aspect-ratio: 41/61;
        background-image: url(../images/leaf_img09.svg)
    }
    .iGallery_list .slick-list {
        margin: 0 -10px
    }
    .iGallery_list-item {
        margin: 0 10px
    }
    .iGallery_list-item img {
        width: auto;
        height: 180px
    }
    .iInno {
        padding: 0;
        background-size: 15px auto
    }
    .iInno_wrap {
        padding: 151px 19px 70px
    }
    .iInno_heading {
        margin-bottom: 35px
    }
    .iInno_heading::before {
        top: -20px;
        left: -28px;
        width: 24px;
        aspect-ratio: 24/36;
        background-image: url(../images/leaf_img10.svg)
    }
    .iInno_heading::after {
        display: none
    }
    .iInno_list .item {
        padding-bottom: 52px;
        margin-bottom: 50px;
        flex-direction: column
    }
    .iInno_list .content {
        padding-top: 25px;
        width: 100%
    }
    .iInno_list .content_num {
        right: -2px;
        top: 0;
        font-size: 125px
    }
    .iInno_list .content_title {
        margin-bottom: 18px;
        padding-bottom: 12px;
        font-size: 22px;
        letter-spacing: .04em
    }
    .iInno_list .content_desc p {
        font-weight: 400;
        line-height: 1.8
    }
    .iInno_list .content_btn {
        gap: 12px;
        justify-content: center
    }
    .iInno_list .content_btn li {
        width: 295px;
        max-width: 100%;
        min-width: auto
    }
    .iInno_box {
        margin-left: auto;
        margin-right: auto;
        max-width: 445px;
        width: 100%;
        flex-direction: column
    }
    .iInno_box .item {
        padding: 0;
        width: 100%
    }
    .iInno_box .item:nth-child(3n+2)::before,
    .iInno_box .item:nth-child(3n+2)::after {
        display: none
    }
    .iInno_box .item:not(:last-child) {
        padding-bottom: 27px;
        border-bottom: 1px solid var(--main-color)
    }
    .iInno_box .img {
        margin-bottom: 15px;
        aspect-ratio: 295/170
    }
    .iInno_box .content_title {
        font-size: 16px
    }
    .iInno_box .content_list li {
        font-size: 15px;
        font-weight: 400;
        line-height: 1.365
    }
    .iInno_box .content_list li:not(:last-child) {
        margin-bottom: 5px
    }
    .iInno_box .content_list li::before {
        top: .45em
    }
    .iInfo {
        padding: 40px 0 18px
    }
    .iInfo::before {
        height: 24px;
        top: -23px;
        background-size: 375px auto;
        background-image: url(../images/line_wave_sp.png)
    }
    .iInfo_wrap {
        flex-direction: column
    }
    .iInfo_content {
        margin-bottom: 25px;
        width: 100%;
        display: flex;
        align-items: flex-end;
        justify-content: space-between
    }
    .iInfo_heading {
        margin-bottom: 0
    }
    .iInfo_btn {
        margin-bottom: 7px !important
    }
    .iInfo_btn a {
        padding: 7px 25px 7px 0;
        font-size: 14px;
        background-size: 8px auto
    }
    .iInfo_list {
        padding-top: 0
    }
    .iInfo_list ul {
        grid-template-columns: 100%;
        gap: 14px
    }
    .iInfo_list a {
        flex-direction: row;
        border-radius: 7px
    }
    .iInfo_list a .img {
        flex-shrink: 0;
        width: 148px !important;
        height: 100px !important;
        aspect-ratio: 148 / 100;
    }
    .iInfo_list a .content {
        padding: 12px 15px;
        flex: 1;
    }
    .iInfo_list a .date {
        margin-bottom: 0;
        font-size: 12px
    }
    .iInfo_list a .title {
        margin-bottom: 5px;
        font-size: 14px;
        display: -webkit-inline-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        text-overflow: ellipsis;
        overflow: hidden
    }
    .iInfo_list a .desc {
        font-size: 12px;
        line-height: 1.3
    }
}

@media only screen and (min-width: 425px)and (max-width: 768px) {
    .iProfile::after {
        left: auto;
        left: auto;
        right: -390px
    }
    .txt-main {
        text-align: center;
    }
}

@media only screen and (min-width: 640px)and (max-width: 768px) {
    .home_page .key_img img {
        object-position: 50% 18%
    }
    .iMes {
        background-size: 100% auto
    }
}


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