@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@100;300;400;500;700;900&display=swap");
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, main, section {
  display: block; }

body {
  line-height: 1; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

ul, ol {
  margin: 0;
  padding: 0; }

/* automatic size vw */
/* automatic size vh */
/* text clamp */
/* anime In order */
/*
    IEハック用mixin
*/
/*
    button
*/
a.button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 347px;
  height: 53px;
  background-color: #fff;
  border-radius: 40px;
  box-shadow: 0px 0px 10px 0px rgba(67, 114, 138, 0.64);
  font-weight: 700;
  color: #636363;
  font-size: 16px; }
  @media (max-width: 750px) {
    a.button {
      width: 100%;
      height: 10.133vw;
      font-size: 23px;
      font-size: 3.0666666667vw; } }
  a.button.no2 {
    width: 408px;
    height: 69px;
    background-color: #0097d0;
    color: #fff;
    font-size: 18px; }
    @media (max-width: 750px) {
      a.button.no2 {
        width: 100%;
        height: 9.067vw;
        font-size: 21px;
        font-size: 2.8vw; } }
  a.button.small {
    width: 100%;
    max-width: 346px;
    height: 43px;
    box-shadow: 0px 0px 5px 0px rgba(67, 114, 138, 0.31);
    background-color: #0097d0;
    color: #fff;
    justify-content: flex-start;
    padding: 0 20px; }
    @media (max-width: 750px) {
      a.button.small {
        width: auto;
        display: inline-block;
        height: 7.4667vw;
        padding: 0.667vw 4vw; } }
    a.button.small > span {
      display: flex;
      align-items: center; }
      a.button.small > span > span.icon {
        margin-right: 1em;
        display: inline-block;
        vertical-align: middle; }
        @media (max-width: 750px) {
          a.button.small > span > span.icon img {
            width: 6.133vw;
            height: 6.133vw; } }
  a.button.disabled {
    pointer-events: none; }

#bnr {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 1;
  background-image: url("../images/bg_bnr_pc.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  -webkit-transition: 0.1s ease-in-out;
  transition: 0.1s ease-in-out; }
  @media (max-width: 750px) {
    #bnr {
      background-image: url("../images/bg_bnr_pc.png"); } }
  #bnr > .inner {
    margin: 0 auto;
    max-width: 998px;
    display: flex;
    align-items: center;
    padding: 20px 15px; }
    @media (max-width: 750px) {
      #bnr > .inner {
        padding: 4.667vw 3.333vw; } }
    #bnr > .inner > div {
      width: 44%; }
      @media (max-width: 750px) {
        #bnr > .inner > div {
          width: 54%; } }
      #bnr > .inner > div:nth-of-type(2) {
        width: 56%;
        text-align: center;
        border-left: 1px solid #717578; }
        @media (max-width: 750px) {
          #bnr > .inner > div:nth-of-type(2) {
            width: 46%;
            padding: 1.6vw 0 1.6vw 3.2vw; } }
        #bnr > .inner > div:nth-of-type(2) a {
          margin: 0 auto; }
      #bnr > .inner > div > p {
        display: inline-block;
        font-size: 16px;
        text-align: left;
        line-height: 1.75; }
        @media (max-width: 750px) {
          #bnr > .inner > div > p {
            display: block;
            font-size: 20px;
            font-size: 2.6666666667vw; } }
  #bnr.fixed.stop {
    position: absolute;
    bottom: 0; }
    @media (max-width: 750px) {
      #bnr.fixed.stop {
        bottom: 0; } }

/*
    FV Animation
*/
#mainview.opening > .inner > .catch h1 {
  opacity: 0; }
#mainview.opening > .inner > .catch > ul {
  opacity: 0; }
  #mainview.opening > .inner > .catch > ul > li {
    opacity: 0; }
#mainview.opening > .inner > .catch > .scrolldown {
  opacity: 0; }
#mainview.opening > .inner > .view img {
  opacity: 0; }
#mainview.opening.animated > .inner > .catch h1 {
  -webkit-animation: fadeIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards;
  animation: fadeIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards; }
#mainview.opening.animated > .inner > .catch > ul {
  -webkit-animation: fadeIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s 1 forwards;
  animation: fadeIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s 1 forwards; }
  #mainview.opening.animated > .inner > .catch > ul > li:nth-of-type(1) {
    -webkit-animation: slideIn 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s 1 forwards;
    animation: slideIn 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s 1 forwards; }
  #mainview.opening.animated > .inner > .catch > ul > li:nth-of-type(2) {
    -webkit-animation: slideIn 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s 1 forwards;
    animation: slideIn 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 0.8s 1 forwards; }
  #mainview.opening.animated > .inner > .catch > ul > li:nth-of-type(3) {
    -webkit-animation: slideIn 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 1.1s 1 forwards;
    animation: slideIn 0.5s cubic-bezier(0.215, 0.61, 0.355, 1) 1.1s 1 forwards; }
#mainview.opening.animated > .inner > .catch > .scrolldown {
  -webkit-animation: fadeIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s 1 forwards;
  animation: fadeIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.3s 1 forwards; }
#mainview.opening.animated > .inner > .view img {
  -webkit-animation: slideIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards;
  animation: slideIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards; }

/*
    Content Anime
*/
.anime {
  opacity: 0; }
  .anime.animated {
    -webkit-animation: slideTitle 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards;
    animation: slideTitle 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards; }

.anime2 {
  opacity: 0; }
  .anime2.animated {
    -webkit-animation: slideInRight 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards;
    animation: slideInRight 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards; }

.anime3 {
  opacity: 0; }
  .anime3.animated {
    -webkit-animation: fadeIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards;
    animation: fadeIn 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) 0.1s 1 forwards; }

/*
    Scroll ball
*/
.scrolldown > span.line:after {
  animation: circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-in-out infinite; }

@keyframes slideTitle {
  0% {
    opacity: 0;
    transform: translate(0, 20px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes slideTitleDown {
  0% {
    opacity: 0;
    transform: translate(0, -20px); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes slideIn {
  0% {
    opacity: 0;
    transform: translate(-20px, 0); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes slideInRight {
  0% {
    opacity: 0;
    transform: translate(50px, 0); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes fadeInEnlarge {
  0% {
    opacity: 0;
    transform: scale(0.9); }
  100% {
    opacity: 1;
    transform: scale(1); } }
@keyframes scaleXwidth {
  0% {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: top left;
    transform-origin: top left; }
  100% {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: top left;
    transform-origin: top left; } }
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(1.3, 1.3, 1.3);
    transform: scale3d(1.3, 1.3, 1.3); }
  20% {
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  40% {
    -webkit-transform: scale3d(0.95, 0.95, 0.95) rotate(0deg);
    transform: scale3d(0.95, 0.95, 0.95) rotate(0deg); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.01, 1.01, 1.01);
    transform: scale3d(1.01, 1.01, 1.01); }
  80% {
    -webkit-transform: scale3d(0.99, 0.99, 0.99);
    transform: scale3d(0.99, 0.99, 0.99); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1; } }
@keyframes bounceInLoop {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  20% {
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  40% {
    -webkit-transform: scale3d(0.95, 0.95, 0.95);
    transform: scale3d(0.95, 0.95, 0.95); }
  60% {
    -webkit-transform: scale3d(1.01, 1.01, 1.01);
    transform: scale3d(1.01, 1.01, 1.01); }
  80% {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1; } }
@keyframes bounceInCenter {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(1.3, 1.3, 1.3) translate(-50%, -50%);
    transform: scale3d(1.3, 1.3, 1.3) translate(-50%, -50%); }
  20% {
    -webkit-transform: scale3d(1.03, 1.03, 1.03) translate(-50%, -50%);
    transform: scale3d(1.03, 1.03, 1.03) translate(-50%, -50%); }
  40% {
    -webkit-transform: scale3d(0.95, 0.95, 0.95) translate(-50%, -50%);
    transform: scale3d(0.95, 0.95, 0.95) translate(-50%, -50%); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.01, 1.01, 1.01) translate(-50%, -50%);
    transform: scale3d(1.01, 1.01, 1.01) translate(-50%, -50%); }
  80% {
    -webkit-transform: scale3d(0.99, 0.99, 0.99) translate(-50%, -50%);
    transform: scale3d(0.99, 0.99, 0.99) translate(-50%, -50%); }
  to {
    -webkit-transform: scale3d(1, 1, 1) translate(-50%, -50%);
    transform: scale3d(1, 1, 1) translate(-50%, -50%);
    opacity: 1; } }
@keyframes bounceOut {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.8, 0.8, 0.8);
    transform: scale3d(0.8, 0.8, 0.8); }
  20% {
    -webkit-transform: scale3d(1.2, 1.2, 1.2);
    transform: scale3d(1.2, 1.2, 1.2); }
  40% {
    -webkit-transform: scale3d(0.95, 0.95, 0.95) rotate(0deg);
    transform: scale3d(0.95, 0.95, 0.95) rotate(0deg); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.01, 1.01, 1.01);
    transform: scale3d(1.01, 1.01, 1.01); }
  80% {
    -webkit-transform: scale3d(0.99, 0.99, 0.99);
    transform: scale3d(0.99, 0.99, 0.99); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
    opacity: 1; } }
@keyframes bounceInroll {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: translate(0, 50px); }
  20% {
    opacity: 1;
    -webkit-transform: translate(0, -10px);
    transform: translate(0, -10px); }
  40% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-2deg);
    transform: rotate(-2deg); }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg); } }
@keyframes rotateDownLeft {
  0% {
    opacity: 0;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -20deg);
    transform: rotate3d(0, 0, 1, -20deg); }
  20% {
    opacity: 1;
    -webkit-transform: rotate3d(0, 0, 1, 10deg);
    transform: rotate3d(0, 0, 1, 10deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 2deg);
    transform: rotate3d(0, 0, 1, 2deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -1deg);
    transform: rotate3d(0, 0, 1, -1deg); }
  to {
    opacity: 1;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none; } }
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    opacity: 1; } }
@keyframes shadowSlide {
  from, 20%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate(-15px, -15px);
    transform: translate(-15px, -15px); }
  20% {
    opacity: 1;
    -webkit-transform: translate(-15px, -15px);
    transform: translate(-15px, -15px); }
  80% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes shadowSlide_sp {
  from, 20%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate(-7px, -7px);
    transform: translate(-7px, -7px); }
  20% {
    opacity: 1;
    -webkit-transform: translate(-7px, -7px);
    transform: translate(-7px, -7px); }
  80% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); }
  to {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }
@keyframes blurInTitle {
  from, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: scale(1);
    -webkit-filter: blur(30px);
    filter: blur(30px); }
  to {
    opacity: 1;
    transform: scale(1);
    -webkit-filter: blur(0);
    filter: blur(0); } }
@keyframes Turnboard {
  from {
    -webkit-transform: perspective(300px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(300px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(300px) rotate3d(0, 1, 0, -10deg);
    transform: perspective(300px) rotate3d(0, 1, 0, -10deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  60% {
    -webkit-transform: perspective(300px) rotate3d(0, 1, 0, 5deg);
    transform: perspective(300px) rotate3d(0, 1, 0, 5deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(300px) rotate3d(0, 1, 0, -2deg);
    transform: perspective(300px) rotate3d(0, 1, 0, -2deg); }
  to {
    opacity: 1;
    -webkit-transform: perspective(300px);
    transform: perspective(300px); } }
@keyframes fuwafuwa {
  0%, 50%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: translate(0, 0); }
  50% {
    transform: translate(0, -5px); }
  100% {
    transform: translate(0, 0); } }
@keyframes fadeOutAnime {
  0%, 60%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: scale(1, 1); }
  60% {
    transform: scale(1.2, 1.2); }
  100% {
    transform: scale(0, 0); } }
@keyframes fadeOutAnimeBtn {
  0%, 60%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: translate(-100%, -80%) scale(1, 1); }
  60% {
    transform: translate(-100%, -80%) scale(1.2, 1.2); }
  100% {
    transform: translate(-50%, -40%) scale(0, 0); } }
@keyframes bounceInDown {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    transform: scale3d(1, 1, 1) translate(0, -40px); }
  20% {
    transform: scale3d(1, 1, 1); }
  40% {
    transform: scale3d(1.1, 0.9, 1) translate(0, 5px); }
  60% {
    opacity: 1;
    transform: scale3d(0.95, 1.05, 1) translate(0, -2px); }
  80% {
    transform: scale3d(1, 1, 1) translate(0, 0); }
  to {
    transform: scale3d(1, 1, 1) translate(0, 0);
    opacity: 1; } }
@keyframes bounceOutUp {
  from, to {
    -webkit-animation-timing-function: cubic-bezier(0.915, 0.03, 0.91, 0.35);
    animation-timing-function: cubic-bezier(0.915, 0.03, 0.91, 0.35); }
  0% {
    opacity: 1;
    transform: scale3d(1, 1, 1) translate(0, 0); }
  to {
    transform: scale3d(0, 0, 1) translate(0, 120px);
    opacity: 0; } }
@keyframes kujiOpen1step {
  0%, 100% {
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear; }
  0% {
    height: 50%; }
  to {
    height: 0; } }
@keyframes kujiOpen2step {
  0%, 100% {
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear; }
  0% {
    height: 0; }
  to {
    height: 50%; } }
@keyframes rotationInner {
  0%, 100% {
    -webkit-animation-timing-function: linear;
    animation-timing-function: linear; }
  0% {
    transform: rotate(0); }
  to {
    transform: rotate(360deg); } }
@keyframes kujiOpen3step {
  0%, 40%, 60%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    top: 15%;
    transform: scale3d(1, 1, 1) translate(-50%, -50%); }
  60% {
    opacity: 1;
    top: -13%; }
  to {
    opacity: 1;
    top: -10%;
    transform: scale3d(1, 1, 1) translate(-50%, -50%); } }
@keyframes kujifadeout {
  0%, 50%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    top: 48.5%;
    opacity: 0;
    transform: scale(0.9, 0.9); }
  50% {
    top: 48.5%;
    opacity: 0;
    transform: scale(0.9, 0.9); }
  to {
    top: 48.5%;
    width: 67.33vw;
    opacity: 1;
    transform: scale(1, 1); } }
/*
    個別にアニメーション
*/
@keyframes lottery_fuwa01 {
  0%, 50%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: translate(-50%, -50%) rotate(0deg); }
  50% {
    transform: translate(-50%, -20%) rotate(-20deg); }
  100% {
    transform: translate(-50%, -50%) rotate(0deg); } }
@keyframes lottery_fuwa02 {
  0%, 50%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: translate(-50%, -50%) rotate(10deg); }
  50% {
    transform: translate(-40%, -80%) rotate(25deg); }
  100% {
    transform: translate(-50%, -50%) rotate(10deg); } }
@keyframes lottery_fuwa03 {
  0%, 50%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: translate(-50%, -50%) rotate(-35deg); }
  50% {
    transform: translate(-60%, 10%) rotate(-79deg); }
  100% {
    transform: translate(-50%, -50%) rotate(-35deg); } }
@keyframes lottery_fuwa04 {
  0%, 50%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: translate(-50%, -50%) rotate(-133deg); }
  50% {
    transform: translate(-40%, -40%) rotate(-133deg); }
  100% {
    transform: translate(-50%, -50%) rotate(-133deg); } }
@keyframes lottery_fuwa05 {
  0%, 50%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: translate(-50%, -50%) rotate(-66deg); }
  50% {
    transform: translate(-50%, -90%) rotate(-66deg); }
  100% {
    transform: translate(-50%, -50%) rotate(-66deg); } }
@keyframes lottery_fuwa08 {
  0%, 50%, 100% {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    transform: translate(-50%, -50%) rotate(-192deg); }
  50% {
    transform: translate(-50%, 10%) rotate(-192deg); }
  100% {
    transform: translate(-50%, -50%) rotate(-192deg); } }
@keyframes scaleView {
  0% {
    opacity: 0;
    transform: scale3d(0, 0, 0); }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
    opacity: 1; }
  40% {
    transform: scale3d(0.94, 0.94, 1); }
  60% {
    transform: scale3d(1.04, 1.04, 1); }
  80% {
    transform: scale3d(0.98, 0.98, 1); }
  100% {
    transform: scale3d(1, 1, 1);
    opacity: 1; } }
/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove {
  0% {
    bottom: 90%; }
  100% {
    bottom: -10%; } }
/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  80% {
    opacity: 0.9; }
  100% {
    opacity: 0; } }
/*
    common
*/
html,
body {
  width: 100%;
  height: auto;
  font-size: 100%;
  font-family: sans-serif;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  word-wrap: break-word;
  text-align: center;
  overflow-y: auto;
  color: #000; }
  html.hidden,
  body.hidden {
    height: 100%;
    overflow: hidden; }

* {
  box-sizing: border-box;
  font-family: sans-serif; }

img {
  width: auto;
  height: auto;
  max-width: 100%;
  -webkit-touch-callout: none; }

ul, ol {
  list-style: none; }

a {
  outline: none;
  text-decoration: none;
  opacity: 1;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  a:hover {
    opacity: .8; }
    @media (max-width: 750px) {
      a:hover {
        opacity: 1; } }

.util_sp {
  display: none !important; }
  @media (max-width: 750px) {
    .util_sp {
      display: block !important; } }

.util_tb {
  display: none !important; }
  @media (max-width: 900px) {
    .util_tb {
      display: block !important; } }

.util_pc {
  display: block !important; }
  @media (max-width: 750px) {
    .util_pc {
      display: none !important; } }

@media print {
  img {
    display: none; } }
/*
    loader
*/
/*
	header
*/
header#header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 2;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  header#header > .inner {
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: space-between;
    height: 90px; }
    @media (max-width: 750px) {
      header#header > .inner {
        height: 15.333vw; } }
    header#header > .inner > div.logo {
      padding: 15px 0 0 35px; }
      @media (max-width: 750px) {
        header#header > .inner > div.logo {
          padding: 2.667vw 0 0 2.667vw;
          max-width: 27.2vw; } }
    header#header > .inner > div.navigation {
      position: relative; }
    header#header > .inner #humburger {
      width: 90px;
      height: 90px;
      background-color: #0097d0;
      position: absolute;
      top: 0;
      right: 0;
      cursor: pointer;
      z-index: 1;
      -webkit-transition: 0.3s ease-in-out;
      transition: 0.3s ease-in-out;
      font-family: "Roboto", sans-serif; }
      @media (max-width: 750px) {
        header#header > .inner #humburger {
          width: 15.333vw;
          height: 15.333vw; } }
      header#header > .inner #humburger > .humburger_inner {
        width: 90px;
        height: 90px;
        position: relative; }
        @media (max-width: 750px) {
          header#header > .inner #humburger > .humburger_inner {
            width: 15.333vw;
            height: 15.333vw; } }
        header#header > .inner #humburger > .humburger_inner > span {
          display: block;
          width: 36.5%;
          height: 2px;
          position: absolute;
          top: calc( 50% - 10px );
          left: 50%;
          transform: translate(-50%, -50%) rotate(0);
          background-color: #fff;
          opacity: 1;
          -webkit-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          @media (max-width: 750px) {
            header#header > .inner #humburger > .humburger_inner > span {
              height: 1px;
              top: calc( 50% - 1.333vw ); } }
          header#header > .inner #humburger > .humburger_inner > span:nth-of-type(1) {
            top: calc( 42% - 10px ); }
            @media (max-width: 750px) {
              header#header > .inner #humburger > .humburger_inner > span:nth-of-type(1) {
                top: calc( 42% - 1.333vw ); } }
          header#header > .inner #humburger > .humburger_inner > span:nth-of-type(3) {
            top: calc( 59% - 10px ); }
            @media (max-width: 750px) {
              header#header > .inner #humburger > .humburger_inner > span:nth-of-type(3) {
                top: calc( 59% - 1.333vw ); } }
        header#header > .inner #humburger > .humburger_inner > p {
          color: #fff;
          font-size: 11px;
          font-family: "Roboto", sans-serif;
          letter-spacing: .16em;
          position: absolute;
          top: calc( 50% + 10px );
          left: calc( 50% - 1px );
          transform: translate(-50%, -50%) scale(1, 1);
          opacity: 1;
          -webkit-transition: 0.3s ease-in-out;
          transition: 0.3s ease-in-out; }
          @media (max-width: 750px) {
            header#header > .inner #humburger > .humburger_inner > p {
              font-size: 20px;
              font-size: 2.6666666667vw;
              top: calc( 50% + 2vw );
              left: 50%;
              transform: translate(-50%, -50%) scale(0.6, 0.6); } }
  header#header.scroll {
    background-color: rgba(255, 255, 255, 0.7); }

.open header#header > .inner #humburger {
  background: none; }
  .open header#header > .inner #humburger > .humburger_inner > span:nth-of-type(1) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(45deg); }
  .open header#header > .inner #humburger > .humburger_inner > span:nth-of-type(2) {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(90deg); }
  .open header#header > .inner #humburger > .humburger_inner > span:nth-of-type(3) {
    top: 50%;
    transform: translate(-50%, -50%) rotate(135deg); }
  .open header#header > .inner #humburger > .humburger_inner > p {
    opacity: 0; }

/*
    footer
*/
footer#footer {
  background-color: #0097d0;
  position: relative;
  padding: 0 20px;
  font-size: 15px; }
  @media (max-width: 750px) {
    footer#footer {
      font-size: 15px;
      font-size: 2vw; } }
  footer#footer > .inner {
    font-family: "Roboto", sans-serif;
    margin: 0 auto;
    padding: 35px 0 30px;
    max-width: 1194px;
    color: #fff;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 800px) {
      footer#footer > .inner {
        display: block;
        padding: 4vw 0 5.333vw; } }
    footer#footer > .inner > div {
      letter-spacing: .06em; }
      footer#footer > .inner > div:nth-of-type(1) {
        text-align: left; }
        @media screen and (max-width: 800px) {
          footer#footer > .inner > div:nth-of-type(1) {
            text-align: center; } }
        footer#footer > .inner > div:nth-of-type(1) > ul {
          display: flex;
          margin: 0 -15px; }
          @media screen and (max-width: 800px) {
            footer#footer > .inner > div:nth-of-type(1) > ul {
              margin: 0 auto;
              width: 100%;
              justify-content: center; } }
          footer#footer > .inner > div:nth-of-type(1) > ul > li {
            padding: 0 15px;
            border-left: 1px solid #fff; }
            @media screen and (max-width: 800px) {
              footer#footer > .inner > div:nth-of-type(1) > ul > li {
                padding: 0 2vw; } }
            footer#footer > .inner > div:nth-of-type(1) > ul > li a {
              color: #fff;
              font-weight: 600; }
            footer#footer > .inner > div:nth-of-type(1) > ul > li:nth-of-type(1) {
              border: none; }
      footer#footer > .inner > div:nth-of-type(2) {
        letter-spacing: .04em;
        text-align: right;
        font-weight: 600;
        padding-right: 70px; }
        @media screen and (max-width: 800px) {
          footer#footer > .inner > div:nth-of-type(2) {
            padding-top: 2vw;
            padding-right: 0;
            text-align: center; } }
  footer#footer > #pagetop {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translate(0, -50%);
    font-family: "Roboto", sans-serif; }
    @media screen and (max-width: 800px) {
      footer#footer > #pagetop {
        right: 4vw; } }
    footer#footer > #pagetop > a {
      width: 50px;
      height: 50px;
      border-radius: 50%;
      border: 1px solid #fff;
      display: block; }
      @media screen and (max-width: 800px) {
        footer#footer > #pagetop > a {
          width: 7.467vw;
          height: 7.467vw; } }
      footer#footer > #pagetop > a > span {
        width: 48px;
        height: 48px;
        display: block;
        border-radius: 50%;
        position: relative; }
        @media screen and (max-width: 800px) {
          footer#footer > #pagetop > a > span {
            width: 7.2vw;
            height: 7.2vw; } }
        footer#footer > #pagetop > a > span:before {
          content: '';
          display: block;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 6px 10.4px 6px;
          border-color: transparent transparent #fff transparent;
          position: absolute;
          top: calc( 50% - 5px );
          left: 50%;
          transform: translate(-50%, -50%); }
          @media screen and (max-width: 800px) {
            footer#footer > #pagetop > a > span:before {
              top: calc( 50% - 0.4vw );
              left: calc( 50% - 0.1vw );
              transform: translate(-50%, -50%);
              border-width: 0 .8vw 1.387vw .8vw; } }
        footer#footer > #pagetop > a > span:after {
          content: 'TOP';
          display: block;
          position: absolute;
          top: calc( 50% + 5px );
          left: 50%;
          transform: translate(-50%, -50%) scale(0.6, 0.6);
          font-size: 10px;
          color: #fff; }
          @media screen and (max-width: 800px) {
            footer#footer > #pagetop > a > span:after {
              top: calc( 50% + 1.1vw );
              left: calc( 50% - 0.1vw );
              transform: translate(-50%, -50%) scale(0.35, 0.35);
              font-size: 20px;
              font-size: 2.6666666667vw; } }

/*
    Navigation
*/
nav#nav {
  position: absolute;
  top: 0;
  right: 0;
  background-color: rgba(0, 151, 208, 0.88);
  width: 50vw;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  transform: translate(101%, 0);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; }
  @media (max-width: 750px) {
    nav#nav {
      width: 87.5vw; } }
  nav#nav > ul {
    margin-left: 25%; }
    @media (max-width: 750px) {
      nav#nav > ul {
        margin-left: 15%; } }
    nav#nav > ul > li {
      text-align: left;
      font-size: 15px;
      padding: 14px 0;
      font-family: "Roboto", sans-serif; }
      @media (max-width: 750px) {
        nav#nav > ul > li {
          padding: 3.6vw 0;
          font-size: 22px;
          font-size: 2.9333333333vw; } }
      nav#nav > ul > li a {
        color: #fff;
        font-weight: 700;
        line-height: 1;
        display: flex;
        align-items: center; }
        @media (max-width: 750px) {
          nav#nav > ul > li a {
            line-height: 2; } }
        nav#nav > ul > li a > span {
          margin-right: 10px;
          display: inline-block;
          vertical-align: middle;
          font-size: 30px;
          font-weight: 300;
          font-family: "Roboto", sans-serif;
          line-height: 1; }
          @media (max-width: 750px) {
            nav#nav > ul > li a > span {
              font-size: 44px;
              font-size: 5.8666666667vw; } }
  nav#nav > .link {
    margin-top: .8em;
    text-align: center; }
    @media (max-width: 750px) {
      nav#nav > .link {
        margin-top: 2em;
        padding: 0 9.333vw; } }
    nav#nav > .link a {
      margin: 0 auto; }

.open nav#nav {
  transform: translate(0, 0);
  box-shadow: 0px 0px 10px 0px rgba(67, 114, 138, 0.64); }

/*
    main
*/
#main {
  position: relative; }
  #main section > .inner {
    margin: 0 auto;
    max-width: 1400px;
    font-family: "Roboto", sans-serif; }
    #main section > .inner > h2 {
      position: relative;
      padding-bottom: 35px; }
      @media (max-width: 750px) {
        #main section > .inner > h2 {
          padding-bottom: 8.667vw; } }
      #main section > .inner > h2 > span {
        padding-top: 35px;
        display: block;
        text-align: center;
        color: #000;
        font-size: 40px;
        font-weight: 700; }
        @media (max-width: 750px) {
          #main section > .inner > h2 > span {
            line-height: 1.6;
            padding-top: 5.333vw;
            font-size: 40px;
            font-size: 5.3333333333vw; } }

section.section#mainview > .inner {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  padding: 0 0 0 7.14%; }
  @media (max-width: 750px) {
    section.section#mainview > .inner {
      display: block;
      padding: 0; } }
  section.section#mainview > .inner > div.catch {
    padding: 160px 0 0 50px;
    text-align: left;
    position: relative;
    width: 42.307%; }
    @media (max-width: 750px) {
      section.section#mainview > .inner > div.catch {
        padding: 5.333vw 0 2vw 0;
        text-align: center;
        margin-right: 0;
        width: 100%; } }
    section.section#mainview > .inner > div.catch > h1 {
      font-size: 56px;
      font-weight: 700;
      line-height: 1.6; }
      @media (max-width: 750px) {
        section.section#mainview > .inner > div.catch > h1 {
          font-size: 45px;
          font-size: 6vw; } }
    section.section#mainview > .inner > div.catch > ul {
      margin: 50px 0 0 .5em;
      padding: 60px 0 0;
      position: relative; }
      @media (max-width: 750px) {
        section.section#mainview > .inner > div.catch > ul {
          margin: 4vw 11.333vw 0;
          padding: 4vw 0 0 6.667vw; } }
      section.section#mainview > .inner > div.catch > ul:before {
        content: '';
        display: block;
        width: 85px;
        height: 2px;
        background-color: #000;
        position: absolute;
        top: 0;
        left: 0; }
        @media (max-width: 750px) {
          section.section#mainview > .inner > div.catch > ul:before {
            width: 11.333vw;
            height: 1px;
            left: 50%;
            transform: translate(-50%, 0); } }
      section.section#mainview > .inner > div.catch > ul > li {
        padding: 7px 0 7px 15px; }
        @media (max-width: 750px) {
          section.section#mainview > .inner > div.catch > ul > li {
            text-align: left;
            padding: 2.4vw 0; } }
        section.section#mainview > .inner > div.catch > ul > li > div {
          color: #0097d0;
          font-size: 16px;
          font-weight: 600;
          letter-spacing: 0.04em; }
          @media (max-width: 750px) {
            section.section#mainview > .inner > div.catch > ul > li > div {
              font-size: 24px;
              font-size: 3.2vw; } }
          section.section#mainview > .inner > div.catch > ul > li > div > span.icon {
            display: inline-block;
            margin-right: 1em;
            vertical-align: middle;
            max-width: 35px; }
            @media (max-width: 750px) {
              section.section#mainview > .inner > div.catch > ul > li > div > span.icon {
                max-width: 6.133vw; } }
    section.section#mainview > .inner > div.catch .scrolldown {
      position: absolute;
      bottom: 40px;
      left: 0;
      display: flex;
      flex-direction: column;
      align-items: center;
      font-family: "Roboto", sans-serif; }
      @media (max-width: 750px) {
        section.section#mainview > .inner > div.catch .scrolldown {
          bottom: 2.667vw;
          left: 4vw; } }
      section.section#mainview > .inner > div.catch .scrolldown > span {
        /*縦書き設定*/
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        writing-mode: vertical-rl;
        font-size: 12px;
        letter-spacing: .12em;
        position: relative;
        display: block; }
        @media (max-width: 750px) {
          section.section#mainview > .inner > div.catch .scrolldown > span {
            font-size: 16px;
            font-size: 2.1333333333vw; } }
        section.section#mainview > .inner > div.catch .scrolldown > span.line {
          margin-top: 10px; }
          section.section#mainview > .inner > div.catch .scrolldown > span.line:before {
            content: '';
            display: block;
            width: 2px;
            height: 70px;
            background-color: #000; }
            @media (max-width: 750px) {
              section.section#mainview > .inner > div.catch .scrolldown > span.line:before {
                width: 1px;
                height: 11.333vw; } }
          section.section#mainview > .inner > div.catch .scrolldown > span.line:after {
            content: '';
            display: block;
            width: 7px;
            height: 7px;
            background-color: #000;
            border-radius: 50%;
            position: absolute;
            bottom: 90%;
            left: 50%;
            transform: translate(-50%, -50%); }
            @media (max-width: 750px) {
              section.section#mainview > .inner > div.catch .scrolldown > span.line:after {
                left: calc( 50% + 0.5px ); } }
  section.section#mainview > .inner > div.view {
    line-height: 0;
    position: relative;
    width: 57.692%; }
    @media (max-width: 750px) {
      section.section#mainview > .inner > div.view {
        width: 100%; } }
    section.section#mainview > .inner > div.view img {
      object-fit: cover;
      width: 100%;
      height: 100%; }
section.section#p1 {
  overflow: hidden; }
  section.section#p1 > .inner {
    margin: 0 auto;
    max-width: 1008px;
    padding: 65px 15px 40px;
    font-size: 15px;
    overflow: hidden; }
    @media (max-width: 750px) {
      section.section#p1 > .inner {
        font-size: 26px;
        font-size: 3.4666666667vw;
        padding: 8vw 7.333vw 9.333vw; } }
    section.section#p1 > .inner > p {
      margin: 30px 0 0;
      line-height: 2; }
      @media (max-width: 750px) {
        section.section#p1 > .inner > p {
          margin: 5.333vw 0 0;
          line-height: 1.73;
          letter-spacing: 0.04em; } }
    section.section#p1 > .inner > ul {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin: 10px -40px 0; }
      @media (max-width: 750px) {
        section.section#p1 > .inner > ul {
          margin: 10px -6vw 0; } }
      section.section#p1 > .inner > ul > li {
        padding: 20px 40px 10px; }
        @media (max-width: 750px) {
          section.section#p1 > .inner > ul > li {
            padding: 2.667vw 6vw 1.333vw;
            width: 50%; } }
        section.section#p1 > .inner > ul > li .box_teeth_kind {
          width: 272px; }
          @media (max-width: 750px) {
            section.section#p1 > .inner > ul > li .box_teeth_kind {
              width: 100%; } }
          section.section#p1 > .inner > ul > li .box_teeth_kind > .img img {
            max-width: 310px;
            margin: 0 -19px; }
            @media (max-width: 750px) {
              section.section#p1 > .inner > ul > li .box_teeth_kind > .img img {
                max-width: 131%;
                margin: 0 -15.05%; } }
          section.section#p1 > .inner > ul > li .box_teeth_kind > .kindname {
            padding: 30px 0 0; }
            @media (max-width: 750px) {
              section.section#p1 > .inner > ul > li .box_teeth_kind > .kindname {
                padding: 4vw 0 0; } }
            section.section#p1 > .inner > ul > li .box_teeth_kind > .kindname > span {
              display: block;
              background-color: #ffad1e;
              color: #fff;
              text-align: center;
              font-size: 18px;
              font-weight: 600;
              border-radius: 30px;
              padding: 7px 8px; }
              @media (max-width: 750px) {
                section.section#p1 > .inner > ul > li .box_teeth_kind > .kindname > span {
                  padding: 1.333vw;
                  font-size: 24px;
                  font-size: 3.2vw; } }
            section.section#p1 > .inner > ul > li .box_teeth_kind > .kindname + p {
              padding: 30px 0 0;
              line-height: 2;
              letter-spacing: -0.05em; }
              @media (max-width: 750px) {
                section.section#p1 > .inner > ul > li .box_teeth_kind > .kindname + p {
                  padding: 3.2vw 0 0;
                  font-size: 20px;
                  font-size: 2.6666666667vw;
                  line-height: 1.85;
                  letter-spacing: -0.04em; } }
      @media (max-width: 750px) {
        section.section#p1 > .inner > ul + p {
          text-align: left;
          font-size: 26px;
          font-size: 3.4666666667vw; } }
  section.section#p1 > .about_invisalign {
    background-image: url("../images/bg_about_pc.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover; }
    @media (max-width: 750px) {
      section.section#p1 > .about_invisalign {
        background-image: url("../images/bg_about_sp.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover; } }
    section.section#p1 > .about_invisalign > .inner {
      margin: 0 auto;
      padding: 30px 0 30px;
      max-width: 1400px;
      display: flex;
      align-items: center;
      font-size: 15px; }
      @media (max-width: 750px) {
        section.section#p1 > .about_invisalign > .inner {
          padding: 10.667vw 0;
          display: block;
          font-size: 26px;
          font-size: 3.4666666667vw; } }
      section.section#p1 > .about_invisalign > .inner > .text {
        width: 40.5%;
        text-align: right; }
        @media (max-width: 750px) {
          section.section#p1 > .about_invisalign > .inner > .text {
            padding: 0 7.333vw;
            width: 100%; } }
        section.section#p1 > .about_invisalign > .inner > .text .container_text {
          margin: 0 0 0 auto;
          max-width: 445px;
          text-align: left;
          color: #fff; }
          @media (max-width: 750px) {
            section.section#p1 > .about_invisalign > .inner > .text .container_text {
              max-width: 100%;
              padding: 0 0 5.333vw; } }
          section.section#p1 > .about_invisalign > .inner > .text .container_text > h3 {
            font-size: 34px;
            font-weight: 700;
            position: relative;
            padding: 0 0 30px; }
            @media (max-width: 750px) {
              section.section#p1 > .about_invisalign > .inner > .text .container_text > h3 {
                text-align: center;
                font-size: 40px;
                font-size: 5.3333333333vw;
                padding: 0 0 5.333vw; } }
            section.section#p1 > .about_invisalign > .inner > .text .container_text > h3:after {
              content: '';
              display: block;
              width: 40px;
              height: 2px;
              background-color: #fff;
              position: absolute;
              bottom: 0;
              left: 0; }
              @media (max-width: 750px) {
                section.section#p1 > .about_invisalign > .inner > .text .container_text > h3:after {
                  left: 50%;
                  transform: translate(-50%, 0);
                  width: 5.333vw;
                  height: 1px; } }
          section.section#p1 > .about_invisalign > .inner > .text .container_text > p {
            margin-top: 30px;
            font-weight: 700;
            line-height: 2; }
            @media (max-width: 750px) {
              section.section#p1 > .about_invisalign > .inner > .text .container_text > p {
                margin-top: 5.333vw;
                line-height: 1.885; } }
      section.section#p1 > .about_invisalign > .inner > .image {
        width: 52.5%; }
        @media (max-width: 750px) {
          section.section#p1 > .about_invisalign > .inner > .image {
            width: 100%; } }
        section.section#p1 > .about_invisalign > .inner > .image img {
          margin-left: -15px;
          max-width: 750px; }
          @media (max-width: 750px) {
            section.section#p1 > .about_invisalign > .inner > .image img {
              margin-left: 0;
              max-width: 100%; } }
section.section#p2 > .inner {
  max-width: 1000px;
  padding: 100px 15px 60px; }
  @media (max-width: 750px) {
    section.section#p2 > .inner {
      padding: 9.333vw 7.333vw 7.733vw; } }
  section.section#p2 > .inner .container_feature {
    padding: 2px 0; }
    section.section#p2 > .inner .container_feature > .box_feature {
      margin: 38px 0;
      display: flex;
      align-items: center;
      flex-direction: row-reverse;
      border-left: 6px solid #ffad1e;
      background-color: #efefed;
      font-family: "Roboto", sans-serif; }
      @media (max-width: 750px) {
        section.section#p2 > .inner .container_feature > .box_feature {
          margin: 11.333vw 0;
          display: block;
          border: none;
          border-top: 3px solid #ffad1e; } }
      section.section#p2 > .inner .container_feature > .box_feature > .image {
        line-height: 0;
        width: 400px; }
        @media (max-width: 750px) {
          section.section#p2 > .inner .container_feature > .box_feature > .image {
            width: 100%; } }
      section.section#p2 > .inner .container_feature > .box_feature > .text {
        width: calc( 100% - 400px );
        text-align: left;
        padding: 0 35px;
        font-size: 15px; }
        @media (max-width: 750px) {
          section.section#p2 > .inner .container_feature > .box_feature > .text {
            width: 100%;
            font-size: 26px;
            font-size: 3.4666666667vw;
            padding: 6.667vw 5.333vw; } }
        section.section#p2 > .inner .container_feature > .box_feature > .text > h3 {
          font-size: 24px;
          font-weight: 700; }
          @media (max-width: 750px) {
            section.section#p2 > .inner .container_feature > .box_feature > .text > h3 {
              font-size: 30px;
              font-size: 4vw; } }
        section.section#p2 > .inner .container_feature > .box_feature > .text > p {
          padding: 25px 0 0;
          line-height: 2; }
          @media (max-width: 750px) {
            section.section#p2 > .inner .container_feature > .box_feature > .text > p {
              padding: 6.667vw 0 0; } }
section.section#p3 {
  background-color: #efefed; }
  section.section#p3 > .inner {
    padding: 85px 15px 130px;
    max-width: 1110px; }
    @media (max-width: 750px) {
      section.section#p3 > .inner {
        padding: 10.667vw 7.333vw 28vw; } }
    section.section#p3 > .inner .container_step {
      padding: 2px 0; }
      section.section#p3 > .inner .container_step > .box_step {
        display: flex;
        padding: 50px 60px;
        background-color: #fff;
        position: relative;
        margin: 45px 0; }
        @media (max-width: 750px) {
          section.section#p3 > .inner .container_step > .box_step {
            margin: 7.333vw 0;
            display: block;
            padding: 7.333vw 7.333vw; } }
        section.section#p3 > .inner .container_step > .box_step:after {
          content: '';
          display: block;
          position: absolute;
          bottom: 0;
          left: 50%;
          transform: translate(-50%, 99%);
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 25px 15px 0 15px;
          border-color: #fff transparent transparent transparent; }
          @media (max-width: 750px) {
            section.section#p3 > .inner .container_step > .box_step:after {
              border-width: 4.533vw 2.667vw 0 2.667vw; } }
        section.section#p3 > .inner .container_step > .box_step > .text {
          width: calc( 100% - 395px );
          padding: 0 10.2% 0 0;
          text-align: left;
          font-size: 15px; }
          @media (max-width: 750px) {
            section.section#p3 > .inner .container_step > .box_step > .text {
              padding: 0;
              font-size: 26px;
              font-size: 3.4666666667vw;
              width: 100%; } }
          section.section#p3 > .inner .container_step > .box_step > .text > h3 {
            font-family: "Roboto", sans-serif;
            font-size: 34px;
            font-weight: 700;
            color: #ffad1e; }
            @media (max-width: 750px) {
              section.section#p3 > .inner .container_step > .box_step > .text > h3 {
                font-size: 34px;
                font-size: 4.5333333333vw; } }
          section.section#p3 > .inner .container_step > .box_step > .text > h4 {
            margin-top: 50px;
            font-size: 24px;
            font-weight: 700; }
            @media (max-width: 750px) {
              section.section#p3 > .inner .container_step > .box_step > .text > h4 {
                margin-top: 5.333vw;
                font-size: 32px;
                font-size: 4.2666666667vw; } }
          section.section#p3 > .inner .container_step > .box_step > .text > p {
            margin-top: 50px;
            line-height: 2; }
            @media (max-width: 750px) {
              section.section#p3 > .inner .container_step > .box_step > .text > p {
                margin-top: 6.667vw;
                line-height: 1.62; } }
        section.section#p3 > .inner .container_step > .box_step > .image {
          width: 395px;
          line-height: 0; }
          @media (max-width: 750px) {
            section.section#p3 > .inner .container_step > .box_step > .image {
              margin-top: 7.333vw;
              width: 100%; } }
        section.section#p3 > .inner .container_step > .box_step:last-of-type:after {
          content: none; }
    section.section#p3 > .inner > p {
      text-align: left;
      margin: 20px auto;
      max-width: 978px;
      line-height: 1.615;
      font-size: 13px;
      font-family: "Roboto", sans-serif; }
      @media (max-width: 750px) {
        section.section#p3 > .inner > p {
          margin: 0;
          font-size: 20px;
          font-size: 2.6666666667vw; } }
section.section#p4 > .inner {
  max-width: 992px;
  padding: 60px 15px 85px; }
  @media (max-width: 750px) {
    section.section#p4 > .inner {
      padding: 8vw 7.333vw; } }
  section.section#p4 > .inner .container_price {
    text-align: left;
    padding: 30px 0 0;
    font-size: 15px; }
    @media (max-width: 750px) {
      section.section#p4 > .inner .container_price {
        padding: 7.333vw 0 0;
        font-size: 26px;
        font-size: 3.4666666667vw; } }
    section.section#p4 > .inner .container_price > h3 {
      font-size: 18px;
      font-weight: 700;
      line-height: 1.95;
      padding: 20px 0 20px;
      position: relative;
      display: flex;
      align-items: center;
      border-bottom: 2px solid #9b9b9b; }
      @media (max-width: 750px) {
        section.section#p4 > .inner .container_price > h3 {
          padding: 0 0 3.333vw;
          font-size: 26px;
          font-size: 3.4666666667vw; } }
      section.section#p4 > .inner .container_price > h3:before {
        content: '';
        display: block;
        width: 84px;
        height: 84px;
        background-image: url("../images/icon_clock_pc.png");
        background-repeat: no-repeat;
        background-position: center center;
        background-size: cover;
        margin-right: 40px; }
        @media (max-width: 750px) {
          section.section#p4 > .inner .container_price > h3:before {
            width: 11.2vw;
            height: 11.2vw;
            margin-right: 5.333vw; } }
    section.section#p4 > .inner .container_price > p {
      line-height: 2;
      margin-top: 30px; }
      @media (max-width: 750px) {
        section.section#p4 > .inner .container_price > p {
          margin-top: 5.333vw; } }
      @media (max-width: 750px) {
        section.section#p4 > .inner .container_price > p.first {
          margin-top: 0; } }
    section.section#p4 > .inner .container_price > .img_table_01 {
      margin-top: 30px; }
      @media (max-width: 750px) {
        section.section#p4 > .inner .container_price > .img_table_01 {
          margin-top: 8vw; } }
    section.section#p4 > .inner .container_price > .img_table_02 {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      margin: 0 -10px;
      padding: 20px 0 0; }
      @media (max-width: 750px) {
        section.section#p4 > .inner .container_price > .img_table_02 {
          margin: 0;
          padding: 2vw 0 0;
          display: block; } }
      section.section#p4 > .inner .container_price > .img_table_02 > div {
        width: 50%;
        padding: 10px; }
        @media (max-width: 750px) {
          section.section#p4 > .inner .container_price > .img_table_02 > div {
            width: 100%;
            padding: 3.333vw 0; } }
      section.section#p4 > .inner .container_price > .img_table_02 > p {
        padding: 10px;
        font-size: 12px; }
        @media (max-width: 750px) {
          section.section#p4 > .inner .container_price > .img_table_02 > p {
            padding: 2.667vw 0;
            font-size: 19px;
            font-size: 2.5333333333vw; } }
    section.section#p4 > .inner .container_price > ul.attend_txt {
      margin-top: 25px;
      font-size: 10px; }
      @media (max-width: 750px) {
        section.section#p4 > .inner .container_price > ul.attend_txt {
          margin-top: 4vw;
          font-size: 16px;
          font-size: 2.1333333333vw; } }
      section.section#p4 > .inner .container_price > ul.attend_txt > li {
        padding: .3em 0;
        line-height: 1.3; }
section.section#qa {
  background-color: #efefed; }
  section.section#qa > .inner {
    margin: 0 auto;
    max-width: 998px;
    padding: 110px 15px 130px; }
    @media (max-width: 750px) {
      section.section#qa > .inner {
        padding: 6.667vw 3.333vw 19.867vw; } }
    section.section#qa > .inner > h2 {
      position: relative;
      padding-bottom: 35px; }
      @media (max-width: 750px) {
        section.section#qa > .inner > h2 {
          padding-bottom: 8.667vw; } }
      section.section#qa > .inner > h2:after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, 0);
        width: 40px;
        height: 2px;
        background-color: #0097d0; }
        @media (max-width: 750px) {
          section.section#qa > .inner > h2:after {
            width: 5.333vw;
            height: 1px; } }
      @media (max-width: 750px) {
        section.section#qa > .inner > h2 img {
          width: 14.267vw; } }
      section.section#qa > .inner > h2 > span {
        padding-top: 40px;
        display: block;
        text-align: center;
        color: #0097d0;
        font-size: 34px;
        font-weight: 700; }
        @media (max-width: 750px) {
          section.section#qa > .inner > h2 > span {
            padding-top: 5.333vw;
            font-size: 40px;
            font-size: 5.3333333333vw; } }
    section.section#qa > .inner > .container_qa {
      padding: 40px 0 20px; }
      @media (max-width: 750px) {
        section.section#qa > .inner > .container_qa {
          padding: 1.333vw 0; } }
      section.section#qa > .inner > .container_qa .box_qa {
        margin: 18px 0; }
        @media (max-width: 750px) {
          section.section#qa > .inner > .container_qa .box_qa {
            margin: 4.8vw 0; } }
        section.section#qa > .inner > .container_qa .box_qa > .content_q {
          display: flex;
          justify-content: space-between;
          align-items: center;
          background-color: #fff;
          padding: 0 20px 0 30px;
          color: #343434;
          height: 60px;
          cursor: pointer;
          font-size: 15px; }
          @media (max-width: 750px) {
            section.section#qa > .inner > .container_qa .box_qa > .content_q {
              padding: 0 3.2vw;
              height: 14vw;
              font-size: 24px;
              font-size: 3.2vw; } }
          section.section#qa > .inner > .container_qa .box_qa > .content_q > .content_ttl {
            font-weight: 700;
            line-height: 1;
            display: flex;
            align-items: center; }
            @media (max-width: 750px) {
              section.section#qa > .inner > .container_qa .box_qa > .content_q > .content_ttl {
                padding-right: 4.667vw; } }
            section.section#qa > .inner > .container_qa .box_qa > .content_q > .content_ttl > .icon_q {
              display: inline-block;
              vertical-align: middle;
              font-size: 28px;
              color: #0097d0;
              line-height: 1;
              margin-right: 20px; }
              @media (max-width: 750px) {
                section.section#qa > .inner > .container_qa .box_qa > .content_q > .content_ttl > .icon_q {
                  font-size: 58px;
                  font-size: 7.7333333333vw;
                  margin-right: 4.667vw; } }
            section.section#qa > .inner > .container_qa .box_qa > .content_q > .content_ttl > p {
              text-align: left; }
              @media (max-width: 750px) {
                section.section#qa > .inner > .container_qa .box_qa > .content_q > .content_ttl > p {
                  line-height: 1.54; } }
          section.section#qa > .inner > .container_qa .box_qa > .content_q > .icon_plus_minus .icon_open_close {
            display: block;
            width: 25px;
            height: 25px;
            background-color: #0097d0;
            border-radius: 50%;
            position: relative; }
            @media (max-width: 750px) {
              section.section#qa > .inner > .container_qa .box_qa > .content_q > .icon_plus_minus .icon_open_close {
                width: 4vw;
                height: 4vw; } }
            section.section#qa > .inner > .container_qa .box_qa > .content_q > .icon_plus_minus .icon_open_close:before {
              content: '';
              display: block;
              width: 11px;
              height: 2px;
              background-color: #fff;
              position: absolute;
              top: 50%;
              left: 52%;
              transform: translate(-50%, -50%) rotate(0);
              opacity: 1;
              -webkit-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
              @media (max-width: 750px) {
                section.section#qa > .inner > .container_qa .box_qa > .content_q > .icon_plus_minus .icon_open_close:before {
                  left: 50%;
                  width: 1.867vw;
                  height: 2px; } }
            section.section#qa > .inner > .container_qa .box_qa > .content_q > .icon_plus_minus .icon_open_close:after {
              content: '';
              display: block;
              width: 11px;
              height: 2px;
              background-color: #fff;
              position: absolute;
              top: 50%;
              left: 52%;
              transform: translate(-50%, -50%) rotate(90deg);
              opacity: 0;
              -webkit-transition: 0.3s ease-in-out;
              transition: 0.3s ease-in-out; }
              @media (max-width: 750px) {
                section.section#qa > .inner > .container_qa .box_qa > .content_q > .icon_plus_minus .icon_open_close:after {
                  left: 50%;
                  width: 1.867vw;
                  height: 2px; } }
          section.section#qa > .inner > .container_qa .box_qa > .content_q.active > .icon_plus_minus .icon_open_close:before {
            transform: translate(-50%, -50%) rotate(90deg); }
          section.section#qa > .inner > .container_qa .box_qa > .content_q.active > .icon_plus_minus .icon_open_close:after {
            transform: translate(-50%, -50%) rotate(180deg);
            opacity: 1; }
        section.section#qa > .inner > .container_qa .box_qa > .content_a {
          overflow: hidden;
          display: flex;
          justify-content: space-between;
          padding: 20px 60px 0 30px;
          font-size: 15px; }
          @media (max-width: 750px) {
            section.section#qa > .inner > .container_qa .box_qa > .content_a {
              padding: 3.333vw 3.333vw 0 2.667vw;
              font-size: 24px;
              font-size: 3.2vw; } }
          section.section#qa > .inner > .container_qa .box_qa > .content_a > .content_ttl {
            width: 50px;
            text-align: left; }
            @media (max-width: 750px) {
              section.section#qa > .inner > .container_qa .box_qa > .content_a > .content_ttl {
                width: 12vw; } }
            section.section#qa > .inner > .container_qa .box_qa > .content_a > .content_ttl > .icon_a {
              font-size: 28px;
              font-weight: 700;
              color: #ffad1e; }
              @media (max-width: 750px) {
                section.section#qa > .inner > .container_qa .box_qa > .content_a > .content_ttl > .icon_a {
                  font-size: 58px;
                  font-size: 7.7333333333vw; } }
          section.section#qa > .inner > .container_qa .box_qa > .content_a > .body {
            width: calc( 100% - 50px );
            text-align: left;
            line-height: 2; }
            @media (max-width: 750px) {
              section.section#qa > .inner > .container_qa .box_qa > .content_a > .body {
                width: calc( 100% - 12vw ); } }



section.main_block {
  background-color: #009ce1;
}
section.main_block > div {
  margin: 0 auto 0 auto;
  padding: 0 0 5% 0;
  width: 700px;
}
section.main_block picture {
}
section.main_block picture img {
  width: 100%;
}
@media (max-width: 780px) {
  section.main_block > div {
    width: 100%;
  }
}


section.main_block2 {
  background-image: url('../images/main_bg.jpg');
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
}
section.main_block2 > div {
  margin: 0 auto 0 auto;
  padding: 9% 0 9% 0;
  width: 76.42%;
}
section.main_block2 > div > div {
  padding: 5% 0 5% 0;
  background-color: rgba(255, 162, 55, 0.8);
}
section.main_block2 > div > div > p {
  padding: 5%;
  font-size: 2.7vw;
  color: #fff;
  font-weight: 700;
  line-height: 1.5em;
}
@media (max-width: 780px) {
  section.main_block2 {
    background-image: url('../images/main_bg_sp.jpg');
  }
  section.main_block2 > div {
    padding: 3% 0 3% 0;
  }
  section.main_block2 > div > div {
    padding: 2% 0 2% 0;
  }
  section.main_block2 > div > div > p {
    font-size: 4vw;
  }
}




section.section#p1>.about_smileview>.inner {
  margin: 0 auto;
  max-width: 1170px;
  padding: 60px 15px
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner {
    padding: 6.667vw 2.667vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview {
  padding: 40px;
  position: relative
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview {
    padding: 5.3333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview:before {
  content: '';
  display: block;
  width: 300px;
  height: 300px;
  background-color: #0194cb;
  position: absolute;
  top: 0;
  left: 0
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview:before {
    width: 53.3333vw;
    height: 53.3333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview:after {
  content: '';
  display: block;
  width: 300px;
  height: 300px;
  background-color: #0194cb;
  position: absolute;
  bottom: 0;
  right: 0
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview:after {
    width: 53.3333vw;
    height: 53.3333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner {
  background-color: #fff;
  position: relative;
  z-index: 1;
  padding: 45px;
  box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1)
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner {
    padding: 8vw 4vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview {
  margin: 0 auto;
  max-width: 860px;
  display: flex;
  justify-content: space-between
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview {
    display: block
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text {
  width: calc(100% - 250px);
  text-align: left
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text {
    width: 100%;
    text-align: center
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>.sub {
  text-align: center;
  width: 77%
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>.sub {
    width: 100%
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>.sub>p {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
  letter-spacing: -0.04em;
  position: relative;
  line-height: 1.5333;
  padding: 0 20px
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>.sub>p {
    text-align: center;
    font-size: 26px;
    font-size: 3.4666666667vw;
    line-height: 1.8846;
    padding: 0 5vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>.sub>p:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: #000;
  transform: rotate(-25deg)
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>.sub>p:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background-color: #000;
  transform: rotate(25deg)
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>h2 {
  margin-top: 20px;
  font-size: 34px;
  font-weight: 600;
  color: #0097d0;
  letter-spacing: -0.02em
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>h2 {
    margin-top: 4vw;
    text-align: center;
    font-size: 40px;
    font-size: 5.3333333333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>p {
  margin-top: 1em;
  font-size: 15px;
  line-height: 1.4
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>p {
    font-size: 24px;
    font-size: 3.2vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>h3 {
  margin-top: 20px;
  display: inline-block;
  padding: 8px 30px;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  background-color: #0097d0;
  border-radius: 30px
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>h3 {
    margin: 4vw auto 0;
    text-align: center;
    padding: 1.3333vw 5.3333vw;
    font-size: 22px;
    font-size: 2.9333333333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.usage_smileview {
  margin-top: 10px
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.usage_smileview {
    margin: 2.667vw auto 0;
    max-width: 63vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.usage_smileview>li {
  font-size: 20px;
  color: #0097d0;
  padding: 5px 0;
  display: flex;
  align-items: center
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.usage_smileview>li {
    font-size: 26px;
    font-size: 3.4666666667vw;
    line-height: 1.7307;
    text-align: left
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.usage_smileview>li>span.number {
  display: inline-block;
  font-size: 25px;
  font-weight: 600;
  margin-right: 20px;
  font-family: "Roboto", sans-serif;
  letter-spacing: 0.08em
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.usage_smileview>li>span.number {
    font-size: 60px;
    font-size: 8vw;
    margin-right: 3.3333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.attend_txt {
  margin-top: 25px;
  font-size: 12px
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.attend_txt {
    max-width: 71vw;
    text-align: left;
    margin: 4.667vw auto 0;
    font-size: 22px;
    font-size: 2.9333333333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.attend_txt>li {
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.5625
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.content_qrcode {
  margin: 30px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #0097d0;
  background-color: #0097d0;
  color: #fff
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.content_qrcode {
    display: none
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.content_qrcode>li {
  text-align: center;
  line-height: 1.55;
  font-size: 20px;
  font-weight: 600;
  padding: 10px;
  width: calc(100% - 125px)
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text>ul.content_qrcode>li.code {
  width: 125px;
  line-height: 0
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text .link {
    margin-top: 5.3333vw
  }
}
a.button {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 480px;
  height: 70px;
  background-color: #009ace;
  border-radius: 35px;
  color: #fff;
  font-size: 20px;
  font-weight: 600;
  padding: 0 30px;
  box-shadow: none;
}

@media (max-width: 750px) {
  a.button.middle {
    margin: 0 auto;
    max-width: 56vw;
    border: 2px solid #0097d0;
    box-shadow: none;
    font-size: 20px;
    font-size: 2.6666666667vw;
  }
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.text .link a.button.middle {
    max-width: 68.8vw;
    height: 12vw;
    font-size: 25px;
    font-size: 3.3333333333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail {
  width: 207px
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail {
    width: 100%
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail .container_inline_movie {
  background-image: url(../images/smartphone_wrapper-f8ecb2f143956f93e22366761bd1e620c680066a0989fb0eabeb198813ee0ff4.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  padding: 25% 6% 5% 4.6%
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail .container_inline_movie {
    padding: 12.3333vw 3.2vw 2vw 2.5333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail .container_inline_movie>.container_movie_body {
  width: 100%;
  overflow: hidden;
  z-index: 1;
  position: relative;
  border-radius: 0 0 23px 23px
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail .container_inline_movie>.container_movie_body {
    border-radius: 0 0 5.6vw 5.6vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail .container_inline_image {
  margin-top: 10px
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail video {
  width: 110%;
  height: auto;
  margin-left: -5%
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>.thumbnail {
    margin: 5.3333vw auto 0;
    width: 52.53333vw;
    height: 108vw
  }
}

@media (max-width: 750px) {
  section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>ul.attend_txt {
    max-width: 71vw;
    text-align: left;
    margin: 4.667vw auto 0;
    font-size: 22px;
    font-size: 2.9333333333vw
  }
}

section.section#p1>.about_smileview>.inner>.content_about_smileview>.content_about_smileview_inner>.wrapper_content_about_smileview>ul.attend_txt>li {
  text-indent: -1em;
  margin-left: 1em;
  line-height: 1.5625
}




.container {
  padding: 60px 24px
}
.container {
  width: 100%;
  max-width: 100%;
}
@media only screen and (min-width: 992px) {
  .container {
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 991px) and (min-width: 768px) {
  .container {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
  }
}
h1 {
  font-size: 65px;
  font-weight: 900;
  line-height: 1.15;
  color: #3d3935;
  margin: 0 auto 15px;
  text-rendering: optimizeLegibility;
}
.intro-slide {
  display: flex;
  justify-content: center;
  align-items: center;
}
.intro-image img {
  width: 100%;
  height: 100%
}

@media only screen and (max-width:600px) {
  .intro-image img {
    width: 90%;
    height: 100%;
    margin-left: 16px
  }
}
.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.col-md-7 {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
}
@media (min-width: 768px) {
  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }
}

.intro-slide-text1 {
  display: flex;
  align-items: center;
  flex: 2 1
}

@media only screen and (max-width:600px) {
  .intro-slide-text1 {
    padding-left: auto;
    flex: auto
  }
}

@media only screen and (max-width: 600px) {
  .intro-image-text {
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .container-full h1 {
    font-weight: 800;
    font-size: 27px;
  }
}
.apac-smile-assessment h1 {
  color: #009ace;
}

@media(min-width:768px) {
  .sa-root h1 {
    font-size: 45px
  }
}

@media (max-width: 767px) {
  .apac-smile-assessment h1 {
    font-weight: 800;
    font-size: 27px;
  }
}
.get-start {
  text-align: center;
  font-size: 17px !important;
}
@media only screen and (min-width: 768px) {
  .get-start, .ribbon-cont {
    display: contents;
  }
}
.get-start a {
  border: 2px solid #fff
}

.btn-blue {
  border-radius: 35px;
  background-color: #009ace;
  display: inline-block;
  border: none;
  padding: 9px 20px 9px 20px;
  max-width: 330px;
  width: 100%;
  text-align: center;
  font-size: 20px;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  letter-spacing: 0.7px;
  transition: all 0.05s ease-out;
  border: 4px solid #009ace;
  cursor: pointer;
}
@media only screen and (max-width: 991px) and (min-width: 768px) {
  .btn-blue, .btn-transparent {
    padding: 6px 30px 6px 30px;
    font-size: 14px;
  }
}
@media only screen and (max-width: 991px) and (min-width: 768px) {
  .get-start a {
    padding: 6px 30px 6px 30px;
    font-size: 14px;
  }
}
.get-start a, .get-start .inv-btn, .get-start .btn-blue, .get-start button {
  border-radius: 35px;
  background-color: #009ace;
  display: inline-block;
  border: none;
  padding: 9px 20px 9px 20px;
  max-width: 325px;
  width: 100%;
  text-align: center;
  font-size: 20px;
  color: #ffffff;
  text-decoration: none;
  font-weight: bold;
  transition: all 0.05s ease-out;
  border: 2px solid #009ace;
  cursor: pointer;
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .get-start a, .get-start .inv-btn, .get-start .btn-blue, .get-start button {
    max-width: 250px;
    font-size: 14px;
    max-width: 250px;
    padding: 7px;
  }
}

#main .container > h2 > span {
  padding-top: 35px;
  display: block;
  text-align: center;
  color: #000;
  font-size: 40px;
  font-weight: 700; }
  @media (max-width: 750px) {
    #main .container > h2 > span {
      line-height: 1.6;
      padding-top: 5.333vw;
      font-size: 40px;
      font-size: 5.3333333333vw; } }

      h3 {
        font-size: 26px;
        line-height: 1.28;
        color: #3d3935;
        margin: 0 auto 10px;
        text-rendering: optimizeLegibility;
      }
@media only screen and (max-width: 767px) {
  h3 {
    font-size: 22px;
    line-height: 1.2;
  }
}

.shika_link {
  width: 1062px;
  margin: 0 auto 0 auto;
  position: relative;
}
.shika_link a {
  background-color: #e40081;
  text-align: center;
  color: #fff;
  display: block;
  border-radius: 35px;
  font-size: 26px;
  font-weight: 700;
  padding: 20px 0 20px 0;
  position: relative;
}
.shika_link a::after {
  content: '';
  display: block;
  width: 7px;
  height: 7px;
  border: solid #fff;
  border-width: 0 3px 3px 0;
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%) rotate(-45deg);
}

@media (max-width: 750px) {
  .shika_link {
    width: 90%;
    margin-top: 10%;
  }
  .shika_link a {
    font-size: 4.26vw;
  }
}