@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@200;300;400;500;600;700&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  font-family: "Zen Kaku Gothic New", sans-serif;
}
body {
  color: #3c4a60;
  position: relative;
}
a {
  display: block;
  text-decoration: none;
  cursor: pointer;
}
.Rubik {
  font-family: "Rubik", sans-serif;
}
.Oswald {
  font-family: "Oswald", sans-serif;
}
img {
  display: block;
  height: auto;
  width: 100%;
}
.mt-1{margin-top: 10px;}
.mt-2{margin-top: 20px;}
.mt-3{margin-top: 40px;}
.mt-4{margin-top: 80px;}
.mt-5{margin-top: 120px;}

/* font-size */
.f12 {
  font-size: 0.75rem;
}
.f14 {
  font-size: 0.875rem;
}
.f18 {
  font-size: 1.125rem;
}
.f20 {
  font-size: 1.25rem;
}
.f22 {
  font-size: 1.375rem;
}
.f24 {
  font-size: 1.5rem;
}
.f26 {
  font-size: 1.625rem;
}
.f28 {
  font-size: 1.75rem;
}
.f30 {
  font-size: 1.875rem;
}
.f32 {
  font-size: 2rem;
}
.f34 {
  font-size: 2.125rem;
}
.f36 {
  font-size: 2.25rem;
}
.f38 {
  font-size: 2.375rem;
}
.f40 {
  font-size: 2.5rem;
}
.f42 {
  font-size: 2.625rem;
}
.f44 {
  font-size: 2.75rem;
}
.f46 {
  font-size: 2.875rem;
}
.f48 {
  font-size: 3rem;
}
/* margin-bottom */
#wrapper {
  position: relative;
}
#main {
  position: relative;
}
.sublogo {
  color: #fff;
}
.prmbtn {
  border-radius: 999px;
  text-align: center;
}
.btnBlue {
  background-color: #008fff;
  border: 1px solid #fff;
}
.btnYellow {
  background-color: #ffff2f;
}
.btnBlue a {
  color: #fff;
  font-weight: bold;
}
.btnYellow a {
  color: #008fff;
  font-weight: bold;
}
.border-txt {
  display: inline-block;
  margin-bottom: 20px;
  padding: 0 30px;
  position: relative;
}
.border-txt::before,
.border-txt::after {
  border-radius: 100px;
  content: "";
  display: block;
  width: 3px;
  height: 40px;
  position: absolute;
  bottom: -10px;
}
.border-txt::before {
  left: 0;
  transform: rotate(-30deg);
}
.border-txt::after {
  right: 0;
  transform: rotate(30deg);
}
.border-txt.wh::before,
.border-txt.wh::after {
  background-color: #fff;
}
.border-txt.bk::before,
.border-txt.bk::after {
  background-color: #3c4a60;
}
.border-txt.bl::before,
.border-txt.bl::after {
  background-color: #008fff;
}
.cbk,
.cbk a {
  color: #3c4a60;
}
.cwh,
.cwh a {
  color: #fff;
}
.cyw,
.cyw a {
  color: #ffff2f;
}
.cgl,
.cgl a {
  color: #899ea5;
}
.cbl,
.cbl a {
  color: #008fff;
}
.cdbl,
.cdbl a {
  color: #266bd9;
}
.link-item-one {
  overflow: hidden;
  background-color: #fff;
  border-radius: 12px;
  box-shadow: 0 3px 0 rgba(0, 0, 0, 0.15);
}
.link-item-one a {
  display: flex;
  align-items: center;
}
.link-item-one .pic {
  width: 33%;
}
.link-item-one .pic img {
  display: block;
  object-fit: cover;
}
.link-item-one .title {
  background: url("../images/toppage/arrow_blue.png") no-repeat 95% center / 21px
    6px;
  font-weight: bold;
  line-height: 2rem;
  padding-left: 4%;
  width: 67%;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
  .inner {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 3%;
  }
  .link-item-one {
    max-width: 495px;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
  .inner {
    padding: 0 3%;
  }
}

/* header */
.header {
  left: 0;
  top: 0;
  width: 100%;
  z-index: 20;
}
.header.fixbg {
}
.header .logo {
  max-height: 19px;
  max-width: 135px;
  margin-bottom: 5px;
}
nav a {
  color: #fff;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .header {
    background-color: rgba(38, 107, 217, 0.6);
    padding: 20px 0;
    position: fixed;
  }
  .header .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 15px;
  }
  nav {
    width: 80%;
  }
  nav ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 0 auto;
    /*max-width: 768px;*/
  }
  nav .btnBlue a {
    padding: 6px 10% 10px;
    width: 176px;
  }
  nav .btnYellow a {
    padding: 6px 0 10px;
    width: 160px;
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding: 10px 3%;
    position: absolute;
  }
  .header .inner {
  }
  .header .head-logo {
    width: 40%;
  }

  .sp-list-nav {
    white-space: nowrap;
  }
  .sp-list-nav li {
    display: inline-block;
  }
  .sp-list-nav li a {
    color: #fff;
    display: block;
  }
  .sp-list-nav .prmbtn {
    margin-right: 10px;
  }
  .sp-list-nav .prmbtn a {
    padding: 10px;
  }
  .sp-list-nav .btnYellow a {
    color: #008fff;
  }

  .sp .hamburger {
    background-color: rgba(0, 143, 255, 1);
    display: block;
    position: fixed;
    z-index: 3;
    right: 15px;
    top: 8px;
    width: 42px;
    height: 42px;
    cursor: pointer;
    text-align: center;
  }
  .sp .hamburger span {
    display: block;
    position: absolute;
    width: 30px;
    height: 2px;
    left: 6px;
    background: #fff;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .sp .hamburger span:nth-child(1) {
    top: 10px;
  }
  .sp .hamburger span:nth-child(2) {
    top: 20px;
  }
  .sp .hamburger span:nth-child(3) {
    top: 30px;
  }

  /* footer nav */
  .sp-nav-wrap {
    background-color: rgba(38, 107, 217, 0.8);
    position: fixed;
    left: 0;
    bottom: 0;
    overflow-x: auto;
    width: 100%;
    scrollbar-width: none;
  }
  .sp-nav-wrap::-webkit-scrollbar {
    display: none;
  }
  .sp-nav-wrap .sp-list-nav {
    display: flex;
    align-items: center;
  }
  .sp-nav-wrap .sp-list-nav li a {
    border-right: 1px solid rgba(255, 255, 255, 0.6);
    padding: 25px 15px;
  }
  .sp-nav-wrap .sp-list-nav .prmbtn {
    border: none;
    border-radius: 0;
    margin-right: 0;
  }
  .sp-nav-wrap .sp-list-nav .prmbtn a {
    padding: 25px 15px;
  }

  /* nav open button */
  .sp .hamburger.active span:nth-child(1) {
    top: 16px;
    left: 6px;
    background: #fff;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  .sp .hamburger.active span:nth-child(2),
  .sp .hamburger.active span:nth-child(3) {
    top: 16px;
    background: #fff;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  .sp nav.globalMenuSp {
    display: none;
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.7);
    text-align: center;
    width: 100%;
    height: 100%;
    transition: opacity 0.6s ease, visibility 0.6s ease;
  }

  .sp nav.globalMenuSp ul {
    margin: 0 auto;
    padding: 0;
    height: 100%;
    width: 100%;
  }

  .sp nav.globalMenuSp ul li {
    list-style-type: none;
    padding: 0;
    width: 100%;
    transition: 0.4s all;
  }
  .sp nav.globalMenuSp ul li:last-child {
    padding-bottom: 0;
  }
  .sp nav.globalMenuSp ul li:hover {
    background: #ddd;
  }

  .sp nav.globalMenuSp ul li a {
    display: block;
    padding: 1em 0;
    text-decoration: none;
  }

  /* add class */
  .sp nav.globalMenuSp.active {
    display: block;
    height: 100%;
  }
  .sp .globalMenuSp .prmbtn {
    margin: 0 auto 20px;
    width: 80%;
  }
}
/* key */

.key {
  position: relative;
  overflow: hidden;
}
.key-movie {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  height: 100%;
  width: 100%;
  z-index: -1;
}
.key-movie video {
  min-height: 100%;
  min-width: 100%;
  overflow: hidden;
}
.key h1 {
  margin: 0 auto;
  text-align: center;
}
.key .msg {
  font-weight: bold;
  line-height: 2;
  text-shadow: 0px 0px 12px rgba(0, 110, 204, 0.5);
}
.key h1 .dot {
  position: relative;
}
.key h1 .dot::before {
  background-color: #ffff2f;
  border-radius: 50%;
  content: "";
  display: block;
  height: 5px;
  width: 5px;
  position: absolute;
  left: 7px;
  top: -5px;
}
@media screen and (min-width: 768px) {
  .key {
    padding-top: 111px;
    padding-bottom: 70px;
  }
  .key .inner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-around;
    position: relative;
  }
  .key-contents,
  .key-item {
    width: 48%;
  }
  .key h1 {
    margin-bottom: 40px;
    max-width: 528px;
  }
  .key-item {
    max-width: 593px;
  }
  .key .msg {
    margin-bottom: 70px;
  }
  .key .btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 476px;
  }
  .key .prmbtn {
    width: 230px;
  }
  .key .prmbtn a {
    padding: 18px 0;
  }
  .key .btnYellow,
  .key .btnBlue {
    background-position: 190px center;
    background-repeat: no-repeat;
    background-size: 21px 6px;
  }
  .key .btnYellow {
    background-image: url("../images/toppage/arrow_blue.png");
  }
  .key .btnBlue {
    background-image: url("../images/toppage/arrow_wh.png");
  }
}
@media screen and (max-width: 767px) {
  .key {
    padding: 80px 0 60px;
  }
  .key-contents h1.f24 {
    font-size: 1.25rem;
  }
  .border-txt {
    padding: 0 15px;
    font-size: 1.5rem;
  }
  .border-txt::before,
  .border-txt::after {
    width: 2px;
    height: 30px;
    bottom: -5px;
  }
  .key-contents h1 {
    margin-bottom: 20px;
  }
  .key-contents .msg {
    margin-bottom: 20px;
  }
  .key-item {
    margin-bottom: 30px;
  }
  .key-contents .prmbtn,
  .order-end .prmbtn {
    margin: 0 auto;
    width: 80%;
  }
  .key-contents .prmbtn:first-of-type,
  .order-end .prmbtn:first-of-type {
    margin-bottom: 20px;
  }
  .key-contents .prmbtn a,
  .order-end .prmbtn a {
    padding: 15px 0;
  }
}
/* news */
.news-wrap {
  background-color: #fff;
  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.news-wrap > * {
  font-weight: bold;
}
.news-wrap .cat {
  font-size: 0.8125rem;
  padding-right: 30px;
  position: relative;
}
.news-wrap .cat::after {
  background-color: #899ea5;
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 29px;
  width: 1px;
}
.news-wrap .date {
  padding-left: 30px;
}
.news-wrap .title {
  padding-left: 10px;
}
.news-wrap .link {
  margin: 0 0 0 auto;
}
.news-wrap .link a {
  background: url("../images/toppage/arrow_txt_bl.png") no-repeat right center /
    6px 11px;
  padding-right: 12px;
}
@media screen and (min-width: 768px) {
  .news-wrap {
    padding: 32px 49px;
    position: absolute;
    left: 50%;
    top: -40px;
    transform: translateX(-50%);
    max-width: 1200px;
    width: 97%;
  }
}
@media screen and (max-width: 767px) {
  .news-wrap {
    position: absolute;
    left: 50%;
    top: -40px;
    transform: translateX(-50%);
    width: 90%;
    z-index: 1;
    padding: 20px;
  }
  .news-wrap .cat::after {
    height: 17px;
  }
  .news-wrap .title {
    padding-left: 0;
  }
  .news-wrap .title a {
    padding: 20px 0;
  }
}
/* about */
.about-wrap {
  background: url("../images/toppage/bg_about.png") no-repeat left top / cover;
  padding: 8.5% 0 4%;
  background-attachment: fixed;
}
.about-wrap h2 {
  background: url("../images/toppage/icon_sub.png") no-repeat left center / 16px
    16px;
  /*margin-top: 7%;*/
  margin-bottom: 40px;
  padding-left: 20px;
}
.about-wrap h2 span {
  opacity: 0.5;
}
.about-wrap .frist-msg,
.about-wrap .bg-msg,
.about-wrap .sub-msg {
  font-weight: bold;
}
.about-wrap .frist-msg {
  margin-bottom: 32px;
  line-height: 1.5em;
}
.about-wrap .bg-msg span {
  background-color: #fff;
  display: inline-block;
  margin-bottom: 6px;
  padding: 5px 0px 5px 5px;
}
.about-wrap .bg-msg {
  margin-bottom: 32px;
  letter-spacing: -2px;
}
.about-wrap .sub-msg {
  line-height: 2;
  margin-bottom: 25px;
}
.about-wrap .end-msg {
  font-weight: 500;
  line-height: 1.5rem;
}

@media screen and (min-width: 768px) {
  .about-wrap .inner {
    display: flex;
    justify-content: space-around;
  }
  .about-contents {
    padding-left: 4%;
    width: 50%;
  }
  .about-wrap .end-msg {
    width: 90%;
  }
  .about-item {
    max-width: 586px;
    padding-right: 2%;
    width: 46%;
  }
}
@media screen and (max-width: 767px) {
  .about-wrap {
    padding: 100px 0 60px;
  }
  .about-wrap .frist-msg,
  .about-wrap .bg-msg {
    line-height: 1.4;
  }
  .about-item {
    margin-bottom: 30px;
  }
  .about-wrap .end-msg {
    margin-bottom: 40px;
  }
}
/* report */
.report-wrap {
  background: url("../images/toppage/bg_report.png") no-repeat left top / cover;
  background-color: #f4f7fa;
  padding: 60px 0;
  background-attachment: fixed;
}
.report-wrap h2 {
  font-weight: bold;
  text-align: center;
  width: 100%;
}
.report-wrap .maintit {
  display: block;
}
.report-wrap h3 {
  font-weight: bold;
  text-align: center;
}
.report-wrap h3 span {
  display: inline-block;
  padding: 0 25px;
  position: relative;
}
.report-wrap h3 span::before,
.report-wrap h3 span::after {
  background-color: #008fff;
  border-radius: 100px;
  content: "";
  display: block;
  width: 3px;
  height: 70px;
  position: absolute;
  bottom: -10px;
}
.report-wrap h3 span::before {
  left: 0;
  transform: rotate(-25deg);
}
.report-wrap h3 span::after {
  right: 0;
  transform: rotate(25deg);
}
@media screen and (min-width: 768px) {
  .report-wrap {
    padding-top: 160px;
  }
  .report-wrap .inner {
    max-width: 1200px;
  }
  .report-wrap h2 {
    margin-bottom: 40px;
  }
  /* .report-item p {
    max-width: 967px;
    width: 100%;
  } */
  .report-item-box {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .report-item-box .report-img {
    width: 46%;
  }
  .report-item-box .msg-box {
    margin-top: 25px;
    width: 50%;
  }
  .report-msgs dl {
    border-radius: 16px;
    margin-bottom: 10px;
    padding: 8% 7.5%;
    position: relative;
    transform: translateX(-4%);
    z-index: 1;
  }
  .report-msgs dl:last-of-type {
    margin-bottom: 40px;
  }
  .report-msgs dl:nth-of-type(odd) {
    background-color: #008fff;
  }
  .report-msgs dl:nth-of-type(even) {
    background-color: #266bd9;
  }
  .report-msgs dt {
    border-left: 5px solid rgba(255, 255, 255, 0.4);
    font-weight: bold;
    margin-bottom: 15px;
    padding-left: 10px;
  }
  .report-msgs dd {
    line-height: 2;
  }
  .report-item-box.reverse {
    flex-direction: row-reverse;
    margin-bottom: 40px;
  }
  .report-item-box.reverse .msg-box {
    margin-top: 70px;
  }
  .report-item-box.reverse dl {
    transform: translateX(4%);
  }
  .report-msgs .posi {
    position: relative;
  }
  .report-msgs .posi .border {
    position: absolute;
    z-index: 0;
  }
  .report-msgs .posi .border.first {
    left: -45%;
    top: 50%;
  }
  .report-msgs .posi .border.second {
    left: -40%;
    top: 55%;
  }
  .report-msgs .posi .border.thard {
    left: -45%;
    top: 15%;
    transform: rotate(10deg);
  }
  .report-msgs .posi .border.four {
    right: -32%;
    top: 20%;
  }
  .report-msgs .posi .border.five {
    right: -30%;
    top: 10%;
  }
  /* .report-item p:first-child {
    margin: 0 0 0 auto;
  } */
  .report-wrap h3 {
    margin-bottom: 40px;
  }
  .report-more-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .report-more-box ul {
    width: 48%;
  }
  .report-more-box ul li:first-child {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .report-item {
    position: relative;
  }
  .check-icon {
    position: absolute;
  }
  .check-icon.btn01 {
    top: 36%;
    left: 52%;
  }
  .check-icon.btn02 {
    top: 53%;
    left: 12%;
  }
  .check-icon.btn03 {
    top: 78%;
    right: 15%;
  }
  .check-icon.btn04 {
    top: 12%;
    right: 20%;
  }
  .check-icon.btn05 {
    top: 54%;
    left: 21%;
  }
  .report-msgs dl {
    border-radius: 8px;
    margin-bottom: 20px;
    padding: 25px;
  }
  .report-msgs dl:last-of-type {
    margin-bottom: 40px;
  }
  .report-msgs dl:nth-of-type(odd) {
    background-color: #008fff;
  }
  .report-msgs dl:nth-of-type(even) {
    background-color: #266bd9;
  }
  .report-msgs dt {
    border-left: 5px solid rgba(255, 255, 255, 0.4);
    font-weight: bold;
    margin-bottom: 15px;
    padding-left: 10px;
  }
  .report-msgs dd {
    line-height: 1.4;
  }
  .report-wrap h3 span {
    padding: 0 15px;
  }
  .report-wrap h3 span::before,
  .report-wrap h3 span::after {
    width: 2px;
    height: 60px;
    bottom: 0px;
  }
  .report-wrap h3.f28 {
    font-size: 1.5rem;
    line-height: 1.4;
    margin-bottom: 30px;
  }
  .link-item-one {
    margin-bottom: 25px;
  }
  .link-item-one .title.f22 {
    font-size: 1.25rem;
    line-height: 1.4;
  }
}
/* step */
.step-wrap {
  background: url("../images/toppage/bg_step.png") no-repeat left top / cover;
  background-attachment: fixed;
  padding: 60px 0;
}
.step-wrap h2 {
  font-weight: bold;
  text-align: center;
}
.step-wrap h2 .block {
  display: block;
}
.step-box dl > * {
  font-weight: bold;
}
.step-box dl {
  background-color: #fff;
  border-radius: 16px;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  overflow: hidden;
}
.step-box dt {
  color: #fff;
  display: flex;
  align-items: center;
  height: auto;
  justify-content: center;
  width: 20%;
}
.step-box dl:first-of-type {
  margin-bottom: 10px;
}
.step-box dl:last-of-type {
  margin-bottom: 30px;
}
.step-box dl:first-of-type dt {
  background-color: #008fff;
}
.step-box dl:last-of-type dt {
  background-color: #266bd9;
}
.step-box dd {
  line-height: 1.75rem;
  padding: 10px;
  width: 80%;
}
.step-box .msg {
  font-weight: bold;
  line-height: 2.125rem;
}
.step-box .msg span {
  font-weight: 900;
}
@media screen and (min-width: 768px) {
  .step-wrap .inner {
    max-width: 1024px;
  }
  .step-wrap h2 {
    margin-bottom: 40px;
  }
  .step-wrap h2 .lg {
    font-size: 4rem;
    letter-spacing: -7px;
    display: inline-block;
    margin-left: -7px;
  }
  .step-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 40px;
  }
  .step-contents {
    width: 54%;
  }
  .step-box dl {
    max-width: 556px;
  }
  .step-item {
    width: 37%;
  }
  .step-wrap .link-item-one {
    margin: 0 auto;
  }
}
@media screen and (max-width: 767px) {
  .step-wrap h2 .lg {
    font-size: 3rem;
    letter-spacing: -7px;
    display: inline-block;
    margin-left: -7px;
  }
  .step-wrap h2.f28 {
    font-size: 1.5rem;
  }
  .step-wrap h2 .f48 {
    font-size: 2rem;
    letter-spacing: -1px;
    margin-bottom: 30px;
    line-height: 1.4em;
  }
  .step-box .msg {
    line-height: 1.6;
    margin-bottom: 20px;
  }
  .step-item {
    margin-bottom: 30px;
  }
}
/* anniversary */
.anniversary-wrap {
  background-color: #e0f2ff;
  padding: 60px 0;
}
.anniversary-wrap h2 {
  font-weight: bold;
  text-align: center;
}
.anniversary-wrap h2 .block {
  display: block;
  line-height: 3.75rem;
}
.anniversary-wrap .msg {
  font-weight: bold;
  line-height: 2.15rem;
  margin-bottom: 100px;
  text-align: center;
}
.anniversary-wrap .after {
  background-color: #fff;
  border-radius: 16px;
}
.anniversary-wrap .after dt {
  font-weight: bold;
}
.anniversary-wrap .after dd {
  line-height: 1.5rem;
}
.anniversary-wrap .after p {
  text-align: center;
}
.anniversary-wrap .after .price {
  display: block;
  margin-bottom: 10px;
}

/*  */
.anniversary-wrap .plan-box {
  background-color: #fff;
  border-radius: 16px;
}
.anniversary-wrap .bg2 {
  background-color: #eff8ff;
}
.anniversary-wrap .option {
  border-bottom-left-radius: 16px;
  border-bottom-right-radius: 16px;
}

.plan-box .heading {
  font-weight: bold;
  padding: 20px 0 26px;
}
.plan-box .heading {
  text-align: center;
}
.plan-box .sub {
  display: inline-block;
  font-size: 0.8rem;
  margin-bottom: 15px;
  padding: 4px 10px;
}
.plan-box .block {
  display: block;
  line-height: 1.4;
}
.plan-box .check {
  font-weight: bold;
  padding: 24px 0 24px 35px;
}
.plan-box .check span {
  background: url("../images/toppage/check_icon.svg") no-repeat left center / 25px
    25px;
  padding-left: 30px;
}
.plan-box .price {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 30px 0 30px 70px;
}
.plan-box .detail {
  display: inline-block;
  padding-left: 15px;
  margin-bottom: 8px;
}
.plan-box .price .fb {
  font-weight: bold;
}
.plan-box .subcgl {
  font-weight: bold;
  padding-left: 26%;
  width: 100%;
}
.plan-box .radius {
  border: 1px solid #3c4a60;
  border-radius: 13px;
  font-weight: bold;
  padding: 2px 10px;
}
.plan-box .option {
  padding: 40px 0 10px;
}
.plan-box .option dl {
  text-align: center;
}
.plan-box .option dt {
  font-weight: bold;
  margin-bottom: 15px;
}
.plan-box .option dd {
  font-weight: 500;
  line-height: 1.6;
}
.plan-box .sub {
  background-color: #008fff;
  border-radius: 13px;
}
.stundard-plan {
  position: relative;
}
.stundard-plan .heading {
  background-color: #4bb0ff;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
}
.stundard-plan::before {
  content: "";
  display: block;
  background: url("../images/toppage/point_icon.svg") no-repeat left top / 100%
    auto;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .anniversary-wrap .inner {
    margin: 0 auto;
    
  }
  .anniversary-wrap h2 .block {
    white-space: nowrap;
    letter-spacing: -1px;
    margin-bottom: 30px;
  }
  .plan-box {
    width: 48%;
  }
  .anniversary-wrap .plans {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    /* align-items: flex-end; */
    margin-bottom: 20px;
  }
  .stundard-plan::before {
    left: 15px;
    top: -50px;
    height: 100px;
    width: 100px;
  }
  /* .anniversary-wrap .plans img {
    max-width: 464px;
    width: 48%;
  } */
  .anniversary-wrap .after {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    padding: 4% 6%;
  }
  .anniversary-wrap .after dl {
    width: 80%;
  }
  .anniversary-wrap .after dt {
    margin-bottom: 14px;
  }
  .anniversary-wrap .after p {
    width: 19%;
  }
}
@media screen and (max-width: 767px) {
  .anniversary-wrap h2 .f48 {
    font-size: 2rem;
    margin-bottom: 30px;
    line-height: 1.4em;
  }
  .anniversary-wrap .msg.f18 {
    font-size: 1rem;
    text-align: left;
    margin-bottom: 40px;
  }
  .anniversary-wrap .plan-box:first-of-type {
    margin-bottom: 40px;
  }
  .anniversary-wrap .plans {
    overflow-x: auto;
    white-space: nowrap;
    padding-top: 30px;
  }
  .plan-box .heading {
    font-size: 1.5rem;
  }
  .anniversary-wrap .plan-box {
    display: inline-block;
    margin-right: 20px;
    width: 85%;
  }
  .stundard-plan::before {
    left: 7px;
    top: -25px;
    height: 60px;
    width: 60px;
  }
  .plan-box .price {
    padding-left: 11%;
  }
  .anniversary-wrap .after {
    padding: 15px;
  }
  .anniversary-wrap .after dt {
    margin-bottom: 20px;
  }
  .anniversary-wrap .after dd {
    margin-bottom: 30px;
  }
  .anniversary-wrap .after p {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
}
/* contact */
.contact-wrap {
  background: url("../images/toppage/bg_contact.png") no-repeat center top / cover;
  padding: 9% 0 8%;
}
.contact-wrap h2 {
  text-align: center;
  font-weight: bold;
  margin-bottom: 35px;
  letter-spacing: -2px;
}
.contact-wrap .msg {
  font-size: 1.5625rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 78px;
}
.contact-wrap .btns p {
  border-radius: 20px;
  text-align: center;
}
.contact-wrap .btnBlue {
  border-width: 2px;
}
.contact-wrap .block {
  display: block;
  letter-spacing: -2px;
  line-height: 0.5;
}
.contact-wrap .border-txt {
  padding: 0 12px;
}
.contact-wrap .border-txt::after,
.contact-wrap .border-txt::before {
  height: 30px;
  width: 2px;
  bottom: -3px;
}
@media screen and (min-width: 768px) {
  .contact-wrap .inner {
    margin: 0 auto;
    max-width: 800px;
  }
  .contact-wrap h2 {
    white-space: nowrap;
  }
  .contact-wrap .btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .contact-wrap .btns p {
    padding: 4.3% 0 4.5%;
    width: 48.5%;
  }
}
@media screen and (max-width: 767px) {
  .contact-wrap h2.f48 {
    font-size: 2.5rem;
  }
  .contact-wrap h2 .spwrap {
    white-space: nowrap;
  }
  .contact-wrap h2 .spblock {
    display: block;
  }
  .contact-wrap h2,
  .contact-wrap .msg {
    line-height: 1.4;
  }
  .contact-wrap .btns p {
    margin-bottom: 25px;
  }
  .contact-wrap .btns a {
    padding: 20px 0;
  }
  .contact-wrap .block.f36 {
    font-size: 2rem;
  }
  .contact-wrap .border-txt::after,
  .contact-wrap .border-txt::before {
    height: 20px;
  }
  .contact-wrap .msg {
    margin-bottom: 30px;
  }
}
/* voice */
.voice-wrap {
  background-color: #f4f7fa;
  background-color: #CAE9F0;
  padding: 9% 0 5%;
}
.voice-wrap h2 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.voice-wrap h2 .block {
  display: block;
  margin-bottom: 15px;
}
.voice-wrap h2 .Rubik {
  background: url("../images/toppage/sub_ttl_icon.png") no-repeat left center /
    16px 16px;
  display: inline-block;
  font-weight: 500;
  padding-left: 20px;
}
.voice-wrap ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 64px;
}
.voice-wrap li {
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
.voice-wrap .data-box {
  padding: 20px;
}
.voice-wrap .date {
  font-weight: 500;
  margin-bottom: 10px;
}
.voice-wrap .title {
  font-weight: bold;
  margin-bottom: 15px;
}
.voice-wrap .txt {
  font-size: 0.8125rem;
  font-weight: 500;
  margin-bottom: 15px;
}
.voice-wrap .title,
.voice-wrap .txt {
  line-height: 1.4;
}
.voice-wrap .cat a {
  background-color: #e3e3e3;
  border-radius: 999px;
  display: inline-block;
  padding: 10px;
}
.voice-wrap .btnBlue {
  background-image: url("../images/toppage/arrow_wh.png");
}
.voice-wrap .btnBlue a {
  padding: 18px;
}
@media screen and (min-width: 768px) {
  .voice-wrap ul li {
    width: 23%;
  }
  .voice-wrap .btnBlue {
    background-position: 190px center;
    background-repeat: no-repeat;
    background-size: 21px 6px;
    margin: 0 auto;
    width: 230px;
  }
}
@media screen and (max-width: 767px) {
  .voice-wrap {
    padding-bottom: 60px;
  }
  .voice-wrap li {
    margin-bottom: 25px;
    width: 48%;
  }
  .voice-wrap .data-box {
    padding: 4%;
  }
  .voice-wrap .title,
  .voice-wrap .txt {
    line-height: 1.4;
  }
  .voice-wrap .btnBlue {
    background-position: 96% center;
    background-repeat: no-repeat;
    background-size: 21px 6px;
    margin: 0 auto;
  }
  .voice-wrap ul {
    margin-bottom: 20px;
  }
}
/* faq */
.faq-wrap {
  background-color: #edece7;
  background-color: #CAE9F0;
  padding: 9% 0 8%;
}
.faq-wrap h2 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.faq-wrap h2 .block {
  display: block;
  margin-bottom: 15px;
}
.faq-wrap h2 .Rubik {
  background: url("../images/toppage/sub_ttl_icon.png") no-repeat left center /
    16px 16px;
  display: inline-block;
  font-weight: 500;
  padding-left: 20px;
}
.faq-wrap .faq-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}
.faq-box dl {
  margin-bottom: 20px;
}
.faq-box dt,
.faq-box dd {
  padding: 4%;
}
.faq-box dt {
  background-color: #fff;
  border-radius: 8px;
  display: flex;
  font-weight: bold;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  cursor: pointer;
}
.faq-box dt .circle {
  position: relative;
  background-color: rgba(0, 143, 255, 0.24);
  border-radius: 50%;
  height: 42px;
  width: 42px;
}
.faq-box dt .circle::before,
.faq-box dt .circle::after {
  content: "";
  background-color: #008fff;
  display: block;
  position: absolute;
  top: 20px;
  left: 11px;
  height: 2px;
  width: 20px;
}
.faq-box dt .circle::before {
  transform: rotate(90deg);
}
.faq-box dt.open .circle::before {
  transform: rotate(0deg);
}
.faq-box dd {
  background-color: #c2e4ff;
  border-radius: 8px;
  display: flex;
  font-weight: 500;
  flex-wrap: wrap;
  align-items: center;
}
.faq-box dt .cwh,
.faq-box dd .cwh {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.faq-box dt .cwh {
  background-color: #899ea5;
}
.faq-box dd .cwh {
  background-color: #008fff;
}
.faq-box dt .txt,
.faq-box dd .txt {
  line-height: 1.4;
  padding: 0 4%;
}
.faq-wrap .btnBlue {
  background-image: url("../images/toppage/arrow_wh.png");
}
.faq-wrap .btnBlue a {
  padding: 18px;
}
@media screen and (min-width: 768px) {
  .faq-wrap .inner {
    max-width: 990px;
  }
  .faq-box dl {
    width: 48%;
  }
  .faq-box dt .cwh,
  .faq-box dd .cwh {
    height: 42px;
    width: 42px;
  }
  .faq-box dt .txt,
  .faq-box dd .txt {
    width: calc(100% - 84px);
  }
  .faq-wrap .btnBlue {
    background-position: 190px center;
    background-repeat: no-repeat;
    background-size: 21px 6px;
    margin: 0 auto;
    width: 230px;
  }
}
@media screen and (max-width: 767px) {
  .faq-box dl {
    width: 100%;
  }
  .faq-box dt .circle {
    height: 30px;
    width: 30px;
    margin: 0 0 0 auto;
  }
  .faq-box dt .cwh,
  .faq-box dd .cwh {
    height: 30px;
    width: 30px;
    padding-bottom: 3px;
  }
  .faq-box dt .circle::before,
  .faq-box dt .circle::after {
    top: 14px;
    left: 8px;
    width: 15px;
  }
  .faq-box dt .txt,
  .faq-box dd .txt {
    width: 80%;
  }
  .faq-wrap .btnBlue {
    background-position: 96% center;
    background-repeat: no-repeat;
    background-size: 21px 6px;
    margin: 0 auto;
  }
}
/* webinar */
.webinar-wrap {
  background-color: #f4f7fa;
}
/* blog */
.blog-wrap {
  background-color: #edece7;
}
/* webinar blog */

.webinar-wrap h2,
.blog-wrap h2 {
  font-weight: bold;
}
.webinar-wrap .head-flex,
.blog-wrap .head-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 25px;
}
.webinar-wrap .btnBlue,
.blog-wrap .btnBlue {
  background-image: url("../images/toppage/arrow_wh.png");
}

.webinar-wrap .title,
.blog-wrap .title {
  font-weight: bold;
}
.webinar-box,
.blog-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.webinar-box li,
.blog-box li {
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 3px 3px 0 0 rgba(0, 0, 0, 0.15);
  display: flex;
  flex-wrap: wrap;
  overflow: hidden;
}
.webinar-box .pic,
.blog-box .pic {
  width: 46%;
}
.webinar-box .pic a,
.blog-box .pic a {
  height: 100%;
}
.webinar-box .pic img,
.blog-box .pic img {
  object-fit: cover;
  height: 100%;
}
.webinar-box .post-pack,
.blog-box .post-pack {
  padding: 4%;
  width: 54%;
}
.post-pack .title {
  margin-bottom: 18px;
  line-height: 1.6;
}
.post-pack .txt {
  margin-bottom: 16px;
  line-height: 1.6;
}
.post-pack .cat-date {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.post-pack .cat a {
  background-color: #e3e3e3;
  border-radius: 999px;
  display: inline-block;
  font-weight: bold;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .webinar-wrap,
  .blog-wrap {
    padding: 6% 0 6%;
  }
  .webinar-wrap .btnBlue a,
  .blog-wrap .btnBlue a {
    padding: 18px;
  }
  .webinar-wrap .btnBlue,
  .blog-wrap .btnBlue {
    background-position: 190px center;
    background-repeat: no-repeat;
    background-size: 21px 6px;
    width: 230px;
  }
  .webinar-box li,
  .blog-box li {
    max-width: 586px;
    width: 48%;
  }
}
@media screen and (max-width: 767px) {
  .webinar-wrap .btnBlue,
  .blog-wrap .btnBlue {
    background-position: 96% center;
    background-repeat: no-repeat;
    background-size: 21px 6px;
  }
  .webinar-wrap .head-flex,
  .blog-wrap .head-flex {
    align-items: center;
  }
  .webinar-wrap,
  .blog-wrap {
    padding: 60px 0;
  }
  .webinar-wrap .btnBlue a,
  .blog-wrap .btnBlue a {
    padding: 12px 33px;
  }
  .webinar-box li,
  .blog-box li {
    margin-bottom: 25px;
  }
  .webinar-box .post-pack .title,
  .blog-box .post-pack .title,
  .webinar-box .post-pack .txt,
  .blog-box .post-pack .txt {
    line-height: 1.4;
  }
  .post-pack .cat {
    margin-bottom: 10px;
  }
  .webinar-wrap .head-flex,
  .blog-wrap .head-flex {
    margin-bottom: 40px;
  }
}
/* footer */
#footer {
  background-color: #3c4a60;
  padding: 5% 0 3.5%;
}
.foot-logo {
  margin-bottom: 52px;
}
#footer .logo {
  margin-bottom: 3px;
  width: 221px;
}
.foot-data .name {
  margin-bottom: 11px;
}
.foot-data .address {
  margin-bottom: 28px;
}
.foot-nav-more small {
  display: block;
  text-align: right;
  letter-spacing: 1px;
}
@media screen and (min-width: 768px) {
  #footer .inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1024px;
  }
  .foot-data {
    padding-left: 2.3%;
  }
  .foot-nav-more {
    padding-right: 2%;
    padding-top: 60px;
    width: 48%;
  }
  .foot-nav-more ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 32px auto;
    max-width: 401px;
  }
  .foot-nav-more .btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 0 0 auto;
    width: 352px;
  }
  .foot-nav-more .btns p {
    border-radius: 999px;
    text-align: center;
  }
  .foot-nav-more .btns a {
    padding: 10px 0;
  }
  .foot-nav-more .btnBlue {
    border: none;
    width: 176px;
  }
  .foot-nav-more .btnYellow {
    width: 160px;
  }
  .foot-nav-more .btns {
    margin-bottom: 35px;
  }
}
@media screen and (max-width: 767px) {
  #footer {
    padding-bottom: 86px;
  }
  .foot-data {
    width: 100%;
  }
}

/* modal */
@media screen and (max-width: 767px) {
  .modal-back {
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.6);
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0;
    visibility: hidden;
    z-index: 100;
  }
  .modal {
    border-radius: 8px;
    margin-bottom: 20px;
    padding: 25px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 80%;
  }
  .modal dt {
    border-left: 5px solid rgba(255, 255, 255, 0.4);
    font-weight: bold;
    margin-bottom: 15px;
    padding-left: 10px;
  }
  .modal dd {
    line-height: 1.4;
  }
  .modal01,
  .modal03,
  .modal05 {
    background-color: #008fff;
    transition: opacity 0.3s;
    opacity: 0;
    visibility: hidden;
  }
  .modal02,
  .modal04 {
    background-color: #266bd9;
    transition: opacity 0.3s;
    opacity: 0;
    visibility: hidden;
  }
  /* close */
  .close {
    width: 25px;
    height: 25px;
    position: absolute;
    top: 10%;
    right: 5%;
    cursor: pointer;
  }
  .close__line {
    width: 4px;
    height: 25px;
    background-color: #fff;
    border-radius: 2px;
  }
  .close__line001 {
    display: inline-block;
    transform: rotate(45deg);
  }
  .close__line002 {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    transform: rotate(-45deg);
  }
  /* modal-back */
  .modal-back.open {
    opacity: 1;
    visibility: inherit;
  }
  .modal01.open,
  .modal02.open,
  .modal03.open,
  .modal04.open,
  .modal05.open {
    opacity: 1;
    visibility: inherit;
  }
  body.open {
    height: 100vh;
    overflow-y: hidden;
  }
}

/* second */
.second h1,
.single h1,
.custom-post h1 {
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.second h1 .block,
.custom-post h1 .block {
  display: block;
  margin-bottom: 15px;
}
.second h1 .Rubik,
.single h1 .Rubik,
.custom-post h1 .Rubik {
  background: url("../images/toppage/sub_ttl_icon.png") no-repeat left center / 16px
    16px;
  display: inline-block;
  font-weight: 500;
  padding-left: 20px;
}
.single h1 {
  line-height: 1.4;
}
.single h1 .block {
  margin-bottom: 0;
}
.post-list li {
  margin-bottom: 30px;
}
/* blead */
.bleadNav ol {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.bleadNav a {
  color: #008fff;
  font-weight: 500;
  position: relative;
}
.bleadNav a::after {
  color: #3c4a60;
  content: "＞";
  display: inline-block;
  padding-left: 10px;
}
.bleadNav li {
  color: #3c4a60;
  font-weight: 500;
}
.bleadNav li {
  background: none;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}
/* pagination */
.pagination {
  text-align: center;
}
.pagination a,
.pagination span {
  display: inline-block;
  margin: 8px 0;
  text-decoration: none;
  border-radius: 100%;
  width: 42px;
  height: 42px;
  padding: 14px 0;
  box-sizing: border-box;
  color: #333;
  font-weight: bold;
  line-height: 1;
}
.pagination a:hover {
  opacity: 0.7;
}
.pagination .current {
  background: #008fff;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .bleadNav {
    background-color:#f5f5f5;
    border-radius: 5px;
    max-width: 1200px;
    margin: 0 auto 50px;
    width: 100%;
    padding: 10px;
  }
  .second .inner {
    max-width: 1200px;
  }
  .pagination {
    margin: 0 auto;
    max-width: 800px;
  }
  .pagination ul {
    width: 100%;
  }
  .faq-wrap .bleadNav {
    max-width: 1200px;
  }
  .custom-post .post-list {
    justify-content: flex-start;
    gap: 2.5%;
  }
}
@media screen and (max-width: 767px) {
	.second  .header {
    	background-color: rgba(38, 107, 217, 0.6);
		position: relative;
    }
  .second .inner,
  .bleadNav {
    padding: 0 3%;
    width: 100%;
  }
  .bleadNav {
    padding-top: 10px;
    margin-bottom: 30px;
  }
  .bleadNav ol {
    flex-wrap: nowrap;
    white-space: nowrap;
    overflow-x: auto;
	  overflow-y: hidden;
  }
  .bleadNav li {
    width: auto;
  }
}
/* single */
.post-single {
  background-color: #fff;
  border-radius: 16px;
  padding-bottom: 40px;
}
.post-single .date-box {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 20px 3%;
}
.post-single .pic {
  margin-bottom: 50px;
}
.post-single .txtcontents {
  line-height: 2;
  padding: 3% 6%;
}
.post-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.post-links p {
  border-radius: 30px;
}
.post-links .prev {
  background-image: url("../images/toppage/arrow_wh_rev.png");
  background-position: 10% center;
}
.post-links .next {
  background-position: 90% center;
}

.check-icon{

}
.check-icon svg{
  position: relative;
  z-index: 1;
}
.check-icon:before{
  content: "";
  background: #009cff;
  border-radius: 50%;
  display: block;
  position: absolute;
  left: -50%;
  top: -50%;
  z-index: 0;
  width: 200%;
  height: 200%;
  animation: scaleout 1s infinite ease-in-out;
}

@keyframes scaleout {
  0% {
    transform: scale(0.6);
    -webkit-transform: scale(0.6);
  }
  100% {
    transform: scale(1);
    -webkit-transform: scale(1);
    opacity: 0;
  }
}


.blog h2{
  margin-bottom:20px;
  margin-top:40px;
  font-size: 20px;
  border-bottom: #ddd 1px solid;
  padding-bottom: 10px;
}

.blog h3{
  margin-bottom:20px;
  margin-top:40px;
  font-size: 18px;
  color:#2f94de;
}

.blog p{
  margin-top: 20px;
}
.blog strong{
  font-weight: bold;
  color:#2f94de;
}
.blog .cat a{
  background-color: #efefef;
  border-radius: 10px;
  display: inline-block;
  padding: 10px;
  color: #797979;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .single h1 .block {
    text-align: left;
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) {
  .post-single {
    margin: 0 auto 60px;
    max-width: 750px;
  }
  .post-links p {
    max-width: 150px;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
/*   .second,
  .custom-post {
    padding-top: 40px;
  } */
  .pagination a,
  .pagination span {
    padding: 6px;
    width: 31px;
    height: 31px;
  }
  .post-single {
    margin-bottom: 40px;
  }
  .post-single .pic {
    margin-bottom: 30px;
  }
  .post-links p {
    text-align: center;
    width: 35%;
  }
}

/* 20230215追記 */
.meiryo {
  font-family: "メイリオ", "Meiryo", sans-serif;
}
.overlook-wrap {
  background: url(../images/toppage/bg_hole.png) no-repeat left top / cover;
  background-color: #c6e8ff;
  padding: 60px 0;
  background-attachment: fixed;
}
.overlook-wrap h2 {
  font-weight: bold;
  margin-bottom: 30px;
  text-align: center;
  width: 100%;
}
.overlook-wrap .msg {
  font-weight: bold;
  line-height: 2.15rem;
  margin-bottom: 100px;
  text-align: center;
}
.before {
  background-color: rgba(132, 162, 203, 0.48);
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.after {
  background-color: #fff;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
}
.before::before,
.after::before {
  content: "";
  height: 13%;
  width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}
.before::after,
.after::after {
  content: "";
  position: absolute;
  top: 13%;
  left: 0;
  width: 100%;
  height: 13%;
}
.before::before {
  background-color: #8aa2c7;
}
.before::after {
  background: linear-gradient(
          to top right,
          rgba(255, 255, 255, 0) 50%,
          #8aa2c7 50.5%
  )
  no-repeat top left/50% 100%,
  linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #8aa2c7 50.5%)
  no-repeat top right/50% 100%;
}
.overlook-wrap .after::before {
  background-color: #008fff;
}
.overlook-wrap .after::after {
  background: linear-gradient(
          to top right,
          rgba(255, 255, 255, 0) 50%,
          #008fff 50.5%
  )
  no-repeat top left/50% 100%,
  linear-gradient(to top left, rgba(255, 255, 255, 0) 50%, #008fff 50.5%)
  no-repeat top right/50% 100%;
}
.in-contents {
  position: relative;
  z-index: 1;
}
.bg-area-before,
.bg-area-after {
  position: relative;
}
.bg-area-before::before,
.bg-area-before::after,
.bg-area-after::before {
  content: "";
  display: block;
  position: absolute;
}

.bg-area-after .img{
  width: 400px;
  position: absolute;
  right:0 ;
  bottom: -113px;
}
.bg-area-before .img{
  width: 244px;
  position: absolute;
  right:0 ;
  bottom: -113px;
}
.bg-area-before::after {
  z-index: 2;
}
/*
.bg-area-before::before {
  background: url(../images/toppage/up_icon01.png) no-repeat right bottom / 100%
  auto;
  height: 130px;
  width: 69px;
  right: 20%;
  bottom: -40px;
  z-index: 2;
}

.bg-area-after::before {
  background: url(../images/toppage/up_icon02.png) no-repeat right top / 100% auto;
  height: 120px;
  width: 181px;
  right: 0;
  top: -12%;
  z-index: 2;
}

 */
.before h3,
.after h3 {
  font-weight: bold;
  text-align: center;
  line-height: 1.4;
  margin-bottom: 31px;
}
.after h3 {
  margin-bottom: 0;
}
.before-mail-box {
  background-color: #f4f4f4;
  border-radius: 8px;
  box-shadow: 8px 8px 24px 0px rgba(97, 147, 203, 0.5);
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.before-mail-box .avater {
  width: 16%;
}
.before-mail-box .mail-detail {
  width: 79.3%;
  text-align: left;
  font-weight: normal;
}
.mail-detail .mail-to {
  color: #899ea5;
  word-break: break-all;
  margin-bottom: 16px;
}
.mail-detail li {
  margin-bottom: 8px;
  line-height: 1.4;
}
.overlook-wrap .maintit,
.user-voice-wrap .maintit {
  display: block;
  line-height: 1.4;
  position: relative;
  overflow: hidden;
}
/* user-voice */
.user-voice-wrap {
  background: url(../images/toppage/bg_voice.png) no-repeat left top / cover;
  background-color: #f4f7fa;
  padding: 60px 0;
  background-attachment: fixed;
}
.user-voice-wrap h2 {
  font-weight: bold;
  margin-bottom: 30px;
  text-align: center;
  width: 100%;
}
.voice-review li:not(:last-of-type) {
  margin-bottom: 20px;
}
.voice-review .bubble {
  background-color: #008fff;
  border-radius: 16px;
  display: inline-block;
  position: relative;
  transform: translateY(30px);
}
.voice-review .bubble::after {
  content: "";
  display: block;
  background: url(../images/toppage/bubble_arrow.png) no-repeat center bottom /
    100% auto;
  height: 37px;
  width: 33px;
  position: absolute;
  bottom: -20px;
  left: 40%;
}
.voice-review .bubble .sample {
  background-color: #fff;
  border-bottom-right-radius: 16px;
  border-top-left-radius: 16px;
  display: inline-block;
  font-weight: bold;
}
.voice-review .bubble .bubble-up {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
}
.voice-review .bubble .txt {
  font-weight: bold;
  line-height: 2;
  margin-right: 20px;
}
.voice-review .bubble .txt span {
  border-bottom: 1px dashed #fff;
}
.voice-review .num .sizel {
  position: relative;
}
.voice-review .num .sizel::after {
  content: "";
  display: block;
  background: url(../images/toppage/voice_star.png) no-repeat right top / 100% auto;
  height: 22px;
  width: 20px;
  position: absolute;
  right: -10px;
  top: 20px;
}
.voice-review .user {
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 8px 8px 24px 0 rgba(97, 147, 203, 0.5);
}

.voice-review .user-name {
  border-left: 5px solid rgba(0, 143, 255, 0.4);
  padding: 5px 0 5px 10px;
  margin-bottom: 20px;
}
.voice-review .user-name p:not(:last-of-type) {
  margin-bottom: 7px;
  line-height: 1.4;
}
.voice-review .user-name p:last-of-type {
  color: #899ea5;
}
.voice-review .user-msg {
  line-height: 1.6;
}

.btnBlue{
  position: relative;
}
#header .btnBlue:after,
.key .btnBlue:after,
.contact-wrap .btnBlue:after,
#footer .btnBlue:after
{
  display: inline-block;
  content: "サンプルレポート付！";
  position: absolute;
  right: -13px;
  font-weight: bold;
  bottom: -11px;
  color: #fff;
  font-size: 9px;
  padding: 5px;
  line-height: 1em;
  border-radius: 20px;
  background-color: #d23e4e;
  transform: rotate(-7deg);
}

#header .sp .btnBlue:after
{
  content: "見本レポート付";
  width: 100%;
  right: 0px;
  bottom: 0px;
  color: #fff;
  border-radius: 0px;
  padding: 3px 0;
  text-align: center;
  transform: rotate(0deg);
  font-weight: normal;
}

.feature-list{

}
.feature-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
}
.feature-list .item{
  background-color: #fff;
  border-radius: 20px;
  width: 30%;
  position: relative;

}
.feature-list .item .ttl{
  padding: 20px;
  border-radius: 20px 20px 0px 0px;
  text-align: center;
  font-weight: bold;
  color: #fff;
  font-size: 20px;
  line-height: 1.5em;
  background-color: #4bb0ff;
}
.feature-list .item .txt{
  padding: 20px 20px 80px;
  line-height: 1.5em;
  font-weight: bold;
}
.feature-list .item .img{
  position: absolute;
  bottom:-50px;
  right:10px;
  width: auto;
}

.marker {
  font-weight: bold;
  color: #0f81dc;
  background: linear-gradient(transparent 60%, #ffff66 60%);
}
@media screen and (min-width: 768px) {
  .overlook-wrap,
  .user-voice-wrap {
    padding-top: 160px;

  }
  .before-after {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .before-mail-box {
    padding: 30px 20px 43px;
  }
  .bg-area-before {
    width: 41.7%;
  }
  .bg-area-before::after {
    background: url(../images/toppage/arrow.png) no-repeat right center / 100%
    auto;
    height: 42px;
    width: 83px;
    right: -15%;
    top: 50%;
    transform: translateY(-50%);
  }
  .before {
    padding: 27px 61px 51px;
  }
  .bg-area-after {
    width: 53.4%;
  }
  .after {
    padding: 27px 20px 30px;
  }
  .voice-review .user {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 90%;
    margin: 0 0 0 auto;
  }
  .voice-review .user .thumb {
    width: 19%;
  }
  .voice-review .user .user-data {
    width: 75%;
  }
  .user-voice-wrap .inner {
    padding: 0 100px;
  }
  .voice-review .bubble .sample {
    padding: 10px 40px;
    margin-bottom: 10px;
  }
  .voice-review .bubble-up {
    padding: 0 57px 30px;
  }
  .voice-review .num .sizel {
    font-size: 7.5rem;
  }
  .voice-review .num .sizes {
    font-size: 2.5rem;
  }
  .voice-review .num .sizem {
    font-size: 4.5rem;
  }
  .voice-review .user {
    padding: 60px 50px 50px;
  }
}
@media screen and (max-width: 767px) {
  .overlook-wrap {
    padding-bottom: 100px;
    padding-top: 120px;
  }
  .overlook-wrap .msg {
    margin-bottom: 50px;
    font-size: 1rem;
    text-align: left;
  }
  .bg-area-before {
    margin: 0 3% 80px;
  }
  .before {
    padding: 27px 4% 51px;
  }
  .before-mail-box {
    padding: 30px 20px 43px;
  }
  .bg-area-before::before {
    height: 140px;
    width: 70px;
    right: 5%;
    bottom: -5%;
  }
  .bg-area-before::after {
    background: url(../images/toppage/arrow_bottom.png) no-repeat right center /
      100% auto;
    height: 83px;
    width: 42px;
    right: auto;
    left: 50%;
    bottom: -60px;
    transform: translateX(-50%);
  }
  .bg-area-after {
    margin: 0 3%;
  }
  .after {
    padding: 27px 0 30px;
  }
  .bg-area-after h3 .f32 {
    font-size: 1.5rem;
  }
  .after::before {
    height: 20%;
  }
  .after::after {
    top: 20%;
    height: 20%;
  }
  .bg-area-after::before {
    height: 100px;
    width: 160px;
    right: 0;
    top: auto;
    bottom: -18%;
  }
  .voice-review .bubble .sample {
    padding: 10px 40px;
    margin-bottom: 10px;
    font-size: 1rem;
  }
  .voice-review .bubble-up {
    padding: 0 10px 30px;
  }
  .voice-review .bubble .txt .f32 {
    font-size: 1.5rem;
  }
  .voice-review .num {
    letter-spacing: 0.2rem;
  }
  .voice-review .num .sizel {
    font-size: 4rem;
  }
  .voice-review .num .sizes {
    font-size: 1.5rem;
  }
  .voice-review .num .sizem {
    font-size: 2.5rem;
  }
  .voice-review .user {
    padding: 60px 20px 50px;
  }
  .voice-review .bubble .txt {
    margin-right: 10px;
    line-height: 1.4;
  }
  .voice-review .num .sizel::after {
    right: -20px;
    top: 10px;
  }
  .voice-review .user .thumb {
    margin: 0 auto 20px;
    max-width: 290px;
    width:40%;
  }
  .voice-review .user .user-data {
    width: 100%;
  }
  .voice-review .user-name .f22 {
    font-size: 1.25rem;
  }
  .overlook-wrap .f48,
  .user-voice-wrap .maintit {
    font-size: 2rem;
    line-height: 1.4;
  }
  .overlook-wrap .f28,
  .user-voice-wrap .f28 {
    font-size: 1.5rem;
    line-height: 1.4;
  }
  .user-voice-wrap .maintit {
    display: block;
  }

  .report-wrap h2 {
    font-size: 2rem;
    line-height: 1.4em;
  }

}

.main-visual{
  margin-bottom: -14vw;
}

.main-copy{
  color: #fff;
  font-weight: bold;
  font-size: 3vw;
}
.main-visual h1.main-img {
  margin-top: 40px;
  width: 32vw;

}

.main-copy span{
  display: inline-block;

  font-size: 4vw;
  transform: rotate(-7deg);

}
.main-copy .zaku1{
  animation: purupuru_anim 1s infinite alternate;
}
.main-copy .zaku2{
  animation: purupuru_anim 1s ease .5s infinite alternate;
}
.main-visual .icon-1{
  position: absolute;
  right: 8vw;
  top: 6vw;
  width: 13vw;
  max-width: 200px;
}
@keyframes purupuru_anim {
  0% {	transform: translate(0, 0) scale(1) rotate(-7deg);}
  5% {	transform: translate(-5px, -0);}
  10% {	transform: translate(5px, 0);}
  15% {	transform: translate(-5px, -0) scale(1.5);}
  20% {	transform: translate(5px, 0);}
  25% {	transform: translate(-5px, -0) rotate(-7deg);}
  30% {	transform: translate(0, 0) scale(1);}
  100% {	transform: translate(0, 0);}
}

.main-visual .icon-2{
  position: absolute;
  left: 8vw;
  bottom: 6vw;
  width: 13vw;
  max-width: 200px;
}
.key-v2{
  padding-top: 8vw;
}
#customer{}
#customer .ttl{
  background-color: #216BD7;
  color: #fff;
  text-align: center;
  padding-top: 70px;
  padding-bottom: 30px;
  font-weight: bold;
  font-size: 18px;
}
.swiper-item{
  max-width: 100px;
  margin: 0 auto;
  height: 60px;
}
.swiper-item img{
  width: 100%;
  height: 100%;
  object-fit: contain;
}
/* スライドの動き等速 */

.scroll-area{
  max-width: 1300px;
  margin: 0 auto;
  padding: 20px 0;
}

.swiper-wrapper {
  transition-timing-function: linear;
}

.checker{
  padding-top: 80px;
}

.feature{
  padding-top: 0px;
  padding-bottom: 160px;
}

@media screen and (min-width: 1400px) {
  .main-visual .icon-1{
    right: 4vw;
    top: 7vw;
  }

  .main-visual .icon-2{
    left: 4vw;
    bottom: 3vw;
  }
}

.report-style{
  width:400px;
  border: 20px solid #fff;
  border-radius: 20px;
  box-shadow: 0px 5px 15px 0px rgba(65, 106, 166, 0.26);
}
@media screen and (max-width: 767px) {
  .swiper-item {
    padding: 0 10px;
  }


  #customer .ttl {

    padding-top: 116px;
  }

  .main-visual h1.main-img {
    margin-top: 40px;
    width: 80vw;
  }
  .main-copy {
    color: #fff;
    font-weight: bold;
    font-size: 11vw;
    text-align: center;
    line-height: 1.8em;

  }
  .main-copy span {
    display: inline-block;
    font-size: 16vw;
    transform: rotate(-7deg);
  }

  .main-visual .icon-1 {
    top: 62vw;
    width: 28vw;
  }
  .main-visual .icon-2 {
    width: 28vw;
  }
  .main-copy {
    z-index: 2;
    position: relative;
  }

  .main-visual h1.main-img {
    z-index: 2;
    position: relative;
  }

  .overlook-wrap .maintit, .user-voice-wrap .maintit {
    font-size: 30px;
  }

  .bg-area-before .img {
    width: 187px;
    position: absolute;
    right: -14px;
    bottom: -27px;
    z-index: 3;
  }
  .bg-area-after .img {
    width: 306px;
    position: absolute;
    right: 0;
    bottom: -83px;
  }

  .feature-list .item {
    margin-bottom: 40px;
    width: 100%;

  }
  .report-style {
    width: 100%;
    margin-bottom: 40px;
  }

}

.td-wrap{
  margin: 20px;
text-align: center;
}
.td-wrap h1{
  font-weight: bold;
  font-size: 18px;
  margin-top: 20px;
  line-height: 1.5em;
}
.td-wrap p{
  margin-top: 20px;
  line-height: 1.5em;
}
.td-wrap iframe{
  margin-top: 20px;
  max-width: 500px;
}
.td-wrap
.logo{
  text-align: center;
}
.td-wrap
.logo img{

  max-width: 80px;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .td-wrap{
    margin: 20px;
    text-align: left;
  }
}