@charset "UTF-8";
/*==================================
      レスポンシブ設定 マップ型変数breakpointsを定義
      =================================*/
/*==================================
      # 色、フォントファミリー
      =================================*/
/*==================================
      common(一般) - 全体に共通するスタイル
      =================================*/
@media screen and (max-width: 767px) {
  .is-pc {
    display: none !important;
  }
}

@media screen and (min-width: 768px) {
  .is-sp {
    display: none !important;
  }
}

body {
  font-size: 16px;
  color: #0B0B0B;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.7;
  background: #fff;
  letter-spacing: 3px;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    letter-spacing: .5vw;
  }
}

.inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 40px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

@media screen and (max-width: 767px) {
  .inner {
    padding: 0 5vw;
  }
}

.mv-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

@media screen and (max-width: 767px) {
  .mv-inner {
    padding: 0 5vw;
  }
}

img {
  width: 100%;
  vertical-align: bottom;
}

a {
  font-family: "Noto Sans JP", sans-serif;
}

::-webkit-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

:-ms-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::-ms-input-placeholder {
  color: rgba(62, 62, 62, 0.5);
}

::placeholder {
  color: rgba(62, 62, 62, 0.5);
}

input[type="text"],
input[type="email"],
input[type="submit"],
select,
textarea {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid #B2B2B2;
  background: #fff;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  width: 100%;
  padding: 7px 10px;
  margin: 0;
  outline: none;
}

.header {
  position: fixed;
  top: 20px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 90%;
  letter-spacing: 3px;
  z-index: 100;
}

@media screen and (max-width: 767px) {
  .header {
    width: 95%;
    top: 10px;
  }
}

.header .header-inner {
  max-width: 1200px;
  margin: 0 40px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.6);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  overflow: hidden;
}

.header .logo {
  max-width: 350px;
  margin-right: 20px;
  padding: 15px 20px;
}

@media screen and (max-width: 767px) {
  .header .logo {
    max-width: 200px;
    padding: 10px;
  }
}

.header .logo a {
  -webkit-transition: .3s;
  transition: .3s;
}

.header .logo a:hover {
  opacity: .6;
}

.header .right {
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header .header-nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.header .header-nav ul li {
  margin-right: 40px;
}

@media screen and (max-width: 1100px) {
  .header .header-nav ul li {
    margin-right: 20px;
  }
}

.header .header-nav ul li a {
  color: #0B0B0B;
  font-size: 14px;
  font-weight: 500;
  position: relative;
  white-space: nowrap;
}

@media screen and (max-width: 1100px) {
  .header .header-nav ul li a {
    font-size: 13px;
  }
}

.header .header-nav ul li a::after {
  content: '';
  display: block;
  height: 1.5px;
  width: 80%;
  background: #E7E74D;
  position: absolute;
  bottom: -5px;
  left: 10%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: .3s;
  transition: .3s;
}

.header .header-nav ul li a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.header .contact-btn a {
  background: #E7E74D;
  color: #0B0B0B;
  padding: 26px;
  font-weight: 500;
  font-size: 14px;
  -webkit-transition: .3s;
  transition: .3s;
  white-space: nowrap;
}

@media screen and (max-width: 1100px) {
  .header .contact-btn a {
    font-size: 13px;
  }
}

.header .contact-btn a:hover {
  opacity: .6;
}

.section {
  padding: 120px 0;
}

@media screen and (max-width: 767px) {
  .section {
    padding: 50px 0;
  }
}

.mv {
  max-height: 750px;
  position: relative;
  background: url(../img/mv-pc.jpg) no-repeat center center/cover;
}

@media screen and (max-width: 767px) {
  .mv {
    max-height: initial;
    background: rgba(231, 231, 77, 0.15) !important;
  }
}

.mv img {
  width: 100%;
  height: 100%;
  max-height: 750px;
  -o-object-fit: cover;
     object-fit: cover;
}

.mv .contents {
  padding: 200px 0 150px;
  margin-left: auto;
  width: 50%;
  text-align: center;
  font-family: "Noto Serif JP", serif;
}

@media screen and (max-width: 800px) {
  .mv .contents {
    width: 80%;
  }
}

@media screen and (max-width: 767px) {
  .mv .contents {
    width: 100%;
    padding: 30px 0 30px;
  }
}

.mv .contents .text1 {
  font-size: 32px;
  margin-bottom: 40px;
  font-weight: 500;
}

@media screen and (max-width: 1200px) {
  .mv .contents .text1 {
    font-size: 26px;
  }
}

@media screen and (max-width: 1100px) {
  .mv .contents .text1 {
    font-size: 24px;
  }
}

@media screen and (max-width: 767px) {
  .mv .contents .text1 {
    font-size: 5vw;
    margin-bottom: 20px;
  }
}

.mv .contents .text2 {
  font-size: 21px;
  font-weight: 500;
  line-height: 2;
}

@media screen and (max-width: 1200px) {
  .mv .contents .text2 {
    font-size: 18px;
  }
}

@media screen and (max-width: 1100px) {
  .mv .contents .text2 {
    font-size: 16px;
  }
}

@media screen and (max-width: 767px) {
  .mv .contents .text2 {
    font-size: 3.7vw;
  }
}

.drawer-icon {
  position: fixed;
  top: 23px;
  right: 20px;
  z-index: 300;
  -webkit-transition: -webkit-transform .5s ease 0s;
  transition: -webkit-transform .5s ease 0s;
  transition: transform .5s ease 0s;
  transition: transform .5s ease 0s, -webkit-transform .5s ease 0s;
}

@media screen and (min-width: 768px) {
  .drawer-icon {
    display: none;
  }
}

.drawer-icon.is-active {
  -webkit-transform: translateX(-200px);
          transform: translateX(-200px);
}

.drawer-icon.is-active .drawer-icon-bar1 {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 8px;
  -webkit-transition: .3s;
  transition: .3s;
  background: #fff;
}

.drawer-icon.is-active .drawer-icon-bar2 {
  opacity: 0;
  -webkit-transition: .3s;
  transition: .3s;
}

.drawer-icon.is-active .drawer-icon-bar3 {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 8px;
  -webkit-transition: .3s;
  transition: .3s;
  background: #fff;
}

.drawer-icon-bars {
  width: 22px;
  height: 20px;
  display: block;
  position: relative;
}

.drawer-icon-bar1,
.drawer-icon-bar2,
.drawer-icon-bar3 {
  position: absolute;
  width: 22px;
  height: 2px;
  background: #0B0B0B;
  top: 0;
  left: 0;
}

.drawer-icon-bar1 {
  top: 0;
  -webkit-transition: .3s;
  transition: .3s;
}

.drawer-icon-bar2 {
  top: 8px;
  -webkit-transition: .3s;
  transition: .3s;
}

.drawer-icon-bar3 {
  top: 16px;
  -webkit-transition: .3s;
  transition: .3s;
}

.drawer-content {
  width: 200px;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  background: #fff;
  z-index: 250;
  -webkit-transform: translateX(105%);
          transform: translateX(105%);
  -webkit-transition: -webkit-transform .5s ease 0s;
  transition: -webkit-transform .5s ease 0s;
  transition: transform .5s ease 0s;
  transition: transform .5s ease 0s, -webkit-transform .5s ease 0s;
}

.drawer-content.is-active {
  -webkit-transform: translateX(0);
          transform: translateX(0);
}

.drawer-icon-nav ul li {
  border-bottom: 1px dotted #0B0B0B;
}

.drawer-icon-nav ul li a {
  display: block;
  color: #0B0B0B;
  padding: 18px 20px;
}

.drawer-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(11, 11, 11, 0.6);
  z-index: 220;
  display: none;
}

.drawer-mask.is-active {
  display: block;
}

.section-title {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .section-title {
    margin-bottom: 30px;
  }
}

.section-title .ja {
  color: #0B0B0B;
  font-size: 16px;
  line-height: 1;
  font-family: "Noto Serif JP", serif;
  position: relative;
}

@media screen and (max-width: 767px) {
  .section-title .ja {
    font-size: 14px;
  }
}

.section-title .ja::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: -1010px;
  width: 1000px;
  content: "";
  height: 1.5px;
  background: #E7E74D;
}

@media screen and (max-width: 767px) {
  .section-title .ja::before {
    height: 1px;
    left: -1005px;
  }
}

.section-title .en {
  color: #E7E74D;
  font-family: "Noto Serif JP", serif;
  font-size: 65px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .section-title .en {
    font-size: 40px;
  }
}

.scroll_down {
  position: relative;
  width: 100%;
  height: 100vh;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}

@media screen and (max-width: 767px) {
  .scroll_down {
    display: none;
  }
}

.scroll_down:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, rgba(0, 0, 0, 0)), color-stop(80%, rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0.8)));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.8) 80%, rgba(0, 0, 0, 0.8) 100%);
}

.scroll_down a {
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  width: 13px;
  padding: 10px 10px 110px;
  color: #000;
  font-size: 12px;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  -webkit-transition: .2s;
  transition: .2s;
  margin: auto;
  font-family: "Noto Serif JP", serif;
}

.mv .contents {
  position: relative;
}

.scroll_down a:before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 78%;
  width: 1px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  height: 100px;
  background: #ddd;
}

.scroll_down-position {
  position: absolute;
  bottom: -60px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.scroll_down a:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 78%;
  width: 1px;
  height: 100px;
  background: #000;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

.scroll_down a:hover {
  opacity: .5;
}

#type01 a:after {
  -webkit-animation: sdl01 2.5s cubic-bezier(1, 0, 0, 1) infinite;
          animation: sdl01 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}

html {
  scroll-behavior: smooth;
}

@-webkit-keyframes sdl01 {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

@keyframes sdl01 {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}

.topMessage {
  background: url(../img/top-message-bg.png) no-repeat top center/cover;
}

.topMessage .lead1 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
  margin-bottom: 10px;
  letter-spacing: 5px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .topMessage .lead1 {
    font-size: 5vw;
  }
}

.topMessage .lead2 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 24px;
  letter-spacing: 5px;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .topMessage .lead2 {
    font-size: 4vw;
    margin-bottom: 20px;
  }
}

.topMessage .video {
  max-width: 800px;
  margin: 0 auto;
}

.topMessage .video .video-wrapper {
  width: 100%;
}

.topMessage .video .video-wrapper video {
  width: 100%;
}

.topMessage .text3 {
  font-weight: 500;
  text-align: center;
  font-size: 18px;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .topMessage .text3 {
    margin-top: 20px;
    font-size: 3.7vw;
  }
}

.topMessage .text4 {
  font-family: "Noto Serif JP", serif;
  text-align: center;
  font-size: 30px;
  text-align: center;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .topMessage .text4 {
    margin-top: 20px;
    font-size: 4.5vw;
  }
}

.topMessage .btn {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .topMessage .btn {
    margin-top: 30px;
  }
}

.section-btn a {
  background: #E7E74D;
  font-size: 18px;
  border: 1px solid #E7E74D;
  border-radius: 40px;
  padding: 15px 50px;
  -webkit-transition: .3s;
  transition: .3s;
  color: #0B0B0B;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .section-btn a {
    font-size: 16px;
  }
}

.section-btn a:hover {
  opacity: .6;
}

.topConcept {
  background: url(../img/topConcept-bg.jpg) no-repeat top center/cover;
}

.topConcept .section-title .en {
  color: #fff;
}

.topConcept .section-title .ja::before {
  background: #fff;
}

.topConcept .box {
  background: #fff;
  padding: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .topConcept .box {
    padding: 30px 20px;
    display: block;
  }
}

.topConcept .box .left {
  width: 580px;
}

@media screen and (max-width: 767px) {
  .topConcept .box .left {
    width: 100%;
    margin-bottom: 20px;
  }
}

.topConcept .box .left .title {
  font-family: "Noto Serif JP", serif;
  font-size: 28px;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .topConcept .box .left .title {
    margin-bottom: 20px;
    font-size: 5vw;
  }
}

.topConcept .box .left .title span {
  color: #9EA333;
}

.topConcept .box .left .text {
  font-size: 18px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .topConcept .box .left .text {
    font-size: 3.7vw;
  }
}

.topConcept .box .right {
  width: calc(100% - 600px);
}

@media screen and (max-width: 767px) {
  .topConcept .box .right {
    width: 100%;
  }
}

.about {
  background: url(../img/about-bg.png) no-repeat center center/cover;
}

.about .box {
  background: #fff;
  padding: 60px 40px;
  max-width: 800px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .about .box {
    padding: 30px 20px;
  }
}

.about .box .title {
  margin-bottom: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .about .box .title {
    margin-bottom: 30px;
  }
}

.about .box .title .title-icon {
  width: 25px;
  margin-right: 5px;
}

@media screen and (max-width: 767px) {
  .about .box .title .title-icon {
    width: 20px;
  }
}

.about .box .title .title-text {
  font-size: 24px;
}

@media screen and (max-width: 767px) {
  .about .box .title .title-text {
    font-size: 4.5vw;
  }
}

.about .box ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 20px;
}

.about .box ul li:last-child {
  margin-bottom: 0;
}

.about .box ul li .check {
  width: 25px;
}

@media screen and (max-width: 767px) {
  .about .box ul li .check {
    width: 15px;
  }
}

.about .box ul li .text {
  width: calc(100% - 30px);
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .about .box ul li .text {
    font-size: 3.7vw;
    width: calc(100% - 23px);
  }
}

.topFeature ul li {
  border: 2px solid #E7E74D;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-radius: 20px;
  padding: 40px;
  margin-bottom: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 767px) {
  .topFeature ul li {
    display: block;
  }
}

.topFeature ul li:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .topFeature ul li {
    padding: 30px 20px;
    margin-bottom: 20px;
  }
}

.topFeature ul li .left {
  width: 74%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .topFeature ul li .left {
    width: 100%;
    margin-bottom: 20px;
    display: block;
  }
}

.topFeature ul li .left .num {
  color: #E7E74D;
  font-size: 35px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  line-height: 1;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .topFeature ul li .left .num {
    font-size: 28px;
    margin-right: 5px;
    text-align: center;
    margin-bottom: 10px;
  }
}

.topFeature ul li .left .title {
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .topFeature ul li .left .title {
    font-size: 5vw;
    margin-bottom: 20px;
    text-align: center;
  }
}

.topFeature ul li .left .title span {
  color: #9EA333;
}

.topFeature ul li .left .text {
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .topFeature ul li .left .text {
    font-size: 3.7vw;
  }
}

.topFeature ul li .right {
  width: 24%;
}

@media screen and (max-width: 767px) {
  .topFeature ul li .right {
    width: 40%;
    margin: 0 auto;
  }
}

.topService .btn {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .topService .btn {
    margin-top: 30px˝;
  }
}

.topService ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 767px) {
  .topService ul {
    display: block;
  }
}

.topService ul li {
  border-radius: 20px;
  background: #FFFEF2;
  padding: 40px 30px;
}

.topService ul li .text {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .topService ul li .text {
    font-size: 3.7vw;
  }
}

.topService ul li .text .bold {
  font-weight: bold;
}

.topService ul li a {
  color: #9EA333;
  -webkit-transition: .3s;
  transition: .3s;
  font-weight: bold;
}

.topService ul li a:hover {
  opacity: .6;
}

.topService ul li .img {
  text-align: center;
}

.topService ul li .img img {
  width: auto;
  height: 100px;
  margin: 0 auto 20px;
}

.topService ul li .title {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .topService ul li .title {
    font-size: 5vw;
  }
}

@media screen and (max-width: 767px) {
  .topService ul li {
    padding: 30px 20px;
  }
}

@media screen and (min-width: 768px) {
  .topService ul li {
    width: calc(50% - 40px * 1/2);
    margin-right: 40px;
  }
  .topService ul li:nth-child(2n) {
    margin-right: 0;
  }
  .topService ul li:nth-child(n + 3) {
    margin-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  .topService ul li {
    width: 100%;
    margin-bottom: 20px;
  }
  .topService ul li:last-child {
    margin-bottom: 0;
  }
}

.topVoice {
  padding-bottom: 0;
}

.topVoice .btn {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .topVoice .btn {
    margin-top: 30px;
  }
}

.topVoice .topVoice-wrap {
  background: url(../img/voice-bg.jpg) no-repeat center center/cover;
  padding: 60px 0 120px;
}

@media screen and (max-width: 767px) {
  .topVoice .topVoice-wrap {
    padding: 30px 0 50px;
  }
}

.topVoice ul li {
  font-size: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #fff;
  margin-bottom: 7px;
  padding: 50px 40px;
}

@media screen and (max-width: 767px) {
  .topVoice ul li {
    font-size: 4vw;
  }
}

.topVoice ul li .name {
  font-weight: 700;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .topVoice ul li .name {
    margin-bottom: 20px;
  }
}

.topVoice ul li .text {
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .topVoice ul li .text {
    font-size: 3.7vw;
  }
}

.topVoice ul li:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .topVoice ul li {
    display: block;
    padding: 30px 20px;
  }
}

.topVoice ul li:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

@media screen and (min-width: 768px) {
  .topVoice ul li:nth-child(2n) .name {
    text-align: right;
  }
}

.topVoice ul li .img {
  width: 20%;
  border-radius: 50%;
}

@media screen and (max-width: 767px) {
  .topVoice ul li .img {
    width: 40%;
    margin: 0 auto 20px;
  }
}

.topVoice ul li .img .wrap {
  padding-top: 100%;
  border-radius: 50%;
  position: relative;
}

.topVoice ul li .img .wrap::before {
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  content: "";
  background: #FFFCDB;
  border-radius: 50%;
  content: "";
}

.topVoice ul li .img .wrap img {
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.topVoice ul li .contents {
  width: 75%;
}

@media screen and (max-width: 767px) {
  .topVoice ul li .contents {
    width: 100%;
  }
}

.contact {
  background: #FAFAEF;
}

.contact .section-title {
  text-align: center;
  position: relative;
}

.contact .section-title .ja {
  position: absolute;
  top: 30%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .contact .section-title .ja {
    top: 10%;
  }
}

.contact .section-title .ja::before {
  display: none;
}

@media screen and (min-width: 768px) {
  .contact .section-title .en {
    font-size: 90px;
  }
}

.contact .lead {
  max-width: 730px;
  margin: 0 auto 60px;
}

@media screen and (max-width: 767px) {
  .contact .lead {
    margin-bottom: 30px;
  }
}

.contact .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 16px;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .contact .row {
    font-size: 14px;
    margin-bottom: 20px;
    display: block;
  }
}

.contact .row .dt {
  width: 250px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .contact .row .dt {
    width: 100%;
    margin-bottom: 10px;
  }
}

.contact .row .dt .required {
  background: #DD5656;
  color: #fff;
  padding: 2px 10px;
  letter-spacing: 0;
}

.contact .row .dt .required.no {
  background: #E8E9F3;
}

.contact .row .dd {
  width: calc(100% - 270px);
}

@media screen and (max-width: 767px) {
  .contact .row .dd {
    width: 100%;
  }
}

.contact .row textarea {
  height: 200px;
  resize: none;
}

.contact .textarea-row {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

@media screen and (min-width: 768px) {
  .contact .textarea-row .dt {
    margin-top: 10px;
  }
}

.contact .submit {
  text-align: center;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .contact .submit {
    margin-top: 30px;
  }
}

.contact input[type="submit"] {
  background: #E7E74D;
  font-size: 18px;
  border: 1px solid #E7E74D;
  border-radius: 40px;
  padding: 15px 50px;
  -webkit-transition: .3s;
  transition: .3s;
  color: #0B0B0B;
  display: inline-block;
  cursor: pointer;
  width: auto;
}

@media screen and (max-width: 767px) {
  .contact input[type="submit"] {
    font-size: 16px;
  }
}

.contact input[type="submit"]:hover {
  opacity: .6;
}

.cta {
  margin-top: 100px;
  background: rgba(231, 231, 77, 0.15);
}

@media screen and (max-width: 767px) {
  .cta {
    margin-top: 50px;
  }
}

.cta .contents {
  max-width: 800px;
  margin: 0 auto;
  padding: 60px 60px;
  position: relative;
  font-size: 30px;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  margin-bottom: 60px;
}

@media screen and (max-width: 1100px) {
  .cta .contents {
    font-size: 26px;
    margin-bottom: 30px;
    padding: 40px 40px;
  }
}

@media screen and (max-width: 767px) {
  .cta .contents {
    font-size: 5vw;
    padding: 30px 20px;
  }
}

.cta .contents .heading {
  position: absolute;
  top: 0;
  left: 0;
  width: 90%;
}

.cta .contents .bottom {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 90%;
}

.cta .img {
  max-width: 400px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .cta .img {
    max-width: 280px;
  }
}

.footer {
  background: url(../img/footer-bg.png) no-repeat center center/cover;
  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .footer {
    padding: 50px 0;
  }
}

.footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .footer ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 20px;
  }
}

.footer ul li {
  margin-right: 40px;
}

@media screen and (max-width: 767px) {
  .footer ul li {
    width: 50%;
    text-align: center;
    margin-right: 0;
    margin-bottom: 20px;
  }
}

.footer ul li:last-child {
  margin-right: 0;
}

.footer ul li a {
  color: #0B0B0B;
  font-weight: bold;
  font-size: 14px;
  -webkit-transition: .3s;
  transition: .3s;
  position: relative;
}

.footer ul li a::after {
  content: '';
  display: block;
  height: 1.5px;
  width: 80%;
  background: #E7E74D;
  position: absolute;
  bottom: -5px;
  left: 10%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: .3s;
  transition: .3s;
}

.footer ul li a:hover::after {
  -webkit-transform: scale(1, 1);
          transform: scale(1, 1);
}

.footer .contact-btn {
  text-align: center;
  margin-bottom: 40px;
}

.footer .contact-btn a {
  border-radius: 40px;
  padding: 15px 60px;
  color: #0B0B0B;
  display: inline-block;
  background: #E7E74D;
  font-size: 18px;
  font-weight: 500;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 767px) {
  .footer .contact-btn a {
    font-size: 16px;
    padding-bottom: 10px 40px;
  }
}

.footer .contact-btn a:hover {
  opacity: .6;
}

.footer .bottom-ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 40px;
}

.footer .bottom-ul .sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.footer .bottom-ul .sns .sns-item {
  width: 30px;
  margin-right: 20px;
}

.footer .bottom-ul .sns .sns-item a {
  -webkit-transition: .3s;
  transition: .3s;
}

.footer .bottom-ul .sns .sns-item a:hover {
  opacity: .6;
}

.footer .bottom-ul .link a {
  color: #9EA333;
  font-size: 14px;
  font-weight: bold;
  -webkit-transition: .3s;
  transition: .3s;
}

@media screen and (max-width: 767px) {
  .footer .bottom-ul .link a {
    font-size: 13px;
  }
}

.footer .bottom-ul .link a:hover {
  opacity: .6;
}

.footer .copyright {
  text-align: center;
  font-size: 13px;
}

@media screen and (max-width: 767px) {
  .footer .copyright {
    font-size: 2.5vw;
  }
}

.topVoice-wrap .inner {
  position: relative;
}

.topVoice-wrap .block1 {
  max-width: 70px;
  position: absolute;
  right: 0;
  top: 0%;
}

@media screen and (max-width: 767px) {
  .topVoice-wrap .block1 {
    max-width: 45px;
  }
}

.topVoice-wrap .block2 {
  max-width: 50px;
  position: absolute;
  left: 0;
  top: 50%;
}

@media screen and (max-width: 767px) {
  .topVoice-wrap .block2 {
    max-width: 25px;
  }
}

.topVoice-wrap .block3 {
  max-width: 40px;
  position: absolute;
  right: 2%;
  top: 60%;
}

@media screen and (max-width: 767px) {
  .topVoice-wrap .block3 {
    max-width: 25px;
  }
}

.topService .inner {
  position: relative;
}

.topService .inner .block1 {
  max-width: 90px;
  position: absolute;
  right: 0;
  top: 0%;
}

@media screen and (max-width: 767px) {
  .topService .inner .block1 {
    max-width: 45px;
  }
}

.cta {
  position: relative;
}

.cta .inner {
  position: relative;
}

.cta .inner .block1 {
  max-width: 70px;
  position: absolute;
  right: 0;
  top: -50%;
}

@media screen and (max-width: 767px) {
  .cta .inner .block1 {
    top: -30%;
    max-width: 25px;
  }
}

.common-mv {
  font-size: 28px;
  font-family: "Noto Serif JP", serif;
  text-align: center;
  background: url(../img/common-mv-bg.jpg) no-repeat center center/cover;
  padding: 180px 0 100px;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .common-mv {
    padding: 80px 0 50px;
    font-size: 5vw;
  }
}

.message {
  background: url(../img/message-bg.jpg) no-repeat center center/cover;
}

.message .img1 {
  max-width: 900px;
  margin: 40px auto;
}

@media screen {
  .message .img1 {
    margin: 20px auto;
  }
}

@media screen and (max-width: 767px) {
  .message .text3 {
    text-align: left;
  }
}

.profile .box {
  background: #FFFEF2;
  border-radius: 40px;
  padding: 50px;
}

@media screen and (max-width: 767px) {
  .profile .box {
    border-radius: 20px;
    padding: 30px 20px;
  }
}

.profile .heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .profile .heading {
    margin-bottom: 30px;
    display: block;
  }
}

.profile .heading .left {
  width: 30%;
}

@media screen and (max-width: 767px) {
  .profile .heading .left {
    width: 100%;
    margin: 0 auto 20px;
  }
}

@media screen and (max-width: 767px) {
  .profile .heading .left .img {
    width: 50%;
    margin: 0 auto;
  }
}

.profile .heading .left .position {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .profile .heading .left .position {
    margin-bottom: 10px;
    font-size: 3.7vw;
    text-align: center;
  }
}

.profile .heading .left .name {
  font-size: 22px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}

@media screen and (max-width: 767px) {
  .profile .heading .left .name {
    font-size: 5vw;
    text-align: center;
  }
}

.profile .heading .right {
  width: 65%;
  font-size: 14px;
  font-weight: 500;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .profile .heading .right {
    width: 100%;
    font-size: 3.7vw;
  }
}

.profile .bottom .row {
  border-top: 1.5px solid #E7E74D;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.profile .bottom .row:last-child {
  border-bottom: 1.5px solid #E7E74D;
}

@media screen and (max-width: 767px) {
  .profile .bottom .row {
    display: block;
  }
}

.profile .bottom .row .dt {
  background: #FCFCE5;
  width: 30%;
  padding: 30px 0;
  text-align: center;
  color: #9EA333;
  font-size: 34px;
  font-family: "Noto Serif JP", serif;
  position: relative;
}

@media screen and (max-width: 767px) {
  .profile .bottom .row .dt {
    font-size: 20px;
    width: 100%;
    padding: 20px 0;
  }
}

.profile .bottom .row .dt .wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

.profile .bottom .row .dd {
  width: 70%;
  padding: 30px;
  line-height: 2;
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .profile .bottom .row .dd {
    font-size: 3.7vw;
    width: 100%;
    padding: 20px;
  }
}

.profile .bottom .row .dd .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .profile .bottom .row .dd .flex {
    display: block;
    margin-bottom: 10px;
  }
  .profile .bottom .row .dd .flex:last-child {
    margin-bottom: 0;
  }
}

.profile .bottom .row .dd .flex .dd-left {
  width: 110px;
}

@media screen and (max-width: 767px) {
  .profile .bottom .row .dd .flex .dd-left {
    width: 100%;
  }
}

.profile .bottom .row .dd .flex .dd-right {
  width: calc(100% - 110px);
}

@media screen and (max-width: 767px) {
  .profile .bottom .row .dd .flex .dd-right {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  .profile .btn-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .profile .btn-flex .section-btn:first-child {
    margin-right: 40px;
  }
}

@media screen and (max-width: 767px) {
  .profile .btn-flex .section-btn {
    text-align: center;
  }
  .profile .btn-flex .section-btn:first-child {
    margin-bottom: 20px;
  }
}

.voice {
  padding: 120px 0;
  background: url(../img/message-bg.jpg) no-repeat center center/cover;
}

@media screen and (max-width: 767px) {
  .voice {
    padding: 50px 0;
  }
}

.voice ul li {
  border: 1.5px solid #E7E74D;
  border-radius: 20px;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .voice ul li {
    margin-bottom: 20px;
  }
}

.voice ul li:last-child {
  margin-bottom: 0;
}

.feature {
  background: url(../img/message-bg.jpg) no-repeat center center/cover;
}

.topFeature ul li {
  background: #fff;
}

.contact .lead2 {
  text-align: center;
  font-weight: bold;
}

.contact .section-title .ja {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .contact .section-title .en {
    font-size: 50px;
  }
  .contact .section-title .ja {
    top: -13%;
  }
}

.contact2 {
  padding-top: 250px;
}

@media screen and (max-width: 767px) {
  .contact2 {
    padding-top: 120px;
  }
}

.service {
  background: url(../img/message-bg.jpg) no-repeat center center/cover;
}

.service ul {
  display: block;
}

.service ul li {
  width: 100%;
  margin-bottom: 60px;
}

.service ul li .img {
  width: 70%;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .service ul li .img {
    width: 50%;
    margin: 0 auto 0px;
  }
}

.service ul li .img img {
  height: auto;
  width: 100%;
}

.service ul li .flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}

@media screen and (max-width: 767px) {
  .service ul li .flex {
    display: block;
  }
}

.service ul li .left {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .service ul li .left {
    width: 100%;
    margin-bottom: 10px;
  }
}

.service ul li .right {
  width: 48%;
}

@media screen and (max-width: 767px) {
  .service ul li .right {
    width: 100%;
  }
}

.service ul li .title {
  margin-bottom: 0;
}

.service .bottom {
  margin: 0 auto;
  margin-top: 60px;
  max-width: 800px;
}

@media screen and (max-width: 767px) {
  .service .bottom {
    margin-top: 30px;
  }
}

.service .bottom .row {
  margin-bottom: 60px;
}

.service .bottom .row:last-child {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .service .bottom .row {
    margin-bottom: 30px;
  }
}

.service .bottom .row .title5 {
  font-size: 16px;
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .service .bottom .row .title5 {
    font-size: 3.7vw;
  }
}

.service .bottom .row .text {
  font-weight: 500;
  font-size: 18px;
}

@media screen and (max-width: 767px) {
  .service .bottom .row .text {
    font-size: 4vw;
  }
}

.service .bottom .category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .service .bottom .category {
    margin-top: 20px;
  }
}

.service .bottom .category .item {
  padding: 15px 20px;
  background: #F2F2A1;
  border-radius: 20px;
  margin-right: 15px;
  margin-bottom: 15px;
  font-size: 16px;
}

@media screen and (max-width: 767px) {
  .service .bottom .category .item {
    font-size: 3.7vw;
    padding: 10px 15px;
  }
}

.service .bottom .category2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 40px;
}

@media screen and (max-width: 767px) {
  .service .bottom .category2 {
    margin-top: 20px;
  }
}

.service .bottom .category2 .item {
  background: #F2F2A1;
  border-radius: 20px;
  padding: 30px 30px;
}

@media screen and (min-width: 768px) {
  .service .bottom .category2 .item {
    width: calc(50% - 20px * 1/2);
    margin-right: 20px;
  }
  .service .bottom .category2 .item:nth-child(2n) {
    margin-right: 0;
  }
  .service .bottom .category2 .item:nth-child(n + 3) {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .service .bottom .category2 .item {
    margin-bottom: 20px;
    width: 100%;
  }
  .service .bottom .category2 .item:last-child {
    margin-bottom: 0;
  }
}

.service .bottom .c2-title {
  text-align: center;
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .service .bottom .c2-title {
    font-size: 4vw;
  }
}

.service .bottom .c2-text {
  font-size: 15px;
}

@media screen and (max-width: 767px) {
  .service .bottom .c2-text {
    font-size: 3.7vw;
  }
}

@media screen and (max-width: 767px) {
  .privacy .section-title .en {
    font-size: 40px;
  }
}

.privacy-wrap .ppInfo {
  font-size: 16px;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .privacy-wrap .ppInfo {
    font-size: 14px;
    margin-bottom: 30px;
  }
}

.privacy-wrap .ppTtl {
  font-weight: bold;
  letter-spacing: 0.2em;
  font-size: 28px;
  padding-bottom: 30px;
  line-height: 1.5;
  margin-bottom: 30px;
  border-bottom: 1px solid #E7E74D;
}

@media screen and (max-width: 767px) {
  .privacy-wrap .ppTtl {
    font-size: 18px;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
}

.privacy-wrap .ppTxt {
  margin-bottom: 110px;
}

@media screen and (max-width: 767px) {
  .privacy-wrap .ppTxt {
    margin-bottom: 30px;
  }
}

.service .block2 {
  max-width: 50px;
  position: absolute;
  left: 0;
  top: 50%;
}

@media screen and (max-width: 767px) {
  .service .block2 {
    max-width: 25px;
  }
}

.service .block3 {
  max-width: 40px;
  position: absolute;
  right: 2%;
  top: 60%;
}

@media screen and (max-width: 767px) {
  .service .block3 {
    max-width: 25px;
  }
}

.radio-row .wpcf7-list-item-label {
  margin-bottom: 10px;
  padding-left: 20px;
  margin-right: 40px;
  position: relative;
}

.radio-row .wpcf7-list-item-label::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #0B0B0B;
  border-radius: 50%;
  content: "";
}

.radio-row .wpcf7-list-item-label::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 3px;
  width: 9px;
  height: 9px;
  border: 1px solid #E7E74D;
  border-radius: 50%;
  background: #E7E74D;
  content: "";
  display: none;
}

.radio-row input[type="radio"]:checked + .wpcf7-list-item-label::after {
  display: block;
}

.check-row .wpcf7-list-item-label {
  margin-bottom: 10px;
  padding-left: 20px;
  margin-right: 40px;
  position: relative;
}

.check-row .wpcf7-list-item-label::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #0B0B0B;
  content: "";
}

.check-row .wpcf7-list-item-label::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(-136deg);
          transform: translateY(-50%) rotate(-136deg);
  left: 5px;
  width: 3px;
  height: 15px;
  border-top: 4px solid #E7E74D;
  border-left: 4px solid #E7E74D;
  content: "";
  display: none;
}

.check-row input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  display: block;
}

input[type="radio"] {
  position: absolute;
  left: -1000%;
}

input[type="checkbox"] {
  position: absolute;
  left: -1000%;
}

@media screen and (max-width: 767px) {
  .wpcf7-list-item {
    margin: 0 !important;
    margin-bottom: 10px !important;
  }
}

body {
  -webkit-animation-name: fuwa;
          animation-name: fuwa;
  -webkit-animation-duration: .8s;
          animation-duration: .8s;
}

@-webkit-keyframes fuwa {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fuwa {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.mv .text1 {
  opacity: 0;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}

.mv .text1.action {
  -webkit-animation: fuwa1 .8s ease-in-out forwards;
          animation: fuwa1 .8s ease-in-out forwards;
  -webkit-animation-duration: .8s;
          animation-duration: .8s;
}

.mv .text2 {
  opacity: 0;
  -webkit-transform: translateY(10%);
          transform: translateY(10%);
}

.mv .text2.action {
  -webkit-animation: fuwa1 1.2s ease-in-out forwards;
          animation: fuwa1 1.2s ease-in-out forwards;
  -webkit-animation-duration: .8s;
          animation-duration: .8s;
}

@-webkit-keyframes fuwa1 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes fuwa1 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(15%);
            transform: translateY(15%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@-webkit-keyframes fuwa2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

@keyframes fuwa2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(50px);
            transform: translateY(50px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}

.section-title,
.topMessage .lead1,
.topMessage .lead2,
.topMessage .video,
.topMessage .text3,
.topMessage .text4,
.topMessage .btn,
.topConcept .box .left .title,
.topConcept .box .left .text,
.about .box .title,
.about .box ul li,
.topFeature ul li,
.topService ul li,
.topService .btn,
.topVoice ul li,
.topVoice .btn,
.contact .lead,
.contact-wrap,
.cta .contents,
.cta .img,
.message .img1,
.profile .box {
  opacity: 0;
  -webkit-transform: translateY(50px);
          transform: translateY(50px);
}

.section-title.animate,
.topMessage .lead1.animate,
.topMessage .lead2.animate,
.topMessage .video.animate,
.topMessage .text3.animate,
.topMessage .text4.animate,
.topMessage .btn.animate,
.topConcept .box .left .title.animate,
.topConcept .box .left .text.animate,
.about .box .title.animate,
.about .box ul li.animate,
.topFeature ul li.animate,
.topService ul li.animate,
.topService .btn.animate,
.topVoice ul li.animate,
.topVoice .btn.animate,
.contact .lead.animate,
.contact-wrap.animate,
.cta .contents.animate,
.cta .img.animate,
.message .img1.animate,
.profile .box.animate {
  -webkit-animation: fuwa2 1s ease-in-out forwards;
          animation: fuwa2 1s ease-in-out forwards;
  -webkit-animation-duration: 0.6s;
          animation-duration: 0.6s;
}

.privacy .section-title {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.privacy .section-title.animate {
  -webkit-animation: initial !important;
          animation: initial !important;
}

.contact3 .section-title {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.contact3 .section-title.animate {
  -webkit-animation: initial !important;
          animation: initial !important;
}

.contact3 .contact-wrap {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.contact3 .contact-wrap.animate {
  -webkit-animation: initial !important;
          animation: initial !important;
}

.contact3 .lead {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
}

.contact3 .lead.animate {
  -webkit-animation: initial !important;
          animation: initial !important;
}
