.home_page .key {
    --min-height: 850px;
    --max-height: 850px;
    padding-top: var(--wrapper);
    padding-bottom: calc(var(--wrapper) + 55px);
    position: relative;
    width: 100%;
    aspect-ratio: 128/72;
    min-height: var(--min-height);
    max-height: var(--max-height);
    overflow: hidden;
    font-size: 10px
}

.txt-main {
    color: #fff;
    position: absolute;
    left: 2em;
    bottom: 1em;
    font-size: 6.375em;
    font-weight: 600;
    font-family: var(--f-jp);
    text-shadow: 0 0 10px var(--main-color);
}

.txt-main span {
    margin-top: -30px;
    display: block;
    line-height: 0;
    font-size: 30px;
    padding-left: 1em;
    text-shadow: rgb(13, 185, 215) 2px 0px 0px, rgb(13, 185, 215) 1.75517px 0.958851px 0px, rgb(13, 185, 215) 1.0806px 1.68294px 0px, rgb(13, 185, 215) 0.141474px 1.99499px 0px, rgb(13, 185, 215) -0.832294px 1.81859px 0px, rgb(13, 185, 215) -1.60229px 1.19694px 0px, rgb(13, 185, 215) -1.97998px 0.28224px 0px, rgb(13, 185, 215) -1.87291px -0.701566px 0px, rgb(13, 185, 215) -1.30729px -1.5136px 0px, rgb(13, 185, 215) -0.421592px -1.95506px 0px, rgb(13, 185, 215) 0.567324px -1.91785px 0px, rgb(13, 185, 215) 1.41734px -1.41108px 0px, rgb(13, 185, 215) 1.92034px -0.558831px 0px;
}

.home_page .key_wrap,
.home_page .key .inner {
    height: 100%;
    min-height: var(--min-height);
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    width: 100%;
}

.home_page .key_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.home_page .key_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.home_page .key_content {
    margin-left: auto;
    position: relative;
    height: 100%;
    width: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: center;
    z-index: 2
}

.box-ttl {
    position: absolute;
    top: -4em;
    right: -2em;
    border: 2px solid var(--main-color);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 7em;
    height: 7em;
    background: #fff;
    color: var(--main-color);
    font-size: 2.2em;
    font-weight: 600;
    line-height: 1.5em;
    border-radius: 50%;
}

.home_page .key .title {
    font-size: 70px;
    font-family: var(--f-kaku);
    font-weight: 900;
    color: var(--white-color);
    line-height: 1.35;
    letter-spacing: -0.015em
}

.home_page .key .sub {
    margin-top: 5px;
    font-size: 25px;
    font-family: var(--f-kaku);
    font-weight: 700;
    color: var(--white-color);
    line-height: 1.4;
    letter-spacing: .025em
}

.iBtn {
    padding: 16px 50px 17px 29px;
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 59px;
    min-width: 313px;
    max-width: 100%;
    background: var(--white-color);
    border: 1px solid var(--main-color);
    border-radius: 10px;
    text-decoration: none;
    box-shadow: 0px 3px 0px 0px #0db9d7
}

.iBtn::after {
    content: "";
    position: absolute;
    top: calc(50% - 14px);
    right: 19px;
    width: 28px;
    aspect-ratio: 1/1;
    background: url(../images/ico_arr_w.svg) center/10px auto no-repeat, var(--main-color);
    border-radius: 50%
}

.iBtn>span {
    font-size: 18px;
    font-family: var(--f-kaku);
    font-weight: 700;
    color: var(--main-color);
    letter-spacing: -0.025em;
    line-height: 1.25
}

.sec_heading {
    display: flex;
    flex-direction: column;
    align-items: center
}

.sec_heading.--large .en {
    padding-bottom: 4px;
    margin-bottom: 13px
}

.sec_heading.--large .jp {
    font-size: 25px;
    letter-spacing: .05em
}

.sec_heading.--sm .en {
    padding-bottom: 10px;
    font-size: 30px;
    letter-spacing: .024em
}

.sec_heading.--sm .en::after {
    width: 67px
}

.sec_heading .en {
    margin-bottom: 9px;
    position: relative;
    font-size: 68px;
    font-weight: 700;
    color: var(--main-color);
    line-height: 1.15;
    letter-spacing: .075em
}

.sec_heading .en::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 123px;
    height: 1px;
    background: var(--main-color)
}

.sec_heading .jp {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .01em;
    color: var(--main-color)
}

.iNews {
    padding: 24px 30px 30px;
    position: absolute;
    bottom: 0;
    right: 0;
    background: var(--white-color);
    border-top-left-radius: 15px;
    max-width: 413px;
}

.iNews_top {
    margin-bottom: 7px;
    display: flex;
    justify-content: space-between;
    column-gap: 20px
}

.iThought {
    background: url(../images/iInno_bg.png) top -3px center / 29px auto repeat;
}

.iThought_wrap {
    padding: 60px 74px;
    background-color: #ffffff;
    border-left: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
}

.iThought_box {
    margin: 30px auto 60px;
}

.iThought_heading {
    position: relative;
}

.iThought_content {
    position: relative;
}

.iThought_content:before {
    content: "";
    position: absolute;
    top: -50px;
    left: calc(50% - 429px);
    width: 100px;
    aspect-ratio: 100 / 120;
    background: url(../images/leaf_img06.png) center / 100% auto no-repeat;
}

.iThought_heading::before {
    content: "";
    position: absolute;
    top: 21px;
    right: calc(50% - 406px);
    width: 26px;
    aspect-ratio: 26 / 53;
    background: url(../images/leaf_img08.svg) center / 100% auto no-repeat;
}

.iThought_heading::after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: calc(50% - 368px);
    width: 46px;
    aspect-ratio: 46 / 61;
    background: url(../images/leaf_img07.svg) center / 100% auto no-repeat;
}

.content_btn.col1 {
    justify-content: center;
}

.content_btn.col1 li {
    text-align: center;
}

.iThought h3 span {
    margin-right: 10px;
}

.iThought h3 {
    font-size: 22px;
    color: var(--main-color);
    font-weight: 600;
    margin-bottom: 20px;
    display: flex;
}

.iNews_top-title {
    margin-bottom: 0;
    font-size: 18px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: .01em;
    color: var(--main-color)
}

.iNews_top-btn {
    position: relative;
    top: -4px
}

.iNews_top-btn a {
    padding: 4px 15px 4px 0;
    font-size: 10px;
    font-weight: 500;
    text-decoration: none;
    color: var(--main-color);
    border-bottom: 1px solid var(--main-color);
    letter-spacing: .1em;
    background: url(../images/ico_arr_sm.svg) 100% 50%/8px auto no-repeat
}

.iNews_list li:not(:last-child) {
    margin-bottom: 7px
}

.iNews_list a {
    display: flex;
    color: var(--main-color);
    font-size: 14px;
    text-decoration: none
}

.iNews_list a .date {
    flex-shrink: 0;
    margin-right: 12px;
    font-family: var(--f-sen);
    letter-spacing: .01em
}

.iNews_list a .ttl {
    font-weight: 500;
    letter-spacing: -0.01em;
    display: -webkit-inline-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden;
    padding-right: 22px;
    background: url(../images/ico_arr_sm.svg) 100% 50%/8px auto no-repeat
}

.iMes {
    padding: 135px 0 190px;
    position: relative;
    background: url(../images/iMes_bg.png) center bottom/1920px auto no-repeat
}

.iMes_img li {
    position: absolute;
    z-index: 2
}

.iMes_img li:nth-child(1) {
    top: 41.15%;
    left: calc(50% - 743px)
}

.iMes_img li:nth-child(2) {
    top: 73.3%;
    left: calc(50% - 570px)
}

.iMes_img li:nth-child(3) {
    top: 18.7%;
    right: calc(50% - 697px)
}

.iMes_img li:nth-child(3)::before {
    content: "";
    position: absolute;
    top: -95px;
    left: -75px;
    width: 170px;
    aspect-ratio: 170/203;
    background: url(../images/leaf_img04.png) center/100% auto no-repeat
}

.iMes_img img {
    border-radius: 15px
}

.iMes_wrap {
    max-width: 630px;
    margin-left: auto;
    margin-right: auto
}

.iMes_heading {
    position: relative;
    margin-bottom: 49px;
    z-index: 2
}

.iMes_desc {
    position: relative;
    z-index: 2
}

.iMes_desc p {
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 3.123;
    text-align: center
}

.iProfile {
    padding: 78px 0 146px;
    position: relative
}

.iProfile::before {
    content: "";
    position: absolute;
    top: -144px;
    left: calc(50% - 252px);
    width: 92px;
    aspect-ratio: 92/137;
    background: url(../images/leaf_img03.svg) center/100% auto no-repeat
}

.iProfile::after {
    content: "";
    position: absolute;
    bottom: -43px;
    left: calc(50% - 960px);
    width: 2140px;
    aspect-ratio: 2140/261;
    background: url(../images/iProfile_bg.png) center/100% auto no-repeat;
    pointer-events: none;
    z-index: 2
}

.iProfile_heading {
    position: relative;
    margin-bottom: 54px
}

.iProfile_heading::before {
    content: "";
    position: absolute;
    top: -65px;
    right: calc(50% - 287px);
    width: 53px;
    aspect-ratio: 53/79;
    background: url(../images/leaf_img05.png) center/100% auto no-repeat
}

.iProfile_box {
    display: flex;
    column-gap: 65px
}

.iProfile_info {
    flex-shrink: 0;
    padding-top: 13px;
    width: 34.07%
}

.iProfile_info-img {
    margin-bottom: 27px;
    border-radius: 184px;
    border: 2px solid var(--main-color);
    overflow: hidden
}

.iProfile_info-name {
    text-align: center;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: .85;
    color: var(--main-color)
}

.iProfile_info-name .en {
    font-size: 14px;
    letter-spacing: .085em
}

.iProfile_content {
    flex-grow: 1
}

.iProfile_content .item {
    padding-left: 27px;
    padding-right: 27px
}

.iProfile_content .item:not(:last-child) {
    margin-bottom: 49px;
    padding-bottom: 47px;
    background: url(../images/ico_line.png) left bottom/16px 2px repeat-x
}

.iProfile_content .item_title {
    margin-bottom: 26px;
    padding: 3px 25px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 160px;
    max-width: 100%;
    min-height: 41px;
    border-radius: 21px;
    background: var(--main-color);
    font-size: 20px;
    font-family: var(--f-kaku);
    font-weight: 700;
    color: var(--white-color);
    line-height: 1.25;
    text-align: center
}

.iProfile_content .item_desc p {
    line-height: 1.45;
    letter-spacing: .055em;
    font-weight: 500
}

.iProfile_content .item_tbl tr:not(:last-child) th,
.iProfile_content .item_tbl tr:not(:last-child) td {
    padding-bottom: 11px
}

.iProfile_content .item_tbl th {
    white-space: nowrap;
    color: var(--main-color);
    vertical-align: top
}

.iProfile_content .item_tbl th,
.iProfile_content .item_tbl td {
    padding: 0;
    text-align: left;
    border: none;
    font-weight: 500
}

.iProfile_content .item_tbl td {
    padding-left: 15px;
    letter-spacing: .04em
}

.iTax {
    padding: 127px 0 224px;
    background: url(../images/iTax_bg.jpg) center/cover no-repeat
}

.iTax_wrap {
    display: flex;
    column-gap: 46px
}

.iTax_img {
    flex-shrink: 0;
    margin-left: -22px
}

.iTax_content {
    flex-grow: 1;
    padding-top: 13px
}

.iTax_sub {
    margin-bottom: 0px;
    font-size: 30px;
    font-family: var(--f-kaku);
    font-weight: 700;
    color: var(--white-color);
    line-height: 1.35;
    letter-spacing: .085em
}

.iTax_heading {
    margin-bottom: 19px;
    padding-bottom: 22px;
    font-size: 57px;
    font-family: var(--f-kaku);
    font-weight: 900;
    color: var(--white-color);
    line-height: 1.35;
    letter-spacing: .08em;
    border-bottom: 1px solid var(--white-color)
}

.iTax_list {
    margin-bottom: 20px;
    counter-reset: list-counter
}

.iTax_list li {
    display: flex;
    counter-increment: list-counter;
    font-size: 20px;
    font-family: var(--f-kaku);
    font-weight: 700;
    color: var(--white-color)
}

.iTax_list li:not(:last-child) {
    margin-bottom: 3px
}

.iTax_list li::before {
    flex-shrink: 0;
    padding-right: 25px;
    content: counter(list-counter, decimal-leading-zero);
    font-size: 68px;
    font-family: var(--f-sen);
    font-weight: 700;
    color: rgba(255, 255, 255, 0);
    letter-spacing: .01em;
    line-height: 1;
    -webkit-text-stroke: .5px var(--white-color);
    text-stroke: .5px var(--white-color)
}

.iTax_list li>span {
    padding-left: 32px;
    position: relative;
    display: flex;
    align-items: center
}

.iTax_list li>span::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 70%;
    transform: translateY(-50%);
    background: var(--white-color)
}

.iTax_note {
    position: relative;
    z-index: 2
}

.iTax_note::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 50%;
    transform: translate(-50%, -100%);
    width: 17px;
    aspect-ratio: 32/29;
    background: url(../images/ico_arr_border.png) center/100% auto no-repeat
}

.iTax_note-txt {
    padding: 13px 15px 14px;
    position: relative;
    border-radius: 10px;
    border-bottom: 1px solid var(--white-color);
    font-size: 30px;
    font-family: var(--f-kaku);
    font-weight: 700;
    color: var(--white-color);
    line-height: 1.5;
    letter-spacing: .025em;
    text-align: center;
    overflow: hidden
}

.iTax_note-txt .--char {
    color: #ff0
}

.iTax_note-txt .--word {
    position: relative
}

.iTax_note-txt .--word::before {
    content: "";
    position: absolute;
    top: 0px;
    left: calc(50% - 2px);
    transform: translateX(-50%);
    width: 5px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: #ff0
}

.iTax_note-txt::before,
.iTax_note-txt::after {
    content: "";
    position: absolute;
    top: 0;
    width: calc(50% - 8px);
    height: 100%;
    border-top: 1px solid var(--white-color);
    pointer-events: none
}

.iTax_note-txt::before {
    left: 0;
    border-left: 1px solid var(--white-color);
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px
}

.iTax_note-txt::after {
    right: 0;
    border-right: 1px solid var(--white-color);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px
}

.iGallery {
    margin: -115px auto;
    position: relative;
    z-index: 2
}

.iGallery::after {
    content: "";
    position: absolute;
    bottom: -85px;
    left: calc(50% - 429px);
    width: 100px;
    aspect-ratio: 100/120;
    background: url(../images/leaf_img06.png) center/100% auto no-repeat
}

.iGallery_list-item {
    margin: 0 15px;
    border-radius: 15px;
    overflow: hidden
}

.iGallery_list .slick-list {
    margin: 0 -15px
}

.iInno {
    padding: 0 50px;
    background: url(../images/iInno_bg.png) center/29px auto repeat
}

.iInno_wrap {
    padding: 220px 74px 105px;
    border-left: 2px solid var(--main-color);
    border-right: 2px solid var(--main-color);
    background: var(--white-color)
}

.iInno_heading {
    margin-bottom: 91px;
    position: relative
}

.iInno_heading::before {
    content: "";
    position: absolute;
    top: 21px;
    right: calc(50% - 406px);
    width: 26px;
    aspect-ratio: 26/53;
    background: url(../images/leaf_img08.svg) center/100% auto no-repeat
}

.iInno_heading::after {
    content: "";
    position: absolute;
    bottom: -20px;
    right: calc(50% - 368px);
    width: 46px;
    aspect-ratio: 46/61;
    background: url(../images/leaf_img07.svg) center/100% auto no-repeat
}

.iInno_list .item {
    padding-bottom: 70px;
    margin-bottom: 69px;
    display: flex;
    flex-direction: row-reverse;
    column-gap: 75px;
    border-bottom: 1px solid var(--main-color)
}

.iInno_list .img {
    flex-grow: 1;
    margin-right: min(max((100vw - 100%)/-2, -145px), -30px)
}

.iInno_list .img img {
    width: 100%;
    border-top-left-radius: 15px;
    border-bottom-left-radius: 15px
}

.iInno_list .content {
    width: 50.304%;
    padding-top: 3.75em;
    position: relative;
    z-index: 2
}

.iInno_list .content_num {
    margin-bottom: 0;
    position: absolute;
    top: 4px;
    right: -47px;
    font-size: 204px;
    font-family: var(--f-sen);
    font-weight: 700;
    color: #eefafc;
    letter-spacing: -0.04em;
    line-height: 1;
    z-index: -1
}

.iInno_list .content_title {
    padding-bottom: 16px;
    margin-bottom: 26px;
    position: relative;
    font-size: 34px;
    font-family: var(--f-kaku);
    font-weight: 900;
    color: var(--main-color);
    letter-spacing: .125em;
    line-height: 1.5
}

.iInno_list .content_title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 75px;
    height: 1px;
    background: url(../images/ico_line02.png) left center/6px auto repeat-x
}

.iInno_list .content_desc {
    margin-bottom: 33px
}

.iInno_list .content_desc p {
    text-align: justify;
    letter-spacing: .0175em;
    font-weight: 500
}

.iInno_list .content_btn {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 25px;
    z-index: 2
}

.iInno_list .content_btn li {
    width: calc((100% - 50px)/3);
    min-width: 312px
}

.iInno_list .content_btn a {
    width: 100%;
    min-width: auto;
    height: 100%
}

.iInno_box {
    margin-left: -31.5px;
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    width: calc(100% + 63px)
}

.iInno_box .item {
    position: relative;
    width: 33.3333333333%;
    padding: 0 28px
}

.iInno_box .item:nth-child(3n+2)::before,
.iInno_box .item:nth-child(3n+2)::after {
    content: "";
    position: absolute;
    top: 0;
    width: 1px;
    height: 100%;
    background: var(--main-color)
}

.iInno_box .item:nth-child(3n+2)::before {
    left: 0
}

.iInno_box .item:nth-child(3n+2)::after {
    right: 0
}

.iInno_box .img {
    margin-bottom: 14px;
    position: relative;
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 15px;
    overflow: hidden
}

.iInno_box .img .num {
    margin-bottom: 0;
    position: absolute;
    bottom: -11px;
    right: 13px;
    font-size: 70px;
    font-family: var(--f-sen);
    font-weight: 700;
    color: var(--white-color);
    line-height: 1;
    z-index: 2
}

.iInno_box .img picture {
    width: 100%;
    height: 100%
}

.iInno_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.iInno_box .content_title {
    margin-bottom: 12px;
    padding-bottom: 12px;
    position: relative;
    font-size: 20px;
    font-family: var(--f-kaku);
    font-weight: 700;
    color: var(--main-color);
    text-align: center;
    line-height: 1.5;
    letter-spacing: .04em
}

.iInno_box .content_title::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 75px;
    height: 1px;
    background: url(../images/ico_line02.png) left center/6px auto repeat-x
}

.iInno_box .content_list li {
    padding-left: 12px;
    position: relative;
    font-weight: 500;
    line-height: 1.465;
    letter-spacing: 0
}

.iInno_box .content_list li::before {
    content: "";
    position: absolute;
    top: .5em;
    left: 0;
    width: 7px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: var(--main-color)
}

.iInno_box .content_list li:not(:last-child) {
    margin-bottom: 7px
}

.iInfo {
    padding: 63px 0 70px;
    position: relative;
    background: #f3fbfd
}

.iInfo::before {
    content: "";
    position: absolute;
    top: -58px;
    width: 100%;
    height: 59px;
    background: url(../images/line_wave.png) center/1778px auto repeat-x;
    pointer-events: none
}

.iInfo_wrap {
    display: flex;
    column-gap: 46px
}

.iInfo_content {
    flex-shrink: 0;
    width: 230px
}

.iInfo_heading {
    margin-bottom: 35px;
    align-items: flex-start
}

.iInfo_heading .en::after {
    left: 0;
    transform: translateX(0)
}

.iInfo_btn a {
    padding: 7px 35px 7px 0;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    color: var(--main-color);
    border-bottom: 1px solid var(--main-color);
    letter-spacing: .075em;
    background: url(../images/ico_arr_sm.svg) 100% 50%/10px auto no-repeat
}

.iInfo_list {
    padding-top: 6px
}

.bg-key {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    height: 100%;
}

.bg-key .img {
    min-height: var(--min-height);
    max-height: var(--max-height);
}

.bg-key .img:nth-child(2) .box-ttl {
    top: -8em;
}

.iInfo_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 21px
}

.iInfo_list a {
    display: flex;
    flex-direction: column;
    border-radius: 10px;
    overflow: hidden;
    text-decoration: none;
    height: 100%;
}

.iInfo_list a .img {
    position: relative;
    background-repeat: no-repeat !important;
    background-position: center;
    background: #d4d4d4;
    width: 100%;
    aspect-ratio: 254/150
}

.iInfo_list a .img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.iInfo_list a .content {
    padding: 25px 20px;
    display: flex;
    flex-direction: column;
    background: var(--white-color);
    height: 100%;
}

.iInfo_list a .date {
    margin-bottom: 2px;
    font-size: 14px;
    font-family: var(--f-sen);
    font-weight: 500;
    color: var(--main-color);
    letter-spacing: .01em
}

.iInfo_list a .title {
    margin-bottom: 8px;
    font-size: 16px;
    font-family: var(--f-kaku);
    font-weight: 700;
    color: var(--main-color);
    letter-spacing: .01em;
    line-height: 1.35;
    display: -webkit-inline-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden
}

.iInfo_list a .desc {
    font-size: 13px;
    font-family: var(--f-kaku);
    font-weight: 400;
    color: var(--clr1);
    display: -webkit-inline-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    text-overflow: ellipsis;
    overflow: hidden
}

@media only screen and (min-width: 769px) {
    .iMes_img li:nth-child(1)::before {
        content: "";
        position: absolute;
        top: -55.7%;
        right: 12.7%;
        width: 44px;
        aspect-ratio: 44/89;
        background: url(../images/leaf_img01.png) center/100% auto no-repeat
    }
    .iMes_img li:nth-child(1)::after {
        content: "";
        position: absolute;
        top: -14.5%;
        right: -22%;
        width: 79px;
        aspect-ratio: 79/104;
        background: url(../images/leaf_img02.png) center/100% auto no-repeat;
        z-index: -1
    }
}

@media screen and (hover: hover) {
    .iBtn:hover {
        background: var(--main-color);
        box-shadow: none
    }
    .iBtn:hover::after {
        background-color: var(--white-color);
        background-image: url(../images/ico_arr_b.svg)
    }
    .iBtn:hover>span {
        color: var(--white-color)
    }
}

@media only screen and (min-width: 1921px) {
    .iMes {
        background-size: 100% auto
    }
}

@media only screen and (min-width: 1920px)and (max-width: 3840px) {
    .iInno_box .content_list li::before {
        width: 8px;
    }
}

@media only screen and (min-width: 769px)and (max-width: 1280px) {
    .home_page .key {
        --min-height: 685px;
        --max-height: 685px;
    }
    .iMes_img li:nth-child(1) {
        top: 41.15%;
        left: calc(50% - 693px);
    }
    .iInfo_list ul {
        font-size: 1.25vw;
    }
}

@media only screen and (min-width: 769px)and (max-width: 1279px) {
    .iMes_wrap {
        max-width: max(49.21875vw, 420px)
    }
    .iMes_desc p {
        font-size: max(1.25vw, 12px)
    }
    .iMes_img li:nth-child(1),
    .iMes_img li:nth-child(3) {
        width: max(22.42vw, 222px)
    }
    .iMes_img li:nth-child(1) {
        left: -9vw
    }
    .iMes_img li:nth-child(2) {
        left: 6vw;
        width: max(15.625vw, 160px)
    }
    .iMes_img li:nth-child(3) {
        right: -4vw
    }
    .iMes_img li:nth-child(3)::before {
        top: -34%;
        left: -22%;
        width: 59%
    }
    .iProfile::after {
        bottom: -3.36vw;
        left: calc(50% - 75vw);
        width: 167.19vw
    }
    .iInno_wrap {
        padding-left: 5.78vw;
        padding-right: 5.78vw
    }
    .iInno_list .item {
        column-gap: 5.86vw
    }
    .iInno_list .content_num {
        right: -0.2em;
        font-size: 15.94vw
    }
    .iInno_list .content_title {
        font-size: 2.65vw
    }
    .iInno_list .content_btn li {
        min-width: 260px
    }
    .iInno_list .content_btn a {
        padding: 10px 35px 11px 20px;
        min-height: 55px
    }
    .iInno_list .content_btn a::after {
        top: calc(50% - 12px);
        right: 12px;
        width: 24px;
        background-size: 8px auto
    }
    .iInno_list .content_btn a>span {
        font-size: 14px
    }
    .iInno_list .img img {
        min-height: 350px;
        object-fit: cover
    }
    .iInno_box {
        margin-left: -30px;
        width: calc(100% + 60px)
    }
    .iInno_box .item {
        padding: 0 2.25vw
    }
    .iInno_box .img .num {
        font-size: 5.47vw
    }
    .iInno_box .content_title {
        margin-bottom: .5em;
        padding-bottom: .5em;
        font-size: 1.85vw
    }
    .iInno_box .content_list li {
        padding-left: .94vw;
        font-size: 1.25vw
    }
    .iInno_box .content_list li::before {
        width: .425em
    }
    .iInno_box .content_list li:not(:last-child) {
        margin-bottom: .55vw
    }
    .iInfo_wrap {
        column-gap: 3.59vw
    }
    .iInfo_btn a {
        padding: 7px 25px 7px 0;
        font-size: 14px;
        background-size: 8px auto
    }
    .iInfo_list a {
        border-radius: .78vw
    }
    .iInfo_list a .content {
        padding: 1.95vw 1.56vw
    }
    .iInfo_list a .date {
        font-size: 1.09vw
    }
    .iInfo_list a .title {
        margin-bottom: .63vw;
        font-size: 1.25vw
    }
    .iInfo_list a .desc {
        font-size: 1.02vw
    }
    .wrapper::after {
        left: calc(50% - 75vw);
        width: 71.02vw
    }
    .iThought {
        padding: 0 50px;
    }
    .iThought_wrap {
        padding-left: 5.78vw;
        padding-right: 5.78vw;
    }
    .txt-main {
        left: 2em;
        bottom: 1em;
        font-size: 4.375em;
    }
}

@media only screen and (min-width: 769px)and (max-width: 1160px) {
    .iTax_img {
        margin-left: -17px;
        width: 46.57%
    }
    .iTax_sub {
        font-size: 2.74vw
    }
    .iTax_heading {
        font-size: 4.85vw
    }
    .iTax_list li {
        font-size: 1.56vw
    }
    .iTax_list li::before {
        padding-right: .4em;
        font-size: 5.31vw
    }
    .iTax_list li>span {
        padding-left: 1.6em
    }
    .iTax_note-txt {
        font-size: 2.6vw
    }
}

@media only screen and (min-width: 769px)and (max-width: 1024px) {
    .home_page .key {
        --min-height: 600px
    }
    .home_page .key_wrap {
        padding: 0 5vw
    }
    .home_page .key .title {
        font-size: max(4vw, 50px)
    }
    .home_page .key .sub {
        font-size: max(2vw, 18px)
    }
    .bg-key .img:nth-child(3) .box-ttl {
        top: -7em;
    }
    .sec_heading.--large .jp {
        font-size: 22px
    }
    .sec_heading .en {
        font-size: 60px
    }
    .iMes_img li {
        scale: .75
    }
    .iMes_img li:nth-child(2) {
        left: -1vw;
        top: 65%
    }
    .iInno_box .img .num {
        bottom: -6px;
    }
    .iThought_heading::before {
        right: calc(50% - 316px);
    }
    .iThought_heading::after {
        right: calc(50% - 278px);
    }
    .iThought_content:before {
        top: -40px;
        left: calc(50% - 319px);
        width: 60px;
    }
    .txt-main span {
        margin-top: -20px;
        font-size: 21px;
    }
}

@media only screen and (min-width: 769px)and (max-width: 992px) {
    .sec_heading.--large .jp {
        font-size: 20px
    }
    .sec_heading .en {
        font-size: 54px
    }
    .sec_heading .jp {
        font-size: 14px
    }
    .iProfile_box {
        column-gap: 50px
    }
    .iProfile_content .item {
        padding-left: 20px;
        padding-right: 20px
    }
    .iProfile_content .item:not(:last-child) {
        margin-bottom: 40px;
        padding-bottom: 40px
    }
    .iProfile_content .item_title {
        min-width: 140px;
        min-height: 38px;
        font-size: 18px
    }
    .iTax_note-txt .--word::before {
        width: 4px
    }
    .iGallery::after {
        left: 50px
    }
    .iInno_heading::before {
        right: 0
    }
    .iInno_heading::after {
        right: 40px
    }
    .iMes {
        background: url(../images/iMes_bg.png) right -300px bottom / 1920px auto no-repeat;
    }
    .iInfo_list ul {
        font-size: 1.2vw;
    }
    .iInfo_list a .img {
        width: 100% !important;
    }
}


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