/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
color:#000;
font-size:3.5vw;
line-height:1.75;
width:100%;
overflow:hidden;
letter-spacing:.06em;
font-feature-settings:'palt';
}

/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }


/*------------------------------------------------------------
HEADER
------------------------------------------------------------*/
header{
background:#000;
position:relative;
}

.header-inner{
padding:3vw 4vw;
}


.site-logo{
position:relative;
width:21vw;
height:13.5vw;
}
.site-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:3;
}


/*------------------------------------------------------------
DRAWER MENU
------------------------------------------------------------*/
#menuBtn{
position:fixed;
right:3vw;
top:6.25vw;
width:7vw;
height:7vw;
cursor:pointer;
z-index:9999;
}
#menuBtn span{
display:block;
position:absolute;
height:.5vw;
width:100%;
background:#32cd32;
left:0;
transition:all 0.2s;
}

#menuBtn span:nth-child(1){
top:0;
}
#menuBtn span:nth-child(2){
top:3.25vw;
}
#menuBtn span:nth-child(3){
top:6.5vw;
}

.active#menuBtn span:nth-child(1){
top:2.2vw;
transform:rotate(45deg);
}
.active#menuBtn span:nth-child(2){
width:0;
left:50%;
}

.active#menuBtn span:nth-child(3){
top:2.2vw;
transform:rotate(-45deg);
}

#menuBox{
display:none;
width:100%;
background:rgba(0,0,0,.95);
height:100vh;
position:fixed;
top:0;
left:0;
box-sizing:border-box;
z-index:9998;
}

#menuBox.active{
display:block;
}

.menuInner{
transform:translateY(-10vw);
transition:all 0.3s;
}

.menuInner.active{
transform:translateX(0);
display:block;
}

.menuLogoArea{
padding:3vw 4vw;
margin-bottom:20vw;
}

.menuLogo{
position:relative;
width:21vw;
height:13.5vw;
}
.menuLogo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:3;
}

.menu-wrapper{
height:calc(100vh - 90vw);
overflow:auto;
}
.d-menu{
width:70vw;
margin:0 auto;
}
.d-menu li{
position:relative;

}

.d-menu li a{
padding:4vw 0;
display:block;
color:#fff;
font-size:4vw;
}

.spmenu-acc{
width:70vw;
margin:0 auto;
}
.spmenu-acc dt{
padding:4vw 0;
color:#fff;
font-size:4vw;
position:relative;
}
.spmenu-acc dt::before{
content:'';
width:5vw;
height:.5vw;
background:#fff;
position:absolute;
top:6.75vw;
right:0;
transition:all .2s;
}
.spmenu-acc dt::after{
content:'';
width:.5vw;
height:5vw;
background:#fff;
position:absolute;
top:4.5vw;
right:2.3vw;
transition:all .2s;
}
.spmenu-acc dt.open::before{
transform:rotate(90deg);
opacity:0;
}
.spmenu-acc dt.open::after{
content:'';
transform:rotate(90deg);
}

.spmenu-acc dd{
display:none;
}

.d-submenu{
margin:0 2vw 0 4vw !important;
}
.d-submenu li{
position:relative;

}

.d-submenu li a{
padding:2vw 0 !important;
display:block;
color:#fff;
font-size:4vw;
}

.sm-contact{
width:80vw;
margin:0 auto;
color:#fff;
font-weight:500;
}
.sm-contact li{
margin-bottom:3vw;
}
.sm-info{
text-align:center;
}
.sm-tel{
font-size:3vw;
text-align:center;
}
.sm-tel a{
color:#fff;
font-size:4.5vw;
}
.sm-tel span{
display:block;
font-size:3vw;
}

.sm-contact li:nth-child(2) a{
display:block;
padding:4vw 6vw;
border:1px solid #fff;
text-align:center;
font-size:4vw;
letter-spacing:.4em;
color:#fff;
font-weight:500;
}

/*------------------------------------------------------------
	TOPPAGE
------------------------------------------------------------*/
#kv{
width:100vw;
height:100vw;
position:relative;
overflow:hidden;
}


@keyframes zoomUp{
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}

.kv-catch{
width:100vw;
height:24vw;
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:-12vw;
z-index:2;
isolation: isolate;
}
#kv h1{
text-align:center;
color:#fff;
font-size:5vw;
line-height:6vw;
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:100vw;
height:100vw;
background:url(img/spslide01.jpg) no-repeat center center;
background-size:cover;
animation:zoomUp 15s;
z-index:1;
}
.slide02{
width:100vw;
height:100vw;
background:url(img/spslide02.jpg) no-repeat center center;
background-size:cover;
animation:zoomUp 15s;
z-index:1;
}
.slide03{
width:100vw;
height:100vw;
background:url(img/spslide03.jpg) no-repeat center center;
background-size:cover;
animation:zoomUp 15s;
z-index:1;
}
.slide04{
width:100vw;
height:100vw;
background:url(img/spslide04.jpg) no-repeat center center;
background-size:cover;
animation:zoomUp 15s;
z-index:1;
}



#index1{
width:100%;
background:#000;
padding:6vw 0 4vw;
}
.tt-feed{
width:100vw;
margin:0 auto;
}
.feed-box{
position:relative;
width:70vw;
}
.feed-box a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.feed-thumb{
width:70vw;
}
.feed-thumb img{
width:70vw;
height:44vw;
object-fit:cover;
}
.feed-txt{
margin-top:2vw;
font-size:3.5vw;
line-height:1.5;
color:#fff;
height:10.5vw;
overflow:hidden;
}

.slick-slide{
margin:0 5vw;
}


#index2{
width:100%;
height:auto;
background:url(img/concept-bg.jpg) no-repeat center bottom;
background-size:cover;
padding:12vw 4vw;
}
.i2-txt{
}
.i2-copy{
text-align:center;
font-size:4.6vw;
line-height:1.75;
margin:0 0 10vw;
font-weight:500;
}
.i2-desc{
font-size:4vw;
line-height:1.75;
text-align:center;
}



#index3{
width:100%;
padding:12vw 0;
}
#index3 h2{
text-align:center;
font-size:6vw;
line-height:1.5;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:1em;
}
.str{
width:80vw;
margin:0 auto;
display:flex;
flex-wrap:wrap;
gap:6vw 0;
}
.str li{
width:80vw;
text-align:justify;
}
.str-i{
width:30vw;
height:30vw;
margin:0 auto 4vw;
}

.str-t{
position:relative;
}
.str-t h3{
font-size:4.5vw;
line-height:1.5;
font-weight:500;
letter-spacing:.1em;
margin-bottom:3vw;
}
.str-t p{
font-size:3.5vw;
line-height:1.75;
font-weight:300;
}

.str-num{
font-size:20vw;
line-height:1;
font-weight:bold;
color:#f5f5f5;
position:absolute;
top:-6vw;
right:0;
z-index:-1;
}




#index4{
}

#index4 h3{
text-align:center;
font-size:6vw;
line-height:1.5;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:1em;
}

.i4-bg{
width:100%;
background:url(img/service-bg.jpg) no-repeat center bottom;
backgroound-size:cover;
padding:12vw 0;
}
.svc-list{
width:90vw;
margin:0 auto;
display:flex;
flex-wrap:wrap;
}
.svc-list li{
background:rgba(255,255,255,.7);
border:2px solid #fff;
width:90vw;
padding:6vw 0;
text-align:justify;
margin-bottom:6vw;
position:relative;
}
.svc-list li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}
.svc-list li:last-child{
margin:0;
}
.svc-ttl{
padding:0 6vw 4vw;
}
.svc-ttl h4{
font-size:5.5vw;
line-height:1.5;
margin-bottom:3vw;
}
.svc-info{
font-size:3.8vw;
line-height:1.5;
}

.svc-thumb{
width:100%;
height:60vw;
}
.svc-thumb img{
width:100%;
height:60vw;
object-fit:cover;
}

.svc-desc{
padding:4vw 6vw;
font-size:3.5vw;
line-height:1.5;
font-weight:300;
}


.svc-link{
display:block;
padding:0 10vw;
font-weight:bold;
font-size:3.5vw;
line-height:7vw;
width:100%;
height:8vw;
background:rgba(255,255,255,.7);
border-top:2px solid #fff;
border-bottom:2px solid #fff;
position:relative;
color:#000;
letter-spacing:0;
}
.svc-link::after{
content:'';
width:4vw;
height:5vw;
background:url(img/arrow-right-grad.svg) no-repeat;
background-size:4vw;
position:absolute;
top:1vw;
right:4vw;
}



#index5{
padding:12vw 0;
}
#index5 h3{
text-align:center;
font-size:6vw;
line-height:1.5;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:1em;
}

.column-feed{
width:90vw;
margin:0 auto 8vw;
}
.column-feed li{
width:90vw;
position:relative;
margin-bottom:8vw;
}
.column-feed li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:3;
}

.col-thumb{
width:90vw;
height:64vw;
}
.col-thumb img{
width:90vw;
height:64vw;
object-fit:cover;
}
.col-txt{
text-align:justify;
}

.col-feed-ttl{
font-size:4vw;
line-height:1.5;
font-weight:500;
max-height:18vw;
overflow:hidden;
margin:2vw 0;
}
.col-exc{
font-size:3.5vw;
line-height:1.5;
max-height:15.75vw;
overflow:hidden;
font-weight:300;
}

.column-feed li:hover .col-feed-ttl{
color:#32cd32;
}


.column-link{
width:100vw;
margin:0 auto;
}
.column-link a{
display:block;
font-size:3.5vw;
line-height:10vw;
font-weight:bold;
text-align:center;
background:#f5f5f5;
height:10vw;
position:relative;
color:#000;
}
.column-link a::after{
content:'';
width:4vw;
height:5vw;
background:url(img/arrow-right-grad.svg) no-repeat;
background-size:4vw;
position:absolute;
top:2.5vw;
left:50%;
margin-left:25vw;
}





#index6{
padding:0 0 12vw;
}
.news-ttl{
width:100%;
height:33.33vw;
background:url(img/news-bg-sp.jpg) no-repeat center center;
background-size:cover;
position:relative;
margin-bottom:6vw;
}
.news-ttl h3{
text-align:center;
font-size:6vw;
line-height:1.5;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, 10%);
}

.news-feed{
width:90vw;
margin:0 auto 8vw;
}
.news-feed li{
font-size:3.5vw;
line-height:1.5;
font-weight:300;
position:relative;
padding:3vw 0;
}
.news-feed li::after{
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background-size: 9px 1px;
background-image: linear-gradient(to right, #ccc, #ccc 3px, transparent 2px, transparent 2px);
background-repeat: repeat-x;
}
.news-feed li:last-child::after{
background:none;
}

.news-feed li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.feed-info{
display:flex;
margin-bottom:1vw;
}
.feed-ttl{
width:100%;
white-space:nowrap;
overflow:hidden;
}

.feed-date{
width:24vw;
}
.feed-cat{
width:30vw;
}


.news-link{
width:100vw;
margin:0 auto;
}
.news-link a{
display:block;
font-size:3.5vw;
line-height:10vw;
font-weight:bold;
text-align:center;
background:#f5f5f5;
height:10vw;
position:relative;
color:#000;
}
.news-link a::after{
content:'';
width:4vw;
height:5vw;
background:url(img/arrow-right-grad.svg) no-repeat;
background-size:4vw;
position:absolute;
top:3vw;
left:50%;
margin-left:25vw;
}


/*------------------------------------------------------------
PAGE
------------------------------------------------------------*/
#page-head{

}
.ph-company{
background:url(img/ph-about-sp.jpg) no-repeat center center;
background-size:cover;
width:100%;
height:50vw;
position:relative;
}
.ph-eco-training{
background:url(img/ph-training-sp.jpg) no-repeat center center;
background-size:cover;
width:100%;
height:50vw;
position:relative;
}
.ph-eco-consultation{
background:url(img/ph-consultation-sp.jpg) no-repeat center center;
background-size:cover;
width:100%;
height:50vw;
position:relative;
}

.ph-privacy,
.ph-commerce{
width:100%;
height:25vw;
background:url(img/teaser-other-sp.jpg) no-repeat center center;
background-size:cover;
position:relative;
}

.page-ttl-bg{
width:100%;
height:12vw;
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:5vw;
line-height:12vw;
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:6vw;
font-weight:500;
letter-spacing:.1em;
padding-left:.1em;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
white-space:nowrap;
}


#p-about{
padding:12vw 0;
width:90vw;
margin:0 auto;
}

#p-about h2{
text-align:center;
font-size:6vw;
line-height:2;
margin-bottom:6vw;
letter-spacing:.5em;
padding-left:.5em;
font-weight:500;
}


.top-cc{
font-size:4vw;
line-height:6vw;
margin-bottom:1.5em;
font-weight:500;
letter-spacing:.15em;
}

.message{
position:relative;
margin-bottom:18vw;
}

.message p{
font-size:3.5vw;
line-height:1.75;
font-weight:300;
margin-bottom:8vw;
}


.ceo{
width:100%;
display:flex;
justify-content:flex-end;
align-items:end;
}
.ceo-sign{
width:25vw;
}
.ceo-photo{
width:40vw;
margin-left:5vw;
}
.com-ttl{
font-size:3.5vw;
line-height:1.75;
letter-spacing:.02em;
}
.ceo-name{
font-size:4vw;
line-height:1.5;
letter-spacing:.02em;
}
.ceo-name span{
display:inline-block;
font-size:3vw;
margin-right:.5em;
}



.overview{
padding:0 0 18vw;
}

.ov-col{
}



.ov-img{
width:80vw;
margin:0 auto 6vw;
}
.ovT{
font-size:3.8vw;
line-height:1.75;
font-weight:500;
}
.ovT th{
width:22vw;
vertical-align:top;
text-align:left;
padding:2vw 0;
font-weight:500;
}
.ovT td{
padding:2vw 0 2vw 4vw;
}

.access-info{
text-align:center;
font-size:4vw;
line-height:2;
margin-bottom:5vw;
letter-spacing:.1em;
}


/* ECO TRAINING */
#p-training{
padding:12vw 0 0;
}
#p-training h2{
text-align:center;
font-size:6vw;
line-height:2;
margin-bottom:1em;
font-weight:500;
}
.tra-info{
width:90vw;
font-size:4vw;
line-height:2.5;
font-weight:300;
margin:0 auto 12vw;
}

#p-training h3.pmd01{
text-align:center;
font-size:6vw;
line-height:2;
margin-bottom:2em;
letter-spacing:1em;
padding-left:1em;
font-weight:500;
}

.t-content{
width:90vw;
margin:0 auto 8vw;
position:relative;
}
.t-menu{
font-size:3.8vw;
line-height:1.5;
font-weight:500;
margin-bottom:6vw;
}

.t-menu dt{
width:6em;
}
.t-menu dd{
margin-left:7em;
margin-top:-5.7vw;
margin-bottom:4vw;
}
.t-menu-list li{
padding-left:1em;
position:relative;
}
.t-menu-list li::before{
content:'';
width:1vw;
height:1vw;
background:#000;
border-radius:50%;
position:absolute;
top:2.35vw;
left:1vw;
}

.page-link a{
width:100%;
height:10vw;
background:#f5f5f5;
text-align:center;
font-size:4vw;
display:flex;
justify-content:center;
align-items:center;
font-weight:500;
color:#000;
position:relative;
}
.page-link a::after{
content:'';
width:4vw;
height:5vw;
background:url(img/arrow-right-grad.svg) no-repeat;
background-size:4vw;
position:absolute;
top:2.5vw;
left:50%;
letter-spacing:.2em;
margin-left:25vw;
padding-left:.2em;
}



.t-content .cap{
font-size:3vw;
}

.t-lec{
width:40vw;
height:30vw;
background:url(img/et-lec.png) no-repeat;
background-size:40vw;
margin-top:.5em;
}


.t-pgm{
padding:12vw 0 0;
}

#p-training h3.pmd02{
text-align:center;
font-size:4.5vw;
line-height:1.5;
margin-bottom:2em;
letter-spacing:.25em;
padding-left:.25em;
font-weight:500;
}

.t-gunre{
width:90vw;
height:12vw;
text-align:center;
font-size:5vw;
margin:0 auto 6vw;
display:flex;
align-items:center;
justify-content:center;
background:#f5f5f5;
}

.t-ttl{
width:90vw;
text-align:center;
font-size:4vw;
line-height:6vw;
margin:0 auto 1em;
}
.t-col{
width:90vw;
margin:0 auto 10vw;
display:flex;
justify-content:space-between;
}

.t-col li{
width:43vw;
}
.t-col li img{
width:43vw;
height:46vw;
object-fit:cover;
}

.t-center{
width:60vw;
height:37vw;
margin:0 auto 10vw;
}
.t-center img{
width:60vw;
height:37vw;
object-fit:cover;
}


.sem-cont-md{
background:#000;
color:#fff;
text-align:center;
font-size:5vw;
width:100%;
height:12vw;
display:flex;
align-items:center;
justify-content:center;
font-weight:500;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:6vw;
}
.sem-list{
width:90vw;
margin:0 auto 12vw;
}
.sem-list li{
margin-bottom:8vw;
font-size:4vw;
line-height:1.5;
font-weight:500;
}
.sem-ttl{}
.sem-date{ margin-bottom:2vw;}

.sem-link{
text-align:right;
display:flex;
justify-content:flex-end;
}
.sem-link a{
background:#000;
color:#fff;
font-size:5vw;
width:60vw;
height:10vw;
border-radius:5vw;
display:flex;
justify-content:center;
align-items:center;
font-weight:500;
position:relative;
}

.sem-link a::after{
content:'';
width:1.6vw;
height:1.6vw;
border-right:2px solid #fff;
border-bottom:2px solid #fff;
transform:rotate(-45deg);
position:absolute;
top:4vw;
right:5vw;
}

.sem-link a:hover{
color:#32cd32;
}

.arc-link{
width:90vw;
margin:0 auto 16vw;
text-align:right;
}
.arc-link a{
display:inline-block;
padding-left:8vw;
position:relative;
font-size:4vw;
line-height:2;
color:#000;
font-weight:500;
}
.arc-link a::before{
content:'';
width:6vw;
height:4vw;
background:url(img/d-arrow-right-grad.svg) no-repeat;
background-size:6vw;
position:absolute;
top:2.5vw;
left:0;
}



/* ECO CONSULTATION */

#p-consult{
padding:12vw 0;
}
#p-consult h2{
text-align:center;
font-size:6vw;
line-height:2;
letter-spacing:.5em;
padding-left:.5em;
margin-bottom:1em;
font-weight:500;
}
.consult-md01{
text-align:center;
font-size:4.5vw;
line-height:1.75;
letter-spacing:.1em;
margin-bottom:8vw;
font-weight:500;
}

.issue{
width:90vw;
margin:0 auto 10vw;
}
.issue li{
padding-left:1em;
font-size:4vw;
line-height:1.75;
font-weight:300;
letter-spacing:.08em;
position:relative;
margin-bottom:1.5vw;
}
.issue li::before{
content:'';
width:1vw;
height:1vw;
background:#000;
border-radius:50%;
position:absolute;
top:3.5vw;
left:1vw;
}



.consult-i01{
width:70vw;
height:47vw;
margin:0 auto 10vw;
}
.consult-md02{
text-align:center;
font-size:4.5vw;
letter-spacing:.15em;
font-weight:500;
margin-bottom:8vw;
}



/* COMMERCE */
.commerce{
width:90vw;
margin:0 auto;
padding:12vw 0;
font-size:3.5vw;
line-height:1.75;
}

.commerce h3{
font-size:4.5vw;
line-height:2;
margin-bottom:.5em;
}
.commerce section p{
margin-bottom:8vw;
}

.commerce h4{
font-size:4vw;
line-height:2;
margin-bottom:.5em;
}

.law-list{
margin-bottom:8vw;
}

.law-list li{
padding-left:1.2em;
position:relative;
}
.law-list li::before{
content:'';
width:1vw;
height:1vw;
background:#000;
position:absolute;
top:2.5625vw;
left:.8vw;
}



/* PRIVACY */
.privacy{
width:90vw;
margin:0 auto;
padding:12vw 0;
font-size:3.5vw;
line-height:1.75;
}

.privacy h2{
font-size:4.5vw;
line-height:2;
margin-bottom:.5em;
}
.pp-info{
font-size:4vw;
line-height:2;
margin-bottom:.5em;
}
.privacy section p{
margin-bottom:1.5em;
}
.privacy section{
margin-bottom:8vw;
}

.pp-ttl{
font-size:4vw;
line-height:2;
margin-bottom:.5em;
}
.pp-sub{
font-size:4vw;
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:1vw;
height:1vw;
background:#000;
position:absolute;
top:2.5625vw;
left:.8vw;
}
.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:1vw;
height:1vw;
background:#000;
position:absolute;
top:2.5625vw;
left:.8vw;
}

.pp-list03 li ul.pp-list03-2 li ul.pp-list03-1 li::before{
content:'';
width:1vw;
height:1vw;
background:#000;
position:absolute;
top:2.5625vw;
left:.8vw;
}

.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;
}

/*------------------------------------------------------------
SIDE
------------------------------------------------------------*/

/*------------------------------------------------------------
	CATEGORY ARCHIVE
------------------------------------------------------------*/
.teaser-cat{
width:100%;
height:20.83vw;
background:url(img/teaser-sample.jpg) no-repeat center center;
background-size:cover;
position:relative;
}

.teaser-cat h1{
color:#fff;
font-size:6vw;
font-weight:500;
letter-spacing:.1em;
padding-left:.1em;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
white-space:nowrap;
}

#cat{
width:auto;
margin:0 auto;
padding:12vw 0;
}


.cat-col{
width:90vw;
margin:0 auto;
}
.cat-cont{
margin-bottom:20vw;
}
.cat-side{
margin:0 auto;
}



#cat h2{
font-size:6vw;
line-height:2;
margin-bottom:.5em;
}

.column-desc{
font-size:3.5vw;
line-height:1.75;
margin-bottom:2em;
}



/* COLUMN */

.column-list{
margin:0 auto 12vw;
gap:6vw 0;
display:flex;
flex-wrap:wrap;
}
.column-list li{
display:flex;
position:relative;
padding:3vw 0;
}
.column-list li::after{
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background-size: 9px 1px;
background-image: linear-gradient(to right, #ccc, #ccc 3px, transparent 2px, transparent 2px);
background-repeat: repeat-x;
}

.column-list li:last-child::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:24vw;
height:24vw;
margin-right:6vw;
}


.column-thumb img{
width:24vw;
height:24vw;
object-fit:cover;
}
.column-txt{
width:60vw;
text-align:justify;
}
.col-arc-ttl{
font-size:4vw;
line-height:1.5;
font-weight:300;
max-height:12vw;
overflow:hidden;
margin:0 0 1vw;
}
.column-exc{
font-size:3.5vw;
line-height:1.5;
max-height:15.75vw;
overflow:hidden;
font-weight:300;
}



/* OTHER ARCHIVE */

.archive{
margin-bottom:20vw;
}

.archive li{
padding:4vw 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;
}


.postInfo{
display:flex;
gap:0 4vw;
margin-bottom:4vw;
}
.postDate{
color:#666;
}
.postCat{
font-weight:500;
color:#000;
}
.post-ttl{
font-size:4.5vw;
font-weight:500;
line-height:1.5;
margin-bottom:1em;
}
.post-exc{
font-size:3.5vw;
line-height:1.5;
}



/*------------------------------------------------------------
	SIDE
------------------------------------------------------------*/
.cat-side h3{
font-size:4.5vw;
line-height:2;
font-weight:500;
margin-bottom:.5em;
text-align:center;
}


.side-catlist li{
padding:2vw 0;
text-align:center;
}
.side-catlist li a{
color:#000;
font-weight:500;
}



/*------------------------------------------------------------
	SINGLE
------------------------------------------------------------*/
#single{
width:auto;
margin:0 auto;
padding:12vw 0;
}
#single section{
margin-bottom:10vw;
}

#single h2{
font-size:6vw;
line-height:1.5;
font-weight:500;
margin-bottom:1em;
}


.post{
margin-bottom:20vw;
}
.post h3{
font-size:4vw;
line-height:2;
margin-bottom:.5em;
}

.post h4{
font-size:3.8vw;
line-height:2;
margin-bottom:.5em;
}
.post h5{
font-size:3.5vw;
line-height:2;
margin-bottom:.5em;
}

.post p{
margin-bottom:1.5em;
}
.post p a{
text-decoration:underline;
}
.post img{
margin:2em 0;
}


.writer{
margin:10vw 0;
background:#f5f5f5;
padding:4vw;
}
.w-ttl{
font-weight:bold;
margin-bottom:1em;
}
.w-com{
font-size:1.2em;
font-weight:bold;
}
.w-com span.w-url{
font-size:.8em;
font-weight:normal;
display:inline-block;
margin-left:.5em;
}
.w-name{
font-size:1.1em;
}
.w-post{
margin-bottom:1em;
}
.w-cont{
}



/* SEMINAR */
.sem-date{
font-size:4.5vw;
line-height:1.5;
margin-bottom:8vw;
}

.sem-ttl{
font-size:4vw;
line-height:2;
display:flex;
}
.sem-ttl-num{
}

.sem-md{
margin-bottom:8vw;
margin-left:1em;
}
.sem-md li{
font-size:3.8vw;
line-height:2;
padding-left:1em;
position:relative;
}
.sem-md li::before{
content:'';
width:1vw;
height:1vw;
background:#000;
border-radius:50%;
position:absolute;
top:3.3vw;
left:.4vw;
}

.app-link{
text-align:center;
display:flex;
justify-content:center;
}
.app-link a{
background:#000;
color:#fff;
font-size:5vw;
width:60vw;
height:10vw;
border-radius:5vw;
display:flex;
justify-content:center;
align-items:center;
font-weight:500;
position:relative;
}

.app-link a::after{
content:'';
width:1.6vw;
height:1.6vw;
border-right:2px solid #fff;
border-bottom:2px solid #fff;
transform:rotate(-45deg);
position:absolute;
top:4vw;
right:5vw;
}


/*------------------------------------------------------------
	FOOTER
------------------------------------------------------------*/
footer{
border-top:1px solid #000;
padding:5vw 0;
}
.f-bar-wrap{
width:100%;
background:#000;
padding:10vw 0;
}
.footer-inner{
min-width:90vw;
}


.f-logo{
position:relative;
width:21vw;
height:13.5vw;
margin:0 auto 8vw;
}

.f-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:3;
}

.foot-navi{
}



.foot-contact{
width:80vw;
margin:0 auto;
}
.foot-contact li{
color:#fff;
}
.foot-contact li:nth-child(1){
text-align:center;
margin-bottom:4vw;
}

.foot-contact li:nth-child(2){
}
.foot-contact li:nth-child(2) a{
color:#fff;
border:2px solid #fff;
display:flex;
align-items:center;
font-size:3.5vw;
letter-spacing:.4em;
font-weight:500;
justify-content:center;
text-align:center;
height:12vw;
padding-left:.4em;
transition:all .2s;
}

.hc-tel{
font-size:6vw;
line-height:8vw;
letter-spacing:.12em;
}
.hc-tel span{
display:block;
font-size:3vw;
line-height:8vw;
}

.copy-area{
padding:4vw 0 0;
}
.terms{
display:flex;
justify-content:center;
margin:0 0 6vw;
}
.terms li a{
color:#000;
font-size:3vw;
line-height:6vw;
font-weight:500;
margin:0 4vw;
}

.copy{
font-size:2vw;
line-height:4vw;
text-align:center;
}
