/*--- import -------------------------------------*/
/*------------------------------------- import ---*/
.shop_btn {
  margin-top: 60px;
  display: inline-block; }
  .shop_btn img {
    max-width: 600px;
    width: 100%; }
  @media screen and (max-width: 750px) {
    .shop_btn {
      margin-top: 40px; }
      .shop_btn img {
        width: 90%; } }

.scroll a img {
  -webkit-animation: sdb 1.5s infinite;
  animation: sdb 1.5s infinite; }
@-webkit-keyframes sdb {
  0% {
    -webkit-transform: rotate(-45deg) translate(0, 0);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    -webkit-transform: rotate(-45deg) translate(-20px, 20px);
    opacity: 0; } }
@keyframes sdb {
  0% {
    transform: translate(0, 0);
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    transform: translate(0px, 20px);
    opacity: 0; } }
.mv {
  overflow: hidden;
  height: 100vh;
  margin: 0 auto;
  position: relative; }
  @media screen and (max-width: 1350px) {
    .mv {
      height: auto; } }
  .mv .scroll {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1; }
    .mv .scroll a {
      display: inline-block; }
  .mv .mv_logo {
    position: absolute;
    left: 50%;
    bottom: 155px;
    transform: translateX(-50%);
    z-index: 1; }
  .mv .slider li {
    position: relative; }
    .mv .slider li .txt {
      color: #fff;
      font-size: 51px;
      position: absolute;
      top: 30%;
      left: 50%;
      transform: translateX(-50%) translateY(-50%);
      z-index: 1;
      width: 100%;
      text-shadow: 1px 1px 10px #000;
      backface-visibility: hidden;
      font-weight: bold; }
    .mv .slider li .mv_item {
      width: 100%; }

@media screen and (max-width: 1180px) {
  .mv .scroll {
    bottom: 30px;
    left: 50%; }
    .mv .scroll a {
      display: inline-block; }
  .mv .mv_logo {
    position: absolute;
    left: 50%;
    bottom: 155px;
    transform: translateX(-50%);
    z-index: 1; }
    .mv .mv_logo img {
      width: 21.186440678vw; }
  .mv .slider li {
    position: relative; }
    .mv .slider li .txt {
      color: #fff;
      font-size: 4.3220338983vw;
      position: absolute;
      top: 25%;
      left: 50%; }
    .mv .slider li .mv_item {
      width: 100%; } }
@media screen and (max-width: 750px) {
  .mv .scroll {
    bottom: 30px; }
  .mv .mv_logo {
    bottom: 29%; }
    .mv .mv_logo img {
      width: 33.3333333333vw; }
  .mv .slider li .txt {
    font-size: 7.322034vw;
    top: 32%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%); }
  .mv .slider li .mv_item {
    width: 100%; } }
@media screen and (max-width: 480px) {
  .mv .scroll {
    left: 54%; } }
#news .box_in {
  margin-top: 40px; }
  #news .box_in .news_area {
    width: 100%; }
  #news .box_in .more_area {
    margin-top: 40px; }
  #news .box_in iframe {
    width: 100%; }

#business .business_area {
  margin-top: 40px; }
  #business .business_area .common_area {
    padding: 100px 0; }
    #business .business_area .common_area a {
      display: inline-block; }
      #business .business_area .common_area a .box_in {
        display: flex;
        align-items: center;
        justify-content: center; }
        #business .business_area .common_area a .box_in .txt_area {
          position: relative;
          width: 50%;
          text-align: left; }
          #business .business_area .common_area a .box_in .txt_area h3 {
            font-size: 29px;
            line-height: 1.6;
            font-weight: normal;
            letter-spacing: 0.3rem;
            position: relative;
            display: inline-block; }
            #business .business_area .common_area a .box_in .txt_area h3:before {
              transition: 0.5s;
              content: '';
              display: inline-block;
              background: #4d4d4d;
              width: 305px;
              height: 1px;
              position: absolute;
              right: -350px;
              top: 26px; }
          #business .business_area .common_area a .box_in .txt_area .txt {
            margin-top: 30px;
            font-size: 16px;
            font-weight: normal;
            line-height: 2.2;
            letter-spacing: 0.2rem; }
        #business .business_area .common_area a .box_in .images {
          width: 50%;
          display: flex;
          position: relative; }
          #business .business_area .common_area a .box_in .images h3 {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translateX(-50%) translateY(-50%);
            z-index: 3; }
          #business .business_area .common_area a .box_in .images .left {
            transform: rotate(45deg);
            overflow: hidden;
            position: relative;
            left: 20px;
            z-index: 2; }
          #business .business_area .common_area a .box_in .images .right {
            transform: rotate(45deg);
            overflow: hidden;
            position: relative;
            right: 20px;
            z-index: 1; }
      #business .business_area .common_area a:hover .txt_area h3:before {
        transition: 0.5s;
        right: -370px; }
    #business .business_area .common_area:nth-child(odd) {
      background: #f2f2f2; }
    #business .business_area .common_area:nth-child(even) a .box_in {
      flex-flow: row-reverse; }
      #business .business_area .common_area:nth-child(even) a .box_in .txt_area {
        left: 200px; }
        #business .business_area .common_area:nth-child(even) a .box_in .txt_area h3 {
          width: 360px; }
          #business .business_area .common_area:nth-child(even) a .box_in .txt_area h3:before {
            right: 400px; }
    #business .business_area .common_area:nth-child(even) a:hover .txt_area h3:before {
      right: 420px; }
  #business .business_area .more_area {
    display: none; }

.img_wrap {
  margin: 0 auto;
  overflow: hidden;
  cursor: pointer; }

.img_wrap img {
  width: 100%;
  transition-duration: 0.5s; }

.common_area a:hover .img_wrap img {
  transform: scale(1.2);
  transition-duration: 0.5s; }

@media screen and (max-width: 1180px) {
  #business .business_area .common_area a {
    pointer-events: none; }
    #business .business_area .common_area a .box_in {
      display: block; }
      #business .business_area .common_area a .box_in .txt_area {
        width: 100%;
        text-align: center;
        left: 0px;
        position: relative; }
        #business .business_area .common_area a .box_in .txt_area h3:before {
          content: none; }
        #business .business_area .common_area a .box_in .txt_area .txt {
          margin-top: 30px;
          font-size: 16px;
          font-weight: normal;
          line-height: 2.2;
          letter-spacing: 0.2rem; }
      #business .business_area .common_area a .box_in .images {
        width: 100%;
        display: flex;
        position: relative;
        margin-top: 100px; }
        #business .business_area .common_area a .box_in .images h3 {
          max-width: 450px;
          width: 100%;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translateX(-50%) translateY(-50%);
          z-index: 3; }
        #business .business_area .common_area a .box_in .images .left {
          max-width: 270px; }
        #business .business_area .common_area a .box_in .images .right {
          max-width: 270px; }
  #business .business_area .common_area:nth-child(odd) {
    background: #f2f2f2; }
  #business .business_area .common_area:nth-child(even) a .box_in .txt_area {
    left: 0px; }
    #business .business_area .common_area:nth-child(even) a .box_in .txt_area h3 {
      max-width: 360px;
      width: 100%; }
  #business .business_area .more_area {
    display: block;
    margin-top: 90px; }
    #business .business_area .more_area a {
      pointer-events: all; } }
@media screen and (max-width: 750px) {
  #business .business_area {
    margin-top: 40px; }
    #business .business_area .common_area {
      padding: 60px 0; }
      #business .business_area .common_area a .box_in .txt_area h3 {
        font-size: 29px;
        line-height: 1.6;
        letter-spacing: 0.3rem; }
      #business .business_area .common_area a .box_in .txt_area .txt {
        margin-top: 30px;
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.2rem; }
      #business .business_area .common_area a .box_in .images {
        margin-top: 60px; }
        #business .business_area .common_area a .box_in .images h3 {
          width: 100%; }
    #business .business_area .more_area {
      margin-top: 70px; } }
#company .box_in {
  position: relative; }
  #company .box_in h3 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    color: #fff;
    font-size: 32px;
    text-align: center;
    z-index: 1;
    letter-spacing: 0.25rem;
    width: 100%;
    text-shadow: 1px 1px 10px #000; }
    @media screen and (max-width: 960px) {
      #company .box_in h3 {
        top: 35%; } }
  #company .box_in ul {
    margin-top: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap; }
    #company .box_in ul li {
      position: relative;
      width: 20%; }
      @media screen and (max-width: 960px) {
        #company .box_in ul li {
          width: 25%; } }
      #company .box_in ul li img {
        width: 100%; }
      #company .box_in ul li:nth-child(even) {
        top: 20px; }
      #company .box_in ul li:nth-child(odd) {
        top: -20px; }
  #company .box_in .more_area {
    margin-top: 60px; }

@media screen and (max-width: 750px) {
  #company .box_in h3 {
    font-size: 28px; }
  #company .box_in ul {
    margin-top: 60px; }
    #company .box_in ul li {
      position: relative; }
      #company .box_in ul li img {
        width: 100%; }
      #company .box_in ul li:nth-child(even) {
        top: 20px; }
      #company .box_in ul li:nth-child(odd) {
        top: -20px; } }
#map iframe {
  width: 100%;
  height: 350px; }

#media .box_in .media_wrap {
  display: flex;
  justify-content: center;
  margin-top: 40px; }
  #media .box_in .media_wrap .media_list {
    width: 28%; }
    #media .box_in .media_wrap .media_list:not(last-child) {
      margin-right: 30px; }
    #media .box_in .media_wrap .media_list .txt_area {
      margin-top: 20px;
      font-size: 14px;
      font-weight: normal; }
      #media .box_in .media_wrap .media_list .txt_area .category {
        display: flex;
        align-items: center; }
        #media .box_in .media_wrap .media_list .txt_area .category li {
          background: #008b47;
          color: #fff;
          padding: 5px 10px;
          display: inline-block;
          margin-right: 10px; }
      #media .box_in .media_wrap .media_list .txt_area h3 {
        margin-top: 10px;
        text-align: left;
        letter-spacing: 0.15rem; }
      #media .box_in .media_wrap .media_list .txt_area .txt {
        margin-top: 20px;
        text-align: left;
        line-height: 1.8;
        letter-spacing: 0.15rem; }
#media .box_in .more_area {
  margin-top: 40px; }

@media screen and (max-width: 750px) {
  #media .box_in .media_wrap {
    margin-top: 40px;
    display: block; }
    #media .box_in .media_wrap .media_list {
      width: 100%; }
      #media .box_in .media_wrap .media_list:not(last-child) {
        margin-right: 0px;
        margin-bottom: 60px; }
      #media .box_in .media_wrap .media_list .txt_area {
        margin-top: 20px;
        font-size: 14px;
        font-weight: normal; }
        #media .box_in .media_wrap .media_list .txt_area .category {
          display: flex;
          align-items: center; }
          #media .box_in .media_wrap .media_list .txt_area .category li {
            background: #008b47;
            color: #fff;
            padding: 5px 10px;
            display: inline-block;
            margin-right: 10px; }
        #media .box_in .media_wrap .media_list .txt_area h3 {
          margin-top: 10px;
          text-align: left;
          letter-spacing: 0.15rem; }
        #media .box_in .media_wrap .media_list .txt_area .txt {
          margin-top: 20px;
          text-align: left;
          line-height: 1.8;
          letter-spacing: 0.15rem; }
  #media .box_in .more_area {
    margin-top: 40px; } }
