/* firstContent */
#firstContent .slideWrap {
  position: relative;
  margin: 0 0 calc(20 / 375 * 100%) 0; }
  #firstContent .slideWrap .titleWrap {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 10; }
    #firstContent .slideWrap .titleWrap .title {
      font-family: YakuHanJP, 'Zen Kaku Gothic New', sans-serif;
      font-size: 3.1rem;
      line-height: 1;
      letter-spacing: -0.02em;
      font-weight: 900; }
      #firstContent .slideWrap .titleWrap .title .tape {
        display: inline-block;
        position: relative;
        background-color: #FFFFFF;
        margin-top: 0.5rem;
        padding: 0.7rem 1.2rem;
        clip-path: polygon(0% 0%, 0% 100%, 0% 100%, 0% 0%);
        transition: all 0.4s linear 1.6s; }
        #firstContent .slideWrap .titleWrap .title .tape:first-of-type {
          margin-top: 0;
          transition-delay: 0.8s; }
        #firstContent .slideWrap .titleWrap .title .tape:after {
          content: "";
          position: absolute;
          top: 0;
          bottom: 0;
          left: calc(100% - 1px);
          width: 0.38rem;
          background: url(/img/common/edge_tape.svg) left top repeat-y;
          background-size: contain; }
      #firstContent .slideWrap .titleWrap .title .color {
        color: #0EB176; }
  #firstContent .slideWrap .scroll {
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 10;
    width: 6.5rem;
    height: 6.5rem;
    margin: 0 calc(15 / 375 * 100%) calc(15 / 375 * 100%) 0; }
.load_complete #firstContent .slideWrap .titleWrap .title .tape {
  clip-path: polygon(0% 0%, 0% 100%, 120% 100%, 120% 0%); }

@media screen and (min-width: 769px) {
  #firstContent .slideWrap {
    max-width: 1000px;
    margin: auto; }
    #firstContent .slideWrap .titleWrap .title {
      font-size: 5.5rem;
      line-height: 1; }
      #firstContent .slideWrap .titleWrap .title .tape {
        margin-top: 1.1rem;
        padding: 1.8rem 0.5rem 1.8rem 5rem; }
        #firstContent .slideWrap .titleWrap .title .tape:first-of-type {
          margin-top: 0;
          padding-right: 2.8rem; }
        #firstContent .slideWrap .titleWrap .title .tape:after {
          width: 0.8rem; }
        #firstContent .slideWrap .titleWrap .title .tape .narrow {
          letter-spacing: -0.16em; }
    #firstContent .slideWrap .scroll {
      width: 8rem;
      height: 8rem;
      margin: 0 calc(15 / 1440 * 100%) calc(15 / 1440 * 100%) 0; } }
/* makerArea */
#makerArea .title {
  font-family: YakuHanJP, 'Zen Kaku Gothic New', sans-serif;
  font-size: 2.6rem;
  line-height: 1.27;
  letter-spacing: 0.04em;
  font-weight: 700;
  padding: calc(36 / 345 * 100%) 0 calc(29 / 345 * 100%) 0.75em; }
#makerArea .wrap {
  margin: 0 0 calc(50 / 345 * 100%) 0; }
  #makerArea .wrap .image {
    width: calc(300 / 345 * 100%);
    margin: 0 auto calc(25 / 345 * 100%) auto; }
  #makerArea .wrap .textWrap {
    width: calc(300 / 345 * 100%);
    margin: 0 auto; }
    #makerArea .wrap .textWrap .text {
      font-size: 1.5rem;
      line-height: 2;
      letter-spacing: 0.04em;
      font-weight: 500; }

@media screen and (min-width: 769px) {
  #makerArea .title {
    font-size: 3.7rem;
    line-height: 1.19;
    text-align: center;
    padding: calc(60 / 1000 * 100%) 0 calc(20 / 1000 * 100%) 0; }
  #makerArea .wrap {
    display: flex;
    justify-content: center;
    margin: 0 0 calc(60 / 1000 * 100%) 0; }
    #makerArea .wrap .image {
      width: calc(400 / 1000 * 100%);
      margin: 0;
      padding: calc(10 / 1000 * 100%) 0 0 0; }
    #makerArea .wrap .textWrap {
      width: calc(510 / 1000 * 100%);
      margin: 0 0 0 calc(44 / 1000 * 100%); }
      #makerArea .wrap .textWrap .text {
        font-size: 1.6rem;
        line-height: 2.5;
        letter-spacing: 0.05em;
        font-weight: 700; } }
/* introArea */
#introArea .content {
  opacity: 1; }
#introArea .wrap .title {
  padding: calc(10 / 370 * 100%) 0 calc(20 / 370 * 100%) 0; }
#introArea .wrap .text {
  width: calc(300 / 370 * 100%);
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin: 0 auto calc(39 / 370 * 100%) auto; }
#introArea .wrap .image {
  width: calc(345 / 370 * 100%);
  margin: 0 auto calc(22 / 370 * 100%) auto; }

@media screen and (min-width: 769px) {
  #introArea .content {
    overflow: hidden; }
    #introArea .content.current .tape {
      transform: rotate(-140deg) translate(-3.3vw, 6.2vw); }
  #introArea .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1; }
    #introArea .bg img {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 80%; }
  #introArea .tape {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 106%;
    background-color: #FFFFFF;
    transform-origin: 25% center;
    transform: rotate(-140deg) translate(66vw, 6.2vw);
    transition: all 0.4s linear 0.4s; }
    #introArea .tape:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: calc(100% - 1px);
      width: 0.9rem;
      background: url(/img/common/edge_tape2.svg) left top repeat-y;
      background-size: contain; }
  #introArea .wrap {
    position: relative;
    z-index: 5;
    width: 480px;
    margin: 0 0 0 calc(100 / 1440 * 100%);
    transition-delay: 1s; }
    #introArea .wrap .title {
      padding: calc(60 / 480 * 100%) 0 calc(20 / 480 * 100%) 0; }
    #introArea .wrap .text {
      width: 100%;
      font-size: 1.6rem;
      line-height: 1.56;
      letter-spacing: -0.02em;
      margin: 0 0 calc(46 / 480 * 100%) 0; }
    #introArea .wrap .image {
      width: 100%;
      margin: 0;
      padding: 0 0 calc(58 / 480 * 100%) 0; } }
@media screen and (min-width: 1100px) {
  #introArea .wrap {
    margin: 0 0 0 calc(220 / 1440 * 100%); } }
/* bannerArea */
.bannerArea .wrap {
  margin: 0 0 calc(62 / 345 * 100%) 0; }
  .bannerArea .wrap .banner {
    margin: 0 0 calc(22 / 345 * 100%) 0; }

@media screen and (min-width: 769px) {
  .bannerArea .wrap {
    margin: 0;
    padding: calc(60 / 1000 * 100%) 0 calc(40 / 1000 * 100%) 0; }
    .bannerArea .wrap .banner {
      margin: 0 0 calc(20 / 1000 * 100%) 0; } }
/* companyArea */
#companyArea .content {
  opacity: 1; }
#companyArea .wrap .title {
  padding: calc(19 / 370 * 100%) 0 calc(30 / 370 * 100%) 0; }
#companyArea .wrap .map {
  width: calc(345 / 370 * 100%);
  margin: 0 auto calc(31 / 370 * 100%) auto;
  border: 1px solid #005014;
  box-sizing: border-box; }
  #companyArea .wrap .map iframe {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 345 / 195; }
#companyArea .wrap .info {
  width: calc(305 / 370 * 100%);
  font-size: 1.8rem;
  line-height: 1.39;
  letter-spacing: 0.02em;
  font-weight: 500;
  margin: 0 auto calc(56 / 370 * 100%) auto; }
  #companyArea .wrap .info .name {
    font-size: 2.2rem;
    line-height: 1.55;
    letter-spacing: 0;
    font-weight: 700;
    margin: 0 0 0.6em 0; }
#companyArea .list {
  display: flex;
  flex-wrap: wrap;
  width: calc(300 / 345 * 100%);
  margin: 0 auto calc(20 / 345 * 100%) auto; }
  #companyArea .list .item {
    flex-basis: calc(140 / 300 * 100%);
    margin: 0 0 calc(24 / 345 * 100%) calc(20 / 345 * 100%); }
    #companyArea .list .item:nth-child(2n+1) {
      margin-left: 0; }
    #companyArea .list .item:nth-child(5) {
      margin-bottom: 0; }
    #companyArea .list .item .box {
      color: #005014;
      text-align: center;
      background-color: #F7F7F7; }
      #companyArea .list .item .box .name {
        font-size: 1.8rem;
        line-height: 1.22;
        letter-spacing: 0.02em;
        font-weight: 700;
        padding: calc(10 / 140 * 100%) 0 calc(9 / 140 * 100%) 0; }
#companyArea .more {
  width: calc(300 / 345 * 100%);
  margin: auto;
  padding: 0 0 calc(20 / 345 * 100%) 0; }

@media screen and (min-width: 769px) {
  #companyArea .content.current .tape {
    transform: rotate(-50deg) translate(49.5vw, -6.8vw); }
  #companyArea .block {
    overflow: hidden;
    position: relative; }
  #companyArea .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1; }
    #companyArea .bg img {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 10%; }
  #companyArea .tape {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    z-index: 2;
    width: 100%;
    height: 106%;
    background-color: #FFFFFF;
    transform-origin: 75% center;
    transform: rotate(-50deg) translate(110vw, -6.8vw);
    transition: all 0.4s linear 0.4s; }
    #companyArea .tape:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: calc(100% - 1px);
      width: 0.9rem;
      background: url(/img/common/edge_tape2.svg) left top repeat-y;
      background-size: contain; }
  #companyArea .wrap {
    position: relative;
    z-index: 5;
    width: 480px;
    text-align: right;
    margin: 0 calc(100 / 1440 * 100%) 0 auto;
    transition-delay: 1s; }
    #companyArea .wrap .title {
      text-align: right;
      padding: calc(54 / 480 * 100%) 0 calc(20 / 480 * 100%) 0; }
    #companyArea .wrap .map {
      width: 100%;
      margin: 0 0 calc(18 / 480 * 100%) 0; }
      #companyArea .wrap .map iframe {
        aspect-ratio: 480 / 265; }
    #companyArea .wrap .infoWrap {
      padding: 0 0 calc(53 / 480 * 100%) 0; }
    #companyArea .wrap .info {
      display: inline-block;
      width: auto;
      font-size: 1.8rem;
      line-height: 1.5;
      text-align: left;
      margin: 0; }
      #companyArea .wrap .info .name {
        font-size: 2.2rem;
        line-height: 1.55;
        margin: 0 0 0.2em 0; }
  #companyArea .list {
    justify-content: space-between;
    flex-wrap: nowrap;
    width: 100%;
    margin: 0 0 calc(25 / 1000 * 100%) 0;
    padding: calc(61 / 1000 * 100%) 0 0 0; }
    #companyArea .list .item {
      flex-basis: calc(184 / 1000 * 100%);
      margin: 0; }
      #companyArea .list .item .box .name {
        font-size: 2rem;
        line-height: 1.2;
        font-weight: 700;
        padding: calc(15 / 184 * 100%) 0 calc(15 / 184 * 100%) 0; }
  #companyArea .more {
    width: 100%;
    margin: 0;
    padding: 0 0 calc(21 / 345 * 100%) 0; } }
@media screen and (min-width: 1100px) {
  #companyArea .wrap {
    margin: 0 calc(220 / 1440 * 100%) 0 auto; } }
/* recruitArea */
#recruitArea .content {
  opacity: 1; }
#recruitArea .wrap .title {
  padding: calc(10 / 370 * 100%) 0 calc(20 / 370 * 100%) 0; }
#recruitArea .wrap .text {
  width: calc(300 / 370 * 100%);
  font-size: 2.2rem;
  line-height: 1.64;
  letter-spacing: 0.02em;
  font-weight: 700;
  margin: 0 auto calc(30 / 370 * 100%) auto; }
#recruitArea .wrap .more {
  width: calc(275 / 345 * 100%);
  margin: auto;
  padding: 0 0 calc(47 / 345 * 100%) 0; }

@media screen and (min-width: 769px) {
  #recruitArea .content {
    overflow: hidden; }
    #recruitArea .content.current .tape {
      transform: rotate(-140deg) translate(14.9vw, -5.6vw); }
  #recruitArea .bg {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1; }
    #recruitArea .bg img {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: 55%; }
  #recruitArea .tape {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 200%;
    background-color: #FFFFFF;
    transform-origin: 25% center;
    transform: rotate(-140deg) translate(65vw, -5.6vw);
    transition: all 0.4s linear 0.4s; }
    #recruitArea .tape:after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: calc(100% - 1px);
      width: 0.9rem;
      background: url(/img/common/edge_tape2.svg) left top repeat-y;
      background-size: contain; }
  #recruitArea .wrap {
    position: relative;
    z-index: 5;
    width: 480px;
    margin: 0 0 0 calc(100 / 1440 * 100%);
    transition-delay: 1s; }
    #recruitArea .wrap .title {
      padding: calc(114 / 480 * 100%) 0 calc(20 / 480 * 100%) 0; }
    #recruitArea .wrap .text {
      width: 100%;
      font-size: 2.2rem;
      line-height: 1.59;
      margin: 0 0 calc(20 / 480 * 100%) 0; }
    #recruitArea .wrap .more {
      justify-content: flex-start;
      width: 100%;
      margin: 0;
      padding: 0 0 calc(115 / 480 * 100%) 0; } }
@media screen and (min-width: 1100px) {
  #recruitArea .wrap {
    margin: 0 0 0 calc(220 / 1440 * 100%); } }
/* newsArea */
#newsArea .content {
  background-color: #DCDCDC; }
#newsArea .title {
  padding: calc(60 / 345 * 100%) calc(20 / 345 * 100%) 0 calc(20 / 345 * 100%); }
#newsArea .newsList .list .item {
  border-top: 1px solid #FFFFFF; }
  #newsArea .newsList .list .item:first-child {
    border-top: 0; }
  #newsArea .newsList .list .item a .category {
    color: #005014;
    background-color: #FFFFFF; }
#newsArea .more {
  width: calc(300 / 345 * 100%);
  margin: auto;
  padding: 0 0 calc(122 / 345 * 100%) 0; }

@media screen and (min-width: 769px) {
  #newsArea .content {
    background-color: #DCDCDC; }
  #newsArea .title {
    display: flex;
    align-items: center;
    padding: calc(74 / 1000 * 100%) 0 calc(9 / 1000 * 100%) 0; }
    #newsArea .title .ja {
      font-size: 2.5rem;
      line-height: 1;
      margin: 0 0 0 2.5rem; }
  #newsArea .more {
    width: 100%;
    margin: 0;
    padding: 0 0 11rem 0; } }
