/*------------------------------------------------------------
	FOR PC LAYOUT CSS
------------------------------------------------------------*/
@media screen and (min-width:768px){

/*------------------------------------------------------------
	BODY BASIC
------------------------------------------------------------*/
body{
font-size: 16px;
line-height:1.75;
color:#3e3a39;
letter-spacing:.06em;
font-weight:500;
width:100%;
overflow:hidden;
font-feature-settings:'palt';
background: #fffbe9;
}



/*------------------------------------------------------------
	RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:block; }
.sponly{ display:none; }


/*------------------------------------------------------------
	HEADER
------------------------------------------------------------*/
header{
width:100%;
background:#fff;
}
.header-inner{
width:100%;
height:100px;
padding:13px 2.5%;
display:flex;
justify-content:space-between;
align-items:center;
gap:0 2rem;
}
.site-logo{
font-size:clamp(1.35rem, 2vw, 2.6875rem);
line-height:1;
color:#748447;
font-weight:bold;
position:relative;
white-space:nowrap;
}
.site-logo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}

.head-menu-wrap{
width:auto;
display:flex;
flex-wrap:wrap;
justify-content:flex-end;
}



.head-menu01{
width:465px;
display:flex;
justify-content:space-between;
align-items:center;
}

.head-c{
width:270px;
display:flex;
justify-content:space-between;
align-items:center;
}

.c-mark{
width:80px;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
height:24px;
border:1px solid #748447;
color:#748447;
font-size:1rem;
font-weight:500;
}
.h-tel{
color:#748447;
font-weight:bold;
font-size:1.2rem;

}

.h-mail{
width:36px;
height:24px;
background:#748447;
position:relative;
}
.h-mail::after{
content:'';
width:21px;
height:14px;
background:url(img/icon-mail.svg) no-repeat;
background-size:21px;
position:absolute;
top:50%;
left:50%;
transform:translate(-50%, -50%);
pointer-events:none;
}
.h-mail a{
width:36px;
height:24px;
display:block;
}



.sw-font-resizer{
display:flex;
gap:0 10px;
}
.sw-font-resizer button{
-webkit-appearance:none;
width:50px;
height:24px;
font-size:14px;
background:#fff;
border:1px solid #ccc;
border-radius:4px;
cursor:pointer;
}

.head-menu02{
width:auto;
}

.gnavi{
width:100%;
display:flex;
justify-content:space-between;
}
.gnavi li{
display:flex;
align-items:center;
height:40px;
}

.gnavi li a{
  padding: 0 clamp(12px, calc(1.2vw + 8px), 20px);
  font-size: clamp(.875rem, 1vw, 1.15rem);
  line-height: 40px;
  color: #333;
  display: block;
position:relative;
white-space:nowrap;
}

.gnavi li.left-border a::before{
content:'';
width:1px;
height:20px;
background:#333;
position:absolute;
left:0;
top:10px;
}

.gnavi li a::after{
content:'';
width:1px;
height:20px;
background:#333;
position:absolute;
right:0;
top:10px;
}
.gnavi li:last-child a::after{
background:none;
}

.gnavi li.acc{
padding: 0 clamp(12px, calc(1.2vw + 8px), 20px);
font-size: clamp(.875rem, 1vw, 1.15rem);
line-height: 1;
color: #333;
white-space:nowrap;
}
.gnavi li.acc:hover{
color:#618a40;
}

.gnavi li:last-child a{
padding-right:0;
}

.gnavi li:last-child::after{
background:none;
}
.gnavi li a:hover{
color:#618a40;
}


.gnavi li:first-child a{
padding-left:0;
}

.sub-navi-wrap{
display:none;
width:100%;
height:auto;
padding:2rem 0;
background:#faf9f2;
position:absolute;
top:87px;
left:0;
z-index:999;
}
.sub-navi-inner{
display:flex;
width:1100px;
margin:0 auto;
align-items:center;
}
.sub-navi-ttl{
width:180px;
padding:0 40px 0 0;
margin-right:60px;
font-size:1.1em;
position:relative;
}
.sub-navi-ttl::after{
content:'';
width:1px;
height:96px;
background:#333;
position:absolute;
right:0;
top:-40px;
}


.sub-navi-menu{
width:820px;
}
.sub-navi{
display:flex;
flex-wrap:wrap;
gap:10px 20px;
}
li.acc ul.sub-navi li{
width:calc((100% - 60px) / 3) !important;
font-size:1rem !important;
line-height:2 !important;
padding-left:1.2rem !important;
position:relative;
height:2rem !Important;
}
.sub-navi li::before{
content:'';
width:5px;
height:8px;
background:url(img/icon-caret-v.svg) no-repeat;
position:absolute;
top:12px;
left:4px;
}
.sub-navi li::after{
content:'';
background:none;
}
.sub-navi li a{
line-height:1 !important;
}

.sub-navi li a:hover{
color:#618a40;
}

.sub-navi li a::after{
background:none;
}


/*------------------------------------------------------------
	TOPPAGE
------------------------------------------------------------*/
#container{
width:100%;
}

.sw-content {
transition: font-size 0.1s ease;
}


#kv{
width:100%;
position:relative;
}

#kv img{
display:block;
margin:0 auto;
}

.kv-cap{
font-size:.75rem;
line-height:1.5;
text-align:right;
position:absolute;
bottom:1rem;
right:1rem;
}



/* COUNTER */

.sw-counter-wrap {
width:163px;
margin:0 auto;
}

.sw-counter-number {
background: #b3b9bb;
color: #000;
display:flex;
align-items: center;
justify-content: center;
font-size: 20px;
gap:0 4px;
padding:4px 6px;
}

.sw-counter-number span.sw-digit{
background:#b6f0ef;
width:27px;
height:27px;
text-align:center;
display:inline-block;
line-height:27px;
border-radius:50%;
}


.top-navi{
display:flex;
justify-content:center;
margin:0 auto 115px;
}
.top-navi li{
position:relative;
padding:0 20px;
font-size:1em;
line-height:1.35;
}
.top-navi li::after{
content:'';
width:1px;
height:20px;
background:#333;
position:absolute;
top:2px;
right:0;
}
.top-navi li:last-child::after{
background:none;
}

.top-navi li a{
color:#3e3a39;
}
.top-navi li a:hover{
color:#618a40;
}



#index1{
padding:74px 0 0;
background:#fffbe9;
position:relative;
}



.i1lead{
text-align:center;
margin-bottom:1.56rem;
}
.i1lead span{
padding:1rem 0;
border-top:2px dashed #748447;
border-bottom:2px dashed #748447;
color:#748447;
font-weight:bold;
font-size:1.63875em;
line-height:1.35;
display:inline-block;
}



.i1desc{
text-align:center;
font-size:1.125em;
line-height:1.88;
font-weight:500;
}

.i1-cont-bg{
height:auto;
background:url(img/i1bg.webp) no-repeat center 38px;
background-size:1469px;
min-height:552px;
padding:35px 0 120px;
}


#index2{
position:relative;
z-index:2;
padding:0 0 144px;
background:#fff;
}
#index2::before{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:absolute;
top:0;
width:100%;
height:124px;
  background-image: url(img/i-wave01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}
#index2::after{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:absolute;
bottom:0;
width:100%;
height:124px;
  background-image: url(img/i-wave02.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}



.i-ttl{
text-align:center;
font-size:1.625em;
line-height:1.57;
font-weight:bold;
color:#748447;
margin-bottom:15px;
position:relative;
z-index:10;
}

.i-ttl-desc{
text-align:center;
font-size:1.125em;
line-height:1.88;
margin-bottom:2rem;
position:relative;
z-index:10;
}

.feed-pagination{
display:flex;
justify-content:center;
gap:0 15px;
margin-bottom:40px;
}

.feed-pagination button{
width:110px;
height:32px;
background:#e1d2c5;
border-radius:4px;
border:0;
text-align:center;
position:relative;
}
.feed-pagination button.prev-page::before{
content:'＜';
position:absolute;
top:50%;
left:10px;
transform:translate(0,-54%);
}
.feed-pagination button.next-page::before{
content:'＞';
position:absolute;
top:50%;
right:10px;
transform:translate(0,-54%);
}

#news-feed-container{
min-height:315px;
}


.feed{
width:990px;
min-height:315px;
margin:0 auto 2.5rem
}
.feed li{
display:flex;
position:relative;
align-items:center;
height:60px;
border-bottom:1px solid #c8c9ca;
padding:0;
}

.feed-date{
width:110px;
padding:0;
text-align:center;
font-size:1.125em;
}
.feed-cat a{
width:180px;
height:32px;
text-align:center;
display:flex;
justify-content:center;
align-items:center;
margin-left:20px;
padding:0 1rem;
border-radius:4px;
font-size:.875em;
color:#333;
}

.feed-ttl{
width:640px;
margin-left:40px;
padding:0;
font-size:1.125em;
}



#index3{
position:relative;
padding:0;
background:none;
}


.i3-ttl-area{
position:relative;
height:80px;
}


.i3-cont{
padding:40px 0 82px;
background:#fffbe9;
}

.isogo-map{
width:1302px;
height:1191px;
background:url(img/isogo-map-pc.webp) no-repeat center top;
background-size:1302px;
margin:0 auto 60px;
position:relative;
}

.area01 { display:block; position: absolute; top:0; left:892px; width:260px; height:224px;}
.area02 { display:block; position: absolute; top:0; left:204px; width:260px; height:224px;}
.area03 { display:block; position: absolute; top:234px; left:0; width:260px; height:224px;}
.area04 { display:block; position: absolute; top:234px; left:1041px; width:260px; height:224px;}
.area05 { display:block; position: absolute; top:484px; left:0; width:260px; height:224px;}
.area06 { display:block; position: absolute; top:484px; left:1041px; width:260px; height:224px;}
.area07 { display:block; position: absolute; top:727px; left:0; width:260px; height:224px;}
.area08 { display:block; position: absolute; top:727px; left:1041px; width:260px; height:224px;}
.area09 { display:block; position: absolute; top:968px; left:0; width:260px; height:224px;}
.area10 { display:block; position: absolute; top:968px; left:1041px; width:260px; height:224px;}

.area01,
.area02,
.area03,
.area04,
.area05,
.area06,
.area07,
.area08,
.area09,
.area10{
  font-size: 0;
  color: transparent;
}


.area-list{
width:1000px;
margin:0 auto;
}
.area-list li{
display:flex;
border-bottom:1px solid #c8c9ca;
padding:10px 0;
align-items:center;
position:relative;
}
.area-list li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:2;
}


.area-list li:last-child{
border:0;
}

.area-num{
display:flex;
align-items:center;
width:60px;
justify-content:center;
text-align:center;
}

.area-num span{
width:26px;
height:26px;
background:#3e3a39;
color:#fffdea;
border-radius:50%;
line-height:26px;
display:inline-block;
font-size:18px;
}

.area-group{
width:200px;
height:32px;
padding:0 10px;
border-radius:4px;
display:flex;
align-items:center;
text-align: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:0 0 0 20px;
width:710px;
padding:0;
line-height:1.35;
}



/*------------------------------------------------------------
	PANKUZU
------------------------------------------------------------*/
#pankuzu{
width:1040px;
margin:0 auto;
font-size:11px;
line-height:20px;
padding:10px 0;
}
#pankuzu .current{
font-weight:normal;
}

/*------------------------------------------------------------
	PAGE
------------------------------------------------------------*/
.p-container{
position:relative;
}
.p-container::before,
.p-container::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: min(360px, calc((100% - 1040px) / 2));
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100% auto;

  pointer-events: none;
  z-index: 2;
}

/* 左 */
.p-container::before {
  left: 0;
  background-image: url("img/p-bg-l.webp");
}

/* 右 */
.p-container::after {
  right: 0;
  background-image: url("img/p-bg-r.webp");
}

#page{
padding:0;
position:relative;
z-index:1;
}

#page section{
width:1000px;
margin:0 auto;
}

.wh-bg{
padding:12rem 0 5rem;
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:124px;
  background-image: url(img/i-wave01.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}

.wh-bg2{
padding:7.75rem 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:124px;
  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:124px;
  background-image: url(img/i-wave02.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
}





/* AREA */

h2.md-negishi{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#babadc;
border-radius:2rem;
text-align:center;
}
h2.md-taki{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#ce97b1;
border-radius:2rem;
text-align:center;
}
h2.md-okamura{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#dfb941;
border-radius:2rem;
text-align:center;
}
h2.md-isogo{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#caca91;
border-radius:2rem;
text-align:center;
}
h2.md-shiomidai{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#ce9c8b;
border-radius:2rem;
text-align:center;
}
h2.md-byoubu1{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#86b35f;
border-radius:2rem;
text-align:center;
}
h2.md-byoubu2{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#97bfdc;
border-radius:2rem;
text-align:center;
}
h2.md-sugita{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#bac54e;
border-radius:2rem;
text-align:center;
}
h2.md-kamisasage{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#9abc9c;
border-radius:2rem;
text-align:center;
}
h2.md-youkoudai{
margin:3rem auto 5.125rem;
font-size:3.125em;
line-height:1.64;
background:#bad5dc;
border-radius:2rem;
text-align:center;
}
h3.md01{
font-size:2.5em;
line-height:1.875;
color:#618a40;
text-align:center;
margin-bottom:2rem;
}

.cont-text{
font-size:1.125em;
line-height:2.55;
font-weight:500;
letter-spacing:.07em;
margin-bottom:4.6875rem;
}

.photo{
width:848px;
height:558px;
padding:12px;
background:#fff;
box-shadow:0 0 20px rgba(0,0,0,.3);
margin:0 auto 2.75rem;
}

.photo img{
width:824px;
height:534px;
object-fit:cover;
}

.photo-caption{
font-size:1.375em;
line-height:2.1;
text-align:center;
}

h3.md02{
font-size:2.5em;
line-height:1.875;
color:#618a40;
text-align:center;
border-bottom:4px solid #618a40;
margin-bottom:2rem;
}
h3.md03{
font-size:2.5em;
line-height:1.875;
color:#618a40;
margin-bottom:1rem;
}

/* NEGISHI */

.sche-list li{
display:flex;
border-bottom:4px dotted #618a40;
padding:30px 0;
flex-wrap:wrap;
}
.sche-list li:last-child{
border:0;
}

.sche-ttl{
font-size:1.75em;
line-height:1;
font-weight:bold;
color:#b37823;
padding:0 0 0 1rem;
width:290px;
}
.sche-cont{
font-size:1.125em;
line-height:1.75;
width:710px;
margin:0;
}
.sche-cont-c{
font-size:1.125em;
line-height:1.75;
width:340px;
margin:0;
}

.sche-txtL{
width:630px;
display:flex;
flex-direction:column;
justify-content:center;
padding-left:1.5rem;
margin:0;
}
.sche-txtL2{
width:320px;
display:flex;
flex-direction:column;
justify-content:center;
padding-left:1.5rem;
margin:0;
}
.sche-txtL0{
width:1000px;
padding-left:1.5rem;
margin:0 0 24px;
}

h4.md01{
color:#b37823;
font-size:1.75em;
line-height:2;
margin:0 0 1rem;
}
.held{
color:#b37823;
font-size:1.3125em;
font-weight:bold;
margin:0 0 1rem;
}

.sche-photo{
width:318px;
height:275px;
background:#f5f5f5;
margin-left:52px;
}
.sche-photo img{
width:318px;
height:275px;
object-fit:cover;
}

.sche-photo2{
display:flex;
gap:0 16px;
margin-left:104px;
}
.sche-photo2 img{
width:280px;
height:290px;
object-fit:cover;
}

.sche-photo3{
display:flex;
gap:0 1rem;
justify-content:center;
}

.sche-photo3 div {
  flex: 1;
  aspect-ratio: 4 / 3;   /* ← ここが肝 */
  overflow: hidden;
}

.sche-photo3 img {
  width: 100%;
  height: 100%;
  object-fit: contain;   /* cover にするとトリミング */
}


.act-list{
display:flex;
flex-wrap:wrap;
padding:0 36px;
margin:20px auto 50px;
}
.act-list li{
position:relative;
font-size:1.5em;
line-height:2;
color:#b37823;
margin-right:.75em;
font-weight:bold;
}
.act-list li::before{
content:'●';
color:#f0d04e;
margin-right:.1em;
}

.act-photos{
width:928px;
margin:0 auto 50px;
display:flex;
flex-wrap:wrap;
gap:20px 50px;
}
.act-photos li{
width:435px;
}

.act-photo-caption{
text-align:center;
font-size:1.125em;
line-height:1.35;
margin:.5rem 0 0;
}

.act-photo-tt-caption{
text-align:center;
font-size:1.125em;
line-height:1.35;
margin:.5rem 0 0;
}

.act-list-col3{
display:flex;
width:928px;
margin:0 auto;
gap:0 32px;
}
.act-list-col3 li{
width:288px;
}


.act-list-col2{
display:flex;
flex-wrap:wrap;
width:928px;
margin:0 auto;
gap:32px 72px;
}
.act-list-col2 li{
width:428px;
}


.act-list-col2-tt{
display:flex;
flex-wrap:wrap;
width:928px;
margin:0 auto;
gap:32px 72px;
}
.act-list-col2-tt li{
width:428px;
}



.act-list-col2-c{
display:flex;
justify-content:center;
width:928px;
margin:0 auto;
gap:0 48px;
}
.act-list-col2-c li{
width:auto;
}
.isogo-act-ttl{
background:rgba(179,120,35,.3);
color:#b37823;
font-size:1.6875em;
line-height:50px;
text-align:center;
border-radius:1rem;
padding:0;
margin:0 auto 1rem;
}
.isogo-act-ttl span{
display:inline-block;
font-size:.8em;
}

.isogo-act-ttl-sub{
text-align:center;
font-size:1.125em;
padding:0 0 2rem;
border-bottom:4px dotted #618a40;
}

.act-box{
padding:0 30px;
margin:0 auto;
}
.act-box p{
margin-bottom:2rem;
}
.act-box1{
margin-bottom:10rem !important;
}


.sep-dots{
width:100%;
padding:0 0 4rem;
border-bottom:4px dotted #618a40;
margin:0 0 4rem;
}

.act-desc{
width:928px;
margin:0 auto 2rem;
}


.mem-names{
display:flex;
justify-content:center;
gap:0 48px;
}
.ks-mem{
width:340px;
}
.ks-mem li{
font-size:1.125em;
line-height:2.1;
color:#618a40;
position:relative;
font-weight:bold;
margin:0;
}
.ks-mem li::before{
content:'●';
margin-right:.1em;
color:#f0d04e;
}

.ks-mem li span{
display:inline-block;
color:#3e3a39;
margin-left:1.5em;
}


.ykd-desc{
text-align:center;
padding-top:2rem;
border-top:4px solid #b4b4b5;
font-size:1.125em;
margin-bottom:40px;
}



/* MISSION */

.mis-col{
display:flex;
padding:3rem 0;
width:1000px;
margin:0 auto;
}
.mis-colL{
width:500px;
display:flex;
align-items:center;
}
.mis-colR{
width:500px;
display:flex;
align-items:center;
}

.mis-col h2{
font-size:2em;
line-height:1.375;
color:#618a40;
padding-bottom:.5rem;
border-bottom:2px solid #618a40;
margin-bottom:1rem;
}
h2.mis-md01 span{
font-size:.875rem;
display:inline-block;
margin-left:.25rem;
}
h2.mis-md02{
text-align:right;
}


.mis-ill01{
width:352px;
margin:0 auto;
}
.mis-ill02{
width:224px;
margin:0 auto;
}
.mis-ill03{
width:244px;
margin:0 auto;
}
.mis-ill04{
width:308px;
margin:0 auto;
}

.mis-list li{
position:relative;
font-size:1.125em;
line-height:1.65;
font-weight:500;
padding-left:1.25em;
margin-bottom:1.5em;
}
.mis-list li::before{
content:'●';
color:#f0d04e;
font-size:1rem;
position:absolute;
top:.1rem;
left:0;
}
.mis-list li span{
color:#618a40;
}

.philosophy{
width:1000px;
height:auto;
margin:0 auto 5rem;
background:#f0d04e;
border-radius:1.875rem;
position:relative;
padding:60px;
}
.philosophy::before{
content:'';
width:calc(100% - 60px - 3px);
height:calc(100% - 60px - 3px);
border:3px solid #fff;
border-radius:1.35rem;
position:absolute;
top:30px;
left:30px;
}

h3.mis-md01{
text-align:center;
color:#618a40;
font-size:2.6875rem;
line-height:1.45;
margin-bottom:2rem;
}

.mis-p-list li{
font-size:1.375rem;
line-height:2.25;
padding-left:1.75em;
position:relative;
margin:0;
}
.mis-p-list li::before{
content:'一、';
position:absolute;
top:0;
left:0;
}


/* MESSAGE */
.mes-lead{
width:850px;
font-size:1.125em;
line-height:1.75;
margin:0 auto 2rem;
}

.chair-message{
position:relative;
z-index:2;
}

.town-bg{
position:relative;
}
.town-bg::before{
content:'';
width:100%;
height:380px;
background:url(img/town-bg.webp) no-repeat;
background-size:cover;
position:absolute;
top:-460px;
left:50%;
transform:translate(-50%, 0);
z-index:1;
}



/* COMITTIES */

.com-col{
display:flex;
padding:3rem 0;
width:1000px;
margin:0 auto;
gap:0;
}
.com-colL{
width:500px;
display:flex;
align-items:center;
}
.com-colR{
width:500px;
display:flex;
align-items:center;
}

.com-col h2.com-md01{
font-size:2em;
line-height:2;
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:1rem;
padding:0 0 0 1rem;
}
.com-col h2.com-md02{
font-size:2rem;
line-height:2;
color:#618a40;
border-top:2px solid #618a40;
border-left:2px solid #618a40;
border-bottom:2px solid #618a40;
border-radius:1.5rem 0 0 1.5rem;
margin-bottom:1rem;
padding:0 0 0 1.5rem;
}

.com-col p{
font-size:1.125em;
line-height:2.55;
}

.com-ill01{ width:290px; margin:0 auto; }
.com-ill02{ width:312px; margin:0 auto; }
.com-ill03{ width:420px; margin:0 auto; }
.com-ill04{ width:316px; margin:0 auto; }


/* NEWSLETTER */

.nl-list{
width:1000px;
margin:0 auto 2rem;
}
.nl-list li a{
position:relative;
font-size:1.125em;
line-height:3.11;
color:#3e3a39;
display:inline-flex;
align-items:center;
}
.nl-list li a::after{
content:'';
width:1.625em;
height:2em;
background:url(img/icon-pdf.svg) no-repeat;
background-size:1.625em;
margin-left:.4em;
}

.blink{
color:#cc2728;
font-weight:bold;
margin-left:1.5em;
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:5rem !important;
}

.ro-links{
display:flex;
flex-wrap:wrap;
gap:2rem 5%;
}
.ro-links li{
width:30%;
}



.ro-links li a{
color:#3e3a39;
font-size:1.125em;
line-height:1.35;
position:relative;
display:inline-flex;
gap:0 0.2em;
}
.ro-links li a::after{
content:'';
width:1.125em;
height:1.125em;
background:url(img/icon-external.svg) no-repeat;
background-size:1.125em;
position:relative;
top:.15em;
}
.ro-links li a:hover{
color:#618a40;
}


/* TIPS */
.page-lead{
font-size:1.125em;
line-height:2.55;
}
.page-lead-last{
font-size:1.125em;
line-height:2.55;
margin-bottom:4rem;
}

#page section.tips-layer01{
padding-bottom:328px;
}
#page section.tips-layer02{
margin-top:-400px;
position:relative;
z-index:2;
}
#page section.tips-layer03{
padding-top:4rem;
}

.nl-thumbs{
display:flex;
justify-content:center;
gap:0 110px;
margin:0 auto 68px;
}
.nl-thumbs li{
width:365px;
}

.ext-btn,
.ext-btn-pdf{
text-align:center;
}

.ext-btn a,
.ext-btn-pdf a{
background:#618a40;
color:#fff;
font-size:1.6875em;
height:4.5rem;
border-radius:1rem;
display:inline-flex;
align-items:center;
padding:0 60px;
transition:all .3s;
}
.ext-btn a::after{
content:'';
width:1em;
height:1em;
background:url(img/icon-external-wh.svg) no-repeat;
background-size:1em;
margin-left:.4em;
}
.ext-btn-pdf a::after{
content:'';
width:1em;
height:1em;
background:url(img/icon-pdf-wh.svg) no-repeat;
background-size:1em;
margin-left:.4em;
}
.ext-btn a:hover,
.ext-btn-pdf a:hover{
background:#90ba6d;
}



.mingy{
width:706px;
margin:50px auto 25px;
display:flex;
align-items:center;
}
.mingy-ill{
width:288px;
}
.mingy-name{
width:auto;
font-size:2.12em;
line-height:1.5;
color:#618a40;
}
.mingy-name span{
font-size:.65em;
line-height:2;
display:block;
}


#page section.tips-layer04{
margin-top:-130px;
position:relative;
z-index:2;
margin-bottom:4rem;
}

/* PAST OFFICERS */
#page section.po{
padding:2rem 0 5rem;
}

.poT{
width:100%;
}
.poT thead th{
border-bottom:2px solid #3e3a39;
text-align:left;
padding:.5rem 1rem;
}
.poT tbody td{
border-bottom:1px solid #3e3a39;
padding:.5rem 0;
vertical-align:top;

}

/* PRIVACY */

#page section.pp{
padding:2.5rem 0 5rem;
}

#page section.pp p{
margin-bottom:2em;
font-size:1.125em;
}
.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:1.3125em;
font-weight:bold;
line-height:1.43;
position:absolute;
top:0;
left:0;
}
.pp-ttl{
font-size:1.3125em;
font-weight:bold;
line-height:1.43;
margin-bottom:.5rem;
}

/*------------------------------------------------------------
	CATEGORY ARCHIVE
------------------------------------------------------------*/

#cat{
padding:0 0 5rem;
position:relative;
z-index:1;
}


.archive{
width:1000px;
margin:0 auto;
padding:3rem 0 5rem;
}
.archive li{
padding:3rem 0;
display:flex;
justify-content:space-between;
position:relative;
}
.archive li:first-child{
padding-top:0;
}

.arc-thumb{
width:320px;
}
.arc-text{
width:620px;
}

.archive li h3{
font-size:1.5em;
line-height:1.35;
margin-bottom:1.5rem;
}

.arc-cat a{
width:auto;
height:2rem;
display:flex;
align-items:center;
justify-content:center;
padding:0 1rem;
border-radius:4px;
color:#333;
font-size:.875em;
}
.arc-cat a{
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:.5em;
right:.535em;
z-index:2;
}

.btn a:hover{
color:#618a40;
}





.wp-pagenavi {
clear: both;
text-align:center;
}
.wp-pagenavi a, .wp-pagenavi span {
text-decoration: none;
width:3em;
height:3em;
display:inline-block;
text-align:center;
line-height:3em;
margin: 0 .5em;
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(360px, calc((100% - 1040px) / 2));
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100% auto;

  pointer-events: none;
  z-index: 2;
}

/* 左 */
#s-container::before {
  left: 0;
  background-image: url("img/p-bg-l.webp");
}

/* 右 */
#s-container::after {
  right: 0;
  background-image: url("img/p-bg-r.webp");
}



.s-head{
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:relative;
height:190px;
  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:clamp(2.5rem, 3vw, 3.2rem);
line-height:1;
position:absolute;
top:16%;
left:50%;
transform:translate(-50%, 0);

}


#single{
width:1000px;
margin:0 auto;
padding:30px 0 70px;
position:relative;
z-index:10;
}

#single section{
width:auto;
}


.post-ttl-area{
margin-bottom:40px;
}
.post-info{
display:flex;
gap:0 2rem;
font-size:1em;
margin-bottom:1rem;
}
.post-date{
font-size:.875em;
line-height:2em;
}
.post-cat a{
width:auto;
height:32px;
display:flex;
align-items:center;
justify-content:center;
border-radius:4px;
padding:0 1rem;
font-size:.875em;
line-height:2rem;
color:#333;
}

.post-ttl-area h2{
font-size:2em;
line-height:1.5;
margin-bottom:2rem;
}


.post{
margin-bottom:4rem;
font-size:1em;
line-height:1.75;
}
.post p{
margin-bottom:1.5em;
}

.post p::after{
content:'';
display:block;
clear:both;
}

.post img{
margin:5px;
}

.documents{
width:600px;
display:flex;
gap:10px 0;
flex-direction:column;
margin:0 0 60px;
}
.documents li{
display:flex;
gap:0 20px;
align-items:center;
}
.doc-icon{
width:60px;
height:60px;
}
.doc-txt{
width:520px;
}

.documents li a{
color:#333;
}
.documents li a:hover{
color:#618a40;
text-decoration:underline;
}



/*------------------------------------------------------------
	SEARCH
------------------------------------------------------------*/
.search-box{
width:600px;
margin:0 auto;
position:relative;
}

input[type="search"].search-field{
width:600px;
padding:10px;
border:1px solid #ccc;
background:#fff;
border-radius:6px;
}

button[type="submit"].search-submit{
width:60px;
height:46px;
background:#748447;
color:#fff;
position:absolute;
top:0;
right:0;
border-radius:0 6px 6px 0;
border:0;
cursor:pointer;
font-weight:bold;
}

.search-result{
width:1000px;
margin:2rem auto 0;
font-size:1.3rem;
}

/*------------------------------------------------------------
	FOOTER
------------------------------------------------------------*/
.f-wave{
position:relative;
width:100%;
height:85px;
}

.f-wave::after{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:relative;
height:85px;
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:85px;
background:#fff;
}
.f-wave-wh::after{
content:'';
display:flex;
justify-content:center;
text-align:center;
align-items:center;
position:relative;
height:85px;
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:80px 0 45px;
position:relative;
z-index:999;
}
.footer-l{
width:420px;
}

.f-site-ttl{
font-size:20px;
line-height:1;
font-weight:bold;
letter-spacing:.35em;
margin-bottom:32px;
}


.footer-inner{
width:1000px;
margin:0 auto;
display:flex;
justify-content:space-between;
padding-bottom:20px;
}
.f-sitemap{
width:440px;
display:flex;
justify-content:space-between;
gap:0 40px;
}

.fs-l{
width:200px;
}
.fnavi li{
font-size:18px;
line-height:33px;
}
.fnavi li a{
color:#fff;
}
.fnavi li a:hover{
text-decoration:underline;
}

.fs-c{
width:200px;
}

.f-contact{
width:440px;
margin:0;
}
.f-tel{
width:276px;
height:60px;
background:#006934;
padding:0 0 0 46px;
display:flex;
align-items:center;
color:#fff;
font-weight:bold;
font-size:30px;
position:relative;
margin-bottom:15px;
}

.f-tel::before{
content:'';
width:27px;
height:30px;
background:url(img/icon-tel.svg) no-repeat;
background-size:27px;
position:absolute;
top:15px;
left:15px;
}

.fadd{
font-size:18px;
line-height:25px;
color:#fff;
margin-bottom:1rem;
}

.copy{
color:#fff;
font-size:14px;
}

/*------------------------------------------------------------
	END 768 PC LAYOUT CSS
------------------------------------------------------------*/
}




@media screen and (min-width: 768px) and (max-width: 1375px) {


.isogo-map{
width:1000px;
height:915px;
background:url(img/isogo-map-pc.webp) no-repeat center top;
background-size:1000px;
margin:0 auto 45px;
position:relative;
}

.area01 { display:block; position: absolute; top:0; left:685px; width:202px; height:172px;}
.area02 { display:block; position: absolute; top:0; left:157px; width:202px; height:172px;}
.area03 { display:block; position: absolute; top:186px; left:0; width:202px; height:172px;}
.area04 { display:block; position: absolute; top:186px; left:798px; width:202px; height:172px;}
.area05 { display:block; position: absolute; top:371px; left:0; width:202px; height:172px;}
.area06 { display:block; position: absolute; top:371px; left:798px; width:202px; height:172px;}
.area07 { display:block; position: absolute; top:557px; left:0; width:202px; height:172px;}
.area08 { display:block; position: absolute; top:557px; left:798px; width:202px; height:172px;}
.area09 { display:block; position: absolute; top:743px; left:0; width:202px; height:172px;}
.area10 { display:block; position: absolute; top:743px; left:798px; width:202px; height:172px;}
}
