@charset "UTF-8";

.page-kv .inner-kv { position: relative; width: 100%;}
.page-kv .inner-kv:after { content: ''; display: block; width: 100%; max-width: 1600px; height: 55%; background: #f5f5ef; border-top-left-radius: 30px; border-top-right-radius: 30px;
 position: absolute; left: 50%; bottom: 0; z-index: 1; transform: translateX(-50%);
}
.page-kv .kv-ctn { position: absolute; left: 0; top: 50%; transform: translateY(-58%); z-index: 3; width: 100%;}
.page-kv .kv-ctn div { width: 80%; max-width: 1000px; margin: 0 auto;}
.page-kv .kv-ctn h1 { color: #fff; font-size: clamp(21px,4.0vw,40px); font-weight: 700; letter-spacing: 0.1rem; line-height: 1;}
.page-kv .kv-ctn h1 span { display: inline-block; vertical-align: middle;}
.page-kv .kv-ctn h1 span.txt-1 { margin-right: 40px;}
.page-kv .kv-ctn h1 span.txt-2 { font-size: clamp(12px,2.2vw,21px);}
.page-kv .kv-ctn h1 span.eng { padding-top: 6px;}
.page-kv .bg { width: 100%; max-width: 1600px; height: 240px; margin: 0 auto; position: relative; z-index: 2;}
.page-kv .bg .img { display: block; width: calc(100% - 150px); max-width: 1360px; height: 100%; margin: 0 0 0 auto; border-radius: 30px; overflow: hidden; box-shadow: 4px 4px 6px #ddd;}
.page-kv .bg .img:before{ content: ''; display: block; width: 100%; height: 100%; background: rgba(63,133,113,0.6);}

.page-kv#info .bg .img { background: url('/img/kv/info.jpg') no-repeat 0 50% / cover;}
.page-kv#officer .bg .img{ background: url('/img/kv/info.jpg') no-repeat 0 50% / cover;}
.page-kv#conf .bg .img { background: url('/img/kv/conference.jpg') no-repeat 0 50% / cover;}
.page-kv#public .bg .img { background: url('/img/kv/public.jpg') no-repeat 0 50% / cover;}
.page-kv#events .bg .img { background: url('/img/kv/events.jpg') no-repeat 0 50% / cover;}
.page-kv#award .bg .img { background: url('/img/kv/awards.jpg') no-repeat 0 50% / cover;}
.page-kv#news .bg .img { background: url('/img/kv/news.jpg') no-repeat 0 50% / cover;}
.page-kv#membership .bg .img { background: url('/img/kv/membership.jpg') no-repeat 0 50% / cover;}
.page-kv#mypage .bg .img { background: url('/img/kv/mypage.jpg') no-repeat 0 50% / cover;}
.page-kv#contact .bg .img { background: url('/img/kv/contact.jpg') no-repeat 0 50% / cover;}

.page-kv#en .bg .img { background: url('/img/kv/en.jpg') no-repeat 0 50% / cover;}

@media (max-width: 1601px) {
	.page-kv .bg .img{ width: 94%; border-top-right-radius: 0px; border-bottom-right-radius: 0px;}
}
@media (max-width: 641px) {
	.page-kv .kv-ctn {}
	.page-kv .kv-ctn h1 span { display: block;}
	.page-kv .kv-ctn h1 span.txt-1 { margin-right: 0px; margin-bottom: 12px;}
	.page-kv .kv-ctn h1 span.eng { padding-top: 0px;}
	.page-kv .bg { height: 200px;}
	.page-kv .bg .img { box-shadow: 2px 2px 4px #ccc;}
}
@media (max-width: 481px) {
	.page-kv .kv-ctn {}
	.page-kv .kv-ctn div { width: 84%; padding-left: 20px;}
	.page-kv .bg .img { border-top-left-radius: 20px; border-bottom-left-radius: 20px;}
	.page-kv .bg { height: 160px;}
}


.no-kv {}
.no-kv .inner-kv { position: relative; width: 100%; height: 30px;}
.no-kv .inner-kv:after { content: ''; display: block; width: 100%; max-width: 1600px; height: 55%; background: #f5f5ef; border-top-left-radius: 30px; border-top-right-radius: 30px;
 position: absolute; left: 50%; bottom: 0; z-index: 1; transform: translateX(-50%);
}



.breadlist { width: 100%; max-width: 1600px; margin: 0 auto; padding: 20px 0; background: #f5f5ef;}
.breadlist ul { width: 88%; max-width: 1100px; margin: 0 auto; font-size: 0;}
.breadlist ul li { position: relative; display: inline-block; margin-right: 9px; padding: 4px 0; padding-left: 14px; font-size: 15px; line-height: 1;}
.breadlist ul li:first-child { padding-left: 0px;}
.breadlist ul li:last-child { margin-right: 0px;}
.breadlist ul li::before { content: ''; display: block; width: 5px; height: 1px; background: #000; position: absolute; left: 0; top: 50%;}
.breadlist ul li:first-child:before { content: none;}
.breadlist ul li a { color: #559d88; text-decoration: none;}
.breadlist ul li a:hover { color: #000;}
@media (max-width: 481px) {
	.breadlist { padding: 12px 0;}
	.breadlist ul li { font-size: 11px;}
}

.page-nav { position: relative;}
.page-nav:after { content: ''; display: block; width: 100%; max-width: 1600px; height: 100%; background: #f5f5ef;
 position: absolute; left: 50%; bottom: 0; z-index: 1; transform: translateX(-50%);
 border-bottom-left-radius: 30px; border-bottom-right-radius: 30px;
}
.page-nav .inner-sct { position: relative; z-index: 2; width: 88%; max-width: 1100px; margin: 0 auto; padding: 50px 0 60px;}
.page-nav ul { display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; font-size: 0;}
.page-nav ul li { width: 48.5%; padding: 16px 0;}
.page-nav ul li span { position: relative; display: block; width: 100%; padding-top: 20%; background: #fff; border-radius: 30px; box-shadow: 0px 0px 8px #ddd; }
.page-nav ul li span.high { padding-top: 24%;}
.page-nav ul li span a { position: absolute; display: block; width: 100%; left: 0; top: 50%; transform: translateY(-50%); padding-left: 72px;
 font-size: clamp(15px,2.4vw,24px); font-weight: 700; letter-spacing: 0.05rem; line-height: 1.2; text-decoration: none;
 transition: 0.3s ease;
}
.page-nav ul li span a.indent { text-indent: -0.6em;}
.page-nav ul li span a::before { content: ''; display: block; width: 28px; height: 28px; border-radius: 50%; position: absolute; left: 32px; top: 50%;
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><rect width="50" height="50" fill="%23559d88"/><polygon points="18.4 16.5 26.9 25 18.4 33.4 20.7 35.7 31.5 25 20.7 14.2 18.4 16.5" fill="%23fff"/></svg>');
 background-position: 50% 50%; background-size: 100% auto; transform: translate(0,-48%);
}
.page-nav ul li dl { position: relative; display: block; width: 100%; padding-top: 24%; background: #fff; border-radius: 30px; box-shadow: 0px 0px 8px #ddd; }
.page-nav ul li dl dt { position: absolute; display: block; width: 100%; left: 0; top: 23%;
 font-size: clamp(15px,2.4vw,24px); font-weight: 700; letter-spacing: 0.05rem; line-height: 1.2;
}
.page-nav ul li dl dt a { position: relative; display: block; padding-left: 72px; text-decoration: none; transition: 0.3s ease;}
.page-nav ul li dl dt a::before { content: ''; display: block; width: 28px; height: 28px; border-radius: 50%; position: absolute; left: 32px; top: 50%;
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><rect width="50" height="50" fill="%23559d88"/><polygon points="18.4 16.5 26.9 25 18.4 33.4 20.7 35.7 31.5 25 20.7 14.2 18.4 16.5" fill="%23fff"/></svg>');
 background-position: 50% 50%; background-size: 100% auto; transform: translate(0,-48%);
}
.page-nav ul li dl dd { position: absolute; display: block; width: 100%; left: 0; top: 58%;
 font-size: clamp(12px,1.6vw,18px); font-weight: 700; letter-spacing: 0.05rem; line-height: 1.2;
}
.page-nav ul li dl dd a { position: relative; display: block; padding-left: 72px; text-decoration: none; transition: 0.3s ease;}
.page-nav ul li dl dd a::before { content: ''; display: block; width: 10px; height: 10px; position: absolute; left: 52px; top: 50%;
 border-top: solid 2px #559d88; border-right: solid 2px #559d88;
 transform: translate(0,-48%) rotate(45deg);
}
.page-nav ul li dl dt a:hover,
.page-nav ul li dl dd a:hover,
.page-nav ul li span a:hover { opacity: 0.8; color: #559d88;}
@media (max-width: 1001px) {
	.page-nav ul li span a { padding-left: 60px;}
	.page-nav ul li span a::before { left: 20px;}
	.page-nav ul li dl dt a { padding-left: 60px;}
	.page-nav ul li dl dt a::before { left: 20px;}
	.page-nav ul li dl dd a { padding-left: 60px;}
	.page-nav ul li dl dd a::before { left: 32px;}
}
@media (max-width: 801px) {
	.page-nav ul li span { border-radius: 20px;}
	.page-nav ul li span.high { padding-top: 28%;}
	.page-nav ul li span a { padding-left: 60px;}
	.page-nav ul li span a:before { left: 20px;}
	.page-nav ul li dl { padding-top: 28%; border-radius: 20px;}
}
@media (max-width: 641px) {
	.page-nav:after { border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;}
	.page-nav .inner-sct { padding: 40px 0 60px;}
	.page-nav ul { display: block;}
	.page-nav ul li { width: 100%; padding: 12px 0; font-size: clamp(15px,3.0vw,24px);}
	.page-nav ul li span { padding-top: 72px;}
	.page-nav ul li span.high { padding-top: 72px;}
	.page-nav ul li dl { padding: 20px 0;}
	.page-nav ul li dl dt { position: relative; left: auto; top: auto; margin-bottom: 10px; font-size: clamp(15px,3.0vw,24px);}
	.page-nav ul li dl dt a { position: relative; display: block; padding-left: 60px; text-decoration: none; transition: 0.3s ease;}
	.page-nav ul li dl dt a::before { width: 28px; height: 28px; left: 20px;}
	.page-nav ul li dl dd { position: relative;  left: auto; top: auto;}
	.page-nav ul li dl dt {}
}
@media (max-width: 481px) {
	.page-nav .inner-sct { padding: 24px 0 40px;}
	.page-nav ul li { padding: 8px 0;}
	.page-nav ul li span { padding-top: 60px; border-radius: 12px; box-shadow: 0px 0px 6px #eee;}
	.page-nav ul li span a { padding-left: 45px; padding-right: 12px;}
	.page-nav ul li span a:before { width: 20px; height: 20px; left: 15px;}
	.page-nav ul li span.high { padding-top: 60px;}
	.page-nav ul li dl { padding: 12px 0; border-radius: 12px; box-shadow: 0px 0px 6px #eee; }
	.page-nav ul li dl dt a{ padding-left: 45px;}
	.page-nav ul li dl dd a{ padding-left: 45px;}
	.page-nav ul li dl dt a:before { width: 20px; height: 20px; left: 15px;}
	.page-nav ul li dl dd a:before { width: 8px; height: 8px; left: 24px;}
}


.page-bnr {}
.page-bnr { position: relative;}
.page-bnr:after { content: ''; display: block; width: 100%; max-width: 1600px; height: 100%; background: #f5f5ef;
 position: absolute; left: 50%; bottom: 0; z-index: 1; transform: translateX(-50%);
 border-bottom-left-radius: 30px; border-bottom-right-radius: 30px;
}
.page-bnr .inner-sct { position: relative; z-index: 2; width: 88%; max-width: 1100px; margin: 0 auto; padding: 72px 0 100px;}
.page-bnr ul { display: flex; justify-content: space-between; flex-wrap: wrap; width: 100%; font-size: 0;}
.page-bnr ul li { width: 48.5%; padding: 18px 0; font-size: clamp(15px,2.4vw,24px); font-weight: 700; letter-spacing: 0.05rem; line-height: 1.2;}
.page-bnr ul li a { display: block; color: #000; text-decoration: none; transition: 0.3s ease;}
.page-bnr ul li a dl dt { position: relative; width: 100%; margin-bottom: 20px; padding-top: 45%; border-radius: 30px; overflow: hidden; box-shadow: 0px 0px 8px #ddd;}
.page-bnr ul li a dl dt img { width: 100%; position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); transition: 0.4s ease;}
.page-bnr ul li a dl dd { position: relative; text-align: center;}
.page-bnr ul li a dl dd:before { content: ''; position: relative; display: inline-block; width: 25px; height: 25px; border-radius: 50%; vertical-align: -15%;
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><rect width="50" height="50" fill="%23559d88"/><polygon points="18.4 16.5 26.9 25 18.4 33.4 20.7 35.7 31.5 25 20.7 14.2 18.4 16.5" fill="%23fff"/></svg>');
 background-position: 50% 50%; background-size: 100% auto;
}
.page-bnr ul li a dl dd span { display: inline-block; padding-left: 15px;}
.page-bnr ul li a:hover { color: #559d88;}
.page-bnr ul li a:hover dl dt img { transform: translate(-50%,-50%) scale(1.04); opacity: 0.8;}
@media (max-width: 801px) {
	.page-bnr ul li a dl dt { border-radius: 20px;}
}
@media (max-width: 641px) {
	.page-bnr .inner-sct { padding: 24px 0 60px;}
	.page-bnr ul { display: block;}
	.page-bnr ul li { width: 100%; padding: 24px 0;}
}
@media (max-width: 481px) {
	.page-bnr .inner-sct { padding: 12px 0 40px;}
	.page-bnr ul li { padding: 18px 0;}
	.page-bnr ul li a dl dt { margin-bottom: 16px; border-radius: 12px;}
	.page-bnr ul li a dl dd:before { width: 18px; height: 18px; vertical-align: -15%;}
	.page-bnr ul li a dl dd span { padding-left: 10px;}
}



.parent-nav { padding-top: 30px;}
.parent-nav .inner-sct { width: 94%; max-width: 1600px; margin: 0 auto; padding: 20px 40px; background: #8eccba; border-radius: 30px;}
.parent-nav ul { width: 100%; margin: 0 auto; font-size: 0; text-align: center;}
.parent-nav ul.col2 { max-width: 760px;}
.parent-nav ul.col3 { max-width: 1000px;}
.parent-nav ul li { display: inline-block; width: 25%; padding: 12px;
 font-size: clamp(14px,1.4vw,18px); font-weight: 700; letter-spacing: 0.1rem; line-height: 1.4; vertical-align: middle;
}
.parent-nav ul.col2 li { width: 50%;}
.parent-nav ul.col3 li { width: 33.3333334%;}
.parent-nav ul li span { position: relative; display: block; width: 100%; height: 92px; background: #fff; border-radius: 30px; text-align: left;}
.parent-nav ul li span a { position: absolute; left: 0; top: 50%; transform: translateY(-50%); display: block; width: 100%; padding-left: 60px; text-decoration: none;
 transition: 0.3s ease;
}
.parent-nav ul li span a.indent { text-indent: -0.6em;}
.parent-nav ul li span a::before { content: ''; display: block; width: 25px; height: 25px; border-radius: 50%; position: absolute; left: 20px; top: 50%;
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><rect width="50" height="50" fill="%23559d88"/><polygon points="18.4 16.5 26.9 25 18.4 33.4 20.7 35.7 31.5 25 20.7 14.2 18.4 16.5" fill="%23fff"/></svg>');
 background-position: 50% 50%; background-size: 100% auto; transition: 0.3s ease; transform: translate(0,-48%);
}
.parent-nav ul li span a:hover { color: #559d88; }
@media (max-width: 801px) {
	.parent-nav .inner-sct { padding: 20px;}
	.parent-nav ul { flex-wrap: wrap;}
	.parent-nav ul li { width: 50%; padding: 12px; font-size: clamp(15px,2.0vw,18px);}
	.parent-nav ul.col3 li { width: 50%;}
	.parent-nav ul li span { border-radius: 20px; }
}
@media (max-width: 641px) {
	.parent-nav .inner-sct { padding: 30px;}
	.parent-nav ul li { width: 100%;}
	.parent-nav ul.col2 li { width: 100%;}
	.parent-nav ul.col3 li { width: 100%;}
	.parent-nav ul li span { height: 80px;}
	.parent-nav ul li span a { padding: 10px; padding-left: 50px;}
	.parent-nav ul li span a br { display: none;}
}
@media (max-width: 481px) {
	.parent-nav .inner-sct { padding: 20px; border-radius: 20px;}
	.parent-nav ul li { padding: 8px 0;}
	.parent-nav ul li span { height: 54px; border-radius: 12px;}
	.parent-nav ul li span a { padding-left: 45px;}
	.parent-nav ul li span a:before { width: 20px; height: 20px; left: 15px;}
}


.child-nav .inner { width: 88%; margin: 0 auto; padding: 40px 0;}
.child-nav ul { font-size: 0; text-align: center;}
.child-nav ul li { display: inline-block; padding: 12px; font-size: clamp(14px,1.15vw,18px); line-height: 1.4; vertical-align: middle;}
.child-nav ul li span { position: relative; display: block; width: 100%; padding-top: 21%; background: #fff; border-radius: 50px; box-shadow: 0 0 8px #ddd;}
.child-nav ul li span a { display: block; width: 100%; padding: 8px; padding-left: 60px; letter-spacing: 0.05rem; text-align: left; text-decoration: none;
 position: absolute; left: 0; top: 50%; transform: translateY(-50%);
 transition: 0.3s ease;
}
.child-nav ul li span a.indent { text-indent: -0.6em;}
.child-nav ul li span a::before { content: ''; display: block; width: 21px; height: 21px; border-radius: 50%; position: absolute; left: 24px; top: 50%;
 background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50"><rect width="50" height="50" fill="%23559d88"/><polygon points="18.4 16.5 26.9 25 18.4 33.4 20.7 35.7 31.5 25 20.7 14.2 18.4 16.5" fill="%23fff"/></svg>');
 background-position: 50% 50%; background-size: 100% auto; transition: 0.3s ease; transform: translate(0,-48%);
}
.child-nav ul li span a:hover { color: #559d88; }
@media (max-width: 1201px) {
	.child-nav ul li { padding: 8px;}
	.child-nav ul li span a { padding-left: 50px;}
	.child-nav ul li span a::before { left: 18px;}
}
@media (max-width: 801px) {
	.child-nav ul li { width: 50%; padding: 10px;}
}
@media (max-width: 641px) {
	.child-nav ul li { display: block; width: 100%; padding: 12px 0;}
	.child-nav ul li span { padding-top: 50px;}
	.child-nav ul li span a { display: block;}
	.child-nav ul li span a br { display: none;}
}
@media (max-width: 481px) {
	.child-nav .inner { padding: 20px 0;}
	.child-nav ul li { padding: 6px 0;}
	.child-nav ul li span { box-shadow: 0 0 4px #ddd;}
	.child-nav ul li span a { padding-left: 45px;}
	.child-nav ul li span a:before { width: 20px; height: 20px; left: 15px;}
}




.page-wrap { position: relative;}
.page-wrap:after { content: ''; display: block; width: 100%; max-width: 1600px; height: 100%; background: #f5f5ef; position: absolute; left: 50%; bottom: 0; z-index: 1; transform: translateX(-50%);
 border-bottom-left-radius: 30px; border-bottom-right-radius: 30px;
}
.page-wrap .inner-sct { position: relative; z-index: 2; padding: 60px 0px 80px;}
.ttl { width: 88%; max-width: 1100px; margin: 0 auto;}
.ttl:after { content: ''; display: block; width: 100%; height: 6px; border-radius: 10px; background: #559d88;}
.ttl h2 { margin-bottom: 18px; font-size: clamp(18px, 3.0vw, 30px); font-weight: 700; line-height: 1.4;}
.read-ctn { width: 88%; max-width: 1100px; margin: 0 auto;}
.read-ctn p { font-size: clamp(13px,2.0vw,16px); letter-spacing: 0.05rem; line-height: 1.85;}
@media (max-width: 481px) {
	.page-wrap .inner-sct { padding: 24px 0px 60px;}
	.ttl h2 { margin-bottom: 8px;}
	.ttl:after { height: 4px;}
	.read-ctn p { line-height: 1.65;}
}
.btn-back { width: 50%; max-width: 210px;}
.btn-back a { position: relative; display: block; padding: 15px; padding-left: 0; background: #559d88; border-radius: 50px; box-shadow: 1px 1px 3px #ccc;
 color: #fff; font-size: clamp(14px,2.0vw,20px); font-weight: 700; line-height: 1; text-align: center; text-decoration: none;
}
.btn-back a:after { content: ''; display: block; width: 12px; height: 12px; border-top: solid 2px #fff; border-right: solid 2px #fff; 
 position: absolute; right: 25px; top: 50%; vertical-align: middle; transform: translateY(-50%) rotate(45deg);
}
.btn-back a:hover { opacity: 0.8;}
@media (max-width: 801px) {
	.btn-back a { max-width: 150px;}
}
@media (max-width: 481px) {
	.btn-back a a { padding: 10px; padding-left: 0;}
	.btn-back a a:after { width: 8px; height: 8px; right: 15px;}
}


#page-normal .ctn { width: 88%; max-width: 1100px; margin: 0 auto; padding: 30px 0;}
#page-normal .ctn h3 { position: relative; margin-bottom: 12px; padding-left: 30px; font-size: clamp(14px,2.2vw,22px); font-weight: 700;}
#page-normal .ctn h3:before { content: ''; display: block; width: 18px; height: 18px; background: #559d88; border-radius: 50%;
 position: absolute; left: 0; top: 0.45em;
}
#page-normal .ctn p { margin-bottom: 20px; font-size: clamp(13px,2.0vw,16px); letter-spacing: 0.05rem; line-height: 1.85;}
#page-normal .ctn p a:hover { color: #559d88; text-decoration: none;}
@media (max-width: 801px) {
}
@media (max-width: 481px) {
	#page-normal .ctn { padding: 20px 0;}
	#page-normal .ctn h3 { padding-left: 20px;}
	#page-normal .ctn h3:before { width: 12px; height: 12px;}
	#page-normal .ctn p { margin-bottom: 12px; line-height: 1.65;}
}




/* Not found */
.not-found { position: relative;}
.not-found:after { content: ''; display: block; width: 100%; max-width: 1600px; height: 100%; background: #f5f5ef; border-radius: 30px;
 position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); z-index: 1;
}
.not-found .inner-sct { position: relative; padding: 160px 0 200px; text-align: center; z-index: 2;}
.not-found h2 { position: relative; display: inline-block; margin-bottom: 30px; font-size: clamp(36px,8.0vw,74px); font-weight: 600; line-height: 1.2; text-align: center;}
.not-found h2:after { content: ''; display: block; width: 100%; height: 6px; border-radius: 10px; background: #559d88;}
.not-found p { margin-bottom: 50px; font-size: clamp(14px,2.8vw,26px); letter-spacing: 0.05rem; line-height: 1.85;}
.not-found .btn-back { margin: 0 auto;}
@media (max-width: 481px) {
	.not-found:after { border-radius: 20px;}
}
@media (max-width: 481px) {
	.not-found .inner-sct { padding: 80px 0 120px;}
	.not-found h2 { margin-bottom: 20px;}
	.not-found h2:after { height: 4px;}
	.not-found p { margin-bottom: 30px; line-height: 1.65;}
}
