@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Roboto:ital,wght@0,100;0,400;1,100;1,300;1,400&display=swap');
html{scroll-behavior: smooth;/*Safariは非対応*/}
body {
  margin: 0 auto;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  overflow-wrap: break-word;
}
table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}
img {
  vertical-align: middle;
  border: none;
}
.elem{
  word-break: keep-all;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
/*clearfix*/
.clearfix:after {content: " "; display: block; height: 0;clear: both; visibility: hidden;}
.clearfix {display: inline-table;}
* html .clearfix {height: 1%;}
.clearfix {display: block;}
/* ***DEF-family*** */
html, body, table, th, td, li, div, p, em, mark{font-family: 'Noto Sans JP', sans-serif; font-weight:500; line-height:1.8;}
strong{font-weight:600;}
i{font-weight:900; font-family:'Font Awesome 6 Free'; display:inline-block; font-style: normal;}
/* ***DEF-FONTSIZE*** */
html {font-size: 62.5%;}
body {font-size:clamp(1.4rem, 1.5vw, 1.5rem); line-height:2;}
@media screen and (max-width: 600px) {
body, table, th, td, li, div, p, dl, dt, dd
{line-height:1.8;}
}
html, body, table, th, td, li, div, p, dl, dt, dd, 
h1,h2,h3,h4,h5,h6
{color:#222;}
a {outline:none; transition:.3s;}
a,a:hover,a:hover img {text-decoration: none;}
img {max-width: 100%; height: auto; width:auto;}
/*site-common*/
body{color:#444; overflow-x:hidden;}
a{color:#444;}
/*p*/
p+p{margin:1em 0 0 0;}

.mtb0{margin-top:0 !important; margin-bottom:0 !important;}



/*
COMMON
*/

/*NAV*/
/*position*/
#PCnav{position:fixed; right:0; top:0; width:100%;}
#SPnav{position:fixed; left:0; top:0; width:100%;}
.br2{display:inherit !important;}
nav ul, nav li{list-style:none; margin:0 padding:0;}
/*logo*/
#logo{position:fixed; left:10px; top:10px; display:flex; justify-content:center; align-items:center; z-index:9999;}
#logo a{display:block;}
#logo img{width:100%; height:auto; display:block;}
/*PC*/
#PCnav{display:none;}
#mega_menu{padding-left:150px !important;}
#mega_menu > li > a{font-size:1.5rem; font-weight:600; line-height:1.5;}
@media only screen and (max-width: 1400px) {
#mega_menu > li > a{font-size:1.4rem;}
}
@media only screen and (max-width: 1300px) {
#mega_menu > li > a{font-size:1.3rem;}
}
@media only screen and (max-width: 1220px) {
#mega_menu > li > a{font-size:1.2rem;}
}
@media only screen and (max-width: 1150px) {
#mega_menu > li > a{font-size:1.1rem; font-weight:500;}
}
@media only screen and (max-width: 1000px) {
#mega_menu > li > a{font-size:1rem;;}
}
/*
@media only screen and (max-width: 900px) {
#mega_menu > li > a br{display:none}
}
*/
@media only screen and (min-width: 951px) {
#PCnav{display:block; background:#fff; border-bottom:1px solid #ddd; z-index:9998;}
#mega_menu {display: flex; justify-content:flex-end; align-items:center; position: relative; line-height:1.6; text-align:center; margin:0; max-height:80px;}
#mega_menu > li:last-child{margin-left:0;}
.menu-parent_a{display: block; padding:0 1em;}
.menu-parent_b {display: block;}
.menu-parent_c {display: block;}
.menu-parent_d {display: block;}
.menu-parent_e {display: block;}
.menu-parent_a br, .menu-parent_b br, .menu-parent_c br, .menu-parent_d br{display:none;}
.menu-parent_b{background:#64a5fa; color:#fff; height:80px; display:flex; align-items:center; justify-content:center; padding:0 1em;}
.menu-parent_c{background:#325abe; color:#fff; height:80px; display:flex; align-items:center; justify-content:center; padding:0 1em;}
.menu-parent_d{background:#001e64; color:#fff; height:80px; display:flex; align-items:center; justify-content:center; padding:0 1em;}
.menu-parent_e{background:#e67800; color:#fff; height:80px; display:flex; align-items:center; justify-content:center; padding:0 1em;}
.menu-child {display: none; position: absolute; top: 100%; left: 0; width: 100%; padding: 20px 0; background-color: #f0f0f5;}
.icons a{display:block; aspect-ratio:1; padding:25px; background:#f5f5f5;}
.icons a img{width:30px; height:auto;}
}
@media only screen and (max-width: 1100px) {
.menu-parent_a br, .menu-parent_b br, .menu-parent_c br, .menu-parent_d br{display:inherit;}
.menu-parent_b,.menu-parent_c,.menu-parent_d,.menu-parent_e {width:auto; padding:0 .5em;}
.icons a{padding:30px 10px;}
.icons a img{width:20px;}
}
@media (hover: hover) {
.menu-parent:hover .menu-parent_a{transition: all .3s;}
.menu-parent_b:hover{background:#8cbeff;}
.menu-parent_c:hover{background:#285af0;}
.menu-parent_d:hover{background:#003cbe;}
.menu-parent_e:hover{background:#ff8200;}
.icons a:hover{background:#eee;}
}
/*link-border*/
a.menu-parent_a{position:relative; display:flex; justify-content:center; align-items:center; height:80px;}
a.menu-parent_a::after {position: absolute; left: 0; content: ''; width: 100%; height: 4px; bottom: 0px; transform: scale(0, 1); transform-origin: center top; transition: transform 0.3s;}
@media (hover: hover) {
a.menu-parent_a:hover::after {transform: scale(1, 1);}
}
/*magamenu inner*/
.menu-child .inner{max-width:1030px; padding:0 15px; margin:0 auto; text-align:left;}
.menu-child .inner h1{margin:0 0 1em 0; padding:0; border-bottom:1px solid #ccc; font-size:1.8rem;}
.menu-child .inner h1 a{display:flex; justify-content:space-between; align-items:center; padding:1em 0;}
.menu-child .inner h2{font-size:1.5rem; margin:1.5em 0 1em 0; padding-left:1.5em; position:relative;}
.menu-child .inner h2:before{content:""; display:block; width:.5em; aspect-ratio:1; border-radius:1em; position:absolute; left:0; top:.2em;}
.menu-child .inner h2 i{margin-left:1em;}
.menu-child .inner ul{margin:0; padding:0; display:flex; flex-wrap:wrap; grid-gap:.5em;}
.menu-child .inner li{margin:0; padding:0;}
.menu-child .inner li a{font-size:1.2rem; white-space:nowrap; display:inline-block; padding:0 .8em; border-radius:.3em; border:1px solid #ccc; background:#f5f5f5; line-height:2;}
@media (hover: hover) {
.menu-child .inner li a:hover{background:#eee;}
}
/*SP*/
#SPnav{display:none;}
@media only screen and (max-width: 950px) {
#SPnav{display:block; z-index:9998;}
.hamburger {
    display: block;
    height: 60px;
    margin-left: auto;
    position: relative;
    z-index: 9999;
    width: 60px;
    border: none;
    background-color: transparent;
}
.hamburger.-active .hamburger__line {
    background-color: transparent;
}
.hamburger.-active .hamburger__line::before {
    top: 0;
    transform: rotate(45deg);
}
.hamburger.-active .hamburger__line::after {
    top: 0;
    transform: rotate(-45deg);
}
.hamburger.-active .hamburger__text::before {
  content: '閉じる';
}
.hamburger__line {
    display: block;
    height: 2px;
    position: absolute;
    top: 23px;
    left: 50%;
    transform: translateX(-50%);
    width: 24px;
    background-color: #333;
    transition: 0.4s;
}
.hamburger__line:before,
.hamburger__line:after {
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    width: 100%;
    background-color: #333;
    transition: inherit;
}
.hamburger__line:before {
    top: -6px;
}
.hamburger__line:after {
    top: 6px;
}
.hamburger__text {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
}
.hamburger__text::before {
    content: "メニュー";
    text-align: center;
    color: #333;
    font-size: 10px;
    font-weight: 900;
}
.header__nav-area {
    position: fixed;
    top: 0;
    left: -100%;
    z-index: 9998;
    height: 100vh;
    width: 100%;
    visibility: hidden;
    transition: 0.4s;
}
.header__nav-area.-active {
    left: 0;
  visibility: visible;
}
.global-navigation {
  padding:80px 0 50px 0;
}
.global-navigation__list{margin:0; padding:0;}
.global-navigation__link {
  display: flex;
    align-items: center;
    justify-content: space-between;
    color: #333333;
    transition: color 0.4s;
    font-size:1.5rem;
    font-weight: 600;
}
.global-navigation__link.-accordion {
    position: relative;
    background: none;
    border: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    padding: 0;
}
.global-navigation__link.-accordion::after {
    content: '';
    display: block;
    height: 16px;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 2px;
    background-color: #e67800;
    transform: translateY(-50%);
    transition: transform 0.4s;
}
.global-navigation__link.-accordion::before {
    content: '';
    display: block;
    height: 2px;
    position: absolute;
    top: 50%;
    right: 13px;
    width: 16px;
    background-color: #e67800;
    transform: translateY(-50%);
}
.global-navigation__link.-accordion::after {background-color: #3264b4;}
.global-navigation__link.-accordion::before {background-color: #3264b4;}
.global-navigation__link.-active::after {
  transform: translateY(-50%) rotate(-90deg);
}
.accordion {
    height: 0;
    overflow: hidden;
    visibility: hidden;
    transition: 0.4s;
}
.accordion.-active {
    height: auto;
    visibility: visible;
}
.accordion__list {margin:0; padding:0;}
}
.header__nav-area {overflow-y:auto; background-color: #f0f0f5;}
.global-navigation__list > li{border-bottom:1px solid #ccc;}
.global-navigation__list > li:last-child a img{width:20px; height:auto;}
.global-navigation__list > li button span, a.global-navigation__link{cursor:pointer; padding:1em; display:block !important; width:calc(100% - 2em); text-align:center;}
.sp_h{display:block; line-height:3; font-size:120%; background:rgba(100,100,100,.2); font-weight:600; padding:0 1em;}
.accordion__list {border-top:2px solid #ccc;}
.accordion__list li{border-top:1px solid #ddd;}
.accordion__list li a{display:block; text-align:left; padding:.5em 1em; line-height:1.8;}
.accordion__list li:first-child{}
.accordion__list li:first-child a{padding:.5em 1em; font-size:1.4rem; font-weight:600; background:rgba(100,100,100,.1); }
.accordion__list li:nth-child(n+2) a:before{content:"┗"; display:inline-block; margin:0 .5em 0 0; font-weight:normal;}


/*footer*/
footer{background:#eee;}
footer .inner{font-size:clamp(1.1rem, 1vw, 1.2rem); padding:2em; line-height:1.8; display:flex; align-items:flex-end;}
footer .inner > div{width:50%;}
footer p{margin:.5em 0;}
footer strong{font-size:110%;}
footer .copy{text-align:right; line-height:1;}
footer .copy br{display:none;}
footer ul{margin:0 0 1em 0; padding:0; list-style:none; display:flex; justify-content:flex-end; align-items:flex-end;}
footer ul li{padding:0 1em; line-height:1; white-space:nowrap;}
footer ul li+li{border-left:1px solid;}
footer i{font-size:80%; display:inline-block; margin:0 .3em 0 0;}
i.fa-line{font-size:3.5rem; vertical-align:bottom; margin:0; color:#06c755;}
@media (hover: hover) {
footer a:hover{color:#ccc;}
}
@media (max-width: 1000px) {
footer .inner{display:block;}
footer .inner > div{width:100%;}
footer p{text-align:center;}
footer .copy br{display:inherit;}
footer .copy{text-align:center;}
footer ul{margin:1em auto; justify-content:center;}
}
@media (max-width: 500px) {
footer .inner{padding:2em 1em 1em 1em;}
footer strong{font-size:120%;}
footer p > a{display:block; background:#333; color:#eee; line-height:1; padding:1em 2em; border-radius:.3em; margin:2em auto 1em auto; width:12em;}
footer ul{flex-wrap:wrap;}
footer ul li{line-height:2; margin-left:0;}
}
#bottom .inner{max-width:calc(1000px + 1.5em); margin:5em auto; padding:0 1.5em;}
#bottom .gray{background:#f0f3f3; border-radius:.5em; padding:2em; line-height:1.8;}
#bottom .gray h5{font-size:clamp(1.4rem, 1.5vw, 1.5rem); line-height:1; margin:0 0 1em 0; padding:0;}
#bottom .gray p{margin:0;}
#bottom .inner p br{display:none;}
@media (max-width: 600px) {
#bottom .inner p br{display:inherit}
}

html {scroll-behavior: smooth;}
.pagetop {transition: none!important; height: 50px; width: 50px; position: fixed; right: 20px; bottom: 20px; background:rgba(255,255,255,.5);
 border: solid 2px #001e64; border-radius: 50%; display: flex; justify-content: center; align-items: center; z-index: 2;}
.pagetop__arrow {height: 10px; width: 10px; border-top: 3px solid #001e64; border-right: 3px solid #001e64; transform: translateY(20%) rotate(-45deg);}
@media (max-width: 600px) {
.pagetop {height: 40px; width: 40px; right: 5px; bottom: 5px;}
}

/***************************************
     TOP
***************************************/
/*
/*tab*/
.tabarea{display: flex; justify-content:center; align-items:center; flex-wrap: wrap; max-width:calc(1000px + 3em); margin:80px auto 0 auto; padding:0 1.5em;}
.tabarea::after {content: ''; width: 100%; height: 5px; order: -1; display: block; background:#444;}
.tabarea .tabLabel { /* タブ */
  margin-right: 3px; padding:.7em 1em; flex: 1; order: -1; border-radius: 3px 3px 0 0; background:#f0f3f3; color:#444; font-size:130%;
  transition: .5s ; cursor: pointer; line-height:1.3; font-weight:600; text-align:center; white-space:nowrap; border-top:1px solid #fff;
}
@media screen and (max-width: 800px) {
.tabarea .tabLabel {font-size:1.4rem;}
}
@media screen and (max-width: 767px) {
.tabarea{margin:50px auto;}
.tabarea::after {height: 3px;}
.tabarea .tabLabel {margin:0 1px;}
}
.tabarea .tabLabel:nth-last-of-type(1){ margin-right: 0; }
.tabarea input {display: none;}
.tabarea .content {width: 100%; height: 0; overflow: hidden; opacity: 0;}
/*アクティブ設定*/
.tabarea input:checked + .tabLabel {color: #fff; background:#325abe;}
.tabarea input:checked + .tabLabel + .content {padding: 1em 0; height: auto; overflow: auto; transition: .5s opacity; opacity: 1;}
.tabarea .content > h2{margin:0 0 1em 0; text-align:left; border-bottom:3px solid; padding:.8em 0;}


/*IMPORTANT*/
ul.scroll{max-height:290px; overflow-y:auto;}
/*importants*/
ul.importants{margin:0; padding:0; max-height:290px;}
ul.importants li{list-style:none; margin:0; padding:0; border:2px solid #ddd; border-radius:.2em;}
ul.importants li a{display:flex; justify-content:space-between; align-items:center; padding:1em 2em 1.5em 1.5em; font-weight:600; background:rgba(255,230,230,.6);}
ul.importants dl.item{margin:0; padding:0;}
ul.importants dl.item dt{margin:0; padding:0; font-size:clamp(1.8rem, 2vw, 2rem); color:#333;}
ul.importants dl.item dt:before{content:"!"; display:inline-block; background:#e60000; color:#fff; width:1.8em; line-height:1.8; font-weight:900; text-align:center; border-radius:1em; margin:0 .7em 0 0; font-size:95%;}
ul.importants dl.item dd{margin:.5em 0 0 0; padding:0; display:flex; font-size:110%; color:#333;}
ul.importants dl.item dd time{margin-right:2em;}
ul.importants li a i{margin:0 .2em 0 .8em; transition:.3s;}
@media (hover: hover) {
ul.importants li a:hover{background:rgba(255,230,230,1);}
ul.importants li a:hover i{margin:0 0 0 1em;}
}
@media (max-width: 768px) {
ul.importants li a{padding:1.5em;}
ul.importants dl.item dd{display:block;}
ul.importants dl.item dd time{margin-right:0; display:block;}
}

/* POSTLISTS */
ul.importants + ul.postlist{margin-top:2em;}
ul.postlist{margin:0 auto; padding:0 !important; border-top:1px solid #aaa;}
ul.postlist li{list-style:none; margin:0 !important; padding:0; border-bottom:1px solid #aaa; font-weight:600;}
ul.postlist dl.item{margin:0; padding:1em;}
ul.postlist dl.item dt{margin:0; padding:0;}
ul.postlist dl.item dt time{margin-right:1em; font-size:1.4rem; display:inline-block !important;}
ul.postlist dl.item dt a{background:#333; border:1px solid rgba(255,255,255,0); color:#fff; font-weight:500; font-size:90%; line-height:1.8; padding:0 1em; display:inline-block; text-align:center; min-width:4em; margin-right:.3em;}
ul.postlist dl.item dd{margin:.5em 0 0 0; padding:0; line-height:1.8;}
#search-results ul.postlist dl.item dd{margin:0 !important;}
ul.postlist dl.item dd a{border-bottom:1px solid #fff;}
ul.postlist li a i{margin:0 .2em 0 .8em; transition:.3s;}
@media (hover: hover) {
ul.postlist li dd a:hover{border-bottom:1px solid;}
}

.受付中, .更新{background:inherit !important; border:1px solid #55b4b4 !important; color:#55b4b4 !important; background:#fff !important;}
.重要なお知らせ{background:inherit !important; border:1px solid #e60000 !important; color:#e60000 !important;}
.member_news{background:#325abe !important; border:1px solid #325abe !important; color:#fff !important;}

@media (hover: hover) {
ul.postlist li dt a:hover,
#title > h1 > div > a:hover
{background:#fff !important; border:1px solid #333 !important; color:#333 !important;}
ul.postlist li dt a.受付中:hover,ul.postlist li dt a.更新:hover,
#title > h1 > div > a.受付中:hover,#title > h1 > div > a.更新:hover
{background:#55b4b4 !important; border:1px solid #55b4b4 !important; color:#fff !important;}
ul.postlist li dt a.重要なお知らせ:hover,
#title > h1 > div > a.重要なお知らせ:hover
{background:#e60000 !important; border:1px solid #e60000 !important; color:#fff !important;}
}
ul.postlist li dt a.member_news:hover,
#title > h1 > div > a.member_news:hover
{background:inherit !important; border:1px solid #325abe !important; color:#325abe !important;}
}

/*
ul.postlist.simple dl{display:flex; align-items:flex-start;}
ul.postlist.simple dl, ul.postlist.simple dt, ul.postlist.simple dd{line-height:1; margin-top:0 !important;}
ul.postlist.simple dl.item dt time{margin-right:2em;}
ul.postlist.simple dt a{display:none !important;}
*/

table.postlist{border-top:1px solid #ccc; margin-bottom:3em;}
table.postlist tbody{display:block; max-height:250px; overflow-y:auto;}
table.postlist tr{display:block; border-bottom:1px solid #ccc; padding:1em; margin:0;}
table.postlist th{display:block; width:100%; border:0 !important; background:inherit !important; padding:0 !important; margin:0; text-align:left; font-size:100%;}
table.postlist th time{margin-right:1em; font-size:1.3rem; color:inherit; display:inline-block;}
table.postlist th time:before,table.postlist th time:after{display:none;}
table.postlist th span{background:#333; border:1px solid rgba(255,255,255,0); color:#fff; font-weight:500; font-size:90%; line-height:1.8; padding:0 1em; display:inline-block; text-align:center; min-width:4em; margin-right:.3em;}
table.postlist td{display:block; width:100%; border:0 !important; padding:0 !important; margin:0; text-align:left;}
table.postlist td a{border:0; color:#333; font-weight:600; display:inline-flex; justify-content:space-between; align-items:center; border-bottom:1px solid #fff;}
table.postlist td a i{margin:0 .2em 0 .8em; transition:.3s;}
table.postlist td a:after{content:"\f054" !important; font-family:'Font Awesome 6 Free'; font-weight:900; margin-left:1em !important; display:inline-block !important;}
@media (hover: hover) {
table.postlist td a:hover{border-bottom:1px solid;}
}




/*new time*/
.contents time{font-size:1.4rem; white-space:nowrap;color:red; display:none;}
.contents time:before{content:"[New : ";}
.contents time:after{content:"]";}
.contents time.new{display:inherit;}
/*.contents time:before,.contents time:after{display:none;}*/
@media only screen and ( max-width : 600px ) {
.contents time.new{font-size:1rem;}
}



/*filter*/
ul.filter{list-style:none; padding:0; margin:2.5em 0 1.5em 0; display:flex; justify-content:center; flex-wrap:wrap;}
ul.filter li{padding:0; margin:2px; line-height:2.5; white-space:nowrap; min-width:6em;}
ul.filter a{display:block; border-radius:1.5em; border:1px solid #ccc; text-align:center; font-size:1.4rem; padding:0 1em;}
ul.filter li.active a, ul.filter a:hover{background:#333; color:#fff; border-color:#333;}
label.filter{display: inline-flex; align-items: center; position: relative; margin:1em 0;}
label.filter::after {position: absolute; right: 15px; width: 10px; height: 7px; background-color: #535353; clip-path: polygon(0 0, 100% 0, 50% 100%); content: ''; pointer-events: none;}
label.filter select {appearance: none; min-width: 200px; height: 2.8em; padding: .4em calc(.8em + 30px) .4em .8em; border: 1px solid #d0d0d0; border-radius: 3px; background-color: #fff; color: #333333; font-size: 1em; cursor: pointer;}
@media (max-width: 600px) {
ul.filter a{font-size:11px;}
}


/***************************************
     PAGE
***************************************/



/*section*/
.h-spece{height:80px;}
section > .inner{max-width:calc(1000px + 1.5em); margin:5em auto; padding:0 1.5em;}
@media (max-width: 768px) {
.h-spece{height:65px;}
section > .inner{margin:3em auto;}
}


/*anchor*/
.anchor{position:relative;}
.anchor a{position:absolute; top:-100px; left:0;}
@media (max-width: 768px) {
.anchor a{position:absolute; top:-50px; left:0;}
#top-blockmenu .anchor a{position:absolute; top:0; left:0;}
}


/*span*/
.red{color:rgb(224, 62, 45);}
.※{position:relative; line-height:1.8; padding:0 0 0 1.3em;}
.※:before{content:"※"; position:absolute; left:0; top:0;}
ul.※{list-style:none; margin:0; padding:0;}
ul.※:before{display:none;}
ul.※ li{position:relative; line-height:1.8; padding:0 0 0 1.3em;}
ul.※ li:before{content:"※"; position:absolute; left:0; top:0;}

/*new*/
/*
span.new{color:red; font-size:1.2rem; white-space:nowrap;}
span.new:before{content:"[New : ";}
span.new:empty:before{content:"[New";}
span.new:after{content:"]";}
*/




/*hr*/
hr{display:block; border:0; background:#ccc; width:3em; height:3px; margin:2.5em auto;}
hr.space{display:block; border:0; height:2em; background:inherit !important; margin:0;}
hr.space.large{height:5em;}
@media (max-width: 600px) {
hr.space.large{height:3em;}
}


/***********
     P
************/
.contents p{font-weight:500; font-size:clamp(1.5rem, 1.5vw, 1.6rem); line-height:2;}

/***********
     A
************/
/*a*/
.contents a ,.contents p > a ,.contents li > a, .contents td > a{border-bottom:1px solid;}
.contents a[target="_blank"]:after{margin:0 2px; content:url(blank_g.svg);}
.contents a[href$=".pdf"]:after{content:url(pdf.svg);}
.contents a[href$=".doc"]:after, .contents a[href$=".docx"]:after{content:url(doc.svg);}
.contents a[href$=".xls"]:after, .contents a[href$=".xlsx"]:after{content:url(xls.svg);}
.contents a.noicon:after, .contents a.btn:after,.contents .books a:after{display:none;}
.contents a:has(> img){display:table; margin:3em auto 0 auto; border-bottom:0;}
td a:has(> img){margin:.5em auto !important;}
.contents a[target="_blank"]:has(> img):after{display:none;}
@media (hover: hover) {
.contents a:has(> img):hover{opacity:.5;}
}

/*btn*/
a.btn:after,a.btn1:after,a.btn2:after,a.btn3:after{display:none;}

a.btn{background:red;}
a.btn{display:flex; justify-content:space-between; align-items:center; max-width:80%; min-width:300px; margin:3em auto 0 auto; border:1px solid #aaa !important; border-radius:3em; line-height:1; padding:1.2em; font-weight:600;}
a.btn span{text-align:center; display:inline-block; width:calc(100% - 2em); padding-left:2em; color:#333;}
a.btn i{margin:0 .2em 0 .8em; transition:.3s; color:#333;}
@media (hover: hover) {
a.btn:hover{background:#f0f3f3;}
a.btn:hover i{margin:0 0 0 1em;}
}

a.btn1{display:flex; justify-content:space-between; align-items:center; width:80%; max-width:350px; margin:3em auto; border:1px solid #aaa !important; border-radius:2em; line-height:1.5; padding:1.2em 1.2em 1.2em 0; font-weight:600; background:#fff;}
a.btn1 span{text-align:center; display:inline-block; width:calc(100% - 2em); padding-left:2em; color:#333;}
a.btn1 i{margin:0 .2em 0 .8em; transition:.3s; color:#333;}
a.btn1.left{margin-left:0;}
a.btn1.blue{background:#64a5fa; border-color:#64a5fa !important;}
a.btn1.blue span, a.btn1.blue i{color:#fff !important;}
p:has(.btn1){margin:1.5em 0 !important;}
.box p:has(.btn1){margin:1.5em 0 .5em 0!important;}
@media (hover: hover) {
a.btn1:hover{background:#f0f3f3;}
a.btn1:hover i{margin:0 0 0 1em;}
a.btn1.blue:hover{background:#8cbeff; border-color:#8cbeff !important;}
}
@media (max-width: 600px) {
a.btn1{width:80%;}
a.btn1.left{margin-left:auto;}
}
a.btn2{display:inline-flex; justify-content:space-between; align-items:center; line-height:1.8; background:#0078c8; color:#fff !important; font-weight:600; padding:1em; border-radius:3px; margin:1.5em 0;}
a.btn2:after{content:"\f054" !important; font-family:'Font Awesome 6 Free'; font-weight:900; margin-left:1em !important; display:inline-block !important;}
a.btn2.small{padding:.7em !important; font-size:90%;}
@media (hover: hover) {
a.btn2:hover{background:#2d8cc8; padding:1em .8em 1em 1.2em;}
}

a.btn3{display:flex; justify-content:space-between; align-items:center; width:80%; max-width:400px; margin:3em auto; border:1px solid #aaa !important; border-radius:3em; line-height:1.5; padding:1.2em 1.2em 1.2em 0; font-weight:600; background:#fff;}
a.btn3 span{text-align:center; display:inline-block; width:calc(100% - 2em); padding-left:2em; color:#333;}
a.btn3 i{margin:0 .2em 0 .8em; transition:.3s; color:#333;}
a.btn3.left{margin-left:0;}
a.btn3.blue{background:#64a5fa; border-color:#64a5fa !important;}
a.btn3.blue span, a.btn3.blue i{color:#fff !important;}
p:has(.btn3){margin:1.5em 0 !important;}
.box p:has(.btn3){margin:1.5em 0 .5em 0!important;}
@media (hover: hover) {
a.btn3:hover{background:#f0f3f3;}
a.btn3:hover i{margin:0 0 0 1em;}
a.btn3.blue:hover{background:#8cbeff; border-color:#8cbeff !important;}
}

a.back{display:table; margin:2em auto; padding:0 1em; min-width:10em; line-height:2; text-align:center; border:1px solid; color:#333; border-radius:1em; white-space:nowrap;}
@media (hover: hover) {
a.back:hover{background:#f0f3f3;}
}



/***********
     H
************/
#title{padding:2em 0; background:#fafadc;}
#title h1{min-height:3em; display:flex; justify-content:center; align-items:center; font-weight:500; text-align:center; max-width:calc(1000px + 1.5em); padding:0 1.5em; margin:0 auto; font-size:clamp(2rem, 3vw, 2.8rem); }
body.post #title h1{text-align:left;}
#title h1 img{width:20%; height:auto; max-width:80px; margin:0 1em 0 0; min-width:50px;}
#title h1 div{line-height:1.3; color:#333;}
#title h1 small{font-size:clamp(1.4rem, 2vw, 1.8rem); display:block; line-height:1; margin:0 0 .5em 0;}
body.post #title h1{display:block; font-size:clamp(1.7rem, 2vw, 2.2rem); line-height:1.8;}
body.post #title h1 div{margin-bottom:.4em;}
body.post #title h1 a{background:#333; border:1px solid rgba(255,255,255,0); color:#fff; font-weight:500; font-size:clamp(1.2rem, 1.4vw, 1.4rem); line-height:1.8; padding:0 1em; display:inline-block; text-align:center; min-width:4em; margin:.5em .3em 0 0;}
body.post #title h1 time{font-weight:600; font-size:clamp(1.4rem, 1.5vw, 1.6rem); line-height:1.8; padding:0; display:inline-block; margin-left:.8em;}

/*page - H*/
/*H*/
h1.index{font-size:clamp(2rem, 3vw, 3rem);}
h1.index small{display:block; font-size:clamp(1.4rem, 1.5vw, 1.5rem) !important;}

.contents h1.small, .contents h2.small, .contents h3.small, .contents h4.small, .contents h5.small, .contents h6.small{}
.contents h1.large, .contents h2.large, .contents h3.large, .contents h4.large, .contents h5.large, .contents h6.large{}
.contents h1.center, .contents h2.center, .contents h3.center, .contents h4.center, .contents h5.center, .contents h6.center{text-align:center;}

.contents h1 small, .contents h2 small, .contents h3 small, .contents h4 small, .contents h5 small, .contents h6 small{font-size:75%; line-height:1.8;}
/*.contents h1 small:has(br), .contents h2 small:has(br), .contents h3 small:has(br), .contents h4 small:has(br), .contents h5 small:has(br), .contents h6 small:has(br){display:inline-block; line-height:1.2;}*/


.contents h1{font-size:clamp(2rem, 2.4vw, 2.5rem) !important; margin:2em 0 1.3em 0; /*padding:.5em 0;*/ color:#333; /*border-bottom:1px solid #ccc;*/}
.contents h1.mark:after{display:block; content:""; width:2em; height:4px; background:#ccc; margin:1em 0;}
.contents h1.center.mark:after{margin:1em auto; text-align:left;}


.contents h2{font-size:clamp(1.8rem, 2.5vw, 2.2rem) !important; line-height:1.8; margin:3em 0 1.3em 0; color:#333; border-bottom:double 3px #ccc; padding-bottom:.5em;}
.contents h2 small{font-weight:500;}
.contents h2.mark{position:relative; padding-left:1.5em;}
.contents h2.mark:before{position:absolute; content:""; display:block;}
.contents h2.mark:before{width:.5em; height:.5em; border:.3em solid #ccc; left:0; top:.15em;}
.contents h2.mark.center{display:table; margin:2.5em auto 1.3em auto; text-align:left;}


.contents h3{font-size:clamp(1.6rem, 2vw, 2rem) !important; line-height:1.8; font-weight:500; margin:2em 0 1em 0;}
.contents h3.mark{position:relative; padding-left:1.3em;}
.contents h3.mark:before{position:absolute; content:""; display:block; width:.4em; height:.4em; border:.2em solid #ccc; left:0; top:.5em; border-radius:1em;}
.contents h3.mark.center{display:table; margin:2em auto 1em auto; text-align:left;}


.contents h4{font-size:clamp(1.5rem, 2vw, 1.6rem) !important; line-height:1.8; position:relative; padding:0 0 0 1.2em; margin:2em 0 1em 0;}
.contents h4:before{content:""; position:absolute; left:0; top:0; display:block; width:.6em; height:1.8em; background:#ccc;}
.contents h4.center{display:table; margin:1.5em auto 1em auto; text-align:left;}


.contents h5{font-size:clamp(1.5rem, 1.5vw, 1.6rem); line-height:1.8; padding:0; margin:1.5em 0 1em 0; font-weight:600;}
.contents h5.mark{position:relative; padding-left:1.3em;}
.contents h5.mark:before{position:absolute; content:""; display:block; width:.4em; height:.4em; border:.2em solid #ccc; left:0; top:.3em; border-radius:1em;}
.contents h5.mark.center{display:table; margin:2em auto 1em auto; text-align:left;}
p+h5{margin-top:1em !important;}

.contents h6{font-size:clamp(1.5rem, 1.5vw, 1.6rem); line-height:1.8; padding:0; margin:1.5em 0 1em 0; font-weight:600;}
.contents h6 small{font-weight:normal;}
.contents h6.mark{position:relative;}
.contents h6.mark > span{background:#fff; display:inline-block; margin:0 1em; padding:0 .6em;}
.contents h6.mark:after{position:absolute; display:block; width:100%; height:1px; background:#ccc; content:""; top:50%; z-index:-1;}



/***********
    LIST
************/
/*#page-contents ul li{margin:1em 0; line-height:1.8;}*/
/*ul*/
.contents ul{margin:1em 0 1em 0; padding:0 0 0 1.5em;}
.contents ul li{margin:.5em 0; line-height:1.8;}
td > ul{margin:.5em 0 !important;}
.contents ol{margin:1em 0; padding:0 0 0 1.2em;}
.contents ul li, .contents ol li{margin:.5em 0; line-height:1.8;}

.center td ul, .center td ol{display:table; margin:0 auto !important;}
.center td li{text-align:left;}
li > ul, li > ol{margin:.5em 0 !important;}

/*iroha*/
ol.iroha{list-style:katakana-iroha;}

/*oldstyle*/
ul.hira,ul.kana,ul.iroha,ul.suji,ul.kanji,ul.abc,ul.ABC{margin:1em;}
ul.tree li{list-style:none; margin:.5em 0; padding:0;}
ul.tree li:before, li.tree:before{content:"└"; margin-right:5px;}
ul.hira > li{list-style-type: hiragana;}
ul.kana > li{list-style-type: katakana;}
ul.iroha > li{list-style-type: katakana-iroha;}
ul.suji > li{list-style-type:decimal;}
ul.kanji > li{list-style-type: cjk-ideographic;}
ul.abc > li{list-style-type:lower-alpha;}
ul.ABC > li{list-style-type:upper-alpha;}





/*colomn*/
ul.colomn{column-count:2; column-gap: 5%;}
ul.colomn.cell3{column-count:3; column-gap: 5%;}
ul.colomn.cell4{column-count:4; column-gap: 5%;}
ul.colomn.cell5{column-count:5; column-gap: 5%;}
ul.colomn.cell6{column-count:6; column-gap: 5%;}
@media only screen and ( max-width : 768px ) {
ul.colomn.tcell2{column-count:2; column-gap: 5%;}
ul.colomn.tcell3{column-count:3; column-gap: 5%;}
ul.colomn.tcell4{column-count:4; column-gap: 5%;}
ul.colomn.tcell5{column-count:5; column-gap: 5%;}
}
@media only screen and ( max-width : 600px ) {
ul.colomn.scell2{column-count:2; column-gap: 5%;}
ul.colomn.scell3{column-count:3; column-gap: 5%;}
ul.colomn.scell4{column-count:4; column-gap: 5%;}
ul.colomn.scell5{column-count:5; column-gap: 5%;}
}
ul.colomn{vertical-align: top;}

/*file*/
ul.filelist{margin:2em 0; padding:0; /*font-size:95%;*/}
ul.filelist:before{content:"— File List —"; color:#999;}
ul.filelist.noname:before{display:none;}
ul.filelist li{display:block; border:1px solid #ccc; border-radius:.3em; transition:.3s; padding:.7em 1em;}
ul.filelist li:has(time){display:flex; justify-content:space-between; align-items:center;}
ul.filelist li a{display:inline-block; padding:0; border:0;}
ul.filelist li time{display:inline-block; padding:0 0 0 1em;}
ul.filelist li > span{display:flex; flex-wrap:wrap; align-items:center; padding:0; justify-content:flex-start;}
ul.filelist li > span > a{padding:0;}
@media (hover: hover) {
ul.filelist li:hover{background:#f0f3f3;}
}
@media only screen and ( max-width : 600px ) {
ul.filelist li:has(time){display:block;}
ul.filelist li a{display:inline-block; border:0;}
ul.filelist li:has(time) a{padding-bottom:0;}
ul.filelist li time{display:block; padding:0; text-align:right;}
}

ul.filelist2{margin:0 !important; padding:0 !important; font-size:95%;}
ul.filelist2 > li{margin:0 !important; padding:.5em 1em !important;}
ul.filelist2 > li{display:block; border:1px solid #ccc; border-radius:.3em; transition:.3s;}
ul.filelist2 > li span:has(time){display:flex; justify-content:space-between; align-items:center;}
ul.filelist2 li a{}
ul.filelist2 li time{}
ul.filelist2 li > span{display:flex; flex-wrap:wrap; align-items:center; padding:0 0 0 .5em; justify-content:flex-start;}
ul.filelist2 li > span{}
@media only screen and ( max-width : 600px ) {
ul.filelist2 li:has(time){}
ul.filelist2 li a{}
ul.filelist2 li:has(time) a{}
ul.filelist2 li time{}
}

nav.pagination ul{display:flex; justify-content:center; width:100%; margin:0; padding:0;}
nav.pagination a{display:inline-block; padding:0 1em; margin:1em .2em; border-radius:.4em; line-height:2.5; color:#333;  border:1px solid #aaa;}
nav.pagination a.prev, nav.pagination a.next{padding:0 2em; margin:1em .2em; border-radius:.4em;}
nav.pagination a.current{background:#333; color:#fff; border-color:#333;}
@media (hover: hover) {
nav.pagination a:hover{background:#333; color:#fff; border-color:#333;}
}


/*box*/
.boxlist{list-style:none; margin:0; padding:0 !important;}
.boxlist li{margin:.5em 0 !important; padding:0;}
.boxlist dl{display:flex; align-items:center; padding:1em; margin:0; column-gap:2em; border:1px solid #ccc; border-radius:.3em;}
.boxlist dt{padding:0; margin:0;}
.boxlist dt:empty{display:none;}
.boxlist dd{padding:0; margin:0; line-height:1.8;}
.boxlist dd a{border-bottom:1px solid; color:#e67800;}
.boxlist a:has(dl){border-bottom:0 !important; display:block;}
.boxlist a:has(dl) dd{color:#e67800; text-decoration:underline;}
.boxlist a:has(dl):after{display:none;}
.boxlist a[href$=".pdf"]:has(dl) dd:after{margin:0 2px; content:url(pdf.svg);}
@media (hover: hover) {
.boxlist dd a:hover{color:#ff8200;}
.boxlist a:has(dl):hover{background:#f8f8f8;}
.boxlist a:has(dl):hover dd{color:#ff8200;}
}

/*books*/
ul.books{list-style:none; margin:0; padding:0;}
ul.books dl{padding:.5em 1em .5em .5em; display:flex; align-items:center; width:calc(100% - 1.5em); border-radius:.3em; border:1px solid #ccc; transition: .3s;}
ul.books dt{width:20%; padding:0; margin:0; max-width:90px;}
ul.books dt div{width:100%; max-width:85px; aspect-ratio:17 / 24; margin:0 auto;}
ul.books dt div img{object-fit:contain; width:100%; height:100%; margin:0;}
ul.books dt a{display:block; margin:0; padding:0;}
ul.books dd{line-height:1.8; padding:1em 1em 1em 2em; margin:0; width:calc(80% - 2em);}
ul.books dd p{margin:0;}
ul.books dd p+p{margin:.6em 0 0 0;}
@media (hover: hover) {
ul.books dl:hover{background:#f0f3f3;}
}

/*機関誌*/
.books.item{display:flex; align-items:center; column-gap:5%;}
.books.item .img{background:#eee; width:25%; background:#eee; padding:1em; margin:0 auto;}
.books.item .img img{width:100%; height:100%; display:block;}
.books.item .text{width:75%;}
.books.item .text table{border-collapse: collapse; width:100%;}
.books.item .text th{background:#eee; border:1px solid #ccc; font-weight:bold; padding:1em; line-height:1.8; white-space:nowrap;}
.books.item .text td{border:1px solid #ccc; padding:1em; line-height:1.8;}
@media only screen and ( max-width : 600px ) {
.books.item{display:block;}
.books.item .img{width:30%; display:block; margin:0 auto 1em auto;}
.books.item .text{width:100%;}
}


/**/
ul.companylink{display:flex; flex-wrap:wrap; column-gap:5%; margin:0; padding:0; list-style:none; align-items:center;}
ul.companylink li{display:flex; align-items:center; justify-content:center; height:2em; line-height:1; margin:0 !important; padding:0; width:calc(90% / 3); white-space:nowrap;}
ul.companylink li a{display:block; line-height:1;}

/*list*/
.index_list{list-style:none; padding:0 !important; margin:0 !important;}
p + .index_list{margin-top:2em !important;}
.index_list > li{border:1px solid #ccc; display:block; padding:0; margin:0; border-radius:.3em; transition:.3s;}
.index_list > li > h2{display:block; margin:0; padding:0; line-height:1; font-weight:500; border:0;}
.index_list > li > h2 > a{display:block; color:#333 !important; border-bottom:0; padding:1em;}
.index_list > li > h2 > a > i{font-size:70%; display:inline-block; margin:0 0 .4em 1em; vertical-align:middle;}
.index_list ul.child{margin:0 1em 1em 1em !important;}
.index_list ul.child:empty{display:none;}
.index_list li > h2{padding:1em 1em 0 1em;}
.index_list li > h2:has( > a){padding:0;}
.index_list li > p{margin:1em 1.5em; font-size:95%;}
.index_list li:has(.child) h2 > a,
.index_list li:has(p) h2 > a
{padding-bottom: 0em;}
@media (hover: hover) {
.index_list > li:hover{background:#f8f8f8;}
}

/*toc*/
ul.toc{border-top:1px solid #ccc; border-bottom:1px solid #ccc; list-style:none; margin:3em 0 2em 0; padding:1.5em 1.5em 1.5em 2.5em; position:relative;}
ul.toc:before{content:"目次"; display:inline-block; line-height:1; padding:0 .5em; background:#fff; position:absolute; left:1em; top:-.5em; font-size:120%;}
ul.toc ul{list-style:none; margin:.5em 0 0 0; padding:0 0 0 1em;}
ul.toc li{margin:.5em 0 !important; padding:0; position:relative;}
ul.toc li:before{content:"\f0da"; font-family:'Font Awesome 6 Free'; font-weight:900; position:absolute; left:-1em; top:0;}
ul.toc li p{margin:.5em 0 0 0; font-size:95%; font-weight:normal;}

/*flow*/
ul.flow{list-style:none; padding:0 !important; margin:2em 0 !important;}
ul.flow li{margin:0; padding:0;}
ul.flow li+li:before{content:"\f078"; font-family:'Font Awesome 6 Free'; font-weight:900; display:block; text-align:center; margin:1em 0;}
ul.flow dl{border-top:1px solid #ccc; border-bottom:1px solid #ccc; padding:1.5em 1em 1.5em 4.5em; line-height:1; margin:0; position:relative;}
ul.flow dt{white-space:nowrap; margin:0 0 .5em 0; padding:.5em 0; font-size:110%; font-weight:bold;}
ul.flow dt span{font-size:130%; font-weight:500; color:#aabec8; display:inline-block; text-align:center; width:2em; height:2em; line-height:2; border:2px solid; border-radius:.3em; position:absolute; top:1em; left:0;}
ul.flow dd{margin:0; padding:0; line-height:1.8;}
ul.flow dd p{margin:0;}
ul.flow dd p+p{margin-top:1em;}
@media only screen and ( max-width : 600px ) {
ul.flow dl{padding:1em 1em 1.5em 4em;}
ul.flow dt span{font-size:110%;}
}

/*photobox*/
ul.photobox{list-style:none; padding:0 !important; margin:2em 0 !important; display:flex; align-items:stretch; flex-wrap:wrap; gap:5%;}
ul.photobox li{margin:1em 0; padding:0; width:calc(90% / 3); text-align:center;}
ul.photobox .img{margin:0 0 .7em 0;}
ul.photobox .img img{}
ul.photobox p{line-height:1.8; font-size:90%; margin:0;}
@media only screen and ( max-width : 767px ) {
ul.photobox li{width:calc(95% / 2);}
}



/***********
   TABLE
************/
table{background:#fff;}
table.center th, table.center td{text-align:center;}

.contents > table, .table-group table, li table, details table, dd table{border-collapse: collapse; margin:1em 0; width:100%;}
.contents > table th, .table-group table th, li table th, details table th, dd table th{background:#f1f1f1; border:1px solid #ccc; font-weight:bold; padding:1em 1.5em; line-height:1.8;}
.contents > table th small, .table-group table th small, li table th small, details table th small, dd table th small{display:block; margin:0; font-weight:normal;}
.contents > table td, .table-group table td, li table td, details table td, dd table td{padding:1em 1.5em; border:1px solid #ccc; line-height:1.8;}
.contents > table p, .table-group table p, li table p, details table p, dd table p{margin:0;}
.contents > table p+p, .table-group table p+p, li table p+p, details table p+p, dd table p+p{margin-top:1em;}
td h4, td h5{margin-top:0 !important; margin-bottom:.7em !important;}
@media only screen and ( max-width : 600px ) {
.contents > table th, .table-group table th, details table th, dd table th{padding:.8em;}
.contents > table td, .table-group table td, details table td, dd table td{padding:.8em;}
}

/*scroll*/
.table-group{margin:2em 0;}
@media only screen and ( max-width : 767px ) {
.table-group .wrapper {width: 100%; overflow-x: scroll;}
.table-group .wrapper table {min-width: 600px;}
.table-group .scrollbar {width: 100%; height: 10px; overflow-x: scroll; overflow-y: hidden;}
.table-group .scrollbar .inner {height: 1px; width: 600px;}
}


table.vtop td{vertical-align:top;}

table.smart th{padding:.5em;; white-space:nowrap;}
table.smart td{padding:.5em;}

table.clear {width:auto;}
table.clear th{vertical-align:top; font-weight:bold; line-height:1.8; padding:.3em .1em .3em 0; border:0; background:inherit; text-align:left; white-space:nowrap;}
table.clear td{vertical-align:top; line-height:1.8; padding:.3em 0em .3em .2em; border:0;}

table.clear1 {width:auto;}
table.clear1 th{vertical-align:top; font-weight:bold; line-height:1.8; padding:.5em 0; border:0; background:inherit; text-align:left; white-space:nowrap;}
table.clear1 td{vertical-align:top; line-height:1.8; padding:.5em 0 .5em 1em; border:0;}
.box .clear1{border:0 !important;}
.box .clear1 th, .box .clear1 td{padding:.5em;}

/*作業環境測定を依頼したい*/
table.data{border-collapse: collapse; width:100%; max-width:1020px;}
table.data th{text-align:center; background:#f1f1f1; border:1px solid #ccc; font-weight:bold; padding:.5em 0; line-height:1.8;}
table.data th small{display:block; margin:0; font-weight:normal;}
table.data tbody th{background:#444; color:#eee; font-size:120%; font-weight:500; line-height:3; padding:0;}
table.data td{text-align:center; padding:.5em .2em; border:1px solid #ccc; line-height:1.8;}
@media only screen and ( max-width : 600px ) {
table.data tr > td:nth-child(1),table.data tr > td:nth-child(3){white-space:nowrap;}
}

/*作業環境測定を依頼したい box-gray内専用*/
table.clear2{padding:1em; display:block; background:#fff; margin:0 0 2em 0;}
table.clear2 th{vertical-align:top; font-weight:bold; line-height:1.8; padding:.5em 0;}
table.clear2 td{vertical-align:top; line-height:1.8; padding:.5em 0;}
table.clear2 th+td{padding-left:1em;}

/*archive学術大会 - プログラム*/
table.archive{border-collapse: collapse; width:100%; max-width:1020px;}
table.archive th{text-align:center; background:#f1f1f1; border:1px solid #ccc; font-weight:bold; padding:.5em !important; line-height:1.8; white-space:nowrap;}
table.archive tbody th{font-weight:600; padding:0;}
table.archive td{text-align:left; padding:.5em; border:1px solid #ccc; line-height:1.8;}
table.archive tr > td:nth-child(2){width:10em; font-weight:600;}
table.archive tr > td:nth-child(3){width:10em;}
table.archive.simple tr > td:nth-child(2),table.archive.simple tr > td:nth-child(3){width:auto;}

/*archive学術大会 - 出演者*/
table.line{width:100%; margin:1.5em 0;}
table.line thead th{background:#f5f5f5; font-size:120%; border-top:1px solid #ccc;}
table.line tr{padding:1em; border-bottom:1px solid #ccc;}
table.line tbody tr:first-child{border-top:1px solid #ccc;}
table.line th{padding:1em; font-weight:600; text-align:center; line-height:1.2; background:#f9f9f9; border:0;}
table.line td{padding:1em; line-height:1.2; border:0;}


/*行政ニュース　審議会・検討会等傍聴レポート*/
table.bunkakai{border-top:1px solid #ccc;}
table.bunkakai th{line-height:1.8; text-align:center;}
table.bunkakai th small{display:block; font-weight:normal; white-space:nowrap;}
table.bunkakai tr > td:first-child {text-align:center; padding:0; white-space:nowrap;}
/*
table.bunkakai tr > td:last-child{text-align:center; width:25%;}
table.bunkakai tr > td:nth-child(2){text-align:left !important; width:60%;}
table.bunkakai tr > td:last-child a{font-size:90%; display:inline-block; background:#f0f3f3; color:#444; border:1px solid #bedcdc; line-height:1; padding:.5em 1em; border-radius:3px; margin:3px;}
table.bunkakai tr > td:last-child a:after{display:none;}
*/
table.bunkakai tr > td:nth-child(3){text-align:center; width:25%;}
table.bunkakai tr > td:nth-child(2){text-align:left !important; width:60%;}
table.bunkakai tr > td:nth-child(3) a{font-size:90%; display:inline-block; background:#f0f3f3; color:#444; border:1px solid #bedcdc; line-height:1; padding:.5em 1em; border-radius:3px; margin:3px;}
table.bunkakai tr > td:nth-child(3) a:after{display:none;}

table.bunkakai td,table.bunkakai td p{font-size:clamp(1.3rem, 1.4vw, 1.4rem) !important; margin:.5em 0 0 0;}
@media only screen and ( max-width : 600px ) {
/*table.bunkakai tr > td:last-child{width:100px;}*/
table.bunkakai tr > td:nth-child(3){width:100px;}
}
@media (hover: hover) {
/*table.bunkakai tr > td:last-child a:hover{background:#dcf0f0; color:#444;}*/
table.bunkakai tr > td:nth-child(3) a:hover{background:#dcf0f0; color:#444;}
}

/*last-btn*/
table.last-btn tr > td:last-child a{display:inline-block; background:#f0f3f3; color:#444; border:1px solid #bedcdc; line-height:1; padding:.5em 1em; border-radius:3px; margin:3px;}
table.last-btn tr > td:last-child a:after{display:none;}
@media (hover: hover) {
table.last-btn tr > td:last-child a:hover{background:#dcf0f0; color:#444;}
}


/***********
    DIV
************/
div.cap{position:relative; padding-left:3em;}
div.cap > span{position:absolute; left:0; top:0;}

/*box*/
.box{padding:1em 1.5em; margin:1.5em 0; border:1px solid #ccc;}
.box h4{margin-top:.5em; font-size:100%;}
.box p{margin:0; line-height:1.8;}
.box p+p{margin-top:.5em;}
.box.gray{background:#f0f3f3; border:0;}
.box.line{border:3px solid #eee; padding:2em;}
.box a.btn{margin-top:0; margin-bottom:1em; background:#fff;}
.box a.sbtn{display:inline-block; background:#f0f3f3; color:#444; border:1px solid #bedcdc; line-height:2; padding:0 1em; border-radius:3px; margin:3px;}
.box a.sbtn:after{display:none;}
.box a{color:#e67800; border-bottom:1px solid;}
@media (hover: hover) {
.box a.sbtn:hover{background:#dcf0f0; color:#444; opacity:1;}
.box a:hover{color:#ff8200;}
}
@media only screen and ( max-width : 600px ) {
.box{padding:1em;}
}
.box table{border:1px solid #ddd; font-size:95%;}
.box p+table{margin-top:1em;}
.box table th{font-weight:bold; padding:.6em 1em; background:#f5f5f5; line-height:1.8;}
.box table td{padding:.6em 1em; background:#fff; line-height:1.8;}
.box.gray table{border:0;}
.box.gray table th{background:#e5e5e5;}

/*flex*/
.half-flex{display:flex; column-gap:3%; justify-content:center; flex-wrap:wrap; margin:3em 0;}
.half-flex .btn, .half-flex .btn1{margin:.5em 0;}

div.flex{display:flex; width:100%; column-gap:5%; justify-content:center; align-items:center;}
div.flex > .img{display:block; margin:0 auto;}
div.flex > .img img{display:block;}
div.flex.colomn3{align-items:flex-start; margin:1.5em 0;}
div.flex.colomn3 > div{width:30%;}
div.flex.colomn3 div p{font-size:1.2rem; margin:1em 0 0 0;}
p.cap{margin:1em 0 3em 0; text-align:center; font-size:90%; line-height:1;}
@media only screen and ( max-width : 600px ) {
div.flex.sp600{display:block;}
div.flex.sp600 > div{width:100% !important;}
div.flex.colomn3{display:block;}
div.flex.colomn3 > div{width:100%; margin:1em 0;}
div.flex.colomn3 .img{display:flex; align-items:flex-start;}
div.flex.colomn3 .img img{width:25%; height:auto; margin:0 5% 0 0;}
div.flex.colomn3 div p{font-size:1.2rem; margin:0;}
}


/*pankuzu*/
#pankuzu{border-bottom:1px solid #eee;}
#pankuzu ul{list-style:none; margin:0 auto; display:flex; white-space:nowrap; font-size:85%; max-width:calc(1000px + 1.5em); padding:.8em 1.5em;}
#pankuzu li+li:before{content:"/"; display:inline-block; margin:0 1em; color:#ccc;}
#pankuzu li:last-child{white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
@media (max-width: 768px) {
#pankuzu{border-top:1px solid #eee;}
}

/*update*/
div.update{background:#f5f5f8; text-align:right; font-size:90%; padding:1em; line-height:1; border-radius:.3em;}
section > .inner:has(.contents > div.update){margin:2em auto 5em auto;}
@media (max-width: 768px) {
section > .inner:has(.contents > div.update){margin:1em auto 3em auto;}
}

/*anc*/
ul.anc{list-style:none; margin:0 0 3em 0 !important; padding:0; text-align:center;}
ul.anc li{display:inline-block; white-space:nowrap; margin:.3em .2em !important; padding:0;}
ul.anc li a{display:block; border:1px solid #ccc; line-height:2; padding:0 .5em; border-radius:3px; color:#333;}
@media (hover: hover) {
ul.anc li a:hover{background:#f5f5f5;}
}

/*gaiyo*/
span.gaiyo{color:#fff; background:#3264b4; font-size:85%; display:inline-block; line-height:1; padding:.3em .5em; margin:0 .2em;}
div.gaiyo{font-size:90%;margin-top:1em;}
div.gaiyo p{margin:.5em 0 0 0; line-height:1.8;}
div.gaiyo:before{content:"概要"; font-size:90%; font-weight:normal; color:#fff; background:#3264b4; display:inline; line-height:1; padding:.1em .5em .2em .5em; margin:0 .5em 0 0;}



/*faq*/
.q:before{content:"【質問】"; font-weight:bold; font-size:110%;}
.a{background-color:#f0f4f8; padding:1.5em; margin:1em 0 2em 0;}
.a:before{content:"【回答】"; font-weight:bold; font-size:110%;}
.q.特:before, .a.特:before{display:none;}
.a.特{margin:2em 0 !important;}
.a .box{background:#fff; border:0;}
.a p{font-size:95%;}

/*faqlist*/
.faqlist dl{margin:.5em 0; padding:0; border:1px solid #ccc; /*background:#fff;*/ border-radius:.3em;}
.faqlist dt{margin:0; padding:1em 3.2em; position:relative; cursor:pointer; line-height:1.8; font-weight:600;}
.faqlist dt:before{content:"Q."; position:absolute; left:.7em; top:.5em; font-size:150%; line-height:1; color:#325abe; font-weight:500;}
.faqlist dt:after{content:"\f078"; font-family:'Font Awesome 5 Free'; font-weight:900; position:absolute; right:1.5em; top:1em;}
.faqlist dt.active:after{transform: rotate(180deg);}
.faqlist dd{margin:0; padding:1em 1em 1em 3.2em; position:relative; display:none; clear:both;}
.faqlist dd.open{display: block;}
.faqlist dd:before{content:"A."; position:absolute; left:.7em; top:.1em; font-size:150%; line-height:1; color:#64a5fa; border-top:1px solid #ddd; padding:.5em 0 0 0; display:block; width:calc(100% - 1.5em);}
.faqlist dd p{margin:0; line-height:1.8;}
.faqlist dd p+p{margin-top:1em;}

/*aboutbox*/
.aboutbox .item h1{margin:0; line-height:1.8; padding:0 2em 0 0;}
.aboutbox .item:after{item-aligns:center; font-seize:100%;}
.aboutbox > dl{margin:.5em 0; padding:0; border:1px solid #ccc; border-radius:.3em;}
.aboutbox > dl > dt{margin:0; padding:1.5em 2em; position:relative; cursor:pointer; line-height:1.8; font-weight:600;}
.aboutbox > dl > dt:after{content:"\f078"; font-family:'Font Awesome 6 Free'; font-size:200%; font-weight:900; position:absolute; right:1em; top:25%;}
.aboutbox > dl > dt.active:after{transform: rotate(180deg);}
.aboutbox > dl > dd{margin:0; padding:2em; position:relative; display:none; clear:both;}
.aboutbox > dl > dd.open{display: block; border-top:1px solid #ccc;}
.aboutbox > dl > dd p{margin:0; line-height:1.8;}
.aboutbox > dl > dd p+p{margin-top:1em;}
@media (max-width: 600px) {
.aboutbox > dl > dt{padding:1.5em;}
.aboutbox > dl > dd{padding:1.5em;}
.aboutbox > dl > dt:after{top:30%;}
}

/*backnumbers*/
ul.backnumbers{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; min-width:300px;}
ul.backnumbers li{margin:0; padding:0; white-space:nowrap; text-align:center; width:calc(20% - 4px); border:2px solid rgba(255,255,255,0);}
ul.backnumbers li a{display:block; line-height:3; border:1px solid #ccc;}
@media (hover: hover) {
ul.backnumbers li a:hover{background:#f8f8f8;}
}
@media only screen and (max-width: 768px) {
ul.backnumbers li{padding:.5%; width:calc(97% / 3); border:0;}
}
@media only screen and (max-width: 600px) {
ul.backnumbers li{padding:1%; width:calc(96% / 2); border:0;}
}

/*video*/
.video-outer{margin:2em 0;}



/*講習会/その他の講習/個人ばく露測定講習*/
table.data.left th, table.data.left td, table.data.left .title{padding:1em; line-height:1.8;}
table.data.left thead th, table.data.left .title{text-align:center !important;}

details{margin:.5em 0 !important; border:1px solid #ddd; padding:.5em 1em .5em 1em; border-radius:.3em;}
details, details p{font-weight:400 !important; font-size:clamp(1.5rem, 1.5vw, 1.6rem);}
summary{cursor:pointer !important; font-weight:600 !important;}
summary + p{margin:.7em 0 0 0 !important;}
