@charset "utf-8";
/* CSS Document */

/*
* COMMON
******************************************************/
.index-heading {
    color: var(--color-theme-primary);
    font-size: 3rem;
}
.layer-sp {
    display:none;
}
@media screen and (max-width:880px) {
    .index-heading {
        font-size: 1.8rem;
    }
    .layer-pc {
        display:none;
    }
    .layer-sp {
        display:block;
    }
}

/*
* INEDEX HEAD
******************************************************/
.index-head {
    background: url(../img/index/bg-header.webp) no-repeat top left / contain, var(--color-palegreen);
    padding: 153px 0 0 0;
    height: max(524px);
}
.index-head-content {
    position: relative;
    z-index: 2;
}
.index-head-catch p {
    font-size: 4rem;
    color: var(--color-theme-primary);
    margin: 0 0 20px;
}
.index-head-copy {
    font-size: 2.4rem;
    color: var(--color-menu-hover);
    line-height: 1.6;
}
.index-head-copy p:last-child {
    margin: 0 0 0 2em;
}
.index-head-copy span {
    margin: 0 0 0 1em;
}
.index-head-layer01 {
    position: absolute;
    left: 0;
    top: 450px;
    z-index: 1;
}
.index-head-layer02 {
    position: absolute;
    z-index: 1;
    left: 46%;
    top: 260px;
}
@media screen and (min-width:880px) and (max-width:1180px) {
    .index-head-layer01,
    .index-head-layer01 img {
        width: max(413px);
    }
    .index-head-layer02 {
        left: inherit;
        right: 0;
    }
    .index-head-layer02,
    .index-head-layer02 img {
        width: max(483px);
    }
}
@media screen and (max-width:880px) {
    .index-head {
        background: url(../img/index/bg-header-sp.webp) no-repeat bottom left / cover, var(--color-palegreen);
        padding: 153px 0 0 0;
        height: min(240px);
    }
    .index-head-catch {
        margin: 50px 0 0 0;
        text-align: center;
    }
    .index-head-catch p {
        font-size: 2.3rem;
    }
    .index-head-copy {
        font-size: 1.5rem;
        text-align: center;
        line-height: 1.25;
        margin: -10px 0 0 0;
    }
    .index-head-layer01 {
        bottom: inherit;
        top: 280px;
    }
    .index-head-layer01 img {
        width: 160px;
    }
    .index-head-layer02 {
        top: 20px;
        right: 0px;
        left:inherit;
    }
    .index-head-layer02 img {
        width:280px;
    }
}

/*
* ABOUT
******************************************************/
.index-about {
    background: var(--color-palegreen);
    padding: 100px 0 60px 0;
}
.index-about-content-inner {
    margin: 56px 0 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.index-about-content-desc p {
    line-height: 2.3;
}
.index-about-button {
    margin: 40px 0;
}
@media screen and (max-width:880px) {
    .index-about {
        padding: 0 0 40px 0;
    }
    .index-about-content-inner {
        margin: 40px 0 0 0;
        display: block;
    }
    .index-about-content-figure {
        text-align: center;
        margin: 40px 0 0 0;
    }
    .index-about-content-desc p {
        line-height: 2;
    }
    .index-about-button {
        margin: 20px 0;
    }
}
/*
* EFFEICACY
******************************************************/
.index-efficacy {
    background: url(../img/common/bg-logo.webp) no-repeat top center / contain, var(--color-mintgreen);
    background-size: 100%;
    padding: 80px 0;
}
.index-efficacy-panels {
    margin: 60px 0 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    background: var(--color-default);
    padding: 26px;
    border-radius: 32px
}
.index-efficacy-panel-thumb img {
    width: 100%
}
.thumb01 img {
    border-radius: 24px 0 0 0;
}
.thumb02 img {
    border-radius: 0 24px 0 0;
}
.index-efficacy-panel-desc {
    color: var(--color-default);
    padding: 30px 40px;
    height: min(296px);
}
.index-efficacy-panel-desc h3 {
    font-weight:var(--font-normal);
    font-size: 2.3rem;
    margin: 0 0 1em 0;
    text-align: center;
}
.index-efficacy-panel-desc li {
    padding-left: 1.55em;
    text-indent: -1.55em;
}
.left-panel {
    background:var(--color-darkgreen);
    border-radius: 0 0 0 24px;
}
.right-panel {
    background:var(--color-bluegreen);
    border-radius: 0 0 24px 0;
}
.right-panel ol {
    margin: auto;
    width: 160px;
}
.right-panel li {
    margin: 0 0 2.25em 0;
}
@media screen and (max-width:880px) {
    .index-efficacy {
        padding: 40px 0;
    }
    .index-efficacy-panels {
        display: block;
        background: transparent;
        padding: 0;
        border-radius: none;
        margin: 53px 0 40px 0;
    }
    .index-efficacy-panel-desc h3 {
        font-size: 1.8rem;
        margin: 0 0 1.55em 0;

    }
    .thumb01 img {
        border-radius: 24px 24px 0 0;
    }
    .thumb02 img,
    .left-panel {
        border-radius: 0;
    }
    .right-panel {
        border-radius: 0 0 24px 24px;
    }
    .index-efficacy-panel-desc {
        height: auto;
    }
    .right-panel ol {
        width: 136px;
    }
}

.index-middle-image {
    position: relative;
}
.index-middle-bg {
    width: 100%;
    position: relative;
    z-index:0;
}
.index-middle-layer01 {
    position: absolute;
    z-index:2;
}
.index-middle-layer02,
.index-middle-layer03 {
    position: absolute;
    z-index:1;
}
.index-middle-layer01 {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: max-content;
}
.index-middle-layer02 {
    top: -150px;
    right: 0;
}
.index-middle-layer03 {
    bottom:0;
    left: 0;
}
@media screen and (min-width:880px) and (max-width:1200px) {
    .index-middle-layer02 {
        width: 180px;
        top: -70px;
    }
    .index-middle-layer03 {
        width: 260px;
    }
}
@media screen and (max-width:880px) {
    .index-middle-layer01 {
        width: max(280px, 70%)
    }
    .index-middle-layer02 {
        width: 90px;
        top: -30px;
    }
    .index-middle-layer03 {
        width: 100px;
    }
}


/*
* DEV
******************************************************/
.index-develop {
    background:var(--color-theme-secondary);
    padding: 100px 0;
}
.index-develop-content {
    margin: 100px 0 60px 0;
    position: relative;
}
.index-develop-content-desc {
    padding: 30px 50px;
    background: var(--color-default);
    border-radius: 16px;
    width: max(460px);
    height: min(480px);
    position: relative;
    z-index: 4;
    line-height: 2.25;
}
@media screen and (max-width:880px) {
    .index-develop-content {
        margin: 50px 0 40px 0;
        position: relative;
    }
    .index-develop {
        padding: 40px 0;
    }
    .index-develop-content-desc {
        width: auto;
        height: auto;
        padding: 20px;
    }
}

/*
* DEV LAYER
******************************************************/
.index-develop-layer01,
.index-develop-layer02,
.index-develop-layer03 {
    position: absolute;
    z-index: 0;
}
.index-develop-layer01 {
    top: -100px;
    left: -100px;
}
.index-develop-layer02 {
    top: -30px;
    right: 50px;
}
.index-develop-layer03 {
    top: 300px;
    right: 190px;
}
@media screen and (max-width:880px) {
    .index-develop-layer01 {
        top: -20px;
    }
    .index-develop-layer02 {
        position: static;
        margin: 40px 0;
        text-align: center;
    }
    .index-develop-layer03 {
        display: none;
    }
}

/*
* BANNER
******************************************************/
.index-banner {
    background: var(--color-theme-secondary);
    padding: 0 0 260px 0;

}
.index-banner-content {
    max-width: var(--content-size-page);
    margin: auto;
}
.index-banner-content li {
    margin:0 0 24px 0;

}