
h2 {
    font-family: var(--fontOrp);
    font-size: 3.125rem;
}

#ZEH img {vertical-align: top;}

.sitatuki {font-size: 75%;}

/*　-----------------------　メインビジュアル　-----------------------　*/

#MainVisual {
    padding-top: 70px;
    position: relative;
}
#MainVisual figure {
    width: 100%;
    height: calc(100dvh - 70px);
    background-image: url(../images/zeh/main.jpg);
    background-position: bottom center;
    background-size: cover;
}
#MainVisual figure img {
    width: 100%;
    height: calc(100vh - 70px);
    mix-blend-mode: multiply;
}
#MainVisual .main_logo {
    font-family: var(--fontCiz);
    position: absolute;
    top: 50%;
    transform: translateY(-45%);
    left: 8vw;
    color:#fff;
    font-size: max(2.5vw,30px);
    letter-spacing: 0.1em;
    filter: drop-shadow(0 0 5px #000);
    -webkit-filter: drop-shadow(0 0 5px #000);
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {


}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {

#MainVisual {
    padding-top: 70px;
    position: relative;
}
#MainVisual figure {
    width: 100%;
    height: calc(100dvh - 70px - 20vw);
/*
    background-image: url(../images/zeh/main_sp.jpg);
*/
}
#MainVisual figure img {
    width: 100%;
    height: calc(100vh - 70px - 20vw);
    mix-blend-mode: multiply;
}
#MainVisual figure figcaption {
    bottom:1%;
}
#MainVisual .main_logo {
    top: 18%;
    left:inherit;
    width: 100%;
    text-align: center;
    font-size:10vw;
    letter-spacing: 0;
}

}



/*　-----------------------　共通 2　-----------------------　*/

.zeh_introduction {
    padding-top: 80px;
    padding-bottom: 80px;
    padding-left: calc((100% - 1000px) / 2);
    padding-right: calc((100% - 1000px) / 2);
}
.zeh_introduction ul {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    row-gap: 40px;
}
.zeh_introduction ul li {
    width: 300px;
    line-height: 1.2;
}
.zeh_introduction ul li div:nth-child(2) {
    margin-top: 10px;
}
.zeh_introduction ul li h4 {
    margin-top: 0.5em;
    font-size: 1.1rem;
    color: var(--ZEH);
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

.zeh_introduction {
    padding-top: 8vw;
    padding-bottom: 8vw;
    padding-left: 5%;
    padding-right: 5%;
}

.zeh_introduction ul {
    row-gap: 4vw;
}
.zeh_introduction ul li {
    width: 29vw;
}
.zeh_introduction ul li div:nth-child(2) {
    margin-top: 1vw;
}

}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {

.zeh_introduction {
    width: 90%;
    padding-top: 8vw;
    padding-bottom: 8vw;
    padding-left: 5%;
    padding-right: 5%;
}
.zeh_introduction p {
    margin-top: 2.5vw;
    margin-bottom: 8vw;
}
.zeh_introduction ul {
    display: block;
    row-gap: 5vw;
}
.zeh_introduction ul li {
    width: 85%;
    margin: 0 auto 5vw;
}
.zeh_introduction ul li div:nth-child(2) {
    margin-top: 10px;
}
}




/*　-----------------------　共通 1　-----------------------　*/

.cap {font-size: 65%;}
sup {font-size: 50%;}

/* -------- */
.head_cth { font-size:  1.75rem;font-weight: 500;}/*28px*/

/* -------- */
.zeh1000 {
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

.head_cth { font-size: clamp(1.458rem, 0.649rem + 2vw,  1.75rem);}/*28px*/

/* -------- */

.zeh1000 {
    width: 90%
}
}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
.head_cth { font-size: clamp(1.263rem, 1.139rem + 0.66vw, 1.458rem);}/*28px*/

}







/*　-----------------------　補足コンテンツ　-----------------------　*/

.supplement {
    background-color: var(--Color5);
    padding: 40px 0;
}
.supplement > div {
    width: 1000px;
    margin: auto;
    display: flex;
    justify-content: space-between;
}
.supplement > div > figure {
    width: 35%;
}
.supplement > div > div {
    width: 62%;
    display: flex;
    align-items: center;
}
.supplement > div > div > div > h3{
    margin-bottom: 1em;
    color: var(--ZEH);
}


/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

.supplement > div {
    width: 95vw;
    margin: auto;
}

}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
.supplement > div {
    flex-direction:column;
}
.supplement > div > div {
    margin-bottom: 1.2em;
}
.supplement > div > div > .cap{
    margin-bottom: 1em;
}
.supplement > div > figure {
    width: 70%;
    margin-left: auto;
    margin-right: auto;
}
.supplement > div > div {
    width: 100%;
}
}









/*　-----------------------　ABOUT　-----------------------　*/

#ABOUT {
    background-color: var(--Color5);
    padding-bottom: 110px;
}


#ABOUT .head_copy {
    display: flex;
    justify-content: center;
}
#ABOUT .head_copy .head_cth {
    color: var(--ZEH);
    padding: 5em 0 2em 0;
    line-height: 2.1em;
    font-weight: 300;
}


#ABOUT .head_logo {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap:40px;
    border-bottom: 1px solid var(--ZEH);
    padding-bottom: 70px;
    margin-bottom: 80px;
}

#ABOUT .head_logo img {
    width: 180px;
}

#ABOUT .head_txt h3 {margin-bottom: 1em;}
#ABOUT .head_txt p  {margin-bottom: 3em;}

/*-----*/

#ABOUT .head_fig {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#ABOUT .head_fig img:not(:nth-of-type(2)) {width: 47%;}
#ABOUT .head_fig img:nth-of-type(2) {width: 4.2%;}


/* ----------------------- */
/* 1000 */
/* ----------------------- */
@media screen and (max-width: 1000px) {
#ABOUT .head_logo img {
    width: 20%;
}
}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {


#ABOUT .head_txt h3 span {font-size: 80%;}
#ABOUT .head_logo img {
    width: 30%;
}
#ABOUT .head_logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap:5vw;
}/*-----*/

#ABOUT .head_fig {
    flex-direction: column;
    gap:3vw;
}
#ABOUT .head_fig img:not(:nth-of-type(2)) {width: 100%;}
#ABOUT .head_fig img:nth-of-type(2) {width: 12%;}

}



/*　-----------------------　MERIT　-----------------------　*/
#MERIT {
    width: 100%;
    background-image: url(../images/zeh/main.jpg);
    background-position: bottom center;
    background-size: cover;
    position: relative;
    text-align: center;
}
#MERIT .whiteBG {
    background-color: rgba(255,255,255,0.9);
    position: absolute;
    width: 100%;
    height: 100%;
}
#MERIT *:not(.whiteBG) {
    z-index: 7;
    position: relative;
}
#MERIT .cth1 {
    color:var(--ZEH);
    padding-top: 3em;
}
#MERIT .cth1::after {
    content: "";
    display: block;
    width: 2.3em;
    border-bottom: 1px solid var(--ZEH);
    margin: 0.5em auto;
}
#MERIT .merit3 {
    display: flex;
    justify-content: space-between;
    padding: 50px 0;
}
#MERIT .merit3 li {
    width: 30%;
}
#MERIT .merit3 img {
    margin-bottom: 1.5em;
    filter: drop-shadow(1px 1px 5px rgba(0, 115, 119, 0.8));
    -webkit-filter: drop-shadow(1px 1px 5px rgba(0, 115, 119, 0.8));
}

/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {

}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
#MERIT .merit3 {
    flex-direction: column;
}
#MERIT .merit3 li {
    width: 70%;
    margin: 0 auto 3em auto;
}
}




/*　-----------------------　MERIT 共通　-----------------------　*/
.sec_ttl_B {
    display: flex;
    margin: 60px 0;
}

.sec_ttl_B > * {
    width: 50%;
}

.sec_ttl_B .sec_txt_warp {
    display: flex;
    justify-content: flex-end;
}
.sec_ttl_B .sec_txt {
    width: 460px;
    margin-right: 40px;
}
.sec_ttl_B figure img{
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.sec_ttl_B figure img.img1{object-position: center right;}
.sec_ttl_B figure img.img2{object-position: bottom left;}
.sec_ttl_B figure img.img3{object-position: bottom right;}


.sec_ttl_B .sub_h2 {
    display:inline-block;
    color: var(--ZEH);
    border-bottom: 1px solid var(--ZEH);
    margin-bottom: 0.5em;
    font-size: 80%;
}
.sec_ttl_B .sub_h2 span {font-size: 80%;}
.sec_ttl_B .main_h2 span {font-size: 70%;}

.sec_ttl_B h2 {margin-bottom: 1em;}
.sec_ttl_B h3 {margin-bottom: 1em;}

/* テキスト右対応*/
.sec_ttl_B.sec_ttl_R .sec_txt_warp {order: 2}
.sec_ttl_B.sec_ttl_R figure {order: 1;}
.sec_ttl_B.sec_ttl_R .sec_txt {
    margin-right:auto;
    margin-left: 40px;
}


/* ----------------------- */
/* 1000*/
/* ----------------------- */
@media screen and (max-width: 1000px) {
.sec_ttl_B .sec_txt {
    width:auto;
    margin-right: 2.5vw;
    padding-left: 2.5vw;
}
.sec_ttl_B p br{display: none;}
}

/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
.sec_ttl_B {
    margin: 6vw 0;
    flex-direction: column;
}
.sec_ttl_B > * {
    width: 95%;
    margin: auto;
}
.sec_ttl_B p {margin-bottom: 1em;}

/* テキスト右対応*/
.sec_ttl_B.sec_ttl_R .sec_txt_warp {order: 1}
.sec_ttl_B.sec_ttl_R figure {order: 2;}
.sec_ttl_B.sec_ttl_R .sec_txt {
    margin-left: auto;
}
}







/*　-----------------------　PYRAMID　-----------------------　*/


#PYRAMID {
    background-color: var(--Color5);
}
#PYRAMID > div {
    padding: 50px;
    margin-bottom: 3em;
}

#PYRAMID .pyd_ttl {
    display: flex;
    justify-content: space-between;
}
#PYRAMID .pyd_ttl > h3 {
    color: var(--ZEH);
    width: 48%;
}
#PYRAMID .pyd_ttl > div {
    width: 48%;
}
#PYRAMID .pyd_cth {
    margin-bottom: 0.5em;
}
#PYRAMID .cap {
    margin-top: 1em;
}
#PYRAMID .pyd_ttl .cap {
	text-align: right;
}

/* ----------------------- */
/* 1000 */
/* ----------------------- */
@media screen and (max-width: 1000px) {
#PYRAMID > div {
    padding: 2.5%;
}
#PYRAMID .pyd_ttl {
    flex-direction: column;
}
#PYRAMID .pyd_ttl > h3 {
    width: 100%;
}
#PYRAMID .pyd_ttl > div {
    width: 60%;
    margin-left: auto;
    margin-right: auto;
}
#PYRAMID .pyd_cth {
    margin-top: 2em;
}
#PYRAMID .clsBR {
    display: none;
}
}
/* ----------------------- */
/* sp */
/* ----------------------- */
@media screen and (max-width: 767px) {
#PYRAMID .pyd_ttl > div {
    width: 100%;
}
#PYRAMID .cap {
    letter-spacing: 0;
}
#PYRAMID .pyd_ttl .cap {
	text-align: left;
}


}