.home-heading { font-size: 3.0rem; font-weight: 700; text-align: center; letter-spacing: 0.1em; line-height: 1; }
@media screen and (max-width: 750px) { .home-heading { font-size: 2.4rem; } }
.home-heading span { font-size: 1.4rem; text-transform: uppercase; }

.home-btn { display: block; text-decoration: none; width: 100%; max-width: 600px; margin-inline: auto; padding: 15px 30px; background: #07512e url("../img/common/ico_arrow.svg") no-repeat right 15px center; background-size: 15px auto; font-size: 2.0rem; font-weight: 700; text-align: center; color: #fff; }
@media screen and (max-width: 750px) { .home-btn { padding-inline: 2rem; background-position: right 0.5rem center; background-size: 1rem auto; font-size: 1.6rem; } }

.home-top { padding-block: 50px; background: url("../img/common/top_bg001.png") no-repeat center center; background-size: 100% 100%; }
@media screen and (max-width: 750px) { .home-top { padding-block: 6.25%; background-image: url("../img/common/sp/top_bg001.png"); } }
.home-top .home-top-in { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .home-top .home-top-in { padding: 0 6.25%; } }
.home-top .home-top-heading { margin-bottom: 40px; color: #fff; font-size: 3rem; font-weight: 700; text-align: center; }
@media screen and (max-width: 750px) { .home-top .home-top-heading { margin-bottom: 3.5714285714%; padding-bottom: 3.5714285714%; font-size: 1.8rem; border-bottom: 3px solid #ffecbf; } }
.home-top .home-top-heading span { padding-bottom: 10px; border-bottom: 3px solid #ffecbf; }
@media screen and (max-width: 750px) { .home-top .home-top-heading span { padding-bottom: 0; border-bottom: none; } }
.home-top .home-top-txt { margin-bottom: 40px; color: #fff; font-size: 2.5rem; text-align: center; }
@media screen and (max-width: 750px) { .home-top .home-top-txt { margin-bottom: 5.7142857143%; font-size: 1.7230769231rem; } }
.home-top a { background-color: #ffecbf; background-image: url("../img/common/ico_arrow_gr.svg"); color: #07512e; }

.home-column { padding: 60px 0 100px; }
@media screen and (max-width: 750px) { .home-column { padding: 7.5% 0 12.5%; } }
.home-column .home-column-in { width: 100%; max-width: 1336px; margin-inline: auto; padding-inline: 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .home-column .home-column-in { padding-inline: 6.25%; } }
.home-column .home-heading { margin-bottom: 50px; color: #0E5233; }
@media screen and (max-width: 750px) { .home-column .home-heading { margin-bottom: 7.1428571429%; } }
.home-column .column-menu { margin-bottom: 40px; }
.home-column .column-list { gap: 0 2.3919753086%; margin-bottom: 70px; }
@media screen and (max-width: 750px) { .home-column .column-list { gap: 30px 5.0397877984%; } }
.home-column .column-list li { width: 23.1481481481%; }
@media screen and (max-width: 750px) { .home-column .column-list li { width: 47.4801061008%; } }

.home-vision { padding-block: 70px; background: url("../img/home/vision_bg001.png") no-repeat center center; background-size: 100% 100%; }
@media screen and (max-width: 750px) { .home-vision { padding-block: 5%; } }
.home-vision .home-vision-in { position: relative; max-width: 1280px; margin-inline: auto; padding-inline: 20px; }
@media screen and (max-width: 750px) { .home-vision .home-vision-in { padding-inline: 6.25%; } }
.home-vision .home-vision-ttl { position: absolute; top: 35px; left: 0; width: 100%; color: #fff; font-size: 4rem; font-weight: 700; line-height: 1.2; text-align: center; }
@media screen and (max-width: 750px) { .home-vision .home-vision-ttl { position: static; margin-bottom: 5.7142857143%; font-size: 2.1538461538rem; } }
.home-vision .home-vision-btn { position: relative; margin-top: -90px; }
@media screen and (max-width: 750px) { .home-vision .home-vision-btn { margin-top: 5.7142857143%; } }
@media screen and (max-width: 750px) { .home-vision .home-vision-btn .home-btn { border: 1px solid #fff; background-color: transparent; } }

.home-nav { position: relative; padding-top: 80px; padding-bottom: 115px; }
@media screen and (max-width: 750px) { .home-nav { padding-top: 8.5714285714%; padding-bottom: 21.4285714286%; } }
.home-nav::before, .home-nav::after { z-index: 0; content: ''; position: absolute; top: 50%; transform: translateY(-50%); }
@media screen and (max-width: 750px) { .home-nav::before, .home-nav::after { display: none; top: initial; bottom: 0; transform: translateY(0); } }
.home-nav::before { left: 0; width: 539px; aspect-ratio: 539 / 1037; background: url("../img/home/nav_bg001.png") no-repeat left top; background-size: contain; }
@media screen and (max-width: 750px) { .home-nav::before { width: 148px; background-size: cover; } }
.home-nav::after { right: 0; width: 497px; aspect-ratio: 497 / 1086; background: url("../img/home/nav_bg002.png") no-repeat right top; }
@media screen and (max-width: 750px) { .home-nav::after { width: 148px; background-size: cover; } }
.home-nav .home-nav-in { z-index: 99; position: relative; max-width: 1140px; margin-inline: auto; padding-inline: 30px; }
.home-nav .home-nav-main li { margin-bottom: 30px; }
.home-nav .home-nav-list { display: flex; margin-bottom: 100px; gap: 0 7.4074074074%; }
@media screen and (max-width: 750px) { .home-nav .home-nav-list { flex-direction: column; gap: 40px 0; margin-bottom: 8.5714285714%; } }
.home-nav .home-nav-list li { flex: 1; }
@media screen and (max-width: 750px) { .home-nav .home-nav-list li { padding-right: 30px; } }
.home-nav .home-nav-list li a { position: relative; display: block; text-decoration: none; }
.home-nav .home-nav-list li a::after { z-index: 1; content: ''; position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 25px); margin-top: 25px; margin-left: 30px; background: url("../img/home/nav_bg003.png") no-repeat center center; background-size: 100% 100%; }
.home-nav .home-nav-list li figure { position: relative; z-index: 10; }
.home-nav .home-nav-list li p { position: relative; z-index: 10; padding: 20px 15px 20px 50px; font-size: 2.4rem; font-weight: 500; color: #fff; }
@media screen and (max-width: 750px) { .home-nav .home-nav-list li p { font-size: 1.8461538462rem; } }
.home-nav .home-nav-sns { z-index: 10; position: relative; display: flex; align-items: center; justify-content: center; gap: 0 56px; }
@media screen and (max-width: 750px) { .home-nav .home-nav-sns { justify-content: space-between; width: 40%; margin: 0 auto; gap: 0 11.4285714286%; } }
.home-nav .home-nav-sns li { width: 50px; }
@media screen and (max-width: 750px) { .home-nav .home-nav-sns li { width: 35.7142857143%; } }

/*# sourceMappingURL=home.css.map */
