@charset "UTF-8";
img {
  max-width: 100%;
  height: auto;
}

html {}

body {
  background: #000000;
  color: #FFFFFF;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", "ＭＳ ゴシック", sans-serif, "游明朝", YuMincho, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", "ＭＳ ゴシック", serif;
}

.f-gothic {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", "ＭＳ ゴシック", sans-serif;
}

.f-mincho {
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

a, a:visited {
  color: #FFFFFF;
}

a:hover {
  opacity: 0.75;
}

.tac {
  text-align: center;
}

ul {
  list-style: none;
}

header {
  background: #000000;
}

footer {
  background: #272727;
}

.footer_architecture ul, .footer_civil_engineering ul, .footer_facility ul {
  display: flex;
  flex-wrap: wrap;
}

.hide {
  display: none !important;
}

@media screen and (min-width: 768px) {
  body {
    min-width: 1200px;
    margin: 0 auto;
  }
  .smp {
    display: none !important;
  }
  .contents {
    width: 1020px;
    margin-right: auto;
    margin-left: auto;
  }
  header {
    border-bottom: 4px solid #FFFFFF;
  }
  #header_area {
    margin: 0 auto;
    padding: 50px 0 35px;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #footer_navi_area {
    background: #000000;
    padding: 30px 0;
    border-bottom: 4px solid #FFFFFF;
  }
  #footer_navi_area .contents {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #header_academy_logo, #footer_academy_logo {
    text-align: center;
    width: 348px;
    flex-grow: 0;
  }
  #header_navi, #footer_navi {
    width: 356px;
  }
  #header_logo, #footer_logo {
    text-align: right;
    width: 336px;
  }
  #header_navi ul, #footer_navi ul {
    display: flex;
  }
  #header_navi li, #footer_navi li {
    text-align: center;
  }
  #header_navi li:nth-of-type(2), #footer_navi li:nth-of-type(2) {
    margin: 0 60px;
  }
  #header_navi a, #footer_navi a {
    font-size: 22px;
    text-decoration: none;
  }
  #header_navi a span, #footer_navi a span {
    display: inline-block;
    background: #8b7347;
    font-size: 15px;
    padding: 3px 7px 2px;
    line-height: 1;
  }
  footer {
    border-top: 4px solid #FFFFFF;
  }
  #footer_partner_list {
    padding: 70px 0 80px;
  }
  #footer_partner_list h3 {
    font-size: 42px;
    margin: 15px auto 30px;
  }
  #footer_partner_list .data_area {
    display: flex;
    flex-wrap: wrap;
  }
  #footer_partner_list h4 {
    font-size: 30px;
    border-bottom: 8px double #FFFFFF;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }
  .footer_architecture {
    width: 100%;
    margin-bottom: 55px;
  }
  .footer_civil_engineering {
    width: 510px;
    margin-right: 45px;
  }
  .footer_facility {
    width: 465px;
  }
  #footer_partner_list li {
    background: url(../image/common/footer_partnerlist-arrow.png) no-repeat left 2px;
    padding-left: 13px;
    margin-top: 20px;
  }
  .footer_architecture li, .footer_civil_engineering li, .footer_facility li {
    font-size: 15px;
  }
  .footer_architecture li:nth-of-type(6n+1), .footer_civil_engineering li:nth-of-type(3n+1) {
    width: 127px;
  }
  .footer_architecture li:nth-of-type(6n+2), .footer_civil_engineering li:nth-of-type(3n+2) {
    width: 162px;
  }
  .footer_architecture li:nth-of-type(6n+3) {
    width: 227px;
  }
  .footer_civil_engineering li:nth-of-type(3n) {
    width: 182px;
  }
  .footer_architecture li:nth-of-type(6n+4), .footer_facility li:nth-of-type(2n+1) {
    width: 132px;
  }
  .footer_architecture li:nth-of-type(6n+5) {
    width: 157px;
  }
  .footer_architecture li:nth-of-type(6n) {
    width: 137px;
  }
  #footer_area {
    padding: 20px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  #footer_area ul {
    display: flex;
    font-size: 14px;
  }
  #footer_area ul li {
    margin-right: 40px;
  }
  #footer_academy_logo span {
    display: block;
    text-align: center;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.5);
    font-size: 12px;
  }
  #copyright {
    font-size: 13px;
  }
  #drawer_partner {
    display: none;
  }
}

@media screen and (max-width: 767.999px) {
  .pc {
    display: none !important;
  }
  header {
    border-bottom: 2px solid #FFFFFF;
    height: 60px;
  }
  body.open {
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
  }
  #header_area {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
  #smp_header_menu, #smp_close_menu {
    width: 57px;
    display: flex;
    padding: 15px 0 10px;
    text-align: center;
    background: #272727;
    justify-content: center;
    align-items: center;
  }
  #header_academy_logo {
    padding-left: 40px;
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    width: 47%;
    max-width: 220px;
  }
  #header_logo {
    padding-right: 10px;
    padding-left: 20px;
    display: flex;
    text-align: center;
    justify-content: center;
    align-items: center;
    width: calc( 100% - 117px - 50%);
    max-width: 118px;
  }
  #drawer_partner {
    position: fixed;
    top: 60px;
    left: -100%;
    z-index: 19999;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    width: 100%;
    height: calc(100% - 60px);
    background: #000000;
    -moz-transition-property: all;
    -o-transition-property: all;
    -webkit-transition-property: all;
    transition-property: all;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    box-sizing: border-box;
  }
  #drawer_partner.open {
    left: 0;
  }
  footer {
    border-top: 2px solid #FFFFFF;
    padding-bottom: 15px;
  }
  #footer_partner_list, #drawer_partner {
    padding: 35px 20px 40px;
  }
  #footer_partner_list h2, #drawer_partner h2 {
    width: 90px;
    margin: 0 auto;
  }
  #footer_partner_list h3, #drawer_partner h3 {
    font-size: 21px;
    margin: 10px auto 0;
  }
  #footer_partner_list h4, #drawer_partner h4 {
    font-size: 20px;
    border-bottom: 6px double #FFFFFF;
    margin-bottom: 16px;
    padding-bottom: 6px;
    letter-spacing: 0.1em;
  }
  #footer_partner_list ul, #drawer_partner ul {
    display: flex;
    flex-wrap: wrap;
  }
  #footer_partner_list li, #drawer_partner li {
    background: url(../image/common/footer_partnerlist-arrow-sp.png) no-repeat left 4px;
    background-size: 5px 9px;
    padding-left: 11px;
    margin-right: 10px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    width: calc(50% - 16px);
    letter-spacing: 0.1em;
  }
  #footer_partner_list ul li:nth-of-type(2n), #drawer_partner ul li:nth-of-type(2n) {
    margin-right: 0;
  }
  #footer_partner_list ul li:nth-of-type(n+3), #drawer_partner ul li:nth-of-type(n+3) {
    margin-top: 14px;
  }
  .footer_architecture {
    margin-top: 25px;
  }
  .footer_civil_engineering, .footer_facility {
    margin-top: 30px;
  }
  #footer_navi_area, #footer_area ul {
    background: #000000;
    text-align: center;
  }
  #footer_navi_area {
    padding-top: 25px;
  }
  #footer_area ul {
    padding: 25px 0 20px;
    display: flex;
    font-size: 13px;
    justify-content: center;
  }
  #footer_area ul li:nth-of-type(1) {
    margin-right: 15px;
  }
  #footer_area ul li:nth-of-type(2) {
    margin-left: 15px;
  }
  #footer_logo {
    margin: 25px auto 0;
    width: 130px;
  }
  #footer_academy_logo {
    width: 240px;
    margin-right: auto;
    margin-left: auto;
  }
  #copyright {
    padding-top: 15px;
    font-size: 9px;
    text-align: center;
    border-top: 2px solid #FFFFFF;
  }
}