#top__first {
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding-top: 150px; }
  #top__first h1 {
    position: absolute;
    top: 45px;
    left: 50%;
    transform: translateX(-50%);
    text-decoration: underline 3px #f8c719;
    text-underline-offset: 1.5rem;
    line-height: 6.0rem;
    z-index: 500;
    font-size: 2.7rem;
    font-feature-settings: initial; }
    
    #top__first h1:before {
      width: 3px;
      height: 225px;
      position: absolute;
      text-decoration:none;
      right: 0;
      content: "";
      display: block; }
  #top__first .top__first__img {
    z-index: 0;
    width: 100%;
    display: flex;
    justify-content: center; }
    #top__first .top__first__img img {
      width: auto;
      max-height: 428px;
      object-fit: cover; }
  #top__first .top__first__news {
    display: flex;
    margin: 0 auto;
    justify-content: center;
    padding: 60px 0 90px;
    background-color: #e1edd4; }
    #top__first .top__first__news h2 {
      color: #fa7d00;
      font-size: 1.6rem;
      margin-right: 15px; }
    #top__first .top__first__news p {
      font-size: 1.5rem; }
  @media (max-width: 767px) {
    #top__first {
      padding-top: 240px; }
      #top__first h1 {
        left: min(8.75%, 60px);
        transform: translateX(0%);
        writing-mode: horizontal-tb;
        text-underline-offset: 1.2rem;
        line-height: 4.8rem;
        font-feature-settings: "palt";
        font-size: 2.4rem; }
        #top__first h1:before {
          display: none; }
      #top__first .top__first__img {
        display: block;
        position: relative; }
        #top__first .top__first__img .ill-1 {
          width: min(42.5%, 210px);
          height: auto;
          position: absolute;

          right: 5%;
          z-index: 10; }
        #top__first .top__first__img .ill-2 {
          width: auto;
          position: relative;
          left: 50%;
          transform: translateX(-50%);
          max-height: 300px;
          object-fit: cover; }
      #top__first .top__first__news {
        flex-direction: column;
        padding-bottom: 60px; }
        #top__first .top__first__news h2 {
          margin: 0 0 15px 0;
          text-align: center; }
        #top__first .top__first__news p {
          text-align: center; } }

#top__about {
  position: relative;
  padding: 120px 60px 0;
  background-color: #f5e1d4;
  text-align: center; }
  #top__about .wave-1 {
    top: 0; }
  #top__about .wave-2 {
    bottom: -2px;
    z-index: 100; }
  #top__about h2 {
    display: inline-block;
    margin-bottom: 75px;
    text-align: center;
    letter-spacing: 0.25rem;
    color: #fa7d00;
    font-size: 1.8rem;
    padding-bottom: 9px;
    border-bottom: solid 3px #fa7d00; }
  #top__about .top__about__wrap {
    position: relative;
    padding-bottom: 150px;
    z-index: 100;
    max-width: 1050px;
    margin: 0 auto;
    text-align: center; }
    #top__about .top__about__wrap .top__about__wrap__img-1 {
      display: flex;
      justify-content: center; }
      #top__about .top__about__wrap .top__about__wrap__img-1 img {
        width: 100%;
        max-width: 810px;
        height: auto;
        margin-bottom: 15px; }
    #top__about .top__about__wrap h3 {
      position: relative;
      text-align: left;
      line-height: 4.725rem;
      font-weight: 600;
      font-size: 2.7rem;
      /*text-decoration: underline 3px $YLW;
      text-underline-offset: 1.35rem;*/
      margin-bottom: 2.7rem;
      z-index: 10; }
    #top__about .top__about__wrap p {
      position: relative;
      text-align: left;
      line-height: 3.6rem;
      font-size: 1.8rem;
      margin-bottom: 3.6rem;
      z-index: 10; }
    #top__about .top__about__wrap .btn > p {
      margin-bottom: 0; }
    #top__about .top__about__wrap .top__about__wrap__img-2 {
      position: absolute;
      width: 1100px;
      height: 555px;
      left: 22.5%;
      bottom: 0;
      margin-bottom: 0;
      z-index: 0; }
      #top__about .top__about__wrap .top__about__wrap__img-2 img {
        height: 100%; }
  @media (max-width: 767px) {
    #top__about {
      padding: 60px min(8.75%, 60px) 0; }
      #top__about .top__about__wrap .top__about__wrap__sp-img-1 {
        width: min(100%, 400px);
        margin: 0 auto 30px; }
        #top__about .top__about__wrap .top__about__wrap__sp-img-1 img {
          width: 100%;
          height: auto; }
      #top__about .top__about__wrap h3 {
        text-align: center;
        line-height: 3.5rem;
        font-size: 2.0rem; }
      #top__about .top__about__wrap p {
        text-align: justify;
        font-size: 1.6rem;
        line-height: 3.2rem;
        margin-bottom: 1.6rem; }
      #top__about .top__about__wrap .top__about__wrap__sp-img-2 {
        width: 210px;
        margin: 0 auto 30px; }
      #top__about .top__about__wrap .btn {
        margin: 0 auto;
        text-align: center; } }

#top__works {
  max-width: 1050px;
  margin: 0 auto;
  padding: 180px 60px 0; }
  #top__works h2 {
    margin-bottom: 60px;
    letter-spacing: 0.25rem;
    color: #fa7d00;
    font-weight: 400;
    font-size: 4.2rem; }
  #top__works ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
    flex-wrap: wrap; }
    #top__works ul li {
      width: 22.5%;
      height: auto; }
      #top__works ul li .top__works__img {
        width: 100%;
        aspect-ratio: 1/1;
        overflow: hidden;
        position: relative;
        border: solid 1px #aeaeae;
        border-radius: 15px;
        margin-bottom: 15px;
        transition: all .3s ease;
        -webkit-transition: all .3s ease; }
        #top__works ul li .top__works__img img {
          width: 100%;
          height: 100%;
          position: absolute;
          object-fit: cover;
          top: 0;
          left: 0; }
      #top__works ul li h4 {
        margin-bottom: 9px;
        line-height: 2.4rem;
        font-weight: 500;
        font-size: 1.6rem; }
      #top__works ul li p {
        font-size: 1.4rem;
        line-height: 2.1rem; }
      #top__works ul li a:hover {
        transition: all .3s ease;
        -webkit-transition: all .3s ease;
        opacity: 0.5; }
        #top__works ul li a:hover .top__works__img {
          scale: 1.025; }
  #top__works .btn {
    margin: 0 auto; }
  @media (max-width: 767px) {
    #top__works {
      text-align: center;
      padding: 90px min(8.75%, 60px) 0; }
      #top__works h2 {
        display: inline-block;
        margin-bottom: 45px;
        text-align: center;
        letter-spacing: 0.25rem;
        color: #fa7d00;
        font-size: 1.8rem;
        font-weight: 600;
        padding-bottom: 9px;
        border-bottom: solid 3px #fa7d00; }
      #top__works ul {
        text-align: left;
        margin-bottom: 15px; }
        #top__works ul li {
          width: 47.5%;
          margin-bottom: 30px; }
          #top__works ul li p {
            font-size: 1.2rem;
            line-height: 1.8rem; } }

#top__blog {
  max-width: 1050px;
  margin: 0 auto;
  padding: 180px 60px 180px; }
  #top__blog h2 {
    margin-bottom: 60px;
    letter-spacing: 0.25rem;
    color: #fa7d00;
    font-weight: 400;
    font-size: 4.2rem; }
  #top__blog ul {
    display: flex;
    justify-content: space-between;
    margin-bottom: 60px;
    flex-wrap: wrap; }
    #top__blog ul li {
      width: 47.5%;
      height: auto;
      margin-bottom: 45px; }
      #top__blog ul li time {
        display: block;
        font-size: 1.2rem;
        letter-spacing: 0;
        text-align: right;
        margin-bottom: 15px;
        color: #aeaeae; }
      #top__blog ul li .top__blog__img {
        width: 100%;
        aspect-ratio: 5/3;
        position: relative;
        border-radius: 15px;
        margin-bottom: 15px; }
        #top__blog ul li .top__blog__img img {
          width: 100%;
          height: auto;
          aspect-ratio: 5/3;
          object-fit: cover;
          border-radius: 15px;
          margin-bottom: 15px;
          transition: ease 0.3s; }
      #top__blog ul li h4 {
        line-height: 2.4rem;
        font-weight: 500;
        font-size: 1.6rem; }
      #top__blog ul li a:hover {
        transition: all .3s ease;
        -webkit-transition: all .3s ease;
        opacity: 0.5; }
  #top__blog .btn {
    margin: 0 auto; }
  @media (max-width: 767px) {
    #top__blog {
      text-align: center;
      padding: 120px min(8.75%, 60px) 210px; }
      #top__blog h2 {
        display: inline-block;
        margin-bottom: 45px;
        text-align: center;
        letter-spacing: 0.25rem;
        color: #fa7d00;
        font-size: 1.8rem;
        font-weight: 600;
        padding-bottom: 9px;
        border-bottom: solid 3px #fa7d00; }
      #top__blog ul {
        display: block;
        margin-bottom: 15px; }
        #top__blog ul li {
          width: 100%;
          margin-bottom: 0;
          padding: 30px 0;
          border-bottom: solid 1px #fa7d00; }
          #top__blog ul li time {
            text-align: left;
            color: #aeaeae; }
          #top__blog ul li a {
            display: flex;
            align-items: center;
            justify-content: flex-start; }
            #top__blog ul li a .top__blog__img {
              width: 60px;
              height: 60px;
              aspect-ratio: 1/1;
              margin: 0 12px 0 0; }
              #top__blog ul li a .top__blog__img img {
                width: 100%;
                height: auto;
                aspect-ratio: 1/1;
                object-fit: cover;
                border-radius: 5px; }
            #top__blog ul li a h4 {
              max-width: 100%;
              margin: 0;
              text-align: left;
              font-size: 1.5rem;
              line-height: 2.25rem; }
          #top__blog ul li:first-child {
            padding-top: 0; }
          #top__blog ul li:last-child {
            border-bottom: none; } }
