@charset "utf-8";
/* ------------------------------------- */
/*メインビジュアル*/
/* ------------------------------------- */
.mv{
  background: url(../img/guide/main.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .mv{
    background:url(../img/guide/main_sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
  }
}
/* ------------------------------------- */
/*共通テーブルスタイル*/
/* ------------------------------------- */
.table-box h4{
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  background: #4595d2;
  padding: 12px;
  border-radius: 10px 10px 0 0;
}
table{
  width: 100%;
  border-collapse: separate;
  overflow: hidden;
  border-spacing: 0;
  border-radius: 10px;
  border: 1px solid #e5ebef;
  table-layout: fixed;
}
.table-box table{
  border-radius: 0 0 10px 10px;
}
table td,
table th {
	padding: 15px;
  vertical-align: middle;
  border-bottom: 1px solid #e5ebef;
}
table tr:last-of-type td,
table tr:last-of-type th{
  border-bottom:0;
}
table th{
	background: #f5f5f5;
  font-weight: bold;
}
table td{
  background:#fff;
  line-height: 1.8;
}
.table-sub table{
  border-radius: 0;
}
@media screen and (max-width: 600px) {
  table th{
    text-align: center;
  }
}
/* ------------------------------------- */
/*その他協会案内共通スタイル*/
/* ------------------------------------- */
.guide .sec-inner{
  max-width:920px;
}
.guide .heading-border{
  margin-bottom:30px;
}
/* ------------------------------------- */
/*ページ内リンクボタン*/
/* ------------------------------------- */
section.link-area{
  padding-bottom:0;
}
.link-area .btn-wrap{
  display: flex;
  flex-wrap: wrap;
  border-radius: 10px;
  overflow: hidden;
}
.link-area .btn-wrap li{
  width: 25%;
  border-bottom: 1px solid #fff;
  border-right: 1px solid #fff;
}
.link-area .btn-wrap li:nth-of-type(3n){
  /* border-right:0; */
}
.link-area .btn-wrap li a{
  background: #2d8dd7;
  display: block;
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  padding: 15px;
  position: relative;
  transition: 0.3s;
}
.link-area .btn-wrap li a:hover{
  background:#4aaaec;
}
.link-area .btn-wrap li a::after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 15px;
  width: 9px;
  height: 9px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s;
}
@media screen and (max-width: 600px) {
  .link-area .btn-wrap li{
    width:50%;
  }
  .link-area .btn-wrap li:nth-of-type(3n){
    border-right:1px solid #fff;
  }
  .link-area .btn-wrap li:nth-of-type(2n),
  .link-area .btn-wrap li:nth-of-type(4n){
    border-right:0;
  }
  .link-area .btn-wrap li:nth-of-type(odd){
    border-right: 1px solid #fff;
  }
  .link-area .btn-wrap li a{
    font-size: 1.5rem;
  }
  .link-area .btn-wrap li a::after{
    width: 7px;
    height: 7px;
  }
}
/* ------------------------------------- */
/*経営理念*/
/* ------------------------------------- */
.philosophy .text-wrap{
  padding: 50px 50px 50px 34%;
  background: url(../img/guide/philosophy_bg.png) no-repeat;
  background-size: cover;
  background-position: left bottom;
}
.philosophy .text-wrap .heading-border{
  color: #fff;
  border-color: #fff;
  text-align: center;
}
.philosophy .text-wrap p{
  color: #fff;
  line-height: 1.7;
}
.philosophy .btn{
  margin: 40px auto 0;
}
@media screen and (max-width: 600px) {
  .philosophy .text-wrap{
    padding: 50px 4% 150px;
    background: url(../img/guide/philosophy_bg_sp.png) no-repeat;
    background-size: cover;
    background-position: left bottom;
  }
}
/* ------------------------------------- */
/*経営目標*/
/* ------------------------------------- */
.goal .flex-box{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.goal .flex-box dl{
  width:calc(33.3% - 23px);
  margin-top:30px;
  padding:20px;
  background: url(../img/guide/bg_pattern_blue.jpg) repeat;
}
.goal .flex-box dl dt span{
  font-size: 4rem;
  font-family: 'Playfair Display', serif;
  color: rgba(255,255,255,0.5);
  position: relative;
  top:-0.2em;
}
.goal .flex-box dl dd{
  color: #fff;
  font-weight: bold;
  font-size: 1.7rem;
  line-height: 1.5;
}
@media screen and (max-width: 600px) {
  .goal .flex-box{
    display: block;
  }
  .goal .flex-box dl{
    width:100%;
  }
}
/* ------------------------------------- */
/*協会概要*/
/* ------------------------------------- */
.overview table th{
  border-right: 1px solid #e5ebef;
}
.overview table td ul li .o-position{
  display: inline-block;
  min-width: 5em;
}
@media screen and (max-width: 600px) {
  .overview table th,
  .overview table td{
    display: block;
    width:100%;
  }
  .overview table th{
    border-right: 0;
  }
  .overview table tr:last-of-type th{
    border-bottom: 1px solid #e5ebef;
  }
  .overview table td{
    padding:30px 4%;
  }
}
/* ------------------------------------- */
/*アクセス*/
.overview table td.access{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.overview table td.access .btn{
  width: 235px;
}
@media screen and (max-width: 600px) {
  .overview table td.access{
    display: block;
  }
  .overview table td.access .btn{
    width: 100%;
    margin-top: 15px;
  }
}
/* ------------------------------------- */
/*サブテーブル*/
@media screen and (max-width: 600px) {
  .overview .table-sub table th,
  .overview .table-sub table td{
    display: table-cell;
    padding: 15px 5px;
  }
  .overview .table-sub table th{
    border-right: 1px solid #e5ebef;
  }
  .overview .table-sub table th:first-of-type{
    width: 32%;
  }
  .overview .table-sub table th:nth-of-type(2){
    width:18%;
  }
  .overview .table-sub table td{
    width:50%;
  }
  .overview .table-sub table .b-bottom-none{
    border-bottom:0;
  }
}
/* ------------------------------------- */
/*定款ボタン*/
.overview .statute .btn{
  margin:40px auto 0;
}
/* ------------------------------------- */
/*組織図*/
/* ------------------------------------- */
.chart figure{
  max-width:730px;
  margin:0 auto;
}
@media screen and (max-width: 600px) {

}
/* ------------------------------------- */
/*財務情報*/
/* ------------------------------------- */
.finance .box{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  border-bottom: 1px dotted #dcdcdc;
  padding-bottom: 15px;
  margin-bottom: 15px;
}
.finance .box:last-of-type{
  border-bottom: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}
.finance .box dt{
  width: 20%;
  font-size: 2rem;
}
.finance .box dd{
  width: 80%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.finance .box dd .btn{
  width:calc(50% - 15px);
  margin-top:30px;
}
.finance .box dd .btn:first-of-type,
.finance .box dd .btn:nth-of-type(2){
  margin-top:0;
}
@media screen and (max-width: 600px) {
  .finance .box{
    display: block;
  }
  .finance .box dt,
  .finance .box dd{
    width:100%;
  }
  .finance .box dd{
    display: block;
  }
  .finance .box dd .btn{
    width:100%;
  }
  .finance .box dd .btn:first-of-type,
  .finance .box dd .btn:nth-of-type(2){
    margin-top:30px;
  }
}
/* ------------------------------------- */
/*入札結果*/
/* ------------------------------------- */
.bid table td a{
  color: #0076d1;
}
@media screen and (max-width: 600px) {
  .bid table th,
  .bid table td{
    display: block;
    width:100%;
  }
  .bid table tr:last-of-type th{
    border-bottom: 1px solid #e5ebef;
  }
}
/* ------------------------------------- */
/*社会的取り組み*/
/* ------------------------------------- */
.efforts .box-wrap{
  margin-bottom:60px;
}
.efforts .box-wrap:last-of-type{
  margin-bottom:0;
}
.efforts .box-wrap h4{
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 30px;
}
.efforts .box-wrap .box{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.efforts .box-wrap .box:not(:first-of-type){
  margin-top:40px;
}
.efforts .box-wrap .box figure{
  width:38%;
  border:1px solid #e5ebef;
}
.efforts .box-wrap .box dl{
  width:calc(62% - 30px);
}
.efforts .box-wrap .box dl dt{
  font-size: 2.2rem;
  font-weight: 500;
  margin-bottom:25px;
}
.efforts .box-wrap .box dl dd{
  line-height: 1.7;
}
.efforts .box-wrap .box dd .btn{
  margin-top:20px;
}
@media screen and (max-width: 600px) {
  .efforts .box-wrap .box{
    display: block;
  }
  .efforts .box-wrap .box figure,
  .efforts .box-wrap .box dl{
    width:100%;
  }
  .efforts .box-wrap .box dl{
    margin-top: 30px;
  }
}