@charset "utf-8";
/*--------------------------
  reset style
--------------------------*/
/*! minireset.css v0.0.3 | MIT License | github.com/jgthms/minireset.css | Copyright © 2016 Jeremy Thomas */
html,
body,
p,
ol,
ul,
li,
dl,
dt,
dd,
blockquote,
figure,
fieldset,
legend,
textarea,
pre,
iframe,
hr,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
  font-weight: normal;
}

ul {
  list-style: none;
}

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

img,
embed,
iframe,
object,
audio,
video {
  height: auto;
  max-width: 100%;
}

iframe {
  border: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

th {
  font-weight: normal;
}

td,
th {
  padding: 0;
  text-align: left;
}

fieldset {
  border: none;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
	-moz-appearance: none;
  appearance: none;
}

/*--------------------------
  #section-about
--------------------------*/
#section-about .wrap {
  padding-top: calc(45 / 1140 * 100%);
  padding-bottom: calc(60 / 1140 * 100%); }
#section-about h2 {
  width: 100%;
  margin-bottom: 50px;
  color: #003F7F;
  font-size: 40px;
  font-weight: bold;
  font-weight: 700;
  text-align: center;
  line-height: 1.4; }
#section-about .lead {
  font-size: 20px;
  text-align: center; }
  @media screen and (max-width: 768px) {
  #section-about .lead {
    font-size: 14px; } }
  #section-about .ganb-logo {
    margin-top: calc(60 / 1080 * 100%);
    margin-bottom: calc(60 / 1080 * 100%);
    text-align: center; }
  #section-about .about-fig {
    margin-bottom: calc(65 / 1080 * 100%); }
  #needs-about .about-company {
    margin-bottom: 80px; }
    @media screen and (max-width: 768px) {
      #needs-about .about-company {
        margin-bottom: 50px; } }
      #section-about .about-company .company,
  #needs-about .about-company .company {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    width: 100%; }
    #section-about .about-company .company > *,
    #needs-about .about-company .company > * {
      -ms-flex-preferred-size: 49%;
          flex-basis: 49%; }
    @media screen and (max-width: 768px) {
      #section-about .about-company .company,
      #needs-about .about-company .company {
        display: block; } }
    @media screen and (max-width: 768px) {
      #section-about .about-company .company figure,
      #needs-about .about-company .company figure {
        margin-top: 30px; } }
  #section-about .about-company > dt,
  #needs-about .about-company > dt {
    padding: 14px;
    background: #003f7f;
    line-height: 1; }
    #section-about .about-company > dt .acc-ttl,
    #needs-about .about-company > dt .acc-ttl {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      color: #fff;
      font-size: 34px;
      font-weight: bold;
      text-align: center; }
      @media screen and (max-width: 768px) {
        #section-about .about-company > dt .acc-ttl,
        #needs-about .about-company > dt .acc-ttl {
          font-size: 22px;
          text-align: left; } }
  #section-about .about-company > dd,
  #needs-about .about-company > dd {
    margin-top: 30px; }
  #section-about .company_table,
  #needs-about .company_table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 14px; }
    @media screen and (max-width: 768px) {
      #section-about .company_table,
      #needs-about .company_table {
        font-size: 10px; }}
      #section-about .company_table dt, #section-about .company_table dd,
      #needs-about .company_table dt, #needs-about .company_table dd {
      padding: 14px; }
    #section-about .company_table dt,
    #needs-about .company_table dt {
      -ms-flex-negative: 0;
          flex-shrink: 0;
      text-align: center; }
    #section-about .company_table dd,
    #needs-about .company_table dd {
      -ms-flex-preferred-size: calc(100% - 5em);
          flex-basis: calc(100% - 5em); }
    #section-about .company_table:nth-child(2) dt,
    #needs-about .company_table:nth-child(2) dt {
      -ms-flex-preferred-size: 9em;
          flex-basis: 9em; }
    #section-about .company_table:nth-child(2) dd,
    #needs-about .company_table:nth-child(2) dd {
      -ms-flex-preferred-size: calc(100% - 9em);
          flex-basis: calc(100% - 9em); }
  #section-about .acc-icon,
  #needs-about .acc-icon {
    position: relative;
    width: 30px;
    height: 30px;
    border: solid 1px #fff;
    border-radius: 100%;
    background: #003f7f; }
    #section-about .acc-icon::after,
    #needs-about .acc-icon::after {
      position: absolute;
      top: 50%;
      left: 40px;
      display: inline-block;
      margin-top: -7px;
      content: '開く';
      white-space: nowrap;
      color: #fff;
      font-size: 14px;
      line-height: 1; }
  #section-about .acc-trigger,
  #needs-about .acc-trigger {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    cursor: pointer; }
    #section-about .acc-trigger:hover .acc-icon,
    #needs-about .acc-trigger:hover .acc-icon {
      background: #fff; }
      #section-about .acc-trigger:hover .acc-icon span,
      #needs-about .acc-trigger:hover .acc-icon span {
        background: #003f7f; }
    #section-about .acc-trigger.is-open .acc-icon::after,
    #needs-about .acc-trigger.is-open .acc-icon::after {
      content: '閉じる'; }
    #section-about .acc-trigger.is-open .acc-icon span:nth-of-type(2),
    #needs-about .acc-trigger.is-open .acc-icon span:nth-of-type(2) {
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg); }
  #section-about .acc-icon-wrap,
  #needs-about .acc-icon-wrap {
    width: calc(30px + 3.5em + 2px); }
    @media screen and (max-width: 768px) {
      #section-about .acc-icon-wrap,
      #needs-about .acc-icon-wrap {
        width: calc(30px + 60px + 2px); } }
  #section-about .acc-icon, #section-about .acc-icon span,
  #needs-about .acc-icon, #needs-about .acc-icon span {
    display: block;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-transition: all .2s;
    transition: all .2s; }
  #section-about .acc-icon span,
  #needs-about .acc-icon span {
    position: absolute;
    left: 5px;
    width: 18px;
    height: 2px;
    background: #fff; }
  #section-about .acc-icon span:nth-of-type(1),
  #needs-about .acc-icon span:nth-of-type(1) {
    top: 13px;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  #section-about .acc-icon span:nth-of-type(2),
  #needs-about .acc-icon span:nth-of-type(2) {
    top: 13px;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg); }
    @media screen and (max-width: 768px) {
      #section-about h2 {
        margin-bottom: 20px;
        font-size: 22px; }
      #section-about .lead {
        text-align: left; }
        #section-about .lead br {
          display: none; }
    }
    @media screen and (max-width: 320px) {
      #section-about h2 {
        font-size: 18px; }
      }

/*---- startup sweep -----*/
#section-about.sweep-about .lead {
  font-size: 14px;
  line-height: 1.6;
}
#section-about.sweep-about .about-fig {
  background: #fff;
}
#section-about.sweep-about .about-company {
  margin-bottom: 50px;
}
#section-about.sweep-about .about-company > dt {
  padding: 10px;
}
#section-about.sweep-about .about-company > dt .acc-ttl {
  font-size: 20px;
}
#section-about.sweep-about .acc-icon::after {
  font-size: 10px;
}
#section-about.sweep-about .acc-icon-wrap {
  width: calc(30px + 36px + 2px);
}
#section-about.sweep-about .company_table {
  font-size: 10px;
  line-height: 1.6;
}
#section-about.sweep-about .company_table dt, #section-about .company_table dd {
  padding: 0.6em;
}
#section-about.sweep-about .company_table dt {
  flex-basis: 3em;
}
#section-about.sweep-about .company_table dd {
  flex-basis: calc(100% - 6em);
  text-align: left;
}
#section-about.sweep-about .company_table:nth-child(2) dt {
  flex-basis: 7em;
}
#section-about.sweep-about .company_table:nth-child(2) dd {
  flex-basis: calc(100% - 10em);
}
#section-about.sweep-about .company figure {
  margin: 0;
}
/*---- switch display -----*/
.disp-tab, .disp-sp, .disp-tab_sp, .u-sp-only {
  display: none; }

@media screen and (max-width: 768px) {
  .disp-pc, .disp-sp {
    display: none; }
  .disp-tab, .disp-pc_tab, .disp-tab_sp {
    display: block; } }

@media screen and (max-width: 568px) {
  .disp-pc, .disp-tab {
    display: none; }
  .disp-sp, .disp-tab_sp, .u-sp-only {
    display: block; } }

.pdf-list {
  margin-top: calc(50 / 1140 * 100%);
  border: solid 1px #333;
}
.pdf-list dt {
  background: #333;
  color: #fff;
  text-align: center;
  line-height: 2;
  font-size: 20px;
}
.pdf-list dd {
  padding: 25px 25px 15px;
  background: #fff;
}
.pdf-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.pdf-list li {
  max-width: 50%;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
  margin-bottom: 10px;
  padding-left: 30px;
  background: url(../img/pdf.png) left center no-repeat;
  background-size: auto 20px;
  font-size: 18px;
}
.pdf-list li br {
  display: none;
}
.pdf-list a {
  color: #333;
}
.pdf-list a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  .pdf-list li {
    font-size: 14px;
  }
}
@media screen and (max-width: 568px) {
  .pdf-list dt {
    font-size: 16px;
  }
  .pdf-list dd {
    padding: 10px;
  }
  .pdf-list ul {
    display: block;
  }
  .pdf-list li {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    font-size: 10px;
    padding-left: 20px;
    background: url(../img/pdf.png) left center no-repeat;
    background-size: auto 12px;
  }
  .pdf-list li:last-child {
    margin-bottom: 0;
  }
  .pdf-list li br {
    display: block;
  }
  .acc-icon-wrap {
    padding-bottom: 0;
  }
}
