@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;500;700;800&display=swap");
html.fix {
  overflow: hidden; }

.wrap {
  background-color: #fff;
  overflow-x: hidden;
  position: relative;
  z-index: 5; }

.sp {
  display: block; }

.pc {
  display: none; }

.marker {
  line-height: 1;
  padding-bottom: .2em;
  position: relative; }
  .marker:before {
    content: '';
    width: 0%;
    height: 50%;
    background-color: #FFFF0A;
    position: absolute;
    left: 0;
    bottom: -.1em;
    z-index: -1; }
  .marker.on:before {
    animation-name: marker;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    animation-duration: 1s; }
  .marker.ovf:before {
    animation-name: markerOvf;
    animation-delay: .5s;
    animation-fill-mode: forwards;
    animation-duration: 1s;
    bottom: -.1em;
    left: -1em; }

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

  .pc {
    display: block; } }
@keyframes marker {
  0% {
    width: 0%; }
  100% {
    width: 100%; } }
@keyframes optionMarker {
  0% {
    width: 0%; }
  100% {
    width: 54%; } }
@keyframes markerOvf {
  0% {
    width: 0%; }
  100% {
    width: calc(100% + 2em); } }
@keyframes markerConsept {
  0% {
    width: 0%; }
  100% {
    width: 26.01%; } }
@keyframes introBubble_01 {
  0% {
    opacity: 1;
    transform: translateY(0); }
  50% {
    opacity: 1;
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes introBubble_02 {
  0% {
    opacity: 0;
    transform: translateY(10px); }
  20% {
    opacity: 1;
    transform: translateY(0px); }
  40% {
    opacity: 1;
    transform: translateY(0px); }
  60% {
    opacity: 0;
    transform: translateY(-10px); }
  80% {
    opacity: 0;
    transform: translateY(-10px); }
  100% {
    opacity: 0;
    transform: translateY(-10px); } }
@keyframes introBubble_03 {
  0% {
    opacity: 0;
    transform: translateY(10px); }
  20% {
    opacity: 0;
    transform: translateY(10px); }
  40% {
    opacity: 0;
    transform: translateY(10px); }
  60% {
    opacity: 1;
    transform: translateY(0px); }
  80% {
    opacity: 1;
    transform: translateY(0px); }
  100% {
    opacity: 0;
    transform: translateY(-10px); } }
@keyframes blink {
  0% {
    opacity: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 1; } }
@keyframes arrowToBtm {
  0% {
    opacity: 0;
    transform: translate(0, 0); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: translate(0, 10px); } }
@keyframes arrowToRight {
  0% {
    opacity: 0;
    transform: rotate(-90deg) translate(0, 0); }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    transform: rotate(-90deg) translate(0, 10px); } }
@keyframes toTop {
  0% {
    opacity: 0;
    transform: translate(0, 50px); }
  80% {
    opacity: 1;
    transform: translate(0, 0); }
  100% {
    opacity: 1;
    transform: translate(0, 0); } }
@keyframes toRight {
  0% {
    opacity: 0;
    transform: translateX(-50px); }
  80% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
@keyframes toLeft {
  0% {
    opacity: 0;
    transform: translateX(50px); }
  80% {
    opacity: 1;
    transform: translateX(0); }
  100% {
    opacity: 1;
    transform: translateX(0); } }
@keyframes contentsBubble {
  0% {
    opacity: 1;
    transform: translateY(0); }
  50% {
    opacity: 1;
    transform: translateY(10px); }
  100% {
    opacity: 1;
    transform: translateY(0); } }
@keyframes pulse {
  0% {
    transform: scale(1); }
  50% {
    transform: scale(1.05); }
  100% {
    transform: scale(1); } }
@keyframes conceptLineTopSp {
  0% {
    top: 0;
    left: 0; }
  100% {
    top: -2.2vw;
    left: -2.2vw; } }
@keyframes conceptLineTopPc {
  0% {
    top: 0;
    left: 0; }
  100% {
    top: -8.14%;
    left: -3.91%; } }
@keyframes conceptLineBtmSp {
  0% {
    bottom: 0;
    right: 0; }
  100% {
    bottom: -2.74vw;
    right: -2.2vw; } }
@keyframes conceptLineBtmPc {
  0% {
    bottom: 0;
    right: 0; }
  100% {
    bottom: -8.14%;
    right: -3.91%; } }
@media screen and (min-width: 768px) {
  .hvr-opc {
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s; }
    .hvr-opc:hover {
      -webkit-opacity: 0.7;
      -moz-opacity: 0.7;
      -ms-opacity: 0.7;
      -o-opacity: 0.7;
      opacity: 0.7; } }
.header {
  width: 100%;
  padding: 20px 20px;
  position: absolute;
  z-index: 10; }
  .header .header-unit {
    max-width: 1300px;
    margin: 0 auto 0;
    position: relative; }
  .header .logo {
    width: 14.328%;
    max-width: 89px; }
    .header .logo a {
      display: block; }
  .header .header-box {
    position: absolute;
    top: 0;
    right: 0; }
  .header .header-nav-btn {
    position: absolute;
    top: 10px;
    right: 0;
    z-index: 1000; }
  .header .nav-btn {
    display: inline-block;
    position: relative;
    width: 24px;
    height: 19px;
    -webkit-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer; }
    .header .nav-btn .line {
      display: inline-block;
      width: 100%;
      height: 2px;
      background-color: #fff;
      -webkit-transition: all .3s;
      -o-transition: all .3s;
      transition: all .3s;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      -ms-border-radius: 4px;
      -o-border-radius: 4px;
      border-radius: 4px;
      position: absolute;
      left: 0; }
      .header .nav-btn .line:nth-of-type(1) {
        top: 0; }
      .header .nav-btn .line:nth-of-type(2) {
        top: 8px; }
      .header .nav-btn .line:nth-of-type(3) {
        bottom: 0; }
    .header .nav-btn.on {
      -webkit-transition: all 0s;
      -o-transition: all 0s;
      transition: all 0s; }
      .header .nav-btn.on .line:nth-of-type(1) {
        -webkit-transform: translateY(8px) rotate(-45deg);
        transform: translateY(8px) rotate(-45deg); }
      .header .nav-btn.on .line:nth-of-type(2) {
        opacity: 0; }
      .header .nav-btn.on .line:nth-of-type(3) {
        -webkit-transform: translateY(-9px) rotate(45deg);
        transform: translateY(-9px) rotate(45deg); }
  .header .sns-area {
    position: absolute;
    top: 48px;
    right: 0; }
  .header .sns-item {
    width: 24px;
    height: 24px; }
    .header .sns-item a {
      display: block; }
  .header .nav-bg {
    display: none;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.35);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80; }
  .header .nav {
    width: 100%;
    height: 87.33vh;
    background-color: #00A0E6;
    overflow: auto;
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 100;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s; }
    .header .nav.on {
      left: 0%; }
    .header .nav .nav-list {
      padding: 27.29% 0 33.58%; }
    .header .nav .nav-item {
      text-align: center; }
      .header .nav .nav-item:nth-child(1) img {
        width: 14.27%;
        max-width: 107px; }
      .header .nav .nav-item:nth-child(2) img {
        width: 18.64%;
        max-width: 140px; }
      .header .nav .nav-item:nth-child(3) img {
        width: 21.29%;
        max-width: 160px; }
      .header .nav .nav-item:nth-child(4) img {
        width: 17.25%;
        max-width: 129px; }
      .header .nav .nav-item:nth-child(5) img {
        width: 20.74%;
        max-width: 156px; }
      .header .nav .nav-item:nth-child(6) img {
        width: 27.87%;
        max-width: 209px; }
      .header .nav .nav-item:nth-child(7) {
        padding-top: 16.26%;
        position: relative; }
        .header .nav .nav-item:nth-child(7):before {
          content: '';
          width: 2.27vw;
          max-width: 17px;
          height: 2.27vw;
          max-height: 17px;
          margin: auto;
          background-color: #fff;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          -ms-border-radius: 50%;
          -o-border-radius: 50%;
          border-radius: 50%;
          position: absolute;
          top: 0;
          left: 0;
          right: 0; }
        .header .nav .nav-item:nth-child(7) img {
          width: 43.89%;
          max-width: 324px; }
      .header .nav .nav-item:not(:last-child) {
        margin: 0 auto 9.6%; }
    .header .nav a {
      display: block; }

@media screen and (min-width: 768px) {
  .header .nav-btn {
    width: 36px;
    height: 24px; }
    .header .nav-btn .line:nth-of-type(1) {
      top: 0; }
    .header .nav-btn .line:nth-of-type(2) {
      top: 11px; }
    .header .nav-btn .line:nth-of-type(3) {
      bottom: 0; }
    .header .nav-btn.on .line:nth-of-type(1) {
      -webkit-transform: translateY(10px) rotate(-45deg);
      transform: translateY(10px) rotate(-45deg); }
    .header .nav-btn.on .line:nth-of-type(2) {
      opacity: 0; }
    .header .nav-btn.on .line:nth-of-type(3) {
      -webkit-transform: translateY(-11px) rotate(45deg);
      transform: translateY(-11px) rotate(45deg); }
  .header .sns-area {
    top: 64px; }
  .header .sns-item {
    width: 34px;
    height: 34px; }
  .header .nav {
    width: 50.56%;
    height: 100vh; }
    .header .nav.on {
      left: 50.56%; }
    .header .nav .nav-list {
      padding: 182px 0 100px; }
    .header .nav .nav-item {
      text-align: center; }
      .header .nav .nav-item:nth-child(1) img {
        width: 14.7%; }
      .header .nav .nav-item:nth-child(2) img {
        width: 19.2%; }
      .header .nav .nav-item:nth-child(3) img {
        width: 21.93%; }
      .header .nav .nav-item:nth-child(4) img {
        width: 17.77%; }
      .header .nav .nav-item:nth-child(5) img {
        width: 21.37%; }
      .header .nav .nav-item:nth-child(6) img {
        width: 28.71%; }
      .header .nav .nav-item:nth-child(7) {
        padding-top: 16.26%;
        position: relative; }
        .header .nav .nav-item:nth-child(7):before {
          content: '';
          width: 2.27vw;
          max-width: 17px;
          height: 2.27vw;
          max-height: 17px;
          margin: auto;
          background-color: #fff;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          -ms-border-radius: 50%;
          -o-border-radius: 50%;
          border-radius: 50%;
          position: absolute;
          top: 0;
          left: 0;
          right: 0; }
        .header .nav .nav-item:nth-child(7) img {
          width: 44.48%; }
      .header .nav .nav-item:not(:last-child) {
        margin: 0 auto 64px; }
    .header .nav a {
      display: block; } }
.footer {
  padding: 8.8vw 5.87vw;
  color: #fff;
  letter-spacing: .15em;
  background-color: #B9B9B9; }
  .footer .logo {
    width: 28.27vw;
    max-width: 161px;
    margin-bottom: 9.6vw; }
  .footer .name {
    margin: 0 auto 5.33vw;
    font-size: 3.733vw; }
  .footer .add {
    margin: 0 auto 8vw;
    font-size: 3.200vw; }
  .footer .tel {
    margin: 0 auto 8vw; }
    .footer .tel .txt {
      margin: 0 auto 2.67vw;
      font-size: 2.933vw; }
    .footer .tel .number {
      display: inline-block;
      padding: 2.13vw 6.4vw;
      line-height: 1;
      border: 1px solid #fff; }
  .footer .aside .aside-item {
    font-size: 2.667vw;
    line-height: 1.8; }
  .footer .aside a {
    color: #fff; }

@media screen and (min-width: 768px) {
  .footer {
    padding: 70px 0 48px; }
    .footer .footer-unit {
      width: 100%;
      max-width: 1048px;
      margin: 0 auto 0;
      letter-spacing: -.4em; }
    .footer .logo,
    .footer .txt-area {
      display: inline-block;
      letter-spacing: .15em;
      vertical-align: top; }
    .footer .logo {
      width: 160px;
      margin-right: 100px;
      margin-bottom: 0; }
    .footer .txt-area {
      width: 788px; }
    .footer .name {
      margin: 0 auto 20px;
      font-size: 1.6rem; }
    .footer .add {
      margin: 0 auto 28px;
      font-size: 1.5rem; }
    .footer .tel {
      margin: 0 auto 48px; }
      .footer .tel .txt {
        margin: 0 auto 12px;
        font-size: 1.3rem; }
      .footer .tel .number {
        font-size: 1.5rem;
        padding: 10px 32px; }
    .footer .aside {
      text-align: right; }
      .footer .aside .aside-list {
        letter-spacing: -.4em; }
      .footer .aside .aside-item {
        display: inline-block;
        font-size: 1.0rem;
        vertical-align: top;
        letter-spacing: .15em; }
        .footer .aside .aside-item:not(:last-child) {
          margin-right: 36px; } }
.contact-btn {
  width: 100%;
  max-width: 1344px;
  padding: 0 22px 3.6vw;
  margin: auto;
  text-align: right;
  left: 0;
  right: 0;
  z-index: 10; }
  .contact-btn.on {
    z-index: 0; }
  .contact-btn.stop a {
    -webkit-opacity: 0;
    -moz-opacity: 0;
    -ms-opacity: 0;
    -o-opacity: 0;
    opacity: 0; }
  .contact-btn a {
    display: inline-block;
    width: 25.6vw;
    max-width: 138px;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    transition-duration: 0.3s; }

@media screen and (min-width: 768px) {
  .contact-btn {
    padding: 0 0 20px; } }
.intro {
  background-color: #00a0e6;
  position: relative; }
  .intro:before {
    content: '';
    width: 2.13vw;
    height: 2.93vw;
    margin: auto;
    background-image: url(/img/intro-arrow.png);
    background-size: contain;
    background-repeat: no-repeat;
    -webkit-animation: arrowToBtm 2s infinite;
    animation: arrowToBtm 2s infinite;
    position: absolute;
    bottom: 8.41vw;
    left: 0;
    right: 0; }
  .intro .site-catch {
    width: 87.2%;
    padding: 112.4vw 0 18.75vw;
    margin: 0 auto 0; }
    .intro .site-catch .txt-unit {
      margin-bottom: 2.67vw; }
    .intro .site-catch .txt {
      display: block; }
      .intro .site-catch .txt:nth-child(1) {
        width: 44.04vw;
        max-width: 291px;
        margin-bottom: 2.67vw; }
      .intro .site-catch .txt:nth-child(2) {
        width: 51.99vw;
        max-width: 345px; }
    .intro .site-catch .main-catch {
      max-width: 645px;
      margin-bottom: 3.73vw;
      position: relative; }
      .intro .site-catch .main-catch:before {
        content: '';
        width: 5.6vw;
        max-width: 41px;
        height: 4.53vw;
        max-height: 33px;
        background-image: url(/img/mark-blink.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        -webkit-animation: blink .8s infinite alternate;
        animation: blink .8s infinite alternate;
        position: absolute;
        top: -2.74vw;
        right: -4.53vw; }
    .intro .site-catch .catch-txt {
      color: #fff;
      font-size: 2.933vw;
      letter-spacing: .18em; }
  .intro .bubble {
    position: absolute; }
    .intro .bubble img {
      -webkit-opacity: 0;
      -moz-opacity: 0;
      -ms-opacity: 0;
      -o-opacity: 0;
      opacity: 0; }
    .intro .bubble.comment-01 {
      width: 68.8%;
      max-width: 456px;
      top: 25.95vw;
      left: -7.2vw;
      z-index: 1; }
      .intro .bubble.comment-01 img {
        animation-name: introBubble_01;
        animation-fill-mode: backwards;
        animation-duration: 3s;
        animation-iteration-count: infinite; }
    .intro .bubble.comment-02 {
      width: 46.4%;
      max-width: 309px;
      top: 23.79vw;
      left: 52.79vw;
      z-index: 1; }
      .intro .bubble.comment-02 img {
        animation-name: introBubble_03;
        animation-delay: .72s;
        animation-fill-mode: backwards;
        animation-duration: 8s;
        animation-iteration-count: infinite; }
    .intro .bubble.comment-03 {
      width: 42.93%;
      max-width: 303px;
      top: 75.04vw;
      left: 53.04vw;
      z-index: 1; }
      .intro .bubble.comment-03 img {
        animation-name: introBubble_03;
        animation-delay: .92s;
        animation-fill-mode: backwards;
        animation-duration: 8s;
        animation-iteration-count: infinite; }
    .intro .bubble.comment-04 {
      width: 46.4%;
      max-width: 406px;
      top: 23.79vw;
      left: 52.79vw;
      z-index: 1; }
      .intro .bubble.comment-04 img {
        animation-name: introBubble_02;
        animation-delay: 0s;
        animation-fill-mode: backwards;
        animation-duration: 8s;
        animation-iteration-count: infinite; }
    .intro .bubble.comment-05 {
      width: 42.93%;
      max-width: 353px;
      top: 75.04vw;
      left: 53.04vw;
      z-index: 1; }
      .intro .bubble.comment-05 img {
        animation-name: introBubble_02;
        animation-delay: .2s;
        animation-fill-mode: backwards;
        animation-duration: 8s;
        animation-iteration-count: infinite; }

@media screen and (min-width: 768px) {
  .intro {
    height: auto;
    min-height: auto; }
    .intro:before {
      content: '';
      width: 15px;
      height: 21px;
      bottom: 4.56%; }
    .intro .intro-unit {
      width: 100%;
      max-width: 1344px;
      margin: 0 auto 0;
      position: relative; }
    .intro .site-catch {
      width: 87.2%;
      width: 100%;
      padding: 776px 0 134px;
      padding: 53.76% 4.1% 9.31%;
      margin: 0 auto 0; }
      .intro .site-catch .txt-unit {
        margin-bottom: 52px; }
      .intro .site-catch .txt {
        display: block; }
        .intro .site-catch .txt:nth-child(1) {
          width: 23.32%;
          margin-bottom: 32px; }
        .intro .site-catch .txt:nth-child(2) {
          width: 27.64%; }
      .intro .site-catch .main-catch {
        width: 51.68%;
        margin-bottom: 28px; }
        .intro .site-catch .main-catch:before {
          top: -27.27%;
          right: -5.58%; }
      .intro .site-catch .catch-txt {
        font-size: 1.2rem; }
        .intro .site-catch .catch-txt br {
          display: none; }
    .intro .bubble.comment-01 {
      width: 33.93%;
      top: 17.26%;
      left: 27.75%;
      z-index: 2; }
      .intro .bubble.comment-01 img {
        animation-name: introBubble_01;
        animation-duration: 3s; }
    .intro .bubble.comment-02 {
      width: 22.99%;
      top: 5.56%;
      left: 13.17%; }
      .intro .bubble.comment-02 img {
        animation-name: introBubble_01;
        animation-delay: .0s;
        animation-duration: 2.5s; }
    .intro .bubble.comment-03 {
      width: 22.54%;
      top: 26.12%;
      left: 77.46%;
      z-index: 2; }
      .intro .bubble.comment-03 img {
        animation-name: introBubble_01;
        animation-delay: 1s;
        animation-duration: 4s; }
    .intro .bubble.comment-04 {
      width: 30.21%;
      top: 42.4%;
      left: 59.75%; }
      .intro .bubble.comment-04 img {
        animation-name: introBubble_01;
        animation-delay: 2s;
        animation-duration: 6s; }
    .intro .bubble.comment-05 {
      width: 26.26%;
      top: 4.08%;
      left: 63.91%; }
      .intro .bubble.comment-05 img {
        animation-name: introBubble_01;
        animation-delay: 3s;
        animation-duration: 5s; } }
@media screen and (max-height: 1023px) and (min-width: 767px) {
  .intro {
    height: 110vh;
    min-height: 768px; }
    .intro:before {
      bottom: 13vh; }
    .intro .site-catch {
      width: 87.2%;
      width: 100%;
      padding: 56.76vh 4.1% 0%;
      margin: 0 auto 0; }
      .intro .site-catch .txt-unit {
        margin-bottom: 52px; }
      .intro .site-catch .txt {
        display: block; }
      .intro .site-catch .main-catch {
        margin-bottom: 16px; }
    .intro .bubble.comment-01 {
      width: 31.93%; }
    .intro .bubble.comment-02 {
      width: 20.99%; }
    .intro .bubble.comment-03 {
      width: 20.54%;
      top: 28.12%; }
    .intro .bubble.comment-04 {
      width: 28.21%;
      top: 48.4%; }
    .intro .bubble.comment-05 {
      width: 24.26%; } }
.about {
  padding: 15.54vw 4.27vw 22.61vw;
  text-align: center; }
  .about .about-unit {
    padding: 0;
    text-align: left;
    position: relative; }
    .about .about-unit:before, .about .about-unit:after {
      content: '';
      width: 10px;
      height: 98%;
      border: 1px solid #000;
      position: absolute;
      top: 9.6%; }
    .about .about-unit:before {
      border-right: none;
      -webkit-border-radius: 3px 0 0 3px;
      -moz-border-radius: 3px 0 0 3px;
      -ms-border-radius: 3px 0 0 3px;
      -o-border-radius: 3px 0 0 3px;
      border-radius: 3px 0 0 3px;
      left: 0; }
    .about .about-unit:after {
      border-left: none;
      -webkit-border-radius: 0 3px 3px 0;
      -moz-border-radius: 0 3px 3px 0;
      -ms-border-radius: 0 3px 3px 0;
      -o-border-radius: 0 3px 3px 0;
      border-radius: 0 3px 3px 0;
      right: 0; }
  .about .sec-ttl {
    width: 59.73vw;
    max-width: 262px;
    margin: 0 auto 20px; }
  .about .txt-unit {
    width: 88.5vw;
    margin: 0 auto; }
  .about .txt {
    padding-left: .08em;
    font-size: 2.667vw;
    letter-spacing: .08em;
    text-align: center; }

@media screen and (min-width: 768px) {
  .about {
    padding: 94px 0 82px; }
    .about .about-unit {
      width: 100%;
      max-width: 636px;
      margin: 0 auto 0; }
      .about .about-unit:before, .about .about-unit:after {
        width: 20px;
        border: 2px solid #000; }
      .about .about-unit:before {
        border-right: none;
        -webkit-border-radius: 8px 0 0 8px;
        -moz-border-radius: 8px 0 0 8px;
        -ms-border-radius: 8px 0 0 8px;
        -o-border-radius: 8px 0 0 8px;
        border-radius: 8px 0 0 8px; }
      .about .about-unit:after {
        border-left: none;
        -webkit-border-radius: 0 8px 8px 0;
        -moz-border-radius: 0 8px 8px 0;
        -ms-border-radius: 0 8px 8px 0;
        -o-border-radius: 0 8px 8px 0;
        border-radius: 0 8px 8px 0; }
    .about .sec-ttl {
      margin: 0 auto 24px; }
    .about .txt-unit {
      width: 100%; }
    .about .txt {
      font-size: 1.2rem;
      line-height: 2;
      letter-spacing: .15em; } }
.point {
  padding: 12.8vw 0 21.33vw;
  background-color: #00a0e6;
  position: relative; }
  .point:before {
    content: '';
    width: 30.67vw;
    height: 10.69vw;
    background-image: url(/img/point-bg-bottom.svg);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: calc(100% - 0.4vw);
    left: 48.53vw; }
  .point .point-item {
    position: relative; }
    .point .point-item.pickup-01, .point .point-item.pickup-02 {
      z-index: 2; }
      .point .point-item.pickup-01 .pickup-unit, .point .point-item.pickup-02 .pickup-unit {
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        -ms-border-radius: 50%;
        -o-border-radius: 50%;
        border-radius: 50%;
        position: relative;
        background-image: url(/img/cmn-diagonal.svg);
        background-color: transparent;
        z-index: 3; }
        .point .point-item.pickup-01 .pickup-unit:before, .point .point-item.pickup-02 .pickup-unit:before {
          content: '';
          width: calc(100% - 2.695%);
          height: calc(100% - 2.695%);
          background-color: #fff;
          -webkit-border-radius: 50%;
          -moz-border-radius: 50%;
          -ms-border-radius: 50%;
          -o-border-radius: 50%;
          border-radius: 50%;
          position: absolute;
          top: -.05vw;
          left: -.05vw;
          z-index: -1; }
      .point .point-item.pickup-01 .number, .point .point-item.pickup-02 .number {
        position: absolute;
        z-index: 4; }
      .point .point-item.pickup-01 .txt-area, .point .point-item.pickup-02 .txt-area {
        text-align: justify; }
      .point .point-item.pickup-01 .txt, .point .point-item.pickup-02 .txt {
        font-size: 3.733vw;
        letter-spacing: .18em; }
    .point .point-item.pickup-01 {
      margin: 0 0 18.13vw -21.87vw; }
      .point .point-item.pickup-01:before {
        content: '';
        width: 68.27vw;
        max-width: 506px;
        height: 63.47vw;
        max-height: 755px;
        background-image: url(/img/point-pickup-01_illust-sp.png);
        background-repeat: no-repeat;
        background-size: contain;
        -webkit-opacity: 0;
        -moz-opacity: 0;
        -ms-opacity: 0;
        -o-opacity: 0;
        opacity: 0;
        position: absolute;
        top: -25.33vw;
        right: -4vw;
        z-index: 4; }
      .point .point-item.pickup-01.move:before {
        -webkit-opacity: 1;
        -moz-opacity: 1;
        -ms-opacity: 1;
        -o-opacity: 1;
        opacity: 1;
        animation-name: toLeft;
        animation-delay: 1s;
        animation-fill-mode: backwards;
        animation-duration: 2s; }
      .point .point-item.pickup-01 .pickup-unit {
        width: 123.2vw;
        height: 123.2vw;
        padding: 0 18.13vw 2.67vw 26.27vw;
        background-position: 0 1vw; }
      .point .point-item.pickup-01 .number {
        width: 19.2vw;
        max-width: 140px;
        top: -6.6vw;
        left: 28vw; }
      .point .point-item.pickup-01 .pickup-ttl {
        margin: 0 auto 5.33vw; }
        .point .point-item.pickup-01 .pickup-ttl .txt {
          display: inline-block;
          line-height: 1; }
          .point .point-item.pickup-01 .pickup-ttl .txt:not(:last-child) {
            margin-bottom: 3.41vw; }
          .point .point-item.pickup-01 .pickup-ttl .txt:nth-child(1) {
            width: 74.13vw;
            max-width: 503px; }
          .point .point-item.pickup-01 .pickup-ttl .txt:nth-child(2) {
            width: 33.87vw;
            max-width: 232px; }
          .point .point-item.pickup-01 .pickup-ttl .txt:nth-child(3) {
            width: 71.73vw;
            max-width: 484px; }
    .point .point-item.pickup-02 {
      padding-bottom: 25.87vw;
      margin: 0 0 5.33vw -9.33vw;
      position: relative; }
      .point .point-item.pickup-02:before, .point .point-item.pickup-02:after {
        content: '';
        position: absolute; }
      .point .point-item.pickup-02:before {
        width: 74.13vw;
        height: 49.6vw;
        background-image: url(/img/point-pickup-02_illust.png);
        background-repeat: no-repeat;
        background-size: contain;
        -webkit-opacity: 0;
        -moz-opacity: 0;
        -ms-opacity: 0;
        -o-opacity: 0;
        opacity: 0;
        bottom: 13.8vw;
        right: 4.27vw;
        z-index: 4; }
      .point .point-item.pickup-02:after {
        width: 39.47vw;
        height: 18.67vw;
        background-image: url(/img/point-and_more.svg);
        background-repeat: no-repeat;
        background-size: contain;
        bottom: 0;
        left: 19.2vw; }
      .point .point-item.pickup-02.move:before {
        -webkit-opacity: 1;
        -moz-opacity: 1;
        -ms-opacity: 1;
        -o-opacity: 1;
        opacity: 1;
        animation-name: toLeft;
        animation-delay: 1s;
        animation-fill-mode: backwards;
        animation-duration: 2s; }
      .point .point-item.pickup-02 .pickup-unit {
        width: 122.67vw;
        height: 122.67vw;
        padding: 0 21.92vw 22.67vw 22.53vw; }
      .point .point-item.pickup-02 .number {
        width: 21.87vw;
        max-width: 160px;
        top: -2.67vw;
        left: 28vw; }
      .point .point-item.pickup-02 .pickup-ttl {
        margin: 4.27vw auto 7.07vw; }
        .point .point-item.pickup-02 .pickup-ttl .txt {
          display: inline-block;
          line-height: 1; }
          .point .point-item.pickup-02 .pickup-ttl .txt:not(:last-child) {
            margin-bottom: 3.41vw; }
          .point .point-item.pickup-02 .pickup-ttl .txt:nth-child(1) {
            width: 56.27vw;
            max-width: 327px; }
          .point .point-item.pickup-02 .pickup-ttl .txt:nth-child(2) {
            width: 41.87vw;
            max-width: 282px; }
    .point .point-item.regular-01, .point .point-item.regular-02, .point .point-item.regular-03 {
      width: 85.333%;
      margin: 0 auto 0;
      -webkit-border-radius: 8px;
      -moz-border-radius: 8px;
      -ms-border-radius: 8px;
      -o-border-radius: 8px;
      border-radius: 8px;
      background-image: url(/img/cmn-diagonal.svg);
      background-color: transparent;
      position: relative;
      z-index: 3; }
      .point .point-item.regular-01:before, .point .point-item.regular-01:after, .point .point-item.regular-02:before, .point .point-item.regular-02:after, .point .point-item.regular-03:before, .point .point-item.regular-03:after {
        content: '';
        position: absolute; }
      .point .point-item.regular-01:before, .point .point-item.regular-02:before, .point .point-item.regular-03:before {
        width: calc(100% - 2.13%);
        height: calc(100% - 2.13%);
        background-color: #fff;
        -webkit-border-radius: 8px;
        -moz-border-radius: 8px;
        -ms-border-radius: 8px;
        -o-border-radius: 8px;
        border-radius: 8px;
        top: -.05vw;
        left: -.05vw;
        z-index: 1; }
      .point .point-item.regular-01:after, .point .point-item.regular-02:after, .point .point-item.regular-03:after {
        z-index: -1; }
      .point .point-item.regular-01 .regular-unit, .point .point-item.regular-02 .regular-unit, .point .point-item.regular-03 .regular-unit {
        padding: 8.05vw 5.26vw 6.4vw 4.03vw;
        position: relative;
        z-index: 3; }
      .point .point-item.regular-01 .number, .point .point-item.regular-02 .number, .point .point-item.regular-03 .number {
        position: absolute;
        top: -4.35vw;
        left: 4.03vw;
        z-index: 3; }
      .point .point-item.regular-01 .regular-ttl, .point .point-item.regular-02 .regular-ttl, .point .point-item.regular-03 .regular-ttl {
        line-height: 1;
        margin: 0 auto 4.8vw; }
        .point .point-item.regular-01 .regular-ttl .txt, .point .point-item.regular-02 .regular-ttl .txt, .point .point-item.regular-03 .regular-ttl .txt {
          display: inline-block; }
      .point .point-item.regular-01 .txt-area .txt, .point .point-item.regular-02 .txt-area .txt, .point .point-item.regular-03 .txt-area .txt {
        font-size: 3.200vw;
        letter-spacing: .2em; }
    .point .point-item.regular-01 {
      margin-top: 33.07vw; }
      .point .point-item.regular-01:after {
        width: 58.13vw;
        height: 51.2vw;
        background-image: url(/img/point-regular-03_illust.png);
        background-repeat: no-repeat;
        background-size: contain;
        -webkit-opacity: 0;
        -moz-opacity: 0;
        -ms-opacity: 0;
        -o-opacity: 0;
        opacity: 0;
        top: -27.47vw;
        right: -5.33vw; }
      .point .point-item.regular-01.move:after {
        -webkit-opacity: 1;
        -moz-opacity: 1;
        -ms-opacity: 1;
        -o-opacity: 1;
        opacity: 1;
        animation-name: toTop;
        animation-delay: 1s;
        animation-fill-mode: backwards;
        animation-duration: 2s; }
      .point .point-item.regular-01 .number {
        width: 16.0vw;
        max-width: 88px; }
      .point .point-item.regular-01 .regular-ttl .txt:nth-child(1) {
        width: 33.6vw;
        max-width: 147px;
        margin-bottom: 2.75vw; }
      .point .point-item.regular-01 .regular-ttl .txt:nth-child(2) {
        width: 75.47vw;
        max-width: 333px; }
    .point .point-item.regular-02 {
      margin-top: 31.2vw; }
      .point .point-item.regular-02:after {
        width: 44.8vw;
        height: 66.13vw;
        background-image: url(/img/point-regular-04_illust.png);
        background-repeat: no-repeat;
        background-size: contain;
        -webkit-opacity: 0;
        -moz-opacity: 0;
        -ms-opacity: 0;
        -o-opacity: 0;
        opacity: 0;
        top: -28.53vw;
        right: 3.73vw; }
      .point .point-item.regular-02.move:after {
        -webkit-opacity: 1;
        -moz-opacity: 1;
        -ms-opacity: 1;
        -o-opacity: 1;
        opacity: 1;
        animation-name: toTop;
        animation-delay: 1s;
        animation-fill-mode: backwards;
        animation-duration: 2s; }
      .point .point-item.regular-02 .number {
        width: 17.33vw;
        max-width: 96px; }
      .point .point-item.regular-02 .regular-ttl .txt {
        width: 65.6vw;
        max-width: 277px; }
    .point .point-item.regular-03 {
      margin-top: 15.47vw; }
      .point .point-item.regular-03:after {
        width: 48.53vw;
        height: 55.47vw;
        background-image: url(/img/point-regular-05_illust.png);
        background-repeat: no-repeat;
        background-size: contain;
        -webkit-opacity: 0;
        -moz-opacity: 0;
        -ms-opacity: 0;
        -o-opacity: 0;
        opacity: 0;
        bottom: -41.47vw;
        right: -14.13vw;
        z-index: 1; }
      .point .point-item.regular-03.move:after {
        -webkit-opacity: 1;
        -moz-opacity: 1;
        -ms-opacity: 1;
        -o-opacity: 1;
        opacity: 1;
        animation-name: toLeft;
        animation-delay: 1s;
        animation-fill-mode: backwards;
        animation-duration: 2s; }
      .point .point-item.regular-03 .number {
        width: 17.33vw;
        max-width: 95px; }
      .point .point-item.regular-03 .regular-ttl .txt {
        width: 65.6vw;
        max-width: 277px; }
  .point .pickup-unit {
    display: table;
    background-color: #fff; }
  .point .box {
    display: table-cell;
    vertical-align: middle; }

@media screen and (min-width: 768px) {
  .point {
    padding: 10.21% 0 7.5%; }
    .point:before {
      width: 230px;
      height: 80px;
      top: calc(100% - 0.3vw);
      left: 60.83vw; }
    .point .point-wrap {
      width: 100%;
      max-width: 1440px;
      margin: 0 auto 0; }
    .point .regular-wrap {
      padding: 0 20px;
      max-width: 1095px;
      margin: 0 auto; }
    .point .regular-02-wrap {
      text-align: right; }
    .point .point-item.pickup-01 .txt-area, .point .point-item.pickup-02 .txt-area {
      line-height: 2.3; }
    .point .point-item.pickup-01 .txt, .point .point-item.pickup-02 .txt {
      font-size: 1.042vw; } }
    @media screen and (min-width: 768px) and (min-width: 1440px) {
      .point .point-item.pickup-01 .txt, .point .point-item.pickup-02 .txt {
        font-size: 1.5rem; } }
@media screen and (min-width: 768px) {
    .point .point-item.pickup-01 {
      margin: 0; }
      .point .point-item.pickup-01:before {
        width: 65.29%;
        height: 100.39%;
        background-image: url(/img/point-pickup-01_illust-pc.png);
        top: -26.67%;
        right: auto;
        left: 47.08%; }
      .point .point-item.pickup-01.move:before {
        animation-name: toRight; }
      .point .point-item.pickup-01 .pickup-unit {
        width: 53.82%;
        height: 53.82vw;
        max-height: 754.11px;
        padding: 0 9.03% 0 7.675%;
        background-position: 0 1vw; }
      .point .point-item.pickup-01 .number {
        width: 9.72%;
        top: -4%;
        left: 7.675%; }
      .point .point-item.pickup-01 .pickup-ttl {
        margin: 0 auto 9.78%; }
        .point .point-item.pickup-01 .pickup-ttl .txt {
          display: block; }
          .point .point-item.pickup-01 .pickup-ttl .txt:not(:last-child) {
            margin-bottom: 5.23%; }
          .point .point-item.pickup-01 .pickup-ttl .txt:nth-child(1) {
            width: 99.02%; }
          .point .point-item.pickup-01 .pickup-ttl .txt:nth-child(2) {
            width: 45.67%; }
          .point .point-item.pickup-01 .pickup-ttl .txt:nth-child(3) {
            width: 95.28%; }
    .point .point-item.pickup-02 {
      padding-bottom: 0.94%;
      margin: 0 0 76px 0;
      position: relative;
      left: 50.01%; }
      .point .point-item.pickup-02:before, .point .point-item.pickup-02:after {
        content: '';
        position: absolute; }
      .point .point-item.pickup-02:before {
        width: 44.65%;
        max-width: 643px;
        height: 31.6vw;
        max-height: 455px;
        top: 7.78%;
        bottom: auto;
        right: auto;
        left: -40.69%; }
      .point .point-item.pickup-02:after {
        width: 22.01%;
        max-width: 317px;
        height: 10.56vw;
        max-height: 152px;
        bottom: 0;
        left: -17.15%; }
      .point .point-item.pickup-02 .pickup-unit {
        width: 49.24%;
        height: 49.24vw;
        max-height: 689.89px;
        padding: 6.3% 8.955% 0 9.59%; }
      .point .point-item.pickup-02 .number {
        width: 11.28%;
        top: -3.7%;
        left: 9.09%; }
      .point .point-item.pickup-02 .pickup-ttl {
        margin: 0 auto 14.6%; }
        .point .point-item.pickup-02 .pickup-ttl .txt {
          display: block; }
          .point .point-item.pickup-02 .pickup-ttl .txt:not(:last-child) {
            margin-bottom: 7.02%; }
          .point .point-item.pickup-02 .pickup-ttl .txt:nth-child(1) {
            width: 73.32%; }
          .point .point-item.pickup-02 .pickup-ttl .txt:nth-child(2) {
            width: 63.23%; }
    .point .point-item.regular-01, .point .point-item.regular-02, .point .point-item.regular-03 {
      width: 42.94%;
      max-width: 453px;
      margin: 0; }
      .point .point-item.regular-01 .regular-unit, .point .point-item.regular-02 .regular-unit, .point .point-item.regular-03 .regular-unit {
        padding: 9.49% 8.39% 7.06%; }
      .point .point-item.regular-01 .number, .point .point-item.regular-02 .number, .point .point-item.regular-03 .number {
        position: absolute;
        top: -9.56%;
        left: 6.55%;
        z-index: 3; }
      .point .point-item.regular-01 .regular-ttl, .point .point-item.regular-02 .regular-ttl, .point .point-item.regular-03 .regular-ttl {
        display: inline-block;
        margin: 0 auto 7.96%; }
      .point .point-item.regular-01 .txt-area .txt, .point .point-item.regular-02 .txt-area .txt, .point .point-item.regular-03 .txt-area .txt {
        font-size: 1.2rem;
        letter-spacing: .15em; }
    .point .point-item.regular-01 {
      margin-top: 0; }
      .point .point-item.regular-01:after {
        width: 96.03%;
        max-width: 435px;
        max-height: 384px;
        background-image: url(/img/point-regular-03_illust.png);
        background-repeat: no-repeat;
        background-size: contain;
        top: calc(100% - 24px);
        right: auto;
        left: 20.53%;
        z-index: 1; }
      .point .point-item.regular-01.move:after {
        animation-name: toRight; }
      .point .point-item.regular-01 .number {
        width: 19.43%; }
      .point .point-item.regular-01 .regular-ttl .txt:nth-child(1) {
        width: 100%;
        margin-bottom: 4.11%; }
      .point .point-item.regular-01 .regular-ttl .txt:nth-child(2) {
        width: 100%; }
    .point .point-item.regular-02 {
      display: inline-block;
      margin-top: 76px;
      text-align: left; }
      .point .point-item.regular-02:after {
        width: 78.37%;
        max-width: 355px;
        max-height: 528px;
        background-position: left 0 bottom 0;
        top: auto;
        bottom: -5.52%;
        right: -19.3%;
        z-index: 1; }
      .point .point-item.regular-02.move:after {
        animation-name: toLeft; }
      .point .point-item.regular-02 .number {
        width: 21.19%; }
      .point .point-item.regular-02 .regular-ttl .txt {
        width: 100%; }
    .point .point-item.regular-03 {
      margin-top: 122px; }
      .point .point-item.regular-03:after {
        width: 97.57%;
        max-width: 442px;
        max-height: 537px;
        background-image: url(/img/point-regular-05_illust.png);
        top: -12.72%;
        bottom: auto;
        right: -115.67%;
        z-index: 1; }
      .point .point-item.regular-03 .number {
        width: 20.97%; }
      .point .point-item.regular-03 .regular-ttl .txt {
        width: 100%; } }
.works {
  padding: 24.53vw 0 18.67vw; }
  .works .works-ttl {
    margin: 0 auto 32px; }
    .works .works-ttl .en,
    .works .works-ttl .jp {
      display: block; }
    .works .works-ttl .en {
      width: 30.67vw;
      max-width: 184px;
      margin: 0 auto 22px; }
    .works .works-ttl .jp {
      width: 39.47vw;
      max-width: 242px;
      margin: 0 auto 0; }
  .works .lead {
    width: 100%;
    max-width: 1004px;
    padding: 0 22px;
    margin: 0 auto 52px;
    font-weight: 600;
    text-align: center;
    letter-spacing: .15em; }
  .works .unit {
    width: 100%;
    max-width: 1004px;
    padding: 0 22px;
    margin: 0 auto 0; }
  .works .box.adsense-area {
    margin: 0 auto 72px; }
    .works .box.adsense-area .box-ttl {
      width: 38.67vw;
      max-width: 194px;
      padding: 1.6vw 8vw; }
  .works .box.design-area .box-ttl {
    width: 70.13vw;
    max-width: 362px;
    padding: 1.6vw 2.67vw; }
  .works .box .box-ttl {
    display: inline-block;
    margin: 0 auto 24px;
    line-height: 1;
    text-align: center;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    -ms-border-radius: 5px;
    -o-border-radius: 5px;
    border-radius: 5px;
    background-color: #00A0E6; }
  .works .box .item:not(:first-child) {
    margin: 36px auto 0; }
  .works .box .item:last-child {
    display: none; }
  .works .box .item a {
    display: block; }
  .works .box .photo {
    margin: 0 auto 14px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
    .works .box .photo img {
      -webkit-opacity: 0;
      -moz-opacity: 0;
      -ms-opacity: 0;
      -o-opacity: 0;
      opacity: 0; }
  .works .box .item-ttl {
    margin: 0 auto 8px;
    font-size: 4.800vw;
    font-weight: 600; }
  .works .box .txt {
    max-height: calc(3em * 1.7);
    font-size: 3.467vw;
    overflow: hidden;
    position: relative; }
    .works .box .txt:before {
      content: '';
      width: 100%;
      height: calc(2em * 1.7);
      background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 85%, white 100%);
      background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, white 85%, white 100%);
      background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, white 85%, white 100%);
      filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 );
      position: absolute;
      bottom: 0;
      left: 0; }
    .works .box .txt img {
      display: none; }
  .works .link {
    padding-top: 32px;
    font-size: 2.667vw;
    text-align: right;
    line-height: 1; }
    .works .link a {
      display: inline-block;
      padding-right: 22px;
      letter-spacing: .15em;
      background-image: url(/img/works-link-arrow.svg);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: 100% center; }

@media screen and (min-width: 768px) {
  .works {
    padding: 94px 0 140px; }
    .works .works-ttl {
      margin: 0 auto 40px; }
      .works .works-ttl .en {
        margin: 0 auto 35px; }
    .works .lead {
      margin: 0 auto 64px; }
    .works .box.adsense-area {
      margin: 0 auto 46px; }
      .works .box.adsense-area .box-ttl {
        padding: 8px 40px; }
    .works .box.design-area .box-ttl {
      padding: 8px 44px; }
    .works .box .box-ttl {
      display: inline-block;
      padding: 8px 40px;
      margin: 0 auto 28px; }
    .works .box .list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      margin: 0 auto 56px;
      letter-spacing: -.4em; }
    .works .box .item {
      display: flex;
      align-items: stretch;
      width: 28.33%;
      letter-spacing: .15em;
      vertical-align: top; }
      .works .box .item:not(:first-child) {
        margin: 0 0 0 7.49%; }
      .works .box .item:last-child {
        display: flex;
        align-items: stretch; }
      .works .box .item a {
        padding-bottom: calc(3em * 1.7);
        -webkit-transition-duration: 0.3s;
        -moz-transition-duration: 0.3s;
        transition-duration: 0.3s;
        position: relative; }
        .works .box .item a:hover {
          -webkit-opacity: 0.6;
          -moz-opacity: 0.6;
          -ms-opacity: 0.6;
          -o-opacity: 0.6;
          opacity: 0.6; }
    .works .box .photo {
      margin: 0 auto 26px; }
    .works .box .item-ttl {
      margin: 0 auto 8px;
      font-size: 1.389vw; } }
    @media screen and (min-width: 768px) and (min-width: 1440px) {
      .works .box .item-ttl {
        font-size: 2.0rem; } }
@media screen and (min-width: 768px) {
    .works .box .txt {
      font-size: 0.903vw;
      position: absolute;
      bottom: 0; } }
    @media screen and (min-width: 768px) and (min-width: 1440px) {
      .works .box .txt {
        height: calc(3em * 1.7);
        font-size: 1.3rem; } }
@media screen and (min-width: 768px) {
    .works .link {
      padding-top: 32px;
      font-size: 1.2rem;
      text-align: right;
      line-height: 1; }
      .works .link a {
        display: inline-block;
        padding-right: 22px;
        background-image: url(/img/works-link-arrow.svg);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: 100% center; } }
.plan {
  padding: 36px 0 42px;
  background-color: #00A0E6;
  position: relative; }
  .plan:before {
    content: '';
    width: 22.93vw;
    max-width: 254px;
    height: 22.93vw;
    max-height: 254px;
    background-image: url(/img/plan-diagonal.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0; }
  .plan .works-ttl {
    margin: 0 auto calc(44px + 6.13vw); }
    .plan .works-ttl .en {
      display: block;
      width: 30.67vw;
      max-width: 184px;
      margin: 0 auto 0; }
  .plan .unit {
    width: 100%;
    max-width: 1069px;
    padding: 0 18px;
    margin: 0 auto 0; }
    .plan .unit .item {
      border: 2px solid #fff;
      -webkit-border-radius: 10px;
      -moz-border-radius: 10px;
      -ms-border-radius: 10px;
      -o-border-radius: 10px;
      border-radius: 10px;
      position: relative; }
      .plan .unit .item.pack {
        padding-bottom: 13.87vw;
        margin: 0 auto calc(35.73vw + 6.13vw); }
        .plan .unit .item.pack:before, .plan .unit .item.pack:after {
          content: '';
          position: absolute;
          background-repeat: no-repeat;
          background-size: contain; }
        .plan .unit .item.pack:before {
          width: 18.93vw;
          max-width: 144px;
          height: 19.73vw;
          max-height: 146px;
          background-image: url(/img/plan-pack-bubble.png);
          animation-name: contentsBubble;
          animation-fill-mode: backwards;
          animation-duration: 2s;
          animation-iteration-count: infinite;
          top: -28.27vw;
          right: -1.87vw; }
        .plan .unit .item.pack:after {
          width: 38.4vw;
          max-width: 288px;
          height: 34.13vw;
          max-height: 256px;
          background-image: url(/img/plan-pack-illust.png);
          animation-name: pulse;
          animation-duration: 1s;
          animation-fill-mode: both;
          animation-iteration-count: infinite;
          bottom: -22.67vw;
          right: -2.67vw; }
        .plan .unit .item.pack .item-ttl {
          width: 88.266%;
          max-width: 808px;
          margin: 0 auto calc(26px - 6.13vw); }
        .plan .unit .item.pack .lead {
          margin: 0 auto 32px; }
        .plan .unit .item.pack .img:nth-child(1) {
          width: 50.4vw;
          max-width: 256px;
          margin-bottom: 34.13vw; }
          .plan .unit .item.pack .img:nth-child(1):before {
            width: 12vw;
            max-width: 61px;
            height: 13.33vw;
            max-height: 68px;
            margin: auto;
            background-image: url(/img/plan-pack-img-plus.png);
            bottom: -21.87vw;
            right: 0;
            left: 0; }
        .plan .unit .item.pack .img:nth-child(2) {
          width: 71.2vw;
          max-width: 399px;
          margin-bottom: 22.93vw; }
          .plan .unit .item.pack .img:nth-child(2):before {
            width: 4.27vw;
            max-width: 23px;
            height: 4.27vw;
            max-height: 23px;
            margin: auto;
            background-image: url(/img/plan-pack-arrow.png);
            bottom: -14.4vw;
            right: 0;
            left: 0; }
        .plan .unit .item.pack .img:nth-child(3) {
          width: 36.27vw;
          max-width: 192px; }
          .plan .unit .item.pack .img:nth-child(3):before {
            content: '';
            width: 5.6vw;
            max-width: 41px;
            height: 4.53vw;
            max-height: 33px;
            background-image: url(/img/mark-blink.png);
            background-repeat: no-repeat;
            background-position: center;
            background-size: contain;
            -webkit-animation: blink .8s infinite alternate;
            animation: blink .8s infinite alternate;
            position: absolute;
            top: -3.74vw;
            left: 26.73vw; }
      .plan .unit .item.free {
        padding-bottom: 6.4vw; }
        .plan .unit .item.free:before {
          content: '';
          width: 22.67vw;
          max-width: 144px;
          height: 22.4vw;
          max-height: 146px;
          background-repeat: no-repeat;
          background-size: contain;
          background-image: url(/img/plan-free-bubble-sp.png);
          animation-name: contentsBubble;
          animation-fill-mode: backwards;
          animation-duration: 2s;
          animation-iteration-count: infinite;
          top: -28.27vw;
          right: -1.87vw;
          position: absolute;
          top: -31.2vw;
          left: -0.27vw; }
        .plan .unit .item.free .item-ttl {
          max-width: 626px;
          margin: 0 auto calc(38px - 6.13vw); }
        .plan .unit .item.free .img:nth-child(1) {
          width: 44vw;
          max-width: 269px;
          margin-bottom: 22.13vw; }
          .plan .unit .item.free .img:nth-child(1):before {
            width: 8vw;
            max-width: 32px;
            height: 8vw;
            max-height: 32px;
            margin: auto;
            background-image: url(/img/plan-free-plus.png);
            bottom: -14.2vw;
            right: 0;
            left: 0; }
        .plan .unit .item.free .img:nth-child(2) {
          width: 44vw;
          max-width: 208px;
          margin-bottom: 5.87vw; }
        .plan .unit .item.free .img:nth-child(3) {
          width: 24.53vw;
          max-width: 134px;
          margin-bottom: 9.07vw; }
    .plan .unit .item-ttl {
      padding: 0 8px;
      margin: 0 24px;
      background-color: #00A0E6;
      position: relative;
      top: -6.13vw; }
    .plan .unit .item-unit {
      padding: 0 26px;
      text-align: center; }
    .plan .unit .lead {
      font-size: 3.467vw;
      letter-spacing: .15em; }
    .plan .unit .detail {
      text-align: center; }
    .plan .unit .img {
      display: block;
      margin: 0 auto 0;
      position: relative; }
      .plan .unit .img:before, .plan .unit .img:after {
        content: '';
        position: absolute;
        background-repeat: no-repeat;
        background-size: contain; }

@media screen and (min-width: 768px) {
  .plan {
    padding: 104px 20px 128px; }
    .plan .works-ttl {
      margin: 0 auto calc(98px + 6.13vw); }
      .plan .works-ttl .en {
        margin: 0 auto 0; }
    .plan .unit {
      padding: 0 52px; }
      .plan .unit .item {
        border: 5px solid #fff;
        -webkit-border-radius: 30px;
        -moz-border-radius: 30px;
        -ms-border-radius: 30px;
        -o-border-radius: 30px;
        border-radius: 30px; }
        .plan .unit .item.pack {
          padding-bottom: 52px;
          margin: 0 auto 186px; }
          .plan .unit .item.pack:before {
            background-position: 0 center;
            width: 14.92%;
            top: -18.26%;
            right: -51px;
            z-index: 2; }
          .plan .unit .item.pack:after {
            width: 29.84%;
            background-position: center 100%;
            bottom: calc(-3.35% + -17px);
            right: -14.51%; }
          .plan .unit .item.pack .item-ttl {
            padding: 0 66px;
            margin: 0 auto calc(58px - 34px); }
          .plan .unit .item.pack .lead {
            margin: 0 auto 70px; }
          .plan .unit .item.pack .detail {
            letter-spacing: -.4em; }
          .plan .unit .item.pack .img {
            display: inline-block;
            letter-spacing: normal;
            vertical-align: middle; }
            .plan .unit .item.pack .img:nth-child(1) {
              width: 26.53%;
              margin: 0 17.1% 0 0; }
              .plan .unit .item.pack .img:nth-child(1):before {
                width: 23.83%;
                top: 0;
                bottom: 0;
                left: auto;
                right: -42.58%; }
            .plan .unit .item.pack .img:nth-child(2) {
              width: 41.35%;
              margin-bottom: 0; }
              .plan .unit .item.pack .img:nth-child(2):before {
                bottom: -74px;
                right: auto;
                left: -4.59%; }
            .plan .unit .item.pack .img:nth-child(3) {
              width: 36.27vw;
              padding-top: 110px; }
              .plan .unit .item.pack .img:nth-child(3):before {
                top: auto;
                bottom: 40%;
                left: 70%; }
        .plan .unit .item.free {
          padding-bottom: 60px; }
          .plan .unit .item.free:before {
            width: 14.92%;
            background-image: url(/img/plan-free-bubble-pc.png);
            background-position: 0 center;
            top: -28.26%;
            left: auto;
            right: -6.73%;
            z-index: 2; }
          .plan .unit .item.free .item-ttl {
            padding: 0 72px;
            margin: 0 auto calc(74px - 34px);
            position: relative;
            z-index: 1; }
          .plan .unit .item.free .detail {
            margin: 0 auto 66px;
            letter-spacing: -.4em; }
          .plan .unit .item.free .img {
            display: inline-block;
            letter-spacing: normal;
            vertical-align: middle; }
            .plan .unit .item.free .img:nth-child(1) {
              width: 21.76%;
              margin: 0 13.08% 0 0; }
              .plan .unit .item.free .img:nth-child(1):before {
                width: 11.9%;
                top: 0;
                bottom: 0;
                right: -27.51%;
                left: auto; }
            .plan .unit .item.free .img:nth-child(2) {
              width: 21.76%;
              margin: 0 4.08% 0 0; }
            .plan .unit .item.free .img:nth-child(3) {
              width: 14.02%;
              margin-bottom: 0; }
      .plan .unit .item-ttl {
        top: -34px;
        position: relative;
        z-index: 1; }
        .plan .unit .item-ttl:before, .plan .unit .item-ttl:after {
          content: '';
          position: absolute;
          width: 32px;
          height: 5px;
          background-color: #fff;
          -webkit-border-radius: 100px;
          -moz-border-radius: 100px;
          -ms-border-radius: 100px;
          -o-border-radius: 100px;
          border-radius: 100px;
          top: 29px; }
        .plan .unit .item-ttl:before {
          left: 20px; }
        .plan .unit .item-ttl:after {
          right: 20px; }
      .plan .unit .item-unit {
        padding: 0; }
      .plan .unit .lead {
        font-size: 0.903vw;
        font-size: 1.3rem;
        line-height: 2.15; } }
      @media screen and (min-width: 768px) and (min-width: 1440px) {
        .plan .unit .lead {
          font-size: 1.3rem; } }

.concept {
  padding: 9.6vw 0 17.07vw;
  background-color: #F0F0F0; }
  .concept .concept-ttl {
    width: 87.73vw;
    max-width: 469px;
    margin: 0 auto 32px;
    position: relative;
    z-index: 1; }
    .concept .concept-ttl:before {
      content: '';
      width: 0;
      height: 50%;
      background-color: #FFFF0A;
      position: absolute;
      left: 18.12%;
      bottom: -.1em;
      z-index: -1; }
    .concept .concept-ttl.move:before {
      -webkit-opacity: 1;
      -moz-opacity: 1;
      -ms-opacity: 1;
      -o-opacity: 1;
      opacity: 1;
      animation-name: markerConsept;
      animation-delay: .5s;
      animation-fill-mode: forwards;
      animation-duration: 1s; }
  .concept .lead {
    padding: 0 40px;
    margin: 0 auto 44px;
    font-size: 3.200vw;
    text-align: center;
    letter-spacing: .25em; }
  .concept .list {
    width: 73.07vw;
    margin: 0 auto 0; }
  .concept .item-box:nth-child(1) .item-ttl {
    width: 28.8vw;
    max-width: 110px; }
  .concept .item-box:nth-child(2) .item-ttl {
    width: 62.93vw;
    max-width: 242px; }
  .concept .item-box:nth-child(3) .item-ttl {
    width: 45.6vw;
    max-width: 175px; }
  .concept .item-box:not(:last-child) {
    margin: 0 auto 18.67vw; }
  .concept .item {
    padding: 6.67vw 4.8vw 5.87vw;
    text-align: center;
    background-color: #fff;
    -webkit-border-radius: 18px;
    -moz-border-radius: 18px;
    -ms-border-radius: 18px;
    -o-border-radius: 18px;
    border-radius: 18px;
    position: relative;
    z-index: 1; }
    .concept .item:before, .concept .item:after {
      content: '';
      width: 39.47vw;
      max-width: 194px;
      height: 17.07vw;
      max-height: 84px;
      position: absolute;
      background-size: contain;
      background-repeat: no-repeat; }
    .concept .item:before {
      background-image: url(/img/concept-item-line-01-sp.png);
      background-position: 0 0;
      top: 0;
      left: 0; }
    .concept .item:after {
      background-image: url(/img/concept-item-line-02-sp.png);
      background-position: 100% 100%;
      bottom: 0;
      right: 0; }
    .concept .item.move:before {
      animation-name: conceptLineTopSp;
      animation-fill-mode: forwards;
      animation-duration: 1s; }
    .concept .item.move:after {
      animation-name: conceptLineBtmSp;
      animation-fill-mode: forwards;
      animation-duration: 1s; }
  .concept .item-ttl {
    display: inline-block;
    margin: 0 auto 6.93vw; }
  .concept .txt {
    font-size: 3.467vw;
    text-align: justify;
    letter-spacing: .15em; }

@media screen and (min-width: 768px) {
  .concept {
    padding: 94px 0 128px; }
    .concept .concept-ttl {
      margin: 0 auto 48px; }
    .concept .lead {
      padding: 0 20px;
      margin: 0 auto 126px;
      font-size: 1.3rem;
      line-height: 2.3; }
      .concept .lead span {
        display: inline-block; }
    .concept .list {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      width: 88.888%;
      max-width: 866px;
      margin: 0 auto 0;
      text-align: center;
      letter-spacing: -.4em; }
    .concept .item-box {
      display: inline-block; }
      .concept .item-box:nth-child(1) {
        width: 100%;
        margin: 0 auto 100px; }
        .concept .item-box:nth-child(1) .item:before, .concept .item-box:nth-child(1) .item:after {
          animation-delay: .5s; }
        .concept .item-box:nth-child(1) .item-ttl {
          width: 41.98%; }
      .concept .item-box:nth-child(2), .concept .item-box:nth-child(3) {
        width: 50%;
        margin: 0; }
        .concept .item-box:nth-child(2) .item, .concept .item-box:nth-child(3) .item {
          width: 82.68%; }
      .concept .item-box:nth-child(2) {
        text-align: left; }
        .concept .item-box:nth-child(2) .item:before, .concept .item-box:nth-child(2) .item:after {
          animation-delay: 1s; }
        .concept .item-box:nth-child(2) .item-ttl {
          width: 92.37%; }
      .concept .item-box:nth-child(3) {
        text-align: right; }
        .concept .item-box:nth-child(3) .item:before, .concept .item-box:nth-child(3) .item:after {
          animation-delay: 1.5s; }
        .concept .item-box:nth-child(3) .item-ttl {
          width: 66.79%; }
    .concept .item {
      display: inline-block;
      width: 358px;
      width: 41.34%;
      max-width: 358px;
      padding: 36px 40px 40px;
      letter-spacing: normal;
      vertical-align: top;
      -webkit-border-radius: 24px;
      -moz-border-radius: 24px;
      -ms-border-radius: 24px;
      -o-border-radius: 24px;
      border-radius: 24px;
      z-index: 1; }
      .concept .item:before, .concept .item:after {
        width: 54.19%;
        height: 48.84%; }
      .concept .item:before {
        background-image: url(/img/concept-item-line-01-pc.png);
        top: 0;
        left: 0; }
      .concept .item:after {
        background-image: url(/img/concept-item-line-02-pc.png);
        bottom: 0;
        right: 0; }
      .concept .item.move:before {
        animation-name: conceptLineTopPc; }
      .concept .item.move:after {
        animation-name: conceptLineBtmPc; }
    .concept .item-ttl {
      margin: 0 auto 38px; }
    .concept .txt {
      font-size: 0.903vw;
      font-size: 1.3rem; } }
.option {
  padding: 0 0 11.2vw;
  letter-spacing: .15em; }
  .option .service {
    padding: 19.73vw 0 12.8vw; }
    .option .service .option-ttl {
      width: 64.53vw;
      max-width: 523px;
      margin: 0 auto 9.6vw;
      position: relative; }
      .option .service .option-ttl:before {
        content: '';
        width: 22.13vw;
        max-width: 144px;
        height: 22.13vw;
        max-height: 146px;
        background-image: url(/img/option-bubble.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        animation-name: contentsBubble;
        animation-fill-mode: backwards;
        animation-duration: 2s;
        animation-iteration-count: infinite;
        position: absolute;
        top: -205%;
        right: -17.12%; }
      .option .service .option-ttl .img {
        display: block;
        margin: 0 auto 0; }
        .option .service .option-ttl .img:before, .option .service .option-ttl .img:after {
          content: '';
          width: 0%;
          height: 1.2em;
          background-color: #FFFF0A;
          position: absolute;
          left: 0;
          z-index: -1; }
        .option .service .option-ttl .img:before {
          position: absolute;
          top: .8em;
          left: 0;
          z-index: -1; }
        .option .service .option-ttl .img:after {
          position: absolute;
          bottom: -.1em;
          left: 23%;
          z-index: -1; }
        .option .service .option-ttl .img.on:before {
          animation-name: marker;
          animation-delay: .5s;
          animation-fill-mode: forwards;
          animation-duration: 1s; }
        .option .service .option-ttl .img.on:after {
          animation-name: optionMarker;
          animation-delay: .5s;
          animation-fill-mode: forwards;
          animation-duration: 1s; }
    .option .service .lead {
      margin: 0 auto 5.33vw;
      font-size: 3.200vw;
      text-align: center; }
    .option .service .list {
      width: 80vw;
      margin: 0 auto 2.13vw; }
    .option .service .item {
      padding: 17.6vw 8vw 0;
      background-color: #F0F0F0;
      -webkit-border-radius: 12px;
      -moz-border-radius: 12px;
      -ms-border-radius: 12px;
      -o-border-radius: 12px;
      border-radius: 12px;
      z-index: 1;
      position: relative; }
      .option .service .item:not(:last-child) {
        margin-bottom: 15.47vw; }
      .option .service .item:nth-child(1):before, .option .service .item:nth-child(2):before {
        content: '';
        width: 7.2vw;
        max-width: 23px;
        height: 7.2vw;
        max-height: 23px;
        margin: auto;
        background-image: url(/img/option-arrow.png);
        background-size: contain;
        background-repeat: no-repeat;
        animation-name: arrowToBtm;
        animation-fill-mode: backwards;
        animation-duration: 2s;
        animation-iteration-count: infinite;
        position: absolute;
        bottom: -5.2vw;
        left: 0;
        right: 0; }
      .option .service .item:nth-child(1) {
        padding-bottom: 10.06vw; }
        .option .service .item:nth-child(1) .item-ttl {
          width: 32.53vw;
          max-width: 124px; }
      .option .service .item:nth-child(2) {
        padding-bottom: 8.8vw; }
        .option .service .item:nth-child(2):before {
          animation-delay: 1s; }
        .option .service .item:nth-child(2) .item-ttl {
          width: 80vw;
          max-width: 306px; }
      .option .service .item:nth-child(3) {
        padding-bottom: 8.53vw; }
        .option .service .item:nth-child(3) .item-ttl {
          width: 49.6vw;
          max-width: 190px; }
    .option .service .item-ttl {
      position: absolute;
      top: -3.82vw;
      left: -5.28vw; }
    .option .service .detail {
      white-space: nowrap; }
    .option .service .detail-item {
      font-size: 3.467vw;
      line-height: 2.2; }
    .option .service .aside {
      width: 80vw;
      margin: 0 auto 0;
      text-align: right; }
      .option .service .aside .aside-list {
        display: inline-block;
        font-size: 2.933vw;
        text-align: left; }
  .option .result {
    width: 88.27vw;
    margin: 0 auto 0; }
    .option .result .result-ttl {
      width: 38.4vw;
      max-width: 147px;
      padding: 6px 14px;
      margin-bottom: 4.27vw;
      line-height: 1;
      background-color: #00A0E6;
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      -ms-border-radius: 4px;
      -o-border-radius: 4px;
      border-radius: 4px; }
    .option .result .detail-ttl {
      width: 67.47vw;
      max-width: 469px;
      margin: 0 0 8vw 4.75vw; }
    .option .result .lead {
      padding: 0 4.63vw;
      margin: 0 auto 9.33vw;
      font-size: 3.200vw; }
    .option .result .item {
      background-color: #F0F0F0;
      -webkit-border-radius: 10px;
      -moz-border-radius: 10px;
      -ms-border-radius: 10px;
      -o-border-radius: 10px;
      border-radius: 10px;
      position: relative; }
      .option .result .item:not(:last-child) {
        margin: 0 auto 13.96vw; }
        .option .result .item:not(:last-child):before {
          content: '';
          width: 4.8vw;
          max-width: 23px;
          height: 4.8vw;
          max-height: 23px;
          margin: auto;
          background-image: url(/img/option-arrow.png);
          background-size: contain;
          background-repeat: no-repeat;
          -webkit-animation: arrowToBtm 2s infinite;
          animation: arrowToBtm 2s infinite;
          position: absolute;
          bottom: -3.73vw;
          left: 0;
          right: 0; }
      .option .result .item:nth-child(1) {
        padding: 7.47vw 4.8vw 5.33vw; }
        .option .result .item:nth-child(1) .item-ttl {
          width: 28.38vw;
          max-width: 129px; }
      .option .result .item:nth-child(2) {
        padding: 7.47vw 4.8vw 4.27vw; }
        .option .result .item:nth-child(2) .item-ttl {
          width: 55.37vw;
          max-width: 243px; }
    .option .result .item-ttl {
      padding: 4px 8px;
      line-height: 1;
      background-color: #000;
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      -ms-border-radius: 4px;
      -o-border-radius: 4px;
      border-radius: 4px;
      position: absolute;
      top: -2.79vw; }
    .option .result .detail-item {
      font-size: 3.467vw;
      letter-spacing: .2em; }
    .option .result .item-lead {
      margin: 0 auto 6.93vw;
      font-size: 4.267vw;
      letter-spacing: .2em;
      position: relative;
      z-index: 1; }
      .option .result .item-lead .marker {
        font-size: 7.200vw; }
        .option .result .item-lead .marker:before {
          bottom: 0; }
    .option .result .txt {
      font-size: 3.200vw; }

@media screen and (min-width: 768px) {
  .option {
    padding: 0 0 108px; }
    .option .service {
      padding: 152px 0 104px; }
      .option .service .option-ttl {
        margin: 0 auto 40px; }
        .option .service .option-ttl:before {
          top: -485%;
          right: -30.64%; }
      .option .service .lead {
        font-size: 1.3rem;
        margin: 0 auto 98px; }
        .option .service .lead br {
          display: none; }
      .option .service .list {
        display: flex;
        flex-wrap: wrap;
        width: 88.888%;
        justify-content: space-between;
        max-width: 1022px;
        margin: 0 auto 18px;
        letter-spacing: -.4em; }
      .option .service .item {
        display: inline-block;
        width: 30.14%;
        padding: 68px 24px 30px;
        letter-spacing: .15em;
        vertical-align: top;
        -webkit-border-radius: 20px;
        -moz-border-radius: 20px;
        -ms-border-radius: 20px;
        -o-border-radius: 20px;
        border-radius: 20px; }
        .option .service .item:not(:last-child) {
          margin: 0 4.7% 0 0; }
        .option .service .item:nth-child(1):before, .option .service .item:nth-child(2):before {
          animation-name: arrowToRight;
          top: 0;
          bottom: 0;
          left: auto;
          right: -5.19%; }
        .option .service .item:nth-child(1) {
          padding-bottom: 30px; }
          .option .service .item:nth-child(1) .item-ttl {
            width: 40.26%; }
        .option .service .item:nth-child(2) {
          padding-bottom: 30px; }
          .option .service .item:nth-child(2) .item-ttl {
            width: 99.35%; }
        .option .service .item:nth-child(3) {
          padding-bottom: 30px; }
          .option .service .item:nth-child(3) .item-ttl {
            width: 61.69%; }
      .option .service .item-ttl {
        top: -4.77%;
        left: -7.47%; }
      .option .service .detail {
        white-space: inherit; }
      .option .service .detail-item {
        font-size: 1.3rem; }
      .option .service .aside {
        max-width: 1022px; }
        .option .service .aside .aside-list {
          font-size: 1.3rem; }
    .option .result {
      width: 88.888%;
      max-width: 968px;
      letter-spacing: -.4em;
      background-image: url(/img/option-result-photo.jpg);
      background-repeat: no-repeat;
      background-size: 29.44% auto;
      background-position: 0 100%; }
      .option .result .result-ttl {
        padding: 7px 24px;
        margin-bottom: 20px;
        letter-spacing: .15em;
        -webkit-border-radius: 5px;
        -moz-border-radius: 5px;
        -ms-border-radius: 5px;
        -o-border-radius: 5px;
        border-radius: 5px; }
      .option .result .result-head,
      .option .result .detail-unit {
        display: inline-block;
        letter-spacing: .15em;
        vertical-align: top; }
      .option .result .result-head {
        width: 55.99%; }
      .option .result .detail-unit {
        width: 44.01%; }
      .option .result .detail-ttl {
        width: 86.53%;
        margin: 0 0 103px 0; }
      .option .result .lead {
        padding: 0;
        margin: 0 auto 45px;
        font-size: 1.3rem; }
      .option .result .item:not(:last-child) {
        margin: 0 auto 64px; }
        .option .result .item:not(:last-child):before {
          bottom: -12.98%;
          left: 0;
          right: 0; }
      .option .result .item:nth-child(1) {
        padding: 38px 24px 26px; }
        .option .result .item:nth-child(1) .item-ttl {
          width: 30.28%; }
      .option .result .item:nth-child(2) {
        padding: 40px 24px 28px; }
        .option .result .item:nth-child(2) .item-ttl {
          width: 57.04%; }
      .option .result .item-ttl {
        padding: 4px 8px;
        line-height: 1;
        background-color: #000;
        -webkit-border-radius: 4px;
        -moz-border-radius: 4px;
        -ms-border-radius: 4px;
        -o-border-radius: 4px;
        border-radius: 4px;
        position: absolute;
        top: -12px; }
      .option .result .detail-item {
        font-size: 1.3rem; }
      .option .result .item-lead {
        margin: 0 auto 24px;
        font-size: 2.0rem; }
        .option .result .item-lead .marker {
          font-size: 3.5rem;
          padding-bottom: 0; }
          .option .result .item-lead .marker:before {
            bottom: 0; }
      .option .result .txt {
        font-size: 1.3rem; } }
.contact {
  padding: 9.33vw 0 8vw;
  background-color: #00A0E6;
  letter-spacing: .15em; }
  .contact .contact-ttl {
    width: 30.67vw;
    max-width: 169px;
    margin: 0 auto 6.93vw; }
  .contact .lead {
    margin: 0 auto 5.33vw;
    color: #fff;
    font-size: 2.933vw;
    text-align: center; }
  .contact .form {
    width: 88vw;
    max-width: 694px;
    margin: 0 auto 0; }
  .contact .txt-input-list {
    margin: 0 auto 7.47vw; }
    .contact .txt-input-list .txt-input-item {
      letter-spacing: -.4em; }
      .contact .txt-input-list .txt-input-item:not(:last-child) {
        margin-bottom: 2.88vw; }
    .contact .txt-input-list .req,
    .contact .txt-input-list .input {
      display: inline-block;
      vertical-align: top;
      font-size: 2.667vw;
      letter-spacing: .15em; }
    .contact .txt-input-list .req {
      width: 10.4vw;
      padding: 1.27vw 0;
      margin-right: 1.6vw;
      color: #00A0E6;
      text-align: center;
      line-height: normal;
      text-indent: .075em;
      background-color: #fff; }
    .contact .txt-input-list .input {
      width: 76vw; }
      .contact .txt-input-list .input .formErrorContent {
        padding-top: .4em;
        color: #FFFF00;
        font-weight: bold; }
      .contact .txt-input-list .input input {
        width: 100%;
        padding: 1.27vw 2.13vw;
        font-weight: 500;
        letter-spacing: .15em;
        border: none;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -ms-border-radius: 0;
        -o-border-radius: 0;
        border-radius: 0; }
  .contact .cat-select {
    margin: 0 auto 6.4vw;
    color: #fff; }
    .contact .cat-select .txt {
      margin: 0 auto 3.2vw;
      font-size: 2.933vw; }
    .contact .cat-select .select-list {
      line-height: 1; }
    .contact .cat-select .selectitem:not(:last-child) {
      margin: 0 auto 3.73vw; }
    .contact .cat-select label {
      font-weight: 500;
      vertical-align: middle; }
    .contact .cat-select input {
      width: 10px;
      height: 10px;
      margin-right: 8px;
      border: 1px solid #fff;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -ms-border-radius: 50%;
      -o-border-radius: 50%;
      border-radius: 50%;
      -webkit-appearance: none; }
      .contact .cat-select input:checked {
        background-color: #fff; }
  .contact .form-detail {
    margin: 0 auto 6.4vw;
    line-height: 1; }
    .contact .form-detail textarea {
      width: 100%;
      height: 8.5em;
      padding: 2.67vw 2.13vw;
      line-height: 1.7;
      letter-spacing: .15em;
      -webkit-border-radius: 0;
      -moz-border-radius: 0;
      -ms-border-radius: 0;
      -o-border-radius: 0;
      border-radius: 0; }
  .contact .submit-btn {
    text-align: center; }
    .contact .submit-btn input {
      padding: 1.07vw 2.67vw;
      color: #00A0E6;
      font-size: 3.467vw;
      font-weight: 500;
      line-height: 1;
      letter-spacing: .3em;
      text-indent: .3em;
      -webkit-border-radius: 4px;
      -moz-border-radius: 4px;
      -ms-border-radius: 4px;
      -o-border-radius: 4px;
      border-radius: 4px;
      background-color: #fff; }

@media screen and (min-width: 768px) {
  .contact {
    padding: 84px 0 76px; }
    .contact .contact-ttl {
      margin: 0 auto 30px; }
    .contact .lead {
      margin: 0 auto 64px;
      font-size: 1.1rem; }
    .contact .txt-input-list {
      margin: 0 auto 48px; }
      .contact .txt-input-list .txt-input-item:not(:last-child) {
        margin-bottom: 24px; }
      .contact .txt-input-list .req,
      .contact .txt-input-list .input {
        font-size: 1.3rem; }
      .contact .txt-input-list .req {
        width: 52px;
        padding: 10px 0;
        margin-right: 8px; }
      .contact .txt-input-list .input {
        width: calc(100% - 60px);
        padding: 0; }
        .contact .txt-input-list .input input {
          padding: 10px 24px; }
    .contact .cat-select {
      margin: 0 auto 52px; }
      .contact .cat-select .txt {
        margin: 0 auto 24px;
        font-size: 1.3rem; }
      .contact .cat-select .select-list {
        text-align: center;
        letter-spacing: -.4em; }
      .contact .cat-select .selectitem {
        display: inline-block;
        letter-spacing: .15em;
        vertical-align: top;
        text-align: left; }
        .contact .cat-select .selectitem:not(:last-child) {
          margin: 0 14.41% 0 0; }
      .contact .cat-select input {
        width: 12px;
        height: 12px; }
    .contact .form-detail {
      margin: 0 auto 42px; }
      .contact .form-detail textarea {
        padding: 14px 12px; }
    .contact .submit-btn input {
      font-size: 1.7rem;
      padding: 8px 28px; } }

/*# sourceMappingURL=style.css.map */
