@charset "utf-8";

.contents_mv .cap {
    bottom: 65px;
    text-align: right;
    line-height: 1.3;
}
.subcontents_ttl{
    z-index: 1;
}
.item{
    position: absolute;
}
.con_item{
        position: absolute;
    top: 18%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 60%;
}

.intro {
    background-image: url(../image/intro_bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 88px 0 40px;
    position: relative;
}
.intro h2 {
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.4;
    text-align: center;
    color: var(--green1);
}
.intro h2 span {
    font-size: 130%;
}
.intro p {
    font-size: 1.4rem;
    text-align: center;
    color: var(--green1);
    margin-top: 24px;
}
.intro .item01{
    width: 60px;
    top: 15px;
    right: 6px;
}
.intro .item02{
    width: 40px;
    top: 7px;
    left: 16px;
}
.intro .item03{
    width: 35px;
    top: 50px;
    right: 34px;
}
.intro .item04{
    width: 35px;
    bottom: 0;
    right: 34px;
    transform: rotate(228deg);
}
.intro .item05{
    width: 38px;
    bottom: -22px;
    right: 61px;
    transform: rotate(336deg);
}
.contents_box {
    position: relative;
}

.contents_box .main_ttl_wrap {
    position: relative;
    background-repeat: no-repeat;
    background-size: 100%;
    background-position: bottom center;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 90%;
    margin: auto;
    z-index: 1;
    margin-bottom: 48px;
    margin-top: 48px;
}
.contents_box .main_ttl {
    text-align: center;
    color: var(--light);
    font-size: 2.4rem;
    line-height: 1.5;
    padding-bottom: 44px;
}
.contents_box dl{
    position: relative;
    margin-bottom: 16px;
}
.contents_box dt{
    text-align: center;
    font-size: 2.0rem;
    color: var(--green1);
    line-height: 1.4;
    margin-top: 32px;
    padding-bottom: 16px;
}
.contents_box dd{
    text-align: center;
    font-size: 1.3rem;
    line-height: 2;
}
.contents_box dd small{
    font-size: 60%;
}
.contents_box .item01{
    width: 61px;
    top: 14px;
    left: -19px;
}
.contents_box .item02{
    width: 30px;
    top: 33px;
    left: 43px;
}
.contents_box .item03{
    width: 30px;
    bottom: 33px;
    right: -10px;
    transform: rotate(256deg);
}
.zeh_contents{
    margin-top: 40px;
}
.zeh_contents ul{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 0;
}
.zeh_contents li{
    flex-basis: 100%;
    display: flex;
}
.zeh_contents li:nth-of-type(1){
    background: #81AF9B;
background: radial-gradient(circle, rgba(129, 175, 155, 1) 0%, rgba(104, 161, 152, 1) 100%);
}
.zeh_contents li:nth-of-type(2){
    background: #92B8C4;
background: radial-gradient(circle, rgba(146, 184, 196, 1) 0%, rgba(123, 171, 185, 1) 100%);
}
.zeh_contents li:nth-of-type(3){
    background: #A8A3B2;
background: radial-gradient(circle, rgba(168, 163, 178, 1) 0%, rgba(154, 145, 168, 1) 100%);
}
.zeh_contents li .img{
    flex-basis: 50%;
}
.zeh_contents li .txt{
    flex-basis: 50%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px 0;
    padding: 10px;
    position: relative;
    background-image: url(../image/zeh_content_bg.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50%;
}
.zeh_contents li .txt .ttl{
    position: relative;
}
.zeh_contents li:nth-of-type(1) .txt .ttl{
    width: 60px;
}
.zeh_contents li:nth-of-type(2) .txt .ttl{
    width: 90px;
}
.zeh_contents li:nth-of-type(3) .txt .ttl{
    width: 85px;
}
.zeh_contents li .txt p {
    text-align: center;
    font-size: 1.2rem;
    line-height: 1.4;
    color: var(--light);
    position: relative;
}
.whats_zeh{
    margin-top: 40px;
}
.whats_zeh dt{
    width: 300px;
    text-align: center;
    display: block;
    margin: auto;
}
.whats_zeh_contents{
    background-image: url(../image/zeh_bg.png);
    background-size: cover;
    padding: 32px 16px;
    border-radius: 24px;
    margin-top: 32px;
}
.whats_zeh_contents .img{
    margin-bottom: 24px;
}
.eco dl + .smallcap{
    text-align: right;
}
.eco_contents{
    margin-top: 32px;
}
.eco_box{
    border-top: 1px dashed var(--dark);
    border-bottom: 1px dashed var(--dark);
    padding: 32px 0;
    position: relative;
}
.eco_box:nth-of-type(2){
    border-top: none;
}
.eco_box h5{
    text-align: center;
    display: block;
    margin: auto;
    width: 260px;
}
.eco_box p{
    text-align: center;
    font-size: 1.3rem;
    line-height: 2;
    margin-top: 16px;
}
.eco_box p small{font-size: 60%;}
.eco_box .smallcap{
    text-align: center;
}
.eco_box .item01{
    top: 33px;
    left: 7px;
    width: 36px;
}
.eco_box .item02{
    top: 30px;
    right: 0;
    left: unset;
    width: 30px;
    transform: rotate(225deg);
}
.eco_box .item03{
       top: 54px;
    bottom: unset;
    right: 11px;
    left: unset;
    width: 30px;
    transform: rotate(319deg);
}

.smallcap a,
.page-notes a{
    border-bottom: 1px solid var(--green1);
    color: var(--green1);
    word-wrap: break-word; /* 古いブラウザ対応 */
  overflow-wrap: break-word; /* 推奨 */
  
  /* 単語の途中でも改行する設定 */
  word-break: break-all;
}


@media (hover: hover){}


/* PC */

@media screen and (min-width: 768px) {

.con_item {
    top: 47%;
    left: 53%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 35%;
}
.intro {
    background-position: bottom;
}
.intro h2 {
    font-weight: 500;
    font-size: 3.2rem;
    line-height: 1.4;
    text-align: center;
    color: var(--green1);
}
.contents_mv .cap {
    bottom: 24px;
}
.contents_box .main_ttl_wrap {
        max-width: 600px;
    }
    .intro p {
    font-size: 1.6rem;
    text-align: center;
    color: var(--green1);
    margin-top: 24px;
}
.intro .item01{
    width: 8%;
        top: 17%;
        right: 19%;
}
.intro .item02{
    width: 4%;
        top: 10%;
        left: 20%;
}
.intro .item03{
            width: 3%;
        top: 35%;
        right: 25%;
}
.intro .item04{
    width: 3%;
        top: 35%;
        right: 25%;
}
.intro .item05{
    width: 3%;
        top: 35%;
        right: 25%;
}
.contents_box{
    max-width: 1000px;
    margin: auto;
}
.contents_box dt {
   font-size: 2.4rem;
}
.contents_box dd {
        font-size: 1.6rem;
}
.contents_box .item01 {
        width: 11%;
    top: -18%;
    left: 15%;
}
.contents_box .item02 {
    width: 4%;
    top: -22%;
    left: 25%;
}
.contents_box .item03 {
    width: 4%;
    bottom: 11%;
    right: 5%;
    transform: rotate(256deg);
}
.zeh_contents ul {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.zeh_contents li {
    flex-basis: 48%;
    display: flex;
}
.zeh_contents li .txt{
        gap: 15px 0;
}
.zeh_contents li:nth-of-type(1) .txt .ttl{
    width: 80px;
}
.zeh_contents li:nth-of-type(2) .txt .ttl{
    width: 135px;
}
.zeh_contents li:nth-of-type(3) .txt .ttl{
    width: 126px;
}
.zeh_contents li .txt p {
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.4;
    color: var(--light);
    position: relative;
}
.contents_box dl{
    margin-bottom: 32px;
}
.whats_zeh dt {
    width: 47%;
}
.whats_zeh_contents{
        padding: 48px 16px 32px;
}
.whats_zeh_contents .img {
    max-width: 800px;
    margin: 0 auto 32px;
}
.eco dl + .smallcap {
    text-align: center;
}
   .eco.contents_box dl {
        margin-bottom: 0px;
    }

.eco_contents {
    margin-top: 56px;
    display: flex;
    gap: 0 ;
}
.eco_box {
    border-top: none;
    border-bottom: none;
    padding: 24px;
    flex-basis: 50%;
}
.eco_box:nth-of-type(1) {
    border-right: 1px dashed var(--dark);
}
.eco_box h5 {
    width: 75%;
}
    .contents_box .item01 {
        width: 10%;
        top: 10%;
        left: 6%;
    }
.contents_box .item02 {
        width: 8%;
        top: 6%;
        left: unset;
        right: 2%;
    }
        .contents_box .item03 {
        width: 8%;
        bottom: 47%;
        right: 2%;
        transform: rotate(335deg);
    }
.eco_box p {
    text-align: center;
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 24px;
    margin-bottom: 16px;
}
}