/*------------------------------------------------------------
	FOR PC LAYOUT CSS
------------------------------------------------------------*/
@media screen and (min-width:768px){

/*------------------------------------------------------------
	BODY BASIC
------------------------------------------------------------*/
body{
color:#000;
font-size:15px;
line-height:1.75;
width:100%;
overflow:hidden;
letter-spacing:.06em;
font-feature-settings:'palt';
}


/*------------------------------------------------------------
	RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:block; }
.sponly{ display:none; }


/*------------------------------------------------------------
	HEADER
------------------------------------------------------------*/
header{
background:#000;
position:relative;
}

.header-inner{
min-width:944px;
padding:12px 30px;
display:flex;
justify-content:space-between;
align-items:center;
}


.site-logo{
position:relative;
width:84px;
height:54px;
}
.site-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:3;
}

.head-navi{
width:780px;
display:flex;
justify-content:space-between;
}

.hnavi{
display:flex;
justify-content:space-between;
}


.hnavi li{
display:flex;
align-items:center;
font-size:16px;
line-height:24px;
color:#fff;
}
.hnavi li.acc{
font-size:16px;
line-height:24px;
color:#fff;
padding:18px 25px;
font-weight:500;
}

.hnavi li a{
font-size:16px;
line-height:24px;
padding:18px 25px;
color:#fff;
font-weight:500;
}
.hnavi li a:hover,
.hnavi li.acc:hover{
color:#32cd32;
}

.sub-wrap{
width:100%;
height:100px;
padding:20px 0;
position:absolute;
top:72px;
left:0;
background:#333;
z-index:999;
display:none;
}

.gsub{
display:flex;
justify-content:center;
}
.gsub li{
display:flex;
justify-content:center;
align-items:center;
height:60px;
}

.gsub li a{
color:#fff;
padding:0 20px 0 30px;
font-weight:500;
position:relative;
}
.gsub li a::before{
content:'';
width:0;
height:0;
border-left:8px solid #fff;
border-top:4px solid transparent;
border-bottom:4px solid transparent;
position:absolute;
top:8px;
left:11px;
}
.gsub li a:hover{
color:#32cd32;
}


.head-contact{
width:330px;
display:flex;
justify-content:space-between;
align-items:center;
}
.head-contact li{
color:#fff;
}
.head-contact li:nth-child(1){
width:200px;
text-align:right;
margin:0;
}
.hc-info{
font-size:12px;
line-height:20px;
}
.hc-tel{
font-size:18px;
line-height:20px;
letter-spacing:.12em;
}
.hc-tel span{
display:block;
font-size:12px;
line-height:20px;
}
.head-contact li:nth-child(2){
width:120px;
}
.head-contact li:nth-child(2) a{
color:#fff;
border:2px solid #fff;
display:flex;
align-items:center;
font-size:14px;
letter-spacing:.4em;
font-weight:500;
justify-content:center;
text-align:center;
height:56px;
padding-left:.4em;
transition:all .2s;
}
.head-contact li:nth-child(2) a:hover{
background:rgba(255,255,255,.4);
}

/*------------------------------------------------------------
	TOPPAGE
------------------------------------------------------------*/
#kv{
width:100%;
height:calc(100vh - 84px);
position:relative;
overflow:hidden;
}


@keyframes zoomUp{
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

.kv-catch{
width:100%;
height:190px;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
background:#aaa9a9;
mix-blend-mode:multiply;
position:absolute;
top:50%;
left:0;
margin-top:-95px;
z-index:2;
isolation: isolate;
}
#kv h1{
text-align:center;
color:#fff;
font-size:48px;
line-height:68px;
letter-spacing:.1em;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
z-index:3;
mix-blend-mode: normal;
white-space:nowrap;
}
.slide01{
width:100%;
height:calc(100vh - 84px);
background:url(img/slide01.jpg) no-repeat center center;
background-size:cover;
animation:zoomUp 15s;
z-index:1;
}
.slide02{
width:100%;
height:calc(100vh - 84px);
background:url(img/slide02.jpg) no-repeat center center;
background-size:cover;
animation:zoomUp 15s;
z-index:1;
}
.slide03{
width:100%;
height:calc(100vh - 84px);
background:url(img/slide03.jpg) no-repeat center center;
background-size:cover;
animation:zoomUp 15s;
z-index:1;
}
.slide04{
width:100%;
height:calc(100vh - 84px);
background:url(img/slide04.jpg) no-repeat center center;
background-size:cover;
animation:zoomUp 15s;
z-index:1;
}



#index1{
width:100%;
background:#000;
padding:35px 0;
}
.tt-feed{
width:990px;
margin:0 auto;
}
.feed-box{
position:relative;
width:270px !important;
}
.feed-box a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.feed-thumb{
width:270px;
}
.feed-thumb img{
width:270px;
height:168px;
object-fit:cover;
}
.feed-txt{
margin-top:10px;
font-size:16px;
line-height:24px;
color:#fff;
height:48px;
overflow:hidden;
}

.slick-slide{
margin:0 30px;
}

#index2{
width:100%;
height:910px;
background:url(img/concept-bg.jpg) no-repeat center bottom;
background-size:cover;
display:flex;
justify-content:center;
align-items:center;
flex-direction:column;
}
.i2-txt{
}
.i2-copy{
text-align:center;
font-size:44px;
line-height:90px;
margin:0 0 50px;
font-weight:500;
}
.i2-desc{
font-size:24px;
line-height:56px;
text-align:center;
}


#index3{
width:100%;
padding:120px 0;
}
#index3 h2{
text-align:center;
font-size:40px;
line-height:70px;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:100px;
}
.str{
width:1156px;
margin:0 auto;
display:flex;
justify-content:space-between;
gap:0 53px;
}
.str li{
width:350px;
text-align:justify;
}
.str-i{
width:156px;
height:156px;
margin:0 auto 94px;
}

.str-t{
position:relative;
}
.str-t h3{
font-size:30px;
line-height:50px;
font-weight:500;
letter-spacing:.1em;
margin-bottom:15px;
}
.str-t p{
font-size:20px;
line-height:2;
font-weight:300;
}

.str-num{
font-size:200px;
line-height:1;
font-weight:bold;
color:#f5f5f5;
position:absolute;
top:-30px;
right:0;
z-index:-1;
}


#index4{
}

#index4 h3{
text-align:center;
font-size:40px;
line-height:70px;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:60px;
}

.i4-bg{
width:100%;
height:1000px;
background:url(img/service-bg.jpg) no-repeat center bottom;
backgroound-size:cover;
padding:54px 0;
}
.svc-list{
width:940px;
margin:0 auto;
display:flex;
justify-content:space-between;
}
.svc-list li{
background:rgba(255,255,255,.7);
border:2px solid #fff;
width:372px;
padding:50px 0;
text-align:justify;
margin:0;
transition:all .2s;
}

.svc-list li:hover{
background:rgba(255,255,255,.8);
}

.svc-list li:hover .svc-thumb img{
filter:brightness(1.1);
}


.svc-list li:hover .svc-link{
color:#32cd32;
}

.svc-list li:hover .svc-ttl h4{
color:#32cd32;
}

.svc-ttl{
height:196px;
padding:0 60px 30px;
}
.svc-ttl h4{
font-size:36px;
line-height:48px;
margin-bottom:10px;
transition:all .2s;
}
.svc-info{
font-size:24px;
line-height:30px;
}

.svc-thumb{
width:100%;
height:250px;
}
.svc-thumb img{
width:100%;
height:250px;
object-fit:cover;
transition:all .2s;
}

.svc-desc{
padding:30px 60px 45px;
font-size:20px;
line-height:34px;
font-weight:300;
}

.svc-link{
display:block;
padding:0 60px;
font-weight:bold;
font-size:18px;
line-height:30px;
width:100%;
height:37px;
background:rgba(255,255,255,.7);
border-top:2px solid #fff;
border-bottom:2px solid #fff;
position:relative;
color:#000;
letter-spacing:0;
transition:all .2s;
}
.svc-link::after{
content:'';
width:13px;
height:17px;
background:url(img/arrow-right-grad.svg) no-repeat;
background-size:13px;
position:absolute;
top:8px;
right:70px;
}


#index5{
padding:100px 0 150px;
}
#index5 h3{
text-align:center;
font-size:40px;
line-height:70px;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:60px;
}
.column-feed{
width:1132px;
margin:0 auto 40px;
gap:0 41px;
display:flex;
}
.column-feed li{
width:350px;
position:relative;
margin:0;
}
.column-feed li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:3;
}

.col-thumb{
width:350px;
height:250px;
}
.col-thumb img{
width:350px;
height:250px;
object-fit:cover;
}
.col-txt{
text-align:justify;
}

.col-feed-ttl{
font-size:28px;
line-height:40px;
font-weight:300;
max-height:120px;
overflow:hidden;
margin:15px 0;
}
.col-exc{
font-size:18px;
line-height:30px;
max-height:120px;
overflow:hidden;
font-weight:300;
}

.column-feed li:hover .col-feed-ttl{
color:#32cd32;
}


.column-link{
width:1132px;
margin:0 auto;
}
.column-link a{
display:block;
font-size:18px;
line-height:38px;
font-weight:bold;
text-align:center;
background:#f5f5f5;
height:38px;
position:relative;
color:#000;
}

.column-link a:hover{
color:#32cd32;
}

.column-link a::after{
content:'';
width:14px;
height:18px;
background:url(img/arrow-right-grad.svg) no-repeat;
background-size:14px;
position:absolute;
top:10px;
left:50%;
margin-left:150px;
}


#index6{
padding:0 0 90px;
}
.news-ttl{
width:100%;
height:240px;
background:url(img/news-bg.jpg) no-repeat center center;
background-size:cover;
position:relative;
margin-bottom:30px;
}
.news-ttl h3{
font-size:40px;
line-height:70px;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, 10%);
}

.news-feed{
width:1132px;
margin:0 auto 45px;
}
.news-feed li{
display:flex;
font-size:24px;
line-height:44px;
height:44px;
font-weight:300;
position:relative;
padding:0;
}
.news-feed li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.feed-info{
width:270px;
display:flex;
margin:0;
}
.feed-ttl{
width:842px;
margin-left:20px;
white-space:nowrap;
overflow:hidden;
}
.news-feed li:hover .feed-ttl{
text-decoration:underline;
color:#32CD32;
}

.news-feed li::after{
background:none;
}

.feed-date{
width:130px;
}
.feed-cat{
width:120px;
margin-left:20px;
}


.news-link{
width:1132px;
margin:0 auto;
}
.news-link a{
display:block;
font-size:18px;
line-height:38px;
font-weight:bold;
text-align:center;
background:#f5f5f5;
height:38px;
position:relative;
color:#000;
}

.news-link a:hover{
color:#32cd32;
}

.news-link a::after{
content:'';
width:14px;
height:18px;
background:url(img/arrow-right-grad.svg) no-repeat;
background-size:14px;
position:absolute;
top:10px;
left:50%;
margin-left:150px;
}






/*------------------------------------------------------------
	PAGE
------------------------------------------------------------*/
#page-head{

}
.ph-company{
background:url(img/ph-about.jpg) no-repeat center center;
background-size:cover;
width:100%;
height:620px;
position:relative;
}
.ph-eco-training{
background:url(img/ph-training.jpg) no-repeat center center;
background-size:cover;
width:100%;
height:620px;
position:relative;
}
.ph-eco-consultation{
background:url(img/ph-consultation.jpg) no-repeat center center;
background-size:cover;
width:100%;
height:620px;
position:relative;
}

.ph-privacy,
.ph-commerce{
width:100%;
height:200px;
background:url(img/teaser-sample.jpg) no-repeat center center;
background-size:cover;
position:relative;
}




.page-ttl-bg{
width:100%;
height:60px;
background:#aaa9a9;
mix-blend-mode:multiply;
position:absolute;
bottom:0;
left:0;
text-align:center;
}
#page-head h1.md01{
color:#fff;
font-weight:500;
font-size:30px;
line-height:60px;
position:absolute;
bottom:0;
left:0;
width:100%;
text-align:center;
letter-spacing:.5em;
padding-left:.5em;
}
#page-head h1.md02{
color:#fff;
font-size:40px;
font-weight:500;
letter-spacing:.1em;
padding-left:.1em;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
}


#p-about{
padding:180px 0 125px;
width:1145px;
margin:0 auto;
}

#p-about h2{
text-align:center;
font-size:40px;
line-height:70px;
margin-bottom:70px;
letter-spacing:.5em;
padding-left:.5em;
font-weight:500;
}

.top-cc{
font-size:46px;
line-height:90px;
margin-bottom:1.5em;
font-weight:500;
letter-spacing:.15em;
}

.message{
position:relative;
padding-bottom:75px;
margin:0;
}

.message p{
font-size:24px;
line-height:50px;
font-weight:300;
margin:0;
}

.ceo{
width:418px;
height:313px;
position:absolute;
bottom:0;
right:0;
display:flex;
justify-content:space-between;
align-items:end;
}
.ceo-sign{
width:176px;
}
.ceo-photo{
width:214px;
margin:0;
}
.com-ttl{
font-size:18px;
line-height:28px;
letter-spacing:.07em;
}
.ceo-name{
font-size:24px;
line-height:28px;
letter-spacing:.04em;
}
.ceo-name span{
display:inline-block;
font-size:14px;
margin-right:.5em;
}


.overview{
padding:170px 0;
}

.ov-col{
display:flex;
justify-content:space-between;
}



.ov-img{
width:500px;
height:322px;
margin:0 0 30px;
}
.ovT{
width:587px;
font-size:24px;
line-height:36px;
font-weight:500;
}
.ovT th{
width:114px;
vertical-align:top;
text-align:left;
padding:10px 0;
font-weight:500;
}
.ovT td{
padding:10px 0 10px 50px;
}

.access-info{
text-align:center;
font-size:30px;
line-height:50px;
margin-bottom:25px;
letter-spacing:.1em;
}




/* ECO TRAINING */


#p-training{
padding:130px 0 0;
}
#p-training h2{
text-align:center;
font-size:44px;
line-height:2;
margin-bottom:1em;
font-weight:500;
}
.tra-info{
width:auto;
text-align:center;
font-size:20px;
line-height:2.5;
font-weight:300;
margin:0 0 165px;
}

#p-training h3.pmd01{
text-align:center;
font-size:40px;
line-height:70px;
margin-bottom:2em;
letter-spacing:1em;
padding-left:1em;
font-weight:500;
}

.t-content{
width:1145px;
margin:0 auto;
position:relative;
}
.t-menu{
font-size:24px;
line-height:50px;
font-weight:500;
margin-bottom:110px;
}

.t-menu dt{
width:6em;
}
.t-menu dd{
margin-left:7em;
margin-top:-50px;
margin-bottom:25px;
}
.t-menu-list li{
padding-left:1em;
position:relative;
}
.t-menu-list li::before{
content:'';
width:5px;
height:5px;
background:#000;
border-radius:50%;
position:absolute;
top:22px;
left:5px;
}

.page-link a{
width:100%;
height:50px;
background:#f5f5f5;
text-align:center;
font-size:22px;
display:flex;
justify-content:center;
align-items:center;
font-weight:500;
color:#000;
position:relative;
}
.page-link a::after{
content:'';
width:13px;
height:17px;
background:url(img/arrow-right-grad.svg) no-repeat;
background-size:13px;
position:absolute;
top:18px;
left:50%;
letter-spacing:.2em;
margin-left:115px;
padding-left:.2em;
}

.page-link a:hover{
color:#32cd32;
}

.t-content .cap{
font-size:18px;
}

.t-lec{
width:320px;
height:240px;
background:url(img/et-lec.png) no-repeat;
background-size:320px;
}


.t-pgm{
padding:240px 0 0;
}

#p-training h3.pmd02{
text-align:center;
font-size:40px;
line-height:70px;
margin-bottom:2em;
letter-spacing:.25em;
padding-left:.25em;
font-weight:500;
}

.t-gunre{
width:600px;
height:50px;
text-align:center;
font-size:22px;
margin:0 auto 40px;
display:flex;
align-items:center;
justify-content:center;
background:#f5f5f5;
}

.t-ttl{
width:auto;
text-align:center;
font-size:20px;
line-height:30px;
margin:0 0 1em;
}
.t-col{
width:600px;
margin:0 auto 56px;
display:flex;
justify-content:space-between;
}

.t-col li{
width:275px;
height:297px;
}
.t-col li img{
width:275px;
height:297px;
object-fit:cover;
}

.t-center{
width:386px;
height:236px;
margin:0 auto 100px;
}
.t-center img{
width:386px;
height:236px;
object-fit:cover;
}


.sem-cont-md{
background:#000;
color:#fff;
text-align:center;
font-size:30px;
width:100%;
height:60px;
display:flex;
align-items:center;
justify-content:center;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:70px;
}
.sem-list{
width:900px;
margin:0 auto 70px;
padding-right:120px;
}
.sem-list li{
margin-bottom:70px;
font-size:24px;
line-height:50px;
font-weight:500;
}
.sem-ttl{}
.sem-date{ margin:0;}

.sem-link{
text-align:right;
}
.sem-link a{
        background: #000;
        color: #fff;
        font-size: 24px;
        width: 300px;
        height: 50px;
        border-radius: 25px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 500;
        position: relative;
        transition: all .2s;
}
.sem-link a:hover{
color:#fff;
background:#32cd32;
}

.sem-link a::after{
content:'';
width:8px;
height:8px;
border-right:2px solid #fff;
border-bottom:2px solid #fff;
transform:rotate(-45deg);
position:absolute;
top:19px;
right:15px;
}


.arc-link{
width:1064px;
margin:0 auto 100px;
padding-right:120px;
text-align:right;
}
.arc-link a{
display:inline-block;
padding-left:40px;
position:relative;
font-size:24px;
line-height:50px;
color:#000;
font-weight:500;
}
.arc-link a::before{
content:'';
width:30px;
height:17px;
background:url(img/d-arrow-right-grad.svg) no-repeat;
background-size:30px;
position:absolute;
top:16px;
left:0;
}
.arc-link a:hover{
color:#32cd32;
}


/* ECO CONSULTATION */

#p-consult{
padding:130px 0 60px;
}
#p-consult h2{
text-align:center;
font-size:40px;
line-height:70px;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:1em;
font-weight:500;
}
.consult-md01{
text-align:center;
font-size:44px;
line-height:1.75;
letter-spacing:.1em;
margin-bottom:60px;
font-weight:500;
}

.issue{
width:890px;
margin:0 auto 60px;
}
.issue li{
padding-left:1em;
font-size:30px;
line-height:70px;
font-weight:300;
letter-spacing:.18em;
position:relative;
margin:0;
}
.issue li::before{
content:'';
width:5px;
height:5px;
background:#000;
border-radius:50%;
position:absolute;
top:32px;
left:5px;
}


.consult-i01{
width:480px;
height:320px;
margin:0 auto 85px;
}
.consult-md02{
text-align:center;
font-size:36px;
letter-spacing:.15em;
font-weight:500;
margin-bottom:100px;
}

/* COMMERCE */
.commerce{
width:1000px;
margin:0 auto;
padding:150px 0;
font-size:16px;
line-height:1.75;
}

.commerce h3{
font-size:36px;
line-height:2;
margin-bottom:.5em;
}
.commerce section p{
margin-bottom:48px;
}

.commerce h4{
font-size:24px;
line-height:2;
margin-bottom:.5em;
}

.law-list{
margin-bottom:48px;
}

.law-list li{
padding-left:1.2em;
position:relative;
}
.law-list li::before{
content:'';
width:5px;
height:5px;
background:#000;
position:absolute;
top:12px;
left:4px;
}


/* PRIVACY */
.privacy{
width:1000px;
margin:0 auto;
padding:150px 0;
font-size:16px;
line-height:1.75;
}

.privacy h2{
font-size:36px;
line-height:2;
margin-bottom:.5em;
}
.pp-info{
font-size:20px;
line-height:2;
margin-bottom:.5em;
}
.privacy section p{
margin-bottom:1.5em;
}
.privacy section{
margin-bottom:48px;
}

.pp-ttl{
font-size:24px;
line-height:2;
margin-bottom:.5em;
}
.pp-sub{
font-size:20px;
line-height:2;
margin-bottom:.5em;
}
.p-ttl{
margin:0;
}
.pp-list01{
margin-bottom:1.5em;
}
.pp-list01 li{
padding-left:1.2em;
position:relative;
}
.pp-list01 li::before{
content:'';
width:5px;
height:5px;
background:#000;
position:absolute;
top:12px;
left:4px;
}
.pp-list02{
margin-bottom:1.5em;
}
.pp-list02 li{
padding-left:1.2em;
position:relative;
}
.pp-list02 li::before{ position:absolute; top:0; left:0;}
.pp-list02 li:nth-child(1)::before{ content:'①'; }
.pp-list02 li:nth-child(2)::before{ content:'②'; }
.pp-list02 li:nth-child(3)::before{ content:'③'; }
.pp-list02 li:nth-child(4)::before{ content:'④'; }
.pp-list02 li:nth-child(5)::before{ content:'⑤'; }
.pp-list02 li:nth-child(6)::before{ content:'⑥'; }
.pp-list02 li:nth-child(7)::before{ content:'⑦'; }
.pp-list02 li:nth-child(8)::before{ content:'⑧'; }
.pp-list02 li:nth-child(9)::before{ content:'⑨'; }
.pp-list02 li:nth-child(10)::before{ content:'⑩'; }

.pp-list03 li{
padding-left:2em;
position:relative;
margin-bottom:.4em;
}


.pp-list03 li:before{ position:absolute; top:0; left:0; }
.pp-list03 li:nth-child(1)::before{ content:'（1）'; }
.pp-list03 li:nth-child(2)::before{ content:'（2）'; }
.pp-list03 li:nth-child(3)::before{ content:'（3）'; }
.pp-list03 li:nth-child(4)::before{ content:'（4）'; }
.pp-list03 li:nth-child(5)::before{ content:'（5）'; }
.pp-list03 li:nth-child(6)::before{ content:'（6）'; }
.pp-list03 li:nth-child(7)::before{ content:'（7）'; }

.pp-list03 li ul.pp-list03-1{
margin-bottom:.4em;
}

.pp-list03 li ul.pp-list03-1 li{
padding-left:1.2em;
position:relative;
margin:0;
}
.pp-list03 li ul.pp-list03-1 li::before{
content:'';
width:5px;
height:5px;
background:#000;
position:absolute;
top:12px;
left:4px;
}

.pp-list03 li ul.pp-list03-2 li ul.pp-list03-1 li::before{
content:'';
width:5px;
height:5px;
background:#000;
position:absolute;
top:12px;
left:4px;
}

.pp-list03 li ul.pp-list03-2 li{
padding-left:1.2em !important;
position:relative;
margin:0;
}

.pp-list03 li ul.pp-list03-2 li:before{ position:absolute; top:0; left:0; }
.pp-list03 li ul.pp-list03-2 li:nth-child(1)::before{ content:'①'; }
.pp-list03 li ul.pp-list03-2 li:nth-child(2)::before{ content:'②'; }
.pp-list03 li ul.pp-list03-2 li:nth-child(3)::before{ content:'③'; }
.pp-list03 li ul.pp-list03-2 li:nth-child(4)::before{ content:'④'; }
.pp-list03 li ul.pp-list03-2 li:nth-child(5)::before{ content:'⑤'; }
.pp-list03 li ul.pp-list03-2 li:nth-child(6)::before{ content:'⑥'; }

.pp-date{
text-align:right;
}


/*------------------------------------------------------------
	CATEGORY ARCHIVE
------------------------------------------------------------*/
.teaser-cat{
width:100%;
height:200px;
background:url(img/teaser-sample.jpg) no-repeat center center;
background-size:cover;
position:relative;
}

.teaser-cat h1{
color:#fff;
font-size:40px;
font-weight:500;
letter-spacing:.1em;
padding-left:.1em;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
}

#cat{
width:auto;
margin:0 auto;
padding:100px 0 150px;
}

.cat-col{
width:1132px;
margin:0 auto;
display:flex;
justify-content:space-between;
}
.cat-cont{
width:900px;
margin:0;
}
.cat-side{
width:180px;
margin:0;
}


#cat h2{
font-size:32px;
line-height:2;
margin-bottom:.5em;
}

.column-desc{
font-size:18px;
line-height:1.75;
margin-bottom:2em;
}




/* COLUMN */

.column-list{
width:900px;
margin:0 auto 40px;
gap:40px 30px;
display:flex;
flex-wrap:wrap;
}
.column-list li{
width:280px;
position:relative;
display:block;
padding:0;
}
.column-list li::after{
background:none;
}

.column-list li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}
.column-thumb{
width:280px;
height:200px;
margin:0;
}


.column-thumb img{
width:280px;
height:200px;
object-fit:cover;
}
.column-txt{
width:auto;
text-align:justify;
}
.col-arc-ttl{
font-size:24px;
line-height:1.5;
font-weight:300;
max-height:108px;
overflow:hidden;
margin:15px 0;
}
.column-exc{
font-size:16px;
line-height:1.75;
max-height:84px;
overflow:hidden;
font-weight:300;
}




/* OTHER ARCHIVE */

.archive{
margin-bottom:100px;
}

.archive li{
padding:50px 0;
position:relative;
}
.archive li::after{
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background-size: 9px 1px;
background-image: linear-gradient(to right, #999, #999 1px, transparent 1px, transparent 1px);
background-repeat: repeat-x;
}

.archive li:last-child::after{
background:none;
padding-bottom:0;
}

.archive li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:1;
}

.archive li:hover .post-ttl{
color:#32cd32;
}

.postInfo{
display:flex;
gap:0 20px;
margin-bottom:20px;
}
.postDate{
color:#666;
}
.postCat{
font-weight:500;
color:#000;
}
.post-ttl{
font-size:24px;
font-weight:500;
line-height:1.5;
margin-bottom:1em;
}
.post-exc{
font-size:18px;
line-height:1.5;
}







/*------------------------------------------------------------
	SIDE
------------------------------------------------------------*/
.cat-side h3{
font-size:20px;
line-height:2;
font-weight:500;
margin-bottom:.5em;
text-align:left;
}


.side-catlist li{
padding:10px 0;
text-align:left;
}
.side-catlist li a{
color:#000;
font-weight:500;
}
.side-catlist li a:hover{
color:#32cd32;
}



/*------------------------------------------------------------
	SINGLE
------------------------------------------------------------*/
#single{
width:auto;
margin:0 auto;
padding:100px 0 150px;
}
#single section{
margin-bottom:60px;
}

#single h2{
font-size:32px;
line-height:1.5;
font-weight:500;
margin-bottom:1em;
}



/* SEMINAR */
.sem-date{
font-size:24px;
line-height:2;
margin-bottom:50px;
}

.sem-ttl{
font-size:24px;
line-height:2;
display:flex;
}
.sem-ttl-num{
}

.sem-md{
margin-bottom:40px;
margin-left:1em;
}
.sem-md li{
font-size:20px;
line-height:2;
padding-left:1em;
position:relative;
}
.sem-md li::before{
content:'';
width:5px;
height:5px;
background:#000;
border-radius:50%;
position:absolute;
top:17px;
left:2px;
}

.app-link{
text-align:center;
display:flex;
justify-content:center;
}
.app-link a{
background:#000;
color:#fff;
font-size:24px;
width:300px;
height:50px;
border-radius:25px;
display:flex;
justify-content:center;
align-items:center;
font-weight:500;
position:relative;
transition:all .2s;
}
.app-link a:hover{
background:#32cd32;
}
.app-link a::after{
content:'';
width:8px;
height:8px;
border-right:2px solid #fff;
border-bottom:2px solid #fff;
transform:rotate(-45deg);
position:absolute;
top:19px;
right:15px;
}


.post{
margin-bottom:100px;
}
.post h3{
font-size:24px;
line-height:2;
margin-bottom:.5em;
}

.post h4{
font-size:20px;
line-height:2;
margin-bottom:.5em;
}
.post h5{
font-size:16px;
line-height:2;
margin-bottom:.5em;
}

.post img{
margin:2em 0;
}

.post p a{
text-decoration:underline;
}
.post p a:hover{
color:#32cd32;
}


.writer{
margin:80px 0 0;
background:#f5f5f5;
padding:20px 40px;
}


/*------------------------------------------------------------
	FOOTER
------------------------------------------------------------*/
footer{
border-top:1px solid #000;
padding:24px 0;
}
.f-bar-wrap{
width:100%;
background:#000;
padding:24px 0;
}
.footer-inner{
min-width:1204px;
padding:12px 30px;
display:flex;
justify-content:space-between;
align-items:center;
}


.f-logo{
position:relative;
width:84px;
height:54px;
margin:0;
}
.f-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:3;
}

.foot-navi{
width:1040px;
display:flex;
justify-content:space-between;
}


.fnavi{
width:690px;
display:flex;
}
.fnavi li{
border-right:2px solid #fff;
height:58px;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:0 35px;
}
.fnavi li a{
color:#fff;
font-size:14px;
font-weight:500;
}

.fnavi li.nolink{
color:#fff;
font-size:14px;
font-weight:500;
border-right:0;
position:relative;
padding:0 25px 0 35px;
}
.fnavi li.nolink::after{
content:'';
width:1px;
height:38px;
background:#fff;
position:absolute;
top:10px;
right:0;
}

.fnavi li a:hover{
color:#32cd32;
}

.fnavi li:nth-child(1){
border-left:2px solid #fff;
}

.fnavi li:nth-child(3){
flex-direction:column;
padding:0 35px 0 25px;
}
.fnavi li:nth-child(3) a{
padding-left:1em;
position:relative;
}
.fnavi li:nth-child(3) a::after{
content:'';
width:4px;
height:4px;
background:#fff;
border-radius:50%;
position:absolute;
top:8px;
left:2px;
}





.foot-contact{
width:330px;
display:flex;
justify-content:space-between;
align-items:center;
}
.foot-contact li{
color:#fff;
}
.foot-contact li:nth-child(1){
width:200px;
text-align:right;
margin:0;
}

.foot-contact li:nth-child(2){
width:120px;
}
.foot-contact li:nth-child(2) a{
color:#fff;
border:2px solid #fff;
display:flex;
align-items:center;
font-size:14px;
letter-spacing:.4em;
font-weight:500;
justify-content:center;
text-align:center;
height:56px;
padding-left:.4em;
transition:all .2s;
}
.foot-contact li:nth-child(2) a:hover{
background:rgba(255,255,255,.4);
}


.copy-area{
padding:15px 0 0;
}
.terms{
display:flex;
justify-content:center;
margin:0 0 25px;
}
.terms li a{
color:#000;
font-size:14px;
line-height:20px;
font-weight:500;
margin:0 20px;
}
.terms li a:hover{
color:#32CD32;
}

.copy{
font-size:12px;
line-height:24px;
text-align:center;
}



/*------------------------------------------------------------
	END PC LAYOUT CSS
------------------------------------------------------------*/
}