*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

html {
  font-size: 62.5%; }

body {
  font-size: 1.6rem !important;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
  font-weight: 500;
  color: #000;
  margin: 0;
  padding: 0;
  word-wrap: break-word;
  overflow-x: hidden;
  overflow-y: scroll; }

ul {
  list-style-type: none;
  list-style-position: inside; }

h1, h2, h3, p, ul, li, dl, dt, dd, a {
  font-style: normal;
  font-weight: 500;
  margin: 0;
  padding: 0;
  color: #333; }

h1, h2, h3, h4, h5 {
  color: #b99460; }

img {
  width: 100%;
  vertical-align: bottom; }

a {
  text-decoration: none;
  color: #333; }
  a:hover {
    color: #333; }
  a:visited {
    color: #333; }

@media screen and (min-width: 1025px) {
  .pc {
    display: block !important; } }
@media screen and (max-width: 1024px) {
  .pc {
    display: none !important; } }
@media screen and (max-width: 600px) {
  .pc {
    display: none !important; } }

@media screen and (min-width: 1025px) {
  .tab {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .tab {
    display: block !important; } }
@media screen and (max-width: 600px) {
  .tab {
    display: none !important; } }

@media screen and (min-width: 1025px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 1024px) {
  .sp {
    display: none !important; } }
@media screen and (max-width: 600px) {
  .sp {
    display: block !important; } }

#wrap {
  background-color: #F1F1F1;
  opacity: 0;
  transition: all 1s; }
  @media screen and (max-width: 600px) {
    #wrap {
      overflow: hidden; } }
  #wrap.is-show {
    opacity: 1; }
  #wrap header {
    background-color: #FFF;
    height: 70px; }
    @media screen and (max-width: 600px) {
      #wrap header {
        height: 35px; } }
    #wrap header .headerInner {
      position: relative;
      margin: 0 auto;
      width: 84.5%;
      max-width: 1600px;
      height: 100%; }
      @media screen and (max-width: 1024px) {
        #wrap header .headerInner {
          width: 100%; } }
      #wrap header .headerInner .logo {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 70px; }
        @media screen and (min-width: 1025px) {
          #wrap header .headerInner .logo {
            width: 270px; } }
        @media screen and (max-width: 1024px) {
          #wrap header .headerInner .logo {
            left: 10px; } }
        #wrap header .headerInner .logo img {
          max-width: 270px; }
          @media screen and (max-width: 600px) {
            #wrap header .headerInner .logo img {
              max-width: 135px; } }
  #wrap #conversion {
    position: fixed;
    top: 20px;
    right: 40px;
    z-index: 2;
    transition: all .5s;
    opacity: 0; }
    @media screen and (max-width: 1024px) {
      #wrap #conversion {
        right: 20px; } }
    @media screen and (max-width: 600px) {
      #wrap #conversion {
        width: 100%;
        top: auto;
        right: auto;
        left: 0;
        bottom: -60px;
        opacity: 1; } }
    #wrap #conversion.fixed {
      opacity: 1; }
      @media screen and (max-width: 600px) {
        #wrap #conversion.fixed {
          bottom: 0; } }
    #wrap #conversion a {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      border: solid 1px #3E2822;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      background-color: #3E2822;
      transition: all .5s; }
      @media screen and (max-width: 600px) {
        #wrap #conversion a {
          width: 100%;
          height: auto;
          padding: 15px 0;
          border: none;
          flex-direction: row;
          border-radius: 0; } }
      #wrap #conversion a .img {
        width: 53px;
        height: 43px;
        margin: 10px 0 0;
        background-color: #fff;
        mask-image: url("../img/mail_ico.svg");
        mask-repeat: no-repeat;
        mask-position: top center;
        mask-size: contain;
        transition: all .5s; }
        @media screen and (max-width: 600px) {
          #wrap #conversion a .img {
            display: none; } }
      #wrap #conversion a span {
        font-size: 0.8em;
        font-weight: 500;
        color: #fff;
        letter-spacing: 0.15em;
        margin: 7px 0 0;
        transition: all .5s; }
        @media screen and (max-width: 600px) {
          #wrap #conversion a span {
            font-size: 1em;
            margin: 0; } }
      @media screen and (min-width: 1025px) {
        #wrap #conversion a:hover {
          background-color: #fff; } }
      @media screen and (min-width: 1025px) {
        #wrap #conversion a:hover .img {
          background-color: #3E2822; } }
      @media screen and (min-width: 1025px) {
        #wrap #conversion a:hover span {
          color: #3E2822; } }
  #wrap #mainVisual {
    height: calc(100svh - 70px);
    background: url("../img/mainVisual.webp") no-repeat center top;
    background-size: cover;
    position: relative; }
    @media screen and (max-width: 600px) {
      #wrap #mainVisual {
        background: none;
        height: auto; } }
    #wrap #mainVisual::after {
      content: '';
      display: block;
      width: 100%;
      height: 80px;
      background: url("../img/mainVisual_bg_01.png") no-repeat center bottom;
      background-size: cover;
      position: absolute;
      bottom: -1px; }
      @media screen and (max-width: 600px) {
        #wrap #mainVisual::after {
          height: 33px;
          background: url("../img/mainVisual_bg_01_x2.png") no-repeat center bottom;
          background-size: cover; } }
  #wrap .contents {
    display: block;
    width: 56.25%;
    /*height: 2000px;*/
    margin: -480px auto 0;
    /*margin: -30% auto 0;*/
    padding: 120px 0 240px;
    background-image: linear-gradient(180deg, rgba(103, 218, 239, 0.8), rgba(232, 229, 222, 0.8) 10%);
    border-radius: 540px;
    /*box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);*/
    text-align: center;
    position: relative;
    z-index: 1;
    overflow: visible; }
    @media screen and (max-width: 1024px) {
      #wrap .contents {
        width: 90.1%; } }
    @media screen and (max-width: 600px) {
      #wrap .contents {
        margin: -40% auto 0;
        padding: 60px 0 145px; } }
    #wrap .contents section:first-of-type {
      margin: 0 0 70px; }
      @media screen and (max-width: 600px) {
        #wrap .contents section:first-of-type {
          margin: 0 0 35px; } }
      #wrap .contents section:first-of-type h1 {
        text-align: center;
        font-size: 1.75em;
        font-weight: 700;
        color: #333;
        letter-spacing: 0.04em; }
        @media screen and (max-width: 600px) {
          #wrap .contents section:first-of-type h1 {
            font-size: 0.9em; } }
        #wrap .contents section:first-of-type h1 span {
          display: block;
          margin: 15px 0;
          font-size: 1.715em;
          font-weight: 900;
          color: #3E2822; }
          @media screen and (max-width: 600px) {
            #wrap .contents section:first-of-type h1 span {
              font-size: 1.57em; } }
      #wrap .contents section:first-of-type p {
        letter-spacing: 0.05em; }
        @media screen and (max-width: 600px) {
          #wrap .contents section:first-of-type p {
            font-size: 0.875em; } }
      #wrap .contents section:first-of-type .scroll {
        margin: 80px auto 0;
        position: relative;
        opacity: 0;
        transition: all 1s .5s; }
        @media screen and (max-width: 600px) {
          #wrap .contents section:first-of-type .scroll {
            margin: 20px auto 0; } }
        #wrap .contents section:first-of-type .scroll.is-show {
          opacity: 1; }
        #wrap .contents section:first-of-type .scroll::before {
          content: '';
          position: absolute;
          top: 25px;
          left: 50%;
          transform: translateX(-50%);
          width: 6px;
          height: 6px;
          border-radius: 50%;
          background: #3E2822;
          animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite; }
        #wrap .contents section:first-of-type .scroll span {
          color: #3E2822;
          font-size: 0.625em;
          letter-spacing: 0.05em; }
      #wrap .contents section:first-of-type h2 {
        font-size: 1.75em;
        font-weight: 900;
        color: #3E2822;
        letter-spacing: 0.04em;
        margin: 60px 0 0;
        transition: all .5s; }
        @media screen and (min-width: 1025px) {
          #wrap .contents section:first-of-type h2 {
            opacity: 0;
            transform: translateY(40px); } }
        @media screen and (max-width: 600px) {
          #wrap .contents section:first-of-type h2 {
            font-size: 1.375em; } }
        @media screen and (min-width: 1025px) {
          #wrap .contents section:first-of-type h2.is-show {
            opacity: 1;
            transform: translateY(0); } }
        #wrap .contents section:first-of-type h2 span {
          display: grid;
          grid-template-columns: 1fr auto 1fr;
          gap: 0 25px;
          font-size: 1.6rem;
          font-weight: 700;
          line-height: 35px;
          margin: 0 0 15px; }
          @media screen and (max-width: 600px) {
            #wrap .contents section:first-of-type h2 span {
              gap: 0 12px;
              line-height: 17px; } }
          #wrap .contents section:first-of-type h2 span::before {
            content: '';
            display: inline-block;
            width: 20px;
            height: 35px;
            background: url("../img/left_diagonal.svg") no-repeat left top;
            justify-self: end; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:first-of-type h2 span::before {
                width: 10px;
                height: 17px; } }
          #wrap .contents section:first-of-type h2 span::after {
            content: '';
            display: inline-block;
            width: 20px;
            height: 35px;
            background: url("../img/right_diagonal.svg") no-repeat right top;
            justify-self: start; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:first-of-type h2 span::after {
                width: 10px;
                height: 17px; } }
      #wrap .contents section:first-of-type .listBlock {
        display: inline-grid;
        grid-template-columns: 1fr 107px;
        justify-content: center;
        gap: 0 30px;
        margin: 35px 0 0;
        opacity: 0;
        transform: translateY(40px);
        transition: all .5s; }
        #wrap .contents section:first-of-type .listBlock.is-show {
          transform: translateY(0);
          opacity: 1; }
        @media screen and (max-width: 600px) {
          #wrap .contents section:first-of-type .listBlock {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 30px 0; } }
        #wrap .contents section:first-of-type .listBlock ul {
          text-align: left; }
          #wrap .contents section:first-of-type .listBlock ul li {
            display: grid;
            grid-template-columns: 20px 1fr;
            align-items: center;
            gap: 0 10px;
            color: #222;
            letter-spacing: 0.05em; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:first-of-type .listBlock ul li {
                align-items: flex-start; } }
            #wrap .contents section:first-of-type .listBlock ul li:not(:last-child) {
              margin: 0 0 10px; }
            #wrap .contents section:first-of-type .listBlock ul li::before {
              content: '';
              display: inline-block;
              width: 100%;
              height: 100%;
              background: url("../img/list_ico_01.png") no-repeat left center;
              background-size: contain; }
              @media screen and (max-width: 600px) {
                #wrap .contents section:first-of-type .listBlock ul li::before {
                  background-position: left 15%; } }
        @media screen and (max-width: 600px) {
          #wrap .contents section:first-of-type .listBlock img {
            max-width: 160px; } }
    #wrap .contents section:nth-of-type(2) {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      width: 111%;
      margin: 0 0 90px -5.5%;
      background-image: linear-gradient(0deg, #f5efec, white);
      border-radius: 50%;
      opacity: 0; }
      #wrap .contents section:nth-of-type(2).is-show {
        animation-name: circle_img;
        animation-duration: 3s;
        animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
        /*animation-delay: .5s;*/
        animation-iteration-count: 1;
        animation-direction: normal;
        animation-fill-mode: forwards; }
      @media screen and (max-width: 600px) {
        #wrap .contents section:nth-of-type(2) {
          width: 147%;
          height: auto !important;
          margin: 0 0 35px -23%;
          padding: 50px 0; } }
      #wrap .contents section:nth-of-type(2) .sectionInner {
        width: 90%;
        /*margin: 0 auto;*/
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 10%; }
        @media screen and (max-width: 600px) {
          #wrap .contents section:nth-of-type(2) .sectionInner {
            width: 68%;
            padding: 0; } }
        #wrap .contents section:nth-of-type(2) .sectionInner p {
          font-size: 1.125em;
          color: #3E2822;
          letter-spacing: 0.05em;
          margin: 0 0 40px; }
          @media screen and (max-width: 1024px) {
            #wrap .contents section:nth-of-type(2) .sectionInner p {
              margin: 0 0 20px; } }
          @media screen and (max-width: 600px) {
            #wrap .contents section:nth-of-type(2) .sectionInner p {
              font-size: 0.875em;
              margin: 0 0 10px; } }
        #wrap .contents section:nth-of-type(2) .sectionInner h2 {
          font-size: 2em;
          font-weight: 900;
          color: #3E2822;
          letter-spacing: 0.05em;
          margin: 0 0 35px; }
          @media screen and (max-width: 1024px) {
            #wrap .contents section:nth-of-type(2) .sectionInner h2 {
              font-size: 1.75em; } }
          @media screen and (max-width: 600px) {
            #wrap .contents section:nth-of-type(2) .sectionInner h2 {
              font-size: 1.3125em;
              margin: 0 0 15px; } }
        #wrap .contents section:nth-of-type(2) .sectionInner dl {
          width: 100%; }
          #wrap .contents section:nth-of-type(2) .sectionInner dl dt {
            font-size: 1.125em;
            font-weight: 900;
            color: #333;
            letter-spacing: 0.05em;
            margin: 0 0 20px; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:nth-of-type(2) .sectionInner dl dt {
                font-size: 0.75em; } }
          #wrap .contents section:nth-of-type(2) .sectionInner dl dd img {
            max-width: 680px; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:nth-of-type(2) .sectionInner dl dd img {
                max-width: 90%; } }
          #wrap .contents section:nth-of-type(2) .sectionInner dl dd.caption {
            text-align: left;
            font-size: 0.75em;
            color: #666;
            margin: 10px 0 0 20px; }
    #wrap .contents section:nth-of-type(3) {
      width: 100vw;
      margin: 0 0 100px -39%; }
      @media screen and (max-width: 1024px) {
        #wrap .contents section:nth-of-type(3) {
          margin: 0 0 100px -5.5%; } }
      @media screen and (max-width: 600px) {
        #wrap .contents section:nth-of-type(3) {
          margin: 0 0 40px -5.5%; } }
      @media screen and (max-width: 1024px) {
        #wrap .contents section:nth-of-type(3) .sectionInner {
          width: 90.1%;
          margin: 0 auto; } }
      #wrap .contents section:nth-of-type(3) .sectionInner h2 {
        font-size: 2.25em;
        font-weight: 900;
        color: #3E2822;
        letter-spacing: 0.04em;
        margin: 0 0 30px;
        opacity: 0;
        transform: translateY(40px);
        transition: all .5s; }
        #wrap .contents section:nth-of-type(3) .sectionInner h2.is-show {
          opacity: 1;
          transform: translateY(0); }
        @media screen and (max-width: 1024px) {
          #wrap .contents section:nth-of-type(3) .sectionInner h2 {
            font-size: 1.75em; } }
        @media screen and (max-width: 600px) {
          #wrap .contents section:nth-of-type(3) .sectionInner h2 {
            font-size: 1.375em; } }
        #wrap .contents section:nth-of-type(3) .sectionInner h2 span {
          display: grid;
          grid-template-columns: 1fr auto 1fr;
          gap: 0 25px;
          font-size: 1.6rem;
          font-weight: 700;
          line-height: 35px; }
          @media screen and (max-width: 600px) {
            #wrap .contents section:nth-of-type(3) .sectionInner h2 span {
              gap: 0 12px;
              line-height: 17px;
              margin: 0 0 15px; } }
          #wrap .contents section:nth-of-type(3) .sectionInner h2 span::before {
            content: '';
            display: inline-block;
            width: 20px;
            height: 35px;
            background: url("../img/left_diagonal.svg") no-repeat left top;
            justify-self: end; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:nth-of-type(3) .sectionInner h2 span::before {
                width: 10px;
                height: 17px; } }
          #wrap .contents section:nth-of-type(3) .sectionInner h2 span::after {
            content: '';
            display: inline-block;
            width: 20px;
            height: 35px;
            background: url("../img/right_diagonal.svg") no-repeat right top;
            justify-self: start; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:nth-of-type(3) .sectionInner h2 span::after {
                width: 10px;
                height: 17px; } }
        #wrap .contents section:nth-of-type(3) .sectionInner h2 small {
          font-size: 0.67em; }
      #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll {
        margin: 0 0 20px;
        text-align: center; }
        @media screen and (min-width: 1025px) {
          #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll {
            display: none; } }
        @media screen and (max-width: 1024px) {
          #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll {
            display: none; } }
        @media screen and (max-width: 600px) {
          #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll {
            display: block; } }
        #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll .swipe {
          display: flex;
          justify-content: center;
          gap: 0 12px;
          margin: 10px 0 0; }
          #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll .swipe span {
            width: 6px;
            height: 6px;
            background-color: #999;
            border-radius: 50%; }
            #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll .swipe span:first-child {
              animation: ball-1 1.2s ease-in-out infinite; }
            #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll .swipe span:nth-child(2) {
              animation: ball-2 1.2s ease-in-out infinite; }
            #wrap .contents section:nth-of-type(3) .sectionInner .w_scroll .swipe span:last-child {
              animation: ball-3 1.2s ease-in-out infinite; }
      #wrap .contents section:nth-of-type(3) .sliderWrap .slider .slide-arrow {
        max-width: 80px;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        cursor: pointer;
        z-index: 1; }
        #wrap .contents section:nth-of-type(3) .sliderWrap .slider .slide-arrow.prev-arrow {
          left: 22.7vw; }
          @media screen and (max-width: 1024px) {
            #wrap .contents section:nth-of-type(3) .sliderWrap .slider .slide-arrow.prev-arrow {
              left: 0; } }
          @media screen and (max-width: 600px) {
            #wrap .contents section:nth-of-type(3) .sliderWrap .slider .slide-arrow.prev-arrow {
              display: none !important;
              width: 60px; } }
        #wrap .contents section:nth-of-type(3) .sliderWrap .slider .slide-arrow.next-arrow {
          right: 22.7vw; }
          @media screen and (max-width: 1024px) {
            #wrap .contents section:nth-of-type(3) .sliderWrap .slider .slide-arrow.next-arrow {
              right: 0; } }
          @media screen and (max-width: 600px) {
            #wrap .contents section:nth-of-type(3) .sliderWrap .slider .slide-arrow.next-arrow {
              display: none !important;
              width: 60px; } }
      #wrap .contents section:nth-of-type(3) .sliderWrap .slider li {
        padding: 0 20px; }
        @media screen and (max-width: 1024px) {
          #wrap .contents section:nth-of-type(3) .sliderWrap .slider li {
            padding: 0; } }
        #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content {
          width: 100%;
          background-image: linear-gradient(0deg, #fdfbfb, #f5efec);
          border-radius: 475px 475px 0 0;
          padding: 40px 0 70px; }
          @media screen and (max-width: 600px) {
            #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content {
              padding: 40px 30px 30px; } }
          #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content .num {
            font-size: 6.25em;
            font-weight: 100;
            color: #CAA696;
            letter-spacing: 0.05em;
            line-height: 160px; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content .num {
                font-size: 3.125em;
                line-height: 90px; } }
          #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dt {
            font-size: 1.5em;
            font-weight: 900;
            color: #3E2822;
            letter-spacing: 0.03em;
            line-height: 48px;
            margin: 0 0 25px; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dt {
                font-size: 1.3125em;
                line-height: 28px;
                margin: 0 0 10px; } }
          #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd {
            font-weight: 400;
            line-height: 1.875; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd {
                text-align: left;
                line-height: 1.5; } }
            #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd .imgBlock {
              margin: 50px 0 0; }
              @media screen and (max-width: 600px) {
                #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd .imgBlock {
                  margin: 30px 0 0; } }
              #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd .imgBlock img {
                width: 100%;
                max-width: 480px;
                display: inline-block; }
              #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd .imgBlock dl dt {
                font-size: 1.125em;
                font-weight: 900;
                letter-spacing: 0.05em;
                margin: 0 0 30px; }
                @media screen and (max-width: 600px) {
                  #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd .imgBlock dl dt {
                    font-size: 0.75em;
                    text-align: center;
                    margin: 0 0 10px; } }
              #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd .imgBlock dl dd {
                text-align: center; }
                #wrap .contents section:nth-of-type(3) .sliderWrap .slider li .content dl dd .imgBlock dl dd.caption {
                  width: 100%;
                  max-width: 480px;
                  display: inline-block;
                  text-align: left;
                  font-size: 0.75em;
                  margin: 20px 0 0; }
      @media screen and (max-width: 1024px) {
        #wrap .contents section:nth-of-type(3) .sliderWrap .slider .slick-list {
          padding: 0 !important; } }
    @media screen and (max-width: 600px) {
      #wrap .contents section:last-of-type .sectionInner {
        padding: 0 10px; } }
    #wrap .contents section:last-of-type .sectionInner .fade {
      opacity: 0;
      transform: translateY(40px);
      transition: all .5s; }
      #wrap .contents section:last-of-type .sectionInner .fade.is-show {
        opacity: 1;
        transform: translateY(0); }
      #wrap .contents section:last-of-type .sectionInner .fade h2 {
        display: flex;
        flex-direction: column;
        align-items: center;
        font-size: 2.25em;
        font-weight: 900;
        color: #3E2822;
        letter-spacing: 0.04em;
        margin: 0 0 10px; }
        @media screen and (max-width: 1024px) {
          #wrap .contents section:last-of-type .sectionInner .fade h2 {
            font-size: 1.75em; } }
        @media screen and (max-width: 600px) {
          #wrap .contents section:last-of-type .sectionInner .fade h2 {
            font-size: 1.375em; } }
        #wrap .contents section:last-of-type .sectionInner .fade h2 .ico {
          display: inline-block;
          width: 41px;
          height: 64px;
          background: url("../img/beginner.svg") no-repeat top center;
          background-size: cover;
          margin: 0 0 10px; }
          @media screen and (max-width: 600px) {
            #wrap .contents section:last-of-type .sectionInner .fade h2 .ico {
              width: 28px;
              height: 43px; } }
      #wrap .contents section:last-of-type .sectionInner .fade p {
        letter-spacing: 0.05em;
        line-height: 1.75; }
        @media screen and (max-width: 600px) {
          #wrap .contents section:last-of-type .sectionInner .fade p {
            text-align: left; } }
    #wrap .contents section:last-of-type .sectionInner .support {
      display: flex;
      flex-direction: column;
      align-items: center;
      width: 53%;
      margin: 30px auto 0;
      opacity: 0;
      transform: translateY(40px);
      transition: all .5s; }
      @media screen and (max-width: 1024px) {
        #wrap .contents section:last-of-type .sectionInner .support {
          width: 65%; } }
      @media screen and (max-width: 600px) {
        #wrap .contents section:last-of-type .sectionInner .support {
          width: 100%; } }
      #wrap .contents section:last-of-type .sectionInner .support.is-show {
        opacity: 1;
        transform: translateY(0); }
      #wrap .contents section:last-of-type .sectionInner .support .lead {
        margin: 20px 0 0;
        text-align: left;
        line-height: 1.75; }
      #wrap .contents section:last-of-type .sectionInner .support .btn {
        width: 100%;
        border: solid 1px #3E2822;
        margin: 40px 0 0; }
        @media screen and (max-width: 600px) {
          #wrap .contents section:last-of-type .sectionInner .support .btn {
            margin: 20px 0 0; } }
        #wrap .contents section:last-of-type .sectionInner .support .btn a {
          display: grid;
          grid-template-columns: 1fr 18px;
          align-items: center;
          line-height: 60px;
          padding: 0 20px 0 38px;
          font-size: 1.125em;
          font-weight: 600;
          transition: all .5s; }
          @media screen and (max-width: 600px) {
            #wrap .contents section:last-of-type .sectionInner .support .btn a {
              font-size: 0.875em;
              line-height: 40px; } }
          #wrap .contents section:last-of-type .sectionInner .support .btn a .blank_ico {
            width: 18px;
            height: 18px;
            background-color: #3E2822;
            mask-image: url("../img/blank_black.svg");
            mask-repeat: no-repeat;
            mask-position: top center;
            mask-size: contain;
            transition: all .5s; }
            @media screen and (max-width: 600px) {
              #wrap .contents section:last-of-type .sectionInner .support .btn a .blank_ico {
                width: 12px;
                height: 12px;
                font-size: 0.875em;
                line-height: 40px; } }
          @media screen and (min-width: 1025px) {
            #wrap .contents section:last-of-type .sectionInner .support .btn a:hover {
              background-color: #3E2822;
              color: #fff; }
              #wrap .contents section:last-of-type .sectionInner .support .btn a:hover .blank_ico {
                background-color: #fff; } }
  #wrap #official {
    display: block;
    width: 100%;
    min-height: 1000px;
    position: relative;
    background: url("../img/official.webp") no-repeat center center;
    background-size: cover;
    margin: -270px 0 0; }
    @media screen and (max-width: 600px) {
      #wrap #official {
        min-height: 500px;
        background: url("../img/official_x2.webp") no-repeat center bottom;
        background-size: contain;
        margin: -55px 0 0; } }
    #wrap #official::before {
      content: '';
      display: block;
      width: 100%;
      height: 79px;
      background: url("../img/official_bg_01.png") no-repeat left top;
      background-size: cover;
      position: absolute;
      top: 0; }
    #wrap #official section {
      width: 37.5%;
      height: 457px;
      background-color: rgba(224, 223, 223, 0.8);
      border-radius: 370px 370px 0 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      bottom: 0;
      opacity: 0;
      transition: all .5s; }
      #wrap #official section.is-show {
        opacity: 1; }
      @media screen and (max-width: 1024px) {
        #wrap #official section {
          width: 80%; } }
      @media screen and (max-width: 600px) {
        #wrap #official section {
          height: auto;
          padding: 50px 0 0;
          justify-content: flex-end; } }
      #wrap #official section .logo {
        text-align: center;
        margin: 0 0 27px; }
        #wrap #official section .logo img {
          width: 100%;
          max-width: 320px; }
          @media screen and (max-width: 600px) {
            #wrap #official section .logo img {
              max-width: 160px; } }
      #wrap #official section p {
        font-size: 1.5em;
        font-weight: 900;
        color: #333;
        letter-spacing: 0.05em;
        line-height: 1.5;
        text-align: center;
        margin: 0 0 28px; }
        @media screen and (max-width: 600px) {
          #wrap #official section p {
            font-size: 0.875em;
            margin: 0 0 19px; } }
      #wrap #official section .btn {
        width: 100%;
        /*max-width: 360px;*/ }
        @media screen and (max-width: 600px) {
          #wrap #official section .btn {
            max-width: 260px;
            margin: 0 0 19px; } }
        #wrap #official section .btn a {
          display: grid;
          grid-template-columns: 1fr 25px;
          justify-items: center;
          align-items: center;
          line-height: 70px;
          padding: 0 30px 0 38px;
          font-size: 1.125em;
          font-weight: 700;
          color: #fff;
          letter-spacing: 0.05em;
          background-color: #1A1A1A;
          border: solid 1px #1A1A1A;
          border-radius: 35px;
          transition: all .5s; }
          @media screen and (max-width: 600px) {
            #wrap #official section .btn a {
              font-size: 0.875em;
              line-height: 40px;
              padding: 0 20px 0 32px; } }
          #wrap #official section .btn a .blank_ico {
            width: 18px;
            height: 18px;
            /*background: url("../img/blank_white.svg") no-repeat top center;*/
            background-color: #fff;
            mask-image: url("../img/blank_white.svg");
            mask-repeat: no-repeat;
            mask-position: top center;
            mask-size: contain;
            transition: all .5s; }
            @media screen and (max-width: 600px) {
              #wrap #official section .btn a .blank_ico {
                width: 12px;
                height: 12px; } }
          @media screen and (min-width: 1025px) {
            #wrap #official section .btn a:hover {
              background-color: #fff;
              color: #1A1A1A; } }
          @media screen and (min-width: 1025px) {
            #wrap #official section .btn a:hover .blank_ico {
              background-color: #1A1A1A; } }
  #wrap #action {
    display: block;
    position: relative;
    background: url("../img/action_bg_01.png") no-repeat center center;
    background-size: cover;
    padding: 90px 0 70px; }
    @media screen and (max-width: 600px) {
      #wrap #action {
        background: url("../img/action_bg_01_x2.png") no-repeat top left;
        background-size: cover;
        padding: 35px 0 40px; } }
    #wrap #action section {
      text-align: center; }
      #wrap #action section .ico {
        margin-bottom: 30px; }
        #wrap #action section .ico img {
          max-width: 320px;
          vertical-align: bottom; }
      #wrap #action section .column {
        display: grid;
        /*grid-template-columns: auto;*/
        grid-template-columns: minmax(auto, 420px) minmax(auto, 420px);
        gap: 90px 180px;
        justify-content: center;
        align-items: center; }
        @media screen and (max-width: 600px) {
          #wrap #action section .column {
            grid-template-columns: auto;
            gap: 0; } }
      #wrap #action section .irregular {
        color: #fff;
        margin: 40px 0; }
        @media screen and (max-width: 600px) {
          #wrap #action section .irregular {
            margin: 0 0 20px;
            font-size: 0.8125em; } }
      #wrap #action section .title {
        font-size: 1.75em;
        font-weight: 900;
        color: #fff;
        letter-spacing: 0.1em;
        line-height: 1.428;
        margin: 0 0 45px; }
        @media screen and (max-width: 600px) {
          #wrap #action section .title {
            /*font-size: 1.375em;*/
            font-size: 1.25em;
            margin: 0 0 15px; } }
        #wrap #action section .title span {
          display: block;
          font-size: 0.85em; }
      #wrap #action section .place, #wrap #action section .date {
        font-size: 1em;
        font-weight: 500;
        color: #fff;
        letter-spacing: 0.1em;
        margin: 0 0 5px; }
      #wrap #action section .holiday {
        font-size: 1em;
        font-weight: 500;
        color: #fff;
        letter-spacing: 0.1em;
        margin: 0 0 40px; }
        @media screen and (max-width: 600px) {
          #wrap #action section .holiday {
            margin: 0 0 20px; } }
      #wrap #action section .btn {
        width: 100%;
        max-width: 360px;
        margin: 30px auto; }
        @media screen and (max-width: 600px) {
          #wrap #action section .btn {
            max-width: 260px; } }
        #wrap #action section .btn a {
          display: block;
          line-height: 70px;
          font-size: 1.125em;
          font-weight: 700;
          color: #fff;
          letter-spacing: 0.05em;
          background-color: #1A1A1A;
          border: solid 1px #1A1A1A;
          border-radius: 35px;
          transition: all .5s; }
          @media screen and (max-width: 600px) {
            #wrap #action section .btn a {
              line-height: 40px;
              font-size: 0.875em; } }
          @media screen and (min-width: 1025px) {
            #wrap #action section .btn a:hover {
              background-color: #fff;
              color: #1A1A1A; } }
        #wrap #action section .btn.end {
          display: block;
          line-height: 70px;
          font-size: 1.125em;
          font-weight: 700;
          color: #fff;
          letter-spacing: 0.05em;
          background-color: #6e6e6e;
          border-radius: 35px;
          transition: all .5s; }
          @media screen and (max-width: 600px) {
            #wrap #action section .btn.end {
              line-height: 40px;
              font-size: 0.875em; } }
      #wrap #action section .caution {
        font-size: 1em;
        font-weight: 500;
        color: #fff;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 1024px) {
          #wrap #action section .caution {
            display: inline-block;
            text-align: left;
            text-indent: -1em;
            padding-left: 1em; } }
        @media screen and (max-width: 600px) {
          #wrap #action section .caution {
            font-size: 0.8125em; } }
      #wrap #action section #holiday {
        margin: 0 0 60px; }
        #wrap #action section #holiday dl dt, #wrap #action section #holiday dl dd {
          color: #fff; }
  #wrap #infor {
    display: block;
    position: relative; }
    #wrap #infor section {
      padding: 85px 0 20px;
      text-align: center; }
      @media screen and (max-width: 600px) {
        #wrap #infor section {
          padding: 40px 0 20px; } }
      #wrap #infor section .time {
        margin: 0 0 40px; }
        @media screen and (max-width: 600px) {
          #wrap #infor section .time {
            margin: 0 0 30px; } }
        #wrap #infor section .time dl dt {
          font-size: 1.125em;
          font-weight: 500;
          letter-spacing: 0.1em;
          line-height: 1.7;
          color: #000; }
          @media screen and (max-width: 600px) {
            #wrap #infor section .time dl dt {
              font-size: 1em; } }
        #wrap #infor section .time dl dd {
          font-size: 1.125em;
          font-weight: 500;
          letter-spacing: 0.1em;
          line-height: 1.7;
          color: #000; }
          @media screen and (max-width: 600px) {
            #wrap #infor section .time dl dd {
              font-size: 1em; } }
      #wrap #infor section .information dl dt {
        font-size: 1.125em;
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 1.7;
        color: #000; }
        @media screen and (max-width: 600px) {
          #wrap #infor section .information dl dt {
            font-size: 1em;
            margin: 0 0 15px; } }
      #wrap #infor section .information dl dd {
        font-size: 1.125em;
        font-weight: 500;
        letter-spacing: 0.1em;
        line-height: 1.7;
        color: #000; }
        @media screen and (max-width: 600px) {
          #wrap #infor section .information dl dd {
            font-size: 1em; } }
        #wrap #infor section .information dl dd.tel a {
          pointer-events: none;
          text-decoration: underline; }
          @media screen and (max-width: 600px) {
            #wrap #infor section .information dl dd.tel a {
              pointer-events: auto; } }
        #wrap #infor section .information dl dd.mail a {
          text-decoration: underline; }
      #wrap #infor section .company {
        margin: 90px 0 0; }
        @media screen and (max-width: 600px) {
          #wrap #infor section .company {
            margin: 40px 0 0; } }
        #wrap #infor section .company dl dt {
          font-size: 1em;
          font-weight: 700;
          color: #1E1E1E;
          letter-spacing: 0.1em;
          line-height: 2; }
          @media screen and (max-width: 600px) {
            #wrap #infor section .company dl dt {
              font-weight: 500; } }
        #wrap #infor section .company dl dd.logo img {
          width: 100%;
          max-width: 250px; }
      #wrap #infor section .notice {
        width: 75%;
        margin: 60px auto 0;
        padding: 10px;
        border: solid 1px #333;
        text-align: left; }
        @media screen and (max-width: 1024px) {
          #wrap #infor section .notice {
            width: calc(100% - 20px); } }
        #wrap #infor section .notice ul li {
          text-indent: -1em;
          padding-left: 1em;
          font-size: 0.75em;
          font-weight: 700;
          line-height: 1.9; }
  @media screen and (max-width: 600px) {
    #wrap footer {
      padding: 0 10px 70px; } }
  #wrap footer .linkBlock ul {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    align-items: center;
    gap: 0 25px; }
    #wrap footer .linkBlock ul li a {
      display: grid;
      grid-template-columns: auto 15px;
      gap: 0 5px;
      font-size: 0.75em;
      font-weight: 700;
      line-height: 1.9;
      color: #1A1A1A; }
      #wrap footer .linkBlock ul li a span.blank_ico {
        width: 15px;
        height: auto;
        background: url("../img/ico_blank.svg") no-repeat center center;
        background-size: contain; }
  #wrap footer .copy {
    margin: 25px 0 0;
    text-align: center; }
    #wrap footer .copy p {
      font-size: 0.75em;
      font-weight: 700;
      line-height: 1.9;
      color: #1A1A1A; }

@keyframes circlemove {
  0% {
    top: 25px; }
  100% {
    top: 50px; } }
@keyframes cirlemovehide {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  80% {
    opacity: 0.9; }
  100% {
    opacity: 0; } }
@keyframes circle_img {
  0% {
    opacity: 1;
    clip-path: circle(0 at 50% 50%); }
  100% {
    opacity: 1;
    clip-path: circle(100% at 50% 50%); } }
@keyframes ball-1 {
  0%,100% {
    background-color: rgba(153, 153, 153, 0.25); }
  25% {
    background-color: #999; }
  50% {
    background-color: rgba(153, 153, 153, 0.25); }
  75% {
    background-color: rgba(153, 153, 153, 0.25); } }
@keyframes ball-2 {
  0%,100% {
    background-color: rgba(153, 153, 153, 0.25); }
  25% {
    background-color: rgba(153, 153, 153, 0.25); }
  50% {
    background-color: #999; }
  75% {
    background-color: rgba(153, 153, 153, 0.25); } }
@keyframes ball-3 {
  0%,100% {
    background-color: rgba(153, 153, 153, 0.25); }
  25% {
    background-color: rgba(153, 153, 153, 0.25); }
  50% {
    background-color: rgba(153, 153, 153, 0.25); }
  75% {
    background-color: #999; } }
