/*! Writen  by SCSS */
.sec02 {
  padding-top: clamp(60px, 8.34%, 100px);
  padding-bottom: clamp(60px, 8.34%, 100px); }
  @media screen and (max-width: 480px) {
    .sec02 {
      padding-top: 40px;
      padding-bottom: 40px; } }

.sec01 {
  position: relative; }
  @media screen and (max-width: 480px) {
    .sec01 {
      background: url("../images/concept/img01_sp.jpg") bottom center/cover no-repeat;
      padding-top: 10%;
      padding-bottom: 120%; } }
  .sec01 .text_wrap {
    top: 0;
    position: absolute;
    top: clamp(30px, 4.445vw, 80px);
    left: 0;
    right: 0;
    margin-inline: auto;
    text-align: center;
    z-index: 2; }
    @media screen and (max-width: 480px) {
      .sec01 .text_wrap {
        top: 40px;
        position: relative;
        top: auto;
        left: auto;
        right: auto; } }
    .sec01 .text_wrap .text_in {
      display: flex;
      flex-direction: column;
      row-gap: clamp(20px, 2.778vw, 50px);
      margin-bottom: clamp(35px, 4.445vw, 80px); }
      @media screen and (max-width: 1200px) {
        .sec01 .text_wrap .text_in {
          row-gap: 15px;
          margin-bottom: 35px; } }
      @media screen and (max-width: 480px) {
        .sec01 .text_wrap .text_in {
          margin-bottom: 15px; } }
      .sec01 .text_wrap .text_in .ttl, .sec01 .text_wrap .text_in .icon {
        line-height: 1; }
      .sec01 .text_wrap .text_in .ttl {
        font-size: clamp(20px, 3.667vw, 66px);
        letter-spacing: 0.2em;
        font-weight: 600;
        font-feature-settings: "palt"; }
        @media screen and (max-width: 480px) {
          .sec01 .text_wrap .text_in .ttl {
            font-size: 24px;
            letter-spacing: 0; } }
      .sec01 .text_wrap .text_in .icon {
        width: 35.67%;
        max-width: 428px;
        margin-inline: auto;
        font-size: 0; }
        @media screen and (max-width: 480px) {
          .sec01 .text_wrap .text_in .icon {
            width: 230px; } }
      .sec01 .text_wrap .text_in .txt {
        font-size: clamp(13px, 1.25vw, 20px);
        text-shadow: 0px 0px 0px rgba(255, 255, 255, 0.8), 0px 0px 1px rgba(255, 255, 255, 0.8), 0px 0px 2px rgba(255, 255, 255, 0.8), 0px 0px 3px rgba(255, 255, 255, 0.8), 0px 0px 4px rgba(255, 255, 255, 0.8), 0px 0px 5px rgba(255, 255, 255, 0.8), 0px 0px 6px rgba(255, 255, 255, 0.8), 0px 0px 7px rgba(255, 255, 255, 0.8), 0px 0px 8px rgba(255, 255, 255, 0.8), 0px 0px 9px rgba(255, 255, 255, 0.8), 0px 0px 10px rgba(255, 255, 255, 0.8), 0px 0px 11px rgba(255, 255, 255, 0.8), 0px 0px 12px rgba(255, 255, 255, 0.8), 0px 0px 13px rgba(255, 255, 255, 0.8), 0px 0px 14px rgba(255, 255, 255, 0.8), 0px 0px 15px rgba(255, 255, 255, 0.8), 0px 0px 16px rgba(255, 255, 255, 0.8), 0px 0px 17px rgba(255, 255, 255, 0.8), 0px 0px 18px rgba(255, 255, 255, 0.8), 0px 0px 19px rgba(255, 255, 255, 0.8), 0px 0px 20px rgba(255, 255, 255, 0.8);
        line-height: 2.5; }
        @media screen and (max-width: 480px) {
          .sec01 .text_wrap .text_in .txt {
            margin-inline: -15px;
            letter-spacing: 0;
            line-height: 1.8; } }
    .sec01 .text_wrap .sec_lead {
      line-height: 1.67;
      text-shadow: 0px 0px 0px rgba(255, 255, 255, 0.8), 0px 0px 1px rgba(255, 255, 255, 0.8), 0px 0px 2px rgba(255, 255, 255, 0.8), 0px 0px 3px rgba(255, 255, 255, 0.8), 0px 0px 4px rgba(255, 255, 255, 0.8), 0px 0px 5px rgba(255, 255, 255, 0.8), 0px 0px 6px rgba(255, 255, 255, 0.8), 0px 0px 7px rgba(255, 255, 255, 0.8), 0px 0px 8px rgba(255, 255, 255, 0.8), 0px 0px 9px rgba(255, 255, 255, 0.8), 0px 0px 10px rgba(255, 255, 255, 0.8), 0px 0px 11px rgba(255, 255, 255, 0.8), 0px 0px 12px rgba(255, 255, 255, 0.8), 0px 0px 13px rgba(255, 255, 255, 0.8), 0px 0px 14px rgba(255, 255, 255, 0.8), 0px 0px 15px rgba(255, 255, 255, 0.8), 0px 0px 16px rgba(255, 255, 255, 0.8), 0px 0px 17px rgba(255, 255, 255, 0.8), 0px 0px 18px rgba(255, 255, 255, 0.8), 0px 0px 19px rgba(255, 255, 255, 0.8), 0px 0px 20px rgba(255, 255, 255, 0.8); }
      @media screen and (max-width: 480px) {
        .sec01 .text_wrap .sec_lead {
          font-size: 18px; } }
  @media screen and (max-width: 480px) {
    .sec01 .img {
      display: none; } }

.sec02 {
  position: relative;
  overflow: hidden; }
  .sec02::before {
    content: '';
    position: absolute;
    inset: 0;
    background: url("../images/concept/img03.png") center center/cover no-repeat;
    transform: scale(2);
    transition: transform 3s ease-in-out 0.7s; }
  @media screen and (max-width: 480px) {
    .sec02 {
      display: flex;
      flex-direction: column;
      row-gap: 30px; } }
  .sec02.p-view::before {
    transform: scale(1); }
  .sec02 .sec02_ttl {
    font-size: clamp(22px, 3.334vw, 40px);
    color: #007272;
    letter-spacing: 0.15em;
    line-height: 2;
    margin-bottom: 0.5em; }
    @media screen and (max-width: 480px) {
      .sec02 .sec02_ttl {
        letter-spacing: 0; } }
  .sec02 .read {
    line-height: 2.5; }
  .sec02 .text_wrap {
    text-align: center; }
    .sec02 .text_wrap.text_wrap02 {
      display: flex;
      justify-content: space-between;
      align-items: center; }
      @media screen and (max-width: 480px) {
        .sec02 .text_wrap.text_wrap02 {
          flex-direction: column; } }
      @media screen and (min-width: 960px) {
        .sec02 .text_wrap.text_wrap02 .ttl {
          margin-bottom: 0; } }
  .sec02 .img {
    width: 76.94%;
    max-width: 1231px;
    clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
    transition: clip-path 1s ease-in-out 0s; }
    .sec02 .img.p-view {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
    @media screen and (max-width: 480px) {
      .sec02 .img {
        width: 100%; } }

.sec03 {
  position: relative;
  padding: clamp(80px, 10%, 120px) 0 clamp(60px, 6.667vw, 80px);
  overflow: hidden; }
  @media screen and (max-width: 480px) {
    .sec03 {
      padding: 40px 0; } }
  .sec03 .bg_left {
    width: calc(467%/16);
    position: absolute;
    top: 0;
    right: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: all 1.2s ease-in-out; }
    .sec03 .bg_left img {
      transform: scale(1.1) rotate(3deg);
      transition: all 1.2s ease-in-out; }
    .sec03 .bg_left.p-view {
      opacity: 0.7; }
      .sec03 .bg_left.p-view img {
        transform: scale(1) rotate(0deg); }
  .sec03 .bg_right {
    width: calc(467%/16);
    position: absolute;
    top: 0;
    left: 0;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: all 1.2s ease-in-out; }
    .sec03 .bg_right img {
      transform: scale(1.1) rotate(-3deg);
      transition: all 1.2s ease-in-out; }
    .sec03 .bg_right.p-view {
      opacity: 0.7; }
      .sec03 .bg_right.p-view img {
        transform: scale(1) rotate(0deg); }
  .sec03 .bg {
    position: absolute;
    top: 0;
    opacity: .4;
    transition: transform 1.2s ease-in-out 0s; }
    .sec03 .bg img {
      transform-origin: center bottom;
      animation: yurayura 9s linear infinite;
      display: block; }
    .sec03 .bg.bg01 {
      left: 0;
      max-width: 784px;
      width: 49%;
      transform: translate(-100%, 0px); }
      .sec03 .bg.bg01.p-view {
        transform: translate(-5%, 0px); }
    .sec03 .bg.bg02 {
      right: 0;
      max-width: 802px;
      width: 50.13%;
      transform: translate(100%, 0px); }
      .sec03 .bg.bg02.p-view {
        transform: translate(5%, 0px); }
  .sec03 .img07 {
    position: relative; }
    .sec03 .img07 .img07_txt01 {
      position: absolute;
      width: calc(357%/12);
      top: calc(348%/9.56);
      left: 0;
      right: 0;
      margin: auto; }
      @media screen and (max-width: 480px) {
        .sec03 .img07 .img07_txt01 {
          top: calc(300%/9.56); } }
    .sec03 .img07 .img07_txt02 {
      position: absolute;
      width: calc(398%/12);
      top: calc(425%/9.56);
      left: 0;
      right: 0;
      margin: auto; }
    .sec03 .img07 .img07_01 {
      position: absolute;
      width: calc(336%/12);
      top: calc(22%/9.56);
      left: calc(5%/12); }
      @media screen and (max-width: 480px) {
        .sec03 .img07 .img07_01 {
          width: calc(495%/11.5);
          top: 0;
          left: 0; } }
    .sec03 .img07 .img07_02 {
      position: absolute;
      width: calc(317%/12);
      top: calc(22%/9.56);
      left: calc(886%/12); }
      @media screen and (max-width: 480px) {
        .sec03 .img07 .img07_02 {
          width: calc(468%/11.5);
          top: 0;
          left: auto;
          right: 0; } }
    .sec03 .img07 .img07_03 {
      position: absolute;
      top: calc(836%/9.56);
      left: calc(886%/12);
      width: calc(300%/12); }
      @media screen and (max-width: 480px) {
        .sec03 .img07 .img07_03 {
          width: calc(568%/11.5);
          top: auto;
          bottom: 0;
          left: 0; } }
    .sec03 .img07 .img07_04 {
      position: absolute;
      width: calc(385%/12);
      top: calc(836%/9.56);
      left: calc(5%/12); }
      @media screen and (max-width: 480px) {
        .sec03 .img07 .img07_04 {
          width: calc(443%/11.5);
          top: auto;
          bottom: 0;
          left: auto;
          right: 0; } }

@keyframes yurayura {
  0% {
    transform: rotate(0deg); }
  75% {
    transform: rotate(0.4deg); }
  90% {
    transform: rotate(-0.4deg); }
  100% {
    transform: rotate(0deg); } }

/*# sourceMappingURL=concept.css.map */
