@charset "UTF-8";
html {
  font-size: 62.5%;
  /* 16px * 62.5% = 10px */
  width: 100%; }
  html body {
    box-sizing: border-box;
    /*後ほど調べる*/
    background: #FFFBF2;
    padding: 0;
    margin: 0;
    font-family: "source-han-sans-japanese", "serenity", sans-serif, "a-otf-ryumin-pr6n", "canto-pen", "canto-brush", "canto", serif;
    font-size: 1.6em;
    font-weight: 300;
    line-height: 2.0;
    text-align: left;
    color: #333;
    font-feature-settings: "palt";
    background-repeat: repeat;
    letter-spacing: 0.2rem;
    position: relative; }
    @media screen and (max-width: 800px) {
      html body {
        font-size: 1.4rem; } }
    html body p {
      font-family: "source-han-sans-japanese",sans-serif;
      line-height: 2.0; }
    html body * {
      box-sizing: border-box; }
    html body .navpc {
      font-family: "serenity",sans-serif;
      background: #333333;
      color: #fff;
      z-index: 30;
      position: fixed;
      top: 0;
      left: 0;
      width: 62px;
      height: 100vh; }
      html body .navpc .nav_menu {
        transform: rotate(90deg);
        /* 2D(平面)で回転 */
        list-style: none;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        padding: 10px 0 10px 70px; }
        html body .navpc .nav_menu li {
          padding-right: 40px;
          flex-shrink: 0; }
          html body .navpc .nav_menu li a {
            text-decoration: none;
            color: #fff; }
        html body .navpc .nav_menu .Copyright {
          font-family: "canto-pen",serif;
          font-size: 1.0rem; }
    html body .mb_nav-openbtn, html body #g-nav-list {
      display: none; }
    @media screen and (max-width: 1050px) {
      html body {
        /*ナビゲーションの縦スクロール*/
        /*activeクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/ }
        html body .navpc {
          display: none; }
        html body #g-navmb.panelactive {
          top: 0; }
        html body #g-navmb.panelactive #g-nav-list {
          display: block;
          /*ナビの数が増えた場合縦スクロール*/
          position: fixed;
          z-index: 20;
          width: 100%;
          height: 100vh;
          /*表示する高さ*/
          overflow: auto;
          -webkit-overflow-scrolling: touch; }
        html body #g-navmb {
          /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
          position: fixed;
          z-index: 20;
          /*ナビのスタート位置と形状*/
          top: -120%;
          left: 0;
          width: 100%;
          height: 100vh;
          /*ナビの高さ*/
          background-image: url("../assets/img/mb_menu_bg.jpg");
          background-repeat: no-repeat;
          background-size: cover;
          /*動き*/
          transition: all 0.6s;
          /*アクティブクラスがついたら位置を0に*/ }
          html body #g-navmb .panelactive {
            top: 0; }
          html body #g-navmb #g-nav-list {
            /*ナビの数が増えた場合縦スクロール*/
            position: fixed;
            z-index: 20;
            width: 100%;
            height: 100vh;
            /*表示する高さ*/
            padding: 40px 70px;
            overflow: auto;
            -webkit-overflow-scrolling: touch; } }
      @media screen and (max-width: 1050px) and (max-width: 500px) {
        html body #g-navmb #g-nav-list {
          padding: 24px; } }
    @media screen and (max-width: 1050px) {
            html body #g-navmb #g-nav-list .mb-nav__wrapper {
              display: flex;
              width: 100%;
              align-items: center;
              justify-content: space-between;
              margin-bottom: 30px; }
              html body #g-navmb #g-nav-list .mb-nav__wrapper .mb-nav_content {
                text-align: center; }
                html body #g-navmb #g-nav-list .mb-nav__wrapper .mb-nav_content img {
                  object-fit: contain;
                  width: 70%; } }
          @media screen and (max-width: 1050px) and (max-width: 600px) {
            html body #g-navmb #g-nav-list .mb-nav__wrapper .mb-nav_content {
              width: 100%; } }
    @media screen and (max-width: 1050px) {
              html body #g-navmb #g-nav-list .mb-nav__wrapper .img img {
                width: 50%; } }
          @media screen and (max-width: 1050px) and (max-width: 600px) {
            html body #g-navmb #g-nav-list .mb-nav__wrapper .img img {
              width: 70%; } }
    @media screen and (max-width: 1050px) {
            html body #g-navmb #g-nav-list ul {
              /*ナビゲーション天地中央揃え*/
              padding: 100px 70px;
              background-color: rgba(255, 255, 255, 0.3);
              border-radius: 100px;
              margin: 0 auto;
              z-index: 20;
              width: 100%;
              /*リストのレイアウト設定*/ }
              html body #g-navmb #g-nav-list ul li {
                list-style: none;
                text-align: center; }
                html body #g-navmb #g-nav-list ul li a {
                  color: #333;
                  text-decoration: none;
                  font-family: "a-otf-ryumin-pr6n",serif;
                  font-size: 1.6rem;
                  padding: 10px;
                  display: block;
                  letter-spacing: 0.1em; }
              html body #g-navmb #g-nav-list ul .mb-nav_sns a {
                display: inline-block;
                padding: 10px 0; }
                html body #g-navmb #g-nav-list ul .mb-nav_sns a .x-icon {
                  margin-right: 20px; }
                html body #g-navmb #g-nav-list ul .mb-nav_sns a img {
                  width: 30px;
                  display: inline-block; }
            html body #g-navmb #g-nav-list small {
              font-family: "canto-pen",serif;
              margin: 100px auto 0;
              text-align: center;
              display: block; } }
        @media screen and (max-width: 1050px) and (max-width: 500px) {
          html body #g-navmb #g-nav-list small {
            margin: 120px auto 0; } }
    @media screen and (max-width: 1050px) {
        html body .mb_nav-openbtn {
          position: fixed;
          top: 20px;
          right: 20px;
          z-index: 30;
          display: block;
          cursor: pointer;
          width: 50px;
          height: 50px;
          border-radius: 5px; }
          html body .mb_nav-openbtn span {
            display: inline-block;
            transition: all .4s;
            /*アニメーションの設定*/
            position: absolute; }
            html body .mb_nav-openbtn span:nth-of-type(1) {
              height: 2px;
              background: #333;
              width: 62%;
              top: 13px;
              left: 10px; }
            html body .mb_nav-openbtn span:nth-of-type(2) {
              top: 20px;
              left: 14px;
              font-size: 0.6rem;
              text-transform: uppercase;
              color: #333; }
            html body .mb_nav-openbtn span:nth-of-type(3) {
              height: 2px;
              background: #333;
              width: 62%;
              top: 36px;
              left: 10px; }
        html body .mb_nav-openbtn.active {
          z-index: 30; }
          html body .mb_nav-openbtn.active span:nth-of-type(1) {
            top: 18px;
            left: 18px;
            transform: translateY(6px) rotate(-45deg);
            width: 30%; }
          html body .mb_nav-openbtn.active span:nth-of-type(2) {
            opacity: 0; }
          html body .mb_nav-openbtn.active span:nth-of-type(3) {
            top: 30px;
            left: 18px;
            transform: translateY(-6px) rotate(45deg);
            width: 30%; } }
    html body section {
      background: #FFFBF2;
      margin: 0 auto;
      padding: 70px 70px 70px 100px;
      height: 100vh;
      position: relative; }
      @media screen and (max-width: 1050px) {
        html body section {
          padding: 70px; } }
      @media screen and (max-width: 600px) {
        html body section {
          padding: 60px 24px; } }
      html body section .contents, html body section .strengths-wrapper {
        max-width: 1440px;
        margin: 0 auto; }
        html body section .contents .blur, html body section .strengths-wrapper .blur {
          transition: all 1.0s;
          filter: blur(20px); }
          html body section .contents .blur.scrollin, html body section .strengths-wrapper .blur.scrollin {
            filter: blur(0); }
        html body section .contents .category-title, html body section .strengths-wrapper .category-title {
          display: flex;
          align-items: flex-start;
          margin-bottom: 40px; }
          html body section .contents .category-title img, html body section .strengths-wrapper .category-title img {
            height: 24px; }
          html body section .contents .category-title h4, html body section .strengths-wrapper .category-title h4 {
            font-family: "canto-pen",serif;
            font-size: 2.0rem;
            font-weight: 300;
            padding-left: 10px; }
      html body section .scroll_up {
        transition: 1.0s ease-in-out;
        transform: translateY(30px);
        opacity: 0; }
        html body section .scroll_up.on {
          transform: translateY(0);
          opacity: 1.0; }
      html body section .scroll_down {
        transition: 0.8s ease-in-out;
        transform: translateY(-30px);
        opacity: 0; }
        html body section .scroll_down.on {
          transform: translateY(0);
          opacity: 1.0; }
      html body section .scroll_left {
        -webkit-transition: 0.8s ease-in-out;
        -moz-transition: 0.8s ease-in-out;
        -o-transition: 0.8s ease-in-out;
        transition: 0.8s ease-in-out;
        transform: translateX(-30px);
        opacity: 0;
        filter: alpha(opacity=0);
        -moz-opacity: 0; }
        html body section .scroll_left.on {
          opacity: 1.0;
          filter: alpha(opacity=100);
          -moz-opacity: 1.0;
          transform: translateX(0); }
      html body section .scroll_right {
        -webkit-transition: 0.8s ease-in-out;
        -moz-transition: 0.8s ease-in-out;
        -o-transition: 0.8s ease-in-out;
        transition: 0.8s ease-in-out;
        transform: translateX(30px);
        opacity: 0;
        filter: alpha(opacity=0);
        -moz-opacity: 0; }
        html body section .scroll_right.on {
          opacity: 1.0;
          filter: alpha(opacity=100);
          -moz-opacity: 1.0;
          transform: translateX(0); }
    html body #footer {
      height: auto;
      color: #DDE0E0;
      background: #FFFBF2;
      font-family: "canto-pen",serif;
      padding: 200px 100px 60px;
      background-image: url("../assets/img/mb_footer_bg.png");
      background-repeat: no-repeat;
      background-size: cover; }
      @media screen and (max-width: 800px) {
        html body #footer {
          padding: 100px 70px 40px; } }
      @media screen and (max-width: 600px) {
        html body #footer {
          padding: 60px 24px 40px; } }
      html body #footer .rogo_wrapper {
        font-weight: 100;
        margin-bottom: 10px; }
        html body #footer .rogo_wrapper .rogo {
          width: 50%;
          display: inline-block; }
        html body #footer .rogo_wrapper span {
          font-size: 1.6rem;
          margin-left: 20px; }
      html body #footer p {
        font-family: "canto-pen",serif;
        font-size: 2.0rem;
        font-weight: 100;
        margin-bottom: 30px; }
        @media screen and (max-width: 600px) {
          html body #footer p {
            font-size: 1.6rem; } }
      html body #footer .contact__button {
        width: 100%; }
        html body #footer .contact__button .button-link {
          display: block;
          text-align: center;
          text-decoration: none;
          color: #DDE0E0;
          transition: .3s;
          margin-bottom: 30px;
          border-radius: 40px; }
          html body #footer .contact__button .button-link .button-text {
            font-size: 3.4rem; }
        html body #footer .contact__button .bg-extend-left {
          padding: 10px;
          border: 2px solid #DDE0E0;
          color: #DDE0E0;
          overflow: hidden;
          position: relative;
          z-index: 1; }
          html body #footer .contact__button .bg-extend-left:before {
            content: '';
            width: 100%;
            height: 100%;
            background-color: #333;
            position: absolute;
            left: -100%;
            top: 0;
            transition: .4s;
            z-index: -1; }
        html body #footer .contact__button .bg-extend-left:hover::before {
          left: 0; }
      html body #footer small {
        display: block;
        text-align: center; }
