﻿@charset "utf-8";

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

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, ol, ul, 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-size: 100%; */
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}


/*
============================================================ */
/* BASE
============================================================ */
html {
  font-size: 62.5%;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

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

body {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 500;
  color: #333;
  letter-spacing: .05em;
  -webkit-font-smoothing: antialiased;
}

@media screen and (min-width: 769px) {
  body {
    min-width: 1140px;
    line-height: 1.8;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 20px;
  }
  body {
    line-height: 1.8;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 750px) {
  html {
    font-size: 2.67vw;
  }
  body {
    min-width: 320px;
  }
}

img {
  max-width: 100%;
  height: auto;
}

input,
button,
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none;
  background: transparent;
}
button {
	cursor: pointer;
}
select::-ms-expand {
  display: none;
}
input::placeholder {
  color: #c3c3c3;
}
input:-ms-input-placeholder {
  color: #c3c3c3;
}
input::-ms-input-placeholder {
  color: #c3c3c3;
}


/*
============================================================ */
/* device only
============================================================ */
@media screen and (min-width: 769px) {
  .sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}



/*
============================================================ */
/* module
============================================================ */
/* font */
.m-ft-en {
  font-family: 'Quicksand', sans-serif;
  -ms-font-feature-settings: "normal";
}
.m-ft-en.karning span {
	letter-spacing: -0.06em;
}

@media all and (-ms-high-contrast: none) {
  .m-ft-offset-ie {
    transform: translateY(.2em);
  }
}

/* button */
.m-btn-01,
a.m-btn-01,
button.m-btn-01,
.m-btn-02,
a.m-btn-02,
button.m-btn-02 {
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-weight: bold;
  text-decoration: none;
  transition: .3s ease;
  border: none;
}
.m-btn-01,
a.m-btn-01,
button.m-btn-01 {
  background: linear-gradient(to right, #23c0d9 0%, #1072ba 50%, #23c0d9 100%);
  background-size: 200% auto;
}
.m-btn-02,
a.m-btn-02,
button.m-btn-02 {
  background: linear-gradient(to right, #1072ba 0%, #0c489e 50%, #1072ba 100%);
  background-size: 200% auto;
}
.m-btn-02.disabled,
a.m-btn-02.disabled {
  background: #ddd;
  pointer-events: none;
}
.m-btn-03,
a.m-btn-03,
button.m-btn-03 {
  display: inline-flex;
  align-items: center;
  font-weight: bold;
  color: inherit;
  text-decoration: none;
}
.m-btn-03 i,
a.m-btn-03 i,
button.m-btn-03 i {
  position: relative;
  display: block;
  margin-right: .5em;
  color: #fff;
  border-radius: 50%;
  background: linear-gradient(to right, #23c0d9 0%, #1072ba 50%, #23c0d9 100%);
  background-size: 200% auto;
  transition: .3s ease;
}
.m-btn-03 i:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25%;
  height: 25%;
  border-bottom: 2px solid;
  border-right: 2px solid;
  transform: translate(-50%, -60%) rotate(45deg);
}
.m-btn-01:hover,
a:hover .m-btn-01,
a.m-btn-01:hover,
button.m-btn-01:hover,
.m-btn-02:hover,
a:hover .m-btn-02,
a.m-btn-02:hover,
button.m-btn-02:hover,
.m-btn-03:hover i,
a:hover .m-btn-03 i,
a.m-btn-03:hover i,
button.m-btn-03:hover i {
  background-position-x: right;
}
.m-btn-04:hover {
	text-decoration: underline;
}

@media screen and (min-width: 769px) {
  .m-btn-01,
  .m-btn-02 {
    width: 280px;
    max-width: 100%;
    height: 60px;
    border-radius: 60px;
  }
  .m-btn-03 {
    font-size: 18px;
  }
  .m-btn-03 i {
    width: 40px;
    height: 40px;
  }
}

@media screen and (max-width: 768px) {
  .m-btn-01,
  .m-btn-02 {
    width: 20rem;
    max-width: 100%;
    height: 3.5rem;
    border-radius: 3.5rem;
  }
  .m-btn-03 i {
    width: 2rem;
    height: 2rem;
  }
}

/* icon */
.m-icon {
  position: relative;
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: middle;
}
.m-icon:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: no-repeat center center;
  background-size: contain;
}
.m-icon-blank-w,
.m-icon-blank-b {
  margin: 0 .5em;
}
.m-icon-blank-w:before {
  background-image: url(../images/icon-blank-w.png);
}
.m-icon-blank-b:before {
  background-image: url(../images/icon-blank-b.png);
}

/* text */
.m-text-logo {
  width: auto;
  height: 1em;
  margin: 0 .1em;
  vertical-align: baseline;
}
.m-color-b {
  color: #23c0d9 !important;
}

/* hover */
.m-over,
a.m-over,
button.m-over {
  transition: opacity .6s ease;
}
.m-over:hover,
a.m-over:hover,
button.m-over:hover {
  opacity: .7;
}

/* inview */
.inview-fadeup {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s ease, transform 1s ease;
}
.inview-delay05 { transition-delay: .5s; }
.inview-delay10 { transition-delay: 1s; }
.inview-delay15 { transition-delay: 1.5s; }
.inview-fadeup.inviewed {
  opacity: 1;
  transform: none;
}

/* accordion */
.js-accordion {
  cursor: pointer;
}
.js-accordion__content {
  display: none;
}

/* slider */
.js-slider {
  position: relative;
}
.js-slider :focus {
  outline: none;
}
.js-slider-arrow {
  position: absolute;
  color: #fff;
  border-radius: 50%;
  background: #23c0d9;
  cursor: pointer;
  transform: translateY(-50%);
  z-index: 10;
}
.js-slider-arrow i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30%;
  height: 30%;
  border-top: 2px solid;
  border-right: 2px solid;

}
.js-slider-arrow.prev i {
  transform: translate(-30%, -50%) rotate(-135deg);
}
.js-slider-arrow.next i {
  transform: translate(-70%, -50%) rotate(45deg);
}

@media screen and (min-width: 769px) {
  .js-slider-arrow {
    width: 30px;
    height: 30px;
  }
  .js-slider-arrow.prev {
    top: 50%;
    left: -60px;
  }
  .js-slider-arrow.next {
    top: 50%;
    right: -60px;
  }
}

@media screen and (max-width: 768px) {
  .js-slider-arrow {
    width: 2rem;
    height: 2rem;
  }
  .js-slider-arrow.prev {
    top: 50%;
    left: -1rem;
  }
  .js-slider-arrow.next {
    top: 50%;
    right: -1rem;
  }
}

/*
============================================================ */
/* wrapper
============================================================ */
.l-wrapper {
  position: relative;
  z-index: 0;
  overflow: hidden;
}


/*
============================================================ */
/* inner
============================================================ */
.l-inner {
}

@media screen and (min-width: 769px) {
  .l-inner {
    max-width: 1040px;
    padding: 0 20px;
    margin: 0 auto;
  }
  .l-inner.large {
    max-width: 1240px;
  }
}

@media screen and (max-width: 768px) {
  .l-inner {
    padding: 0 1.5rem;
  }
}



/*
============================================================ */
/* header
============================================================ */
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.l-header__nav {
  margin-left: auto;
}
.l-header__nav-list {
  display: flex;
}
.l-header__nav-list li + li {
  margin-left: 2em;
}
.l-header__nav-list li a {
  color: inherit;
  text-decoration: none;
}
.l-header__btn-gnav {
  position: relative;
  border-radius: 50%;
  background: linear-gradient(to right, #23c0d9 0%, #1072ba 100%);
  cursor: pointer;
  z-index: 9999;
}
.l-header__btn-gnav i {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  height: 15%;
  color: #fff;
  transform: translate(-50%, -50%);
}
.l-header__btn-gnav span {
  position: absolute;
  left: 50%;
  width: 100%;
  top: 50%;
  transform-origin: center center;
  transition: all .3s;
  -webkit-border-radius: 99px;
  -moz-border-radius: 99px;
  border-radius: 99px;
}
.l-header__btn-gnav span:nth-child(1) {
  transform: translate(-50%, -130%);
}
.l-header__btn-gnav span:nth-child(2) {
  transform: translate(-50%, 130%);
}
body.gnav-open .l-header__btn-gnav span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
body.gnav-open .l-header__btn-gnav span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(45deg);
}

@media screen and (min-width: 769px) {
  .l-header__inner {
    padding: 20px 30px;
  }
  .l-header__nav-list {
    font-size: 1.4rem;
  }
  .l-header__btn-gnav {
    width: 50px;
    height: 50px;
    margin-left: 30px;
  }
  .l-header__btn-gnav span {
    border-top: 3px solid;
  }
}

@media screen and (max-width: 768px) {
  .l-header__inner {
    padding: 1rem 1.5rem;
  }
  .l-header__logo {
    width: 15rem;
  }
  .l-header__nav {
    display: none;
  }
  .l-header__btn-gnav {
    width: 3rem;
    height: 3rem;
    margin-left: 1.5rem;
  }
  .l-header__btn-gnav span {
    border-top: .15rem solid;
  }
}



/*
============================================================ */
/* global nav
============================================================ */
.l-gnav__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, .25);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transition: .5s ease;
}
body.gnav-open .l-gnav__overlay {
  opacity: 1;
  visibility: visible;
}
.l-gnav {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  background: url(../images/bg-about-01.png) no-repeat right top, url(../images/bg-about-02.png) no-repeat left bottom;
  background-color: #fff;
  overflow: hidden;
  z-index: 999;
  visibility: hidden;
  transform: translateX(110%);
  transition: .5s ease;
  border-radius: 30px 0 30px 0;box-shadow: 0 15px 10px 0 rgba(0, 0, 0, .15);
}
body.gnav-open .l-gnav {
  visibility: visible;
  transform: translateX(0);
}
.l-gnav__outer {
  width: calc(100% + 100px);
  height: 100%;
  padding-right: 100px;
  overflow: auto;
}
.l-gnav__list li a {
  display: block;
  padding: 5px;
  color: inherit;
  text-decoration: none;
}

@media screen and (min-width: 769px) {
  .l-gnav {
    margin: 20px 20px 20px 0;
    width: 320px;
    height: 380px;
  }
  .l-gnav__outer {
    padding-top: 100px;
  }
  .l-gnav__list li {
    padding: .3em 1.2em;
  }
.l-gnav__list li a {
  padding: 5px;
}
}

@media screen and (max-width: 768px) {
  .l-gnav {
    margin: 20px 20px 20px 0;
    width: 24rem;
    height: 520px;
  }
  .l-gnav__outer {
    padding-top: 4rem;
  }
  .l-gnav__list li {
    padding: .2em .6em;
  }
.l-gnav__list li a {
  padding: 3px;
}
}


/*
============================================================ */
/* footer
============================================================ */
.l-fnav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.l-fnav li {
  position: relative;
}
.l-fnav li a {
  color: inherit;
  font-weight: bold;
  text-decoration: none;
}
.l-fnav li a:hover {
  text-decoration: underline;
}
.l-fnav li:before {
  position: absolute;
  top: 50%;
  left: 0;
  width: 0;
  height: 1em;
  border-left: 1px solid #cecece;
  transform: translateY(-50%);
}
.l-copyright {
  text-align: center;
  font-weight: bold;
}
.l-footer-note {
  color: #999;
}

@media screen and (min-width: 769px) {
  .l-footer {
    padding: 0 0 30px;
    font-size: 1.2rem;
  }
  .l-fnav li:nth-child(n+2) {
    margin-left: 1.5em;
    padding-left: 1.5em;
  }
  .l-fnav li:nth-child(n+2):before {
    content: "";
  }
  .l-footer-note {
    padding: 30px 0;
  }
}

@media screen and (max-width: 768px) {
  .l-footer {
    padding: 0 0 1.5rem;
    font-size: 1rem;
  }
  .l-fnav li {
    width: 50%;
    margin-bottom: .5rem;
  }
  .l-fnav li:nth-child(2n+1) {
    padding-right: 1.5em;
    text-align: right;
  }
  .l-fnav li:nth-child(2n) {
    padding-left: 1.5em;
    text-align: left;
  }
  .l-fnav li:nth-child(2n):before {
    content: "";
  }
  .l-footer-note {
    padding: 1.5rem 0;
  }
}



/*
============================================================ */
/* bg-ptn
============================================================ */
.l-bg-ptn {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  z-index: -1;
}
.l-bg-ptn img {
  animation-duration: 30s;
  animation-fill-mode: both;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}
.l-bg-ptn--01 img {
  animation-name: skewed01;
}
@keyframes skewed01 {
  0% {
    transform: translate3d(0, 0, 0) skew(0, 0);
  }
  50% {
    transform: translate3d(0, 0, 0) skew(15deg, 15deg);
  }
  100% {
    transform: translate3d(0, 0, 0) skew(0, 0);
  }
}
.l-bg-ptn--02 img {
  animation-name: skewed02;
}
@keyframes skewed02 {
  0% {
    transform: translate3d(0, 0, 0) skew(0, 0);
  }
  50% {
    transform: translate3d(0, 0, 0) skew(-15deg, -15deg);
  }
  100% {
    transform: translate3d(0, 0, 0) skew(0, 0);
  }
}
.l-bg-ptn--header img,
.l-bg-ptn--footer img {
  animation-name: skewedX;
}
@keyframes skewedX {
  0% {
    transform: translate3d(0, 0, 0) skew(0, 0);
  }
  50% {
    transform: translate3d(0, 0, 0) skew(30deg, 0);
  }
  100% {
    transform: translate3d(0, 0, 0) skew(0, 0);
  }
}

@media screen and (min-width: 769px) {
  .l-bg-ptn {
    width: 3400px;
  }
  .l-bg-ptn--header {
    top: 0;
  }
  .l-bg-ptn--header-02 {
    top: 350px;
    margin-left: 120px;
  }
  .l-bg-ptn--footer {
    bottom: 0;
  }
  .p-find .l-bg-ptn--03 {
    top: 140px;
    margin-left: 680px;
  }
  .p-why .l-bg-ptn--01 {
    top: -60px;
  }
  .p-why .l-bg-ptn--02 {
    top: 1800px;
  }
  .p-why .l-bg-ptn--03 {
    top: 1550px;
    margin-left: -680px;
  }
  .p-why .l-bg-ptn--04 {
    top: 2600px;
    margin-left: 680px;
  }
  .p-about .l-bg-ptn--01 {
    top: 640px;
  }
  .p-security .l-bg-ptn--02 {
    top: 50px;
  }
  .p-voice .l-bg-ptn--03 {
    top: 0;
    margin-left: 680px;
  }
  .p-runby .l-bg-ptn--03 {
    top: 680px;
    margin-left: -680px;
  }
  .p-pricing .l-bg-ptn--01 {
    top: 180px;
  }
}

@media screen and (max-width: 768px) {
  .l-bg-ptn {
    width: 400vw;
  }
  .l-bg-ptn--03 img,
  .l-bg-ptn--04 img {
    width: 20vw;
  }
  .l-bg-ptn--header {
    top: 0;
  }
  .l-bg-ptn--header-02 {
    display: none;
  }
  .l-bg-ptn--footer {
    bottom: 0;
  }
  .p-find .l-bg-ptn--03 {
    margin-left: 50vw;
  }
  .p-why .l-bg-ptn--01 {
    top: 0;
  }
  .p-why .l-bg-ptn--02 {
    top: 300vw;
  }
  .p-why .l-bg-ptn--03 {
    top: 180vw;
    margin-left: -50vw;
  }
  .p-why .l-bg-ptn--04 {
    top: 670vw;
    margin-left: 50vw;
  }
  .p-about .l-bg-ptn--01 {
    top: 0;
  }
  .p-security .l-bg-ptn--02 {
    top: 0;
  }
  .p-voice .l-bg-ptn--03 {
    top: 150vw;
    margin-left: 50vw;
  }
  .p-runby .l-bg-ptn--03 {
    top: 150vw;
    margin-left: -50vw;
  }
  .p-pricing .l-bg-ptn--01 {
    top: 0;
  }
}



/*
============================================================ */
/* page content
============================================================ */
.p-anchor {
  height: 0;
  visibility: hidden;
}
.p-content {
  position: relative;
  z-index: 0;
}
.p-content__title {
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
}
.p-content__title > * {
  display: block;
}
.p-content__title-sub {
  color: #23c0d9;
}
.p-content-sub__title {
  margin-bottom: 1em;
  color: #23c0d9;
}
.p-content-sub__copy {
  line-height: 1.6;
  font-weight: 900;
}

@media screen and (min-width: 769px) {
  .p-anchor {
    padding-top: 50px;
    margin-top: -50px;
  }
  .p-content {
    margin-bottom: 100px;
  }
  .p-content__title {
    margin-bottom: 50px;
  }
  .p-content__title-main {
    font-size: 3.6rem;
  }
  .p-content__title-sub {
    font-size: 1.4rem;
  }
  .p-content-sub {
    display: flex;
    justify-content: space-between;
  }
  .p-content-sub__copy {
    font-size: 1.8rem;
    white-space: nowrap;
    letter-spacing: .1em;
  }
  .p-content-sub__copy strong {
    font-size: 3.5rem;
  }
  .p-content-sub__btn {
    margin-top: 30px;
  }
  .p-content-sub__btn .m-btn-01 {
    width: 200px;
    height: 50px;
  }
}

@media screen and (max-width: 768px) {
  .p-anchor {
    padding-top: 3rem;
    margin-top: -3rem;
  }
  .p-content {
    margin-bottom: 8rem;
  }
  .p-content__title {
    margin-bottom: 2.5rem;
  }
  .p-content__title-main {
    font-size: 2rem;
  }
  .p-content__title-sub {
    font-size: 1rem;
  }
  .p-content-sub__title {
    text-align: center;
  }
  .p-content-sub__copy {
    text-align: center;
  }
  .p-content-sub__copy strong {
    font-size: 2rem;
  }
  .p-content-sub__btn {
    margin-top: 1.5rem;
    text-align: center;
  }
  .p-content-sub__image {
    max-width: 80%;
    margin: 1.5rem auto 0;
    text-align: center;
  }
}



/*
============================================================ */
/* page apply button
============================================================ */
.p-apply-btn {
  position: fixed;
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  transition: .5s ease;
  transform: translateY(20%);
}
.p-apply-btn.show:not(.close) {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.p-apply-btn a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.p-apply-btn__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: url(../images/bg-apply-btn.png) no-repeat left bottom / auto 100%;
  background-color: #fff;
  box-shadow: 0 15px 15px 0 rgba(0, 0, 0, .15);
  overflow: hidden;
}
.p-apply-btn__text {
  font-weight: bold;
}
.p-apply-btn__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #fff;
  font-weight: bold;
  background: linear-gradient(to right, #23c0d9 0%, #1072ba 100%);
}
.p-apply-btn__close {
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #fff;
  border: 2px solid;
  border-radius: 50%;
  cursor: pointer;
  background: #0973ba;
}

@media screen and (min-width: 769px) {
  .p-apply-btn {
    right: 20px;
    bottom: 15px;
  }
  .p-apply-btn__inner {
    width: 480px;
    height: 110px;
    border-radius: 10px;
  }
  .p-apply-btn__text {
    padding-left: 120px;
    font-size: 1.6rem;
  }
  .p-apply-btn__btn {
    width: 110px;
    font-size: 1.3rem;
  }
  .p-apply-btn__close {
    width: 30px;
    height: 30px;
    top: -10px;
    right: -10px;
    font-size: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .p-apply-btn {
    right: 50%;
    bottom: 1rem;
    margin-right: -150px;
  }
  .p-apply-btn__inner {
    width: 30rem;
    height: 6rem;
    border-radius: .5rem;
  }
  .p-apply-btn__text {
    padding-left: 6rem;
  }
  .p-apply-btn__btn {
    width: 6rem;
    font-size: 1rem;
  }
  .p-apply-btn__close {
    width: 2.5rem;
    height: 2.5rem;
    top: -1rem;
    right: -1rem;
    font-size: 1rem;
  }
}



/*
============================================================ */
/* page lead
============================================================ */
.p-lead__copy {
  margin-bottom: .3em;
  font-weight: 800;
}
.p-lead__scroll a {
  text-decoration: none;
}
.p-lead__scroll span {
  position: relative;
  display: inline-block;
  padding-bottom: .25em;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-size: 100% auto;
  background-image: linear-gradient(to right, #23c0d9 0%, #1072ba 100%);
}
.p-lead__scroll span:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-size: 100% auto;
  background-image: linear-gradient(to right, #23c0d9 0%, #1072ba 100%);
}
.p-lead__image-inner {
    position: relative;
    padding-top: calc(549 / 946 * 100%);
    background: url(../images/bg-lead-01.png) no-repeat center top / contain;
}
.p-lead__image-inner video {
  position: absolute;
  top: calc(37 / 549 * 100%);
  left: calc(108 / 946 * 100%);
  width: calc(736 / 946 * 100%);
  height: calc(471 / 549 * 100%);
  background: #fff;
}
.p-lead__image-inner .video {
    position: absolute;
    top: calc(37 / 549 * 100%);
    left: calc(108 / 946 * 100%);
    width: calc(736 / 946 * 100%);
    height: calc(471 / 549 * 100%);
    background: #fff;
}

@media screen and (min-width: 769px) {
  .p-lead {
    margin: 50px 0 100px;
  }
  .p-lead .l-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .p-lead__textbox {
    padding-left: 30px; 
    width: 630px;
  }
  .p-lead__image {
    width: calc(100% - 660px);
  }
  .p-lead__image-wrap {
    width: 946px;
    margin-left: -85px;
  }
  .p-lead__copy {
    font-size: 4.8rem;
    letter-spacing: .1em;
    line-height: 1.4;
  }
  .p-lead__text {
    font-size: 2rem;
  }
  .p-lead__scroll {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .p-lead {
    margin: 2.5rem 0 5rem;
  }
  .p-lead__image {
    margin-top: 2rem;
  }
  .p-lead__image-wrap {
    width: 50rem;
  }
  .p-lead__copy {
    font-size: 3.2rem;
    line-height: 1.3;
  }
  .p-lead__scroll {
    margin-top: 1.5rem;
  }
}

@media all and (-ms-high-contrast: none) {
  .p-lead__scroll span {
    background: none;
  }
}

/*
============================================================ */
/* page find
============================================================ */
.p-find__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-find__item {
  text-align: center;
}
.p-find__item-text {
  font-weight: bold;
}
@media screen and (min-width: 769px) {
  .p-find__item {
    width: 25%;
  }
  .p-find__item-text {
    margin-top: 1em;
  }
  .p-find .p-content-sub {
    margin-top: 50px;
    flex-direction: row-reverse;
    align-items: flex-end;
  }
  .p-find .p-content-sub__textbox {
    width: 530px;
  }
  .p-find .p-content-sub__image {
    width: calc(100% - 585px);
  }
  .p-find .p-content-sub__image-wrap {
    width: calc(100% + 200px);
    margin-left: -200px;
    text-align: right;
  }
}

@media screen and (max-width: 768px) {
  .p-find__item {
    width: 50%;
  }
  .p-find__item:nth-child(n+3) {
    margin-top: 1rem;
  }
  .p-find__item-text {
    margin-top: 1em;
  }
  .p-find .p-content-sub {
    margin-top: 5rem;
  }
}



/*
============================================================ */
/* page why
============================================================ */
.p-why__item {
  background: #fff;
  box-shadow: 0 15px 10px 0 rgba(0, 0, 0, .15);
}
.p-why__item-image {
  text-align: center;
}
.p-why__item-title {
  margin: .5em 0;
  text-align: center;
  font-weight: 900;
}

@media screen and (min-width: 769px) {
  .p-why__list {
    display: flex;
    justify-content: space-between;
  }
  .p-why__item {
    width: 48%;
    padding: 30px 60px 50px;
    border-radius: 30px 0 30px 0;
  }
  .p-why__item-title {
    font-size: 2.8rem;
  }
  .p-why .p-content-sub {
    margin-top: 50px;
    align-items: center;
  }
  .p-why .p-content-sub__textbox {
    width: 530px;
  }
  .p-why .p-content-sub__image {
    width: calc(100% - 530px);
  }
  .p-why .p-content-sub__image-wrap {
    width: calc(100% + 200px);
    margin-right: -200px;
    text-align: left;
  }
}

@media screen and (max-width: 768px) {
  .p-why__item {
    padding: 1.5rem 2rem 2rem;
    border-radius: 1.5rem 0 1.5rem 0;
  }
  .p-why__item + .p-why__item {
    margin-top: 1.5rem;
  }
  .p-why__item-title {
    font-size: 2rem;
  }
  .p-why__item-image {
    max-width: 70%;
    margin: 0 auto;
  }
  .p-why .p-content-sub {
    margin-top: 5rem;
  }
}



/*
============================================================ */
/* page solution
============================================================ */
.p-solution__textbox {
  position: relative;
}
.p-solution__textbox-inner {
  background: #fff;
  box-shadow: 0 15px 10px 0 rgba(0, 0, 0, .15);
}
.p-solution__title {
  font-weight: 900;
}
.p-solution__note {
  color: #999;
}
.p-solution__image {
  text-align: center;
}
.p-solution__image-item {
  position: relative;
  display: inline-block;
}
.p-solution__image-item-part--dummy {
  position: absolute;
  top: 60%;
  left: 0;
  width: 100%;
}
.p-solution__image-item-part--02 {
  position: absolute;
  left: 0;
  bottom: calc(137 / 570 * 100%);
  width: 100%;
  height: calc(135 / 570 * 100%);
}
.p-solution__image-item-part--02 span {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  display: block;
  background: url(../images/img-solution03-02.png) no-repeat center bottom / 100% auto;
}
.p-solution__image-item-part--02 img {
  position: absolute;
  left: 0;
  bottom: calc(111 / 135 * 100%);
}
.p-solution__image-item-part--03 {
  position: absolute;
  left: 0;
  bottom: calc(190 / 570 * 100%);
  width: 100%;
  height: calc(300 / 570 * 100%);
}
.p-solution__image-item-part--03 span {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  display: block;
  background: url(../images/img-solution03-04.png) no-repeat center bottom / 100% auto;
}
.p-solution__image-item-part--03 img {
  position: absolute;
  left: 0;
  bottom: calc(275 / 300 * 100%);
}
.p-solution__image-item-part--04 {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(230 / 612 * 100%);
}
.inview ~ .p-solution__image-item-part--02 span{
  opacity: 0;
  min-height: 0;
  transform: translate3d(0, 0, 0);
  transition: opacity .3s ease-out, min-height .5s ease-out .1s;
}
.inview.inviewed ~ .p-solution__image-item-part--02 span {
  opacity: 1;
  min-height: 100%;
}
.inview ~ .p-solution__image-item-part--03 span {
  opacity: 0;
  min-height: 0;
  transform: translate3d(0, 0, 0);
  transition: opacity .3s ease-out .4s, min-height .7s ease-out .4s;
}
.inview.inviewed ~ .p-solution__image-item-part--03 span {
  opacity: 1;
  min-height: 100%;
}
.inview ~ .p-solution__image-item-part--04 {
  opacity: 0;
  transform-origin: right center;
}
.inview.inviewed ~ .p-solution__image-item-part--04 {
  animation-name: show-bound;
  animation-duration: .3s;
  animation-delay: 1.1s;
  animation-fill-mode: both;
  animation-timing-function: ease;
}
@keyframes show-bound {
  0% {
    opacity: 0;
    transform: scale(1);
  }
  25% {
    opacity: 1;
  }
  50% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

@media screen and (min-width: 769px) {
  .p-solution {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .p-solution:nth-of-type(odd) {
    flex-direction: row-reverse;
  }
  .p-solution__textbox {
    width: 48%;
  }
  .p-solution__textbox-inner {
    padding: 65px;
    border-radius: 30px 0 30px 0;
  }
  .p-solution__title {
    margin-bottom: 1em;
    font-size: 2.8rem;
  }
  .p-solution__note {
    position: absolute;
    top: calc(100% + 1.5em);
    left: 0;
    font-size: 1.2rem;
  }
  .p-solution__image {
    width: 47%;
  }
  .p-solution-01 {
    margin-top: 90px;
  }
  .p-solution-01 .p-solution__image-wrap {
    margin: 0 -20px 0 -70px;
  }
  .p-solution-02 {
    margin-top: 100px;
  }
  .p-solution-02 .p-solution__image-wrap:last-child {
    margin-top: 10px;
  }
  .p-solution-03 {
    margin-top: 120px;
  }
  .p-solution-03 .p-solution__image-wrap {
    margin: 0 -50px 0 -110px;
  }
  .p-solution-04 {
    margin-top: 30px;
  }
  .p-solution-04 .p-solution__image-wrap:last-child {
    margin-top: 20px;
  }
}

@media screen and (max-width: 768px) {
  .p-solution__textbox {
    margin-top: 4rem;
  }
  .p-solution__textbox-inner {
    padding: 2.5rem 2rem;
    border-radius: 1.5rem 0 1.5rem 0;
  }
  .p-solution__title {
    margin-bottom: .5em;
    font-size: 2rem;
  }
  .p-solution__note {
    margin-top: 1.5em;
    font-size: 1rem;
  }
  .p-solution__image {
    max-width: 90%;
    margin: 2rem auto 0;
  }
  .p-solution-02 .p-solution__image-wrap:last-child {
    margin-top: .5rem;
  }
  .p-solution-04 .p-solution__image-wrap:last-child {
    margin-top: 1rem;
  }
}



/*
============================================================ */
/* page about
============================================================ */
.p-about__header {
  background:
    url(../images/bg-about-01.png) no-repeat right top,
    url(../images/bg-about-02.png) no-repeat left bottom;
  background-color: #fff;
  box-shadow: 0 15px 10px 0 rgba(0, 0, 0, .15);
}
.p-about__header-price dt {
  color: #23c0d9;
}
.p-about__header-price dd {
  font-weight: 900;
}
.p-about__header-price dd strong {
  font-size: 250%;
}
.p-about__header-text a {
  color: inherit;
}
.p-about__support-image__item {
  position: relative;
  display: inline-block;
}
.p-about__support-image__item:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: url(../images/fig-about.png) no-repeat center center / contain;
}
.p-about__support-image__item img:nth-child(n+2) {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}
.p-about__support-image__item img {
  opacity: 0;
  transition: .3s ease;
}
.p-about__support-image__item[data-active="1"] img:nth-of-type(1),
.p-about__support-image__item[data-active="2"] img:nth-of-type(2),
.p-about__support-image__item[data-active="3"] img:nth-of-type(3) {
  opacity: 1;
}
.p-about__support-image area:focus {
  outline: none;
}
.p-about__support-image figcaption {
  margin-bottom: .25em;
  text-align: center;
  font-weight: 900;
}
.p-about__support-item-image {
  text-align: center;
}
.p-about__support-item-title {
  font-weight: 900;
  text-align: center;
}
.p-about__support-item-list li {
  display: inline;
  margin-right: .5em;
}
.p-about__support-item-list li:before {
  content: "・";
  transform: scale(1.5);
  display: inline-block;
}
.p-about__support-item--01 .p-about__support-item-list li:before {
  color: #67aeeb;
}
.p-about__support-item--02 .p-about__support-item-list li:before {
  color: #59cfe7;
}
.p-about__support-item--03 .p-about__support-item-list li:before {
  color: #db7cd5;
}
.p-about__support-slider .swiper-pagination-bullet {
  width: auto;
  height: auto;
  background: none;
}
.p-about__support-slider .js-slider-pagination {
 counter-reset: number 0;
  text-align: center;
  margin-top: 1.5em;
}
.p-about__support-slider .swiper-pagination-bullet {
  margin: 0 .5em;
  background-color: #ddd;
  border-radius: 0;
  opacity: 1;
}
.p-about__support-slider .swiper-pagination-bullet-active {
  background-color: #666;
}
.p-about__support-slider .swiper-pagination-bullet:before {
  counter-increment: number 1;
  /* content: "0" counter(number); */
  content: "";
  display: block;
  line-height: 1;
}

@media screen and (min-width: 769px) {
  .p-about__header {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    padding: 40px 60px;
    border-radius: 30px 0 30px 0;
  }
  .p-about__header-logo {
    width: 47%;
  }
  .p-about__header-price {
    position: relative;
    width: 47%;
    line-height: 1;
  }
  .p-about__header-price:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -6%;
    height: 100%;
    border-left: 1px solid #e5e5e5;
  }
  .p-about__header-price dt {
    font-size: 1.4rem;
  }
  .p-about__header-price dd {
    margin-top: -.5em;
    font-size: 2rem;
  }
  .p-about__header-text {
    width: 100%;
    margin-top: 1em;
  }
  .p-about__support {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 80px;
  }
  .p-about__support-image {
    width: 47%;
  }
  .p-about__support-image-wrap {
    margin-left: -50px;
  }
  .p-about__support-image figcaption {
    font-size: 2rem;
  }
  .p-about__support-inner {
    width: 47%;
    padding: 0 70px;
  }
  .p-about__support-item-title {
    margin: .5em 0 1em;
    font-size: 2.2rem;
  }
  .p-about__support-slider .swiper-pagination-bullet:before {
    width: 1rem;
    height: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .p-about__header {
    padding: 1.5rem;
    border-radius: 1.5rem 0 1.5rem 0;
  }
  .p-about__header-logo {
    width: 20rem;
    margin: 0 auto 1rem;
  }
  .p-about__header-price {
    padding-top: 1rem;
    border-top: 1px solid #e5e5e5;
    text-align: center;
  }
  .p-about__header-price dd {
    margin-top: -1em;
    font-size: 1.4rem;
  }
  .p-about__header-text {
    width: 100%;
    margin-top: 1em;
  }
  .p-about__support {
    margin-top: 4rem;
  }
  .p-about__support-image {
    max-width: 70%;
    margin: 0 auto 3rem;
  }
  .p-about__support-image figcaption {
    font-size: 1.4rem;
  }
  .p-about__support-item-inner {
    padding: 0 1.5rem;
  }
  .p-about__support-item-image {
    max-width: 50%;
    margin: 0 auto;
  }
  .p-about__support-item-title {
    margin: .5em 0;
    font-size: 1.6rem;
  }
  .p-about__support-slider .swiper-pagination-bullet:before {
    width: .5rem;
    height: .5rem;
  }
}



/*
============================================================ */
/* page functions
============================================================ */
.p-functions__item-inner {
  display: flex;
  justify-content: space-between;
}
.p-functions__item-title {
  margin-bottom: .5em;
  text-align: center;
  font-weight: 900;
}
.p-functions__item-caption {
  margin-bottom: .5em;
  font-weight: bold;
}
.p-functions__other-title {
  font-weight: 900;
  text-align: center;
}
.p-functions__item-btn .icon-plus {
  position: absolute;
  top: 50%;
  right: 1em;
  transform: translateY(-50%);
}
.p-functions__item-btn .icon-plus:before {
  background-image: url(../images/icon-plus.png);
}

@media screen and (min-width: 769px) {
  .p-functions .l-inner {
    max-width: 1340px;
    padding: 0 70px;
  }
  .p-functions__item-title {
    font-size: 2rem;
  }
  .p-functions__item-image {
    width: 70px;
  }
  .p-functions__item-textbox {
    width: calc(100% - 90px);
  }
  .p-functions__item-btn {
    margin-top: 1em;
  }
  .p-functions__item-btn a {
    width: 190px;
    height: 40px;
    padding-right: 5px;
    font-size: 1.3rem;
  }
  .p-functions__other-title {
    margin-bottom: 1em;
    font-size: 2.8rem;
  }
  .p-functions__list--01 {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0 -20px;
  }
  .p-functions__list--01:before {
    content: "";
    display: block;
    width: 1%;
    height: 0;
    visibility: hidden;
  }
  .p-functions__list--01 .p-functions__item {
    width: 33.33%;
    padding: 0 20px;
    margin-bottom: 50px;
  }
  .p-functions__list--02 {
    margin: 0 -20px;
  }
  .p-functions__list--02 .p-functions__item {
    width: 33.33%;
    padding: 0 20px;
  }
}

@media screen and (max-width: 768px) {
  .p-functions__item-title {
    font-size: 1.4rem;
  }
  .p-functions__item-image {
    width: 3.5rem;
  }
  .p-functions__item-textbox {
    width: calc(100% - 4.5rem);
  }
  .p-functions__item-btn {
	  margin-right: 4.5rem;
	  text-align: right;
  }
  .p-functions__item-btn a {
    margin-top: 1em;
  }
  .p-functions__other-title {
    margin-bottom: 1em;
    font-size: 1.6rem;
  }
  .p-functions__list--01 .p-functions__item {
    padding: 0 1.5rem;
    margin-bottom: 2.5rem;
  }
  .p-functions__list--02 .p-functions__item {
    padding: 0 1.5rem;
  }
}



/*
============================================================ */
/* page security
============================================================ */
.p-security__list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-security__item-image {
  text-align: center;
}
.p-security__item-title {
  line-height: 1.6;
  font-weight: 900;
  text-align: center;
}
.p-security__item-text small {
  display: inline-block;
  line-height: 1.6;
  font-size: 80%;
}

@media screen and (min-width: 769px) {
  .p-security__item {
    width: 23%;
  }
  .p-security__item-title {
    margin: .5em 0;
    font-size: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .p-security__item {
    width: 47.5%;
  }
  .p-security__item:nth-child(n+3) {
    margin-top: 1.5rem;
  }
  .p-security__item-image img {
    max-width: 50%;
  }
  .p-security__item-title {
    margin: .5em 0;
    font-size: 1.4rem;
  }
}



/*
============================================================ */
/* page voice
============================================================ */
.p-voice__item-inner {
  position: relative;
  height: 100%;
  background: #fff;
  box-shadow: 0 15px 10px 0 rgba(0, 0, 0, .15);
  z-index: 0;
}
.p-voice__item-inner:before {
  content: "";
  display: block;
  position: absolute;
  background: url(../images/bg-voice.png) no-repeat center center / contain;
  z-index: -1;
}
.p-voice__item-title {
  margin-bottom: .5em;
  font-weight: 900;
}
.p-voice__item-user-profile {
  color: #23c0d9;
}

@media screen and (min-width: 769px) {
  .p-voice .l-inner {
    max-width: 1340px;
    padding: 0 70px;
  }
  .p-voice__item {
    width: 50%;
    padding: 0 1.5% 20px;
  }
  .p-voice__item-inner {
    padding: 60px 60px 30px;
    border-radius: 30px 0 30px 0;
  }
  .p-voice__item-inner:before {
    top: 60px;
    right: 30px;
    width: 56px;
    height: 40px;
  }
  .p-voice__item-title {
    font-size: 2.8rem;
  }
  .p-voice__item-text p + p {
	  margin-top: 10px;
  }
  .p-voice__item-user {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .p-voice__item-user {
    margin-top: 30px;
    min-height: 42px;
  }
  .p-voice__item-user-image {
    width: auto;
  }
  .p-voice__item-user-profile {
    width: calc(100% - 65px);
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .p-voice__item {
    padding: 0 1.5rem 20px;
  }
  .p-voice__item-inner {
    padding: 3rem 2rem 2rem;
    border-radius: 1.5rem 0 1.5rem 0;
  }
  .p-voice__item-inner:before {
    top: 2rem;
    right: 1.5rem;
    width: 2.8rem;
    height: 2rem;
  }
  .p-voice__item-title {
    height: auto !important;
    font-size: 1.6rem;
  }
  .p-voice__item-text {
    height: 200px !important;
    overflow-y: scroll;
  }
  .p-voice__item-user {
    margin-top: 30px;
  }
  .p-voice__item-user-image {
	  margin-bottom: 5px;
	  width: 40%;
  }
  .p-voice__item-user-profile {
    font-size: 1rem;
  }
}



/*
============================================================ */
/* page runby
============================================================ */
.p-runby__inner {
  background:
    url(../images/bg-runby-01.png) no-repeat right top,
    url(../images/bg-runby-02.png) no-repeat left bottom;
  background-color: #fff;
  box-shadow: 0 15px 10px 0 rgba(0, 0, 0, .15);
}
.p-runby__logo {
  margin: 0 auto;
}
.p-runby__list-caption {
  padding-bottom: .5em;
  border-bottom: 3px solid #23c0d9;
}
.p-runby__list-caption span {
  font-weight: 900;
}
.p-runby__list-caption small {
  display: inline-block;
  margin-left: 1em;
  font-size: 60%;
  color: #999;
}
.p-runby__list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.p-runby__item-caption {
  line-height: 1.6;
  margin-bottom: .5em;
  font-weight: bold;
  color: #23c0d9;
  text-align: center;
}
.p-runby__item-count {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  line-height: 1.2;
  font-weight: bold;
}
.p-runby__item-count strong {
  line-height: 1;
  font-size: 400%;
}
.p-runby__item-count span:last-child {
  margin-bottom: .5em;
}

@media screen and (min-width: 769px) {
  .p-runby__inner {
    padding: 70px;
    border-radius: 30px 0 30px 0;
  }
  .p-runby__logo {
    width: 385px;
    margin-bottom: 30px;
  }
  .p-runby__list-caption {
    font-size: 2rem;
    margin: 40px 0 30px;
  }
  .p-runby__item {
    width: 33.33%;
  }
  .p-runby__item-caption {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 3.2em;
  }
  .p-runby .p-content__btn {
    margin-top: 40px;
  }
}

@media screen and (max-width: 768px) {
  .p-runby__inner {
    padding: 2rem 1.5rem;
    border-radius: 1.5rem 0 1.5rem 0;
  }
  .p-runby__logo {
    width: 20rem;
    margin-bottom: 1.5rem;
  }
  .p-runby__list-caption {
    font-size: 1.4rem;
    margin: 2rem 0 1.5rem;
  }
  .p-runby__item {
    width: 50%;
    margin-bottom: 1.5rem;
  }
  .p-runby__item-count {
    font-size: 1rem;
  }
  .p-runby .p-content__btn {
    margin-top: 2rem;
  }
}



/*
============================================================ */
/* page pricing
============================================================ */
.p-pricing__header-price dt {
  color: #23c0d9;
}
.p-pricing__header-price dd {
  font-weight: 900;
}
.p-pricing__header-price dd strong {
  font-size: 250%;
}
.p-pricing__header-note {
  text-align: center;
}
.p-pricing__list-caption {
  padding-bottom: .5em;
  font-weight: 900;
  border-bottom: 3px solid #23c0d9;
}
.p-pricing__item {
  background: #fff;
  box-shadow: 0 15px 10px 0 rgba(0, 0, 0, .15);
}
.p-pricing__item-image {
  text-align: center;
}
.p-pricing__item-caption {
  text-align: center;
}
.p-pricing__list--01 .p-pricing__item-price {
  line-height: 1.4;
  font-weight: 900;
  text-align: center;
}
.p-pricing__list--01 .p-pricing__item-price strong {
  font-size: 250%;
  letter-spacing: -.05em;
}
.p-pricing__list--01 .p-pricing__item-caption {
  font-weight: bold;
  color: #23c0d9;
}
.p-pricing__list--02 .p-pricing__item-caption {
  line-height: 1.6;
  font-weight: 900;
}

@media screen and (min-width: 769px) {
  .p-pricing__header {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    max-width: 850px;
    margin: 0 auto;
  }
  .p-pricing__header-logo {
    width: 47%;
  }
  .p-pricing__header-price {
    position: relative;
    width: 47%;
    line-height: 1;
  }
  .p-pricing__header-price:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -6%;
    height: 100%;
    border-left: 1px solid #e5e5e5;
  }
  .p-pricing__header-price dt {
    font-size: 1.4rem;
  }
  .p-pricing__header-price dd {
    margin-top: -.5em;
    font-size: 2rem;
  }
  .p-pricing__header-note {
    width: 100%;
    margin-top: 1em;
  }
  .p-pricing__list-caption {
    margin-top: 50px;
    margin-bottom: 30px;
    font-size: 2rem;
  }
  .p-pricing__list-note {
    margin-bottom: 30px;
  }
  .p-pricing__list {
    display: flex;
    justify-content: space-between;
  }
  .p-pricing__item {
    width: 30%;
    padding: 10px 20px 40px;
    border-radius: 30px 0 30px 0;
  }
  .p-pricing__item-text {
    padding: 0 10px;
  }
  .p-pricing__list--01 .p-pricing__item-price {
    font-size: 2.2rem;
  }
  .p-pricing__list--01 .p-pricing__item-caption {
    margin-bottom: .5em;
  }
  .p-pricing__list--02 .p-pricing__item-image {
    margin-top: 30px;
  }
  .p-pricing__list--02 .p-pricing__item-caption {
    margin: .5em 0;
    font-size: 2rem;
  }
  .p-pricing .p-content-sub {
    flex-direction: row-reverse;
    align-items: center;
    max-width: 910px;
    margin: 60px auto 0;
  }
}

@media screen and (max-width: 768px) {
  .p-pricing__header {
    text-align: center;
  }
  .p-pricing__header-logo {
    width: 20rem;
    margin: 0 auto 1rem;
  }
  .p-pricing__header-price {
    padding-top: 1rem;
    border-top: 1px solid #e5e5e5;
  }
  .p-pricing__header-price dd {
    margin-top: -1em;
    font-size: 1.4rem;
  }
  .p-pricing__list-caption {
    margin-top: 3rem;
    margin-bottom: 1.5rem;
    font-size: 1.4rem;
  }
  .p-pricing__list-note {
    margin-bottom: 1.5rem;
  }
  .p-pricing__item {
    padding: .5rem 1.5rem 2rem;
    border-radius: 1.5rem 0 1.5rem 0;
  }
  .p-pricing__item + .p-pricing__item {
    margin-top: 2rem;
  }
  .p-pricing__list--01 .p-pricing__item-image img {
    max-width: 70%;
  }
  .p-pricing__list--01 .p-pricing__item-price {
    font-size: 1.6rem;
  }
  .p-pricing__list--01 .p-pricing__item-caption {
    margin-bottom: .5em;
  }
  .p-pricing__list--02 .p-pricing__item-image img {
    max-width: 50%;
  }
  .p-pricing__list--02 .p-pricing__item-image {
    margin-top: 1.5rem;
  }
  .p-pricing__list--02 .p-pricing__item-caption {
    margin: .5em 0;
    font-size: 1.6rem;
  }
  .p-pricing .p-content-sub {
    margin-top: 3rem;
  }
}



/*
============================================================ */
/* page steps
============================================================ */
.p-steps__list-caption {
  text-align: center;
}
.p-steps__list {
  position: relative;
}
.p-steps__list:before {
  content: "";
  display: block;
  position: absolute;
  border-width: 0;
  border-style: dotted;
  border-color: #23c0d9;
  z-index: -1;
}
.p-steps__item-header {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: 2px solid #23c0d9;
  border-radius: 50%;
  text-align: center;
  background: #fff;
}
.p-steps__item-title > * {
  display: block;
  line-height: 1.4;
  font-weight: bold;
}
.p-steps__item-title--main {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 2em;
}
.p-steps__item-title--sub {
  color: #23c0d9;
}
.p-steps__item-image {
  text-align: center;
}

@media screen and (min-width: 769px) {
  .p-steps__list {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
  }
  .p-steps__list:before {
    top: calc(130px / 2);
    left: 15%;
    width: 70%;
    border-top-width: 2px;
  }
  .p-steps__item {
    width: 30%;
  }
  .p-steps__item-header {
    width: 130px;
    height: 130px;
    margin: 0 auto;
  }
  .p-steps__item-title {
    font-size: 1.3rem;
  }
  .p-steps__item-image {
    margin: 20px 0;
  }
  .p-steps .p-content-sub {
    flex-direction: row-reverse;
    align-items: center;
    max-width: 860px;
    margin: 60px auto 0;
  }
}

@media screen and (max-width: 768px) {
  .p-steps__list {
    margin-top: 1.5rem;
  }
  .p-steps__list:before {
    left: 3.5rem;
    top: 15%;
    height: 70%;
    border-left-width: 2px;
  }
  .p-steps__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .p-steps__item + .p-steps__item {
    margin-top: 1.5rem;
  }
  .p-steps__item-header {
    width: 7rem;
    height: 7rem;
  }
  .p-steps__item-textbox {
    width: calc(100% - 8.5rem);
  }
  .p-steps__item-icon {
    width: 2rem;
  }
  .p-steps__item-title {
    font-size: .9rem;
  }
  .p-steps__item-image {
    display: none;
  }
  .p-steps .p-content-sub {
    margin-top: 3rem;
  }
}



/*
============================================================ */
/* page apply
============================================================ */
.p-apply__require {
  color: #fff;
  margin: 0 auto;
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
  background: #23c0d9;
}
.p-apply__input input,
.p-apply__input select {
  width: 100%;
  padding: 0 1em;
  border: 1px solid #c0c0c0;
  border-radius: 5px;
  background: #fff;
}
.p-apply__input .box {
  width: 100%;
  padding: 0 1em;
  border: 1px solid #f7f7f7;
  background: #fff;
}
.p-apply__input select {
	background: #fff url(../images/sort-down.svg) no-repeat  right 8px top 40%;
	background-size: 14px;
	cursor: pointer;
}
.p-apply__input .column-tel,
.p-apply__input .column-agency,
.p-apply__input .column-birthday {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.p-apply__input .column-postal {
  display: flex;
  align-items: center;
}
.p-apply__input .column-postal li {
	width: 24%;
}
.p-apply__input .column-tel li:first-child {
  width: 24%;
}
.p-apply__input .column-tel li:not(:first-child) {
  width: 38%;
}
.p-apply__input .column-tel li:not(:first-child):before,
.p-apply__input .column-postal li:not(:first-child):before {
  display: inline-block;
  content: '-';
  width: 30px;
  color: #666;
  text-align: center;
}
.p-apply__input .column-tel li:not(:first-child) input,
.p-apply__input .column-postal li:not(:first-child) input {
  width: calc(100% - 30px);
}
.input-error {
  color: #f00;
}
.input-error:not([style*="none"]) + input,
.input-error:not([style*="none"]) + ul input {
  border-color: rgba(255, 0, 0, .5);
}
.p-apply__note {
  border-radius: 10px 0 10px 0;
  background: #fbfdfe;
}
.form .p-apply__note {
  background: #d7eef9;
}
.p-apply__note-title {
  padding-bottom: .25em;
  margin-bottom: .5em;
  font-weight: 900;
  border-bottom: 4px solid #23c0d9;
}
.p-apply__note-title i {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  vertical-align: middle;
  margin-right: 1em;
  margin-bottom: .1em;
  border: 2px solid #23c0d9;
  border-radius: 50%;
}
.p-apply__note-list li {
  margin-left: 1em;
  text-indent: -1em;
}
.p-apply__note-list li:before {
  content: "■";
  display: inline-block;
  width: 1em;
  vertical-align: middle;
  text-indent: 0;
  color: #23c0d9;
}
.p-apply__caption-list li {
  padding-left: 1em;
  text-indent: -1em;
  color: #999;
  font-size: 1.2rem;
}
.p-apply__attention p {
	text-indent: -1em;
	padding-left: 1em;
	color: #f66565;
}
.p-apply__agreement-title {
  text-align: center;
  font-weight: bold;
}
.p-apply__agreement-content {
  border-top: 1px solid #e9eef3;
  border-bottom: 1px solid #e9eef3;
}
.p-apply__agreement-content-inner {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
.p-apply__agreement-content-inner dt {
  position: relative;
  margin-top: 8px;
  font-weight: bold;
  padding-left: 1.3em;
}
.p-apply__agreement-content-inner dt span {
  position: absolute;
  top: 0;
  left: 0;
}
.p-apply__agreement-content-inner dd {
  margin-top: 5px;
  padding-left: 1.3em;
}
.p-apply__agreement-content-inner .indent-01 {
  padding-left: 1em;
  text-indent: -1em;
}
.p-apply__agreement-content-inner .indent-02 {
  padding-left: 2em;
  text-indent: -2em;
}
.p-apply__agreement-content-inner::-webkit-scrollbar {
  width: 8px;
}
.p-apply__agreement-content-inner::-webkit-scrollbar-track {
  background: transparent;
}
.p-apply__agreement-content-inner::-webkit-scrollbar-thumb {
  background-color: #23c0d9;
  border-radius: 10px;
}
.p-apply__agreement-note {
  text-align: center;
}
.p-apply__agreement-checkbox {
  text-align: center;
}
.p-apply__agreement-checkbox input,
.p-apply__name-checkbox input {
  width: 0;
  height: 0;
  visibility: hidden;
}
.p-apply__agreement-checkbox label,
.p-apply__name-checkbox label {
  position: relative;
  padding-left: 2.5em;
}
.p-apply__agreement-checkbox label:before,
.p-apply__name-checkbox label:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 1.3em;
  height: 1.3em;
  border: 1px solid #e9eef3;
  border-radius: 3px;
  box-shadow: 0 0 0 .2em #fff inset;
  background: #fff;
  transform: translateY(-50%);
  cursor: pointer;
}
.p-apply__agreement-checkbox input:checked + label:before,
.p-apply__name-checkbox input:checked + label:before {
  background: #23c0d9;
}
.p-apply__submit {
  text-align: center;
}
.p-apply__agreement-checkbox:not(.enabled),
.p-apply__submit:not(.enabled) {
  pointer-events: none;
}
.p-apply__agreement-checkbox:not(.enabled) {
  color: #aaa;
}
.p-apply__submit:not(.enabled) .m-btn-01 {
  background: #ddd;
}

@media screen and (min-width: 769px) {
  .p-apply__require {
    width: 180px;
    margin-top: -30px;
    margin-bottom: 30px;
    line-height: 36px;
    font-size: 1.6rem;
  }
  .p-apply__input {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
  }
  .p-apply__input dt {
    width: 240px;
    font-size: 1.6rem;
  }
  .p-apply__input dd {
    width: calc(100% - 240px);
  }
  .p-apply__input input,
  .p-apply__input select {
    height: 55px;
    line-height: 1.8;
    font-size: 1.6rem;
  }
  .p-apply__input .box {
    font-size: 1.6rem;
    padding-top: .6em;
    padding-bottom: .6em;
  }
  .p-apply__input .column-two {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .p-apply__input .column-two li {
	  width: 48%;
  }
  .p-apply__input .column-two span {
	  display: inline-block;
	  padding-right: 10px;
	  width: 50px;
	  color: #666;
	  font-size: 16px;
	  text-align: center;
  }
  .p-apply__input .column-two input {
    width: calc(100% - 50px);
  }
  .p-apply__input .column-agency li:first-child,
  .p-apply__input .column-accounting li {
    width: 24%;
  }
  .p-apply__input .column-agency li:not(:first-child) {
    width: 74%;
  }
  .p-apply__input .column-birthday li {
    width: 32%;
  }
  .p-apply__note {
    margin-left: 240px;
    margin-bottom: 10px;
    padding: 20px;
  }
  .form .p-apply__note {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 40px;
    width: 80%;
    text-align: center;
  }
  .p-apply__caption {
    margin-left: 240px;
    margin-bottom: 20px;
  }
  .p-apply__note-title {
    font-size: 2rem;
  }
  .p-apply__note-title i {
    width: 20px;
    height: 20px;
    font-size: 1.3rem;
  }
  .p-apply__note-list {
    font-size: 1.3rem;
  }
  .p-apply__attention {
    margin-left: auto;
    margin-right: auto;
    width: 60%;
    font-size: 1.2rem;
  }
  .p-apply__agreement {
    margin-top: 60px;
  }
  .p-apply__agreement-content {
    padding: 30px 0;
    margin-top: 30px;
  }
  .p-apply__agreement-content-inner {
    height: 110px;
    padding: 0 30px;
    font-size: 1.4rem;
  }
  .p-apply__agreement-note {
    margin-top: .5em;
    font-size: 1.4rem;
  }
  .p-apply__agreement-checkbox {
    margin-top: 40px;
  }
  .p-apply__submit {
    margin-top: 30px;
  }
  .p-apply__name-checkbox {
    margin: 40px 0 20px 240px;
    width: calc(100% - 240px);
  }
}

@media screen and (max-width: 768px) {
  .p-apply__input .column-agency li:first-child {
    width: 36%;
  }
  .p-apply__input .column-agency li:first-child select {
    font-size: 13px;
  }
  .p-apply__input .column-agency li:not(:first-child) {
    width: 62%;
  }
  .p-apply__input .column-birthday li:first-child {
    width: 50%;
  }
  .p-apply__input .column-birthday li:not(:first-child) {
    width: 23%;
  }
  .p-apply__require {
    width: 11em;
    margin-bottom: 1rem;
    line-height: 2.4rem;
  }
  .p-apply__input {
    margin-bottom: 1rem;
  }
  .p-apply__input dd .input-error {
    font-size: 1rem;
  }
  .p-apply__input input,
  .p-apply__input select {
    height: 3.8rem;
    line-height: 1.8;
    padding: 0 .6em;
  }
  .p-apply__input .box {
    font-size: 1.3rem;
    padding-top: .4em;
    padding-bottom: .4em;
  }
  .p-apply__input .column-two li + li {
    margin-top: 5px;
  }
  .p-apply__note {
    margin-bottom: 1rem;
    padding: 1.5rem;
  }
  .p-apply__note-title {
    font-size: 1.3rem;
  }
  .p-apply__note-title i {
    width: 1.5rem;
    height: 1.5rem;
    font-size: .9rem;
  }
  .p-apply__note-list {
    font-size: .9rem;
  }
  .p-apply__caption {
    margin-bottom: 1rem;
  }
  .p-apply__caption-list li {
    font-size: .9rem;
  }
  .p-apply__attention {
    font-size: .9rem;
  }
  .p-apply__agreement {
    margin-top: 2rem;
  }
  .p-apply__agreement-content {
    padding: 1.5rem 0;
    margin-top: 1.5rem;
  }
  .p-apply__agreement-content-inner {
    height: 9rem;
    padding: 0 1.5rem;
    font-size: 1rem;
  }
  .p-apply__agreement-note {
    margin-top: .5em;
    font-size: 1rem;
  }
  .p-apply__agreement-checkbox {
    margin-top: 2rem;
  }
  .p-apply__name-checkbox {
    margin-top: 2rem;
    margin-bottom: .5rem;
  }
  .p-apply__submit {
    margin-top: 1.5rem;
  }
.p-apply__agreement-checkbox.same-name {
  margin: 30px 0 15px;
  text-align: left;
}
}

@media screen and (max-width: 500px) {
  .p-apply__input input,
  .p-apply__input select {
    font-size: 16px;
  }
}


/*
============================================================ */
/* page faq
============================================================ */
.p-faq__list {
  border-top: 1px solid #bdd0e9;
}
.p-faq__item {
  position: relative;
  border-bottom: 1px solid #bdd0e9;
}
.p-faq__item:before,
.p-faq__item:after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
  color: #23c0d9;
  border: 1px solid;
  transform: translate(50%, -50%);
}
.p-faq__item.active:after {
  content: none;
}
.p-faq__item dt {
  color: #23c0d9;
}
.p-faq__item dd {
  margin-top: .5em;
}
.p-faq__note {
  text-align: center;
}
.p-content__btn {
  text-align: center;
}

@media screen and (min-width: 769px) {
  .p-faq__list {
    margin-bottom: 50px;
  }
  .p-faq__item {
    padding: 40px 70px 40px 0;
  }
  .p-faq__item:before {
    right: 35px;
    width: 14px;
  }
  .p-faq__item:after {
    right: 35px;
    height: 14px;
  }
  .p-faq__note {
    margin: 30px 0;
  }
}

@media screen and (max-width: 768px) {
  .p-faq__list {
    margin-bottom: 30px;
  }
  .p-faq__item {
    padding: 2rem 3rem 2rem 0;
  }
  .p-faq__item:before {
    right: 1.5rem;
    width: .7rem;
  }
  .p-faq__item:after {
    right: 1.5rem;
    height: .7rem;
  }
  .p-faq__note {
    margin: 1.5rem 0;
  }
}



/*
============================================================ */
/* page contact
============================================================ */
.p-contact__title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  color: #0973ba;
}
.p-contact__title-logo {
  margin-top: -.1em;
}
.p-contact__text {
  text-align: center;
}
.p-contact__item a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.p-contact__item-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: linear-gradient(to right, #23c0d9 0%, #1072ba 25%);
  z-index: 0;
}
.p-contact__item-inner:before {
  content: "";
  position: absolute;
  background: #fff;
  z-index: -1;
}
.p-contact__item-icon {
  text-align: center;
}
.p-contact__item-textbox {
  line-height: 1.2;
  text-align: center;
}
.p-contact__item-tel,
.p-contact__item-mail {
  color: #0973ba;
}

@media screen and (min-width: 769px) {
  .p-contact {
    margin-bottom: 50px;
  }
  .p-contact__title {
    font-size: 2.4rem;
  }
  .p-contact__title-logo {
    width: 270px;
    margin-right: .5em;
  }
  .p-contact__text {
    margin-bottom: 1em;
  }
  .p-contact__list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 770px;
    margin: 20px auto 0;
  }
  .p-contact__item {
    width: 49.5%;
  }
  .p-contact__item a[href*="tel"] {
    pointer-events: none;
  }
  .p-contact__item-inner {
    height: 90px;
    border-radius: 10px;
  }
  .p-contact__item-inner:before {
    top: 3px;
    right: 3px;
    bottom: 3px;
    left: 90px;
    border-radius: 0 8px 8px 0;
  }
  .p-contact__item-icon {
    width: 90px;
  }
  .p-contact__item-textbox {
    width: calc(100% - 90px);
  }
  .p-contact__item-tel {
    font-size: 2.8rem;
  }
  .p-contact__item-time {
    font-size: 1.2rem;
  }
  .p-contact__item-mail {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .p-contact {
    margin-bottom: 5rem;
  }
  .p-contact__title {
    font-size: 1.6rem;
  }
  .p-contact__title-logo {
    width: 18rem;
    margin-right: .5em;
  }
  .p-contact__text {
    margin-bottom: .5em;
  }
  .p-contact__list {
    margin-top: 1rem;
  }
  .p-contact__item + .p-contact__item {
    margin-top: 1rem;
  }
  .p-contact__item-inner {
    height: 8rem;
    border-radius: 1rem;
  }
  .p-contact__item-inner:before {
    top: .3rem;
    right: .3rem;
    bottom: .3rem;
    left: 8rem;
    border-radius: 0 .7rem .7rem 0;
  }
  .p-contact__item-icon {
    width: 8rem;
  }
  .p-contact__item-icon img {
    width: 3rem;
  }
  .p-contact__item-textbox {
    width: calc(100% - 8rem);
  }
  .p-contact__item-tel {
    font-size: 2.4rem;
  }
  .p-contact__item-time {
    font-size: 1rem;
  }
  .p-contact__item-mail {
    font-size: 1.6rem;
  }
}
