@charset "UTF-8";

/*main*/
main {
    background-image: linear-gradient(45deg, #f2f4f4, #d5d7d7);
}

/*メインビジュアル*/
.mainVisual div {
    position: relative;
}
.mainVisual div p {
    position: absolute;
    right: 5%;
    bottom: 5%;
    width: 51%;
    max-width: 800px;
}



/*訴求エリア*/
.sokyu_Area {
    width: 100%;
    background-image: linear-gradient(90deg, #7098a7, #55686f);
}
.sokyu_Area ul {
    width: 1200px;
    max-width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    gap:30px 5%;
    border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    padding: 20px 0;
}
.sokyu_Area ul li {
    height: 70px;
    text-align: center;
}
.sokyu_Area ul li.bdr {
    width: 1px;
    height: 70px;
    background: rgba(255, 255, 255, 0.4);
    display: block;
}
.sokyu_Area ul li img {
    max-width: 100%;
    max-height: 100%;
}
.sokyu_Area ul:last-child {
    border-bottom: none;
}



/*行動提起エリア*/
.teiki_Area {
    width: 1200px;
    max-width: 90%;
    margin: 0 auto;
    padding: 80px 0 40px;
}
.teiki_Area .main_logo {
    width: 350px;
    max-width: 90%;
    margin: 0 auto 70px;
}
.teiki_Area .teiki_Copy {
    text-align: center;
    font-size: min(4vw,20px);
    line-height: 1.5;
    word-break:auto-phrase;
    font-weight: 600;
    color: #000;
    margin-bottom: 10px;
}
.teiki_Area .teiki_Text {
    text-align: center;
    font-size: min(6vw,40px);
    line-height: 1.5;
    word-break:auto-phrase;
    font-weight: 600;
    color: #125f88;
    margin-bottom: 30px;
}
.teiki_Area .price_Area {
    width: 900px;
    max-width: 90%;
    margin: 0 auto;
}
.teiki_Area .price_Ttl {
    width: 90%;
    text-align: center;
    padding: 10px 0;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1), rgba(255, 255, 255, 0));
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.2em;
    color: #836536;
    margin: 0px auto 20px;
}
.teiki_Area .price_Box {
    width: 90%;
    margin: 0 auto 20px;
    display: flex;
    justify-content: center;
    gap: 5%;
    flex-wrap: wrap;
}
.teiki_Area .price_Box li p {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: 0.1em;
}
.teiki_Area .price_Box li p strong {
    font-size: 200%;
    font-weight: 500;
    font-family: "Oswald", sans-serif;
    color: #9b2727;
    letter-spacing: 0;
    margin-right: 0.1em;
}

#news-content h1 {
    font-size: 2.5rem;
    margin: 15px 0;
}
#news-content h2 {
    font-size: 2rem;
    margin: 10px 0;
}
#news-content h3 {
    font-size: 1.75rem;
    margin: 10px 0;
}
#news-content h4 {
    font-size: 1.5rem;
    margin: 10px 0;
}
#news-content h5 {
    font-size: 1.25rem;
    margin: 10px 0;
}
#news-content h6 {
    font-size: 1rem;
    margin: 10px 0;
}
#news-content b {
    font-weight: bold;
}
#news-content table {
    width: 90%;
    max-width: 900px;
    margin: 20px auto;
}
#news-content table td {
    padding: 10px;
    border: 1px solid #6f6f6f;
}


/*メインコンテンツ*/
[class*="sec0"] {
    width: 1400px;
    max-width: 100%;
    margin: 0 auto 100px;
}
[class*="sec0"] .m_imgBox {
    width: 100%;
    position: relative;
}
[class*="sec0"] .m_imgBox:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: -2px;
    width: 95%;
    height: 30%;
    background: #fff;
}
[class*="sec0"] .m_imgBox figure {
    position: relative;
    width: 90%;
    margin: 0;
    aspect-ratio: 197 / 113;
    overflow: hidden;
}
[class*="sec0"] .mask {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;

    -webkit-clip-path: polygon(
        0 0,
        0 100%,
        85% 100%,
        100% 80%,
        100% 0
    );

    clip-path: polygon(
        0 0,
        0 100%,
        85% 100%,
        100% 80%,
        100% 0
    );
}
[class*="sec0"] .m_imgBox figcaption {
    position: absolute;
    left: 5%;
    bottom: 8%;
    width: 90%;
}
[class*="sec0"] .m_imgBox figcaption div {
    position: relative;
}
[class*="sec0"] .m_imgBox figcaption img {
    max-width: inherit;
    position: absolute;
    left: 0;
    bottom: 0;
    max-width: 90%;
}
[class*="sec0"] .m_txtBox {
    width: 95%;
    background: #fff;
    padding: 70px 0 50px;
    clip-path: polygon(20% 0%, 80% 0%, 100% 0, 100% 100%, 80% 100%, 8% 100%, 0% 85%, 0 0);
    margin-left: auto;
}
[class*="sec0"] .m_txtBox .m_inner {
    width: 80%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}
[class*="sec0"] .m_txtBox .text_wrap {
    width: 48%;
}
[class*="sec0"] .m_txtBox .text_wrap .viewmore {
    width: 230px;
    max-width: 80%;
    margin: 40px auto 0 0;
    padding: 10px 20px;
    background: #947f49;
    color: #fff;
    text-align: left;
    display: block;
    position: relative;
    font-family: "Jost", sans-serif;
    letter-spacing: 0.1em;
    transition: 0.3s;
}
[class*="sec0"] .m_txtBox .text_wrap .viewmore:before ,
[class*="sec0"] .m_txtBox .text_wrap .viewmore:after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 10px;
    width: 10px;
    height: 2px;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: calc(100% - 1px) 50%;
}
[class*="sec0"] .m_txtBox .text_wrap .viewmore:hover {
    opacity: 0.7;
}
[class*="sec0"] .m_txtBox .text_wrap .viewmore:before{
  transform: rotate(45deg);
}
[class*="sec0"] .m_txtBox .text_wrap .viewmore:after{
  transform: rotate(-45deg);
}
[class*="sec0"] .m_txtBox .text {
    position: relative;
    padding: 40px 0;
}
[class*="sec0"] .m_txtBox .text:before ,
[class*="sec0"] .m_txtBox .text:after {
    content: "";
    width: 100px;
    height: 5px;
    background: #947f49;
    position: absolute;
    left: 0;
}
[class*="sec0"] .m_txtBox .text:before {
    top: 0;
}
[class*="sec0"] .m_txtBox .text:after {
    bottom: 0;
}
[class*="sec0"] .m_txtBox .text h3 {
    font-family: "Oswald", sans-serif;
    color: #947f49;
    font-size: 50px;
    letter-spacing: 0.1em;
    line-height: 1.5;
}
[class*="sec0"] .m_txtBox .text h4 {
    color: #947f49;
    margin: 30px auto;
    font-size: 18px;
    line-height: 1.6;
}
[class*="sec0"] .m_txtBox .text p {
    font-size: 15px;
    line-height: 2;
}
[class*="sec0"] .m_txtBox .imgList {
    width: 48%;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    gap:4%;
}
[class*="sec0"] .m_txtBox .imgList figure {
    width: 48%;
    margin-bottom: 40px;
}
[class*="sec0"] .m_txtBox .imgList figcaption {
    margin-top: 10px;
    line-height: 1.6;
    font-size: 15px;
}



/*固有メインコンテンツ　sec00_CONCEPT*/

.con_Bgwrap {
    width: 100%;
    height: 100%;
}
.con_Bgwrap figure {
    position: relative;
}
.con_Bgwrap.con01 h3 {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 70%;
    max-width: 350px;
    margin: auto;
    z-index: 1;
}
.con_Bgwrap {
    position: relative;
    min-height: 100%;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
    background-position: center center;
    z-index: 2;
}
.con_Bgwrap.con04 {
    padding: 10svw 0;
    background-image: url(../../concept/img/con_img04.jpg);
    text-align: center;
}
.con_Bgwrap.con04 .free {
    text-align: center;
    width: 70%;
    max-width: 400px;
    margin-bottom: 30px;
}
.con_Bgwrap.con04 h4 {
    text-align: center;
    color: #fff;
    font-size: 24px;
    margin-bottom: 50px;
    line-height: 2;
    letter-spacing: 0.2em;
}
.con_Bgwrap.con04 ul {
    width: 1000px;
    max-width: 90%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap:40px 4%;
}
.con_Bgwrap.con04 ul li {
    width: 48%;
}
.con_Bgwrap.con04 ul li figure {
    clip-path: polygon(20% 0%, 80% 0%, 100% 0, 100% 80%, 85% 100%, 20% 100%, 0% 100%, 0 0);
    overflow: hidden;
}
.con_Bgwrap.con04 p.ttl {
    color: #fff;
    font-size: 18px;
    margin: 15px auto;
    line-height: 1.4;
    letter-spacing: 0.1em;
    text-align: left;
}

.con_Bgwrap .viewmore {
    width: 250px;
    max-width: 80%;
    margin: 40px auto 0;
    padding: 13px 20px;
    background: #947f49;
    color: #fff;
    text-align: left;
    display: block;
    position: relative;
    font-family: "Jost", sans-serif;
    letter-spacing: 0.1em;
    transition: 0.3s;
}
.con_Bgwrap .viewmore:before ,
.con_Bgwrap .viewmore:after {
    content: "";
    position: absolute;
    top: calc(50% - 2px);
    right: 10px;
    width: 10px;
    height: 2px;
    border-radius: 9999px;
    background-color: #fff;
    transform-origin: calc(100% - 1px) 50%;
}
.con_Bgwrap .viewmore:hover {
    opacity: 0.7;
}
.con_Bgwrap .viewmore:before{
  transform: rotate(45deg);
}
.con_Bgwrap .viewmore:after{
  transform: rotate(-45deg);
}



/*固有メインコンテンツ　sec01_ENJOY LIFE*/
.sec01_Area {
    margin-top: 100px;
}

/*固有メインコンテンツ　sec03_EMOTION DESIGN*/
[class*="sec03"] .shikichi {
    width: 100%;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    align-items: flex-start;
    position: relative;
    margin-top: 50px;
    margin-bottom: 20px;
}
[class*="sec03"] .shikichi .shikichi_map {
    width: 75%;
}
[class*="sec03"] .shikichi .shikichi_ic {
    width: 35%;
    max-width: 300px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}



/*固有メインコンテンツ　sec04_ECOLOGY STYLE*/
[class*="sec04"] .m_txtBox {
    padding: 70px 0;
}
[class*="sec04"] .m_txtBox .m_inner {
    align-items: center;
}
[class*="sec04"] .zehList {
    width: 48%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
[class*="sec04"] .zehList .zehLogo {
    width: 100%;
    max-width: 450px;
    margin: 0 auto 30px;
}
[class*="sec04"] .zehList .zehBox {
    width: 48%;
    position: relative;
    text-align: center;
}
[class*="sec04"] .zehList .zehBox h3 {
    font-size: 16px;
    color: #947f49;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #947f49;
}
[class*="sec04"] .zehList .zehBox .ttl {
    font-size: 14px;
}
[class*="sec04"] .zehList .zehBox figure {
    margin: 30px auto 20px;
}
[class*="sec04"] .zehList .zehBox .normal {
    font-size: 12px;
    line-height: 2;
}
[class*="sec04"] .zehList .zehBox.and:before {
    content: "";
    position: absolute;
    right: -30px;
    top: 50%;
    transform: translateY(-50%);
    width: 30px;
    height: 30px;
    background: url(../img/elife04_and.png) no-repeat;
    background-size: contain;
    background-position: center;
    z-index: 1;
}



/*固有メインコンテンツ　sec05_EASY PLAN*/
[class*="sec0"] .m_txtBox .imgList figure.w100 {
    width: 100%;
}


/*固有メインコンテンツ　sec06_ENERGY LIFE*/
[class*="sec06"] .m_txtBox .imgList div {
	width: 48%;
	margin-bottom: 30px;
}
[class*="sec06"] .m_txtBox .imgList div figure {
	width: 100%;
	margin-bottom: 10px;
}
[class*="sec06"] .m_txtBox .imgList div p {
	font-size: 15px;
}

@media only screen and (max-width: 768px) {
    
    
    /*訴求エリア*/
    .sokyu_Area ul {
        flex-wrap: wrap;
        gap:15px 5%;
        border-bottom: none;
        padding-bottom: 0;
    }
    .sokyu_Area ul li {
        width: 100%;
        height: 78px;
        padding-bottom: 15px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.4);
    }
    .sokyu_Area ul li.bdr {
        display: none;
    }
	
    
    
    
    /*行動提起エリア*/
    .teiki_Area {
        padding: 50px 0 20px;
    }
    .teiki_Area .main_logo {
        width: 200px;
        margin: 0 auto 50px;
    }
    .teiki_Area .price_Area {
        max-width: 100%;
    }
    .teiki_Area .price_Ttl {
        padding: 8px 0;
        font-size: 16px;
        margin: 0 auto 10px;
    }
    .teiki_Area .price_Box {
        gap:10px 5%;
        margin: 0 auto 15px;
    }
    .teiki_Area .price_Box li p {
        font-size: 18px;
    }
	
	
	#news-content h1 {
		font-size: 1.5rem;
		margin: 15px 0;
	}
	#news-content h2 {
		font-size: 1rem;
		margin: 10px 0;
}
	#news-content h3 {
		font-size: 0.75rem;
		margin: 10px 0;
	}
	#news-content h4 {
		font-size: 0.5rem;
		margin: 10px 0;
	}
	#news-content h5 {
		font-size: 0.25rem;
		margin: 10px 0;
	}
	#news-content h6 {
		font-size: 12px;
		margin: 10px 0;
	}
	
	
    
    /*メインコンテンツ*/
    [class*="sec0"] .m_imgBox:before {
        height: 40%;
        width: 95%;
        right: 0;
        left: auto;
    }
    [class*="sec0"] .m_imgBox figure {
        width: 95%;
    }
    [class*="sec0"] .m_txtBox {
        width: 95%;
        margin-right: 0;
        margin-left: auto;
        padding: 40px 0 30px;
        clip-path: polygon(20% 0%, 80% 0%, 100% 0, 100% 100%, 80% 100%, 40px 100%, 0% calc(100% - 40px), 0 0);
    }
    [class*="sec0"] .m_txtBox .m_inner{
        width: 90%;
        margin-right: 5%;
        margin-left: auto;
    }
    [class*="sec0"] .m_txtBox .text_wrap {
        width: 100%;
        margin-bottom: 40px;
    }
    [class*="sec0"] .m_txtBox .text {
        width: 100%;
        margin-bottom: 0px;
        padding: 30px 0;
    }
    [class*="sec0"] .m_txtBox .text h3 {
        font-size: 35px;
    }
    [class*="sec0"] .m_txtBox .text h4 {
        margin: 20px auto;
    }
    [class*="sec0"] .m_txtBox .text p {
        font-size: 14px;
    }
    [class*="sec0"] .m_txtBox .imgList {
        width: 100%;
    }
    [class*="sec0"] .m_txtBox .imgList figure {
        margin-bottom: 20px;
    }
    [class*="sec0"] .m_txtBox .imgList figcaption {
        font-size: 11px;
    }
    
    
    /*固有メインコンテンツ　sec00_CONCEPT*/
    
    .con_Bgwrap.con04 {
        padding: 60px 0;
    }
    .con_Bgwrap.con04 .free {
        max-width: 200px;
    }
    .con_Bgwrap.con04 h4 {
        font-size: 18px;
    }
    .con_Bgwrap.con04 ul {
        gap: 10px 4%;
    }
    .con_Bgwrap.con04 ul li {
    }
    .con_Bgwrap.con04 p.ttl {
        font-size: 10px;
    }
    
    
    /*固有メインコンテンツ　sec03_EMOTION DESIGN*/
    [class*="sec03"] .shikichi {
        margin-top: 0;
    }
    [class*="sec03"] .shikichi .shikichi_ic {
        position: relative;
        width: 35%;
        left: inherit;
        top: inherit;
        margin-left: 0;
        margin-right: auto;
    }
    [class*="sec03"] .shikichi .shikichi_map {
        width: 100%;
        margin-top: -15%;
    }
    
    
    /*固有メインコンテンツ　sec04_ECOLOGY STYLE*/
    [class*="sec04"] .zehList {
        width: 100%;
    }
    [class*="sec04"] .zehList .zehLogo {
        max-width: 250px;
    }
    [class*="sec04"] .zehList .zehBox {
        width: 100%;
    }
    [class*="sec04"] .zehList .zehBox.and{
        margin-bottom: 70px;
    }
    [class*="sec04"] .zehList .zehBox.and:before{
        right: 0;
        left: 0;
        top: inherit;
        margin: 0 auto;
        bottom: -50px;
        transform: none;
    }
    
    

}