@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  list-style-type: none;
  box-sizing: border-box;
  font-family: a-otf-ryumin-pr6n, serif;
  font-weight: 300;
  font-style: normal;
  line-height: 1;
  text-decoration: none; }

header {
  padding: 50px 0 0 0;
  position: relative; }
  header .headerLogo {
    width: 220px;
    display: block;
    margin: 0 auto; }
  header .sns {
    position: absolute;
    top: 50px;
    left: 80px; }
    header .sns a {
      transition: .3s;
      display: inline-block; }
      header .sns a:hover {
        transform: translateY(-8px); }
    header .sns img {
      width: 25px;
      margin-right: 25px; }
  header nav {
    display: block;
    width: 100%;
    border-top: solid thin gray;
    border-bottom: solid thin gray;
    padding: 20px 0;
    margin: 50px 0 0 0; }
    header nav ul {
      width: 900px;
      display: flex;
      margin: 0 auto;
      justify-content: space-between; }
      header nav ul li a {
        color: #4d4d4d; }
      header nav ul li a.line {
        width: 100%;
        height: 100%;
        position: relative; }
        header nav ul li a.line::before, header nav ul li a.line::after {
          border-bottom: solid 1px #4d4d4d;
          bottom: -5px;
          content: "";
          display: block;
          position: absolute;
          transition: all .3s ease;
          -webkit-transition: all .3s ease;
          width: 0; }
        header nav ul li a.line::before {
          left: 50%; }
        header nav ul li a.line::after {
          right: 50%; }
        header nav ul li a.line:hover::before, header nav ul li a.line:hover::after {
          width: 50%; }

h2 {
  font-size: 30px;
  color: #4d4d4d;
  text-align: center;
  margin-bottom: 75px; }

footer {
  padding: 80px 0;
  background-color: #685B56;
  position: relative; }
  footer .footerLogo {
    margin-left: 180px;
    transition: .3s; }
    footer .footerLogo img {
      width: 165px; }
    footer .footerLogo:hover {
      opacity: 0.5; }
  footer nav {
    position: absolute;
    top: 80px;
    right: 180px; }
    footer nav ul {
      width: 650px;
      display: flex;
      justify-content: space-between; }
      footer nav ul li {
        display: inline-block; }
        footer nav ul li a {
          color: white; }
        footer nav ul li a.line {
          width: 100%;
          height: 100%;
          position: relative; }
          footer nav ul li a.line::before, footer nav ul li a.line::after {
            border-bottom: solid 1px white;
            bottom: -5px;
            content: "";
            display: block;
            position: absolute;
            transition: all .3s ease;
            -webkit-transition: all .3s ease;
            width: 0; }
          footer nav ul li a.line::before {
            left: 50%; }
          footer nav ul li a.line::after {
            right: 50%; }
          footer nav ul li a.line:hover::before, footer nav ul li a.line:hover::after {
            width: 50%; }
  footer .sns {
    position: absolute;
    bottom: 80px;
    right: 180px; }
    footer .sns a {
      width: 25px;
      display: inline-block;
      margin-left: 20px;
      transition: .3s; }
      footer .sns a:hover {
        transform: translateY(-8px); }
    footer .sns img {
      width: 25px; }

@media (max-width: 768px) {
  header, nav {
    display: none; }

  footer {
    display: none; } }
/*スライドショー*/
.slidePC {
  display: block; }

.slideSP {
  display: none; }

.swiper-container {
  width: 100%;
  height: 880px;
  position: relative;
  z-index: 1; }
  .swiper-container a {
    font-size: 20px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-orientation: upright;
    -webkit-text-orientation: upright;
    position: absolute;
    left: 50px;
    bottom: 50px;
    background-color: white;
    padding: 10px;
    display: block;
    transition: all 0.5s 0s ease;
    z-index: 999; }
    .swiper-container a:hover {
      color: white; }

.swiper-slide {
  padding-top: 0px;
  /* 画像位置の調整用 */
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat; }

#news {
  padding: 150px 0 90px 0; }
  #news > div {
    position: relative; }
    #news > div .titleEn {
      width: 62px;
      display: block;
      margin: 0 auto 15px auto; }
    #news > div .flower {
      position: absolute;
      top: -50px;
      left: 100px;
      width: 227px; }
    #news > div ul {
      display: table;
      margin: 0 auto; }
      #news > div ul li {
        width: 1000px;
        border-top: solid thin gray;
        position: relative; }
        #news > div ul li:last-of-type {
          border-bottom: solid thin gray; }
        #news > div ul li > a {
          display: block;
          padding: 20px 50px;
          color: #4d4d4d;
          background-color: white;
          transition: 0.3s; }
          #news > div ul li > a:hover {
            background-color: #F0F0F0; }
          #news > div ul li > a dl dt {
            display: inline-block;
            margin-right: 30px;
            color: #478250;
            font-size: 21px; }
          #news > div ul li > a dl dd {
            display: inline-block;
            font-size: 21px;
            color: #4d4d4d; }
          #news > div ul li > a dl img {
            width: 27px;
            display: block;
            position: absolute;
            right: 50px;
            top: 17px; }
      #news > div ul a.archive {
        width: 180px;
        display: block;
        padding: 10px 10px 10px 20px;
        border: solid thin gray;
        margin: 0 0 0 auto;
        margin-top: 20px;
        position: relative;
        transition: 0.3s; }
        #news > div ul a.archive:after {
          content: url("../img/arrow.svg");
          width: 30px;
          position: absolute;
          top: 5px;
          right: 20px;
          transition: 0.3s; }
        #news > div ul a.archive:hover {
          background-color: #4d4d4d;
          color: white; }
          #news > div ul a.archive:hover:after {
            content: url("../img/arrowWhite.svg");
            right: 15px; }

#service {
  padding: 90px 0;
  background-color: #E8EEEC;
  position: relative; }
  #service .titleEn {
    width: 87px;
    display: block;
    margin: 0 auto 15px auto; }
  #service .flower {
    position: absolute;
    top: -100px;
    right: 100px;
    width: 210px; }
  #service ul {
    width: 1000px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto; }
    #service ul li {
      width: 315px;
      padding: 15px;
      background-color: white;
      display: inline-block; }
      #service ul li a {
        overflow: hidden;
        width: 100%;
        height: 180px;
        display: block; }
        #service ul li a img {
          width: 100%;
          transition: 0.3s all; }
          #service ul li a img:hover {
            transform: scale(1.2, 1.2); }
      #service ul li p {
        display: block;
        margin-top: 10px; }

#works {
  padding: 90px 0;
  background-color: white;
  position: relative; }
  #works .titleEn {
    width: 72px;
    display: block;
    margin: 0 auto 15px auto; }
  #works .flower {
    position: absolute;
    top: -40px;
    left: 100px;
    width: 160px; }
  #works ul {
    width: 1000px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto; }
    #works ul li {
      width: 315px;
      padding: 15px;
      background-color: white;
      display: inline-block;
      		/*	a {
      				overflow: hidden;
      				width: 270px;
      				height: 270px;
                      border-radius: 50%;
      				display: block;
                      background-image: url("../img/worksBg.png");
                      background-repeat: no-repeat;
                      background-position: 50% 50%;
                      background-size: 300px 300px;
      
      				img {
      					width: 100%;
      					transition: 0.3s all;
      
      					&:hover {
      						transform: scale(1.2, 1.2);
      					}
      				}
      			}*/ }
      #works ul li a {
        width: 270px;
        height: 270px;
        display: block;
        margin: 0 auto;
        background-image: url("../img/worksBg.png");
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: 300px 300px;
        transition: transform 0.3s; }
        #works ul li a:hover {
          transform: rotate(10deg); }
        #works ul li a img {
          width: 270px;
          height: 270px; }
      #works ul li p {
        display: block;
        margin-top: 20px;
        font-size: 16px;
        text-align: center; }

@media (max-width: 768px) {
  nav {
    display: none; }

  footer {
    display: none; }

  .swiper-container {
    width: 100%;
    height: 100vh; }
    .swiper-container a {
      font-size: 20px;
      left: 20px;
      top: 50px;
      margin: 0;
      z-index: 1;
      display: table; }
    .swiper-container .scrolldown1 {
      display: none; }

  .slidePC {
    display: none; }

  .slideSP {
    display: block; }

  #news {
    padding: 90px 0;
    width: 100%; }
    #news > div {
      position: relative; }
      #news > div .titleEn {
        width: 62px;
        display: block;
        margin: 0 auto 15px auto; }
      #news > div .flower {
        position: absolute;
        top: -70px;
        left: 10px;
        width: 127px; }
      #news > div ul {
        display: block;
        margin: 0 auto;
        width: 80%; }
        #news > div ul li {
          width: 100%;
          border-top: solid thin gray;
          position: relative; }
          #news > div ul li:last-of-type {
            border-bottom: solid thin gray; }
          #news > div ul li > a {
            display: block;
            padding: 20px 0px;
            color: #4d4d4d;
            background-color: white;
            transition: 0.3s; }
            #news > div ul li > a:hover {
              background-color: #F0F0F0; }
            #news > div ul li > a dl dt {
              display: block;
              margin: 0 0 10px 0;
              color: #478250;
              font-size: 16px; }
            #news > div ul li > a dl dd {
              display: inline-block;
              font-size: 16px;
              color: #4d4d4d; }
            #news > div ul li > a dl img {
              width: 27px;
              display: block;
              position: absolute;
              right: 0px;
              top: 27px; }
        #news > div ul a.archive {
          width: 180px;
          display: block;
          padding: 10px 10px 10px 20px;
          border: solid thin gray;
          margin: 0 0 0 auto;
          margin-top: 20px;
          position: relative;
          transition: 0.3s; }
          #news > div ul a.archive:after {
            content: url("../img/arrow.svg");
            width: 30px;
            position: absolute;
            top: 5px;
            right: 20px;
            transition: 0.3s; }
          #news > div ul a.archive:hover {
            background-color: #4d4d4d;
            color: white; }
            #news > div ul a.archive:hover:after {
              content: url("../img/arrowWhite.svg");
              right: 15px; }

  #service {
    padding: 90px 0;
    background-color: #E8EEEC;
    position: relative; }
    #service .titleEn {
      width: 87px;
      display: block;
      margin: 0 auto 15px auto; }
    #service .flower {
      position: absolute;
      top: -20px;
      right: 10px;
      width: 150px; }
    #service ul {
      width: 90%;
      display: block;
      margin: 0 auto; }
      #service ul li {
        width: 100%;
        padding: 15px;
        background-color: white;
        display: block;
        margin-bottom: 30px; }
        #service ul li a {
          overflow: hidden;
          width: 100%;
          height: 180px;
          display: block; }
          #service ul li a img {
            width: 100%;
            transition: 0.3s all; }
            #service ul li a img:hover {
              transform: scale(1.2, 1.2); }
        #service ul li p {
          display: block;
          margin-top: 10px; }

  #works {
    padding: 90px 0;
    background-color: white;
    position: relative; }
    #works .titleEn {
      width: 72px;
      display: block;
      margin: 0 auto 15px auto; }
    #works .flower {
      position: absolute;
      top: -40px;
      left: 10px;
      width: 110px; }
    #works ul {
      width: 90%;
      display: block;
      margin: 0 auto; }
      #works ul li {
        width: 100%;
        padding: 15px;
        background-color: white;
        display: block;
        margin-bottom: 50px;
        		/*	a {
        				overflow: hidden;
        				width: 270px;
        				height: 270px;
                        border-radius: 50%;
        				display: block;
                        background-image: url("../img/worksBg.png");
                        background-repeat: no-repeat;
                        background-position: 50% 50%;
                        background-size: 300px 300px;
        
        				img {
        					width: 100%;
        					transition: 0.3s all;
        
        					&:hover {
        						transform: scale(1.2, 1.2);
        					}
        				}
        			}*/ }
        #works ul li a {
          width: 270px;
          height: 270px;
          display: block;
          margin: 0 auto;
          background-image: url("../img/worksBg.png");
          background-repeat: no-repeat;
          background-position: 50% 50%;
          background-size: 300px 300px;
          transition: transform 0.3s; }
          #works ul li a:hover {
            transform: rotate(10deg); }
          #works ul li a img {
            width: 270px;
            height: 270px; }
        #works ul li p {
          display: block;
          margin-top: 20px;
          font-size: 16px;
          text-align: center; } }
