/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
color:#3e3a39;
letter-spacing:.07em;
font-weight:500;
width:100%;
overflow:hidden;
font-size:3.5vw;
line-height:1.75;
background: #fffbe9;
}

/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }


/*------------------------------------------------------------
HEADER
------------------------------------------------------------*/
header{
width:100%;

}
.header-inner{
width:100vw;
height:12vw;
padding:0 0 0 5.333vw;
display:flex;
align-items:center;
}
.site-logo{
font-size:4.975vw;
color:#748447;
font-weight:bold;
position:relative;
}

.site-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:3;
}




/*------------------------------------------------------------
DRAWER MENU
------------------------------------------------------------*/
#menuBtn{
position:fixed;
right:0;
top:0;
width:12vw;
height:12vw;
cursor:pointer;
z-index:9999;
background:#618a40;
}
#menuBtn span{
display:block;
position:absolute;
height:1vw;
width:7vw;
background:#fff;
left:0;
transition:all 0.2s ease-in-out;
}

#menuBtn span:nth-child(1){
left:2.5vw;
top:2.5vw;
}
#menuBtn span:nth-child(2){
left:2.5vw;
top:5.25vw;
}
#menuBtn span:nth-child(3){
left:2.5vw;
top:8.5vw;
}

.active#menuBtn span:nth-child(1){
top:5.5vw;
transform:rotate(45deg);
}
.active#menuBtn span:nth-child(2){
width:0;
left:50%;
}

.active#menuBtn span:nth-child(3){
top:5.5vw;
transform:rotate(-45deg);
}

#menuBox{
display:none;
width:100%;
background:#fffbe9;
height:100vh;
position:fixed;
top:0;
left:0;
box-sizing:border-box;
z-index:9998;
}

#menuBox.active{
display:block;
}

.menuLogoArea{
height:12vw;
padding:0 5.333vw;
position:relative;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
margin:10vw 0 8vw;
}
.menuLogo{
font-size:4.975vw;
line-height:1;
color:#618a40;
font-weight:bold;
}

.spMenuWrap{
width:70vw;
margin:0 auto 6vw;
height:calc(100vh - 65vw);
overflow:auto;
}


.acc-menu{
width:70vw;
margin:0 auto;
}
.acc-menu dt{
width:70vw;
font-size:3.6vw;
color:#618a40;
font-weight:bold;
padding:2vw 0;
position:relative;
}

.acc-menu dt::before{
content:'';
width:3.5vw;
height:.5vw;
background:#618a40;
position:absolute;
top:4.9vw;
right:0;
transition:all .3s;
}
.acc-menu dt::after{
content:'';
width:.5vw;
height:3.5vw;
background:#618a40;
position:absolute;
right:1.5vw;
top:3.4vw;
transition:all .3s;
}

.acc-menu dt.open::before,
.acc-menu dt.open::after{
transform:rotate(90deg);
}
.acc-menu dt.open::before{
opacity:0;
}


.acc-menu dd{
display:none;
padding:2.5vw 0;
margin-left:5vw;
}
.acc-navi li a{
color:#618a40;
padding:2vw 0;
font-size:3.5vw;
font-weight:bold;
display:block;
}



.sp-navi{
width:70vw;
margin:0 auto 6vw;
}
.sp-navi li{
position:relative;
}

.sp-navi li a{
padding:2vw 0;
display:block;
color:#618a40;
font-weight:bold;
font-size:3.6vw;
}



.sp-navi2{
width:70vw;
margin:0 auto;
}
.sp-navi2 li{
position:relative;
}

.sp-navi2 li a{
padding:1vw 0;
display:block;
color:#618a40;
font-weight:bold;
font-size:3.2vw;
}




.sp-c{
width:85.333vw;
margin:0 auto;
display:flex;
justify-content:space-between;
}
.sp-c li{
position:relative;
}
.sp-c li a{
width:41.6vw;
height:12vw;
background:#fff;
display:flex;
align-items:center;
color:#618a40;
font-weight:bold;
font-size:3.6vw;
position:relative;
letter-spacing:0;
border-radius:1vw;
}
.sp-c li:nth-child(1) a{ padding-left:9.333vw; }
.sp-c li:nth-child(2) a{ padding-left:11.2vw; }

.sp-c li:nth-child(1) a::before{
content:'';
width:4.4vw;
height:4.933vw;
background:url(img/icon-tel-gr.svg) no-repeat;
background-size:4.4vw;
position:absolute;
top:3.6vw;
left:3vw;
}
.sp-c li:nth-child(2) a::before{
content:'';
width:6vw;
height:4vw;
background:url(img/icon-mail-gr.svg) no-repeat;
background-size:6vw;
position:absolute;
top:4vw;
left:3.2vw;
}


/*------------------------------------------------------------
TOPPAGE
------------------------------------------------------------*/
#container{
width:100%;
}


/* COUNTER */

.sw-counter-wrap {
width:40vw;
margin:0 auto;
}

.sw-counter-number {
background: #b3b9bb;
color: #000;
display:flex;
align-items: center;
justify-content: center;
font-size: 4vw;
gap:0 1vw;
padding:1vw 1.5vw;
}

.sw-counter-number span.sw-digit{
background:#b6f0ef;
width:6vw;
height:6vw;
text-align:center;
display:inline-block;
line-height:6vw;
border-radius:50%;
}


#kv{
width:100%;
position:relative;
}

.kv-cap{
font-size:2vw;
line-height:1.35;
text-align:right;
position:absolute;
bottom:-7.4vw;
right:2vw;
z-index:10;
}



#index1{
padding:14vw 0 0;
background:#fffbe9;
position:relative;
}
#index1::after{
content:'';
width:100vw;
height:14.133vw;
background:url(img/i-wave01.svg) no-repeat center top;
background-size:100vw;
position:absolute;
left:0;
bottom:-14.133vw;
z-index:1;
}

.i1lead{
text-align:center;
margin-bottom:5.6vw;
}

.i1lead span{
color:#748447;
font-weight:bold;
display:inline-block;
font-size:4.617vw;
line-height:7.672vw;
padding:1.247vw 0;
border-top:2px dashed #748447;
border-bottom:2px dashed #748447;
}

.i1desc{
width:90vw;
margin:0 auto;
text-align:center;
font-size:3.5vw;
line-height:2;
font-weight:500;
}

.i1-cont-bg{
height:141vw;
background:url(img/i1bg-sp.webp) no-repeat center bottom;
background-size:100vw;
padding:10.667vw 0 0.667vw;
}


#index2{
position:relative;
z-index:2;
padding:14.133vw 0 1px;
}


.i-ttl{
text-align:center;
font-size:4.933vw;
line-height:10.133vw;
font-weight:bold;
color:#748447;
margin-bottom:1.333vw;
position:relative;
z-index:10;
}

.i-ttl-desc{
text-align:center;
font-size:3.733vw;
line-height:1.5;
margin-bottom:6vw;
position:relative;
z-index:10;
}




.feed-pagination{
display:flex;
justify-content:center;
gap:0 3vw;
margin-bottom:8vw;
}

.feed-pagination button{
width:22vw;
height:6.4vw;
background:#e1d2c5;
border-radius:.5vw;
border:0;
text-align:center;
position:relative;
}
.feed-pagination button.prev-page::before{
content:'＜';
position:absolute;
top:50%;
left:1.5vw;
transform:translate(0,-50%);
}
.feed-pagination button.next-page::before{
content:'＞';
position:absolute;
top:50%;
right:1.5vw;
transform:translate(0,-50%);
}




.feed{
width:90.933vw;
min-height:93.733vw;
margin:0 auto 6.667vw;
}
.feed li{
display:flex;
flex-wrap:wrap;
position:relative;
align-items:center;
height:18.667vw;
border-bottom:1px solid #c8c9ca;
padding:1.5vw 0;
}

.feed-date{
width:24vw;
padding:0 2.4vw;
}
.feed-cat a{
width:22.933vw;
height:6.4vw;
text-align:center;
display:flex;
justify-content:center;
align-items:center;
border-radius:0.533vw;
margin-left:5.333vw;
font-size:3vw;
color:#333;
}


.cat-topics a{ background:#e1d2c5; }

.cat-area-negishi a{ background:#babadc; }
.cat-area-takigashira a{ background:#ce97b1; }
.cat-area-okamura a{ background:#dfb941; }
.cat-area-isogo a{ background:#caca91; }
.cat-area-shiomidai a{ background:#c6755c; }
.cat-area-byoubu1 a{ background:#86b35f; }
.cat-area-byoubu2 a{ background:#97bfdc; }
.cat-area-sugita a{ background:#bac54e; }
.cat-area-kamisasage a{ background:#9abc9c; }
.cat-area-youkoudai a{ background:#bad5dc; }



.btn a{
color:#333;
padding-right:2em;
font-size:1em;
line-height:1.5;
position:relative;
}
.btn a::before{
content:'';
width:1.5em;
height:1.5em;
background:#748447;
border-radius:50%;
position:absolute;
right:0;
top:0;
z-index:1;
}
.btn a::after{
content:'';
width:6px;
height:6px;
border-right:2px solid #fff;
border-bottom:2px solid #fff;
transform:rotate(-45deg);
position:absolute;
top:.45em;
right:.535em;
z-index:2;
}





.feed-ttl{
width:90.933vw;
padding:0 2.4vw;
}

.feed-ttl a{
color:#333;
}
.feed-ttl a:hover{
color:#748447;
}



#index3{
position:relative;
background:#fffbe9;
padding:14.667vw 0 11.2vw;
}

.i3-ttl-area{
position:relative;
}



.area-list{
width:90.4vw;
margin:0 auto;
}
.area-list li{
display:flex;
flex-wrap:wrap;
border-bottom:1px solid #c8c9ca;
padding:3vw 0;
}
.area-list li:last-child{
border:0;
}

.area-num{
width:9.067vw;
text-align:center;
}

.area-num span{
width:4.267vw;
height:4.267vw;
background:#3e3a39;
color:#fffdea;
border-radius:2.133vw;
line-height:4.267vw;
display:inline-block;
}

.area-group{
width:50vw;
height:6.133vw;
padding:0 2.4vw;
border-radius:0.667vw;
display:flex;
align-items:center;
}
.negishi{ background:#babadc; }
.takigashira{ background:#ce97b1; }
.okamura{ background:#dfb941; }
.isogo{ background:#caca91; }
.shiomidai{ background:#c6755c; }
.byoubugaura1{ background:#86b35f; }
.byoubugaura2{ background:#97bfdc; }
.sugita{ background:#bac54e; }
.kamisasage{ background:#9abc9c; }
.youkoudai{ background:#bad5dc; }

.area-name{
margin-top:2vw;
width:90.4vw;
padding:0 2.4vw;
}


.i3-cont{
}

.isogo-map{
width:92.4vw;
height:84.54vw;
background:url(img/isogo-map-sp.webp) no-repeat center top;
background-size:92.4vw;
margin:0 auto 9.6vw;
position:relative;
}

.area02 { display:block; position: absolute; top:0; left:14.49vw; width:18.36vw; height:15.46vw;}
.area01 { display:block; position: absolute; top:0; left:63.53vw; width:18.36vw; height:15.46vw;}
.area03 { display:block; position: absolute; top:17.39vw; left:0; width:18.36vw; height:15.46vw;}
.area04 { display:block; position: absolute; top:17.39vw; left:73.91vw; width:18.36vw; height:15.46vw;}
.area05 { display:block; position: absolute; top:34.54vw; left:0; width:18.36vw; height:15.46vw;}
.area06 { display:block; position: absolute; top:34.54vw; left:73.91vw; width:18.36vw; height:15.46vw;}
.area07 { display:block; position: absolute; top:51.93vw; left:0; width:18.36vw; height:15.46vw;}
.area08 { display:block; position: absolute; top:51.93vw; left:73.91vw; width:18.36vw; height:15.46vw;}
.area09 { display:block; position: absolute; top:68.84vw; left:0; width:18.36vw; height:15.46vw;}
.area10 { display:block; position: absolute; top:68.84vw; left:73.91vw; width:18.36vw; height:15.46vw;}

.area01,
.area02,
.area03,
.area04,
.area05,
.area06,
.area07,
.area08,
.area09,
.area10{
  font-size: 0;
  color: transparent;
}



/*------------------------------------------------------------
PAGE
------------------------------------------------------------*/
.s-head{
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:relative;
height:21vw;
  background-image: url(img/s-head2.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
z-index:2;
}
.s-head h1{
color:#fff;
font-size:5vw;
line-height:1;
position:absolute;
top:3vw;
left:50%;
transform:translate(-50%, 0);
white-space:nowrap;
}


#page{
padding:6vw 0 10vw;
position:relative;
}

#page section{
width:90vw;
margin:0 auto;
position:relative;
z-index:3;
}


.wh-bg{
padding:12vw 0 10vw;
background: #fff;
position:relative;
}
.wh-bg::before{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:absolute;
top:0;
width:100%;
height:12vw;
background-image: url(img/i-wave01.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
}

.wh-bg2{
padding:12vw 0;
background: #fff;
position:relative;
}
.wh-bg2::before{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:absolute;
top:0;
width:100%;
height:12vw;
  background-image: url(img/i-wave01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
.wh-bg2::after{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:absolute;
bottom:0;
width:100%;
height:12vw;
  background-image: url(img/i-wave02.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

.p-container{
position:relative;
}
.p-container::before,
.p-container::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: min(24vw, calc((100% - 40vw) / 2));
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100% auto;

  pointer-events: none;
  z-index: 2;
}

/* 左 */
.p-container::before {
  left: -4vw;
  background-image: url("img/p-bg-l.webp");
}

/* 右 */
.p-container::after {
  right:-4vw;
  background-image: url("img/p-bg-r.webp");
}


/* AREA */

h2.md-negishi{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#babadc;
border-radius:5vw;
text-align:center;
}
h2.md-taki{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#ce97b1;
border-radius:5vw;
text-align:center;
}
h2.md-okamura{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#dfb941;
border-radius:5vw;
text-align:center;
}
h2.md-isogo{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#caca91;
border-radius:5vw;
text-align:center;
}
h2.md-shiomidai{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#ce9c8b;
border-radius:5vw;
text-align:center;
}
h2.md-byoubu1{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#86b35f;
border-radius:5vw;
text-align:center;
}
h2.md-byoubu2{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#97bfdc;
border-radius:5vw;
text-align:center;
}
h2.md-sugita{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#bac54e;
border-radius:5vw;
text-align:center;
}
h2.md-kamisasage{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#9abc9c;
border-radius:5vw;
text-align:center;
}
h2.md-youkoudai{
margin:8vw auto;
font-size:5.5vw;
line-height:1.6;
background:#bad5dc;
border-radius:5vw;
text-align:center;
}

h3.md01{
font-size:4.5vw;
line-height:1.75;
color:#618a40;
text-align:center;
margin-bottom:4vw;
}

.cont-text{
font-size:3.5vw;
line-height:1.75;
font-weight:500;
letter-spacing:.07em;
margin-bottom:12vw;
}

.photo{
width:84vw;
height:55vw;
padding:2vw;
background:#fff;
box-shadow:0 0 4vw rgba(0,0,0,.3);
margin:0 auto 6vw;
position:relative;
z-index:3;
}

.photo img{
width:80vw;
height:51vw;
object-fit:cover;
}

.photo-caption{
font-size:3.5vw;
line-height:2;
text-align:center;
}


h3.md02{
font-size:4.5vw;
line-height:1.75;
color:#618a40;
text-align:center;
border-bottom:.8vw solid #618a40;
margin-bottom:6vw;
}
h3.md03{
font-size:4.5vw;
line-height:1.75;
color:#618a40;
margin-bottom:3vw;
}



/* NEGISHI */

.sche-list li{
display:flex;
border-bottom:.8vw dotted #618a40;
padding:6vw 0;
flex-wrap:wrap;
}
.sche-list li:last-child{
border:0;
}

.sche-ttl{
font-size:4vw;
line-height:1;
font-weight:bold;
color:#b37823;
width:100%;
padding-bottom:3vw;
}
.sche-cont{
font-size:3.5vw;
line-height:1.75;
width:100%;
margin:0 0 3vw;
}
.sche-cont-c{
font-size:3.5vw;
line-height:1.75;
width:100%;
margin:0 0 3vw;
}


.sche-photo{
width:90vw;
height:80vw;
background:#f5f5f5;
}
.sche-photo img{
width:90vw;
height:80vw;
object-fit:cover;
}

.sche-photo2{
display:flex;
justify-content:center;
gap:0 2vw;
}
.sche-photo2 img{
width:44vw;
height:50vw;
object-fit:cover;
}

/* TAKIGASHIRA */

.act-list{
display:flex;
flex-wrap:wrap;
padding:0;
margin:4vw auto 6vw;
}
.act-list li{
position:relative;
font-size:3.5vw;
line-height:2;
color:#b37823;
margin-right:4vw;
font-weight:bold;
}
.act-list li::before{
content:'●';
color:#f0d04e;
margin-right:.1em;
}


.act-photos{
width:90vw;
margin:0 auto 6vw;
display:flex;
flex-wrap:wrap;
gap:4vw;
}
.act-photos li{
width:100%;
}

.act-photo-caption{
text-align:center;
font-size:3.2vw;
line-height:1.35;
margin:1.5vw 0 0;
}
.act-photo-tt-caption{
font-size:3.2vw;
line-height:1.35;
margin:1.5vw 0 0;
}

.act-list-col3{
display:flex;
width:90vw;
margin:0 auto;
gap:0 1.5vw;
}
.act-list-col3 li{
width:29vw;
}

.isogo-act-ttl{
background:rgba(179,120,35,.3);
color:#b37823;
font-size:4vw;
line-height:1.35;
text-align:center;
border-radius:7.4vw;
padding:2vw 6vw;
margin:0 auto 2vw;
}
.isogo-act-ttl span{
display:block;
font-size:.75em;
}

.isogo-act-ttl-sub{
text-align:center;
font-size:3.75vw;
padding:2vw 0 6vw;
border-bottom:.8vw dotted #618a40;
}


.sche-txtL{
width:100%;
margin-bottom:3vw;
}
.sche-txtL2{
width:100%;
margin-bottom:3vw;
}
.sche-txtL0{
width:100%;
margin-bottom:3vw;
}


.sche-photo3{
display:flex;
gap:4vw 0;
flex-direction:column;
align-items:center;
justify-content:center;
}


h4.md01{
color:#b37823;
font-size:4.5vw;
line-height:1.35;
margin:0 0 1.5vw;
}
.held{
color:#b37823;
font-size:3.75vw;
font-weight:bold;
margin:0 0 3vw;
}



.act-list-col2{
display:flex;
flex-wrap:wrap;
width:90vw;
margin:0 auto;
gap:3vw 1.5vw;
}
.act-list-col2 li{
width:44.25vw;
}


.act-list-col2-c{
display:flex;
justify-content:center;
width:90vw;
margin:0 auto;
gap:0 1.5vw;
}
.act-list-col2-c li{
width:auto;
}

.act-list-col2-tt{
width:90vw;
margin:0 auto;
display:flex;
flex-wrap:wrap;
gap:6vw 0;
}
.act-list-col2-tt li{
width:100%;
}



.act-box{
margin:0 auto;
}
.act-box p{
margin-bottom:6vw;
}
.act-box1{
margin-bottom:10vw !important;
}


.sep-dots{
width:100%;
padding:0 0 6vw;
border-bottom:.8vw dotted #618a40;
margin:0 0 6vw;
}


.act-desc{
width:90vw;
margin:0 auto 3vw;
}

/* KAMISASAGE */


.mem-names{
display:flex;
justify-content:center;
gap:0 2vw;
}
.ks-mem{
width:44vw;
}
.ks-mem li{
font-size:3.5vw;
line-height:1.5;
color:#618a40;
position:relative;
font-weight:bold;
margin:2vw 0;
}
.ks-mem li::before{
content:'●';
margin-right:.1em;
color:#f0d04e;
}

.ks-mem li span{
display:inline-block;
color:#3e3a39;
margin-left:1.1em;
}



.ykd-desc{
text-align:center;
padding-top:6vw;
border-top:.8vw solid #b4b4b5;
font-size:3.75vw;
margin-bottom:10vw;
}





/* MISSION */

.mis-col{
display:flex;
width:90vw;
margin:0 auto 10vw;
flex-wrap:wrap;
gap:6vw 0;
}
.mis-colL{
width:100%;
}
.mis-colR{
width:100%;
}

.mis-colsp{
width:100%;
}


.mis-col h2{
font-size:5vw;
line-height:1.35;
color:#618a40;
padding-bottom:2vw;
border-bottom:2px solid #618a40;
margin-bottom:4vw;
}
h2.mis-md01 span{
font-size:2.5vw;
display:inline-block;
margin-left:1vw;
}
h2.mis-md02{
text-align:right;
}


.mis-list li{
position:relative;
font-size:3.5vw;
line-height:1.5;
font-weight:500;
padding-left:6vw;
margin-bottom:1.5em;
}
.mis-list li::before{
content:'●';
color:#f0d04e;
font-size:3.5vw;
position:absolute;
top:0;
left:0;
}
.mis-list li span{
color:#618a40;
}


.mis-ill01{
width:70.4vw;
margin:0 auto;
}
.mis-ill02{
width:44.8vw;
margin:0 auto;
}
.mis-ill03{
width:44.8vw;
margin:0 auto;
}
.mis-ill04{
width:61.6vw;
margin:0 auto;
}



.philosophy{
width:90vw;
height:auto;
margin:0 auto 10vw;
background:#f0d04e;
border-radius:4vw;
position:relative;
padding:5vw;
}
.philosophy::before{
content:'';
width:calc(100% - 5vw - 6px);
height:calc(100% - 5vw - 6px);
border:3px solid #fff;
border-radius:3vw;
position:absolute;
top:2.5vw;
left:2.5vw;
}

h3.mis-md01{
text-align:center;
color:#618a40;
font-size:5vw;
line-height:1.35;
margin-bottom:5vw;
}

.mis-p-list li{
font-size:3.75vw
line-height:1.5;
padding-left:8vw;
position:relative;
margin-bottom:2.5vw;
}
.mis-p-list li::before{
content:'一、';
position:absolute;
top:0;
left:0;
}




/* MESSAGE */
.mes-lead{
width:90vw;
font-size:3.5vw;
line-height:1.5;
margin:0 auto 6vw;
}


.chair-message{
position:relative;
z-index:2;
}

.town-bg{
position:relative;
}
.town-bg::before{
content:'';
width:100%;
height:32vw;
background:url(img/town-bg.webp) no-repeat;
background-size:cover;
position:absolute;
top:-45vw;
left:50%;
transform:translate(-50%, 0);
z-index:1;
}




/* COMITTIES */

.com-col{
display:flex;
flex-wrap:wrap;
padding:0;
width:90vw;
margin:0 auto 10vw;
gap:4vw 0;
}
.com-colL{
width:100%;
}
.com-colR{
width:100%;
}
.com-colsp{
width:100%;
}

.com-col h2.com-md01{
font-size:5vw;
line-height:1.35;
color:#618a40;
border-top:2px solid #618a40;
border-right:2px solid #618a40;
border-bottom:2px solid #618a40;
border-radius:0 1.5rem 1.5rem 0;
margin-bottom:3vw;
padding:3vw 6vw 3vw 3vw;
}
.com-col h2.com-md02{
font-size:5vw;
line-height:1.35;
color:#618a40;
border-top:2px solid #618a40;
border-left:2px solid #618a40;
border-bottom:2px solid #618a40;
border-radius:6vw 0 0 6vw;
margin-bottom:3vw;
padding:3vw 3vw 3vw 6vw;
}

.com-col p{
font-size:3.5vw;
line-height:1.75;
}

.com-ill01{ width:58vw; margin:0 auto; }
.com-ill02{ width:62.4vw; margin:0 auto; }
.com-ill03{ width:84vw; margin:0 auto; }
.com-ill04{ width:63.2vw; margin:0 auto; }




/* NEWSLETTER */

.nl-list{
width:90vw;
margin:0 auto 10vw;
}
.nl-list li a{
position:relative;
font-size:3.5vw;
line-height:3;
color:#3e3a39;
display:inline-flex;
align-items:center;
}
.nl-list li a::after{
content:'';
width:5.2vw;
height:6.4vw;
background:url(img/icon-pdf.svg) no-repeat;
background-size:5.2vw;
margin-left:1vw;
}

.blink{
color:#cc2728;
font-weight:bold;
margin-left:2vw;
animation:blink .5s infinite alternate;
}
@keyframes blink{
   0% { color: transparent }
 100% { color: #cc2728; }
}
.nl-list li a:hover{
color:#618a40;
}




/* RELATED ORGANIZATION */

section.r-org{
margin-bottom:10vw !important;
}

.ro-links{
display:flex;
flex-wrap:wrap;
}
.ro-links li{
width:100%;
}


.ro-links li a{
color:#3e3a39;
font-size:3.75vw;
line-height:1.5;
position:relative;
display:inline-flex;
gap:0 1vw;
}
.ro-links li a::after{
content:'';
width:3.6vw;
height:3.6vw;
background:url(img/icon-external.svg) no-repeat;
background-size:3.6vw;
position:relative;
top:1vw;
}
.ro-links li a:hover{
color:#618a40;
}




/* TIPS */
.page-lead{
font-size:3.5vw;
line-height:1.75;
}
.page-lead-last{
font-size:3.5vw;
line-height:1.75;
margin-bottom:12vw;
}

#page section.tips-layer01{
padding-bottom:30vw;
}
#page section.tips-layer02{
margin-top:-30vw;
position:relative;
z-index:3;
}
#page section.tips-layer03{
padding-top:12vw;
}

.nl-thumbs{
display:flex;
justify-content:center;
gap:0 1.5vw;
margin:0 auto 12vw;
}
.nl-thumbs li{
width:36.5vw;
}

.ext-btn,
.ext-btn-pdf{
text-align:center;
}

.ext-btn a,
.ext-btn-pdf a{
background:#618a40;
color:#fff;
font-size:4vw;
height:12vw;
border-radius:2vw;
display:inline-flex;
align-items:center;
padding:0 12vw;
}
.ext-btn a::after{
content:'';
width:4vw;
height:4vw;
background:url(img/icon-external-wh.svg) no-repeat;
background-size:4vw;
margin-left:.4em;
}
.ext-btn-pdf a::after{
content:'';
width:4vw;
height:4vw;
background:url(img/icon-pdf-wh.svg) no-repeat;
background-size:4vw;
margin-left:.4em;
}


.mingy{
width:90vw;
margin:6vw auto;
display:flex;
flex-wrap:wrap;
gap:2vw 0;
align-items:center;
}
.mingy-ill{
width:56vw;
margin:0 auto;
}
.mingy-name{
width:100%;
font-size:5.5vw;
line-height:1.5;
color:#618a40;
text-align:center;
}
.mingy-name span{
font-size:3.5vw;
line-height:2;
display:block;
}

.center-link-cap{
text-align:center;
margin-top:10px;
}



/* PAST OFFICERS */
#page section.po{
padding:2rem 0 5rem;
}

.twrap{
overflow:auto;
}

.poT{
width:100%;
}
.poT thead th{
border-bottom:2px solid #3e3a39;
text-align:left;
padding:1.5vw 2vw;
}
.poT tbody td{
border-bottom:1px solid #3e3a39;
padding:1.5vw 2vw;
vertical-align:top;
white-space:nowrap;
}

.t-tips{
font-size:3.5vw;
line-height:1.5;
margin-bottom:2vw;
}
.t-tips span{
display:inline-block;
font-size:2.5vw;
margin-left:1em;
}



/* PRIVACY */

#page section.pp{
padding:8vw 0 0;
}

#page section.pp p{
margin-bottom:2em;
font-size:3.5vw;
}
.pp-terms{
counter-reset: my-counter;
padding-left: 0;
}
.pp-terms li{
counter-increment: my-counter;
margin-bottom:2.5em;
padding-left:2em;
position:relative;
}
.pp-terms li::before{
content: counter(my-counter)"．";;
font-size:4vw;
font-weight:bold;
line-height:1.5;
position:absolute;
top:0;
left:0;
}
.pp-ttl{
font-size:4vw;
font-weight:bold;
line-height:1.5;
margin-bottom:1.5vw;
}



/*------------------------------------------------------------
CATEGORY ARCHIVE
------------------------------------------------------------*/
#cat{
padding:6vw 0 10vw;
position:relative;
}


.archive{
width:90vw;
margin:0 auto;
padding:0 0 10vw;
position:relative;
z-index:10;
}
.archive li{
padding:6vw 0;
display:flex;
justify-content:space-between;
position:relative;
flex-wrap:wrap;
gap:4vw 0;
}
.arc-thumb{
width:100%;
}

.arc-thumb img{
aspect-retio:320 / 240;
width:100%;
}


.arc-text{
width:100%;
}

.archive li h3{
font-size:4.2vw;
line-height:1.35;
margin-bottom:4vw;
}

.arc-cat a{
width: auto;
height: 6.4vw;
display:flex;
align-items:center;
justify-content:center;
padding:0 3vw;
border-radius:4px;
color:#333;
font-size:.875em;
}


.excerpt{
margin-bottom:1em;
}


.wp-pagenavi {
clear: both;
text-align:center;
}
.wp-pagenavi a, .wp-pagenavi span {
text-decoration: none;
width:8vw;
height:8vw;
display:inline-block;
text-align:center;
line-height:8vw;
margin: 0 2vw;
background:#f2f2f2;
color: #333;
transition:all 0.2s;
border-radius:50%;
}
.wp-pagenavi a:hover, .wp-pagenavi span.current {
background: #748447;
color: #fff;
}


/*------------------------------------------------------------
SINGLE
------------------------------------------------------------*/
#s-container{
position:relative;
}
#s-container::before,
#s-container::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: min(24vw, calc((100% - 40vw) / 2));
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100% auto;

  pointer-events: none;
  z-index: 2;
}

/* 左 */
#s-container::before {
  left: -4vw;
  background-image: url("img/p-bg-l.webp");
}

/* 右 */
#s-container::after {
  right:-4vw;
  background-image: url("img/p-bg-r.webp");
}


#single{
padding:6vw 0 10vw;
position:relative;
}

#single section{
width:90vw;
margin:0 auto;
position:relative;
z-index:3;
}



.post-ttl-area{
margin-bottom:6vw;
}
.post-info{
display:flex;
gap:0 4vw;
margin-bottom:3vw;
}
.post-date{
font-size:3vw;
line-height:2;
}
.post-cat a{
width: 26vw;
height: 6.4vw;
display:flex;
align-items:center;
justify-content:center;
border-radius:1vw;
padding:0 3vw;
font-size:3vw;
line-height:2;
color:#333;
}



.post-ttl-area h2{
font-size:4.5vw;
line-height:1.35;
margin-bottom:6vw;
}


.post{
margin-bottom:12vw;
font-size:3.5vw;
line-height:1.75;
}

.post h2{
font-size:4.5vw;
line-height:1.35;
margin:2.5vw 0;
}

.post h3{
font-size:4vw;
line-height:1.35;
margin:2vw 0;
}
.post h4{
font-size:3.5vw;
line-height:1.35;
margin:2vw 0;
}



.post p{
margin-bottom:1.5em;
}

.post p::after{
content:'';
display:block;
clear:both;
}

.post img{
margin:1vw;
}



.documents{
width:90vw;
display:flex;
gap:2vw 0;
flex-direction:column;
margin:0 0 10vw;
}
.documents li{
display:flex;
gap:0 4vw;
align-items:center;
}
.doc-icon{
width:10vw;
height:10vw;
}
.doc-txt{
width:78vw;
}

.documents li a{
color:#333;
}
.documents li a:hover{
color:#618a40;
text-decoration:underline;
}


/*------------------------------------------------------------
	SEARCH
------------------------------------------------------------*/
.search-box{
width:90vw;
margin:0 auto;
position:relative;
}

input[type="search"].search-field{
width:90vw;
padding:3vw;
border:1px solid #ccc;
background:#fff;
border-radius:1.2vw;
}

button[type="submit"].search-submit{
width:16vw;
height:6.125vw;
background:#748447;
color:#fff;
position:absolute;
top:0;
right:0;
border-radius:0 1.2vw 1.2vw 0;
border:0;
cursor:pointer;
font-weight:bold;
}

.search-result{
width:90vw;
margin:6vw auto 0;
font-size:4vw;
position:relative;
z-index:10;
}



/*------------------------------------------------------------
	FOOTER
------------------------------------------------------------*/
.f-wave{
position:relative;
width:100%;
height:6vw;
}

.f-wave::after{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:relative;
height:6vw;
background-image: url(img/f-wave.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
z-index:11;
}
.f-wave-wh{
position:relative;
width:100%;
height:6vw;
background:#fff;
}
.f-wave-wh::after{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:relative;
height:6vw;
background-image: url(img/f-wave.svg);
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
z-index:11;
}


footer{
background:#8da559;
padding:9.333vw 0 4vw;
}
.f-site-ttl{
font-size:4.267vw;
font-weight:bold;
letter-spacing:.35em;
margin-bottom:5.333vw;
}

.footer-inner{
width:85.333vw;
margin:0 auto;
}


.f-contact{
margin-bottom:7.333vw;
}
.fadd{
font-size:3.333vw;
line-height:4.533vw;
color:#fff;
margin-bottom:6vw;
}

.f-cbtn{
display:flex;
justify-content:space-between;
margin-bottom:3.333vw;
}
.f-cbtn li{
position:relative;
}
.f-cbtn li a{
width:41.6vw;
height:8vw;
background:#006934;
display:flex;
align-items:center;
color:#fff;
font-weight:bold;
font-size:3.6vw;
position:relative;
letter-spacing:0;
}
.f-cbtn li:nth-child(1) a{ padding-left:9.333vw; }
.f-cbtn li:nth-child(2) a{ padding-left:11.2vw; }

.f-cbtn li:nth-child(1) a::before{
content:'';
width:4.4vw;
height:4.933vw;
background:url(img/icon-tel.svg) no-repeat;
background-size:4.4vw;
position:absolute;
top:1.6vw;
left:2.4vw;
}
.f-cbtn li:nth-child(2) a::before{
content:'';
width:6vw;
height:4vw;
background:url(img/icon-mail.svg) no-repeat;
background-size:6vw;
position:absolute;
top:2vw;
left:3.6vw;
}


.copy{
color:#fff;
font-size:3vw;
margin:0 auto;
}
