@charset "UTF-8";
/*
------------------------------------------------------------
------------------------------------------------------------
common
------------------------------------------------------------
------------------------------------------------------------*/
html {
  scroll-behavior: smooth; }

body {
  position: relative;
  font-size: 18px;
  line-height: 2em;
  color: #323232;
  background-color: #fff; }
  @media (max-width: 1200px) {
    body {
      font-size: 17px; } }
  @media (max-width: 768px) {
    body {
      font-size: 16px; } }

body, input, textarea, button, .button, .faux-button, .wp-block-button__link, .wp-block-file__button, .has-drop-cap:not(:focus)::first-letter, .entry-content .wp-block-archives, .entry-content .wp-block-categories, .entry-content .wp-block-cover-image, .entry-content .wp-block-latest-comments, .entry-content .wp-block-latest-posts, .entry-content .wp-block-pullquote, .entry-content .wp-block-quote.is-large, .entry-content .wp-block-quote.is-style-large, .entry-content .wp-block-archives *, .entry-content .wp-block-categories *, .entry-content .wp-block-latest-posts *, .entry-content .wp-block-latest-comments *, .entry-content p, .entry-content ol, .entry-content ul, .entry-content dl, .entry-content dt, .entry-content cite, .entry-content figcaption, .entry-content .wp-caption-text, .comment-content p, .comment-content ol, .comment-content ul, .comment-content dl, .comment-content dt, .comment-content cite, .comment-content figcaption, .comment-content .wp-caption-text, .widget_text p, .widget_text ol, .widget_text ul, .widget_text dl, .widget_text dt, .widget-content .rssSummary, .widget-content cite, .widget-content figcaption, .widget-content .wp-caption-text {
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif !important; }

a {
  color: #323232;
  text-decoration: none;
  -webkit-transition: all .3s;
  transition: all .3s; }

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

hr {
  width: 100%;
  max-width: 1200px !important;
  margin: 0 auto;
  border: none;
  border-top: 1px solid #dbdbdb; }
  @media (max-width: 768px) {
    hr {
      width: 90%;
      margin: 0 auto; } }

.PT10 {
  padding-top: 10px; }

.PT20 {
  padding-top: 20px; }

.PT30 {
  padding-top: 30px; }

.PT40 {
  padding-top: 40px; }

.PT50 {
  padding-top: 50px; }

.PT60 {
  padding-top: 60px; }

.PT70 {
  padding-top: 70px; }

.PT80 {
  padding-top: 80px; }

.PT90 {
  padding-top: 90px; }

.PT100 {
  padding-top: 100px; }

.PT110 {
  padding-top: 110px; }

.PT120 {
  padding-top: 120px; }

.MT10 {
  margin-top: 10px; }

.MT20 {
  margin-top: 20px; }

.MT30 {
  margin-top: 30px; }

.MT40 {
  margin-top: 40px; }

.MT50 {
  margin-top: 50px; }

.MT60 {
  margin-top: 60px; }

.MT70 {
  margin-top: 70px; }

.MT80 {
  margin-top: 80px; }

.MT90 {
  margin-top: 90px; }

.MT100 {
  margin-top: 100px; }

.MT110 {
  margin-top: 110px; }

.MT120 {
  margin-top: 120px; }

.PB10 {
  padding-bottom: 10px; }

.PB20 {
  padding-bottom: 20px; }

.PB30 {
  padding-bottom: 30px; }

.PB40 {
  padding-bottom: 40px; }

.PB50 {
  padding-bottom: 50px; }

.PB60 {
  padding-bottom: 60px; }

.PB70 {
  padding-bottom: 70px; }

.PB80 {
  padding-bottom: 80px; }

.PB90 {
  padding-bottom: 90px; }

.PB100 {
  padding-bottom: 100px; }

.PB110 {
  padding-bottom: 110px; }

.PB120 {
  padding-bottom: 120px; }

.MB10 {
  margin-bottom: 10px; }

.MB20 {
  margin-bottom: 20px; }

.MB30 {
  margin-bottom: 30px; }

.MB40 {
  margin-bottom: 40px; }

.MB50 {
  margin-bottom: 50px; }

.MB60 {
  margin-bottom: 60px; }

.MB70 {
  margin-bottom: 70px; }

.MB80 {
  margin-bottom: 80px; }

.MB90 {
  margin-bottom: 90px; }

.MB100 {
  margin-bottom: 100px; }

.MB110 {
  margin-bottom: 110px; }

.MB120 {
  margin-bottom: 120px; }

.indent1 {
  padding-left: 1em;
  text-indent: -1em; }

.indent2 {
  padding-left: 2em;
  text-indent: -2em; }

.indent3 {
  padding-left: 3em;
  text-indent: -3em; }

.indent4 {
  padding-left: 4em;
  text-indent: -4em; }

.indent5 {
  padding-left: 5em;
  text-indent: -5em; }

.indent6 {
  padding-left: 6em;
  text-indent: -6em; }

.indent7 {
  padding-left: 7em;
  text-indent: -7em; }

.indent8 {
  padding-left: 8em;
  text-indent: -8em; }

.indent9 {
  padding-left: 9em;
  text-indent: -9em; }

.indent10 {
  padding-left: 10em;
  text-indent: -10em; }

.indent1h {
  padding-left: 1.5em;
  text-indent: -1.5em; }

.indent {
  text-indent: 1em; }

/*
------------------------------------------------------------
------------------------------------------------------------
共通スタイル
------------------------------------------------------------
------------------------------------------------------------*/
.content {
  width: 100%;
  max-width: 1200px !important;
  margin: 0 auto; }
  @media (max-width: 768px) {
    .content {
      width: 90%;
      margin: 0 auto; } }

.content-wrap {
  padding-bottom: 160px; }
  @media (max-width: 768px) {
    .content-wrap {
      padding-bottom: 90px; } }

.main-color {
  color: #3c7076; }

.sub-color {
  color: #628fb5; }

.strong-color {
  color: #f05534; }

.bold {
  font-weight: bold; }

.base-size {
  font-size: 18px; }
  @media (max-width: 1200px) {
    .base-size {
      font-size: 17px; } }
  @media (max-width: 768px) {
    .base-size {
      font-size: 16px; } }

.base-size-s {
  font-size: 16px; }
  @media (max-width: 1200px) {
    .base-size-s {
      font-size: 15px; } }
  @media (max-width: 768px) {
    .base-size-s {
      font-size: 14px; } }

.center {
  text-align: center; }

.center-pc {
  text-align: center; }
  @media (max-width: 768px) {
    .center-pc {
      text-align: left; } }

.center-tb {
  text-align: center; }
  @media (max-width: 500px) {
    .center-tb {
      text-align: left; } }

.link-text {
  color: #008de2;
  text-decoration: underline;
  -webkit-transition: all .3s;
  transition: all .3s; }
  .link-text:hover {
    opacity: 0.6; }

.super-text {
  font-size: 60%;
  vertical-align: super;
  line-height: 2em; }

.common-title {
  margin-bottom: 90px;
  text-align: center;
  font-feature-settings: "palt"; }
  @media (max-width: 768px) {
    .common-title {
      margin-bottom: 60px; } }
  .common-title .common-title-en {
    padding: 0 40px;
    font-family: "League Spartan", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size: 18px;
    line-height: 1em;
    color: #3c7076;
    position: relative;
    display: inline-block; }
    @media (max-width: 768px) {
      .common-title .common-title-en {
        font-size: 14px; } }
    .common-title .common-title-en::before, .common-title .common-title-en::after {
      content: '';
      position: absolute;
      transform: translateY(-50%);
      top: 50%;
      display: inline-block;
      width: 30px;
      height: 2px;
      background-color: #3c7076; }
    .common-title .common-title-en::before {
      left: 0; }
    .common-title .common-title-en::after {
      right: 0; }
  .common-title h2, .common-title h3 {
    font-size: 44px;
    font-weight: bold;
    line-height: 1.4em;
    color: #3c7076; }
    @media (max-width: 1200px) {
      .common-title h2, .common-title h3 {
        font-size: 36px; } }
    @media (max-width: 768px) {
      .common-title h2, .common-title h3 {
        padding-bottom: 0;
        font-size: 22px; } }
    @media (max-width: 320px) {
      .common-title h2, .common-title h3 {
        font-size: 20px; } }

.common-title-m {
  margin-top: 90px;
  margin-bottom: 60px;
  padding-left: 40px;
  font-size: 30px;
  font-weight: bold;
  position: relative; }
  @media (max-width: 768px) {
    .common-title-m {
      margin-top: 60px;
      margin-bottom: 30px;
      font-size: 20px; } }
  .common-title-m::before {
    content: "";
    display: inline-block;
    width: 30px;
    height: 2px;
    background-color: #3c7076;
    position: absolute;
    top: 50%;
    left: 0; }

.common-title-s {
  margin-top: 60px;
  margin-bottom: 30px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6em; }
  @media (max-width: 768px) {
    .common-title-s {
      font-size: 18px;
      line-height: 1.4em; } }

.lower-title-s {
  padding-bottom: 40px;
  color: #3c7076;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.6em; }
  @media (max-width: 768px) {
    .lower-title-s {
      padding-bottom: 50px;
      font-size: 18px;
      line-height: 1.4em; } }

.list {
  padding-left: 1em; }
  .list li {
    list-style: disc; }
  .list ol li {
    list-style: none; }

.table {
  width: 100%; }
  .table th {
    padding: 15px 20px;
    font-weight: bold;
    background-color: #e9eaed;
    vertical-align: top;
    text-align: left;
    border-bottom: solid 1px #dbdbdb;
    line-height: 1.6em; }
    @media (max-width: 768px) {
      .table th {
        width: 25%;
        padding: 15px;
        font-size: 14px; } }
  .table td {
    padding: 15px 20px;
    border-bottom: solid 1px #dbdbdb;
    line-height: 1.6em; }
    @media (max-width: 768px) {
      .table td {
        width: 75%;
        padding: 15px;
        font-size: 14px; } }

.icon-inline {
  width: 24px;
  height: 24px;
  margin: 0 5px -5px 5px;
  display: inline; }
  @media (max-width: 768px) {
    .icon-inline {
      width: 20px;
      height: 20px;
      margin: 0 5px -4px 5px; } }

a.anchor {
  display: block;
  margin-top: -100px;
  padding-top: 100px; }
  @media (max-width: 768px) {
    a.anchor {
      margin-top: -50px;
      padding-top: 50px; } }

/* btn
------------------------------------------------------------
------------------------------------------------------------*/
/*  基本のボタン3サイズ */
.btn-l, .btn-m, .btn-s {
  text-align: center; }
  .btn-l a, .btn-m a, .btn-s a {
    width: 100%;
    color: #fff;
    font-weight: bold;
    font-size: 24px;
    font-feature-settings: "palt";
    background-color: #3c7076;
    display: block;
    -webkit-transition: all .3s;
    transition: all .3s; }
    .btn-l a:hover, .btn-m a:hover, .btn-s a:hover {
      opacity: 0.8; }

.btn-l {
  min-width: 360px; }
  @media (max-width: 768px) {
    .btn-l {
      min-width: 300px; } }
  @media (max-width: 500px) {
    .btn-l {
      min-width: 200px; } }
  .btn-l a {
    height: 60px;
    padding: 0 40px;
    line-height: 60px;
    font-size: 24px;
    border-radius: 30px; }
    @media (max-width: 768px) {
      .btn-l a {
        height: 46px;
        padding: 0 20px;
        line-height: 46px;
        font-size: 18px;
        border-radius: 23px; } }
    @media (max-width: 500px) {
      .btn-l a {
        height: 42px;
        line-height: 42px;
        font-size: 15px;
        border-radius: 21px; } }
    @media (max-width: 320px) {
      .btn-l a {
        padding: 0 12px;
        font-size: 14px; } }

.btn-m {
  min-width: 300px; }
  @media (max-width: 768px) {
    .btn-m {
      min-width: 200px; } }
  .btn-m a {
    height: 50px;
    padding: 0 40px;
    line-height: 50px;
    font-size: 20px;
    border-radius: 25px; }
    @media (max-width: 768px) {
      .btn-m a {
        min-width: 200px;
        height: 42px;
        padding: 0 20px;
        line-height: 42px;
        font-size: 15px;
        border-radius: 21px; } }
    @media (max-width: 320px) {
      .btn-m a {
        padding: 0 12px;
        font-size: 14px; } }

.btn-s {
  min-width: 200px; }
  .btn-s a {
    height: 42px;
    padding: 0 40px;
    line-height: 42px;
    font-size: 18px;
    border-radius: 21px; }
    @media (max-width: 768px) {
      .btn-s a {
        padding: 0 20px;
        font-size: 15px; } }
    @media (max-width: 320px) {
      .btn-s a {
        padding: 0 12px;
        font-size: 14px; } }

.btn-center {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center; }
  .btn-center.multiple {
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap; }
    .btn-center.multiple p {
      margin: 0 30px 30px 30px; }

/*　header　
------------------------------------------------------------
------------------------------------------------------------*/
#header {
  position: fixed;
  height: 100px;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 100; }
  @media (max-width: 768px) {
    #header {
      height: 50px; } }
  #header .top-h1 {
    display: none; }
  #header h1 {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2000; }
    #header h1 a {
      width: 260px;
      height: 150px;
      padding: 42px 20px;
      display: block;
      background-color: #3c7076; }
      #header h1 a:hover {
        opacity: 0.9; }
      #header h1 a img {
        width: 220px;
        height: auto; }
    @media (max-width: 1200px) {
      #header h1 a {
        width: 180px;
        height: 120px;
        padding: 38px 15px; }
        #header h1 a img {
          width: 150px;
          height: auto; } }
    @media (max-width: 768px) {
      #header h1 a {
        width: 130px;
        height: 50px;
        padding: 10px 15px; }
        #header h1 a img {
          width: 100px;
          height: auto; } }
    @media (max-width: 320px) {
      #header h1 a {
        width: 100px;
        height: 50px;
        padding: 12px 7px; }
        #header h1 a img {
          width: 86px;
          height: auto; } }

.header-btn-wrap {
  height: 100px;
  position: fixed;
  top: 0;
  right: 20px;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media (max-width: 768px) {
    .header-btn-wrap {
      height: 50px;
      right: 10px; } }

.contact-btn {
  margin-right: 20px;
  background-color: #fff;
  border-radius: 27px; }
  @media (max-width: 768px) {
    .contact-btn {
      margin-right: 10px; } }
  .contact-btn a {
    display: block;
    width: 170px;
    height: 54px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    color: #fff;
    background-color: #707070;
    border: solid 1px #707070;
    border-radius: 27px; }
    @media (max-width: 768px) {
      .contact-btn a {
        width: 110px;
        height: 36px;
        font-size: 14px; } }
    @media (max-width: 500px) {
      .contact-btn a {
        width: 90px;
        font-size: 11px; } }
    .contact-btn a:hover {
      opacity: 0.6; }

#header.scroll-header h1 a {
  height: 100px;
  padding: 17px 20px; }
@media (max-width: 1200px) {
  #header.scroll-header h1 a {
    height: 100px;
    padding: 28px 15px; } }
@media (max-width: 768px) {
  #header.scroll-header h1 a {
    height: 50px;
    padding: 10px 15px; } }
@media (max-width: 320px) {
  #header.scroll-header h1 a {
    height: 50px;
    padding: 12px 7px; } }

#header.scroll-header-top .top-h1 {
  display: block;
  animation: display 0.3s linear 0s;
  animation-fill-mode: forwards; }

@keyframes display {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
/*　footer　
------------------------------------------------------------
------------------------------------------------------------*/
.footer-contact-wrap, .footer-inn-wrap {
  position: relative;
  padding: 120px 0;
  background-image: url("../images/common/contact_bk.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover; }
  @media (max-width: 768px) {
    .footer-contact-wrap, .footer-inn-wrap {
      padding: 50px 0; } }
  @media (max-width: 500px) {
    .footer-contact-wrap, .footer-inn-wrap {
      background-position: right -100px center; } }

.footer-contact-img {
  position: absolute;
  background-color: #3c7076;
  top: 70px;
  left: 5%;
  z-index: 2;
  box-shadow: 10px 10px 0 0 rgba(0, 0, 0, 0.1); }
  @media (max-width: 768px) {
    .footer-contact-img {
      top: 30px;
      left: 0;
      box-shadow: 5px 5px 0 0 rgba(0, 0, 0, 0.1); } }
  .footer-contact-img img {
    width: 170px;
    margin: 100px; }
    @media (max-width: 1200px) {
      .footer-contact-img img {
        width: 140px;
        margin: 60px; } }
    @media (max-width: 768px) {
      .footer-contact-img img {
        width: 150px;
        margin: 20px; } }

.footer-contact, .footer-inn {
  width: 80%;
  min-height: 400px;
  margin: 0 5% 0 15%;
  padding: 60px 60px 60px calc(370px - 15% + 60px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.9); }
  @media (max-width: 1200px) {
    .footer-contact, .footer-inn {
      min-height: inherit;
      padding: 60px 30px 60px calc(260px - 15% + 60px); } }
  @media (max-width: 768px) {
    .footer-contact, .footer-inn {
      width: 90%;
      margin: 0 5%;
      padding: 40px 5% 30px 5%; } }
  @media (max-width: 500px) {
    .footer-contact, .footer-inn {
      padding: 100px 5% 30px 5%; } }
  .footer-contact h3, .footer-inn h3 {
    font-family: "League Spartan", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-size: 44px;
    color: #3c7076; }
    @media (max-width: 768px) {
      .footer-contact h3, .footer-inn h3 {
        font-size: 30px; } }
  .footer-contact p:nth-of-type(1), .footer-inn p:nth-of-type(1) {
    margin: 50px 0;
    font-size: 30px;
    font-weight: bold; }
    @media (max-width: 1200px) {
      .footer-contact p:nth-of-type(1), .footer-inn p:nth-of-type(1) {
        font-size: 26px; } }
    @media (max-width: 768px) {
      .footer-contact p:nth-of-type(1), .footer-inn p:nth-of-type(1) {
        margin: 20px 0;
        font-size: 16px; } }

/* ページトップ（PC） */
#page-top {
  position: fixed;
  right: 40px;
  bottom: 90px;
  z-index: 2;
  opacity: 0;
  transform: translateY(150px); }
  #page-top a {
    display: block;
    width: 80px;
    height: 80px;
    background: url("../images/common/pagetop.svg") no-repeat center;
    background-size: 60px auto;
    background-position: center center;
    background-color: #3c7076;
    -webkit-transition: all .3s;
    transition: all .3s; }
    #page-top a:hover {
      opacity: 0.6; }

#page-top.UpMove {
  animation: UpAnime 0.5s forwards; }

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(170px); }
  to {
    opacity: 1;
    transform: translateY(0); } }
#page-top.DownMove {
  animation: DownAnime 0.5s forwards; }

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0); }
  to {
    opacity: 1;
    transform: translateY(170px); } }
/* ページトップ（タブレット、スマホ） */
#page-top-sp {
  margin: 0 auto;
  padding: 20px;
  position: relative;
  background-color: #3c7076; }
  #page-top-sp::after {
    position: absolute;
    content: "";
    display: block;
    width: 90%;
    height: 1px;
    background-color: #fff;
    transform: translateX(-50%);
    bottom: 0;
    left: 50%; }
  #page-top-sp img {
    width: 40px;
    height: auto;
    margin: 0 auto; }

.copyright {
  height: 70px;
  font-size: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-color: #3c7076; }
  @media (max-width: 768px) {
    .copyright {
      height: 60px; } }

/*
------------------------------------------------------------
------------------------------------------------------------
トップページ
------------------------------------------------------------
------------------------------------------------------------*/
/* 問題提起 */
.top-question-circle-wrap {
  position: relative;
  background-image: url("../images/top/top_question_main.webp");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: 90% auto;
  -webkit-transition: all .3s;
  transition: all .3s; }
  @media (max-width: 768px) {
    .top-question-circle-wrap {
      background-size: 110% auto; } }
  @media (max-width: 500px) {
    .top-question-circle-wrap {
      background-size: 150% auto; } }

.top-question-paper {
  position: relative; }
  .top-question-paper li {
    position: absolute;
    -webkit-transition: all .3s;
    transition: all .3s; }
    .top-question-paper li:nth-child(1) {
      width: 93px;
      top: 0;
      left: 0; }
      @media (max-width: 768px) {
        .top-question-paper li:nth-child(1) {
          width: 80px;
          top: -20px; } }
    .top-question-paper li:nth-child(2) {
      width: 85px;
      top: 300px;
      left: 35%; }
      @media (max-width: 1200px) {
        .top-question-paper li:nth-child(2) {
          top: 340px;
          left: 45%; } }
      @media (max-width: 768px) {
        .top-question-paper li:nth-child(2) {
          display: none; } }
    .top-question-paper li:nth-child(3) {
      width: 153px;
      top: 350px;
      left: 0; }
      @media (max-width: 1200px) {
        .top-question-paper li:nth-child(3) {
          width: 100px;
          left: 5%; } }
      @media (max-width: 768px) {
        .top-question-paper li:nth-child(3) {
          width: 90px;
          top: 200px;
          left: 5%; } }
      @media (max-width: 500px) {
        .top-question-paper li:nth-child(3) {
          display: none; } }
    .top-question-paper li:nth-child(4) {
      width: 113px;
      top: 60px;
      right: 0; }
      @media (max-width: 1200px) {
        .top-question-paper li:nth-child(4) {
          top: 0; } }
      @media (max-width: 768px) {
        .top-question-paper li:nth-child(4) {
          width: 90px;
          top: -20px; } }
      @media (max-width: 500px) {
        .top-question-paper li:nth-child(4) {
          top: 190px; } }
      @media screen and (max-width: 400px) {
        .top-question-paper li:nth-child(4) {
          top: 140px; } }
      @media (max-width: 320px) {
        .top-question-paper li:nth-child(4) {
          width: 80px;
          top: 170px; } }
    .top-question-paper li:nth-child(5) {
      width: 76px;
      top: 200px;
      right: 20%; }
      @media (max-width: 1200px) {
        .top-question-paper li:nth-child(5) {
          display: none; } }
    .top-question-paper li:nth-child(6) {
      width: 208px;
      top: 450px;
      right: 0; }
      @media (max-width: 1200px) {
        .top-question-paper li:nth-child(6) {
          width: 160px;
          right: 5%; } }
      @media (max-width: 768px) {
        .top-question-paper li:nth-child(6) {
          display: none; } }

.top-question-circle {
  padding-bottom: 600px;
  display: flex; }
  @media screen and (max-width: 1600px) {
    .top-question-circle {
      padding-bottom: 500px; } }
  @media (max-width: 1400px) {
    .top-question-circle {
      padding-bottom: 400px; } }
  @media (max-width: 1200px) {
    .top-question-circle {
      padding-bottom: 350px; } }
  @media (max-width: 768px) {
    .top-question-circle {
      padding-bottom: 300px; } }
  @media (max-width: 500px) {
    .top-question-circle {
      padding-bottom: 250px;
      flex-direction: column; } }
  @media screen and (max-width: 450px) {
    .top-question-circle {
      padding-bottom: 220px; } }
  @media (max-width: 320px) {
    .top-question-circle {
      padding-bottom: 180px; } }
  .top-question-circle ul {
    width: 50%;
    font-size: 24px; }
    @media (max-width: 500px) {
      .top-question-circle ul {
        width: 100%; } }
    @media (max-width: 1200px) {
      .top-question-circle ul {
        font-size: 20px; } }
    @media (max-width: 768px) {
      .top-question-circle ul {
        font-size: 17px; } }
    @media (max-width: 500px) {
      .top-question-circle ul {
        width: 100%; } }
    @media (max-width: 320px) {
      .top-question-circle ul {
        font-size: 15px; } }
    .top-question-circle ul li {
      font-weight: bold;
      line-height: 1.4em;
      font-feature-settings: "palt";
      color: #fff;
      border-radius: 50%;
      -webkit-transition: all .3s;
      transition: all .3s; }
      .top-question-circle ul li div {
        padding-top: 100%;
        position: relative;
        height: 0; }
      .top-question-circle ul li p {
        position: absolute;
        transform: translateY(-50%);
        top: 50%;
        left: 0;
        right: 0;
        text-align: center; }
    .top-question-circle ul:nth-of-type(1) li:nth-child(1) {
      width: 50%;
      font-size: 95%;
      background-color: #628fb5; }
      .top-question-circle ul:nth-of-type(1) li:nth-child(1) img {
        width: 93px;
        top: 0;
        left: 0; }
    .top-question-circle ul:nth-of-type(1) li:nth-child(2) {
      width: 35%;
      margin: -200px 0 0 65%;
      font-size: 75%;
      background-color: #628fb5; }
      @media (max-width: 1200px) {
        .top-question-circle ul:nth-of-type(1) li:nth-child(2) {
          margin: -160px 0 0 65%; } }
    .top-question-circle ul:nth-of-type(1) li:nth-child(3) {
      width: 40%;
      margin: 0 20% 0 40%;
      font-size: 90%;
      background-color: #347099; }
      @media (max-width: 320px) {
        .top-question-circle ul:nth-of-type(1) li:nth-child(3) {
          margin: 10px 15% 0 45%; } }
    .top-question-circle ul:nth-of-type(2) li:nth-child(1) {
      width: 35%;
      margin: 30px 55% 0 10%;
      font-size: 75%;
      background-color: #347099; }
      @media (max-width: 500px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(1) {
          margin: -130px 65% 0 0; } }
      @media screen and (max-width: 450px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(1) {
          margin: -70px 65% 0 0; } }
      @media (max-width: 320px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(1) {
          margin: -50px 65% 0 0; } }
    .top-question-circle ul:nth-of-type(2) li:nth-child(2) {
      width: 40%;
      margin: -180px 0 0 60%;
      font-size: 80%;
      background-color: #628fb5; }
      @media (max-width: 1200px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(2) {
          margin: -150px 0 0 60%; } }
      @media (max-width: 500px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(2) {
          margin: -20px 0 0 60%; } }
      @media screen and (max-width: 450px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(2) {
          margin: -50px 0 0 60%; } }
    .top-question-circle ul:nth-of-type(2) li:nth-child(3) {
      width: 50%;
      margin: -40px 35% 0 15%;
      background-color: #347099; }
      @media (max-width: 1200px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(3) {
          margin: -10px 30% 0 20%; } }
      @media (max-width: 768px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(3) {
          margin: 0 20% 0 30%; } }
      @media (max-width: 500px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(3) {
          margin: -140px 55% 0 5%; } }
      @media screen and (max-width: 450px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(3) {
          margin: -80px 50% 0 10%; } }
      @media (max-width: 320px) {
        .top-question-circle ul:nth-of-type(2) li:nth-child(3) {
          margin: -60px 50% 0 10%; } }

.top-question-box {
  margin-top: -30px;
  padding: 50px;
  position: relative;
  border: solid 2px #3c7076;
  background-color: #fff;
  border-radius: 30px; }
  @media (max-width: 1200px) {
    .top-question-box {
      padding: 30px; } }
  @media (max-width: 768px) {
    .top-question-box {
      margin-top: -20px;
      padding: 5%; } }
  @media (max-width: 500px) {
    .top-question-box {
      margin-top: -10px; } }
  .top-question-box p {
    max-width: 1000px;
    margin: 0 auto;
    font-size: 24px;
    font-weight: bold; }
    @media (max-width: 1200px) {
      .top-question-box p {
        font-size: 22px; } }
    @media (max-width: 768px) {
      .top-question-box p {
        font-size: 16px; } }
    .top-question-box p span {
      font-size: 30px; }
      @media (max-width: 1200px) {
        .top-question-box p span {
          font-size: 28px; } }
      @media (max-width: 768px) {
        .top-question-box p span {
          font-size: 20px; } }
  .top-question-box ul {
    max-width: 1000px;
    margin: 20px auto 0 auto; }
    @media (max-width: 768px) {
      .top-question-box ul {
        margin: 10px auto 0 auto; } }
    .top-question-box ul li {
      padding: 10px 200px 10px 0;
      display: flex;
      align-items: center;
      border-bottom: dotted 2px #dbdbdb;
      font-size: 24px;
      font-weight: bold;
      line-height: 1.6em; }
      @media (max-width: 1200px) {
        .top-question-box ul li {
          padding: 10px 160px 10px 0;
          font-size: 22px; } }
      @media (max-width: 768px) {
        .top-question-box ul li {
          padding: 5px 0;
          font-size: 16px; } }
      .top-question-box ul li span {
        color: #3c7076; }
      .top-question-box ul li img {
        width: 40px;
        margin-right: 10px; }
        @media (max-width: 768px) {
          .top-question-box ul li img {
            width: 25px; } }
  .top-question-box .top-question-img {
    width: 243px;
    position: absolute;
    right: -30px;
    top: 30px; }
    @media (max-width: 1200px) {
      .top-question-box .top-question-img {
        width: 200px;
        right: 20px;
        top: 30px; } }

/* キャッチ */
.top-catch-wrap {
  margin-top: -100px;
  padding: 300px 0 160px 0;
  background-image: url("../images/top/top_arrow_bk_white.svg"), url("../images/top/top_arrow_bk.svg"), linear-gradient(180deg, #fff 0%, #fff 2%, #e0edf3 2%, #e0edf3 98%, #fff 98%, #fff 100%);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top center, bottom center, center center;
  background-size: 100% auto, 100% auto, 100% 100%; }
  @media (max-width: 768px) {
    .top-catch-wrap {
      margin-top: -30px;
      padding: 120px 0 90px 0; } }
  @media (max-width: 500px) {
    .top-catch-wrap {
      padding: 90px 0;
      background-image: url("../images/top/top_arrow_bk_white_sp.svg"), url("../images/top/top_arrow_bk_sp.svg"), linear-gradient(180deg, #fff 0%, #fff 2%, #e0edf3 2%, #e0edf3 98%, #fff 98%, #fff 100%); } }
  .top-catch-wrap .top-catch {
    padding-bottom: 30px;
    font-size: 30px;
    font-weight: bold;
    text-align: center;
    font-feature-settings: "palt";
    line-height: 2em; }
    @media (max-width: 1400px) {
      .top-catch-wrap .top-catch {
        font-size: 24px; } }
    @media (max-width: 1200px) {
      .top-catch-wrap .top-catch {
        font-size: 22px; } }
    @media (max-width: 768px) {
      .top-catch-wrap .top-catch {
        font-size: 16px; } }
    .top-catch-wrap .top-catch span {
      font-size: 44px;
      color: #3c7076; }
      @media (max-width: 1400px) {
        .top-catch-wrap .top-catch span {
          font-size: 40px; } }
      @media (max-width: 1200px) {
        .top-catch-wrap .top-catch span {
          font-size: 34px; } }
      @media (max-width: 768px) {
        .top-catch-wrap .top-catch span {
          font-size: 20px; } }
  .top-catch-wrap img {
    width: 80%;
    margin: 0 auto; }
    @media (max-width: 768px) {
      .top-catch-wrap img {
        width: 70%; } }
    @media (max-width: 500px) {
      .top-catch-wrap img {
        width: 100%; } }

/* 課題と解決 */
.top-solution-wrap {
  padding: 90px 0 0 0; }
  @media (max-width: 768px) {
    .top-solution-wrap {
      padding: 60px 0 0 0; } }
  .top-solution-wrap h4 {
    width: 100%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    @media (max-width: 768px) {
      .top-solution-wrap h4 {
        width: 90%; } }
  .top-solution-wrap .btn-center {
    margin: 60px auto 30px auto; }
    @media (max-width: 500px) {
      .top-solution-wrap .btn-center {
        margin: 60px auto; } }

.top-task-wrap {
  width: calc(100% - 40px);
  max-width: 1260px;
  margin: 0 auto;
  display: flex;
  align-items: center; }
  @media (max-width: 500px) {
    .top-task-wrap {
      width: 90%;
      flex-direction: column; } }
  .top-task-wrap .top-task-img, .top-task-wrap .top-solution-img {
    width: 400px; }
    @media (max-width: 1200px) {
      .top-task-wrap .top-task-img, .top-task-wrap .top-solution-img {
        width: 280px; } }
    @media (max-width: 768px) {
      .top-task-wrap .top-task-img, .top-task-wrap .top-solution-img {
        width: 240px; } }
    @media (max-width: 500px) {
      .top-task-wrap .top-task-img, .top-task-wrap .top-solution-img {
        width: 78%;
        margin-top: 10px; } }
  .top-task-wrap .top-task, .top-task-wrap .top-solution {
    max-width: calc(50% - 200px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media (max-width: 1200px) {
      .top-task-wrap .top-task, .top-task-wrap .top-solution {
        max-width: calc(50% - 140px);
        font-size: 16px; } }
    @media (max-width: 768px) {
      .top-task-wrap .top-task, .top-task-wrap .top-solution {
        max-width: calc(50% - 120px);
        font-size: 15px; } }
    @media (max-width: 500px) {
      .top-task-wrap .top-task, .top-task-wrap .top-solution {
        max-width: inherit;
        width: 100%; } }
    .top-task-wrap .top-task img, .top-task-wrap .top-solution img {
      width: 36px;
      margin: -30px 0 5px 0; }
      @media (max-width: 768px) {
        .top-task-wrap .top-task img, .top-task-wrap .top-solution img {
          width: 25px;
          margin: -25px 0 5px 0; } }
    .top-task-wrap .top-task .bubble-left, .top-task-wrap .top-solution .bubble-left {
      position: relative;
      display: inline-block;
      padding: 20px 30px;
      font-weight: bold;
      line-height: 1.6em;
      background: #e9eaed;
      border-radius: 10px; }
      @media (max-width: 1200px) {
        .top-task-wrap .top-task .bubble-left, .top-task-wrap .top-solution .bubble-left {
          padding: 20px; } }
      @media (max-width: 768px) {
        .top-task-wrap .top-task .bubble-left, .top-task-wrap .top-solution .bubble-left {
          padding: 15px; } }
      @media (max-width: 500px) {
        .top-task-wrap .top-task .bubble-left, .top-task-wrap .top-solution .bubble-left {
          width: calc(100% - 30px); } }
      .top-task-wrap .top-task .bubble-left:nth-child(1), .top-task-wrap .top-solution .bubble-left:nth-child(1) {
        margin: 20px 30px 20px 30px; }
        @media (max-width: 768px) {
          .top-task-wrap .top-task .bubble-left:nth-child(1), .top-task-wrap .top-solution .bubble-left:nth-child(1) {
            margin: 10px 30px 10px 30px; } }
        @media (max-width: 500px) {
          .top-task-wrap .top-task .bubble-left:nth-child(1), .top-task-wrap .top-solution .bubble-left:nth-child(1) {
            margin: 10px 30px 10px 0; } }
      .top-task-wrap .top-task .bubble-left:nth-child(2), .top-task-wrap .top-solution .bubble-left:nth-child(2) {
        margin: 20px 60px 20px 0; }
        @media (max-width: 768px) {
          .top-task-wrap .top-task .bubble-left:nth-child(2), .top-task-wrap .top-solution .bubble-left:nth-child(2) {
            margin: 10px 60px 10px 0; } }
        @media (max-width: 500px) {
          .top-task-wrap .top-task .bubble-left:nth-child(2), .top-task-wrap .top-solution .bubble-left:nth-child(2) {
            margin: 10px 0 10px 30px; } }
      .top-task-wrap .top-task .bubble-left:before, .top-task-wrap .top-solution .bubble-left:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 100%;
        margin-top: -15px;
        border: 15px solid transparent;
        border-left: 56px solid #e9eaed; }
        @media (max-width: 500px) {
          .top-task-wrap .top-task .bubble-left:before, .top-task-wrap .top-solution .bubble-left:before {
            display: none; } }
    .top-task-wrap .top-task .bubble-right, .top-task-wrap .top-solution .bubble-right {
      position: relative;
      display: inline-block;
      padding: 20px 30px;
      font-weight: bold;
      line-height: 1.6em;
      background: #e9eaed;
      border-radius: 10px; }
      @media (max-width: 1200px) {
        .top-task-wrap .top-task .bubble-right, .top-task-wrap .top-solution .bubble-right {
          padding: 20px; } }
      @media (max-width: 768px) {
        .top-task-wrap .top-task .bubble-right, .top-task-wrap .top-solution .bubble-right {
          padding: 15px; } }
      @media (max-width: 500px) {
        .top-task-wrap .top-task .bubble-right, .top-task-wrap .top-solution .bubble-right {
          width: calc(100% - 30px); } }
      .top-task-wrap .top-task .bubble-right:nth-child(1), .top-task-wrap .top-solution .bubble-right:nth-child(1) {
        margin: 20px 30px 20px 30px; }
        @media (max-width: 768px) {
          .top-task-wrap .top-task .bubble-right:nth-child(1), .top-task-wrap .top-solution .bubble-right:nth-child(1) {
            margin: 10px 30px 10px 30px; } }
        @media (max-width: 500px) {
          .top-task-wrap .top-task .bubble-right:nth-child(1), .top-task-wrap .top-solution .bubble-right:nth-child(1) {
            margin: 10px 0 10px 30px; } }
      .top-task-wrap .top-task .bubble-right:nth-child(2), .top-task-wrap .top-solution .bubble-right:nth-child(2) {
        margin: 20px 0 20px 60px; }
        @media (max-width: 768px) {
          .top-task-wrap .top-task .bubble-right:nth-child(2), .top-task-wrap .top-solution .bubble-right:nth-child(2) {
            margin: 10px 0 10px 60px; } }
        @media (max-width: 500px) {
          .top-task-wrap .top-task .bubble-right:nth-child(2), .top-task-wrap .top-solution .bubble-right:nth-child(2) {
            margin: 10px 30px 10px 0; } }
      .top-task-wrap .top-task .bubble-right:before, .top-task-wrap .top-solution .bubble-right:before {
        content: "";
        position: absolute;
        top: 50%;
        right: 100%;
        margin-top: -15px;
        border: 15px solid transparent;
        border-right: 56px solid #e9eaed; }
        @media (max-width: 500px) {
          .top-task-wrap .top-task .bubble-right:before, .top-task-wrap .top-solution .bubble-right:before {
            top: 100%;
            right: auto;
            left: 50%;
            margin-top: 0;
            margin-left: -15px;
            border: 15px solid transparent;
            border-top: 15px solid #e9eaed; } }
      @media (max-width: 500px) {
        .top-task-wrap .top-task .bubble-right:not(:last-child):before, .top-task-wrap .top-solution .bubble-right:not(:last-child):before {
          display: none; } }
  .top-task-wrap .top-solution .bubble-left {
    background: #e0edf3; }
    .top-task-wrap .top-solution .bubble-left:before {
      border-left: 56px solid #e0edf3; }
  .top-task-wrap .top-solution .bubble-right {
    background: #e0edf3; }
    @media (max-width: 500px) {
      .top-task-wrap .top-solution .bubble-right:nth-child(1) {
        margin: 10px 30px 10px 0; } }
    @media (max-width: 500px) {
      .top-task-wrap .top-solution .bubble-right:nth-child(2) {
        margin: 10px 0 10px 30px; } }
    .top-task-wrap .top-solution .bubble-right:before {
      border-right: 56px solid #e0edf3; }
      @media (max-width: 500px) {
        .top-task-wrap .top-solution .bubble-right:before {
          top: 100%;
          right: auto;
          left: 50%;
          margin-top: 0;
          margin-left: -15px;
          border: 15px solid transparent;
          border-top: 15px solid #e0edf3; } }
  .top-task-wrap .top-solution h5 {
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 20px;
    color: #3c7076; }
    @media (max-width: 1200px) {
      .top-task-wrap .top-solution h5 {
        font-size: 18px; } }
    @media (max-width: 768px) {
      .top-task-wrap .top-solution h5 {
        font-size: 16px; } }

.top-appeal, .inn_point {
  width: calc(100% - 40px);
  max-width: 1400px;
  margin: 50px auto 0 auto;
  display: flex;
  flex-wrap: wrap;
  color: #fff; }
  @media (max-width: 768px) {
    .top-appeal, .inn_point {
      width: 90%; } }
  .top-appeal li, .inn_point li {
    padding: 30px; }
    @media (max-width: 1200px) {
      .top-appeal li, .inn_point li {
        padding: 20px; } }
    @media (max-width: 500px) {
      .top-appeal li, .inn_point li {
        padding: 5%; } }
    .top-appeal li:nth-child(1), .inn_point li:nth-child(1) {
      width: 33%;
      background-color: #5d8f91; }
      @media (max-width: 768px) {
        .top-appeal li:nth-child(1), .inn_point li:nth-child(1) {
          width: 50%; } }
      @media (max-width: 500px) {
        .top-appeal li:nth-child(1), .inn_point li:nth-child(1) {
          width: 100%; } }
    .top-appeal li:nth-child(2), .inn_point li:nth-child(2) {
      width: 34%;
      background-color: #2e4f51; }
      @media (max-width: 768px) {
        .top-appeal li:nth-child(2), .inn_point li:nth-child(2) {
          width: 50%;
          background-color: #3c7076; } }
      @media (max-width: 500px) {
        .top-appeal li:nth-child(2), .inn_point li:nth-child(2) {
          width: 100%; } }
    .top-appeal li:nth-child(3), .inn_point li:nth-child(3) {
      width: 33%;
      background-color: #3c7076; }
      @media (max-width: 768px) {
        .top-appeal li:nth-child(3), .inn_point li:nth-child(3) {
          width: 50%;
          background-color: #2e4f51; } }
      @media (max-width: 500px) {
        .top-appeal li:nth-child(3), .inn_point li:nth-child(3) {
          width: 100%; } }
    .top-appeal li:nth-child(4), .inn_point li:nth-child(4) {
      width: 50%;
      background-color: #3c7076; }
      @media (max-width: 768px) {
        .top-appeal li:nth-child(4), .inn_point li:nth-child(4) {
          background-color: #5d8f91; } }
      @media (max-width: 500px) {
        .top-appeal li:nth-child(4), .inn_point li:nth-child(4) {
          width: 100%; } }
    .top-appeal li:nth-child(5), .inn_point li:nth-child(5) {
      width: 50%;
      background-color: #5d8f91; }
      @media (max-width: 768px) {
        .top-appeal li:nth-child(5), .inn_point li:nth-child(5) {
          width: 100%;
          background-color: #3c7076; } }
    .top-appeal li div, .inn_point li div {
      margin-bottom: 5px;
      display: flex;
      align-items: center; }
      .top-appeal li div p, .inn_point li div p {
        width: 52px;
        font-family: "League Spartan", sans-serif;
        font-optical-sizing: auto;
        font-weight: 300;
        font-style: normal;
        font-size: 60px;
        line-height: 1em; }
        @media (max-width: 1200px) {
          .top-appeal li div p, .inn_point li div p {
            width: 40px;
            font-size: 44px; } }
      .top-appeal li div h5, .inn_point li div h5 {
        width: calc(100% - 52px);
        transform: translateX(-26px);
        font-size: 24px;
        font-weight: bold;
        line-height: 1.2em;
        text-align: center; }
        @media (max-width: 1200px) {
          .top-appeal li div h5, .inn_point li div h5 {
            width: calc(100% - 40px);
            transform: translateX(-20px);
            font-size: 20px; } }
        @media (max-width: 768px) {
          .top-appeal li div h5, .inn_point li div h5 {
            font-size: 18px; } }
        @media (max-width: 500px) {
          .top-appeal li div h5, .inn_point li div h5 {
            font-size: 17px; } }
        @media (max-width: 320px) {
          .top-appeal li div h5, .inn_point li div h5 {
            font-size: 16px; } }
        @media screen and (max-width: 400px) {
          .top-appeal li div h5.long-text, .inn_point li div h5.long-text {
            transform: translateX(0); } }
    .top-appeal li img, .inn_point li img {
      width: 150px;
      margin: 0 auto 20px auto; }
      @media (max-width: 768px) {
        .top-appeal li img, .inn_point li img {
          width: 100px;
          margin: 0 auto 10px auto; } }

/* サービス概要 */
.top-servise-wrap {
  padding: 160px 0;
  background-color: #f4f4f4;
  background-image: url("../images/common/logo_h2w_mark_white.svg");
  background-repeat: no-repeat;
  background-position: top 160px left -20%;
  background-size: 50% auto; }
  @media (max-width: 768px) {
    .top-servise-wrap {
      padding: 90px 0; } }
  @media (max-width: 500px) {
    .top-servise-wrap {
      background-position: top 300px left -60px;
      background-size: 90% auto; } }

.top-servise-img {
  width: 60%;
  margin: 50px auto 0 auto; }
  @media (max-width: 500px) {
    .top-servise-img {
      width: 90%;
      margin: 50px auto 0 auto; } }

.top-servise {
  margin-top: 90px;
  background-image: url("../images/top/top_service_bk.webp");
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
  display: flex;
  color: #fff; }
  @media (max-width: 768px) {
    .top-servise {
      margin-top: 50px;
      background-image: none; } }
  @media (max-width: 500px) {
    .top-servise {
      flex-direction: column; } }
  .top-servise section:nth-of-type(1) {
    width: 35%;
    margin: 65px 5% 0 5%;
    padding: 50px 0; }
    @media (max-width: 1200px) {
      .top-servise section:nth-of-type(1) {
        width: 37%;
        margin: 65px 4% 0 4%; } }
    @media (max-width: 768px) {
      .top-servise section:nth-of-type(1) {
        width: 50%;
        margin: 0;
        padding: 30px 20px 20px 20px;
        background-color: #628fb5; } }
    @media (max-width: 500px) {
      .top-servise section:nth-of-type(1) {
        width: 100%;
        padding: 30px 5% 20px 5%; } }
  .top-servise section:nth-of-type(2) {
    width: 35%;
    margin: 0 15% 65px 5%;
    padding: 50px 0; }
    @media (max-width: 1200px) {
      .top-servise section:nth-of-type(2) {
        width: 37%;
        margin: 0 14% 65px 4%; } }
    @media (max-width: 768px) {
      .top-servise section:nth-of-type(2) {
        width: 50%;
        margin: 0;
        padding: 30px 20px 20px 20px;
        background-color: #3c7076; } }
    @media (max-width: 500px) {
      .top-servise section:nth-of-type(2) {
        width: 100%;
        padding: 30px 5% 20px 5%; } }
  .top-servise h4 {
    padding-bottom: 30px;
    border-bottom: solid 1px #fff; }
    @media (max-width: 768px) {
      .top-servise h4 {
        display: none; } }
    @media (max-width: 500px) {
      .top-servise h4 {
        display: block; } }
    .top-servise h4 img {
      width: auto;
      height: 80px;
      margin: 0 auto; }
      @media (max-width: 1200px) {
        .top-servise h4 img {
          height: 60px; } }
      @media (max-width: 500px) {
        .top-servise h4 img {
          height: 45px; } }
  .top-servise h5 {
    margin: 30px 0;
    font-size: 24px;
    font-weight: bold; }
    @media (max-width: 1200px) {
      .top-servise h5 {
        font-size: 20px; } }
    @media (max-width: 768px) {
      .top-servise h5 {
        margin: 0 0 15px 0;
        font-size: 18px; } }
    @media (max-width: 500px) {
      .top-servise h5 {
        margin: 15px 0;
        font-size: 18px; } }
  .top-servise .btn-s {
    margin: 30px 0 10px 0; }
    .top-servise .btn-s a {
      background-color: transparent;
      border: solid 1px #fff; }
      .top-servise .btn-s a:hover {
        background-color: rgba(255, 255, 255, 0.3);
        border: solid 1px rgba(255, 255, 255, 0.2); }

.top-movie-wrap {
  position: relative;
  width: calc(100% - 40px);
  max-width: 1400px;
  margin: 90px auto 0 auto;
  border-bottom: solid 1px #242c45; }
  @media (max-width: 768px) {
    .top-movie-wrap {
      margin: 50px auto 0 auto; } }
  .top-movie-wrap:before, .top-movie-wrap:after {
    position: absolute;
    content: "";
    height: calc(100% - 60px);
    width: 1px;
    background-color: #242c45; }
    @media (max-width: 768px) {
      .top-movie-wrap:before, .top-movie-wrap:after {
        height: calc(100% - 45px); } }
  .top-movie-wrap:before {
    bottom: 0;
    left: 0; }
  .top-movie-wrap:after {
    bottom: 0;
    right: 0; }
  .top-movie-wrap .top-movie-title {
    height: 120px;
    margin-bottom: 30px;
    display: flex;
    align-items: center; }
    @media (max-width: 768px) {
      .top-movie-wrap .top-movie-title {
        height: 90px;
        margin-bottom: 20px; } }
    .top-movie-wrap .top-movie-title:before, .top-movie-wrap .top-movie-title:after {
      content: "";
      height: 1px;
      flex-grow: 1;
      background-color: #242c45; }
    .top-movie-wrap .top-movie-title:before {
      margin-right: 0.5em; }
    .top-movie-wrap .top-movie-title:after {
      margin-left: 0.5em; }
    .top-movie-wrap .top-movie-title h4 {
      line-height: 1.6em;
      font-size: 30px;
      color: #242c45;
      font-weight: bold;
      text-align: center; }
      @media (max-width: 768px) {
        .top-movie-wrap .top-movie-title h4 {
          font-size: 18px; } }
      @media (max-width: 320px) {
        .top-movie-wrap .top-movie-title h4 {
          font-size: 16px; } }
    .top-movie-wrap .top-movie-title span {
      font-size: 44px; }
      @media (max-width: 768px) {
        .top-movie-wrap .top-movie-title span {
          font-size: 20px; } }
      @media (max-width: 320px) {
        .top-movie-wrap .top-movie-title span {
          font-size: 18px; } }
  .top-movie-wrap .btn-l {
    margin-bottom: 60px; }
    @media (max-width: 768px) {
      .top-movie-wrap .btn-l {
        margin-bottom: 30px; } }
    .top-movie-wrap .btn-l a {
      background-color: #242c45; }

.top-movie {
  width: 90%;
  max-width: 1080px;
  margin: 50px auto; }
  @media (max-width: 768px) {
    .top-movie {
      margin: 30px auto; } }

.iframe-movie {
  width: 100%;
  padding-bottom: 56.25%;
  position: relative;
  border: 1px solid #999; }
  .iframe-movie iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }

/* 料金プラン */
.top-plan-wrap {
  padding: 160px 0;
  background-image: linear-gradient(-45deg, #fff 25%, #f4f4f4 25%, #f4f4f4 50%, #fff 50%, #fff 75%, #f4f4f4 75%, #f4f4f4);
  background-size: 10px 10px; }
  @media (max-width: 768px) {
    .top-plan-wrap {
      padding: 50px 0; } }

.top-plan {
  width: calc(100% - 40px);
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px;
  background-color: #fff; }
  @media (max-width: 768px) {
    .top-plan {
      width: 90%;
      padding: 60px 20px; } }
  .top-plan ul {
    max-width: 1200px;
    margin: 50px auto 60px auto;
    display: flex;
    justify-content: space-between; }
    @media (max-width: 500px) {
      .top-plan ul {
        flex-direction: column; } }
    .top-plan ul li {
      position: relative;
      width: 32%;
      padding: 50px 30px 30px 30px;
      border-radius: 20px; }
      @media (max-width: 768px) {
        .top-plan ul li {
          padding: 50px 15px 20px 15px; } }
      @media (max-width: 500px) {
        .top-plan ul li {
          width: 100%;
          padding: 30px 15px 15px 15px; } }
      .top-plan ul li img {
        position: absolute;
        width: 36px;
        top: 0;
        right: 30px; }
        @media (max-width: 500px) {
          .top-plan ul li img {
            width: 30px;
            right: 20px; } }
      .top-plan ul li h4 {
        font-size: 30px;
        font-weight: bold;
        text-align: center; }
        @media (max-width: 768px) {
          .top-plan ul li h4 {
            font-size: 24px; } }
      .top-plan ul li .price {
        margin: 20px auto;
        text-align: center;
        font-weight: bold; }
        @media (max-width: 768px) {
          .top-plan ul li .price {
            margin: 15px auto; } }
      .top-plan ul li .strong {
        font-size: 26px; }
        @media (max-width: 768px) {
          .top-plan ul li .strong {
            font-size: 18px; } }
      .top-plan ul li:nth-of-type(1) {
        border: solid 1px #628fb5; }
        @media (max-width: 500px) {
          .top-plan ul li:nth-of-type(1) {
            margin-bottom: 10px; } }
        .top-plan ul li:nth-of-type(1) h4 {
          color: #628fb5; }
      .top-plan ul li:nth-of-type(2) {
        border: solid 1px #2e4f51; }
        @media (max-width: 500px) {
          .top-plan ul li:nth-of-type(2) {
            margin-bottom: 10px; } }
        .top-plan ul li:nth-of-type(2) h4 {
          color: #2e4f51; }
      .top-plan ul li:nth-of-type(3) {
        border: solid 1px #5d8f91; }
        .top-plan ul li:nth-of-type(3) h4 {
          color: #5d8f91; }

/* よくあるご質問 */
.top-faq-wrap {
  margin: 160px auto; }
  @media (max-width: 768px) {
    .top-faq-wrap {
      margin: 90px auto; } }

.top-faq {
  margin-bottom: 60px; }
  @media (max-width: 1200px) {
    .top-faq {
      margin: 0 20px 60px 20px; } }
  @media (max-width: 768px) {
    .top-faq {
      margin: 0 auto 60px auto; } }
  .top-faq li {
    margin: 10px 0; }
    .top-faq li section {
      border: 1px solid #3c7076; }

.title {
  position: relative;
  cursor: pointer;
  padding: 20px 20px 20px 50px;
  transition: all .5s ease;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center; }
  @media (max-width: 768px) {
    .title {
      padding: 5%;
      -webkit-align-items: stretch;
      align-items: stretch; } }
  .title::before {
    position: absolute;
    content: url("../images/common/icon_accordion_open.svg");
    width: 40px;
    height: 40px;
    top: 20px;
    right: 20px; }
    @media (max-width: 768px) {
      .title::before {
        width: 35px;
        height: 35px;
        top: auto;
        bottom: 6px;
        right: 6px; } }
  .title h3 {
    padding-right: 80px; }
    @media (max-width: 768px) {
      .title h3 {
        padding-right: 50px; } }
  .title img {
    width: 40px;
    height: 40px;
    margin-right: 40px; }
    @media (max-width: 768px) {
      .title img {
        width: 27px;
        height: 27px;
        margin-right: 20px; } }

.title.close-faq::before {
  transform: rotate(180deg); }

.box {
  margin: 0 20px 20px 20px;
  padding: 30px;
  display: none;
  position: relative;
  background-color: #e9eaed;
  border-radius: 10px; }
  @media (max-width: 768px) {
    .box {
      margin: 0 5% 5% 5%;
      padding: 5%; } }
  .box img {
    position: absolute;
    width: 40px;
    height: 40px;
    margin-right: 40px; }
    @media (max-width: 768px) {
      .box img {
        width: 27px;
        height: 27px;
        margin-right: 20px; } }
  .box .box-text {
    margin-left: 80px; }
    @media (max-width: 768px) {
      .box .box-text {
        margin-left: 47px;
        font-size: 14px; } }

/*
------------------------------------------------------------
------------------------------------------------------------
下層ページ
------------------------------------------------------------
------------------------------------------------------------*/
/* ページタイトル */
.page-title-wrap {
  height: 500px;
  position: relative; }
  @media (max-width: 768px) {
    .page-title-wrap {
      height: 200px; } }

.page-title-bk {
  height: 400px;
  position: relative;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  z-index: -1; }
  .page-title-bk.function {
    background-image: url("../images/function/header_function.webp"); }
  .page-title-bk.inn {
    background-image: url("../images/innovation/header_inn.webp"); }
  .page-title-bk.plan {
    background-image: url("../images/plan/header_plan.webp"); }
  .page-title-bk.contact {
    background-image: url("../images/contact/header_contact.webp"); }
  .page-title-bk.other {
    background-image: url("../images/other/header_other.webp"); }
  @media (max-width: 768px) {
    .page-title-bk {
      height: 120px; } }

.page-title-text-h2w {
  position: absolute;
  width: 22px;
  top: 180px;
  left: 29px;
  z-index: 1; }
  @media (max-width: 768px) {
    .page-title-text-h2w {
      display: none; } }

.page-title {
  width: calc(100% - 160px);
  max-width: 1400px;
  height: 260px;
  margin: 0 auto;
  position: absolute;
  transform: translateX(-50%);
  top: 220px;
  left: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #fff; }
  @media (max-width: 768px) {
    .page-title {
      width: calc(100% - 10%);
      height: 110px;
      top: 80px; } }
  @media (max-width: 320px) {
    .page-title {
      width: calc(100% - 6%); } }
  .page-title p {
    font-family: "League Spartan", sans-serif;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    position: absolute;
    padding-bottom: 20px;
    font-size: 140px;
    color: rgba(5, 5, 5, 0.05);
    line-height: 1em;
    -webkit-transition: all .3s;
    transition: all .3s; }
    @media (max-width: 1200px) {
      .page-title p {
        font-size: 100px; } }
    @media (max-width: 768px) {
      .page-title p {
        font-size: 40px; } }
  .page-title h2 {
    position: absolute;
    font-size: 65px;
    font-weight: bold;
    line-height: 1.4em;
    -webkit-transition: all .3s;
    transition: all .3s; }
    @media (max-width: 1200px) {
      .page-title h2 {
        font-size: 50px; } }
    @media (max-width: 768px) {
      .page-title h2 {
        font-size: 24px; } }

.page-title-wrap.long-title .page-title h2 {
  font-size: 56px; }
  @media (max-width: 1200px) {
    .page-title-wrap.long-title .page-title h2 {
      font-size: 46px; } }
  @media (max-width: 768px) {
    .page-title-wrap.long-title .page-title h2 {
      font-size: 24px; } }

.page-title-wrap.long-title-2lines {
  height: 520px; }
  @media (max-width: 768px) {
    .page-title-wrap.long-title-2lines {
      height: 210px; } }
  .page-title-wrap.long-title-2lines .page-title p {
    margin-top: -40px; }
    @media (max-width: 768px) {
      .page-title-wrap.long-title-2lines .page-title p {
        margin-top: -20px; } }
  .page-title-wrap.long-title-2lines .page-title h2 {
    margin-top: 10px;
    font-size: 56px; }
    @media (max-width: 1200px) {
      .page-title-wrap.long-title-2lines .page-title h2 {
        font-size: 38px; } }
    @media (max-width: 768px) {
      .page-title-wrap.long-title-2lines .page-title h2 {
        margin-top: 0;
        font-size: 24px; } }
    @media (max-width: 500px) {
      .page-title-wrap.long-title-2lines .page-title h2 {
        font-size: 20px; } }
    @media (max-width: 320px) {
      .page-title-wrap.long-title-2lines .page-title h2 {
        font-size: 18px; } }

/* 2カラムレイアウト */
#column {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 200px;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    #column {
      padding-bottom: 100px;
      -webkit-flex-direction: column;
      flex-direction: column; } }

#column-left-half {
  width: 50%;
  padding-right: 30px; }
  @media (max-width: 768px) {
    #column-left-half {
      width: 90%;
      margin: 0 auto 90px auto;
      padding: 0; } }

#column-right-half {
  width: 50%;
  padding-left: 30px; }
  @media (max-width: 768px) {
    #column-right-half {
      width: 90%;
      margin: 0 auto;
      padding: 0; } }

/*　機能　FUNCTION
------------------------------------------------------------*/
.function-wrap {
  margin-bottom: 100px; }
  @media (max-width: 768px) {
    .function-wrap {
      margin-bottom: 40px; } }
  .function-wrap li:nth-child(even) {
    background: linear-gradient(90deg, #e9eaed 0%, #e9eaed 95%, #fff 95%, #fff 100%); }
    @media (max-width: 768px) {
      .function-wrap li:nth-child(even) {
        background: linear-gradient(90deg, #e9eaed 0%, #e9eaed 95%, #e9eaed 95%, #e9eaed 100%); } }
    .function-wrap li:nth-child(even) .function-detail {
      flex-direction: row-reverse;
      background-color: #e9eaed; }
      @media (max-width: 768px) {
        .function-wrap li:nth-child(even) .function-detail {
          flex-direction: column; } }
  .function-wrap li:first-child .function-detail {
    padding: 0 0 60px 0; }
    @media (max-width: 768px) {
      .function-wrap li:first-child .function-detail {
        padding: 0 0 50px 0; } }
  .function-wrap li:not(:first-child) .function-detail {
    padding: 60px 0; }
    @media (max-width: 768px) {
      .function-wrap li:not(:first-child) .function-detail {
        padding: 50px 0; } }

.function-detail {
  width: calc(100% - 20px);
  padding: 60px 0;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .function-detail {
      width: 90%;
      flex-direction: column; } }
  .function-detail div {
    width: 50%;
    padding-right: 30px; }
    @media (max-width: 768px) {
      .function-detail div {
        width: 100%;
        padding-right: 0; } }
    .function-detail div p:nth-of-type(1) {
      font-family: "League Spartan", sans-serif;
      font-optical-sizing: auto;
      font-weight: 300;
      font-style: normal;
      margin-bottom: 30px;
      font-size: 80px;
      line-height: 1;
      color: #3c7076; }
      @media (max-width: 768px) {
        .function-detail div p:nth-of-type(1) {
          font-size: 60px;
          margin-bottom: 10px; } }
    .function-detail div h4 {
      margin-bottom: 30px;
      padding-bottom: 30px;
      position: relative;
      font-weight: bold;
      font-size: 30px;
      line-height: 1.6em; }
      @media (max-width: 768px) {
        .function-detail div h4 {
          margin-bottom: 20px;
          padding-bottom: 20px;
          font-size: 20px; } }
      .function-detail div h4::after {
        content: '';
        width: 30px;
        height: 2px;
        display: inline-block;
        background-color: #3c7076;
        position: absolute;
        bottom: 0;
        left: 0; }
  .function-detail .function-img {
    width: 45%; }
    @media (max-width: 768px) {
      .function-detail .function-img {
        width: 70%;
        margin: 20px auto 0 auto; } }
    @media (max-width: 500px) {
      .function-detail .function-img {
        width: 100%; } }
    .function-detail .function-img img {
      filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2)); }

/*　従業員の安全と安心を見える化する実証実験サービス　INNOVATION
------------------------------------------------------------*/
.inn_wrap {
  margin: 160px auto 90px auto; }
  @media (max-width: 768px) {
    .inn_wrap {
      margin: 90px auto 50px auto; } }
  .inn_wrap .common-title h3 span:nth-of-type(1) {
    font-size: 75%; }
    @media (max-width: 768px) {
      .inn_wrap .common-title h3 span:nth-of-type(1) {
        font-size: 90%; } }
  .inn_wrap .common-title h3 span:nth-of-type(2) {
    font-size: 50%; }
    @media (max-width: 768px) {
      .inn_wrap .common-title h3 span:nth-of-type(2) {
        font-size: 75%; } }

.inn_detail {
  margin-top: 60px;
  display: flex;
  justify-content: space-between; }
  @media (max-width: 768px) {
    .inn_detail {
      margin-top: 20px; } }
  @media (max-width: 500px) {
    .inn_detail {
      flex-direction: column; } }
  .inn_detail li {
    width: 30%; }
    @media (max-width: 500px) {
      .inn_detail li {
        width: 100%; } }
    .inn_detail li h5 {
      margin-bottom: 10px;
      font-weight: bold;
      font-size: 20px;
      color: #3c7076; }
      @media (max-width: 768px) {
        .inn_detail li h5 {
          margin: 30px 0 10px 0;
          font-size: 18px; } }

.inn_box_wrap {
  margin-top: 90px;
  padding: 30px;
  position: relative;
  border: solid 1px #dbdbdb; }
  @media (max-width: 768px) {
    .inn_box_wrap {
      margin-top: 60px;
      padding: 5%; } }
  .inn_box_wrap .clip {
    width: 40px;
    position: absolute;
    top: -10px;
    right: 20px; }
  .inn_box_wrap .inn_box {
    display: flex;
    justify-content: center;
    align-items: center; }
    @media (max-width: 768px) {
      .inn_box_wrap .inn_box {
        flex-direction: column; } }
    .inn_box_wrap .inn_box img {
      width: 254px;
      margin-right: 30px; }
      @media (max-width: 768px) {
        .inn_box_wrap .inn_box img {
          width: 50%;
          height: auto;
          margin: 0 0 20px 0; } }
      @media (max-width: 500px) {
        .inn_box_wrap .inn_box img {
          width: 70%;
          margin: 10px 0 20px 0; } }

.inn_point {
  width: 100%; }
  .inn_point li:nth-child(1) {
    width: 50%;
    background-color: #5d8f91; }
    @media (max-width: 500px) {
      .inn_point li:nth-child(1) {
        width: 100%; } }
  .inn_point li:nth-child(2) {
    width: 50%;
    background-color: #3c7076; }
    @media (max-width: 500px) {
      .inn_point li:nth-child(2) {
        width: 100%; } }
  .inn_point li:nth-child(3) {
    width: 50%;
    background-color: #3c7076; }
    @media (max-width: 500px) {
      .inn_point li:nth-child(3) {
        width: 100%;
        background-color: #5d8f91; } }
  .inn_point li:nth-child(4) {
    width: 50%;
    background-color: #5d8f91; }
    @media (max-width: 500px) {
      .inn_point li:nth-child(4) {
        width: 100%;
        background-color: #3c7076; } }

.inn_message {
  background-image: url("../images/innovation/inn_building.svg");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: contain; }
  @media (max-width: 768px) {
    .inn_message {
      background-size: 150% auto; } }
  .inn_message p {
    width: 80%;
    max-width: 880px;
    margin: 0 auto; }
    @media (max-width: 500px) {
      .inn_message p {
        width: 90%; } }

.footer-inn-wrap {
  background-image: url("../images/innovation/inn_bk.webp"); }
  @media (max-width: 500px) {
    .footer-inn-wrap {
      background-position: center center; } }

.footer-inn p:nth-of-type(1) {
  margin: 0 0 20px 50px;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.6em;
  font-feature-settings: "palt"; }
  @media (max-width: 1400px) {
    .footer-inn p:nth-of-type(1) {
      margin: 0 0 20px 20px;
      font-size: 24px; } }
  @media (max-width: 768px) {
    .footer-inn p:nth-of-type(1) {
      margin: 40px 0 20px 0;
      font-size: 18px; } }
  @media (max-width: 500px) {
    .footer-inn p:nth-of-type(1) {
      margin: 0 0 20px 0;
      font-size: 18px;
      text-align: left; } }
.footer-inn p:nth-of-type(2) {
  margin: 0 0 50px 50px;
  text-align: left; }
  @media (max-width: 1400px) {
    .footer-inn p:nth-of-type(2) {
      margin: 0 0 50px 20px; } }
  @media (max-width: 768px) {
    .footer-inn p:nth-of-type(2) {
      margin: 0 0 20px 0; } }
.footer-inn .btn-l {
  min-width: 360px; }
  @media (max-width: 768px) {
    .footer-inn .btn-l {
      min-width: 300px; } }
  @media (max-width: 500px) {
    .footer-inn .btn-l {
      min-width: 200px; } }
  @media (max-width: 1200px) {
    .footer-inn .btn-l a {
      padding: 0 25px;
      font-size: 18px; } }
  @media (max-width: 768px) {
    .footer-inn .btn-l a {
      padding: 0 20px;
      font-size: 18px; } }
  @media (max-width: 500px) {
    .footer-inn .btn-l a {
      font-size: 15px; } }
  @media (max-width: 320px) {
    .footer-inn .btn-l a {
      padding: 0 12px;
      font-size: 13px; } }

/* 料金プラン PLAN
------------------------------------------------------------*/
.price-table {
  width: 100%;
  line-height: 1.6em; }
  .price-table th {
    width: 19%;
    padding: 15px 20px;
    font-weight: bold;
    text-align: left; }
    @media (max-width: 768px) {
      .price-table th {
        padding: 10px;
        font-size: 14px; } }
  .price-table td {
    width: 27%;
    padding: 15px 20px;
    border-left: dotted 2px #999999;
    text-align: center; }
    @media (max-width: 768px) {
      .price-table td {
        padding: 10px;
        font-size: 14px; } }
    .price-table td .price {
      width: 10em;
      margin: 0 auto;
      text-align: end;
      font-weight: bold; }
  .price-table tr:first-child th {
    border-bottom: solid 3px #e9eaed; }
  .price-table tr:first-child td {
    height: 140px;
    padding: 0;
    font-weight: bold;
    font-size: 30px;
    line-height: 1em;
    color: #fff;
    border-bottom: solid 3px #e9eaed;
    border-left: none;
    text-align: center; }
    @media (max-width: 1200px) {
      .price-table tr:first-child td {
        font-size: 26px; } }
    @media (max-width: 768px) {
      .price-table tr:first-child td {
        height: 100px;
        font-size: 20px; } }
    .price-table tr:first-child td .en {
      font-family: "League Spartan", sans-serif;
      font-optical-sizing: auto;
      font-weight: 600;
      font-style: normal;
      padding-top: 15px;
      font-size: 16px;
      line-height: 1em; }
      @media (max-width: 768px) {
        .price-table tr:first-child td .en {
          padding-top: 5px;
          font-size: 14px; } }
    .price-table tr:first-child td div {
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column; }
      .price-table tr:first-child td div.light {
        height: 100px;
        margin-top: 40px;
        background-color: #628fb5;
        border-radius: 20px 20px 0 0; }
        @media (max-width: 768px) {
          .price-table tr:first-child td div.light {
            height: 70px;
            margin-top: 30px; } }
      .price-table tr:first-child td div.basic {
        height: 140px;
        font-size: 120%;
        background-color: #2e4f51;
        border-radius: 20px 20px 0 0; }
        @media (max-width: 768px) {
          .price-table tr:first-child td div.basic {
            height: 100px; } }
        .price-table tr:first-child td div.basic .en {
          padding-top: 20px; }
          @media (max-width: 768px) {
            .price-table tr:first-child td div.basic .en {
              padding-top: 10px; } }
      .price-table tr:first-child td div.pro {
        height: 100px;
        margin-top: 40px;
        background-color: #5d8f91;
        border-radius: 20px 20px 0 0; }
        @media (max-width: 768px) {
          .price-table tr:first-child td div.pro {
            height: 70px;
            margin-top: 30px; } }
  .price-table tr:last-child th, .price-table tr:last-child td {
    border-bottom: solid 3px #e9eaed; }
  .price-table tr:nth-child(3) th, .price-table tr:nth-child(3) td, .price-table tr:nth-child(5) th, .price-table tr:nth-child(5) td, .price-table tr:nth-child(7) th, .price-table tr:nth-child(7) td, .price-table tr:nth-child(9) th, .price-table tr:nth-child(9) td {
    background-color: #e9eaed; }
  .price-table tr:not(:first-child) td {
    font-feature-settings: "palt"; }
  .price-table tr:nth-child(2) td .strong {
    font-size: 26px; }
    @media (max-width: 768px) {
      .price-table tr:nth-child(2) td .strong {
        font-size: 18px; } }
  .price-table tr:nth-child(3) td .strong {
    font-size: 22px; }
    @media (max-width: 768px) {
      .price-table tr:nth-child(3) td .strong {
        font-size: 16px; } }

.scroll-text {
  display: none; }
  @media (max-width: 500px) {
    .scroll-text {
      display: block; } }
  .scroll-text .text {
    padding: 0 5px;
    margin-bottom: 10px;
    text-align: center;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-align-items: center;
    align-items: center;
    color: #3c7076;
    font-size: 13px;
    line-height: 1.6em;
    background-color: #e9eaed;
    border-radius: 5px; }
    .scroll-text .text img {
      width: 10px;
      height: 11px; }

@media (max-width: 500px) {
  .table-scroll {
    overflow-x: scroll; }
    .table-scroll .price-table {
      width: 690px; } }

.price-option-table {
  width: 100%;
  line-height: 1.6em; }
  .price-option-table th {
    width: 33%;
    padding: 15px 20px;
    font-weight: bold;
    background-color: #e9eaed;
    text-align: left;
    border-bottom: solid 1px #dbdbdb; }
    @media (max-width: 768px) {
      .price-option-table th {
        padding: 10px;
        font-size: 14px; } }
  .price-option-table td {
    width: 33%;
    padding: 15px 20px;
    border-bottom: solid 1px #dbdbdb;
    text-align: center; }
    @media (max-width: 768px) {
      .price-option-table td {
        padding: 10px;
        font-size: 14px; } }
    .price-option-table td .price {
      width: 11em;
      margin: 0 auto;
      text-align: end;
      font-weight: bold; }
      @media (max-width: 500px) {
        .price-option-table td .price {
          width: 100%; } }
      .price-option-table td .price br {
        display: none; }
        @media (max-width: 500px) {
          .price-option-table td .price br {
            display: block; } }
    .price-option-table td .strong {
      font-size: 26px; }
      @media (max-width: 768px) {
        .price-option-table td .strong {
          font-size: 18px; } }
  .price-option-table tr:first-child th {
    background-color: #fff;
    font-weight: bold;
    border-bottom: solid 3px #e9eaed;
    text-align: center; }
  .price-option-table tr:last-child th, .price-option-table tr:last-child td {
    border-bottom: solid 3px #e9eaed; }

.plan-box {
  margin-bottom: 160px;
  padding: 40px;
  border: solid 1px #dbdbdb; }
  @media (max-width: 768px) {
    .plan-box {
      margin-bottom: 90px;
      padding: 5%; } }
  .plan-box li {
    padding-left: 1em;
    text-indent: -1em; }

/* サービス利用規約
------------------------------------------------------------*/
.list-terms {
  word-break: break-all; }
  .list-terms dt {
    padding-bottom: 20px;
    font-weight: bold; }
  .list-terms dd {
    padding: 0 0 50px 1em; }
    @media (max-width: 768px) {
      .list-terms dd {
        padding: 0 0 40px 1em; } }
    .list-terms dd ol li ol, .list-terms dd ol li ul {
      text-indent: 0; }

.terms-toc {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto 90px auto;
  padding: 30px 100px;
  position: relative;
  border: solid 1px #dbdbdb; }
  @media (max-width: 768px) {
    .terms-toc {
      width: 90%;
      margin: 0 auto 60px auto;
      padding: 30px; } }
  .terms-toc::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-top: 80px solid #dbdbdb;
    border-right: 80px solid transparent; }
    @media (max-width: 768px) {
      .terms-toc::before {
        border-top: 50px solid #dbdbdb;
        border-right: 50px solid transparent; } }
  .terms-toc::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    border-bottom: 80px solid #dbdbdb;
    border-left: 80px solid transparent; }
    @media (max-width: 768px) {
      .terms-toc::after {
        border-bottom: 50px solid #dbdbdb;
        border-left: 50px solid transparent; } }
  .terms-toc li {
    padding: 5px 0 0 0;
    font-weight: bold; }

.terms-intro {
  margin-bottom: 80px; }
  @media (max-width: 768px) {
    .terms-intro {
      margin-bottom: 70px; } }

.terms-content {
  width: 100%;
  max-width: 1200px;
  margin: 20px auto 0 auto;
  border: 1px solid #3c7076; }
  @media (max-width: 1200px) {
    .terms-content {
      width: calc(100% - 40px);
      margin: 20px 20px 0 20px; } }
  @media (max-width: 768px) {
    .terms-content {
      width: 90%;
      margin: 20px auto 0 auto; } }
  .terms-content .title {
    padding: 20px 80px 20px 20px;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6em; }
    @media (max-width: 768px) {
      .terms-content .title {
        padding: 5% 60px 5% 5%;
        font-size: 18px;
        line-height: 1.4em; } }

.license-content {
  margin-top: 60px;
  padding-top: 90px;
  border-top: 1px solid #dbdbdb; }
  @media (max-width: 768px) {
    .license-content {
      margin-top: 30px;
      padding-top: 60px; } }
  .license-content .inner {
    padding-left: 1em; }
    .license-content .inner p {
      padding-bottom: 30px; }
    .license-content .inner dt {
      padding: 30px 0 30px 1em;
      font-weight: bold; }
    .license-content .inner dd p {
      padding-bottom: 30px; }
    .license-content .inner dd li {
      padding: 0 0 30px 1em; }
      .license-content .inner dd li li:first-child {
        padding: 30px 0 30px 1em; }
    .license-content .inner .back {
      padding: 20px; }

/* プライバシーポリシー
------------------------------------------------------------*/
.privacy-content:nth-of-type(2) {
  margin-top: 120px; }
  @media (max-width: 768px) {
    .privacy-content:nth-of-type(2) {
      margin-top: 90px; } }
.privacy-content .indent1h {
  margin-bottom: 20px; }
  @media (max-width: 768px) {
    .privacy-content .indent1h {
      margin-top: 10px;
      margin-bottom: 0;
      padding-left: 0;
      text-indent: 0; } }
.privacy-content .list li, .privacy-content .list-number li {
  padding-bottom: 50px; }
  @media (max-width: 768px) {
    .privacy-content .list li, .privacy-content .list-number li {
      padding-bottom: 10px; } }
.privacy-content .list-number {
  padding-left: 1em; }
  .privacy-content .list-number li {
    list-style: decimal; }
  .privacy-content .list-number ol li {
    list-style: none; }
  .privacy-content .list-number li li {
    list-style: none; }
.privacy-content .privacy-content-text {
  padding-left: 1.2em;
  text-indent: -1.2em; }
  @media (max-width: 500px) {
    .privacy-content .privacy-content-text {
      padding-left: 0;
      text-indent: 0; } }
.privacy-content .privacy-content-text2 {
  padding-left: 1.4em;
  text-indent: -1.4em; }
  @media (max-width: 500px) {
    .privacy-content .privacy-content-text2 {
      padding-left: 0;
      text-indent: 0; } }
.privacy-content .privacy-content-text3 {
  padding-left: 1.4em;
  text-indent: -1.4em;
  margin-top: 10px; }
  @media (max-width: 500px) {
    .privacy-content .privacy-content-text3 {
      padding-left: 0;
      text-indent: 0; } }
.privacy-content .privacy-content-text4 {
  margin-bottom: 20px; }
  @media (max-width: 500px) {
    .privacy-content .privacy-content-text4 {
      padding-left: 0;
      text-indent: 0; } }

.privacy-content .list-number li ul.inner-list li {
  padding-bottom: 0;
  text-indent: 1.2em; }
.privacy-content .list-number li ul.inner-list li:last-of-type {
  padding-bottom: 30px;
  text-indent: 1.2em; }
  @media (max-width: 500px) {
    .privacy-content .list-number li ul.inner-list li:last-of-type {
      padding-bottom: 10px; } }

/* 特定商取引法に基づく表記
------------------------------------------------------------*/
@media (max-width: 500px) {
  .trading-law-content .table th, .trading-law-content .table td {
    padding: 10px; } }

.trading-law-text {
  margin-top: 30px; }
  @media (max-width: 768px) {
    .trading-law-text {
      margin-top: 10px;
      font-size: 14px; } }

/* お問い合わせ（入力画面/完了画面）*SATORIform
------------------------------------------------------------*/
/*　左カラム　*/
.contact-staff {
  max-width: 500px;
  padding-top: 160px; }
  @media (max-width: 768px) {
    .contact-staff {
      width: 50%;
      margin: 0 auto;
      padding-top: 30px; } }
  @media (max-width: 500px) {
    .contact-staff {
      width: 60%; } }

/* 右カラム */
#column-right-half .form-flow {
  width: 100%;
  padding-bottom: 30px; }
  @media (max-width: 768px) {
    #column-right-half .form-flow {
      width: 80%;
      margin: 0 auto; } }
  @media (max-width: 500px) {
    #column-right-half .form-flow {
      width: 100%; } }
  #column-right-half .form-flow img {
    width: 100%;
    height: auto; }

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="reset"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="reset"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

/* form基本 */
input {
  height: 2em;
  padding: 0.5em;
  border: solid 1px #999;
  background: #fff; }

textarea {
  width: 100%;
  height: 15em;
  margin: 0;
  padding: 0.5em;
  border: solid 1px #999;
  display: block;
  background: #fff; }

select {
  width: 100%;
  height: 2em;
  padding: 0 0.3em;
  border: solid 1px #999;
  background: #fff; }

/* SATORI用 */
.form-box {
  width: 100%;
  padding: 20px 10px;
  background-color: #e9eaed; }
  @media (max-width: 500px) {
    .form-box {
      padding: 10px 5px; } }
  .form-box input {
    height: auto !important; }
  .form-box .inner {
    padding: 10px; }

@media screen and (max-width: 760px) {
  .satori__custom_form_cbbe3b3ea317cc84_css {
    font-size: 14px !important;
    color: #323232 !important; } }
.satori__custom_form_cbbe3b3ea317cc84_css {
  width: 100% !important;
  max-width: initial !important;
  background-color: #e9eaed !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css input[type=checkbox], .satori__custom_form_cbbe3b3ea317cc84_css input[type=radio] {
    background-color: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    border: solid 1px #999 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='text'],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='tel'],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='password'],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='email'],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='number'],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='url'],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group textarea {
    background-color: #fff !important;
    border-radius: 0 !important;
    box-shadow: none !important; }
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='text']:focus,
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='tel']:focus,
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='password']:focus,
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='email']:focus,
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='number']:focus,
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group input[type='url']:focus,
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group textarea:focus {
      border: solid 1px #999 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group label:first-child {
    color: #323232 !important;
    font-weight: bold !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css input[type=checkbox] + label,
  .satori__custom_form_cbbe3b3ea317cc84_css input[type=radio] + label {
    color: #323232 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__system_notes {
    color: #323232 !important;
    font-weight: normal !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__notes {
    color: #323232 !important;
    background: #dbdbdb !important;
    border: none !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__require {
    margin: 0 0.5em 0.3em 0.5em;
    color: #f05534 !important;
    background: #e9eaed !important;
    border: solid 1px #f05534 !important;
    border-radius: 0 !important;
    font-weight: normal !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__not_require {
    margin: 0 0.5em 0.3em 0.5em !important;
    color: #347099 !important;
    border: solid 1px #347099 !important;
    background: #e9eaed !important;
    border-radius: 0 !important;
    font-weight: normal !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__message a {
    color: #008de2 !important;
    text-decoration: underline !important;
    -webkit-transition: all .3s !important;
    transition: all .3s !important; }
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__message a:hover {
      opacity: 0.6 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css input[type=checkbox]:checked + label, .satori__custom_form_cbbe3b3ea317cc84_css input[type=radio]:checked + label {
    color: #323232 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__btn {
    min-width: 200px !important;
    height: 42px !important;
    border-radius: 21px !important;
    line-height: 1em !important;
    font-weight: bold !important;
    -webkit-transition: all .3s !important;
    transition: all .3s !important; }
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__btn:hover {
      opacity: 0.8 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__btn {
    background-color: #3c7076 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__btn.cancel {
    background-color: #666 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group.error input[type=email],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group.error input[type=number],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group.error input[type=password],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group.error input[type=tel],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group.error input[type=text],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group.error input[type=url],
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group.error textarea {
    border-color: #999 !important; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group .satori__error_messages {
    color: #f05534 !important; }

.satori__custom_form_cbbe3b3ea317cc84_css {
  overflow: hidden; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group:nth-child(1), .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group:nth-child(2) {
    width: 50%;
    float: left; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__input_group:nth-child(3) {
    clear: both; }
  .satori__custom_form_cbbe3b3ea317cc84_css .satori__privacy_policy_agreement_wrapper_cbbe3b3ea317cc84 {
    overflow: hidden; }
    .satori__custom_form_cbbe3b3ea317cc84_css .satori__privacy_policy_agreement_wrapper_cbbe3b3ea317cc84 .satori__input_group {
      width: 100%;
      float: none; }

/* 完了画面 */
.complete-flow-img {
  width: 100%;
  height: auto;
  margin: 0 auto;
  max-width: 540px; }
  @media (max-width: 768px) {
    .complete-flow-img {
      width: 60%; } }
  @media (max-width: 500px) {
    .complete-flow-img {
      width: 100%; } }
  .complete-flow-img img {
    width: 50%;
    height: auto;
    margin: 0 auto; }
    @media (max-width: 500px) {
      .complete-flow-img img {
        width: 100%; } }

.complete-title {
  padding: 50px 0 90px 0;
  color: #628fb5;
  font-size: 30px;
  font-weight: bold;
  line-height: 1.6em;
  text-align: center; }
  @media (max-width: 768px) {
    .complete-title {
      font-size: 20px;
      padding: 30px 0 50px 0; } }
  @media (max-width: 500px) {
    .complete-title {
      text-align: left; } }

.list-box {
  width: 100%;
  border: solid 1px #dbdbdb;
  padding: 50px; }
  @media (max-width: 768px) {
    .list-box {
      padding: 5%; } }
  .list-box h4 {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6em; }
    .list-box h4:first-child {
      margin: 0 0 20px 0; }
    .list-box h4:not(:first-child) {
      margin: 40px 0 20px 0; }
    @media (max-width: 768px) {
      .list-box h4 {
        font-size: 18px;
        line-height: 1.4em; } }
  .list-box .inner {
    padding-left: 1em; }

/*
------------------------------------------------------------
------------------------------------------------------------
調整
------------------------------------------------------------
------------------------------------------------------------*/
.none-top {
  margin-top: 0 !important;
  padding-top: 0 !important; }

.none-bottom {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

.PT90-PT30 {
  padding-top: 90px; }
  @media (max-width: 768px) {
    .PT90-PT30 {
      padding-top: 30px; } }

.PT60-PT30 {
  padding-top: 60px; }
  @media (max-width: 768px) {
    .PT60-PT30 {
      padding-top: 50px; } }

.MT60-MT50 {
  margin-top: 60px; }
  @media (max-width: 768px) {
    .MT60-MT50 {
      margin-top: 50px; } }

/*PCとSPの非表示指示*/
@media screen and (min-width: 769px) {
  .pc-none {
    display: none; } }
@media (max-width: 768px) {
  .sp-none {
    display: none; } }

@media (max-width: 500px) {
  .tb-block {
    display: none; } }

.tb-only {
  display: none; }
  @media (max-width: 768px) {
    .tb-only {
      display: block; } }
  @media (max-width: 500px) {
    .tb-only {
      display: none; } }

.sp-only {
  display: none; }
  @media (max-width: 500px) {
    .sp-only {
      display: block; } }

/* cookie approval */
.cookie-consent {
  width: 100%;
  padding: 15px;
  display: flex;
  align-items: center;
  position: fixed;
  bottom: 0;
  font-size: 12px;
  background: rgba(0, 0, 0, 0.7);
  line-height: 1.4em;
  z-index: 11; }
  @media (max-width: 500px) {
    .cookie-consent {
      padding: 10px; } }

.cookie-consent.is-show {
  visibility: visible; }

.cookie-agree {
  width: 42px;
  height: 42px;
  margin-right: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff; }
  @media (max-width: 500px) {
    .cookie-agree {
      margin-right: 10px; } }
  .cookie-agree img {
    width: 16px;
    height: 16px; }
  .cookie-agree:hover {
    cursor: pointer; }

.cookie-text {
  width: calc(100% - 62px);
  color: #fff; }
  @media (max-width: 500px) {
    .cookie-text {
      width: calc(100% - 52px); } }
  .cookie-text a {
    color: #fff !important;
    text-decoration: underline; }

/* パッと消える */
.cc-hide1 {
  display: none; }

/* ゆっくり消える */
.cc-hide2 {
  animation: hide 1s linear 0s;
  animation-fill-mode: forwards; }

@keyframes hide {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    visibility: hidden; } }
