@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.8.0/font/bootstrap-icons.css");
html {
  font-size: 16px;
}
body {
    margin: 0;
    display: flex;
    flex-flow: column;
    min-height: 100vh;
    font-family: 'Noto Sans JP', san-serif;
    line-height: 1.5;
    letter-spacing: 1px;
    color: #222;
}

main{
    flex: 1;
}

.container_box {
    max-width: 1280px;
    margin: auto
}

a, a:visited {
	color: #222;
}
a:hover {
	color: /*#20afe4*/#751c77;
}
.font_bold {
    font-weight: 700;
}
span.aks {
    display: inline-block;
}
/*.font_blue, a.font_blue, a.font_blue:visited {
	color: #0086d1;
}*/
a.font_blue:hover {
	color: #2246ac;
}
.font_orange {
	color: #ed6a00;
}
.font_green {
	color: #415b2e;
}
.font_white{
	color: #fff !important;
}

.bg_blue {
	/*background-color: #e5d9e7;*/
	color: #fff;
        height: 20px
}
.t-c{
    text-align: center
}

.position_flex{
    display: flex
}

/** header **/
#header {
	font-size: 12px;
	transition: all .4s;
}
#header.header_up { /* 余裕があったら */
	transform: translateY(-110px);
}
#header .container-fluid > div > * {
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
}
#header .h1, #header .navbar-brand{
	font-size: 1rem;
}

.navbar-brand {
	max-width: calc(100% - 140px);
	margin-right: 0;
}
.navbar-brand img {
	height: auto;
}

.bg-brue{
    background-color:#D3EDFB
}

.bg-back-color{
    background: white;
    width: 100%;
}

.site_name_box{
    font-weight: bold;
    padding: 0 0 1rem 3rem;
    font-size: 2rem
}

.risk_text_box{
    font-weight: bold;
    padding: 2rem 0 0 3rem;
}

.title_logo{
    padding: 0 0.3rem;
}

.top_t_box{
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    /* width: 200px; */
    /* height: 60px; */
    /* background: #338DC9; */
    /* color: #eee; */
    text-decoration: none;    
}

.brue_line{
    border-bottom: solid 4px #4C99EE;
}

.white_line{
    border-bottom: solid #fff;
}

.margin_erase{
    flex-grow:1
}

.thumbnail_box{
    width: 350px;
    height: 195px
}

.thumbnail_box img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

/** main **/

/* パンくずリスト */
ul.breadcrumb_list{
    list-style: none;
    padding: 0 !important
  }
  li.breadcrumb_block{
    display: inline;
  }
  li.breadcrumb_block a{
    color: inherit;
    text-decoration: none;
  }
  li.breadcrumb_block + li.breadcrumb_block:before{
    content: ">";
    margin:.5em;
  }

.section_block_1,.section_block_2,.section_block_3,.section_block_4,.section_block_5{
    margin: 4rem 0 0 0;
}

.gray_bk{
    background: #E6E6E6
}

.classification_box{
    max-width: 700px;
    display: flex;
    margin: auto;
    justify-content: space-around;
    padding: 2rem 0
}

.top_midasi{
font-size: 2rem;
    text-align: center;
    font-weight: 900;
    background: #E0F1F4
}

.top_border{
    border-bottom: solid 4px #4C99EE;
    max-width: 1280px;
    margin: auto
}

.dotted_line{
    border-bottom: dotted 1px #4C99EE;
    max-width: 1280px;
    margin: auto;
}

.sub_midasi{
    text-align: center;
    padding: 2rem 0 1rem 0;
    font-size: 1.2rem;
}

.btn,
a.btn,
button.btn {
    width: 300px;
    height: 150px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 0rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    display: flex;
    align-items: center;
    justify-content: center
}

.btn-brown,
a.btn-brown {
    background: #A76C55;
    border: solid 2px #979797;
    color: #fff
}

a.btn-brown:hover{
    color: #A76C55;
    background: #fff !important;
    border: solid 2px #A76C55; 
}

.btn-green,
a.btn-green {
    background: #00431E;
    border: solid 2px #979797;
    color: #fff
}

a.btn-green:hover{
    color: #00431E;
    background: #fff !important;
    border: solid 2px #00431E; 
}

.btn-brue,
a.btn-brue {
    background: #3399CC;
    border: solid 2px #979797;
    color: #fff
}

a.btn-brue:hover{
    color: #3399CC;
    background: #fff !important;
    border: solid 2px #3399CC; 
}

.news_container_box{
    max-width: 1280px;
    margin: auto;
    padding: 1rem
}

.news-post{
    margin: 1rem 0;
    display: flex
}

.newslist{
    padding: 2rem 1rem;
    background: #fff;
}

.news_box{
    padding: 3rem 0 3rem 0;
    margin: 0 2rem
}

.news_border{
    border-bottom: solid 1px #9FA0A0;
    max-width: 1135px;
    margin: auto
}

.post-date{
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 1rem
}

.morelink{
    text-align: right;
    margin: 1.2rem 0 0 0;
}

.icon_flow_box{
    margin: 0 0.5rem;
    }


.construction{
    background: #90C2D9;
    letter-spacing: 1px;
    width: 100px;
    padding: 0.7rem 1rem;
    color: #fff;
    line-height: 1;
    text-align: center;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center
}

.notice{
    background: #91A6C4;
    letter-spacing: 1px;
    width: 100px;
    padding: 0.7rem 1rem;
    color: #fff;
    line-height: 1;
    text-align: center;
    border-radius: 3px;   
    display: flex;
    align-items: center;
    justify-content: center
}

.construction_box{
    display: flex;
    justify-content: center;
    padding: 2rem 0
}

.cat_date_box{
    display: flex;
    width: 35%;
    justify-content: space-evenly;
}

.title_box{
    width: 65%;
    align-items: center;
    display: flex
}

.yearly-list li {
    list-style: none;
    width: 120px;
    padding: 0.5rem 1rem;
    background-color: #E0F1F4;
    margin: 0.5rem 1rem 0.5rem 0;
}

/* contractor_list */

.btn_s,
a.btn_s,
button.btn_s {
    width: 450px;
    height: 75px;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 0rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    display: flex;
    align-items: center;
    justify-content: center;
}

a.btn_s-gray {
    background: #979797;
    border: solid 2px #979797;
    color: #fff
}

.btn_s-brown,
a.btn_s-brown {
    background: #A76C55;
    border: solid 2px #979797;
    color: #fff
}

a.btn_s-brown:hover{
    color: #A76C55;
    background: #fff !important;
    border: solid 2px #A76C55; 
}

.btn_s-green,
a.btn_s-green {
    background: #00431E;
    border: solid 2px #979797;
    color: #fff
}

a.btn_s-green:hover{
    color: #00431E;
    background: #fff !important;
    border: solid 2px #00431E; 
}

.classification_s_box{
    max-width: 1000px;
    display: flex;
    margin: auto;
    justify-content: space-evenly;
    padding: 0;
    flex-wrap: wrap;
}

.classification_list_box{
    max-width: 700px;
    margin: auto
}

.classification_list_box_2{
    max-width: 1000px;
    margin: auto
}

.parent{
display: flex;
    margin: auto;
    justify-content:space-between;
    padding: 1.5rem 0;
    flex-wrap: wrap;
}

.parent::after{
  content:"";
  display: block;
  width:300px
}

.construction_block{
    display: block
}

.construction_block_none{
    display: none
}


.vendor_btn,
a.vendor_btn,
button.vendor_btn{
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 0.2rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    width: 300px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center
}

.btn-white, a.btn-white {
    background: #fff;
    border: solid 2px #979797;
}

.btn_block{
    margin: 0 0 1rem 0
}

.pdf_btn,
a.pdf_btn,
button.pdf_btn{
    border: solid 2px #979797;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 0.2rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    width: 400px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center
}

a.btn-white:hover{
    color: #4C99EE;
    background: #fff !important;
    border: solid 2px #4C99EE; 
}

.detail_area{
    display: flex;
    flex-flow: column;
    padding: 2rem 0 0 0;
    align-items: center
}

.detail_box{
    margin: 0 0 2rem 0;
}

.breadcrumbs_box{
    max-width: 1280px;
    margin: auto;
    padding: 0 0 5rem 2rem;
}

.breadcrumbs_box_2{
    max-width: 1280px;
    margin: auto;
    padding: 0 0 0 2rem;
}

.result_container_box{
    margin: auto;
    padding: 0 0 3rem 2rem;
    max-width: 1280px;
}

.btn-search,
a.btn-search,
button.btn-search{
    border: solid 2px #979797;
    color: #fff;
    font-size: 1.2rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 0.2rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    width: 200px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #447CB1;
}

.search_midasi{
    font-size: 2rem;
    text-align: center;
    font-weight: 900;
}

.search_box{
    margin: auto;
    max-width: 800px;
}

.search_section{
    padding: 3rem 0 4rem 0;
}

.archive_box{
    margin: 0 1rem;
}


/** footer **/
#footer {
	color: #000;
        border-top: solid 4px #4C99EE;
        font-weight: bold
}
#footer .menu-item a, #footer .menu-item a:visited, #footer .menu-item a[aria-current="page"] {
	color: #fff;
}
#footer .d-none.d-md-block.menu-item {
	display: none!important;
}
#footer .dropdown-menu {
	display: block;
	background-color: transparent;
	position: relative;
	border: none;
	padding-left: 1rem;
}
#footer .dropdown-menu a {
	padding: 0 0 0.5rem 1rem;
}
#footer .dropdown-menu a:before {
	content: '-';
}
#footer > .container > .row ul.menu {
	display: block;
}

/* frontpage */


/* pages */
.w_960 {
	max-width: 960px;
	margin: 0 auto;
}

.p-2 {
    padding: 1rem 1rem 1.5rem 1rem !important;
}

/* move */
.move {
    transition: all .8s ease-in-out;
    transform: translateX(-20vw) scale(0.1);
    opacity: 0;
}
.move.active {
    transition: all .8s;
    transform: translateX(0) scale(1);
    opacity: 1;
}

/**
メディアクエリ
 */
 @media all and (max-width: 960px) {
     
     
 }
 
 
@media all and (max-width: 900px) {
 .newslist{
    padding: 2rem 1rem;
}

.news-post {
    display: flex;
    flex-direction: column;
}

.cat_date_box{
    width: 100%;
    justify-content: start;

}

.title_box{
    width: 100%;
}

.classification_list_box_2 {
    max-width: 800px;
    margin: auto;
}

.parent {
    justify-content: space-around;
}

.classification_list_box {
    max-width: 800px;
}

.mb_button_classification_box{
    margin: 0 0 2rem 0;
}

}        

@media all and (max-width: 768px) {

.position_flex {
    display: flex;
    flex-flow: column;
    text-align: center;
}

.top_t_box{
    margin: 1.2rem 0;
}

.risk_text_box {
    padding: 1.5rem 0 0 0;
}

.site_name_box {
    padding: 0;
}

.thumbnail_box {
    margin: auto;
    padding: 0 0 1rem 0;
}

.classification_box{
    flex-flow: column;
}

.mb_button_classification_box{
    margin: 0 auto 2rem;
}

.news_box {
    margin: 0 1rem;
}

.news-post::before {
    display: inline-block;
    position: absolute;
    /* top: 5px; */
    left: 0;
    width: 100px;
    padding: 0.7rem 1rem;
    color: #fff;
    line-height: 1;
    text-align: center;
    border-radius: 3px;

}

.breadcrumbs_box {
    padding: 0 0 1rem 2rem;
}

}

@media all and (max-width: 480px) {

.pdf_btn, a.pdf_btn, button.pdf_btn {
    border: solid 2px #979797;
    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    display: inline-block;
    padding: 1rem 0.2rem;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #212529;
    width: 300px;
    height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

    .site_name_box,.top_midasi{
       font-size:1.5rem
    }
    
    .btn, a.btn{
        font-size:1.2rem
    }

}

@media all and (max-width: 600px) {

    
}



@media all and (min-width: 992px) {
	/* frontpage */

	/* pages */


}
@media all and (min-width: 1200px) {

}


.accordion  {
  margin-inline: 0;
  border-bottom:1px solid #a9a9a9
}

.accordion_title {
  position: relative;
  border: none;
  display: block;
  list-style: none;
  width: 100%;
  cursor: pointer;
  padding: 1.4em 2em 1.4em 1.4em;
  line-height: 1.6em;
}

summary.accordion_title::-webkit-details-marker {
  display:none;
}

.accordion_title:after {
  content: "+";
  position: absolute;
  top: calc(50% - 0.5em);
  right: 20px;
  line-height: 1;
  padding: 0;
  pointer-events: none;
}

.accordion::details-content {
  opacity: 0;
  block-size: 0;
  transition: .3s;
  transition-property: display, opacity, block-size, padding;
  transition-behavior: allow-discrete;
  line-height: 1.6em;
}

.accordion .accordion_content {
  padding: 0 2em 0 3em;
}

.accordion .accordion_content > *:first-of-type {
  margin-top: 0;
}

.accordion .accordion_content > *:last-of-type {
  margin-bottom: 0;
}

.accordion[open]::details-content {
  opacity: 1;
  block-size: auto;
  block-size: calc-size(auto, size);
}

.accordion[open] .accordion_content {
  padding: 0 2em 1.4em 3em;
}

.accordion[open] .accordion_title:after {
  content: "-";
}