.detail-post-content {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .detail-post-content {
    padding: 0 30px;
    margin-bottom: 70px;
  }
}

.detail-post-content > h2 {
  font-size: 28px;
  letter-spacing: 0.5px;
  line-height: 1.5;
  margin-bottom: 30px;
  font-weight: bold;
}

.detail-post-content > h3 {
  font-size: 16px;
  line-height: 2;
  margin-top: 30px;
  margin-bottom: 20px;
  font-weight: bold;
}

.detail-post-content > p {
  font-size: 16px;
  line-height: 2;
  margin-bottom: 20px;
}

.detail-post-content a {
  color: #1565C0;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .detail-post-content a:hover {
    text-decoration: none;
  }
}

.detail-post-content .mark {
  font-weight: bold;
  padding: 0 2px 4px;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(0%, #FFF2C2));
  background: linear-gradient(transparent 40%, #FFF2C2 0%);
  margin: 0 8px;
}

.detail-post-content strong {
  font-weight: bold;
}

.detail-post-content blockquote {
  background-color: #F7F7F7;
  padding: 40px;
  margin: 90px 0 60px;
  position: relative;
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
}

@media screen and (max-width: 767px) {
  .detail-post-content blockquote {
    margin: 60px -30px 30px;
    padding: 40px 30px 30px;
  }
}

.detail-post-content blockquote:before {
  content: "";
  display: block;
  position: absolute;
  top: -50px;
  left: 15px;
  width: 80px;
  height: 80px;
  background: url(../../img/common/img_quote.svg) no-repeat center;
  opacity: .5;
}

@media screen and (max-width: 767px) {
  .detail-post-content blockquote:before {
    left: 27px;
  }
}

.detail-post-content blockquote p {
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
}

.detail-post-content blockquote p:last-child {
  margin-bottom: 0;
}

.detail-post-content > ul {
  margin-bottom: 60px;
  padding-left: 30px;
}

@media screen and (max-width: 767px) {
  .detail-post-content > ul {
    padding-left: 0;
    margin-bottom: 30px;
  }
}

.detail-post-content ul.ul__term {
  padding-left: 10px;
  margin-bottom: 20px;
  margin-top: 10px;
}

.detail-post-content ul.ul__term--no-decoration {
  padding-left: 0px;
  margin-bottom: 20px;
}

.detail-post-content > ul li {
  position: relative;
  font-size: 16px;
  line-height: 26px;
  padding-left: 15px;
}

.detail-post-content ul.ul__term > li {
  line-height: 20px;
}

.detail-post-content ul.ul__term--no-decoration > li {
  padding-left: 0px;
}

.detail-post-content > ul li:not(:first-child) {
  margin-top: 10px;
}

.detail-post-content > ul li:before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1565C0;
  position: absolute;
  top: 9px;
  left: 0;
}

.detail-post-content ul.ul__term > li:before {
  content: '';
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #323B44;
  position: absolute;
  top: 9px;
  left: 0;
}

.detail-post-content ul.ul__term--no-decoration > li:before {
  width: 0;
  height: 0;
}

.detail-post-content > ol {
  margin-left: 18px;
  font-size: 16px;
}

.detail-post-content > ol > li {
  list-style-type: decimal;
}

.detail-post-content img {
  display: block;
  max-width: 800px;
  height: auto;
  margin: 30px auto;
}

@media screen and (max-width: 767px) {
  .detail-post-content img {
    width: 100%;
  }
}

.detail-post {
  width: 800px;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .detail-post {
    width: 100%;
  }
}

.detail-post__header {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .detail-post__header {
    margin-bottom: 30px;
    padding: 0 30px;
  }
}

.detail-post__heading {
  font-size: 36px;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 10px;
  color: #323B44;
}

@media screen and (max-width: 767px) {
  .detail-post__heading {
    font-size: 32px;
  }
}

.detail-post__category {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
}

.detail-post__body {
  margin-top: 30px;
}

.detail-post-content {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .detail-post-content {
    padding: 0 30px;
    margin-top: 0;
    margin-bottom: 0;
  }
}

/* 資料ダウンロード */
.detail-material-thumbnail img {
  display: block;
  max-width: 800px;
  height: auto;
  margin: 30px auto;
}

@media screen and (max-width: 767px) {
  .detail-material-thumbnail img {
    width: 100%;
    margin: 0px 0px 30px 0px;
  }
}

.detail-material__points {
  margin-top: 50px;
  margin-bottom: 60px;
}

.detail-material__heading {
  font-size: 42px;
  line-height: 63px;
  font-weight: bold;
  margin-bottom: 50px;
  color: #1565C0;
  text-align: center;
}

.detail-material__description {
  margin-top: 30px;
  font-size: 16px;
  line-height: 2;
}

.material-point__title {
  position: absolute;
  top: -16px;
  left: 0;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: bold;
  line-height: 24px;
  text-align: center;
  padding: 8px 16px;
  background: #434E5B;
}

.material-point__title:before {
  content: "";
  display: block;
  position: absolute;
  left: calc(100% - 1px);
  bottom: 0;
  border: 8px solid #434E5B;
  border-top-color: transparent;
  border-right-color: transparent;
}

.material-point {
  position: relative;
  padding: 50px 30px 30px;
  background-color: #FFFFFF;
  -webkit-box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.15);
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.15);
}

@media screen and (max-width: 767px) {
  .material-point {
    margin: 0 -30px;
  }
}

.material-point__title {
  position: absolute;
  top: -16px;
  left: 0;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: bold;
  line-height: 24px;
  text-align: center;
  padding: 8px 16px;
  background: #434E5B;
}

@media screen and (max-width: 767px) {
  .material-point__title {
    left: 30px;
  }
}

.material-point__title:before {
  content: "";
  display: block;
  position: absolute;
  left: calc(100% - 1px);
  bottom: 0;
  border: 8px solid #434E5B;
  border-top-color: transparent;
  border-right-color: transparent;
}

.material-point__item {
  position: relative;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5;
  padding-left: 15px;
}

.material-point__item:not(:first-child) {
  margin-top: 10px;
}

.material-point__item:before {
  content: '';
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #1565C0;
  position: absolute;
  top: 9px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .detail-material__heading {
    font-size: 32px;
    line-height: 42px;
    margin-bottom: 30px;
    padding: 0 30px;
    text-align: center;
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .material-point__title {
    left: 30px;
  }
}

.detail-material-content a.c-button {
  display: inline-block;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: 0;
  width: 100%;
  font-weight: bold;
  cursor: pointer;
  -webkit-transition: 200ms;
  transition: 200ms;
  opacity: 1;
  text-decoration: none;
  margin-bottom: 16px;
}

.detail-material-content a.c-button:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .detail-material-content a.c-button {
    -webkit-transition: none;
    transition: none;
  }
  .detail-material-content a.c-button:hover {
    opacity: 1;
  }
}

.detail-material-content a.c-button--primary {
  background: -webkit-gradient(linear, left top, right top, from(#1565C0), to(#03A9F4));
  background: linear-gradient(90deg, #1565C0 0%, #03A9F4 100%);
  color: white !important;
}

.detail-material-content a.c-button--secondary {
  background: -webkit-gradient(linear, left top, right top, from(#F49219), to(#FFB42D));
  background: linear-gradient(90deg, #F49219 0%, #FFB42D 100%);
  color: white !important;
}

.detail-material-content a.c-button--white {
  background: #FFFFFF;
  color: #1565C0;
}

.detail-material-content a.c-button--xl {
  max-width: 420px;
  width:100%;
  font-size: 24px;
  text-align: center;
  line-height: 26px;
  border-radius: 35px;
  padding: 22px 0;
  -webkit-box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
}

.detail-material-content a.c-button--l {
  max-width: 326px;
  width: 100%;
  font-size: 22px;
  text-align: center;
  line-height: 24px;
  border-radius: 30px;
  padding: 18px 0;
  -webkit-box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
}

.detail-material-content a.c-button--m {
  width: 140px;
  font-size: 16px;
  text-align: center;
  line-height: 24px;
  border-radius: 21px;
  padding: 9px 0;
  -webkit-box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
}

/* 固定ページの汎用的なスタイル */
.detail-page__heading {
  font-size: 42px;
  line-height: 63px;
  text-align: center;
  font-weight: bold;
  margin-bottom: 50px;
  color: #1565C0;
}

@media screen and (max-width: 767px) {
  .detail-page__heading {
    font-size: 32px;
    line-height: 42px;
    margin-bottom: 30px;
    padding: 40px 30px 0;
  }
}

.detail-post-content .c-button--auto-width {
  text-decoration: none;
}

/* 企業情報 */
.company__section + .company__section {
  margin-top: 100px;
}

@media screen and (max-width: 767px) {
  .company__section + .company__section {
    margin-top: 60px;
  }
}

.company__section--company-top {
  padding-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .company__section--company-top {
    padding-bottom: 40px;
  }
}

.company__title--sub {
  font-size: 28px;
  letter-spacing: 0.5px;
  line-height: 1.5;
  margin-bottom: 30px;
  font-weight: bold;
}

.company__lead {
  font-size: 22px;
  margin-bottom: 20px;
  font-weight: bold;
}

.company__block--services {
  border: 1px solid #cbddff;
  padding: 10px 0 10px;
  text-align: center;
  margin-top: 30px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .company__block--services {
    padding: 30px 0 0px;
  }
}

.company__title--services {
  line-height: 1.5;
  margin-bottom: 30px;
  text-align: center;
  position: absolute;
  width: 100%;
  top: -24px;
}

@media screen and (max-width: 767px) {
  .company__title--services {
    margin-bottom: 15px;
  }
}

.company__title--services span {
  color: #003990;
  display: inline-block;
  background-color: #FFF;
  font-weight: bold;
  font-size: 22px;
  letter-spacing: 0.5px;
  padding: 10px 30px;
}

@media screen and (max-width: 767px) {
  .company__title--services span {
    font-size: 14px;
    padding: 10px 10px;
  }
}

.company-overview__dl {
  display: flex;
  display: -webkit-box;
  display: -ms-flexbox;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
  .company-overview__dl {
    display: block;
    margin-bottom: 20px;
  }
}

.company-overview__dl dt,
.company-overview__dl dd {
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E0E4E8;
}

.company-overview__dl dt {
  width: 20%;
}

@media screen and (max-width: 767px) {
  .company-overview__dl dt {
    padding-bottom: 5px;
    border-top: 1px solid #E0E4E8;
    border-bottom: none;
    font-weight: bold;
  }
}

.company-overview__dl dd {
  width: 80%;
}

@media screen and (max-width: 767px) {
  .company-overview__dl dd {
    padding-top: 0px;
    border-bottom: none;
  }
}

@media screen and (max-width: 767px) {
  .company-overview__dl dt,
  .company-overview__dl dd {
    width: 100%;
  }
}

.company-overview__dl p {
  line-height: 1.5;
}

.company-overview__dl p + p {
  margin-top: 10px;
}

/* 健康経営優良法人 */
.company-overview__had {
  display: flex;
  justify-content: space-between;
  margin-bottom: 90px;
}

@media screen and (max-width: 767px) {
  .company-overview__had {
    display: block;
    margin-bottom: 0px;
  }
}

.company-overview__had--img {
  flex-basis: 360px;
  text-align: center;
}

.company-overview__had--img img {
  width: 100%;
  margin: 0;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .company-overview__had--img img {
    display: inline-block;
    max-width: 320px;
    height: auto;
  }
}

.company-overview__had--text {
  flex-basis: 406px;
}

@media screen and (max-width: 767px) {
  .company-overview__had--text {
    margin-top: 20px;
  }
}

.company-overview__had--text-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 5px;
}

.company-overview__had--text p{
  font-size: 14px;
}


.company-services__subtitle {
  align-content: center;
  align-items: center;
  border-radius: 4px;
  flex: none;
  flex-direction: row;
  flex-wrap: nowrap;
  height: auto;
  justify-content: flex-start;
  margin: 80px 0px 20px 0px;
  padding: 24px 32px 24px;
  width: 100%;
  max-width: 100%;
  font-size: 17px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .company-services__subtitle {
    text-align: center;
    margin: 40px 0px 20px 0px;
  }
}

.company-services__subtitle-01 {
  background: #ffdfc2;
}

.company-services__subtitle-02 {
  background: #fff0c5;
}

.company-services__subtitle-03 {
  background: #ceedea;
}

.company-services__subtitle span:nth-of-type(1) {
  border-radius: 320px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 400;
  height: auto;
  letter-spacing: 0.1em;
  line-height: 1.4;
  margin: 0px 16px 0px 0px;
  padding: 6px 32px;
  text-align: center;
  width: auto;
  max-width: calc(100% - 16px);
  justify-content: center;
  font-weight: bold;
  display: inline;
}

@media screen and (max-width: 767px) {
  .company-services__subtitle span:nth-of-type(1) {
    display: inline-block;
    margin-bottom: 10px;
  }
}

.company-services__subtitle-01 span:nth-of-type(1) {
  background: #f5791e;
}

.company-services__subtitle-02 span:nth-of-type(1) {
  background: #ffe03b;
  color: #323B44;
}

.company-services__subtitle-03 span:nth-of-type(1) {
  background: #099f91;
}

.company-services__subtitle span:nth-of-type(2) {
  display: inline;
}

@media screen and (max-width: 767px) {
  .company-services__subtitle span:nth-of-type(2) {
    display: block;
  }
}

.company-services__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  margin-top: 40px;
  column-gap: 3.3333%;
}

@media screen and (max-width: 767px) {
  .company-services__items {
    margin-top: 20px;
    margin-bottom: 60px;
  }
}

.company-services__items li {
  flex-basis: 30%;
  margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .company-services__items li {
    flex-basis: 100%;
  }
}

.company-services__service-image {
  box-shadow: 2px 2px 4px rgb(0 0 0 / 3%);
  margin-bottom: 15px;
  position: relative;
  height: 150px;
  text-align: center;
}

.company-services__service-image a {
  height: 150px;
  display: block;
  top: 0;
  left: 0;
  text-align: center;
}

.company-services__service-image span {
  position: absolute;
  top: 0;
  left: 0;
}

.company-services__service-image img {
  max-width: 90%;
  height: auto;
  margin: 0;
  padding-top: 50px;
  display: inline-block;
}

.company-services__service-image span img {
  width: 70px;
  height: auto;
  margin: 0;
  padding-top: 0px;
}

.company-services__service-image a:hover {
  opacity: 0.6;
}

.company-services__service-title {
  font-weight: bold;
  font-size: 15px;
  line-height: 1.5;
  margin-bottom: 5px;
}

.company-services__items li p {
  font-size: 14px;
  line-height: 1.5;
}

/* -----------------------------
サービス一覧ページ 追従ナビゲーション
----------------------------- */
.services__nav_wrapper {
  background-color: #ffffff;
  width: 100%;
  height: 52px;
  z-index: 1;
  display: none;
}

@media screen and (max-width: 767px) {
  .services__nav_wrapper {
    visibility: hidden;
  }
}

.services__nav_wrapper.fixed {
  position: fixed;
  display: block;
}

.services__nav {
  display: flex;
  width: 1240px;
  margin: 0 auto 64px auto;
  padding: 20px 24px 16px;
  gap: 56px;
}

.services__nav a {
  text-decoration: none;
}

.services__nav li {
  font-weight: 700;
  font-size: 14px;
  line-height: 100%;
  text-align: center;
  letter-spacing: 0.03em;
  color: #353535;
}

.services__nav li::after {
  content:'';
  position: absolute;
  margin-left: 10px;
  margin-top: 2px;
  width: 8px;
  height: 8px;
  border-top: 2px solid #1565C0;
  border-right:2px solid #1565C0;
  transform: rotate(135deg);
}

/* -----------------------------
サービス一覧ページ タブ
----------------------------- */
.services__wrapper {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  position: relative;
}

.services__tab {
  display: flex;
  width: 1240px;
  margin: 0 auto 64px auto;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .services__tab {
    margin: 16px auto 0 auto;
    width: auto;
  }
}

.services__tab li a {
  width: 600px;
  display: flex;
  justify-content: center;
  background:#eef0f3;
  margin:0 8px;
  padding: 20px;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  letter-spacing: 0.05em;
  color: #858585;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .services__tab li a {
    width: 160px;
    font-size: 16px;
    padding: 12px;
    margin: 0 4px;
    flex-direction: column;
    align-items: center;
  }
}

.services__tab li.active a {
  background:#fff;
  color: #333333;
  padding:16px 20px;
  border-left: 2px solid #C9C9C9;
  border-right: 2px solid #C9C9C9;
  border-top: 8px solid #1565C0;
}

@media screen and (max-width: 767px) {
  .services__tab li.active a {
    border-top: 6px solid #1565C0;
    padding: 10px;
  }
}

.services__tab li.active span {
  color: #1565C0;
}

/* .area {
  display: none;
  opacity: 0;
  background: #fff;
  padding:50px 20px;
}

.area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
} */

@keyframes displayAnime{
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

/* -----------------------------
サービス一覧ページ タブ 一覧から探す
----------------------------- */
.services__list__heading {
  color: #333333;
  font-size: 28px;
  font-weight: bold;
  line-height: 1;
  width: 1240px;
  margin: 0 auto 24px auto;
}

@media screen and (max-width: 767px) {
  .services__list__heading {
    font-size: 18px;
    margin: 32px auto 24px auto;
    width: auto;
    text-align: center;
  }
}

.services__list_cards_wrapper {
  background-color: #F5FBFD;
}

.services__list_cards {
  display: flex;
  gap: 40px;
  margin: 0 auto 48px auto;
  width: 1240px;
  padding: 24px 0 40px 0;
}

@media screen and (max-width: 767px) {
  .services__list_cards {
    flex-wrap: wrap;
    width: auto;
    margin: 0 calc(40 / 375 * 100vw);
    justify-content: space-between;
    gap: 0;
    padding: 8px 0;
  }
}

.services__list_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  gap: 8px;
}

@media screen and (max-width: 767px) {
  .services__list_card {
    width: calc(40% - 4px);
    gap: 0;
  }
}

.services__list_card img {
  width: 196px;
  margin: 24px 0 !important;
}

@media screen and (max-width: 767px) {
  .services__list_card img {
    width: 120px;
    margin: 16px 0 16px 0 !important;
  }
}

.services__list_card h3 {
  font-size: 20px;
  color: #1565C0;
  font-weight: 700;
  line-height: 1.6;
  padding-bottom: 8px;
}

@media screen and (max-width: 767px) {
  .services__list_card h3 {
    font-size: 14px;
    text-align: center;
  }
}

.services__list_card p {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  color: #323B44;
  width: 260px;
  height: 100px;
}

@media screen and (max-width: 767px) {
  .services__list_card p {
    width: 150px;
    font-size: 13px;
  }
}

.services__list_card p span {
  font-weight: 700;
}

.services__list_button_wrapper {
  display: flex;
  justify-content: center;
  padding: 16px 0;
}

.services__list_button_wrapper a {
  text-decoration: none;
}

.services__list_button_wrapper span {
  color: #FFFFFF;
}

.services__list_button {
  width: 240px;
  height: 52px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  line-height: 36px;
  border-radius: 48px;
  padding: 8px 48px;
  background: -webkit-gradient(linear, left top, right top, from(#1565C0), to(#03A9F4));
  background: linear-gradient(90deg, #1565C0 0%, #03A9F4 100%);
  -webkit-box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
  display: flex;
  justify-content: space-around;
  align-items: center;

}

@media screen and (max-width: 767px) {
  .services__list_button {
    font-size: 15px;
    width: calc(148/375 * 100vw);
    height: auto;
    padding: 4px 0;
    justify-content: center;
    gap: 4px;
  }
}

.services__list_button img {
  width: 24px;
  margin: 0 !important;
}

@media screen and (max-width: 767px) {
  .services__list_button img {
    width: 20px;
    margin: 0 !important;
  }
}

/* -----------------------------
サービス一覧ページ タブ 目的・課題から探す
----------------------------- */
.services__plan__index_wrapper.index-06 {
  margin: 0 auto;
  width: 1240px;
  height: 280px;
  background: no-repeat;
  background-image: url(../../img/index_bg6.webp);
  padding-top: 56px;
}

.services__plan__index_wrapper.index-05 {
  margin: 0 auto;
  width: 1240px;
  height: 280px;
  background: no-repeat;
  background-image: url(../../img/index_bg5.webp);
  padding-top: 56px;
}

.services__plan__index_wrapper.index-04 {
  margin: 0 auto;
  width: 1240px;
  height: 280px;
  background: no-repeat;
  background-image: url(../../img/index_bg4.webp);
  padding-top: 56px;
}

.services__plan__index_wrapper.index-03 {
  margin: 0 auto;
  width: 1240px;
  height: 280px;
  background: no-repeat;
  background-image: url(../../img/index_bg3.webp);
  padding-top: 56px;
}

.services__plan__index_wrapper.index-02 {
  margin: 0 auto;
  width: 1240px;
  height: 280px;
  background: no-repeat;
  background-image: url(../../img/index_bg2.webp);
  padding-top: 56px;
}

.services__plan__index_wrapper.index-01 {
  margin: 0 auto;
  width: 1240px;
  height: 280px;
  background: no-repeat;
  background-image: url(../../img/index_bg1.webp);
  padding-top: 56px;
}

@media only screen and (max-width: 767px) {
  .services__plan__index_wrapper.index-01,
  .services__plan__index_wrapper.index-02,
  .services__plan__index_wrapper.index-03,
  .services__plan__index_wrapper.index-04,
  .services__plan__index_wrapper.index-05,
  .services__plan__index_wrapper.index-06 {
    margin: 0 calc(16/375 * 100vw) 24px calc(16/375 * 100vw);
    width: auto;
    background-image: none;
    padding-top: 0;
    height: auto;
  }
}

.services__plan__index img {
  width: 72px;
  margin: 0 auto !important;
}

@media only screen and (max-width: 767px) {
  .services__plan__index img {
    width: 48px;
    margin: 0 !important;
  }
}

.services__plan__index {
  display: flex;
  align-items: center;
  box-shadow: 1px 1px 8px rgba(75, 75, 75, 0.15);
  background-color: #FFFFFF;
  width: 780px;
  margin: 0 auto;
  padding-left: 0 !important;
}

@media only screen and (max-width: 767px) {
  .services__plan__index {
    flex-direction: column;
    width: auto;
    align-items: stretch;
    box-shadow: none;
  }
}

.services__plan__index_sp_img img {
  margin: 0 !important;
}

.services__plan__index_top_outer_wrapper {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 1240px;
  margin: 32px auto 0 auto;
}

@media only screen and (max-width: 767px) {
  .services__plan__index_top_outer_wrapper_sp {
    display: flex !important;
    flex-direction: column;
    margin: 0 !important;
    gap: 16px;
    width: auto;
  }
}

.services__plan__index_top_inner_wrapper {
  display: flex;
  gap: 32px;
  justify-content: left;
}

@media only screen and (max-width: 767px) {
  .services__plan__index_top_inner_wrapper_sp {
    display: flex !important;
    gap: 16px;
    justify-content: center;
    margin-top: 32px;
  }
}

.services__plan__index_top_wrapper {
  padding: 16px 24px;
  background-color: #FFFFFF;
  box-shadow: 1px 1px 6px rgba(75, 75, 75, 0.15);
  width: 394px;
  height: 250px;
}

@media only screen and (max-width: 767px) {
  .services__plan__index_top_wrapper {
    width: 150px;
    padding: 4px 4px 32px;
    /* height: 210px; */
  }
}

.services__plan__index_top_wrapper a {
  text-decoration: none;
}

.services__plan__index.top {
  width: auto;
  flex-direction: column;
  gap: 16px;
  padding: 0 !important;
  box-shadow: none;
}

@media only screen and (max-width: 767px) {
  .services__plan__index.top {
    width: fit-content;
    gap: 8px;
  }
}

.services__plan__index.top img {
  width: 48px;
}

@media only screen and (max-width: 767px) {
  .services__plan__index.top img {
    width: 24px;
  }
}

.services__plan__index.top p {
  font-weight: 500;
  font-size: 16px;
  line-height: 1.7;
  color: #323B44;
}

@media only screen and (max-width: 767px) {
  .services__plan__index.top p {
    font-size: 13px;
    padding: 0 8px;
  }
}

.services__plan__index_text.top::after {
  content:'';
  position: absolute;
  margin-top: 324px;
  margin-left: 128px;
  width: 12px;
  height: 12px;
  border-top: 3px solid #1565C0;
  border-right:3px solid #1565C0;
  transform: rotate(135deg);
}

@media only screen and (max-width: 767px) {
  .services__plan__index_text.top::after {
    margin-top: 56px;
    margin-bottom: -338px;
    margin-left: 0;
    width: 8px;
    height: 8px;
    border-top: 2.5px solid #1565C0;
    border-right: 2.5px solid #1565C0;
  }
}

.services__plan__index_tag {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.services__plan__index_subcategory {
  font-weight: 500;
  font-size: 15px;
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
  letter-spacing: 0.05em;
}

@media only screen and (max-width: 767px) {
  .services__plan__index_subcategory {
    font-size: 12px;
  }
}

.services__plan__index_category {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.4;
  color: #ffffff;
  text-align: center;
  letter-spacing: 0.12em;
}

@media only screen and (max-width: 767px) {
  .services__plan__index.top .services__plan__index_category {
    font-size: 13px;
  }
}

@media only screen and (max-width: 767px) {
  .services__plan__index_category {
    font-size: 20px;
  }
}

.services__plan__index_text {
  display: flex;
  align-items: center;
  background-color: #1565C0;
  padding: 48px 40px;
  gap: 24px;
  width: auto;
}

@media only screen and (max-width: 767px) {
  .services__plan__index_text {
    padding: 8px 8px 8px 24px;
    border-radius: 8px;
    gap: 12px;
    width: auto;
    height: 64px;
    justify-content: center;
  }
}

.services__plan__index_text.top {
  padding: 8px 40px;
  gap: 24px;
  width: 345px;
  border-radius: 8px;
  justify-content: left;
}

@media only screen and (max-width: 767px) {
  .services__plan__index_text.top {
    width: auto;
    padding: 8px 8px 8px 0;
    gap: 0;
    justify-content: space-around;
    margin: 0 4px;
    border-radius: 0;
  }
}

.services__plan_anchor_wrapper li {
  text-align: left;
  font-weight: 700;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.03em;
}

@media only screen and (max-width: 767px) {
  .services__plan_anchor_wrapper li {
    font-size: 14px;
  }
}

.services__plan_anchor_wrapper li a {
  text-decoration: none;
  color: #353535;
  display: inline-block;
  transition-duration: .3s;
  transition-timing-function: ease;
}

.services__plan_anchor_wrapper li a:hover {
  transition-duration: .3s;
  transition-timing-function: ease;
  opacity: 70%;
}

@media only screen and (max-width: 767px) {
  .services__plan_anchor_wrapper li a:hover {
    opacity: 100%;
  }
}

.services__plan_anchor_wrapper li.has-child {
  border-bottom: 1px solid #C9C9C9;
  width: 340px;
}

@media only screen and (max-width: 767px) {
  .services__plan_anchor_wrapper li.has-child {
    width: auto;
  }
}

.services__plan_anchor_wrapper li.has-child a {
  display: block;
  padding: 8px 30px 8px 16px;
}

.services__plan_anchor_wrapper .has-child::after {
  content:'';
  position: absolute;
  margin-left: 300px;
  margin-top: -26px;
  width: 10px;
  height: 10px;
  border-top: 2.5px solid #1565C0;
  border-right:2.5px solid #1565C0;
  transform: rotate(135deg);
}

@media only screen and (max-width: 767px) {
  .services__plan_anchor_wrapper .has-child::after {
    right: 40px;
    margin-top: -23px;
    width: 9px;
    height: 9px;
  }
}

.services__plan_anchor_wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 0 0 0 40px;
}

@media only screen and (max-width: 767px) {
  .services__plan_anchor_wrapper {
    padding: 8px 0 0 0;
  }
}

.services__plan__wrapper {
  display: flex;
  flex-direction: column;
  padding-bottom: 64px;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  position: relative;
}

/* -----------------------------
サービス一覧ページ
----------------------------- */
.c-hero--services {
  background-image: url(../../img/hero/bg_h1_services.webp);
}

.services__plan__heading {
  position: relative;
  color: #333333;
  font-size: 28px;
  font-weight: bold;
  line-height: 1.4;
  padding-bottom: 22px;
  margin: 80px auto 60px auto;
  width: 1240px;
}

@media screen and (max-width: 767px) {
  .services__plan__heading {
    font-size: 24px;
    padding-bottom: 15px;
    margin: 64px auto 48px auto;
    width: calc(343/375 * 100vw);
  }
}

.services__plan__heading:before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 3px;
  bottom: 0;
  background: #F7F7F7;
}

.services__plan__heading:after {
  content: "";
  position: absolute;
  display: block;
  width: 100px;
  height: 3px;
  bottom: 0;
  background: -webkit-gradient(linear, left top, right top, from(#1565C0), to(#03A9F4));
  background: linear-gradient(90deg, #1565C0 0%, #03A9F4 100%);
}

.services__plan_contents {
  width: 1240px;
  background: #FFFFFF;
  border-top: 3px solid #1565C0;
  box-shadow: 0px 2px 12px rgba(0, 0, 0, 0.15);
  margin: 32px auto 0 auto;
}

@media screen and (max-width: 767px) {
  .services__plan_contents {
    margin: 0 calc(50% - 45.7vw) 0 calc(50% - 45.7vw) !important;
    width: calc(343/375 * 100vw);
  }
}

.services__plan_intro {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 48px 0;
  gap: 48px;
}

@media screen and (max-width: 767px) {
  .services__plan_intro {
    flex-direction: column;
    padding: 40px 24px 48px 24px;
    gap: 24px;
  }
}

.services__plan_intro img {
  margin: 0;
  width: 327px;
}

@media screen and (max-width: 767px) {
  .services__plan_intro img {
    width: calc(300 / 375 * 100vw);
  }
}

.services__plan_intro__subheading {
  font-weight: 700;
  font-size: 18px;
  line-height: 100%;
}

@media screen and (max-width: 767px) {
  .services__plan_intro__subheading {
    font-size: 14px;
  }
}

.services__plan_intro__heading {
  font-weight: 700;
  font-size: 26px;
  line-height: 1;
  color: #1565C0;
}

@media screen and (max-width: 767px) {
  .services__plan_intro__heading {
    font-size: 20px;
    line-height: 1.5;
  }
}

.services__plan_intro__heading_wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.services__plan_intro__texts {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

@media screen and (max-width: 767px) {
  .services__plan_intro__texts {
    gap: 16px;
  }
}

.services__plan_intro__texts p {
  width: 490px;
  text-align: left;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .services__plan_intro__texts p {
    width: auto;
    font-size: 14px;
  }
}

.services__plan_detail {
  display: flex;
  flex-direction: column;
  gap: 72px;
  padding: 64px 0;
  background-image: url(../../img/plan_bg.webp);
  background-repeat: no-repeat;
  background-size:cover;
  background-color:rgba(255, 255, 255, 0.7);
  background-blend-mode:lighten;
}

@media screen and (max-width: 767px) {
  .services__plan_detail {
    padding: 48px 0;
    gap: 48px;
  }
}

.services__plan_detail__upper {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.services__plan_detail__title {
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__title {
    font-size: 20px;
  }
}

.services__plan_detail__logo_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__logo_wrapper {
    flex-direction: column;
    gap: 12px;
  }
}

.services__plan_detail__logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 250px;
  height: 84px;
  background: #FFFFFF;
  border: 1px solid #DBDBDB;
  border-radius: 8px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__logo {
    width: calc(295/375 * 100vw);
    height: 64px;
  }
}

.services__plan_detail__tag {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 4px 16px;
  gap: 10px;
  position: absolute;
  height: 26px;
  top: -16px;
  left: 8px;
  background: #1565C0;
  border-radius: 24px;
  font-weight: 700;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
  color: #FFFFFF;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__tag {
    font-size: 11px;
    line-height: 1;
  }
}

.services__plan_detail__logo p {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  padding-top: 6px;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__logo p {
    font-size: 14px;
  }
}

.services__plan_detail__logo img {
  width: 190px;
  padding-top: 6px;
}

.services__plan_detail__logo_plus {
  display: inline-block;
  position: relative;
  width: 24px;
  height: 24px;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__logo_plus {
    width: 16px;
    height: 16px;
    padding-bottom: 26px;
  }
}

.services__plan_detail__logo_plus:before, .services__plan_detail__logo_plus:after {
  display: block;
  content: '';
  background-color: #68717A;
  position: absolute;
  width: 24px;
  height: 4px;
  top: 10px;
  left: 0;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__logo_plus:before, .services__plan_detail__logo_plus:after {
    width: 16px;
    height: 3px;
    top: 6.5px;
  }
}

.services__plan_detail__logo_plus:before {
  width: 4px;
  height: 24px;
  top: 0;
  left: 10px;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__logo_plus:before {
    width: 3px;
    height: 16px;
    left: 6.5px;
  }
}

.services__plan_detail__lower_wrapper {
  display: flex;
  justify-content: center;
}

.services__plan_detail__lower {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__lower {
    margin: 0 24px;
  }
}

.services__plan_detail__plan_title {
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
}

.services__plan_detail__plan {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 32px 64px;
  gap: 64px;
  width: 868px;
  background: #FFFFFF;
  border: 1px solid #DBDBDB;
  border-radius: 8px;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__plan {
    flex-direction: column;
    width: auto;
    padding: 24px 24px 32px 24px;
    gap: 32px;
  }
}

.services__plan_detail__plan img {
  width: 256px;
  margin: 0;
  filter: drop-shadow(0px 2px 12px rgba(0, 0, 0, 0.15));
  border-radius: 8px;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__plan img {
    order: 2;
    width: calc(247/375 * 100vw);
  }
}

.services__plan_detail__name {
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__name {
    font-size: 16px;
    line-height: 1.5;
  }
}

.services__plan_detail__exlink {
  font-weight: 700;
  font-size: 14px;
  line-height: 1;
  position: relative;
  padding-left: 24px;
}

.services__plan_detail__exlink:before {
  position: absolute;
  top: -1px;
  left: -2px;
  content: "";
  width: 100%;
  height: 18px;
  background: url(../../img/external-link_s.webp) no-repeat;
}

.services__plan_detail__texts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
}

@media screen and (max-width: 767px) {
  .services__plan_detail__texts {
    gap: 12px;
  }
}

.services__plan_detail__texts p {
  font-weight: 500;
  font-size: 14px;
  line-height: 1.6;
  text-align: left;
}

.services__plan_detail__texts a {
  text-decoration: none;
  color: #323B44;
  -webkit-transition: 200ms;
  transition: 200ms;
  opacity: 1;
}

.services__plan_detail__texts a:hover {
  opacity: 0.8;
}

.services__type__outer-wrapper {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 26px 0 20px 0;
  background: rgba(215, 239, 255, 0.6);
  width: 940px;
  margin: 0 auto;
  border-radius: 16px;
}

@media screen and (max-width: 767px) {
  .services__type__outer-wrapper {
    padding: 32px 24px 24px 24px;
    width: auto;
    border-radius: 0;
  }
}

.services__type__heading_wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.services__type__subheading {
  font-weight: 700;
  font-size: 13px;
  line-height: 1;
  text-align: center;
  color: #323B44;
}

.services__type__heading {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
  color: #1565C0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.services__type__heading::before,
.services__type__heading::after {
  content: "";
  width: 24px;
  height: 3px;
  background-color: #1565C0;
  margin: 28px 20px 4px;
}

@media screen and (max-width: 767px) {
  .services__type__heading::before,
  .services__type__heading::after {
    width: 24px;
    height: 3px;
    margin: 26px 8px 4px;
  }
}

.services__type__heading::before {
  transform: rotate(60deg);
}

.services__type__heading::after {
  transform: rotate(-60deg);
}

.services__type__inner-wrapper {
  display: flex;
  gap: 32px;
  justify-content: center;
  align-items: center;
  background-color: #FFFFFF;
  padding: 16px 48px;
  border-radius: 32px;
  width: 740px;
  margin: auto;
}

@media screen and (max-width: 767px) {
  .services__type__inner-wrapper {
    flex-direction: column;
    width: auto;
    padding: 16px 24px;
    gap: 16px;
    border-radius: 8px;
  }
}

.services__type__inner-wrapper p {
  text-align: left;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
}

.services__type__inner-wrapper img {
  width: 110px;
  height: 110px;
  margin: 0;
}

.services__type__button {
  max-width: 340px;
  color: #68717A;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  line-height: 2.2;
  margin: auto;
  position: relative;
  -webkit-transition: 200ms;
  transition: 200ms;
  opacity: 1;
}

.services__type__button:hover {
  opacity: 0.8;
}

.services__type__outer-wrapper a {
  text-decoration: none;
}

.services__type__button span {
  color: #68717A;
}

.services__type__button::after{
  content: "";
  top: 11px;
  right: -20px;
  width: 9px;
  height: 9px;
  border-right: 2.5px solid #1565C0;
  border-top: 2.5px solid #1565C0;
  display: inline-block;
  transform: rotate(45deg);
  position: absolute;
}

.services__buttons {
  display: flex;
  justify-content: center;
  padding: 64px 0;
}

.services__buttons a {
  text-decoration: none;
}

.services__buttons span {
  color: #FFFFFF;
}

.services__button {
  max-width: 480px;
  color: #FFFFFF;
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  line-height: 44px;
  border-radius: 48px;
  padding: 18px 64px;
  background: -webkit-gradient(linear, left top, right top, from(#1565C0), to(#03A9F4));
  background: linear-gradient(90deg, #1565C0 0%, #03A9F4 100%);
  -webkit-box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 767px) {
  .services__button {
    font-size: 18px;
    max-width: calc(311/375 * 100vw);
    padding: 12px 0;
  }
}

/* -----------------------------
サービス一覧ページ　ページトップのためのCSS
----------------------------- */
#page-top a {
  display: flex;
  justify-content:center;
  align-items:center;
  background:#1565C0;
  -webkit-box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
  box-shadow: 0 3px 20px 0 rgba(0, 0, 0, 0.2);
  color: #FFF;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size:20px;
  transition:all 0.3s;
}

@media screen and (max-width: 767px) {
  #page-top a {
    width: 48px;
    height: 48px;
  }
}

#page-top a::after {
  content: "";
  top: 26px;
  width: 16px;
  height: 16px;
  border-right: 3px solid #FFF;
  border-top: 3px solid #FFF;
  display: inline-block;
  transform: rotate(-45deg);
  position: absolute;
}

@media screen and (max-width: 767px) {
  #page-top a::after {
    top: 20px;
  }
}

#page-top a:hover {
  opacity: 80%;
}

#page-top {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 99999;
  opacity: 0;
  transform: translateY(100px);
}

@media screen and (max-width: 767px) {
  #page-top {
    bottom: 12px;
    right: 12px;
  }
}

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

@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#page-top.down-move {
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
