@charset "UTF-8";
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.7.2/css/all.min.css');

/*------------------------rootColor*/
:root{
  --main:#004739;     /* 現在ページ・強調 */
  --accent:#dca25f;   /* h2/h4の線 */
  --sub:#d9ebe8;      /* h3背景 */
  --link:#007ab0;
  --btn:#00695c;      /* ボタン・注記 */
  --new:#d70000;
}

/*------------------------normalize*/
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;background:#000;}
article,aside,details,figcaption,figure,footer,header,main,nav,section{display:block;}
img{border:0;vertical-align:bottom;}
table{border-collapse:collapse;border-spacing:0;}td,th{padding:0;}
button{border:none;cursor:pointer;font:inherit;}
*{box-sizing:border-box;}
ul,ol{list-style:none;}
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,dt,dd{margin:0;padding:0;}
address{font-style:normal;}
/*------------------------normalizeEnd*/

body{margin:0 auto;background:#fff;color:#000;font-size:16px;text-align:left;
 font-family:'Hiragino maru Gothic ProN','ヒラギノ丸ゴ ProN W4','Meiryo','メイリオ',-apple-system,BlinkMacSystemFont,sans-serif;}

h2{font-size:1.75rem;padding-bottom:5px;margin-bottom:20px;border-bottom:2px solid var(--accent);}
main h3{font-size:1.25rem;padding:10px;border-radius:4px;background:var(--sub);margin-bottom:10px;}
main h4{font-size:1rem;border-left:solid 5px var(--accent);border-bottom:1px solid var(--accent);padding:5px 10px;margin:1em auto;}
main h5{font-size:1rem;border-left:6px solid #00580f;margin-bottom:10px;padding-left:10px;}
main h6{font-size:1rem;margin-bottom:10px;}
p{margin-bottom:1em;text-align:justify;}
section{margin-bottom:40px;}
a{word-break:break-all;}
a:link,a:visited{text-decoration:none;color:var(--link);}
a:hover{opacity:.6;transition:.4s;}

/*------------------------Layout*/
.wrapBox{width:100%;max-width:1080px;margin:0 auto;padding-top:20px;}
.rightBox{width:100%;max-width:780px;}
header{margin-bottom:20px;}
header h1{font-size:0;line-height:0;}
header h1 a{display:block;}
header img{width:100%;}
main{width:100%;}
.contentsBox{background:rgba(255,255,255,.9);margin-top:30px;padding:1em;border-radius:8px;}

/* news */
.news{height:240px;overflow:auto;margin-bottom:20px;}
.news li{padding:1em 0;border-bottom:1px solid #999;}

/* footer */
footer{background:#fff;margin-top:50px;padding:40px 0;}
footer .flexBox{width:100%;max-width:1080px;margin:0 auto;}
footer .flexBox h3{border-bottom:1px solid #ccc;}
footer .flexBox p{font-size:14px;margin-bottom:0;}
footer small{display:block;text-align:center;}

/*------------------------Parts*/
/* table */
.table01{width:100%;margin-bottom:2em;}
.table01 th{border:1px solid #cfcfcf;background:#efefef;padding:1em;}
.table01 td{border:1px solid #cfcfcf;padding:1em;background:#fff;}
/* ボタン（PDFダウンロード等） */
.btnBox{margin-bottom:2em;}
.btnBox a{display:block;width:80%;text-align:center;margin:1em auto 5px;padding:1em;border-radius:8px;color:#fff;background:var(--btn);}
.btnBox a:link,.btnBox a:visited{color:#fff;}
.btnBox a.hBtn{background:rgba(25,63,123,.7);}
a.noEvent{pointer-events:none;background:#aaa;}
/* list */
.ulList{margin:1em;padding:10px 1.5em;list-style:disc;background:#fff;}
.olList{margin:1em 2em;list-style:decimal;}
.olList li{margin-bottom:10px;}
/* 注記・お知らせ枠 */
.noteBox{margin-bottom:1em;padding:1em;background:rgba(25,63,123,.2);}
.noteBox.dbl{border:double 10px var(--main);background:#fff;}   /* トップの重要告知用 */
.noteBox p:last-child{margin-bottom:0;}
.note{margin-bottom:2em;padding:1em 1em 1px;background:#ffeaea;color:red;}
.mapBox{margin-bottom:20px;}
.mapBox iframe{border:none;width:100%;}
/* 画像＋キャプション */
.imgBox{margin-bottom:2em;text-align:center;}
.imgBox img{max-width:100%;}
.imgBox p.imgCaption{margin:.5em 0 0;font-size:.9em;color:#666;}
/* 左右2カラム（SPで縦積み） */
.lrBox{display:flex;justify-content:space-between;}
.lrBox .lBox,.lrBox .rBox{width:48%;}
.lrBox .rBox{text-align:center;}
/* プログラム：セッション表記 */
.session-theme{font-size:1.1em;font-weight:bold;margin:5px 0 10px;color:#d9534f;}
.session-info{font-size:.95em;color:#555;margin-bottom:15px;background:#fff;padding:8px;border-left:4px solid #aaa;}
.person-list{display:table;width:100%;margin-top:5px;}
.person-row{display:table-row;}
.person-row .role{display:table-cell;width:3em;font-weight:bold;padding:4px 10px 4px 0;vertical-align:top;}
.person-details{display:table-cell;padding:4px 0;vertical-align:top;}
.person-details .name{font-weight:bold;margin-right:15px;display:inline-block;min-width:6em;}
.person-details .affiliation{color:#666;font-size:.9em;}

/*------------------------Utility*/
.PC{display:block;}.SP{display:none;}
.flexBox{display:flex;justify-content:space-between;}
.B{font-weight:bold;}.red{color:#af0d0d;}.fontS{font-size:.9em;}
.tC{text-align:center;}.tR{text-align:right;}
p.kome{text-indent:-1em;margin-left:1em;margin-bottom:0;}
.cf:after{content:".";display:block;height:0;clear:both;visibility:hidden;}

/*------------------------menu*/
nav.menu{width:260px;}
nav.menu ul{margin-bottom:20px;min-height:200px;} /* JS生成前後のガタつき防止。項目数に合わせて調整 */
nav.menu ul li{margin-bottom:1px;}
nav.menu ul li a{display:block;padding:12px 5px 12px 12px;background:rgba(255,255,255,.8);}
nav.menu ul li a::before{font-family:"Font Awesome 6 Free";content:'\f138';font-weight:900;padding-right:.4em;}
nav.menu ul li a:link,nav.menu ul li a:visited{color:#000;}
nav.menu ul li a:hover,nav.menu ul li.visit a{opacity:1;transition:.8s;color:#fff;background:var(--main);border-radius:24px;}
nav.menu ul li.visit a:link,nav.menu ul li.visit a:visited{color:#fff;}
nav.menu ul li.special a{opacity:1;background:#006400;color:#fff;}   /* 特別枠：cls:'special' */
nav.menu ul li.special a:link,nav.menu ul li.special a:visited{color:#fff;}
nav.menu ul li a span.new{display:inline-block;font-size:12px;margin:0 5px;padding:0 10px;background:var(--new);color:#fff;}
.bnBox{width:100%;margin:0 auto;text-align:center;}
.bnBox a{max-width:260px;display:block;margin-bottom:10px;}
.bnBox img{width:100%;}

/*------------------------drawer*/
.drawer{z-index:9999;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;right:0;padding:0 9px;width:48px;height:48px;background:#000;}
.navbar_toggle{z-index:9999;}
.navbar_toggle_icon{position:relative;display:block;border-radius:4px;height:2px;width:30px;background:#fff;transition:ease .4s;}
.navbar_toggle_icon:nth-child(1),.navbar_toggle_icon:nth-child(3){top:0;}
.navbar_toggle_icon:nth-child(2){margin:8px 0;}
.navbar_toggle.open .navbar_toggle_icon:nth-child(1){top:10px;transform:rotate(45deg);}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2){transform:translateY(-50%);opacity:0;}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3){top:-10px;transform:rotate(-45deg);}
.menu.open{transform:translateX(0);overflow-y:auto;-webkit-overflow-scrolling:touch;}

/*pagetop*/
.pagetop{position:fixed;z-index:9000;bottom:5px;right:5px;display:none;}
.pagetop a{font-size:24px;text-align:center;display:block;background:#fff;width:60px;height:60px;border-radius:120px;padding-top:12px;box-shadow:0 0 4px 4px rgba(0,0,0,.2);}
.pagetop a:link,.pagetop a:visited{color:#147b99;}

@media screen and (min-width:1081px){
.drawer,.navbar_toggle{display:none;}
}
@media screen and (max-width:1080px){
.PC{display:none;}.SP{display:block;}
.wrapBox{padding-top:10px;}
.rightBox{padding-bottom:0;}
main{padding:10px 1em;}
header{margin-bottom:10px;}
footer{padding:10px;}
footer .flexBox{display:block;}
.lrBox{display:block;}
.lrBox .lBox,.lrBox .rBox{width:100%;}
nav.menu{position:fixed;transform:translateX(100%);transition:ease .5s;z-index:9998;top:0;width:100%;margin:0;
 padding:20px 20px 80px;height:100vh;overflow:scroll;font-size:18px;background:#000;}
}

/*------------------------案件デザイン（mock01準拠）*/
html{background:url(../img/back.png) center top repeat-x,linear-gradient(#4885c6,#6ea1d6 700px) no-repeat,#6ea1d6;}
body{background:none;}
nav.menu ul{min-height:0;margin-bottom:20px;}
nav.menu ul li{margin:0;border-bottom:1px solid #3e7dc0;}
nav.menu ul li a{display:flex;align-items:center;min-height:60px;padding:6px 10px 6px 14px;background:none;color:#fff;line-height:1.3;}
nav.menu ul li a:link,nav.menu ul li a:visited{color:#fff;}
nav.menu ul li a::before{padding-right:.5em;}
nav.menu ul li a{word-break:normal;overflow-wrap:break-word;}
nav.menu ul li a[target="_blank"]::before{content:'\f08e';}
nav.menu ul li a:hover{background:rgba(255,255,255,.18);border-radius:0;color:#fff;opacity:1;}
nav.menu ul li a.noEvent,nav.menu ul li a.noEvent:link,nav.menu ul li a.noEvent:visited,nav.menu ul li a.noEvent:hover{pointer-events:none;cursor:default;background:#ccc;color:#555;opacity:1;}
nav.menu ul li.visit a,nav.menu ul li.visit a:link,nav.menu ul li.visit a:visited{background:#fff;color:#000;border-radius:0;}
nav.menu h3{margin:0 8px 8px;padding:2px 8px;background:#fff;color:#004739;font-size:18px;font-weight:normal;}
nav.menu p{margin:0 0 30px;padding:0 8px;color:#fff;font-size:14px;text-align:left;}
nav.menu p a:link,nav.menu p a:visited{color:#fff;}
#navFooter{padding-bottom:20px;}
header{position:relative;margin-bottom:0;}
.engBtn{position:absolute;top:0;right:0;z-index:2;width:90px;height:36px;line-height:36px;text-align:center;font-size:15px;background:#e74d19;}
.engBtn:link,.engBtn:visited{color:#fff;}
.engBtn .enS{display:none;}
.rightBox{background:#fff;}
.contentsBox{margin:0 0 20px;padding:16px 1em;border-radius:0;background:#fff;}
.newsBox{border:1px solid #ddd;border-radius:10px;box-shadow:0 1px 3px rgba(0,0,0,.08);}  /* トップの新着情報のみ角丸の枠 */
.news{height:230px;}
.news li{padding:12px 0;font-size:15px;}
footer{background:none;margin:0;padding:20px 10px;color:#fff;}
footer small{font-size:14px;}
@media screen and (min-width:1081px){
.wrapBox{max-width:1020px;padding-top:0;align-items:stretch;}
nav.menu{width:300px;display:flex;flex-direction:column;background:linear-gradient(90deg,#004739,#00998f);}
.rightBox{width:720px;max-width:720px;}
main{padding:14px;}
}
@media screen and (max-width:1080px){
.wrapBox{max-width:none;padding-top:0;}
.rightBox{width:100%;max-width:none;}
nav.menu{background:linear-gradient(90deg,#004739,#00998f);padding:50px 0 80px;}
.engBtn{top:6px;right:58px;width:56px;}
.engBtn .enL{display:none;}
.engBtn .enS{display:inline;}
main{padding:10px;}
}

/* 会長挨拶 */
.presidentBox{display:flex;align-items:flex-end;justify-content:flex-start;gap:1.5em;margin:0 0 1.5em;}
.presidentBox img{width:180px;max-width:40%;height:auto;}
.presidentBox figcaption{line-height:1.6;}
.presidentBox figcaption .name{font-size:1.25rem;font-weight:bold;}
@media screen and (max-width:1080px){
.presidentBox{display:block;text-align:center;}
.presidentBox img{display:block;margin:0 auto 1em;max-width:180px;}
}