.modal_open1 {
  margin-left: 2em;
  cursor: pointer;
  text-decoration: underline;
  font-size: 1.6rem; }

.overlay {
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  display: none; }

.modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1001;
  width: 100%;
  max-width: 900px;
  text-align: center;
  background: #fff;
  padding: 30px 0; }
  @media screen and (max-width: 768px) {
    .modal {
      padding: 20px 5%; } }
  .modal.modal2 {
    padding: 0; }
    .modal.modal2 .img {
      margin: 0; }
      .modal.modal2 .img img {
        max-width: 100%; }
  .modal p.close {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer; }
    .modal p.close img {
      width: 20px; }
  .modal .img {
    margin-bottom: 20px; }
    .modal .img img {
      width: 100%;
      max-width: 650px; }
  .modal p.txt {
    font-size: 18px;
    line-height: 1.4; }
    @media screen and (max-width: 768px) {
      .modal p.txt {
        font-size: 14px; } }

#wrapper {
  width: 100%;
  min-width: 1100px; }
  @media screen and (max-width: 768px) {
    #wrapper {
      min-width: 0; } }
  #wrapper .kv_area {
    width: 100%;
    height: 453px;
    position: relative;
    z-index: 1;
    min-width: 1100px;
    background: url(/outline/img/kv.jpg) bottom center no-repeat;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -ms-background-size: cover;
    background-size: cover; }
    @media screen and (max-width: 768px) {
      #wrapper .kv_area {
        height: 300px;
        min-width: 0; } }
    #wrapper .kv_area > .inner {
      width: 1100px;
      margin: 0px auto 0px;
      height: 453px;
      -js-display: flex;
      display: -webkit-box;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      -webkit-align-items: center;
      align-items: -webkit- center;
      align-items: center;
      -webkit-justify-content: flex-start;
      justify-content: -webkit- flex-start;
      justify-content: flex-start;
      padding: 0 20px; }
      @media screen and (max-width: 768px) {
        #wrapper .kv_area > .inner {
          width: 100%;
          height: 100%;
          padding: 0 5%; } }
  #wrapper .outline_area {
    width: 100%;
    text-align: center;
    background: #fff;
    padding: 95px 0 90px; }
    @media screen and (max-width: 768px) {
      #wrapper .outline_area {
        padding: 40px 5%; } }
    #wrapper .outline_area > .inner {
      width: 1000px;
      margin: 0px auto 0px; }
      @media screen and (max-width: 768px) {
        #wrapper .outline_area > .inner {
          width: 100%; } }
      #wrapper .outline_area > .inner h2 {
        margin-bottom: 45px; }
        @media screen and (max-width: 768px) {
          #wrapper .outline_area > .inner h2 {
            margin-bottom: 25px; } }
      #wrapper .outline_area > .inner dl {
        width: 100%;
        -js-display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        justify-content: -webkit- flex-start;
        justify-content: flex-start;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; }
        @media screen and (max-width: 768px) {
          #wrapper .outline_area > .inner dl {
            display: block; } }
        #wrapper .outline_area > .inner dl dt {
          width: 200px;
          text-align: center;
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: bold;
          padding-bottom: 20px;
          margin-bottom: 20px;
          border-bottom: 1px solid  #c8cdce;
          line-height: 1.5; }
          @media screen and (max-width: 768px) {
            #wrapper .outline_area > .inner dl dt {
              width: 100%;
              text-align: left;
              border-bottom: none;
              padding-bottom: 0;
              margin-bottom: 10px;
              font-size: 14px; } }
        #wrapper .outline_area > .inner dl dd {
          margin-left: auto;
          width: 760px;
          padding: 0 30px 20px;
          text-align: left;
          font-size: 16px;
          font-size: 1.6rem;
          margin-bottom: 20px;
          border-bottom: 1px solid  #c8cdce;
          line-height: 1.5;
          position: relative; }
          @media screen and (max-width: 768px) {
            #wrapper .outline_area > .inner dl dd {
              width: 100%;
              padding: 0 0 20px;
              font-size: 14px; } }
          #wrapper .outline_area > .inner dl dd .address p.ttl {
            display: inline-block;
            color: #fff;
            font-size: 13px;
            font-size: 1.3rem;
            background: #005faf;
            padding: 5px 10px;
            line-height: 1;
            margin-bottom: 3px; }
            @media screen and (max-width: 768px) {
              #wrapper .outline_area > .inner dl dd .address p.ttl {
                font-size: 12px; } }
          #wrapper .outline_area > .inner dl dd .address p.address {
            font-size: 16px;
            font-size: 1.6rem;
            line-height: 1.5;
            margin-bottom: 10px; }
            @media screen and (max-width: 768px) {
              #wrapper .outline_area > .inner dl dd .address p.address {
                font-size: 14px; } }
            #wrapper .outline_area > .inner dl dd .address p.address:last-child {
              margin-bottom: 0; }
          #wrapper .outline_area > .inner dl dd table {
            table-layout: fixed; }
            #wrapper .outline_area > .inner dl dd table tr th {
              font-size: 16px;
              font-size: 1.6rem;
              width: 130px;
              padding-bottom: 8px;
              text-align: left; }
            #wrapper .outline_area > .inner dl dd table tr td {
              text-align: left;
              font-size: 16px;
              font-size: 1.6rem;
              padding-bottom: 8px; }
          #wrapper .outline_area > .inner dl dd ul li {
            font-size: 16px;
            font-size: 1.6rem;
            margin-bottom: 8px; }
            @media screen and (max-width: 768px) {
              #wrapper .outline_area > .inner dl dd ul li {
                font-size: 14px; } }
            #wrapper .outline_area > .inner dl dd ul li a {
              font-size: 16px;
              font-size: 1.6rem;
              text-decoration: underline; }
              @media screen and (max-width: 768px) {
                #wrapper .outline_area > .inner dl dd ul li a {
                  font-size: 14px; } }
              #wrapper .outline_area > .inner dl dd ul li a:hover {
                text-decoration: none; }
            #wrapper .outline_area > .inner dl dd ul li:last-child {
              margin-bottom: 0; }
          #wrapper .outline_area > .inner dl dd .bnr {
            position: absolute;
            bottom: 20px;
            right: 10px;
            display: flex; }
            @media screen and (max-width: 768px) {
              #wrapper .outline_area > .inner dl dd .bnr {
                position: static;
                margin-top: 20px; } }
            #wrapper .outline_area > .inner dl dd .bnr .box {
              width: 135px;
              border: 3px solid  #f5f5f7;
              cursor: pointer;
              transition: all 0.3s; }
              #wrapper .outline_area > .inner dl dd .bnr .box:hover {
                opacity: 0.7; }
              #wrapper .outline_area > .inner dl dd .bnr .box:not(:last-child) {
                margin-right: 10px; }
  #wrapper .history_area {
    width: 100%;
    background: #edf1f2;
    padding: 75px 0 100px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      #wrapper .history_area {
        padding: 30px 5% 50px; } }
    #wrapper .history_area > .inner {
      width: 1000px;
      margin: 0px auto 0px; }
      @media screen and (max-width: 768px) {
        #wrapper .history_area > .inner {
          width: 100%; } }
      #wrapper .history_area > .inner h2 {
        margin-bottom: 60px; }
        @media screen and (max-width: 768px) {
          #wrapper .history_area > .inner h2 {
            margin-bottom: 30px; } }
      #wrapper .history_area > .inner dl {
        width: 100%;
        -js-display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        justify-content: -webkit- flex-start;
        justify-content: flex-start;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; }
        @media screen and (max-width: 768px) {
          #wrapper .history_area > .inner dl {
            display: block; } }
        #wrapper .history_area > .inner dl dt {
          width: 200px;
          text-align: center;
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: bold;
          padding-bottom: 20px;
          margin-bottom: 20px;
          border-bottom: 1px solid  #c8cdce;
          line-height: 1.5; }
          @media screen and (max-width: 768px) {
            #wrapper .history_area > .inner dl dt {
              width: 100%;
              font-size: 14px;
              text-align: left;
              padding-bottom: 0;
              margin-bottom: 10px;
              border-bottom: none; } }
        #wrapper .history_area > .inner dl dd {
          margin-left: auto;
          width: 760px;
          padding: 0 30px 20px;
          text-align: left;
          font-size: 16px;
          font-size: 1.6rem;
          margin-bottom: 20px;
          border-bottom: 1px solid  #c8cdce;
          line-height: 1.5; }
          @media screen and (max-width: 768px) {
            #wrapper .history_area > .inner dl dd {
              width: 100%;
              padding: 0 0 20px;
              font-size: 14px; } }
  #wrapper .business_area {
    width: 100%;
    text-align: center;
    background: #fff;
    padding: 115px 0 130px; }
    @media screen and (max-width: 768px) {
      #wrapper .business_area {
        padding: 50px 5%; } }
    #wrapper .business_area > .inner {
      width: 1000px;
      margin: 0px auto 0px; }
      @media screen and (max-width: 768px) {
        #wrapper .business_area > .inner {
          width: 100%; } }
      #wrapper .business_area > .inner h2 {
        margin-bottom: 50px; }
        @media screen and (max-width: 768px) {
          #wrapper .business_area > .inner h2 {
            margin-bottom: 25px; } }
      #wrapper .business_area > .inner dl {
        width: 100%;
        -js-display: flex;
        display: -webkit-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        -webkit-justify-content: flex-start;
        justify-content: -webkit- flex-start;
        justify-content: flex-start;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap; }
        @media screen and (max-width: 768px) {
          #wrapper .business_area > .inner dl {
            display: block; } }
        #wrapper .business_area > .inner dl dt {
          width: 200px;
          text-align: center;
          font-size: 16px;
          font-size: 1.6rem;
          font-weight: bold;
          padding-bottom: 20px;
          margin-bottom: 20px;
          border-bottom: 1px solid  #c8cdce;
          line-height: 1.5; }
          @media screen and (max-width: 768px) {
            #wrapper .business_area > .inner dl dt {
              width: 100%;
              font-size: 14px;
              padding-bottom: 0;
              margin-bottom: 10px;
              border-bottom: none; } }
        #wrapper .business_area > .inner dl dd {
          margin-left: auto;
          width: 760px;
          padding: 0 30px 20px;
          text-align: left;
          font-size: 16px;
          font-size: 1.6rem;
          margin-bottom: 20px;
          border-bottom: 1px solid  #c8cdce;
          line-height: 1.5; }
          @media screen and (max-width: 768px) {
            #wrapper .business_area > .inner dl dd {
              width: 100%;
              padding: 0 0 20px;
              font-size: 14px; } }
  #wrapper .organization_area {
    width: 100%;
    text-align: center;
    background: #fff;
    padding-bottom: 100px; }
    @media screen and (max-width: 768px) {
      #wrapper .organization_area {
        padding: 0 5% 50px; } }
    #wrapper .organization_area > .inner {
      width: 1000px;
      margin: 0px auto 0px; }
      @media screen and (max-width: 768px) {
        #wrapper .organization_area > .inner {
          width: 100%; } }
      #wrapper .organization_area > .inner h2 {
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          #wrapper .organization_area > .inner h2 {
            margin-bottom: 20px; } }
      @media screen and (max-width: 768px) {
        #wrapper .organization_area > .inner .organization {
          width: 100%;
          overflow: auto; }
          #wrapper .organization_area > .inner .organization img {
            min-width: 700px; } }
  #wrapper .links_area {
    display: flex;
    justify-content: center;
    padding-bottom: 50px; }
    #wrapper .links_area .block {
      text-align: center; }
      #wrapper .links_area .block.modal_open2 {
        cursor: pointer;
        transition: opacity 0.3s; }
        #wrapper .links_area .block.modal_open2:hover {
          opacity: 0.7; }
      #wrapper .links_area .block:not(:last-child) {
        margin-right: 70px; }
      #wrapper .links_area .block a {
        display: inline-block;
        text-decoration: none;
        transition: opacity 0.3s; }
        #wrapper .links_area .block a:hover {
          opacity: 0.7; }
      #wrapper .links_area .block .tmb {
        width: 180px;
        margin: 0 auto 10px;
        border: 2px solid  #f5f5f7; }
      #wrapper .links_area .block p.txt {
        font-size: 18px;
        color: #5b9bd5; }
      #wrapper .links_area .block span.modal_open1 {
        font-size: 18px;
        color: #5b9bd5;
        cursor: pointer;
        text-decoration: underline;
        display: block;
        margin: 5px 0 0; }

/*# sourceMappingURL=layout.css.map */
