@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700&display=swap");
/* color */
/* font */
/*
@include bgGrad(
  $gradColStr: #c3f7f1,
  $gradColEnd: #a3e8f4
);
*/
/*
.elements {
  @include mq {
  }
  @include mq(l) {
  }
}
*/
@import "https://fonts.googleapis.com/icon?family=Material+Icons";
/*----------------------------------------------------
 elements
----------------------------------------------------*/
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  background: #FFFFFF;
  color: #343575;
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
  font-feature-settings: "palt" 1;
  letter-spacing: 1px;
}
@media screen and (max-width: 549px) {
  body {
    font-size: 14px;
  }
}

img {
  vertical-align: top;
  max-width: 100%;
}

a img {
  transition: 0.5s;
}

@media screen and (min-width: 800px) {
  a:hover img {
    opacity: 0.8;
  }
}
#jquery-lightbox * {
  box-sizing: padding-box;
}

/*----------------------------------------------------
 common
----------------------------------------------------*/
#top {
  position: relative;
  overflow: hidden;
  min-width: 320px;
}

.wrapper {
  width: 92%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
}
@media screen and (max-width: 549px) {
  .wrapper {
    width: 90%;
    padding: 0;
  }
}

.body {
  line-height: 180%;
}
@media screen and (max-width: 799px) {
  .body {
    line-height: 160%;
  }
}

br.pc {
  display: inline;
}

br.tab {
  display: inline;
}

br.sp {
  display: none;
}

img.pc {
  display: inline;
}

img.sp {
  display: none;
}

@media screen and (max-width: 549px) {
  br.tab {
    display: none;
  }
}
@media screen and (max-width: 799px) {
  br.pc {
    display: none;
  }
  br.sp {
    display: inline;
  }
  img.pc {
    display: none;
  }
  img.sp {
    display: inline;
  }
}
/*----------------------------------------------------
  link
----------------------------------------------------*/
a {
  transition: 0.3s;
  outline: none;
  text-decoration: none;
  font-weight: bold;
}
a:link, a:visited, a:hover {
  color: #343575;
  text-decoration: none;
}
a.outer:after {
  content: "\e895";
  font-family: "Material Icons";
  font-size: 130%;
  vertical-align: middle;
  margin-left: 0.3em;
}
a.pdf:after {
  content: "\e415";
  font-family: "Material Icons";
  font-size: 130%;
  vertical-align: middle;
  margin-left: 0.3em;
}

.body a:link,
.note a:link,
a.alt:link {
  color: #343575;
  text-decoration: underline;
}

.body a:visited,
.note a:visited,
a.alt:visited {
  color: #343575;
  text-decoration: underline;
}

.body a:hover,
a.alt:hover {
  color: #343575;
  text-decoration: none;
}

/*----------------------------------------------------
  button
----------------------------------------------------*/
/* button Base */
.btnBase {
  background: #343575;
  display: block;
  line-height: 140%;
  z-index: 2;
  text-align: center;
  font-size: 138%;
  font-weight: 600;
  font-family: "M PLUS Rounded 1c", sans-serif;
  padding: 20px 10px 15px;
  min-height: 100px;
  letter-spacing: 2px;
  max-width: 450px;
  color: #FFFFFF;
  border-radius: 50px;
  position: relative;
  overflow: hidden;
  transition: 0.5s;
  margin: 0 auto;
  box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.1);
  z-index: 1000;
}
.btnBase span {
  position: relative;
  z-index: 2;
  letter-spacing: 0;
}
.btnBase:link {
  color: #fff;
}
.btnBase:visited {
  color: #fff;
}
.btnBase:before {
  content: "";
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  position: absolute;
  left: 0px;
  top: 0px;
  background: #FFFFFF;
  border-radius: 0px;
  opacity: 0;
  transition: 0.5s;
}
.btnBase:after {
  color: #FFFFFF;
}
@media screen and (min-width: 800px) {
  .btnBase:hover span {
    color: #343575;
  }
  .btnBase:hover:before {
    opacity: 1;
  }
  .btnBase:hover:after {
    color: #343575;
    z-index: 100;
  }
}
@media screen and (max-width: 549px) {
  .btnBase {
    min-height: 0px;
    padding: 10px 10px 8px;
    font-size: 150%;
  }
}
.btnBase.btnS {
  max-width: 280px;
  min-height: 40px;
  padding: 8px 10px 0;
  font-size: 100%;
}
.btnBase.btnM {
  max-width: 300px;
  font-size: 125%;
  padding: 10px;
  min-height: 0;
}
.btnBase.btnZoom span {
  padding-left: 20px;
}
.btnBase.btnZoom:after {
  content: "\e04b";
  font-family: "Material Icons";
  display: inline-block;
  position: absolute;
  font-size: 140%;
  left: 20px;
  top: 50%;
  z-index: 1000;
  transform: translateY(-50%);
  vertical-align: middle;
}
.btnBase.disable {
  background: #cccccc;
  border: 1px solid #888888;
  cursor: default;
}
.btnBase.disable span {
  color: #888888;
}
.btnBase.disable:after {
  color: #888888;
}
@media screen and (min-width: 800px) {
  .btnBase.disable:hover {
    background: #cccccc;
    border: 1px solid #888888;
    cursor: default;
  }
  .btnBase.disable:hover span {
    color: #888888;
  }
  .btnBase.disable:hover:before {
    opacity: 0;
  }
  .btnBase.disable:hover:after {
    color: #888888;
  }
}

/*----------------------------------------------------
  header
----------------------------------------------------*/
#siteHd {
  position: absolute;
  width: 100%;
}
#siteHd h1 {
  width: 24%;
  max-width: 106px;
  position: absolute;
  left: 50px;
  top: 50px;
}
@media screen and (max-width: 799px) {
  #siteHd h1 {
    left: 20px;
    top: 20px;
  }
}
#siteHd h1 a {
  display: block;
}
#siteHd #about {
  position: absolute;
  right: 50px;
  top: 60px;
  font-size: 88%;
}
@media screen and (max-width: 799px) {
  #siteHd #about {
    right: 20px;
    top: 40px;
  }
}

/*----------------------------------------------------
  mainContent
----------------------------------------------------*/
#mainContent {
  background: #7bc9ce;
  text-align: center;
}
#mainContent .mainSec + .mainSec {
  margin-top: 200px;
}
@media screen and (max-width: 549px) {
  #mainContent .mainSec + .mainSec {
    margin-top: 60px;
  }
}
#mainContent .mainSec .wrapper > h1,
#mainContent .mainSec .wrapper > .body {
  color: #343575;
  font-size: 275%;
  font-weight: bold;
  line-height: 1.6;
  opacity: 0;
}
@media screen and (max-width: 939px) {
  #mainContent .mainSec .wrapper > h1,
  #mainContent .mainSec .wrapper > .body {
    font-size: 188%;
  }
}
@media screen and (max-width: 549px) {
  #mainContent .mainSec .wrapper > h1,
  #mainContent .mainSec .wrapper > .body {
    font-size: 138%;
  }
}
#mainContent .mainSec .wrapper > h1 .wave,
#mainContent .mainSec .wrapper > .body .wave {
  display: inline-block;
  position: relative;
  padding-bottom: 20px;
}
@media screen and (max-width: 549px) {
  #mainContent .mainSec .wrapper > h1 .wave,
  #mainContent .mainSec .wrapper > .body .wave {
    padding-bottom: 8px;
  }
}
#mainContent .mainSec .wrapper > h1 .wave::after,
#mainContent .mainSec .wrapper > .body .wave::after {
  content: "";
  display: block;
  width: 100%;
  height: 16px;
  background: url(../img/wave3.gif) repeat left top;
  background-size: contain;
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 549px) {
  #mainContent .mainSec .wrapper > h1 .wave::after,
  #mainContent .mainSec .wrapper > .body .wave::after {
    height: 8px;
  }
}
#mainContent .mainSec .wrapper > h1.inview .wave::after,
#mainContent .mainSec .wrapper > .body.inview .wave::after {
  animation: boundIn 0.5s 0.7s ease-in-out both;
}
#mainContent .mainSec .wrapper > h1 {
  margin-bottom: 70px;
}
@media screen and (max-width: 549px) {
  #mainContent .mainSec .wrapper > h1 {
    margin-bottom: 30px;
  }
}
#mainContent .mainSec .wrapper > h1.inview {
  animation: fadeIn 0.6s both;
}
#mainContent .mainSec .wrapper > .body.inview {
  animation: fadeIn 0.6s both;
}
#mainContent .mainSec .wrapper .stage + .body {
  margin-top: 70px;
}
@media screen and (max-width: 549px) {
  #mainContent .mainSec .wrapper .stage + .body {
    margin-top: 30px;
  }
}
#mainContent .mainSec .wrapper .stage {
  width: 82%;
  padding-left: 4%;
  position: relative;
}
@media screen and (max-width: 549px) {
  #mainContent .mainSec .wrapper .stage {
    width: 90%;
    padding-left: 0;
    margin: 0 auto;
  }
}

#mainContent #sec01 {
  padding-top: 160px;
}
@media screen and (max-width: 799px) {
  #mainContent #sec01 {
    padding-top: 130px;
  }
}
@media screen and (max-width: 549px) {
  #mainContent #sec01 .wrapper {
    padding-bottom: max(93vw, 310px);
  }
  #mainContent #sec01 .wrapper .stage {
    width: 70%;
  }
}
#mainContent #sec01 h1 {
  width: 42%;
  padding-right: 4%;
  position: absolute;
  right: 0;
  top: 4%;
  z-index: 10;
  margin-bottom: 0;
}
@media screen and (max-width: 1139px) {
  #mainContent #sec01 h1 {
    right: 0;
  }
}
@media screen and (max-width: 549px) {
  #mainContent #sec01 h1 {
    width: 90%;
    right: 50%;
    transform: translateX(50%);
    height: max(88vw, 300px);
    top: auto;
    bottom: 0;
    padding-right: 0;
  }
}
#mainContent #sec01 h1 ul {
  padding: 24% 0;
  position: relative;
}
#mainContent #sec01 h1 ul li {
  position: absolute;
}
#mainContent #sec01 h1 ul li:nth-child(1) {
  top: 0;
  width: 51%;
  left: 50%;
  transform: translateX(-50%);
  animation: fadeIn 0.6s 0.4s ease-in-out both;
}
#mainContent #sec01 h1 ul li:nth-child(2) {
  top: 28%;
  width: 100%;
  animation: fadeIn 0.6s 1.7s ease-in-out both;
}
#mainContent #sec01 h1 ul li:nth-child(3) {
  top: 150%;
  width: 100%;
  animation: fadeIn 0.6s 2.6s ease-in-out both;
}
#mainContent #sec01 .stage {
  position: relative;
  left: 0;
  top: 40px;
  width: 54%;
}
@media screen and (max-width: 799px) {
  #mainContent #sec01 .stage {
    top: 5vw;
  }
}
@media screen and (max-width: 549px) {
  #mainContent #sec01 .stage {
    top: 0;
  }
}
#mainContent #sec01 .stage .hand {
  position: absolute;
  width: 12.5%;
  right: 33.7%;
  bottom: 19%;
  transform-origin: left bottom;
  animation: hand 1.2s ease-in-out infinite;
}
@media screen and (max-width: 549px) {
  #mainContent #sec01 .stage .hand {
    right: 38%;
  }
}

@media screen and (max-width: 799px) {
  #sec02 {
    margin-top: 14vw;
  }
}
#sec02 .stage {
  margin: 0 auto;
  padding-left: 0;
}
#sec02 .stage .slick-track {
  display: flex;
}
#sec02 .stage .slick-track .slick-slide {
  display: flex;
  height: auto;
  align-items: flex-end;
  justify-content: center;
}
#sec02 .stage .slick-track .slick-slide img {
  padding: 0 5% 0 7%;
}

@media screen and (max-width: 799px) {
  #mainContent .mainSec + #sec02 {
    margin-top: max(18vw, 80px);
  }
}

#mainContent #sec03 .stage {
  max-width: 493px;
  margin: 0 auto;
  padding-left: 0;
}
#mainContent #sec03 .stage .title {
  position: absolute;
  width: 48.9%;
  left: 50%;
  top: 22%;
  transform: translateX(-50%);
  opacity: 0;
}
#mainContent #sec03 .stage .check {
  position: absolute;
  width: 18.25%;
  height: 30.9%;
  left: 50%;
  top: 40%;
  transform: translateX(-50%);
}
#mainContent #sec03 .stage .check::after {
  content: "";
  width: 100%;
  height: 100%;
  background: #FFFFFF;
  position: absolute;
  left: 50%;
  top: 50%;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
#mainContent #sec03 .stage .check img {
  position: absolute;
  z-index: 100;
  width: 53%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
#mainContent #sec03 .stage.inview .title {
  animation: fadeIn 0.8s 0.3s both;
}
#mainContent #sec03 .stage.inview .check::after {
  animation: fadeBounce 0.4s 0.6s both;
}
#mainContent #sec03 .stage.inview .check img {
  animation: fadeBounce 0.4s 0.8s both;
}

#mainContent #sec04 h1 {
  margin-bottom: 30px;
}
@media screen and (max-width: 549px) {
  #mainContent #sec04 h1 {
    margin-bottom: 10px;
  }
}
#mainContent #sec04 .note {
  font-size: 150%;
  margin-bottom: 70px;
}
@media screen and (max-width: 549px) {
  #mainContent #sec04 .note {
    font-size: 75%;
    margin-bottom: 30px;
  }
}
#mainContent #sec04 .stage {
  max-width: 884px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin: 0 auto;
  padding-left: 0;
}
#mainContent #sec04 .stage > div {
  width: 23%;
  opacity: 0;
}
#mainContent #sec04 .stage.inview .people1 {
  animation: fadeIn 1s 0.8s both;
}
#mainContent #sec04 .stage.inview .people2 {
  animation: fadeIn 1s both;
}
#mainContent #sec04 .stage.inview .people3 {
  animation: fadeIn 1s 0.4s both;
}
#mainContent #sec04 .stage.inview .people4 {
  animation: fadeIn 1s 1.2s both;
}

.mainSec#sec05 .wrapper {
  padding-bottom: 100px;
}
.mainSec#sec05 .wrapper .stage {
  position: relative;
  left: 0%;
  padding-left: 5%;
  width: 54%;
}
@media screen and (max-width: 549px) {
  .mainSec#sec05 .wrapper .stage {
    width: 58%;
    margin: 0;
  }
}
.mainSec#sec05 .wrapper .stage .hand {
  position: absolute;
  width: 12.5%;
  right: 33.7%;
  bottom: 19%;
  transform-origin: left center;
}
.mainSec#sec05 .wrapper .stage .logo {
  position: absolute;
  right: -70%;
  top: 0;
  width: 60%;
  height: 60%;
}
.mainSec#sec05 .wrapper .stage .logo::after {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: #FFFFFF;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.mainSec#sec05 .wrapper .stage .logo img {
  position: absolute;
  z-index: 100;
  width: 56.4%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
}
.mainSec#sec05 .wrapper .stage .catch {
  position: absolute;
  left: 90%;
  bottom: 8%;
  width: 160%;
  transform: translateX(-50%);
  opacity: 0;
}
.mainSec#sec05 .wrapper .stage .catch img {
  animation: beat 1s infinite both;
}
.mainSec#sec05 .wrapper .stage.inview .eye {
  animation: eye02 0.6s 1 both;
}
.mainSec#sec05 .wrapper .stage.inview .logo::after {
  animation: fadeBounce 0.6s 0.6s both;
}
.mainSec#sec05 .wrapper .stage.inview .logo img {
  animation: fadeBounce 0.6s 0.7s both;
}
.mainSec#sec05 .wrapper .stage.inview .catch {
  animation: fadeBounce2 0.6s 1s both;
}

/*----------------------------------------------------
  bannerMiddle
----------------------------------------------------*/
#bannerMiddle {
  padding: 60px 0;
  background: rgba(255, 255, 255, 0.5);
  margin-top: 200px;
}
@media screen and (max-width: 799px) {
  #bannerMiddle {
    padding: 20px 0;
    margin-top: 90px;
  }
}
#bannerMiddle ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
#bannerMiddle ul li {
  width: 90%;
  max-width: 490px;
}

/*----------------------------------------------------
  nofusho
----------------------------------------------------*/
#nofusho {
  background: #eade24;
}
#nofusho .wrapper {
  padding: 120px 0;
}
@media screen and (max-width: 549px) {
  #nofusho .wrapper {
    padding: 60px 0;
  }
}
#nofusho .wrapper h1,
#nofusho .wrapper .body {
  color: #343575;
  font-size: 275%;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (max-width: 939px) {
  #nofusho .wrapper h1,
  #nofusho .wrapper .body {
    font-size: 188%;
  }
}
@media screen and (max-width: 549px) {
  #nofusho .wrapper h1,
  #nofusho .wrapper .body {
    font-size: 132%;
    letter-spacing: 0;
  }
}
#nofusho .wrapper h1 {
  margin-bottom: 70px;
  letter-spacing: 4px;
}
@media screen and (max-width: 549px) {
  #nofusho .wrapper h1 {
    margin-bottom: 30px;
    letter-spacing: 0;
  }
}
#nofusho .wrapper .img {
  width: 90%;
  max-width: 900px;
  margin: 0 auto;
}
#nofusho .wrapper .body {
  margin-top: 20px;
  letter-spacing: 4px;
}
@media screen and (max-width: 549px) {
  #nofusho .wrapper .body {
    margin-top: 10px;
    letter-spacing: 0;
  }
}
#nofusho .wrapper .bt {
  margin-top: 40px;
}
@media screen and (max-width: 549px) {
  #nofusho .wrapper .bt {
    margin-top: 30px;
  }
}
#nofusho .wrapper .linkTitle {
  margin-top: 50px;
  display: inline-block;
}
#nofusho .wrapper .linkTitle strong {
  font-size: 150%;
  font-weight: bold;
  position: relative;
}
#nofusho .wrapper .linkTitle strong::before, #nofusho .wrapper .linkTitle strong::after {
  content: "";
  width: 100px;
  height: 2px;
  background-color: #343575;
  display: block;
  position: absolute;
  top: 50%;
}
#nofusho .wrapper .linkTitle strong::before {
  right: 120%;
}
#nofusho .wrapper .linkTitle strong::after {
  left: 120%;
}
#nofusho .wrapper .linkTitle span {
  display: block;
  font-size: 82%;
}
#nofusho .wrapper .link {
  -js-display: flex;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2%;
  margin-top: 30px;
}
@media screen and (max-width: 799px) {
  #nofusho .wrapper .link {
    margin-top: 20px;
    display: block;
    width: 100%;
  }
}
#nofusho .wrapper .link li {
  -js-display: flex;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 799px) {
  #nofusho .wrapper .link li {
    margin: 0 auto 10px;
    width: 100%;
    max-width: 450px;
    display: block;
  }
}
#nofusho .wrapper .link li a {
  font-size: 14px;
  min-height: 0;
  padding: 10px 20px;
  text-align: center;
  background-color: #FFFFFF;
  display: block;
  border-radius: 40px;
  transition: 0.6s;
  line-height: 140%;
}
@media screen and (min-width: 800px) {
  #nofusho .wrapper .link li a:hover {
    background-color: #343575;
    color: #FFFFFF;
  }
}
#nofusho .wrapper .link li a span {
  padding: 10px 20px;
  text-align: center;
}
#nofusho .wrapper .link li.add {
  -js-display: flex;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
  width: 100%;
}
#nofusho .wrapper .link li.add .note {
  font-size: 12px;
  margin-bottom: 10px;
}
#nofusho .wrapper .link li.add span {
  font-size: 12px;
}

/*----------------------------------------------------
  dounano
----------------------------------------------------*/
#dounano {
  background-color: #fff;
}
#dounano .wrapper {
  padding: 120px 0;
}
@media screen and (max-width: 549px) {
  #dounano .wrapper {
    padding: 60px 0;
  }
}
#dounano .wrapper h1 {
  width: 75%;
  max-width: 744px;
  margin: 0 auto 60px;
  position: relative;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper h1 {
    width: 90%;
  }
}
#dounano .wrapper h1 img {
  position: relative;
  z-index: 100;
}
#dounano .wrapper h1::before {
  content: "";
  position: absolute;
  display: block;
  width: 16%;
  height: 258%;
  background: url(../img/dounano_01.png) no-repeat center top;
  background-size: contain;
  left: -15%;
  top: -50%;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper h1::before {
    width: 26%;
    height: 516%;
    top: -120%;
    left: -10%;
  }
}
#dounano .wrapper h1::after {
  content: "";
  position: absolute;
  display: block;
  width: 17.2%;
  height: 258%;
  background: url(../img/dounano_02.png) no-repeat center top;
  background-size: contain;
  right: -15%;
  top: -50%;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper h1::after {
    width: 28%;
    height: 516%;
    top: -120%;
    right: -10%;
  }
}
#dounano .wrapper h2 {
  font-size: 188%;
  margin-bottom: 60px;
  text-align: center;
}
@media screen and (max-width: 939px) {
  #dounano .wrapper h2 {
    font-size: 188%;
  }
}
@media screen and (max-width: 549px) {
  #dounano .wrapper h2 {
    font-size: 132%;
    letter-spacing: 0;
    margin-bottom: 40px;
  }
}
#dounano .wrapper .block {
  background: #FFFFFF;
  border-radius: 10px;
  padding: 0px;
  width: 100%;
  margin: 0 auto;
}
#dounano .wrapper .block + .block,
#dounano .wrapper .block + #qGroup {
  margin-top: 40px;
}
#dounano .wrapper .block h3 {
  font-size: 188%;
  text-align: left;
  margin-bottom: 40px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
#dounano .wrapper .block h3::before {
  content: "";
  display: block;
  width: 100px;
  height: 100px;
  margin-right: 15px;
  background: url(../img/tx_q.png) no-repeat center center;
  background-size: contain;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper .block h3::before {
    width: 60px;
    height: 60px;
    margin-right: 10px;
  }
}
@media screen and (max-width: 549px) {
  #dounano .wrapper .block h3::before {
    position: relative;
    left: -4px;
  }
}
@media screen and (max-width: 939px) {
  #dounano .wrapper .block h3 {
    font-size: 125%;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 549px) {
  #dounano .wrapper .block h3 {
    font-size: 100%;
    margin-bottom: 20px;
  }
  #dounano .wrapper .block h3 br {
    display: none;
  }
}
#dounano .wrapper .block h3 .for {
  display: block;
  font-size: 20px;
  text-align: center;
  margin-bottom: 5px;
}
#dounano .wrapper .block h3 .for i {
  display: inline-block;
  padding-bottom: 2px;
  border-bottom: 2px solid #343575;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper .block h3 .for {
    font-size: 16px;
  }
}
@media screen and (max-width: 549px) {
  #dounano .wrapper .block h3 .for {
    font-size: 12px;
  }
}
#dounano .wrapper .block .note {
  font-size: 63%;
  margin-top: 20px;
}
#dounano .wrapper #q1 .img {
  width: 100%;
  max-width: 630px;
  margin: 0 auto;
}
#dounano .wrapper #qGroup {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
#dounano .wrapper #qGroup .block {
  margin-top: 0;
  width: 40%;
  min-width: 300px;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper #qGroup .block {
    width: 100%;
  }
  #dounano .wrapper #qGroup .block + .block {
    margin-top: 40px;
  }
}
#dounano .wrapper #qGroup .block .img {
  max-width: 350px;
  margin: 0 auto;
}
#dounano .wrapper #voices {
  margin-top: 100px;
}
@media screen and (max-width: 549px) {
  #dounano .wrapper #voices {
    margin-top: 60px;
  }
}
#dounano .wrapper #voices ul {
  max-width: 860px;
  margin: 0 auto;
}
#dounano .wrapper #voices li {
  display: flex;
  align-items: center;
}
#dounano .wrapper #voices li + li {
  margin-top: 50px;
}
#dounano .wrapper #voices li .img {
  width: 120px;
  margin-right: 30px;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper #voices li .img {
    width: 60px;
    margin-right: 10px;
  }
}
#dounano .wrapper #voices li .tx {
  text-align: left;
  width: calc(100% - 150px);
}
@media screen and (max-width: 799px) {
  #dounano .wrapper #voices li .tx {
    width: calc(100% - 70px);
  }
}
#dounano .wrapper #voices li .tx .catch {
  font-size: 24px;
  margin-bottom: 10px;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper #voices li .tx .catch {
    font-size: 18px;
  }
}
#dounano .wrapper #voices li .tx .catch span {
  position: relative;
  display: inline-block;
  z-index: 100;
}
#dounano .wrapper #voices li .tx .catch span::after {
  content: "";
  width: 100%;
  height: 30%;
  position: absolute;
  bottom: 10%;
  left: 0;
  background: #eade24;
  z-index: 0;
}
#dounano .wrapper #voices li .tx .catch span i {
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper #voices li .tx .body {
    font-size: 13px;
  }
  #dounano .wrapper #voices li .tx .body br {
    display: none;
  }
}
#dounano .wrapper #voices li .tx .prof {
  font-size: 82%;
  margin-top: 20px;
}
@media screen and (max-width: 799px) {
  #dounano .wrapper #voices li .tx .prof {
    font-size: 11px;
    margin-top: 10px;
  }
}
#dounano .wrapper .matome {
  font-size: 30px;
  margin-top: 60px;
  text-align: center;
}
@media screen and (max-width: 939px) {
  #dounano .wrapper .matome {
    font-size: 22px;
  }
}
@media screen and (max-width: 799px) {
  #dounano .wrapper .matome {
    font-size: 20px;
  }
}
#dounano .wrapper .matome span {
  position: relative;
  display: inline-block;
  z-index: 100;
}
#dounano .wrapper .matome span::after {
  content: "";
  width: 100%;
  height: 30%;
  position: absolute;
  bottom: 10%;
  left: 0;
  background: #eade24;
  z-index: 0;
}
#dounano .wrapper .matome span i {
  position: relative;
  z-index: 100;
}

/*----------------------------------------------------
  anywhere
----------------------------------------------------*/
#anywhere {
  background: #7bc9ce;
}
#anywhere .wrapper {
  padding: 120px 0;
}
@media screen and (max-width: 549px) {
  #anywhere .wrapper {
    padding: 60px 0;
  }
}
#anywhere .wrapper h1 {
  width: 75%;
  max-width: 744px;
  margin: 0 auto 60px;
  position: relative;
}
@media screen and (max-width: 799px) {
  #anywhere .wrapper h1 {
    width: 90%;
  }
}
#anywhere .wrapper h1 img {
  position: relative;
  z-index: 100;
}
#anywhere .wrapper h1::before {
  content: "";
  position: absolute;
  display: block;
  width: 16%;
  height: 258%;
  background: url(../img/anywhere_01.png) no-repeat center top;
  background-size: contain;
  left: -15%;
  top: -50%;
}
@media screen and (max-width: 799px) {
  #anywhere .wrapper h1::before {
    width: 32%;
    height: 516%;
    top: -100%;
    left: -10%;
  }
}
#anywhere .wrapper h1::after {
  content: "";
  position: absolute;
  display: block;
  width: 17.2%;
  height: 258%;
  background: url(../img/anywhere_02.png) no-repeat center top;
  background-size: contain;
  right: -15%;
  top: -50%;
}
@media screen and (max-width: 799px) {
  #anywhere .wrapper h1::after {
    width: 32%;
    height: 516%;
    top: -100%;
    right: -10%;
  }
}
#anywhere .wrapper h2 {
  font-size: 188%;
  margin-bottom: 30px;
  text-align: center;
}
@media screen and (max-width: 939px) {
  #anywhere .wrapper h2 {
    font-size: 188%;
  }
}
@media screen and (max-width: 549px) {
  #anywhere .wrapper h2 {
    font-size: 132%;
    letter-spacing: 0;
    margin-bottom: 40px;
  }
}
#anywhere .wrapper .note {
  font-size: 12px;
  margin-bottom: 40px;
  text-align: center;
}
#anywhere .wrapper .note a {
  color: #eade24;
}
#anywhere .wrapper .block {
  background: #FFFFFF;
  border-radius: 10px;
  padding: 50px;
  width: 96%;
  margin: 0 auto;
}
@media screen and (max-width: 549px) {
  #anywhere .wrapper .block {
    padding: 20px;
  }
}
#anywhere .wrapper .block + .block {
  margin-top: 30px;
}
#anywhere .wrapper .block h3 {
  font-size: 188%;
  text-align: left;
  margin-bottom: 20px;
}
@media screen and (max-width: 939px) {
  #anywhere .wrapper .block h3 {
    font-size: 138%;
  }
}
@media screen and (max-width: 549px) {
  #anywhere .wrapper .block h3 {
    font-size: 113%;
    margin-bottom: 12px;
  }
}
#anywhere .wrapper #netBank {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#anywhere .wrapper #netBank .img {
  width: 40%;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}
@media screen and (max-width: 799px) {
  #anywhere .wrapper #netBank .img {
    width: 100%;
  }
  #anywhere .wrapper #netBank .img img {
    width: 80%;
    max-width: 300px;
  }
}
#anywhere .wrapper #netBank .tx {
  width: 55%;
  text-align: left;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 799px) {
  #anywhere .wrapper #netBank .tx {
    width: 100%;
  }
}
#anywhere .wrapper #netBank .tx h3 {
  width: 100%;
}
#anywhere .wrapper #netBank .tx .body {
  width: 100%;
}
#anywhere .wrapper #netBank .tx .bt {
  width: 100%;
  margin-top: 30px;
}
#anywhere .wrapper #atm .content {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#anywhere .wrapper #atm .content .tx {
  width: 81%;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -10px;
}
@media screen and (max-width: 799px) {
  #anywhere .wrapper #atm .content .tx {
    width: 100%;
  }
}
#anywhere .wrapper #atm .content .tx li {
  width: 25%;
  text-align: left;
  letter-spacing: 0;
  margin-bottom: 10px;
}
@media screen and (max-width: 939px) {
  #anywhere .wrapper #atm .content .tx li {
    width: 33%;
  }
}
@media screen and (max-width: 549px) {
  #anywhere .wrapper #atm .content .tx li {
    width: 50%;
    font-size: 88%;
    margin-bottom: 5px;
  }
}
#anywhere .wrapper #atm .content .tx li::before {
  content: "◎";
}
#anywhere .wrapper #atm .content .tx li.long {
  width: 75%;
}
@media screen and (max-width: 939px) {
  #anywhere .wrapper #atm .content .tx li.long {
    width: 100%;
  }
}
#anywhere .wrapper #atm .content .tx li.long .miniTx {
  font-size: 69%;
}
#anywhere .wrapper #atm .content .img {
  width: 18.9%;
  display: flex;
  align-items: center;
  align-content: center;
  justify-content: center;
}
@media screen and (max-width: 799px) {
  #anywhere .wrapper #atm .content .img {
    width: 100%;
    margin-top: 30px;
  }
  #anywhere .wrapper #atm .content .img img {
    width: 60%;
    max-width: 220px;
  }
}

/*----------------------------------------------------
  guide
----------------------------------------------------*/
#guide {
  background: #343575;
  color: #FFFFFF;
  text-align: left;
}
#guide .wrapper {
  display: flex;
  padding: 120px 0;
  flex-wrap: wrap;
}
@media screen and (max-width: 799px) {
  #guide .wrapper {
    padding: 60px 0;
    display: block;
  }
}
#guide .wrapper .tx {
  width: 54%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}
@media screen and (max-width: 799px) {
  #guide .wrapper .tx {
    width: 100%;
  }
}
#guide .wrapper .tx h1 {
  font-size: 313%;
  color: #eade24;
  margin-bottom: 30px;
  width: 100%;
}
@media screen and (max-width: 939px) {
  #guide .wrapper .tx h1 {
    font-size: 188%;
  }
}
@media screen and (max-width: 799px) {
  #guide .wrapper .tx h1 {
    text-align: center;
  }
}
#guide .wrapper .tx .body {
  width: 100%;
}
@media screen and (max-width: 939px) {
  #guide .wrapper .tx .body br {
    display: none;
  }
}
#guide .wrapper .tx .note {
  width: 100%;
  font-size: 75%;
  margin-top: 30px;
}
#guide .wrapper .img {
  width: 40.2%;
  height: auto;
  display: flex;
  align-content: center;
  justify-content: center;
}
@media screen and (max-width: 799px) {
  #guide .wrapper .img {
    width: 100%;
    margin-top: 30px;
    display: block;
    text-align: center;
  }
  #guide .wrapper .img img {
    width: 60%;
    max-width: 300px;
    height: auto;
  }
}

/*----------------------------------------------------
  endBanner
----------------------------------------------------*/
#endBanner {
  padding: 60px 0;
  background: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 549px) {
  #endBanner {
    padding: 20px 0;
  }
}
#endBanner ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
#endBanner ul li {
  width: 48%;
  max-width: 490px;
  margin: 0 1%;
}
@media screen and (max-width: 799px) {
  #endBanner ul li {
    width: 100%;
    margin: 10px 0;
  }
}

/*----------------------------------------------------
  animation
----------------------------------------------------*/
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeBounce {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.1);
  }
  80% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.1);
  }
  90% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
@keyframes fadeBounce2 {
  0% {
    opacity: 0;
    transform: translate(-50%, 0%) scale(0.1);
  }
  80% {
    opacity: 1;
    transform: translate(-50%, 0%) scale(1.1);
  }
  90% {
    opacity: 1;
    transform: translate(-50%, 0%) scale(0.9);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0%) scale(1);
  }
}
@keyframes beat {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.02);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes boundIn {
  0% {
    opacity: 0;
    transform: translateY(50%);
  }
  10% {
    transform: translateY(50%);
  }
  70% {
    opacity: 1;
    transform: translateY(-20%);
  }
  80% {
    opacity: 1;
    transform: translateY(10%);
  }
  90% {
    opacity: 1;
    transform: translateY(-5%);
  }
  100% {
    opacity: 1;
    transform: translateY(0%);
  }
}
@keyframes eye01 {
  0% {
    transform: translateX(0%);
  }
  50% {
    transform: translateX(-10%);
  }
  100% {
    transform: translateX(0%);
  }
}
@keyframes eye02 {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-10%);
  }
}
@keyframes hand {
  10% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(2deg);
  }
  90% {
    transform: rotate(0deg);
  }
}
/*----------------------------------------------------
  footer
----------------------------------------------------*/
#siteFt {
  border-top: 3px solid #006bb9;
  text-align: center;
  padding: 30px 20px;
}
#siteFt nav ul {
  display: block;
  margin-bottom: 10px;
}
#siteFt nav ul li {
  display: inline;
  border-right: 1px solid #006bb8;
  padding: 0 10px;
}
#siteFt nav ul li:first-child {
  border-left: 1px solid #006bb8;
}
#siteFt nav ul li a:link,
#siteFt nav ul li a:visited {
  color: #006bb8;
}
#siteFt nav ul li a::hover {
  color: #006bb8;
  text-decoration: underline;
}
#siteFt .copyright {
  font-size: 12px;
  color: #888;
}

/*----------------------------------------------------
  pNv
----------------------------------------------------*/
#pNv {
  position: fixed;
  right: -17px;
  bottom: 50%;
  transform: translateY(50%);
  z-index: 1000000;
}
@media screen and (max-width: 799px) {
  #pNv {
    right: 0;
    bottom: 0;
    width: 100%;
    min-width: 320px;
    transform: none;
  }
  #pNv ul {
    -js-display: flex;
    display: flex;
  }
}
#pNv li {
  border: 2px solid #343575;
  border-radius: 10px;
  background: #fff;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  overflow: hidden;
}
@media screen and (max-width: 799px) {
  #pNv li {
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    width: 33.3%;
    border: none;
    border-top: #343575 2px solid;
    border-radius: 0px;
    -js-display: flex;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
#pNv li:not(:first-child) {
  margin-top: 6px;
}
@media screen and (max-width: 799px) {
  #pNv li:not(:first-child) {
    border-left: #343575 2px solid;
    margin-top: 0;
  }
}
#pNv li a {
  display: block;
  text-align: center;
  padding: 10px 20px 10px 5px;
}
@media screen and (min-width: 800px) {
  #pNv li a:hover {
    background: #eade24;
  }
}
@media screen and (max-width: 799px) {
  #pNv li a {
    font-size: 13px;
    padding: 5px 5px;
    line-height: 120%;
  }
}
#pNv li span {
  display: block;
  font-size: 12px;
  line-height: 120%;
}
@media screen and (max-width: 799px) {
  #pNv li span {
    font-size: 10px;
  }
}
@media screen and (max-width: 799px) {
  #pNv li:nth-child(2) span, #pNv li:nth-child(3) span {
    margin-top: 3px;
  }
}
