@charset "UTF-8";
@import url("//fonts.googleapis.com/css2?family=Poppins:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&display=swap");
/*
font-family: $font-gothic;
300 400 500 700
*/
/*
font-family: $font-min;
300 400 500 600 700
*/
/*
font-family: $font-en;
300 400 600
*/
/*@include font-gothic();*/
/*@include font-min();*/
/*@include font-en();*/
/*@include incImg100();*/
/*@include incSmooth();*/
/*@include dropshadow;*/
/*@include boxshadow;*/
/*@include fs();*/
/*@include btm();*/
body.pageAction #moff {
  animation: moffFade 1.3s cubic-bezier(0.77, 0, 0.175, 1) 0s 1 forwards; }

@keyframes moffFade {
  0% {
    opacity: 0;
    filter: blur(100px); }
  100% {
    opacity: 1;
    filter: blur(0); } }
.policiesSec01 {
  background: #FFF;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 20%, white 50%);
  backdrop-filter: blur(50px);
  padding-bottom: 200px; }
  .policiesSec01 .inr .policiesH2 {
    padding: 20px 0 100px;
    text-align: left;
    opacity: 0; }
    .policiesSec01 .inr .policiesH2 .enSub {
      color: transparent;
      -webkit-text-stroke: 0.02em #FF7D00;
      display: block;
      font-family: "Poppins", sans-serif;
      font-size: 60px;
      font-size: 6rem;
      line-height: 2;
      line-height: 1.8;
      font-weight: 600;
      line-height: 1;
      letter-spacing: 0.08em;
      padding: 0 0 10px; }
      @media only screen and (max-width: 960px) {
        .policiesSec01 .inr .policiesH2 .enSub {
          font-size: 51px;
          font-size: 5.1rem; } }
    .policiesSec01 .inr .policiesH2 .en {
      display: block;
      font-family: "Poppins", sans-serif;
      font-size: 80px;
      font-size: 8rem;
      line-height: 2;
      line-height: 1.8;
      font-weight: 600;
      line-height: 1.05;
      letter-spacing: 0;
      padding: 0 0 24px; }
      @media only screen and (max-width: 960px) {
        .policiesSec01 .inr .policiesH2 .en {
          font-size: 68px;
          font-size: 6.8rem; } }
    .policiesSec01 .inr .policiesH2 .ja {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 2;
      line-height: 1.8;
      font-weight: 600;
      line-height: 1;
      letter-spacing: 0.1em; }
      @media only screen and (max-width: 960px) {
        .policiesSec01 .inr .policiesH2 .ja {
          font-size: 20px;
          font-size: 2rem; } }
  @media only screen and (min-width: 960px) {
    .policiesSec01 .inr .startDesc {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      font-weight: 600;
      line-height: 2.8;
      letter-spacing: 0.06em; } }
  @media only screen and (min-width: 960px) and (max-width: 960px) {
    .policiesSec01 .inr .startDesc {
      font-size: 14px;
      font-size: 1.4rem; } }
  @media only screen and (min-width: 960px) {
      .policiesSec01 .inr .startDesc span {
        transform: translateY(100%);
        clip-path: polygon(0 -100%, 100% -100%, 100% -200%, 0 -50%);
        will-change: clip-path,transform; } }
  .policiesSec01 .inr .policiesBlock {
    margin-top: 100px;
    transition: 0.6s;
    transform: translate(0, 35px);
    opacity: 0;
    will-change: transform,opacity; }
    .policiesSec01 .inr .policiesBlock.active {
      transform: translate(0, 0);
      opacity: 1;
      transition-delay: .25s; }
    .policiesSec01 .inr .policiesBlock h3 {
      font-size: 28px;
      font-size: 2.8rem;
      line-height: 2;
      line-height: 1.8;
      font-weight: 600;
      line-height: 1.6;
      letter-spacing: 0.05em;
      margin-bottom: 28px; }
      @media only screen and (max-width: 960px) {
        .policiesSec01 .inr .policiesBlock h3 {
          font-size: 24px;
          font-size: 2.4rem; } }
    .policiesSec01 .inr .policiesBlock p {
      font-size: 16px;
      font-size: 1.6rem;
      line-height: 2;
      font-weight: 600;
      margin-bottom: 28px; }
      @media only screen and (max-width: 960px) {
        .policiesSec01 .inr .policiesBlock p {
          font-size: 14px;
          font-size: 1.4rem; } }
    .policiesSec01 .inr .policiesBlock ol {
      padding-left: 2em; }
      .policiesSec01 .inr .policiesBlock ol li {
        font-size: 16px;
        font-size: 1.6rem;
        line-height: 2;
        font-weight: 600;
        margin-bottom: 20px;
        counter-increment: liNum;
        margin-left: 2em;
        position: relative; }
        @media only screen and (max-width: 960px) {
          .policiesSec01 .inr .policiesBlock ol li {
            font-size: 14px;
            font-size: 1.4rem; } }
        .policiesSec01 .inr .policiesBlock ol li:before {
          position: absolute;
          top: 0;
          left: -2em;
          content: "(" counter(liNum) ")"; }
        .policiesSec01 .inr .policiesBlock ol li p {
          margin: 4px 0 0;
          text-indent: -1em;
          padding-left: 1em; }
  .policiesSec01 .inr .nextContentsWrap {
    display: flex;
    justify-content: flex-end;
    max-width: 1200px;
    margin: 90px auto 0; }
    .policiesSec01 .inr .nextContentsWrap .nextContents {
      padding-left: 5vw;
      width: 50%;
      transition: 0.6s;
      transform: translate(0, 35px);
      opacity: 0;
      will-change: transform,opacity; }
      .policiesSec01 .inr .nextContentsWrap .nextContents .enHead {
        padding: 2vw 0; }
        .policiesSec01 .inr .nextContentsWrap .nextContents .enHead .enSub {
          color: transparent;
          -webkit-text-stroke: 0.02em #FF7D00;
          display: block;
          font-family: "Poppins", sans-serif;
          font-size: 34px;
          font-size: 3.4rem;
          line-height: 2;
          line-height: 1.8;
          font-weight: 600;
          line-height: 1;
          letter-spacing: 0.08em;
          padding: 0 0 10px; }
          @media only screen and (max-width: 960px) {
            .policiesSec01 .inr .nextContentsWrap .nextContents .enHead .enSub {
              font-size: 29px;
              font-size: 2.9rem; } }
        .policiesSec01 .inr .nextContentsWrap .nextContents .enHead .en {
          display: block;
          font-family: "Poppins", sans-serif;
          font-size: 48px;
          font-size: 4.8rem;
          line-height: 2;
          line-height: 1.8;
          font-weight: 600;
          line-height: 1.05;
          letter-spacing: -0.06em;
          padding: 0 0 24px; }
          @media only screen and (max-width: 960px) {
            .policiesSec01 .inr .nextContentsWrap .nextContents .enHead .en {
              font-size: 41px;
              font-size: 4.1rem; } }
      .policiesSec01 .inr .nextContentsWrap .nextContents .nextContentsFlex {
        border-bottom: 1px solid #000;
        display: flex;
        justify-content: space-between;
        max-width: 80%;
        padding-bottom: 4px; }
      .policiesSec01 .inr .nextContentsWrap .nextContents h2 {
        font-size: 18px;
        font-size: 1.8rem;
        line-height: 2;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0.06em;
        margin-bottom: 16px; }
        @media only screen and (max-width: 960px) {
          .policiesSec01 .inr .nextContentsWrap .nextContents h2 {
            font-size: 15px;
            font-size: 1.5rem; } }
      .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a {
        display: inline-block;
        font-family: "Poppins", sans-serif;
        font-size: 17px;
        font-size: 1.7rem;
        line-height: 2;
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0.01em;
        margin-top: 5px;
        padding: 2px 4px;
        position: relative;
        text-decoration: none; }
        @media only screen and (max-width: 960px) {
          .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a {
            font-size: 14px;
            font-size: 1.4rem; } }
        .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a span {
          position: relative;
          z-index: 2; }
        .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a::before {
          position: absolute;
          bottom: 0;
          left: 0;
          content: '';
          display: block;
          width: 100%;
          height: 100%;
          background: #FF7D00;
          transform: scaleX(0);
          transform-origin: right;
          transition: all 0.26s cubic-bezier(0.77, 0, 0.175, 1);
          transition-property: transform;
          transition-delay: 0.1s;
          z-index: 1;
          will-change: transform; }
        .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a:hover::before {
          transform: scaleX(1);
          transform-origin: left; }
        .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a:hover .more::before {
          transform: scaleX(1);
          transform-origin: left; }
      .policiesSec01 .inr .nextContentsWrap .nextContents.active {
        transform: translate(0, 0);
        opacity: 1;
        transition-delay: .25s; }
  .policiesSec01.active .inr .policiesH2 {
    opacity: 1;
    transition: 1s;
    transition-delay: .35s; }
  @media only screen and (min-width: 960px) {
    .policiesSec01.active .inr .startDesc span {
      position: relative;
      display: inline-block;
      clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
      transform: translate(0px);
      transition: 0.32s;
      transition-delay: .55s; }
      .policiesSec01.active .inr .startDesc span.txt1a {
        transition-delay: .5s; }
      .policiesSec01.active .inr .startDesc span.txt1b {
        transition-delay: .52s; }
      .policiesSec01.active .inr .startDesc span.txt2a {
        transition-delay: .52s; }
      .policiesSec01.active .inr .startDesc span.txt2b {
        transition-delay: .54s; } }

/*  /////////////////////////////////////////////////
Responsive Start 
*/
@media only screen and (max-width: 960px) {
  .policiesSec01 {
    backdrop-filter: blur(70px);
    background: #FFF;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 60%);
    padding-bottom: 50vw; }
    .policiesSec01 .inr {
      padding: 0 2.5vw; }
      .policiesSec01 .inr .policiesH2 {
        padding: 28px 0 50px; }
        .policiesSec01 .inr .policiesH2 .enSub {
          font-size: 7vw; }
        .policiesSec01 .inr .policiesH2 .en {
          font-size: 9vw;
          letter-spacing: -0.06em;
          padding: 0 0 24px; }
        .policiesSec01 .inr .policiesH2 .ja {
          font-size: 17px; }
      .policiesSec01 .inr .startDesc {
        font-size: 14px;
        font-weight: 600;
        line-height: 2;
        letter-spacing: 0.06em;
        transition: 0.6s;
        transform: translate(0, 25px);
        opacity: 0;
        will-change: transform,opacity; }
        .policiesSec01 .inr .startDesc.active {
          transform: translate(0, 0);
          opacity: 1;
          transition-delay: .5s; }
      .policiesSec01 .inr .policiesBlock {
        margin-top: 60px; }
        .policiesSec01 .inr .policiesBlock.active {
          transition-delay: .5s; }
        .policiesSec01 .inr .policiesBlock h3 {
          font-size: 20px;
          font-weight: 600;
          line-height: 1.6;
          letter-spacing: 0.05em;
          margin-bottom: 16px; }
        .policiesSec01 .inr .policiesBlock p {
          font-size: 14px;
          font-weight: 600;
          margin-bottom: 28px; }
          .policiesSec01 .inr .policiesBlock p a {
            font-size: 11px;
            overflow-wrap: anywhere;
            /* 収まらない場合に折り返す */
            word-break: normal;
            /* 単語の分割はデフォルトに依存 */
            line-break: strict;
            /* 禁則処理を厳格に適用 */ }
        .policiesSec01 .inr .policiesBlock ol {
          padding-left: 0; }
          .policiesSec01 .inr .policiesBlock ol li {
            font-size: 14px;
            font-weight: 600;
            margin-bottom: 20px;
            counter-increment: liNum;
            margin-left: 2em;
            position: relative; }
            .policiesSec01 .inr .policiesBlock ol li:before {
              position: absolute;
              top: 0;
              left: -2em;
              content: "(" counter(liNum) ")"; }
            .policiesSec01 .inr .policiesBlock ol li p {
              margin: 4px 0 0 -1em;
              text-indent: -1em;
              padding-left: 1em; }
      .policiesSec01 .inr .nextContentsWrap {
        display: block;
        max-width: 100%;
        margin: 0;
        margin-top: 35vw; }
        .policiesSec01 .inr .nextContentsWrap .nextContents {
          padding: 0;
          width: 100%; }
          .policiesSec01 .inr .nextContentsWrap .nextContents .enHead {
            padding: 2vw 0; }
            .policiesSec01 .inr .nextContentsWrap .nextContents .enHead .enSub {
              font-size: 6vw; }
            .policiesSec01 .inr .nextContentsWrap .nextContents .enHead .en {
              font-size: 9vw; }
          .policiesSec01 .inr .nextContentsWrap .nextContents .nextContentsFlex {
            max-width: 100%;
            padding-bottom: 12px; }
          .policiesSec01 .inr .nextContentsWrap .nextContents h2 {
            margin-bottom: 0; }
          .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a {
            margin-top: 2px;
            padding: 2px 4px; }
            .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a::before {
              transform: scaleX(1);
              transform-origin: left; } }
  @media only screen and (max-width: 960px) and (min-width: 960px) {
    .policiesSec01.active .inr .startDesc span {
      position: relative;
      display: inline-block;
      clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
      transform: translate(0px);
      transition: 0.32s;
      transition-delay: .55s; }
      .policiesSec01.active .inr .startDesc span.txt1a {
        transition-delay: .6s; }
      .policiesSec01.active .inr .startDesc span.txt1b {
        transition-delay: .62s; }
      .policiesSec01.active .inr .startDesc span.txt2a {
        transition-delay: .62s; }
      .policiesSec01.active .inr .startDesc span.txt2b {
        transition-delay: .64s; }
      .policiesSec01.active .inr .startDesc span.txt3a {
        transition-delay: .64s; }
      .policiesSec01.active .inr .startDesc span.txt3b {
        transition-delay: .66s; }
      .policiesSec01.active .inr .startDesc span.txt4a {
        transition-delay: .66s; }
      .policiesSec01.active .inr .startDesc span.txt4b {
        transition-delay: .68s; }
      .policiesSec01.active .inr .startDesc span.txt5a {
        transition-delay: .68s; }
      .policiesSec01.active .inr .startDesc span.txt5b {
        transition-delay: .7s; }
      .policiesSec01.active .inr .startDesc span.txt6a {
        transition-delay: .7s; }
      .policiesSec01.active .inr .startDesc span.txt6b {
        transition-delay: .72s; }
      .policiesSec01.active .inr .startDesc span.txt7a {
        transition-delay: .72s; }
      .policiesSec01.active .inr .startDesc span.txt7b {
        transition-delay: .74s; }
      .policiesSec01.active .inr .startDesc span.txt8a {
        transition-delay: .74s; }
      .policiesSec01.active .inr .startDesc span.txt8b {
        transition-delay: .76s; }
      .policiesSec01.active .inr .startDesc span.txt9a {
        transition-delay: .76s; }
      .policiesSec01.active .inr .startDesc span.txt9b {
        transition-delay: .78s; }
      .policiesSec01.active .inr .startDesc span.txt10a {
        transition-delay: .78s; }
      .policiesSec01.active .inr .startDesc span.txt10b {
        transition-delay: .8s; } }

@media only screen and (max-width: 960px) {
  /* Tablet Start */ }
@media only screen and (max-width: 960px) and (min-width: 640px) and (max-width: 960px) {
  .policiesSec01 {
    padding: 5vw 0 25vw; }
    .policiesSec01 .inr {
      padding: 0 7.5vw; }
      .policiesSec01 .inr .policiesH2 {
        padding: 28px 0 70px; }
        .policiesSec01 .inr .policiesH2 .enSub {
          font-size: 5vw; }
        .policiesSec01 .inr .policiesH2 .en {
          font-size: 10vw;
          padding: 0 0 24px; }
        .policiesSec01 .inr .policiesH2 .ja {
          font-size: 3vw; }
      .policiesSec01 .inr .policiesBlock {
        margin-top: 80px; }
        .policiesSec01 .inr .policiesBlock h3 {
          font-size: 3.6vw;
          margin-bottom: 3vw; }
        .policiesSec01 .inr .policiesBlock p {
          font-size: 2vw;
          margin-bottom: 28px; }
        .policiesSec01 .inr .policiesBlock ol li {
          font-size: 2vw; }
      .policiesSec01 .inr .startDesc {
        font-size: 2vw; }
      .policiesSec01 .inr .nextContentsWrap {
        display: block;
        max-width: 100%;
        margin: 0;
        margin-top: 15vw; }
        .policiesSec01 .inr .nextContentsWrap .nextContents {
          padding: 0 15vw 0 0;
          width: 100%; }
          .policiesSec01 .inr .nextContentsWrap .nextContents .enHead {
            padding: 2vw 0; }
            .policiesSec01 .inr .nextContentsWrap .nextContents .enHead .enSub {
              font-size: 5vw; }
            .policiesSec01 .inr .nextContentsWrap .nextContents .enHead .en {
              font-size: 7vw; }
          .policiesSec01 .inr .nextContentsWrap .nextContents .nextContentsFlex {
            max-width: 100%;
            padding-bottom: 12px; }
          .policiesSec01 .inr .nextContentsWrap .nextContents h2 {
            font-size: 1.9rem; }
          .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a {
            margin-top: 2px;
            padding: 2px 4px; }
            .policiesSec01 .inr .nextContentsWrap .nextContents .viewMore a::before {
              transform: scaleX(1);
              transform-origin: left; } }
