@-webkit-keyframes scrollIcon {
  0% {
    height: 0px;
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  30% {
    height: 500px;
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  60% {
    height: 500px;
    -webkit-transform: translate3d(0, 500px, 0);
    transform: translate3d(0, 500px, 0); }
  100% {
    height: 0px;
    -webkit-transform: translate3d(0, 500px, 0);
    transform: translate3d(0, 500px, 0); } }

@keyframes scrollIcon {
  0% {
    height: 0px;
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  30% {
    height: 500px;
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  60% {
    height: 500px;
    -webkit-transform: translate3d(0, 500px, 0);
    transform: translate3d(0, 500px, 0); }
  100% {
    height: 0px;
    -webkit-transform: translate3d(0, 500px, 0);
    transform: translate3d(0, 500px, 0); } }

@media screen and (max-width: 768px) {
  .header {
    opacity: 1; }
  .keyBlock .inner {
    position: relative;
    margin: 0 auto;
    padding: 20px 4% 40px; }
    .keyBlock .inner .vertical {
      -webkit-writing-mode: vertical-rl;
      -moz-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      -ms-text-orientation: upright;
      -webkit-text-orientation: upright;
      text-orientation: upright;
      color: #FFF;
      font-size: 12px;
      font-weight: bold;
      line-height: 2.2;
      letter-spacing: .2em;
      display: block;
      margin: 0 0 30px -10px;
      position: relative;
      top: 20px;
      transition-duration: 1.5s;
      opacity: 0; }
    .keyBlock .inner h3 {
      margin: 0 0 20px;
      position: relative;
      top: 20px;
      transition-delay: .5s;
      transition-duration: 1.5s;
      opacity: 0; }
      .keyBlock .inner h3 .ruby {
        display: block;
        width: 114px;
        height: 10px;
        margin: 0 0 10px; }
        .keyBlock .inner h3 .ruby img {
          display: block;
          height: auto;
          width: 100%; }
      .keyBlock .inner h3 .txt {
        color: #FFF;
        font-size: 14px;
        font-weight: bold;
        line-height: 1.2;
        letter-spacing: .04em; }
    .keyBlock .inner h2 {
      color: #FFF;
      font-size: 16px;
      font-weight: bold;
      line-height: 1.6;
      letter-spacing: .04em;
      position: relative;
      top: 20px;
      transition-delay: 1s;
      transition-duration: 1.5s;
      opacity: 0; }
    .keyBlock .inner .readTxt {
      margin: 15px 0 0 0px;
      font-size: 12px;
      line-height: 1.8;
      color: #fff; }
  .keyBlock--01 {
    background: url(/assets/img/special/01/bg_key_special_01.jpg) no-repeat center center;
    background-size: cover; }
  .keyBlock--02 {
    background: url(/assets/img/special/crosstalk/01/bg_key_crosstalk_01_sp.jpg) no-repeat center center;
    background-size: cover; }
  .keyBlock--03 {
    background: url(/assets/img/special/crosstalk/02/bg_key_crosstalk_02_sp.jpg) no-repeat center center;
    background-size: cover; }
  .keyBlock--04 {
    background: url(/assets/img/special/02/bg_key_special_01.jpg) no-repeat center center;
    background-size: cover; }
  .keyBlock--05 {
    background: url(/assets/img/special/feature/bg_key_feature.jpg) no-repeat center center;
    background-size: cover; }
    .keyBlock--05 .inner h2 {
      transition-delay: .5s;
      transition-duration: 1s; }
    .keyBlock--05 .inner .readTxt {
      position: relative;
      transition-delay: 1s;
      transition-duration: 1.5s;
      opacity: 0;
      top: 20px; }
  .keyBlock--06 {
    background: url(/assets/img/special/voice/bg_key_voice_sp.jpg) no-repeat center center;
    background-size: cover; }
    .keyBlock--06 .inner h2 {
      transition-delay: .5s;
      transition-duration: 1s; }
    .keyBlock--06 .inner .readTxt {
      position: relative;
      transition-delay: 1s;
      transition-duration: 1.5s;
      opacity: 0;
      top: 20px; }
  .keyBlock--07 {
    background: url(/assets/img/special/spa/bg_key_spa.jpg) no-repeat center center;
    background-size: cover; }
    .keyBlock--07 .inner h2 {
      transition-delay: .5s;
      transition-duration: 1s; }
    .keyBlock--07 .inner .readTxt {
      position: relative;
      transition-delay: 1s;
      transition-duration: 1.5s;
      opacity: 0;
      top: 20px; }
  .keyBlock.move .inner .vertical {
    opacity: 1;
    top: 0; }
  .keyBlock.move .inner h3 {
    opacity: 1;
    top: 0; }
  .keyBlock.move .inner h2 {
    opacity: 1;
    top: 0; }
  .keyBlock.move .inner .readTxt {
    opacity: 1;
    top: 0; }
  .read {
    position: relative;
    top: 50px;
    opacity: 0;
    transition-duration: 1.5s; }
    .read .inner {
      padding: 30px 4%;
      margin: 0 auto; }
      .read .inner p {
        font-size: 12px;
        font-weight: bold;
        line-height: 2;
        text-align: justify; }
    .read.move {
      opacity: 1;
      top: 0; }
  .profile {
    margin: 0 0 50px;
    position: relative;
    top: 50px;
    opacity: 0;
    transition-duration: 1.5s; }
    .profile .inner {
      padding: 0 4%;
      margin: 0 auto;
      position: relative; }
      .profile .inner .scrollBox {
        position: absolute;
        top: 0;
        left: 4%; }
        .profile .inner .scrollBox .scrollTxt {
          width: 10px;
          display: block;
          position: absolute;
          top: 0;
          left: 0; }
        .profile .inner .scrollBox .scrollLine {
          display: inline-block;
          width: 1px;
          height: 460px;
          overflow: hidden;
          background-color: #af3327;
          vertical-align: bottom;
          position: relative;
          top: 54px; }
          .profile .inner .scrollBox .scrollLine:before {
            display: block;
            bottom: 0;
            left: 0;
            width: 1px;
            height: 460px;
            background-color: #db9f9a;
            -webkit-animation: scrollIcon 3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
            animation: scrollIcon 3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
            -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
            -webkit-animation-delay: 0s;
            animation-delay: 0s;
            -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
            content: ""; }
      .profile .inner .profileBox {
        overflow: hidden;
        margin: 0 0 40px; }
        .profile .inner .profileBox .imgBox {
          width: 90%;
          margin: 0 0 20px auto;
          max-height: 260px;
          overflow: hidden; }
          .profile .inner .profileBox .imgBox img {
            width: 100%; }
        .profile .inner .profileBox .txtBox {
          width: 90%;
          margin: 0 0 0 auto; }
          .profile .inner .profileBox .txtBox ul li {
            margin-bottom: 20px; }
            .profile .inner .profileBox .txtBox ul li:last-child {
              margin-bottom: 0px; }
            .profile .inner .profileBox .txtBox ul li .mb40 {
              margin-bottom: 20px; }
            .profile .inner .profileBox .txtBox ul li > span {
              display: block;
              font-weight: bold;
              letter-spacing: .02em; }
              .profile .inner .profileBox .txtBox ul li > span.belongs {
                position: relative;
                font-size: 12px;
                line-height: 1.6;
                margin: 0 0 5px;
                padding: 0 0 0 10px; }
                .profile .inner .profileBox .txtBox ul li > span.belongs:before {
                  content: "";
                  display: block;
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 4px 0 4px 7px;
                  border-color: transparent transparent transparent #333;
                  position: absolute;
                  top: 50%;
                  left: 0;
                  margin: -5px 0 0; }
              .profile .inner .profileBox .txtBox ul li > span.name {
                font-size: 16px;
                line-height: 1.6;
                margin: 0 0 5px; }
              .profile .inner .profileBox .txtBox ul li > span.year {
                font-size: 14px;
                margin: 0 0 10px; }
            .profile .inner .profileBox .txtBox ul li p {
              line-height: 1.6;
              font-size: 12px; }
              .profile .inner .profileBox .txtBox ul li p.font12 {
                font-size: 12px;
                margin: 5px 0 0;
                text-align: right; }
      .profile .inner .anchorBox ul {
        text-align: center; }
        .profile .inner .anchorBox ul li {
          display: inline-block;
          width: 32%;
          margin: 0 2% 0 0; }
          .profile .inner .anchorBox ul li:last-child {
            margin: 0; }
          .profile .inner .anchorBox ul li a {
            display: block;
            line-height: 36px;
            height: 36px;
            width: 100%;
            border: 1px solid #333; }
            .profile .inner .anchorBox ul li a:hover {
              opacity: .6; }
            .profile .inner .anchorBox ul li a img {
              height: 2.5vh;
              display: inline-block;
              vertical-align: middle; }
      .profile .inner .profileList {
        margin: 0 0 40px; }
        .profile .inner .profileList ul {
          width: 90%;
          margin: 0 0 20px auto; }
          .profile .inner .profileList ul li {
            overflow: hidden;
            margin: 0 0 40px; }
            .profile .inner .profileList ul li:last-child {
              margin: 0; }
            .profile .inner .profileList ul li .imgBox {
              width: 100%;
              margin: 0 0 10px; }
              .profile .inner .profileList ul li .imgBox img {
                display: inline-block;
                width: calc(52.2% - 5px); }
                .profile .inner .profileList ul li .imgBox img:first-child {
                  margin: 0 10px 0 0;
                  width: calc(47.8% - 5px); }
            .profile .inner .profileList ul li .imgBox-one {
              width: 100%;
              margin: 0 0 10px; }
              .profile .inner .profileList ul li .imgBox-one img {
                display: inline-block;
                width: calc(52.2% - 5px); }
                .profile .inner .profileList ul li .imgBox-one img:first-child {
                  margin: 0 10px 0 0;
                  width: calc(47.8% - 5px); }
            .profile .inner .profileList ul li .txtBox {
              width: 100%; }
              .profile .inner .profileList ul li .txtBox > span {
                display: block;
                font-weight: bold;
                letter-spacing: .02em; }
                .profile .inner .profileList ul li .txtBox > span.belongs {
                  position: relative;
                  font-size: 12px;
                  line-height: 1.6;
                  margin: 0 0 5px;
                  padding: 0 0 0 10px; }
                  .profile .inner .profileList ul li .txtBox > span.belongs:before {
                    content: "";
                    display: block;
                    width: 0;
                    height: 0;
                    border-style: solid;
                    border-width: 4px 0 4px 7px;
                    border-color: transparent transparent transparent #333;
                    position: absolute;
                    top: 50%;
                    left: 0;
                    margin: -5px 0 0; }
                .profile .inner .profileList ul li .txtBox > span.name {
                  font-size: 16px;
                  line-height: 1.6;
                  margin: 0 0 5px; }
                .profile .inner .profileList ul li .txtBox > span.year {
                  font-size: 14px;
                  margin: 0 0 10px; }
              .profile .inner .profileList ul li .txtBox p {
                line-height: 1.6;
                font-size: 12px; }
                .profile .inner .profileList ul li .txtBox p.font12 {
                  font-size: 12px;
                  margin: 5px 0 0;
                  text-align: right; }
            .profile .inner .profileList ul li .txtBox-one {
              width: 100%; }
              .profile .inner .profileList ul li .txtBox-one > span {
                display: block;
                font-weight: bold;
                letter-spacing: .02em; }
                .profile .inner .profileList ul li .txtBox-one > span.belongs {
                  position: relative;
                  font-size: 12px;
                  line-height: 1.6;
                  margin: 0 0 5px;
                  padding: 0 0 0 10px; }
                  .profile .inner .profileList ul li .txtBox-one > span.belongs:before {
                    content: "";
                    display: block;
                    width: 0;
                    height: 0;
                    border-style: solid;
                    border-width: 4px 0 4px 7px;
                    border-color: transparent transparent transparent #333;
                    position: absolute;
                    top: 50%;
                    left: 0;
                    margin: -5px 0 0; }
                .profile .inner .profileList ul li .txtBox-one > span.name {
                  font-size: 16px;
                  line-height: 1.6;
                  margin: 0 0 5px; }
                .profile .inner .profileList ul li .txtBox-one > span.year {
                  font-size: 14px;
                  margin: 0 0 10px; }
              .profile .inner .profileList ul li .txtBox-one p {
                line-height: 1.6;
                font-size: 12px; }
                .profile .inner .profileList ul li .txtBox-one p.font12 {
                  font-size: 12px;
                  margin: 5px 0 0;
                  text-align: right; }
    .profile.move {
      opacity: 1;
      top: 0; }
  .anker-area .list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: 1000px;
    margin: 0 auto;
    padding: 40px 4% 15px; }
    .anker-area .list li {
      width: calc((100% - 8px) / 2);
      height: 80px;
      margin-bottom: 25px; }
      .anker-area .list li:nth-child(1) a::after {
        position: absolute;
        right: 0px;
        top: -20px;
        content: url(/assets/img/special/feature/write_01.svg); }
      .anker-area .list li:nth-child(2) a::after {
        position: absolute;
        right: 0px;
        top: -20px;
        content: url(/assets/img/special/feature/write_02.svg); }
      .anker-area .list li:nth-child(3) a::after {
        position: absolute;
        right: 0px;
        top: -20px;
        content: url(/assets/img/special/feature/write_03.svg); }
      .anker-area .list li:nth-child(4) a::after {
        position: absolute;
        right: 0px;
        top: -20px;
        content: url(/assets/img/special/feature/write_04.svg); }
      .anker-area .list li a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        width: 100%;
        height: 100%;
        color: #000;
        text-align: center;
        font-size: 12px;
        line-height: 1.8;
        border: solid 1px #000;
        box-sizing: border-box;
        font-feature-settings: 'palt'; }
  .chapter {
    margin: 0 0 50px; }
    .chapter .writing {
      margin: 0 auto 40px; }
      .chapter .writing span .st0 {
        fill: none;
        stroke: #FFF;
        stroke-width: 10; }
    .chapter .inner {
      padding: 0 0 50px;
      border-bottom: 2px solid #d8d8d8;
      margin: 0 auto;
      position: relative;
      top: 50px;
      opacity: 0;
      transition-duration: 1.5s;
      transition-delay: .5s; }
      .chapter .inner h2 {
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.6;
        margin: 0 0 40px;
        padding: 0 4%; }
      .chapter .inner .txtBox {
        overflow: hidden;
        padding: 0 4%;
        margin: 0 auto; }
        .chapter .inner .txtBox .leftBox {
          width: 100%; }
          .chapter .inner .txtBox .leftBox p {
            font-size: 12px;
            line-height: 2;
            text-align: justify; }
        .chapter .inner .txtBox .rightBox {
          width: 100%;
          margin: 0 0 20px; }
          .chapter .inner .txtBox .rightBox p {
            font-size: 12px;
            line-height: 2;
            text-align: justify;
            margin: 0 0 20px; }
          .chapter .inner .txtBox .rightBox img {
            display: block;
            width: 100%; }
          .chapter .inner .txtBox .rightBox .caution {
            display: block;
            font-size: 12px;
            line-height: 1.6; }
      .chapter .inner .graphBox {
        width: 100%;
        padding: 0 4%;
        margin: 0 auto 60px; }
        .chapter .inner .graphBox img {
          display: block;
          width: 100%; }
        .chapter .inner .graphBox span {
          display: block;
          font-size: 12px;
          line-height: 1.6;
          margin-top: 20px; }
      .chapter .inner > .imgBox {
        width: 100%; }
        .chapter .inner > .imgBox img {
          display: block;
          width: 100%; }
    .chapter--01 .writing {
      width: 128px;
      height: 67.6px; }
    .chapter--01 .inner .txtBox .rightBox {
      margin: 0 0 20px; }
      .chapter--01 .inner .txtBox .rightBox img {
        margin: 0 0 20px; }
    .chapter--02 .writing {
      width: 136px;
      height: 66.4px; }
    .chapter--02 .inner > .imgBox {
      width: 92%;
      margin: 0 auto 50px; }
      .chapter--02 .inner > .imgBox img {
        margin: 0 0 20px; }
      .chapter--02 .inner > .imgBox span {
        display: block;
        font-size: 12px;
        line-height: 1.6; }
    .chapter--02 .inner .graphBox {
      margin: 0 auto; }
    .chapter--03 .writing {
      width: 129px;
      height: 62.5px; }
    .chapter--03 .inner > .imgBox--02 {
      position: relative;
      margin: 0 0 60px auto; }
      .chapter--03 .inner > .imgBox--02:before {
        content: "";
        display: block;
        background: #44A844;
        opacity: .08;
        width: 60%;
        height: 200px;
        position: absolute;
        left: 4%;
        bottom: 30px;
        z-index: 1; }
      .chapter--03 .inner > .imgBox--02 img {
        display: block;
        position: relative;
        z-index: 2; }
        .chapter--03 .inner > .imgBox--02 img:nth-child(1) {
          width: 80%;
          margin: 0 0 10px; }
        .chapter--03 .inner > .imgBox--02 img:nth-child(2) {
          width: 50%;
          margin: 0 0 0 auto; }
    .chapter--04 .writing {
      width: 129px;
      height: 62.5px; }
    .chapter.move .inner {
      opacity: 1;
      top: 0; }
    .chapter .inner--2 {
      padding: 0;
      max-width: 880px;
      border: none; }
      .chapter .inner--2 h2 {
        margin-bottom: 30px; }
      .chapter .inner--2 .txtBox--2 {
        margin-bottom: 0;
        font-size: 12px;
        line-height: 1.8;
        letter-spacing: 0.1em; }
      .chapter .inner--2 .imgBox--2 {
        width: auto;
        margin: 20px auto 0;
        text-align: center; }
        .chapter .inner--2 .imgBox--2.imgBox--sb {
          display: flex;
          align-items: center;
          justify-content: space-between; }
          .chapter .inner--2 .imgBox--2.imgBox--sb img {
            width: 50%; }
        .chapter .inner--2 .imgBox--2 .note {
          display: block;
          margin-top: 10px;
          text-align: center;
          font-size: 12px;
          line-height: 1.5; }
        .chapter .inner--2 .imgBox--2 img {
          width: auto;
          max-width: 100%;
          margin: 0 auto; }
    .chapter.bg {
      margin-bottom: 0;
      padding: 60px 0; }
      .chapter.bg--gray {
        background: #F8F8F8; }
    .chapter .pickup {
      max-width: 1120px;
      margin: 40px 4% 0;
      padding: 8% 4%;
      background: #fff;
      border: solid 2px #8CC88C; }
      .chapter .pickup .writing {
        width: 87px;
        height: 31px;
        margin: 0 auto 20px 0; }
      .chapter .pickup__flex {
        display: block; }
      .chapter .pickup__txtBox {
        margin-bottom: 20px; }
      .chapter .pickup__ttl {
        font-size: 15px;
        line-height: 2;
        margin-bottom: 30px;
        letter-spacing: 0.1em; }
      .chapter .pickup__txt {
        font-size: 12px;
        line-height: 1.8;
        letter-spacing: 0.1em; }
        .chapter .pickup__txt.seven {
          margin-bottom: 40px;
          letter-spacing: 0.08em; }
      .chapter .pickup__img {
        text-align: center; }
        .chapter .pickup__img img {
          width: auto;
          max-width: 100%; }
      .chapter .pickup .note {
        display: block;
        margin-top: 30px;
        text-align: center;
        font-size: 12px;
        line-height: 1.5; }
  .talk {
    margin: 0 0 50px;
    padding: 0 0 50px;
    position: relative;
    overflow: hidden; }
    .talk:after {
      content: "";
      height: 2px;
      width: 1280px;
      display: block;
      background: #d8d8d8;
      position: absolute;
      bottom: 0;
      left: 50%;
      margin: 0 0 0 -640px; }
    .talk .writing {
      margin: 0 auto 40px; }
      .talk .writing span .st0 {
        fill: none;
        stroke: #FFF;
        stroke-width: 10; }
    .talk .inner {
      position: relative;
      top: 50px;
      opacity: 0;
      transition-duration: 1.5s;
      transition-delay: .5s; }
      .talk .inner h2 {
        text-align: center;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.6;
        margin: 0 0 40px; }
      .talk .inner .txtBox {
        overflow: hidden;
        margin: 0 auto;
        padding: 0 4%; }
        .talk .inner .txtBox h3 {
          font-size: 12px;
          font-weight: bold;
          line-height: 1.6;
          margin: 0 0 10px; }
        .talk .inner .txtBox ul li {
          margin: 0 0 10px; }
          .talk .inner .txtBox ul li span {
            font-size: 12px;
            line-height: 2; }
            .talk .inner .txtBox ul li span.name {
              font-weight: bold; }
      .talk .inner > .imgBox {
        margin: 0 0 60px; }
    .talk--01 .writing {
      width: 90px;
      height: 48.1px; }
    .talk--01 .inner .imgBox img {
      width: 100%; }
    .talk--02 .writing {
      width: 98.6px;
      height: 47.4px; }
    .talk--02 .inner > .imgBox {
      position: relative;
      margin: 0 0 60px auto; }
      .talk--02 .inner > .imgBox:before {
        content: "";
        display: block;
        background: #901600;
        opacity: .08;
        width: 60%;
        height: 200px;
        position: absolute;
        left: 4%;
        bottom: 30px;
        z-index: 1; }
      .talk--02 .inner > .imgBox img {
        display: block;
        position: relative;
        z-index: 2; }
        .talk--02 .inner > .imgBox img:nth-child(1) {
          width: 80%;
          margin: 0 0 10px; }
        .talk--02 .inner > .imgBox img:nth-child(2) {
          width: 50%;
          margin: 0 0 0 auto; }
      .talk--02 .inner > .imgBox span {
        display: block;
        font-size: 14px; }
    .talk--03 .writing {
      width: 93.8px;
      height: 44.5px; }
    .talk--03 .inner > .imgBox {
      position: relative;
      margin: 0 0 60px auto; }
      .talk--03 .inner > .imgBox:before {
        content: "";
        display: block;
        background: #901600;
        opacity: .08;
        width: 60%;
        height: 200px;
        position: absolute;
        right: 4%;
        top: 60px;
        z-index: 1; }
      .talk--03 .inner > .imgBox img {
        display: block;
        position: relative;
        z-index: 2; }
        .talk--03 .inner > .imgBox img:nth-child(1) {
          width: 60%;
          margin: 0 0 10px; }
        .talk--03 .inner > .imgBox img:nth-child(2) {
          width: 50%;
          margin: 0 0 0 auto; }
      .talk--03 .inner > .imgBox span {
        display: block;
        font-size: 14px; }
    .talk.move .inner {
      opacity: 1;
      top: 0; }
  .linkList {
    padding: 0 0 50px;
    position: relative;
    top: 50px;
    opacity: 0;
    transition-duration: 1.5s; }
    .linkList .inner {
      max-width: 1000px;
      padding: 0 4%;
      margin: 0 auto; }
      .linkList .inner .ruby {
        width: 206px;
        background: #4d4d4d;
        border-radius: 8px;
        height: 36px;
        line-height: 36px;
        text-align: center;
        margin: 0 auto 20px; }
        .linkList .inner .ruby img {
          vertical-align: middle;
          height: 14px; }
      .linkList .inner h2 {
        font-size: 18px;
        line-height: 1.4;
        font-weight: bold;
        text-align: center;
        margin: 0 0 40px; }
      .linkList .inner ul {
        overflow: hidden; }
        .linkList .inner ul li {
          width: 100%;
          margin: 0 0 20px; }
          .linkList .inner ul li:nth-child(6) {
            margin: 0; }
          .linkList .inner ul li a {
            text-align: center;
            text-decoration: none;
            width: 100%;
            height: 126px;
            display: flex;
            align-items: center;
            justify-content: center; }
            .linkList .inner ul li a:hover {
              opacity: .6; }
            .linkList .inner ul li a .title {
              color: #FFF;
              font-size: 16px;
              line-height: 1.6;
              font-weight: bold; }
          .linkList .inner ul li:nth-child(1) a {
            background: url(/assets/img/special/bg_special_link_01.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul li:nth-child(2) a {
            background: url(/assets/img/special/bg_special_link_02.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul li:nth-child(3) a {
            background: url(/assets/img/special/bg_special_link_03.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul li:nth-child(4) a {
            background: url(/assets/img/special/bg_special_link_04.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul li:nth-child(5) a {
            background: url(/assets/img/special/bg_special_link_05.jpg) no-repeat center center;
            background-size: cover;
            margin-bottom: 80px; }
        .linkList .inner ul .list_02 {
          width: 100%;
          margin: 0 0 20px; }
          .linkList .inner ul .list_02:nth-child(6) {
            margin: 0; }
          .linkList .inner ul .list_02 a {
            display: block;
            text-align: center;
            text-decoration: none;
            width: 100%;
            height: 126px;
            padding: 52px 0; }
            .linkList .inner ul .list_02 a:hover {
              opacity: .6; }
            .linkList .inner ul .list_02 a .title {
              color: #FFF;
              font-size: 16px;
              line-height: 1.6;
              font-weight: bold; }
          .linkList .inner ul .list_02:nth-child(1) a {
            background: url(/assets/img/special/bg_special_link_05.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul .list_02:nth-child(2) a {
            background: url(/assets/img/special/bg_special_link_06.jpg) no-repeat center center;
            background-size: cover; }
    .linkList.move {
      opacity: 1;
      top: 0; }
  .voice {
    position: relative;
    top: 10px;
    opacity: 0;
    transition-duration: 1.5s;
    max-width: 680px;
    margin: 0 auto 50px;
    padding: 0 4%; }
    .voice.move {
      opacity: 1;
      top: 0; }
    .voice:first-child {
      margin-top: 50px; }
    .voice:nth-child(odd) .voice__profile {
      color: #44A844; }
    .voice:nth-child(even) .voice__profile {
      color: #E38F60; }
    .voice__profile {
      line-height: 1.5; }
      .voice__profile dt {
        font-size: 12px; }
      .voice__profile dd {
        font-weight: bold;
        font-size: 16px; }
    .voice__box {
      display: block; }
    .voice__txt {
      font-size: 12px;
      line-height: 2; }
      .voice__txt .voice__img {
        width: 100%;
        margin: 10px auto 0; }
    .voice__title {
      font-size: 14px;
      font-weight: bold;
      margin-bottom: 10px; }
    .voice__img {
      width: 100%;
      margin: 10px auto 0; }
      .voice__img img {
        width: 100%; }
    .voice__sec {
      display: -webkit-flex;
      display: -webkit-flex;
      display: flex;
      align-items: center;
      margin-bottom: 10px; }
    .voice__icon {
      width: 30px;
      margin-right: 10px; }
      .voice__icon img {
        width: 100%; }
  .spa {
    font-feature-settings: "palt"; }
    .spa img {
      max-width: 100%; }
    .spa .model .inner {
      margin: 0 auto;
      padding: 0 4%; }
    .spa .model__ttl {
      margin: 60px auto 40px;
      text-align: center;
      font-weight: bold;
      font-size: 18px; }
    .spa .model__figure {
      text-align: center; }
    .spa .model__text {
      position: relative;
      padding-top: 50px;
      text-align: center;
      font-weight: bold;
      font-size: 13px;
      line-height: 1.9; }
      .spa .model__text::before {
        position: absolute;
        left: 50%;
        top: 20px;
        transform: translateX(-50%);
        content: "";
        display: block;
        width: 25px;
        height: 15px;
        background: url(../../img/special/spa/icon_arrow.svg) no-repeat center/contain; }
    .spa .model .column {
      margin-top: 50px; }
    .spa .column {
      background-color: #E7F1E8;
      border-radius: 8px;
      padding: 46px calc(96 / 1168 * 100%); }
      .spa .column--row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-direction: column;
        gap: 4vw;
        padding: 46px calc(96 / 1168 * 100%) 60px; }
        .spa .column--row .column__figure {
          flex: 1 0 calc(608 / 1168 * 100%); }
      .spa .column__ttl {
        margin-bottom: 5%;
        font-weight: bold;
        font-size: 16px;
        line-height: 1.5; }
      .spa .column__text {
        font-size: 12px;
        line-height: 2;
        text-align: justify; }
      .spa .column .mt20 {
        margin-top: 4%; }
      .spa .column .cont {
        padding-top: 0%; }
        .spa .column .cont__ttl {
          margin-bottom: 5px;
          line-height: 1.5;
          font-size: 15px;
          font-weight: bold; }
        .spa .column .cont__text {
          font-size: 12px;
          line-height: 2; }
        .spa .column .cont__img {
          display: flex;
          justify-content: space-between;
          margin-top: 5%; }
      .spa .column .message {
        margin-top: 60px;
        border-top: solid 1px #A4CDA4; }
        .spa .column .message__ttl {
          display: flex;
          justify-content: flex-start;
          align-items: flex-start;
          margin-top: 30px;
          margin-bottom: 30px;
          text-align: left;
          font-weight: bold;
          font-size: 15px;
          gap: 10px;
          line-height: 1.5; }
          .spa .column .message__ttl::before {
            content: "";
            display: none;
            width: 5%;
            height: 1px;
            background: #A4CDA4; }
        .spa .column .message__cont:not(:first-of-type) {
          margin-top: 40px; }
        .spa .column .message__cont:last-of-type {
          padding-bottom: 30px;
          border-bottom: solid 1px #A4CDA4; }
        .spa .column .message__cont .ttlArea {
          display: flex;
          justify-content: space-between;
          align-items: center;
          flex-direction: column;
          gap: 8px; }
        .spa .column .message__cont .ttl {
          flex-grow: 1;
          display: flex;
          align-items: center;
          flex-direction: column;
          text-align: center;
          gap: 0px;
          font-weight: bold;
          font-size: 14px;
          line-height: 1.5;
          color: #005B00; }
          .spa .column .message__cont .ttl::after {
            content: "";
            display: block;
            flex-shrink: 1;
            width: 100%;
            height: 5px;
            border-bottom: dashed 1px #9D9D9D; }
        .spa .column .message__cont .name {
          white-space: nowrap;
          font-weight: bold;
          font-size: 12px;
          line-height: 1.5; }
        .spa .column .message__cont .detailArea {
          display: flex;
          gap: 15px;
          margin-top: 15px;
          flex-direction: column; }
        .spa .column .message__cont .img {
          flex: 0 0 auto;
          width: 178px;
          margin: 0 auto; }
    .spa .sec {
      margin-top: 60px; }
      .spa .sec .inner {
        max-width: 1168px;
        margin: 0 auto;
        padding: 0 4%; }
      .spa .sec__ttl {
        margin-bottom: 25px;
        font-size: 18px;
        font-weight: bold;
        text-align: center;
        line-height: 1.5; }
      .spa .sec .block {
        display: flex;
        align-items: center;
        flex-direction: column;
        gap: 20px;
        margin-bottom: 50px; }
        .spa .sec .block__ttl {
          font-weight: bold;
          font-size: 16px;
          line-height: 1.6;
          margin: 10px 0 15px; }
        .spa .sec .block__text {
          font-size: 12px;
          line-height: 2; }
      .spa .sec--merit .block__img {
        flex: 1 0 calc(488 / 976 * 100%); }
      .spa .sec--effort {
        margin-bottom: 60px; }
        .spa .sec--effort .block {
          gap: 20px; }
          .spa .sec--effort .block__img {
            flex: 1 0 calc(438 / 976 * 100%); }
          .spa .sec--effort .block__ttl {
            display: flex;
            align-items: center;
            gap: 20px; } }

@media screen and (min-width: 769px) {
  .header {
    opacity: 1; }
  .keyBlock .inner {
    position: relative;
    margin: 0 auto;
    max-width: 1280px;
    padding: 20px 40px 80px; }
    .keyBlock .inner .vertical {
      -webkit-writing-mode: vertical-rl;
      -moz-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl;
      -ms-text-orientation: upright;
      -webkit-text-orientation: upright;
      text-orientation: upright;
      color: #FFF;
      font-size: 12px;
      font-weight: bold;
      line-height: 2.2;
      letter-spacing: .2em;
      display: block;
      margin: 0 0 20px;
      position: relative;
      top: 20px;
      transition-duration: 1.5s;
      opacity: 0; }
      @supports (-ms-ime-align: auto) {
        .keyBlock .inner .vertical {
          height: 220px; } }
    .keyBlock .inner _:-ms-lang(x)::-ms-backdrop, .keyBlock .inner .vertical {
      height: 220px; }
    .keyBlock .inner h3 {
      margin: 0 0 60px 80px;
      position: relative;
      top: 20px;
      transition-delay: .5s;
      transition-duration: 1.5s;
      opacity: 0; }
      .keyBlock .inner h3 .ruby {
        display: block;
        width: 114px;
        height: 10px;
        margin: 0 0 20px; }
        .keyBlock .inner h3 .ruby img {
          display: block;
          height: auto;
          width: 100%; }
      .keyBlock .inner h3 .txt {
        color: #FFF;
        font-size: 18px;
        font-weight: bold;
        line-height: 1.2;
        letter-spacing: .04em; }
    .keyBlock .inner h2 {
      margin: 0 0 0 80px;
      color: #FFF;
      font-size: 27px;
      font-weight: bold;
      line-height: 1.6;
      letter-spacing: .04em;
      position: relative;
      top: 20px;
      transition-delay: 1s;
      transition-duration: 1.5s;
      opacity: 0; }
    .keyBlock .inner .readTxt {
      margin: 25px 0 0 80px;
      font-size: 16px;
      line-height: 1.8;
      color: #fff; }
  .keyBlock--01 {
    background: url(/assets/img/special/01/bg_key_special_01.jpg) no-repeat center center;
    background-size: cover; }
  .keyBlock--02 {
    background: url(/assets/img/special/crosstalk/01/bg_key_crosstalk_01.jpg) no-repeat center center;
    background-size: cover; }
  .keyBlock--03 {
    background: url(/assets/img/special/crosstalk/02/bg_key_crosstalk_02.jpg) no-repeat center center;
    background-size: cover; }
  .keyBlock--04 {
    background: url(/assets/img/special/02/bg_key_special_01.jpg) no-repeat center center;
    background-size: cover; }
  .keyBlock--05 {
    background: url(/assets/img/special/feature/bg_key_feature.jpg) no-repeat center center;
    background-size: cover; }
    .keyBlock--05 .inner h2 {
      transition-delay: .5s;
      transition-duration: 1s; }
    .keyBlock--05 .inner .readTxt {
      position: relative;
      transition-delay: 1s;
      transition-duration: 1.5s;
      opacity: 0;
      top: 20px; }
  .keyBlock--06 {
    background: url(/assets/img/special/voice/bg_key_voice.jpg) no-repeat center center;
    background-size: cover; }
    .keyBlock--06 .inner h2 {
      transition-delay: .5s;
      transition-duration: 1s; }
    .keyBlock--06 .inner .readTxt {
      position: relative;
      transition-delay: 1s;
      transition-duration: 1.5s;
      opacity: 0;
      top: 20px; }
  .keyBlock--07 {
    background: url(/assets/img/special/spa/bg_key_spa.jpg) no-repeat center center;
    background-size: cover; }
    .keyBlock--07 .inner h2 {
      transition-delay: .5s;
      transition-duration: 1s; }
    .keyBlock--07 .inner .readTxt {
      position: relative;
      transition-delay: 1s;
      transition-duration: 1.5s;
      opacity: 0;
      top: 20px; }
  .keyBlock.move .inner .vertical {
    opacity: 1;
    top: 0; }
  .keyBlock.move .inner h3 {
    opacity: 1;
    top: 0; }
  .keyBlock.move .inner h2 {
    opacity: 1;
    top: 0; }
  .keyBlock.move .inner .readTxt {
    opacity: 1;
    top: 0; }
  .read {
    position: relative;
    top: 50px;
    opacity: 0;
    transition-duration: 1.5s; }
    .read .inner {
      padding: 60px 0;
      max-width: 1280px;
      margin: 0 auto; }
      .read .inner p {
        font-size: 16px;
        font-weight: bold;
        line-height: 2;
        text-align: center; }
    .read.move {
      opacity: 1;
      top: 0; }
  .profile {
    position: relative;
    top: 50px;
    opacity: 0;
    transition-duration: 1.5s;
    margin: 0 0 100px; }
    .profile .inner {
      max-width: 1000px;
      margin: 0 auto;
      position: relative; }
      .profile .inner .scrollBox {
        position: absolute;
        top: 0;
        left: 0; }
        .profile .inner .scrollBox .scrollTxt {
          width: 10px;
          display: block;
          position: absolute;
          top: 0;
          left: 0; }
        .profile .inner .scrollBox .scrollLine {
          display: inline-block;
          width: 1px;
          height: 460px;
          overflow: hidden;
          background-color: #af3327;
          vertical-align: bottom;
          position: relative;
          top: 54px; }
          .profile .inner .scrollBox .scrollLine:before {
            display: block;
            bottom: 0;
            left: 0;
            width: 1px;
            height: 460px;
            background-color: #db9f9a;
            -webkit-animation: scrollIcon 3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
            animation: scrollIcon 3s cubic-bezier(0.895, 0.03, 0.685, 0.22);
            -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
            -webkit-animation-delay: 0s;
            animation-delay: 0s;
            -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
            content: ""; }
      .profile .inner .profileBox {
        overflow: hidden;
        margin: 0 0 160px; }
        .profile .inner .profileBox .imgBox {
          float: left;
          width: 420px;
          margin: 44px 80px 0 100px; }
        .profile .inner .profileBox .txtBox {
          float: left;
          width: calc(100% - 600px);
          margin: 44px 0 0; }
          .profile .inner .profileBox .txtBox ul li {
            margin-bottom: 40px; }
            .profile .inner .profileBox .txtBox ul li:last-child {
              margin-bottom: 0px; }
            .profile .inner .profileBox .txtBox ul li .mb40 {
              margin-bottom: 40px; }
            .profile .inner .profileBox .txtBox ul li > span {
              display: block;
              font-weight: bold;
              letter-spacing: .02em; }
              .profile .inner .profileBox .txtBox ul li > span.belongs {
                position: relative;
                font-size: 16px;
                line-height: 1.6;
                margin: 0 0 10px;
                padding: 0 0 0 10px; }
                .profile .inner .profileBox .txtBox ul li > span.belongs:before {
                  content: "";
                  display: block;
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 4px 0 4px 7px;
                  border-color: transparent transparent transparent #333;
                  position: absolute;
                  top: 50%;
                  left: 0;
                  margin: -5px 0 0; }
              .profile .inner .profileBox .txtBox ul li > span.name {
                font-size: 22px;
                line-height: 1.6;
                margin: 0 0 5px; }
                .profile .inner .profileBox .txtBox ul li > span.name span {
                  font-size: 16px; }
              .profile .inner .profileBox .txtBox ul li > span.year {
                font-size: 14px;
                margin: 0 0 10px; }
            .profile .inner .profileBox .txtBox ul li p {
              line-height: 1.6;
              font-size: 14px; }
              .profile .inner .profileBox .txtBox ul li p.font12 {
                font-size: 12px;
                margin: 10px 0 0;
                text-align: right; }
      .profile .inner .anchorBox ul {
        text-align: center; }
        .profile .inner .anchorBox ul li {
          display: inline-block;
          margin: 0 36px 0 0; }
          .profile .inner .anchorBox ul li:last-child {
            margin: 0; }
          .profile .inner .anchorBox ul li a {
            display: block;
            line-height: 36px;
            height: 36px;
            width: 268px;
            border: 1px solid #333; }
            .profile .inner .anchorBox ul li a:hover {
              opacity: .6; }
            .profile .inner .anchorBox ul li a img {
              height: 18px;
              display: inline-block;
              vertical-align: middle; }
      .profile .inner .profileList {
        margin: 0 0 0 100px;
        padding: 44px 0 0; }
        .profile .inner .profileList ul li {
          overflow: hidden;
          margin: 0 0 40px; }
          .profile .inner .profileList ul li:last-child {
            margin: 0; }
          .profile .inner .profileList ul li .imgBox {
            float: left;
            width: 432px;
            margin: 0 50px 0 0; }
            .profile .inner .profileList ul li .imgBox img {
              display: inline-block; }
              .profile .inner .profileList ul li .imgBox img:first-child {
                margin: 0 20px 0 0; }
          .profile .inner .profileList ul li .imgBox-one {
            float: left;
            width: 30%; }
            .profile .inner .profileList ul li .imgBox-one img {
              display: inline-block; }
          .profile .inner .profileList ul li .txtBox {
            width: calc(100% - 482px);
            float: left; }
            .profile .inner .profileList ul li .txtBox > span {
              display: block;
              font-weight: bold;
              letter-spacing: .02em; }
              .profile .inner .profileList ul li .txtBox > span.belongs {
                position: relative;
                font-size: 16px;
                line-height: 1.6;
                margin: 0 0 10px;
                padding: 0 0 0 10px; }
                .profile .inner .profileList ul li .txtBox > span.belongs:before {
                  content: "";
                  display: block;
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 4px 0 4px 7px;
                  border-color: transparent transparent transparent #333;
                  position: absolute;
                  top: 50%;
                  left: 0;
                  margin: -5px 0 0; }
              .profile .inner .profileList ul li .txtBox > span.name {
                font-size: 22px;
                line-height: 1.6;
                margin: 0 0 5px; }
              .profile .inner .profileList ul li .txtBox > span.year {
                font-size: 14px;
                margin: 0 0 20px; }
            .profile .inner .profileList ul li .txtBox p {
              line-height: 1.6;
              font-size: 14px; }
              .profile .inner .profileList ul li .txtBox p.font12 {
                font-size: 12px;
                margin: 10px 0 0;
                text-align: right; }
          .profile .inner .profileList ul li .txtBox-one {
            width: calc(100% - 330px);
            float: left; }
            .profile .inner .profileList ul li .txtBox-one > span {
              display: block;
              font-weight: bold;
              letter-spacing: .02em; }
              .profile .inner .profileList ul li .txtBox-one > span.belongs {
                position: relative;
                font-size: 16px;
                line-height: 1.6;
                margin: 0 0 10px;
                padding: 0 0 0 10px; }
                .profile .inner .profileList ul li .txtBox-one > span.belongs:before {
                  content: "";
                  display: block;
                  width: 0;
                  height: 0;
                  border-style: solid;
                  border-width: 4px 0 4px 7px;
                  border-color: transparent transparent transparent #333;
                  position: absolute;
                  top: 50%;
                  left: 0;
                  margin: -5px 0 0; }
              .profile .inner .profileList ul li .txtBox-one > span.name {
                font-size: 22px;
                line-height: 1.6;
                margin: 0 0 5px; }
              .profile .inner .profileList ul li .txtBox-one > span.year {
                font-size: 14px;
                margin: 0 0 10px; }
            .profile .inner .profileList ul li .txtBox-one p {
              line-height: 1.6;
              font-size: 14px; }
              .profile .inner .profileList ul li .txtBox-one p.font12 {
                font-size: 12px;
                margin: 10px 0 0;
                text-align: right; }
    .profile.move {
      opacity: 1;
      top: 0; }
  .anker-area .list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1000px;
    margin: 0 auto;
    padding: 120px 0 100px; }
    .anker-area .list li {
      width: calc((100% - 60px) / 4);
      height: 80px; }
      .anker-area .list li:nth-child(1) a::after {
        position: absolute;
        right: 0px;
        top: -20px;
        content: url(/assets/img/special/feature/write_01.svg); }
      .anker-area .list li:nth-child(2) a::after {
        position: absolute;
        right: 0px;
        top: -20px;
        content: url(/assets/img/special/feature/write_02.svg); }
      .anker-area .list li:nth-child(3) a::after {
        position: absolute;
        right: 0px;
        top: -20px;
        content: url(/assets/img/special/feature/write_03.svg); }
      .anker-area .list li:nth-child(4) a::after {
        position: absolute;
        right: 0px;
        top: -20px;
        content: url(/assets/img/special/feature/write_04.svg); }
      .anker-area .list li a {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        width: 100%;
        height: 100%;
        color: #000;
        text-align: center;
        font-size: 16px;
        line-height: 1.8;
        border: solid 1px #000;
        box-sizing: border-box; } }
      @media screen and (min-width: 769px) and (max-width: 900px) {
        .anker-area .list li a {
          font-size: 12px; } }

@media screen and (min-width: 769px) {
        .anker-area .list li a:hover {
          background: #4d4d4d;
          color: #fff; }
  .chapter {
    margin: 0 0 100px; }
    .chapter .writing {
      margin: 0 auto 40px; }
      .chapter .writing span .st0 {
        fill: none;
        stroke: #FFF;
        stroke-width: 10; }
    .chapter .inner {
      padding: 0 0 100px;
      border-bottom: 2px solid #d8d8d8;
      max-width: 1280px;
      margin: 0 auto;
      position: relative;
      top: 50px;
      opacity: 0;
      transition-duration: 1.5s;
      transition-delay: .5s; }
      .chapter .inner h2 {
        text-align: center;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.4;
        margin: 0 0 80px; }
      .chapter .inner .txtBox {
        overflow: hidden;
        max-width: 1000px;
        margin: 0 auto 100px; }
        .chapter .inner .txtBox .leftBox {
          float: left;
          width: calc(50% - 20px);
          margin: 0 40px 0 0; }
          .chapter .inner .txtBox .leftBox p {
            font-size: 16px;
            line-height: 2;
            text-align: justify; }
        .chapter .inner .txtBox .rightBox {
          float: left;
          width: calc(50% - 20px); }
          .chapter .inner .txtBox .rightBox p {
            font-size: 16px;
            line-height: 2;
            text-align: j; }
          .chapter .inner .txtBox .rightBox img {
            display: block;
            margin: 40px 0 10px; }
          .chapter .inner .txtBox .rightBox .caution {
            display: block;
            width: 70%;
            font-size: 14px;
            line-height: 1.6; }
      .chapter .inner .graphBox {
        width: 596px;
        margin: 0 auto 120px; }
        .chapter .inner .graphBox img {
          display: block; }
        .chapter .inner .graphBox span {
          display: block;
          font-size: 14px;
          line-height: 1.5;
          margin-top: 20px; }
      .chapter .inner > .imgBox {
        width: 100%; }
        .chapter .inner > .imgBox img {
          display: block;
          width: 100%; }
    .chapter--01 .writing {
      width: 128px;
      height: 67.6px; }
    .chapter--02 .writing {
      width: 136px;
      height: 66.4px; }
    .chapter--02 .inner > .imgBox {
      width: 650px;
      margin: 0 auto 100px; }
      .chapter--02 .inner > .imgBox img {
        margin: 0 0 20px; }
      .chapter--02 .inner > .imgBox span {
        display: block;
        font-size: 14px;
        line-height: 1.5; }
    .chapter--02 .inner .graphBox {
      margin: 0 auto; }
    .chapter--03 .writing {
      width: 129px;
      height: 62.5px; }
    .chapter--03 .inner > .imgBox--02 {
      position: relative;
      height: 470px;
      width: 1200px;
      margin: 0 0 120px auto; }
      .chapter--03 .inner > .imgBox--02:before {
        content: "";
        display: block;
        background: #44A844;
        opacity: .08;
        width: 543px;
        height: 250px;
        position: absolute;
        left: -50px;
        top: 190px; }
      .chapter--03 .inner > .imgBox--02 img {
        position: absolute; }
        .chapter--03 .inner > .imgBox--02 img:nth-child(1) {
          width: 690px;
          height: 373px;
          top: 0;
          left: 0; }
        .chapter--03 .inner > .imgBox--02 img:nth-child(2) {
          width: 426px;
          height: 409px;
          bottom: 0;
          right: 0; }
    .chapter--04 .writing {
      width: 129px;
      height: 62.5px; }
    .chapter.move .inner {
      opacity: 1;
      top: 0; }
    .chapter .inner--2 {
      padding: 0;
      max-width: 880px;
      border: none; }
      .chapter .inner--2 h2 {
        margin-bottom: 60px; }
      .chapter .inner--2 .txtBox--2 {
        margin-bottom: 0;
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.1em; }
      .chapter .inner--2 .imgBox--2 {
        width: auto;
        margin: 60px auto 0;
        text-align: center; }
        .chapter .inner--2 .imgBox--2.imgBox--sb {
          display: flex;
          align-items: center;
          justify-content: space-between; }
        .chapter .inner--2 .imgBox--2 .note {
          display: block;
          margin-top: 30px;
          text-align: center;
          font-size: 12px; }
        .chapter .inner--2 .imgBox--2 img {
          width: auto;
          margin: 0 auto; }
    .chapter.bg {
      margin-bottom: 0;
      padding: 100px 0; }
      .chapter.bg--gray {
        background: #F8F8F8; }
    .chapter.last {
      margin-bottom: 100px; }
    .chapter .pickup {
      max-width: 1040px;
      margin: 80px auto 0;
      padding: 70px 80px 80px;
      background: #fff;
      border: solid 2px #8CC88C; } }
    @media screen and (min-width: 769px) and (max-width: 900px) {
      .chapter .pickup {
        padding: 60px 40px; } }

@media screen and (min-width: 769px) {
      .chapter .pickup .writing {
        width: 87px;
        height: 31px;
        margin: 0 auto 20px 0; }
      .chapter .pickup__flex {
        display: flex;
        justify-content: space-between; }
      .chapter .pickup__txtBox {
        margin-right: 40px; }
      .chapter .pickup__ttl {
        font-size: 20px;
        line-height: 2;
        margin-bottom: 30px;
        letter-spacing: 0.1em; }
      .chapter .pickup__txt {
        font-size: 16px;
        line-height: 1.8;
        letter-spacing: 0.1em; }
        .chapter .pickup__txt.seven {
          margin-bottom: 80px;
          letter-spacing: 0.08em; }
      .chapter .pickup__img.seven {
        text-align: center; }
        .chapter .pickup__img.seven img {
          max-width: 100%; }
      .chapter .pickup .note {
        display: block;
        margin-top: 30px;
        text-align: center;
        font-size: 12px; }
  .talk {
    margin: 0 0 100px;
    padding: 0 0 100px;
    position: relative; }
    .talk:after {
      content: "";
      height: 2px;
      width: 1280px;
      display: block;
      background: #d8d8d8;
      position: absolute;
      bottom: 0;
      left: 50%;
      margin: 0 0 0 -640px; }
    .talk .writing {
      margin: 0 auto 40px; }
      .talk .writing span .st0 {
        fill: none;
        stroke: #FFF;
        stroke-width: 10; }
    .talk .inner {
      position: relative;
      top: 50px;
      opacity: 0;
      transition-duration: 1.5s;
      transition-delay: 1s; }
      .talk .inner h2 {
        text-align: center;
        font-size: 24px;
        font-weight: bold;
        line-height: 1.4;
        margin: 0 0 80px; }
      .talk .inner .txtBox {
        overflow: hidden;
        max-width: 684px;
        margin: 0 auto; }
        .talk .inner .txtBox h3 {
          font-size: 16px;
          font-weight: bold;
          line-height: 1.6;
          margin: 0 0 30px; }
        .talk .inner .txtBox ul li {
          margin: 0 0 30px; }
          .talk .inner .txtBox ul li span {
            font-size: 16px;
            line-height: 2; }
            .talk .inner .txtBox ul li span.name {
              font-weight: bold; }
            .talk .inner .txtBox ul li span.mini {
              font-size: 14px; }
      .talk .inner > .imgBox {
        margin: 0 0 120px; }
    .talk--01 .writing {
      width: 90px;
      height: 48.1px; }
    .talk--01 .inner .imgBox {
      max-width: 1280px;
      margin: 0 auto 120px; }
      .talk--01 .inner .imgBox img {
        width: 100%; }
    .talk--02 .writing {
      width: 98.6px;
      height: 47.4px; }
    .talk--02 .inner > .imgBox {
      position: relative;
      height: 470px;
      width: 1200px;
      margin: 0 auto 120px; }
      .talk--02 .inner > .imgBox:before {
        content: "";
        display: block;
        background: #901600;
        opacity: .08;
        width: 543px;
        height: 250px;
        position: absolute;
        left: -50px;
        top: 190px; }
      .talk--02 .inner > .imgBox img {
        position: absolute; }
        .talk--02 .inner > .imgBox img:nth-child(1) {
          width: 690px;
          height: 373px;
          top: 0;
          left: 0; }
        .talk--02 .inner > .imgBox img:nth-child(2) {
          width: 426px;
          height: 409px;
          bottom: 0;
          right: 0; }
      .talk--02 .inner > .imgBox span {
        display: block;
        font-size: 14px; }
    .talk--02 .inner .graphBox {
      margin: 0 auto; }
    .talk--03 .writing {
      width: 93.8px;
      height: 44.5px; }
    .talk--03 .inner > .imgBox {
      position: relative;
      height: 600px;
      width: 1160px;
      margin: 0 auto 120px; }
      .talk--03 .inner > .imgBox:before {
        content: "";
        display: block;
        background: #901600;
        opacity: .08;
        width: 543px;
        height: 405px;
        position: absolute;
        right: -50px;
        top: 250px; }
      .talk--03 .inner > .imgBox img {
        position: absolute; }
        .talk--03 .inner > .imgBox img:nth-child(1) {
          width: 547px;
          height: 450px;
          top: 0;
          left: 0; }
        .talk--03 .inner > .imgBox img:nth-child(2) {
          width: 553px;
          height: 453px;
          top: 140px;
          right: 0; }
      .talk--03 .inner > .imgBox span {
        display: block;
        font-size: 14px; }
    .talk--03 .inner .graphBox {
      margin: 0 auto; }
    .talk.move .inner {
      opacity: 1;
      top: 0; }
  .linkList {
    position: relative;
    top: 50px;
    opacity: 0;
    transition-duration: 1.5s;
    padding: 0 0 100px; }
    .linkList .inner {
      max-width: 1000px;
      margin: 0 auto; }
      .linkList .inner .ruby {
        width: 206px;
        background: #4d4d4d;
        border-radius: 8px;
        height: 36px;
        line-height: 36px;
        text-align: center;
        margin: 0 auto 40px; }
        .linkList .inner .ruby img {
          vertical-align: middle;
          height: 14px; }
      .linkList .inner h2 {
        font-size: 24px;
        line-height: 1.4;
        font-weight: bold;
        text-align: center;
        margin: 0 0 70px; }
      .linkList .inner ul {
        overflow: hidden; }
        .linkList .inner ul li {
          width: calc(50% - 20px);
          float: left;
          margin: 0 40px 40px 0; }
          .linkList .inner ul li:nth-child(2n) {
            margin: 0 0 40px; }
          .linkList .inner ul li:nth-child(5) {
            margin: 0 40px 0 0; }
          .linkList .inner ul li:nth-child(6) {
            margin: 0; }
          .linkList .inner ul li a {
            text-align: center;
            text-decoration: none;
            width: 100%;
            height: 156px;
            display: flex;
            align-items: center;
            justify-content: center; }
            .linkList .inner ul li a:hover {
              opacity: .6; }
            .linkList .inner ul li a .title {
              color: #FFF;
              font-size: 20px;
              line-height: 1.6;
              font-weight: bold; }
          .linkList .inner ul li:nth-child(1) a {
            background: url(/assets/img/special/bg_special_link_01.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul li:nth-child(2) a {
            background: url(/assets/img/special/bg_special_link_02.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul li:nth-child(3) a {
            background: url(/assets/img/special/bg_special_link_03.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul li:nth-child(4) a {
            background: url(/assets/img/special/bg_special_link_04.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul li:nth-child(5) a {
            background: url(/assets/img/special/bg_special_link_05.jpg) no-repeat center center;
            background-size: cover;
            margin-bottom: 100px; }
        .linkList .inner ul .list_02 {
          width: calc(50% - 20px);
          float: left;
          margin: 0 40px 40px 0; }
          .linkList .inner ul .list_02:nth-child(2n) {
            margin: 0 0 40px; }
          .linkList .inner ul .list_02:nth-child(5) {
            margin: 0 40px 0 0; }
          .linkList .inner ul .list_02:nth-child(6) {
            margin: 0; }
          .linkList .inner ul .list_02 a {
            display: block;
            text-align: center;
            text-decoration: none;
            width: 100%;
            height: 156px;
            padding: 65px 0; }
            .linkList .inner ul .list_02 a:hover {
              opacity: .6; }
            .linkList .inner ul .list_02 a .title {
              color: #FFF;
              font-size: 20px;
              line-height: 1.6;
              font-weight: bold; }
          .linkList .inner ul .list_02:nth-child(1) a {
            background: url(/assets/img/special/bg_special_link_06.jpg) no-repeat center center;
            background-size: cover; }
          .linkList .inner ul .list_02:nth-child(2) a {
            background: url(/assets/img/special/bg_special_link_07.jpg) no-repeat center center;
            background-size: cover; }
    .linkList.move {
      opacity: 1;
      top: 0; }
  .voice {
    position: relative;
    top: 30px;
    opacity: 0;
    transition-duration: 1.5s;
    max-width: 680px;
    margin: 0 auto 80px; }
    .voice.move {
      opacity: 1;
      top: 0; }
    .voice:first-child {
      margin-top: 80px; }
    .voice:nth-child(odd) .voice__profile {
      color: #44A844; }
    .voice:nth-child(even) .voice__profile {
      color: #E38F60; }
    .voice__profile {
      line-height: 1.5; }
      .voice__profile dt {
        font-size: 14px; }
      .voice__profile dd {
        font-weight: bold;
        font-size: 20px; }
    .voice__box {
      display: flex;
      justify-content: space-between; }
    .voice__txt {
      line-height: 2; }
      .voice__txt .voice__img {
        width: 60%;
        margin: 40px auto 0; }
    .voice__title {
      font-size: 18px;
      font-weight: bold;
      margin-bottom: 10px; }
    .voice__img {
      width: 40%;
      margin: 10px 0 0 40px;
      flex: 0 0 40%; }
      .voice__img img {
        width: 100%; }
    .voice__sec {
      display: -webkit-flex;
      display: -webkit-flex;
      display: flex;
      align-items: center;
      margin-bottom: 20px; }
    .voice__icon {
      width: 40px;
      margin-right: 10px; }
      .voice__icon img {
        width: 100%; }
  .spa {
    font-feature-settings: "palt"; }
    .spa img {
      max-width: 100%; }
    .spa .model .inner {
      max-width: 1168px;
      margin: 0 auto; }
    .spa .model__ttl {
      margin: 70px auto 88px;
      text-align: center;
      font-weight: bold;
      font-size: 24px; }
    .spa .model__figure {
      text-align: center; }
    .spa .model__text {
      position: relative;
      padding-top: 130px;
      text-align: center;
      font-weight: bold;
      font-size: 16px;
      line-height: 1.9; }
      .spa .model__text::before {
        position: absolute;
        left: 50%;
        top: 46px;
        transform: translateX(-50%);
        content: "";
        display: block;
        width: 50px;
        height: 30px;
        background: url(../../img/special/spa/icon_arrow.svg); }
    .spa .model .column {
      margin-top: 50px; }
    .spa .column {
      background-color: #E7F1E8;
      border-radius: 8px;
      padding: 46px calc(96 / 1168 * 100%) 60px; }
      .spa .column--row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: calc(28 / 1128 * 100%);
        padding: 20px; }
        .spa .column--row .column__textArea {
          padding: 0 calc(73 / 1168 * 100%); }
        .spa .column--row .column__figure {
          flex: 1 0 calc(608 / 1168 * 100%); }
      .spa .column__ttl {
        margin-bottom: 25px;
        font-weight: bold;
        font-size: 20px;
        line-height: 1.5; }
      .spa .column__text {
        font-size: 16px;
        line-height: 2;
        text-align: justify; }
      .spa .column .mt20 {
        margin-top: 20px; }
      .spa .column .cont {
        padding-top: 25px; }
        .spa .column .cont__ttl {
          margin-bottom: 5px;
          line-height: 1.5;
          font-size: 18px;
          font-weight: bold; }
        .spa .column .cont__text {
          font-size: 16px;
          line-height: 2; }
        .spa .column .cont__img {
          display: flex;
          justify-content: space-between;
          margin-top: 24px; }
      .spa .column .message__ttl {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-top: 78px;
        margin-bottom: 38px;
        text-align: center;
        font-weight: bold;
        font-size: 18px;
        white-space: nowrap;
        gap: 16px; }
        .spa .column .message__ttl::before, .spa .column .message__ttl::after {
          content: "";
          display: block;
          width: 100%;
          height: 1px;
          background: #A4CDA4; }
      .spa .column .message__cont:not(:first-of-type) {
        margin-top: 50px; }
      .spa .column .message__cont:last-of-type {
        padding-bottom: 36px;
        border-bottom: solid 1px #A4CDA4; }
      .spa .column .message__cont .ttlArea {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 18px; }
      .spa .column .message__cont .ttl {
        flex-grow: 1;
        display: flex;
        align-items: center;
        white-space: nowrap;
        gap: 18px;
        font-weight: bold;
        font-size: 18px;
        line-height: 1.5;
        color: #005B00; }
        .spa .column .message__cont .ttl::after {
          content: "";
          display: block;
          flex-shrink: 1;
          width: 100%;
          height: 10px;
          border-bottom: dashed 1px #9D9D9D; }
      .spa .column .message__cont .name {
        white-space: nowrap;
        font-weight: bold;
        font-size: 16px;
        line-height: 1.5; }
      .spa .column .message__cont .detailArea {
        display: flex;
        gap: 20px;
        margin-top: 20px; }
      .spa .column .message__cont .img {
        flex: 0 0 178px; }
    .spa .sec {
      margin-top: 160px; }
      .spa .sec .inner {
        max-width: 1168px;
        margin: 0 auto; }
      .spa .sec__ttl {
        margin-bottom: 35px;
        font-size: 24px;
        font-weight: bold;
        text-align: center;
        line-height: 1.5; }
      .spa .sec .block {
        display: flex;
        align-items: center;
        gap: calc(75 / 1168 * 100%);
        margin-bottom: 70px;
        padding: 0 calc(95 / 1168 * 100%); }
        .spa .sec .block:nth-of-type(even) {
          flex-direction: row-reverse; }
        .spa .sec .block__ttl {
          font-weight: bold;
          font-size: 20px;
          line-height: 1.6;
          margin: 15px 0 25px; }
        .spa .sec .block__text {
          font-size: 16px;
          line-height: 2; }
      .spa .sec--merit .block__img {
        flex: 1 0 calc(488 / 976 * 100%); }
      .spa .sec--effort {
        margin-bottom: 120px; }
        .spa .sec--effort .block {
          gap: calc(50 / 976 * 100%);
          align-items: flex-start; }
          .spa .sec--effort .block__img {
            flex: 1 0 calc(438 / 976 * 100%);
            margin-top: 110px; }
          .spa .sec--effort .block__ttl {
            display: flex;
            align-items: center;
            gap: 20px; } }
