@charset "utf-8";

body {
    font-size: 16px;
    font-weight: normal;
    font-family: "Roboto", "Noto Sans JP", Arial, "Hiragino Kaku Gothic ProN",
    "Hiragino Sans", Meiryo, sans-serif;
    line-height: 1.8;
    color:#012B3D;
}


html,body {
    overflow-x: hidden;
}

html {
  scroll-behavior: smooth; /* スムーススクロール */
}

img {
    max-width: 100%;
    height: auto;
}

a,a:hover,a:visited {
    color: inherit;
    text-decoration: none;
}

.fade-in {
  opacity: 0;
  transition-duration: 500ms;
  transition-property: opacity, transform;
}

.fade-in-up {
  transform: translate(0, 50px);
}

.fade-in-down {
  transform: translate(0, -50px);
}

.fade-in-left {
  transform: translate(-50px, 0);
}

.fade-in-right {
  transform: translate(50px, 0);
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}


/* ===========
    汎用クラス
=========== */

.inner{
    width:94%;
    max-width: 1040px;
    margin-left: auto;
    margin-right: auto;
}

.inner-small{
    width:94%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.inner-small-sub {
   width:94%;
   max-width: 1040px;
}
  
  .flex {
    display:flex;
  }

  .flex-none {
    display: block;
  }

  .is-between {
    justify-content: space-between;
  }

  .is-center {
    justify-content:center;
  }

  .is-align-center {
    align-items: center;
  }

  .is-align-right {
    justify-content: flex-end;
  }

  .is-align-left {
    justify-content: flex-start;
  }

/*PCでは無効（改行しない）*/
.ssma{
  display: none;
}


/*PCでは有効（改行する）*/
.sma{
  display: block;
}

/* ===========
    header
=========== */
  header {
    background-color: #F1F5F4;
  }

  .header__inner {
    display: flex;
  }

      /* ヘッダーのロゴ部分 */

     .header__title img {
      width: 80%;
    }
    


  /* ヘッダーのナビ部分 */
  .header__nav {
    display: flex;
    width: 85%;
  }

  /*PC時のナビゲーションメニュー、横並びにする*/
  .nav__items {
    width: 90%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    padding-right: 200px;

  }

  /* ===========
    mainarea
  =========== */
  .main-area {
    position: relative;
    background-color: #F1F5F4;
    display: flex;
    height: 400px;
  }

  .main-img{
    position: absolute;
    border-top-right-radius:80px;
    max-width: 72%;
    top:0;
  }

  .maki-top {
    position: absolute;
    border-bottom-left-radius:80px;
    width: 18%;
    top: -150px;
    right: 0;
  }

    /* ===========
    main-txtarea
   =========== */

   #catch {
    position: relative;
    height: 550px;
   }

   .catch-area {
    position: absolute;
    text-align: center;
    top:220px;
    left:1%;
   }

   .catch-area img {
    width: 75%;
   }


   .catch-area h2 {
    font-size: 19px;
    font-weight: bold;
    line-height: 3em;
    color: #707070;
   }

   .catch-area p {
    line-height: 2em;
   }

   .kujira-ill {
    position: absolute;
    width: 40%;
    top: -100px;
    right: 0px;
    opacity: 0.2;
   }

    /* ===========
    three-txtarea
   =========== */

   #three {
    position: relative;
   }

   .three-txtarea {
    width: 100%;
    height: 700px;
    background-color: #F1F5F4;
   }

   .kakasi {
    position: absolute;
    border-radius: 40px;
    top:-30px;
    left:30px;
   }

   .green {
    position: absolute;
    border-top-left-radius:40px;
    border-bottom-left-radius:40px;
    width: 10%;
    top:110px;
    right: 0px;
   }

   .three-txtarea h1 {
    height: 170px;
   }

   .txt-11 {
    position: absolute;
    width: 281px;
    top: 10px;
    left:50%;
   }

   .txt-12 {
    position: absolute;
    width: 281px;
    top:70px;
    left:55%;
   }

   .threetxt-box {
    width: 80%;
   }



   .icon {
    width: 140px;
    margin:40px 10px;
   }

   .icon1-in {
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    background-image:url(../img/icon-1.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #FEDC63;
   }

   .icon2-in {
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    background-image:url(../img/icon-2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #FEDC63;
   }

   .icon3-in {
    width: 140%;
    padding-top: 140%;
    border-radius: 50%;
    background-image:url(../img/icon-3.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #FEDC63;
   }

   .icon3-txt {
    padding-left: 20px;
   }

   .threetxt {
    height: 80px;
    margin: 30px 0 30px 30px;
   }

   .threetxt h2 {
    font-size: 19px;
    font-weight: bold;
    line-height: 2.5em;
   }

  /* ===========
    project-area
   =========== */

   #project {
      position: relative;
   }

   .project-area {
    width: 80%;
    height: 580px;
    background-color: #F1F5F4;
    border-top-right-radius:80px;
    border-bottom-right-radius:80px;
    margin-top: 95px;
   }

   .project-container img {
    position: absolute;
    border-radius :40px;
   }

   .maki-p1 {
    top: -30px;
    left: 65%;
    width: 384px;
   }

   .maki-p2 {
    top: 280px;
    left: 60%;
    width: 500px;
   }

   .about-sub {
    width: 100px;
    margin-top: 120px;
   }

   .project-sub {
    width: 50%;
    margin-top: 120px;
    margin-left: 40px;
    margin-right: 30%;
   }

   .project-sub h2 {
    text-decoration-line: underline;
    text-decoration-color:#FEDC63;
    text-decoration-style: wavy;
    text-decoration-thickness: 4px;
    text-underline-offset: 30px;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
   }

   .project-sub p {
    margin-top: 60px;
    }

   .project-title {
    margin-top: -50px;
    margin-left: 40px;
  }

    .project-title img {
      width: 50%;
  }

     /* ===========
    img-area
    =========== */

    .img-area {
      margin-top: 95px;
    }

    .img-area img {
      width: 100%;
    }

    /* ===========
    about-area
   =========== */

   .about-container {
    position: relative;
    width: 40%;
   }

   .about-container img {
    position: absolute;
    border-radius :40px;
    top:230px;
    left:  10%;
    margin-right: 10px;
   }

   .about-area {
    width: 80%;
    height: 580px;
    justify-content: flex-end;
    background-color: #F1F5F4;
    border-top-left-radius:80px;
    border-bottom-left-radius:80px;
    margin-top: 95px;
   }

   .about-sub {
    width: 50%;
    margin-top: 120px;
    margin-left: 40%;
   }

   .about-sub h2 {
    text-decoration-line: underline;
    text-decoration-color:#FEDC63;
    text-decoration-style: wavy;
    text-decoration-thickness: 4px;
    text-underline-offset: 30px;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
   }

   .about-sub p {
    margin-top: 60px;
     }

  .btn-area {
    width: 100%;
    text-align: center;
    margin-top: 50px;
  }

   .btn--more,
   a.btn--more {
    padding:12px 42px;
    color: #012B3D;
    background-color: #FEDC63;
    font-weight: bold;
    border-radius: 10px;
  }

  .btn--more:hover,
  a.btn--more:hover {
    color:white;
    background:#012B3D;
    transition: .4s;
  }

  .about-title {
    margin-top: -50px;
    margin-right: 10px;
  }

  .about-title img {
    width: 157px;
  }

  .form a {
    text-decoration: underline;
  }

  .form a:hover {
    color:#FEDC63;
    text-decoration: underline;
    font-weight: bold;
  }

    /* ===========
    contact-area
   =========== */

   .contact-area {
    margin: 100px 0;
   }

   .con-flex {
    display: flex;
   }

   .map {
    position: relative;
    width: 50%;
    padding-top: 50%;
    /* 16:9のアスペクト比 */
    height: 0;
    border: 1px solid #C6C6C6 ;
   }

   .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   }

   .contact-txt {
    width: 50%;
    padding-left:64px;
    line-height: 2em;
   }

   .contact-txt h2 {
    text-align: center;
    font-size: 24px;
    font-weight: bold;
    padding-bottom: 1em;
   }

   .access {
    font-size: 16px;
    padding-left: 1em;
   }

   .contact-txt ul {
    list-style-type: disc;
    padding-left: 1.5em;
   }

   .border {
    border-top: 1px solid #C6C6C6;
    border-bottom: 1px solid #C6C6C6;
    padding: 2em 0;
    margin: 1em 0;
   }

   .text-s {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1em;
}

   .text-m {
    font-size: 22px;
    font-weight: bold;
    margin: 0.5em 0;
}

  .text-m img {
    width: 40px;
    vertical-align: middle;
    margin-right: 0.5em;
}

   .text-s span {
    font-size: 16px;
    font-weight: 400;
   }

   .border p {
    padding: 5px;
   }

   .border span {
    display: inline-block;
    width: 80px;
    text-align: center;
    border: 1px solid #012B3D;
    padding: 5px;
    margin-right: 1em;
   }


   /* ===========
    footer
   =========== */

   footer {
    position:relative;
    width: 100%;
    text-align: center;
    padding: 30px 0;
    margin-top: 50px;
    background-color: #F1F5F4;
   }

   .footer-lowerpage {
    text-align: left;
    background-color: #F1F5F4;
    padding: 30px 0;
   }

   .footer-txt-r p {
    margin-top:2px;
   }

   .footer-txt-l {
    position: absolute;
    top:43%;
    left:50%;
   }

   .footer-txt-l span {
    display: inline-block;
    width: 80px;
    text-align: center;
    border: 1px solid #012B3D;
    padding: 2px;
    margin: 0 1em 0.5em 0;
   }

   .footer-title {
    font-size: 22px;
    font-weight: bold;
}

   .footer-name {
    border-bottom: 1px dotted #012B3D;
    margin-bottom: 0.5em;
   }

   .copy {
    margin-top:30px;
   }

  /* ===========
    contact page
   =========== */
   .contactpage  {
    text-align: center;
   }

   .contactpage p {
    margin-top: 50px;
   }

   .contactpage h1 {
    margin-bottom: 50px;
    font-size: 20px;
   }

   .contactpage-container{
    width: 80%;
    height: auto;
    display: grid;
    place-items: center;
    text-align: center;
    background-color: #F1F5F4;
    margin: 0 auto;
    padding:50px 0;
   }

   .contactpage-area {
    width: 690px;
    height: 300px;
    align-items: center;
    background-color: white;
    border-radius: 10px;
   }

   .contact-catch {
    height: 150px;
    align-items: center;
    justify-content: center;
    margin: 0 40px;
    border-bottom: 1px dashed #012B3D;
   }

   .contact-list {
    height: 150px;
    align-items: center;
   }

   .contactpage-area .text-m {
    width: 40%;
    padding-left: 60px;
   }

  .btn-conarea {
    width: 60%;
    text-align: center;
  }

  .btn-conarea img {
    width: 25px;
    vertical-align: middle;
    margin-right: 1em;
  }

  /* ===========
    Project page
  =========== */

  .projectpage {
    text-align: center;
  }

  .projectpage-container {
    position: relative;
    height: auto;
    background-color: #F1F5F4;
    margin-top: 50px;
    margin-left: 5%;
    margin-bottom: 50px;
    padding: 0 110px 50px;
    border-top-left-radius:80px;
    border-bottom-left-radius:80px;
  }

  .projectpage-container-story {
    position: relative;
    height: auto;
    background-color: #F1F5F4;
    margin-top: 50px;
    margin-right: 5%;
    margin-bottom: 50px;
    padding: 0 110px 50px;
    border-top-right-radius:80px;
    border-bottom-right-radius:80px;
  }

  .projectpage-container-movie {
    background-color: #F1F5F4;
  }

  .projectpage p {
    margin-top: 50px;
   }

  .projectpage h1 {
    margin-bottom: 50px;
    font-size: 20px;
   }

  .projectpage h2 {
    margin-bottom: 100px;
    font-size: 30px;
    font-weight: bold;
    text-decoration-line: underline;
    text-decoration-color:#FEDC63;
    text-decoration-style: wavy;
    text-decoration-thickness: 4px;
    text-underline-offset: 30px;
   }

   .projectpage h3 {
    font-size: 20px;
    font-weight: bold;
    padding-right: 30px;
   }

   .projectpage-area {
    padding-top:50px;
   }

   .project-area-txt {
    width: 40%;
    text-align: left;
    padding:10px
   }

   .project-area-txt img {
    width: 36px;
    margin: 0 10px;
   }

  .project-area-txt h3 {
    text-indent: -2.8em;
    padding-left: 2.8em;
    margin-bottom:-30px;
  }

  .project-area-txt p {
    text-align: left;
  }

  .pp-txt2 {
    position: absolute;
    width: 87px;
    left:20px;
    top:-100px;
  }

  .pp-txt-3{
    width: 94%;
  }

  .pp-txt-3 h3 {
    margin: 400px 0 0;
  }

  .pp-txt-4 {
    position: absolute;
    top:-80px;
    right: 5px;
    width: 87px;
  } 

  .pp-txt-5 {
    width: 42%;
  }

  .pp-txt-5 h3 {
    margin:0 0 -30px;
  }

  .pp-txt-8{
    width: 40%;
    height: 390px;
    align-items: flex-start;
    margin-top: -40px;
  }

  .pp-txt-9{
    width: 90%;
    padding:20px
  }

  .pp-txt-9a{
    width: 40%;
  }

  .pp-txt-9a h3 {
    margin-top:40px;
  }

  .pp-txt-10{
    width: 40%;
  }

  .pp-txt-movie {
    width: 69%;
    text-align: center;
    margin: 0 auto;
    padding: 50px 0;
  }

  .movie {
    margin: 50px 0 10px;
  }

  .pp-title {
    position: absolute;
    top:380px;
    left:10%;
  }

  .pp-img {
    margin-left:30px;
  }

  .pp-img-3 {
    position: absolute;
    width:50% ;
    top:50px;
    left:0;
  }

  .pp-img-4 {
    position: absolute;
    width:38% ;
    top:50px;
    left:51%;
  }

  .pp-img-6 {
    margin-top: 50px;
  }

  .pp-img-8 {
    position: absolute;
    width: 26%;
    left:11%;
    bottom: 3%;
  }

  .pp-img-9 {
    width: 70%;
    margin-left: -18%;
  }

  .pp-txtarea {
    padding-left: 10px;
  }

  /* ===========
   About page
  =========== */

  .about-txt-3 {
    position: absolute;
    top:-80px;
    right: 5px;
    width: 157px;
  }

  .about-txt-1 {
    width: 96%;
    margin:340px 0 0;
  }

  .about-txt-2 {
    width: 96%;
    margin:400px 0 40px;
  }

  .about-img-1 {
    position: absolute;
    width:50% ;
    top:50px;
    left:0;
  }

  .about-img-2 {
    position: absolute;
    width:40% ;
    top:50px;
    left:51%;
  }

  .about-img-7 {
    position: absolute;
    bottom: 300px;
    left:19%;
  }

  .about-img-8 {
    position: absolute;
    bottom: 300px;
    right: -8%;
  }

  /* ===========
   Topへ戻る
  =========== */

  #page_top {
    position: fixed;
    right: 10px;
    bottom: 10px;
    width: 55px;
    height: 55px;
    background-color:#012B3D;
    opacity: 0.5;
    z-index: 100;
  }

  #page_top a::before {
    position: absolute;
    top: 0;
    bottom: 20px;
    right: 0;
    left: 0;
    width: 25px;
    height: 25px;
    margin: auto;
    color: #fff;
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f077';
    font-size: 25px;
    text-align: center;
}





@media (max-width: 600px) { 

   /* ===========
        汎用クラス
    =========== */

    /*PCでは有効（改行する）*/
    .ssma{
      display: block;
    }
    
    /*スマートフォンでは無効（改行しない）*/
    .sma{
      display: none;
    }
    
    .inner{
        width:94%;
        max-width: 600px;
    }
    
    .inner-small{
        width:94%;
        max-width: 500px;
    }
    
    .inner-small-sub {
       width:94%;
       max-width: 500px;
    }
      
      .flex {
        display: flex;
      }
    
      .flex-none {
        display: block;
      }
    
      .is-between {
        justify-content: space-between;
      }
    
      .is-align-center {
        align-items: center;
      }
    
      .section-wrap {
        padding: 24px 0 64px;
    }
    
      .text-l {
        font-size: 30px;
        font-weight: bold;
    }

    /* ===========
        header
    =========== */
    .header {
      background-color: transparent;
      width: 100%;
      height: 100px;
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 999;
    }

    .header__inner {
      padding: 0 20px; /*左右の余白確保*/
      display: flex; /*ロゴとハンバーガーメニューを横に並べる*/
      align-items: center;
      justify-content: space-between;
      height: inherit; /*親要素の高さを継承*/
      position: relative;
    }

    /* ヘッダーのロゴ部分 */

     .header__title {
      padding-top: 30px;
    }


    .header__title img {
      display: block;
      width: 213px;
    }

    /* ヘッダーのナビ部分 */
    .header__nav {
      position: absolute;
      right: 0;
      left: 0;
      top: 0;
      width: 100%;
      height: 100vh;
      transform: translateX(100%); 
      background-color: #fff; /*ハンバーガーメニュークリック時のナビゲーションメニュー背景色*/
      transition: ease .4s; /*ハンバーガーメニュークリック時のナビゲーションメニュー出現を遅延*/
    }

    .nav__items {
      display: block;
    }
  
    /* ハンバーガーメニュー */
    .header__hamburger {
      width: 48px;
      height: 100%;
    }

    .hamburger {
      background-color: #F1F5F4; /*buttonタグデフォルトスタイルを打ち消し*/
      border-color: transparent; /*buttonタグデフォルトスタイルを打ち消し*/
      z-index: 9999;
      cursor: pointer;
      height: 48px;
      padding: 5px;
      border-radius: 10px;
    }

    /* ハンバーガーメニューの線 */
    .hamburger span {
      width: 100%;
      height: 1px;
      background-color:#012B3D;
      position: relative;
      transition: ease .4s; /*ハンバーガーメニュークリック時の三本線の動きを遅延*/
      display: block;
    }

    .hamburger span:nth-child(1) {
      top: 0;
    }

    .hamburger span:nth-child(2) {
      margin: 8px 0;
    }

    .hamburger span:nth-child(3) {
      top: 0;
    }

    /* ハンバーガーメニュークリック後のスタイル */
    .header__nav.active {
      transform: translateX(0);
    }

    .hamburger.active span:nth-child(1) {
      top: 9px;
      transform: rotate(45deg);
    }

    .hamburger.active span:nth-child(2) {
      opacity: 0;
    }

    .hamburger.active span:nth-child(3) {
      top: -9px;
      transform: rotate(-45deg);
    }

    .nav-items {
      display:inline-block;
      text-align: center;
      width: 100%;
      height: 100%;
      margin: 0;
      padding: 200px 0 0;
    }
    
    /* ナビのリンク */
    .nav-items__item a {
      display: block;
      color:#012B3D;
      font-size: 20px;
      margin-top: 30px;
    }
    
    .nav-items__item:last-child a {
      margin-bottom: 0;
    }

  /* ===========
    mainarea
  =========== */
  .main-area {
    position: relative;
    background-color: #F1F5F4;
    display: flex;
    height: 400px;
  }

  .main-img{
    position: absolute;
    border-top-right-radius:80px;
    width: 72%;
    height: 100%;
    object-fit: cover;
    object-position: 0% 50%;
    top:100px;
  }

  .maki-top {
    position: absolute;
    border-bottom-left-radius:80px;
    width: 25%;
    top: 0;
    right: 0;
    z-index: 99;
  }

      /* ===========
    main-txtarea
   =========== */

   #catch {
    position: relative;
    width: 100%;
    height: 550px;
   }

   .catch-area {
    position: absolute;
    text-align: center;
    top:190px;
    left: 5px;
   }

   .catch-area h2 {
    font-size: 19px;
    font-weight: bold;
    line-height: 1.5em;
    color: #707070;
    margin: 2em 0;
   }

  .catch-area img {
    width: 90%;
   }

   .kujira-ill {
    position: absolute;
    width: 52%;
    top: -60px;
    right: 0px;
   }

    /* ===========
    three-txtarea
   =========== */

   #three {
    position: relative;
   }

   .three-txtarea {
    width: 100%;
    height: 930px;
    background-color: #F1F5F4;
   }

   .kakasi {
    position: absolute;
    width: 40%;
    border-radius: 40px;
    top:-30px;
    left:30px;
   }

   .green {
    position: absolute;
    border-top-left-radius:40px;
    border-bottom-left-radius:40px;
    width: 20%;
    top:110px;
    right: 0px;
   }

   .three-txtarea h1 {
    height: 300px;
   }

   .txt-11 {
    position: absolute;
    width: 227px;
    top: 130px;
    left:5%;
   }

   .txt-12 {
    position: absolute;
    width: 227px;
    top:190px;
    left:15%;
   }

  .icon {
    width: 10%;
    margin:0;

   }

   .icon1-in {
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    background-image:url(../img/icon-1.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #FEDC63;
   }

   .icon2-in {
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    background-image:url(../img/icon-2.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #FEDC63;
   }

   .icon3-in {
    width: 100%;
    padding-top: 100%;
    border-radius: 50%;
    background-image:url(../img/icon-3.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #FEDC63;
   }

   .icon3-txt {
    padding-left: 0px;
   }

   .threetxt {
    width: 80%;
    height: 100px;
    margin: 0 0 90px 20px;
   }

   .threetxt h2 {
    font-size: 19px;
    font-weight: bold;
    line-height: 2.5em;
   }

    /* ===========
    project-area
   =========== */

 .project-area {
  display: block;
  width: 96%;
  height: auto;
  background-color: #F1F5F4;
  border-top-right-radius:80px;
  border-bottom-right-radius:80px;
 }

 .maki-p1 {
  top: -30px;
  left: 50%;
  width: 200px;
 }

 .maki-p2 {
  top: 120px;
  left: 50%;
  width: 200px;
 }

 .project-sub {
  width: 90%;
  height: auto;
  margin: 0 auto;
  padding:40px 0 90px;
 }

 .project-title {
  margin-top: 0;
  margin-left: 10px;
}

.project-title img {
  margin-top: -60px;
  width: 67px;
}

.pp-txt2 {
  width: 67px;
}


   /* ===========
    about-area
   =========== */

   .about-container {
    width: 50%;
   }

   .about-container img {
    position: absolute;
    border-radius :40px;
    top: 160px;
    left:  20%;
    margin-right: 0;
    z-index: 20;

   }

   .about-area {
    display: block;
    position: relative;
    width: 96%;
    height: 730px;
    justify-content: flex-end;
    background-color: #F1F5F4;
    border-top-left-radius:80px;
    border-bottom-left-radius:80px;
    margin-top: 95px;
    z-index:10;
   }

   .about-sub {
    width: 90%;
    margin-top: 300px;
    margin-left: 5%;
   }

  .about-title {
    position: absolute;
    top:0;
    right:0;
  }

  .about-title img {
    width: 124px;
  }


  /* ===========
    contact-area
   =========== */

   .contact-area {
    margin: 100px 0;
   }

   .con-flex {
    display: block;
   }

   .map {
    position: relative;
    width: 100%;
    padding-top: 50%;
    /* 16:9のアスペクト比 */
    height: 0;
    border: 1px solid #C6C6C6 ;
   }

   .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
   }

   .contact-txt {
    width: 96%;
    padding-top: 60px;
    padding-left:0px;
    line-height: 2em;
    margin: 0 auto;
   }

   .border span {
    padding-left: 6em;
   }

    .border p {
    text-indent: -6em;
    padding-left: 6em;
  }

/* ===========
    footer
  =========== */

  footer {
    width: 100%;
    height: auto;
    text-align: center;
    padding: 30px 0;
    margin-top:200px;
    background-color: #F1F5F4;
   }

   .footer-lowerpage {
    text-align: left;
    background-color: #F1F5F4;
    padding: 0;
   }

  .footer-txt-r {
    width: 90%;
    margin:0 auto;
  }

   .footer-txt-l {
    position: initial;
    width: 92%;
    margin: 0 auto;
    border-top: 1px dotted #012B3D ;
    padding-top: 15px;
   }

   .footer-txt-l span {
    display: inline-block;
    width: 80px;
    text-align: center;
    border: 1px solid #012B3D;
    padding: 2px 2px 2px 5em;
    margin: 0 0.5em 0.5em 0;
   }

  .footer-txt-l p {
    text-indent: -5em;
    padding-left: 5em;
  }

   .footer-title {
    font-size: 22px;
    font-weight: bold;
}

   .footer-name {
    width: 100%;
    border-bottom: 1px dotted #012B3D;
    margin-bottom: 0.5em;
   }

   .copy {
    margin-top:50px;
   }
   
  /* ===========
    contact page
  =========== */

  .contactpage {
    position: relative;
    height: 560px;
    padding-top: 100px;
  }

  .contactpage-area {
    width: 90%;
    height: 360px;
    align-items: center;
    background-color: white;
    border-radius: 10px;
   }

  .contact-list {
    display: block;
    height: 150px;
    align-items: center;
   }

  .contactpage-area .text-m {
    width: 100%;
    padding: 20px 0;
   }

  .btn-conarea {
    width: 100%;
    text-align: center;
    padding: 20px 0;
  }

  .contact-catch {
    text-align: left;
  }

  /* ===========
    Project page
  =========== */

  .projectpage {
    position: relative;
    height: auto;
    padding-top: 100px;
  }

  .projectpage-container {
    position: relative;
    height: auto;
    background-color: #F1F5F4;
    margin-top: 50px;
    margin-left: 5%;
    margin-bottom: 50px;
    padding: 0 10px 50px;
    border-top-left-radius:80px;
    border-bottom-left-radius:80px;
  }

  .projectpage-container-story {
    position: relative;
    height: auto;
    background-color: #F1F5F4;
    margin-top: 50px;
    margin-right: 5%;
    margin-bottom: 50px;
    padding: 0 10px 50px;
    border-top-right-radius:80px;
    border-bottom-right-radius:80px;
  }

  .projectpage h2 {
    font-size: 26px;
   }

   .projectpage-area {
    display: block;
    padding-top:0;
   }

   .project-area-txt {
    width: 90%;
    text-align: left;
    padding:40px 0 20px;
    margin: 0 auto;
   }

  .pp-txt2 {
    position: absolute;
    left:20px;
    top:-50px;
  }

  .pp-txt-4 {
    position: absolute;
    top:-80px;
    right: 1px;
    width: 70px;
  } 

  .pp-txt-3{
    width: 90%;
    margin:0 auto;
  }

  .pp-txt-3 h3 {
    margin: 20px 0 0;
  }

  .pp-txt-3 p {
    margin-top: 20px;
  }

  .pp-txt-5 {
    width: 90%;
  }

  .pp-txt-5 h3 {
    margin:0;
  }

  .pp-txt-5 p {
    margin-top: 20px;
  }

  .pp-txt-8{
    width: 90%;
    margin-top: -80px;
  }

  .pp-img {
    width: 70%;
    margin-top:130px;
    margin-left:80px;
  }

  .pp-img-3 {
    position: initial;
    width:70% ;
    margin: 50px 0 0 -50px;
  }

  .pp-img-4 {
    position: initial;
    width:70% ;
    margin: 10px 0 0 -50px;
  }

  .pp-img-2 {
    width: 90%;
  }

  .pp-img-5 {
    width: 90%;
  }

  .pp-img-6 {
    width: 90%;
    margin-top: 10px;
  }

  .pp-img-7 {
    width: 90%;
    margin-top:-40%;
  }

  .pp-img-8 {
    position: initial;
    width: 90%;
    margin-top: 10px;
  }

  .pp-img-9 {
    width: 90%;
    margin-left: 0;
    margin-top:30px;
  }

  .pp-img-10 {
    width: 90%;
  }

  .pp-img-11 {
    width: 90%;
  }

  .movie {
    margin: 30px 0;
    position: relative;
	  padding-top: 56.25%; /* 16:9 アスペクト比 */
	  height: 0;
  }

  .movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

    /* ===========
   About page
  =========== */

  .about-txt-3 {
    position: absolute;
    top:-40px;
    right: 5px;
    width: 130px;
  }

  .about-txt-1 {
    width: 96%;
    margin: 0 auto;
    padding: 0 10px;
  }

  .about-txt-2 {
    width: 96%;
    margin-top:30px;
  }

  .about-img-1 {
    display: block;
    position: initial;
    width:75% ;
    padding: 200px 0 0 20px;
  }

  .about-img-2 {
    display: block;
    position: initial;
    width:75% ;
    padding: 10px 0 0 20px;
  }

  .about-img-7 {
    position: initial;
    width: 90%;
    padding-top: 10px;
  }

  .about-img-8 {
    position: initial;
    width: 90%;
    padding-top: 10px;
  }

   
}