/*------------------------------ 共通 ------------------------------*/
html {
  overflow-x: hidden;
}

body {
  overflow-x: hidden;
  margin-left: 80px;
  font-family: "Inter Tight", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  color: #282828;
}

@media screen and (max-width: 1000px) {
  body {
    margin-left: 0;
  }
}

.container {
  width: 90%;
  margin-inline: auto;
}

.inner {
  width: 90%;
  margin-inline: auto;
}

.flex {
  display: flex;
}

.text {
  color: #5B5B5B;
  line-height: 1.67;
  text-align: left;
}

.blue-heading {
  color: #072E61;
}

.white-heading {
  color: #fff;
}

.small-br {
  display: none;
}

.support-br {
  display: none;
}

.dib {
  display: inline-block;
}

.dot-bg {
  background-color: #f6f6f6;
  background-image:
    radial-gradient(#e2e2e2 10%, transparent 10%);
}

/* オレンジボタン */
.orange-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: #fff;
  border-bottom: 1px solid #F2AC4E;
  position: relative;
  margin-bottom: 20px;
  height: 66px;
}

.orange-link::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  background-color: #fff;
  top: calc(50% + 2px);
  right: 47px;
  transform: translateY(-50%);
  z-index: 1;
}

.orange-link::after {
  position: absolute;
  content: "";
  background-color: transparent;
  width: 30px;
  height: 6px;
  border-bottom: 2px solid #F2AC4E;
  border-right: 2px solid #F2AC4E;
  transform: translateY(-50%) skew(45deg);
  top: 50%;
  right: 20px;
  transition: .5s;
}

@media screen and (max-width: 900px) {
  .orange-link::after {
    right: 15px;
  }

  .orange-link::before {
    right: 42px;
  }
}

.orange-link span {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: .5s;
  z-index: 1;
}

.orange-link span::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #F2AC4E;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s;
  z-index: -1;
}

.orange-link:hover::before {
  display: none;
}

.orange-link:hover::after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  z-index: 1;
}

.orange-link:hover span {
  color: #fff;
}

.orange-link:hover span::before {
  transform: scale(1, 1);
}

/* 青の四角ボタン */
.blue-square-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: #fff;
  border: 1px solid #286092;
  margin-bottom: 12px;
  position: relative;
  z-index: 1;
  transition: .5s;
  height: 56px;
}

.blue-square-link::after {
  position: absolute;
  content: "";
  border-top: 2px solid #286092;
  border-right: 2px solid #286092;
  top: 50%;
  right: 40px;
  transform: translateY(-50%) rotate(45deg);
  transition: .5s;
  width: 10px;
  height: 10px;
}

.blue-square-link::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #286092;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s;
  z-index: -1;
}

.blue-square-link:hover {
  color: #fff;
}

.blue-square-link:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.blue-square-link:hover::before {
  transform: scale(1, 1);
}

.underline-arrow-link {
  color: #072E61;
  position: relative;
  transition: .5s;
  padding-bottom: 8px;
}

.underline-arrow-link span {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #072E61;
  transition: .3s;
}

.underline-arrow-link:hover span {
  background-color: transparent;
}

.underline-arrow-link:hover {
  color: #F2AC4E;
}

.underline-arrow-link::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  background-color: #f6f6f6;
  top: calc(50% + 2px);
  right: -28px;
  transform: translateY(-50%);
  z-index: 1;
}

@media screen and (max-width: 500px) {
  .underline-arrow-link::before {
    right: -13px;
  }
}

.underline-arrow-link::after {
  position: absolute;
  content: "";
  background-color: transparent;
  width: 30px;
  height: 6px;
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
  transform: translateY(-50%) skew(45deg);
  top: 50%;
  right: -55px;
  transition: .5s;
}

.underline-arrow-link:hover::after {
  border-bottom: 2px solid #F2AC4E;
  border-right: 2px solid #F2AC4E;
}

@media screen and (max-width: 500px) {
  .underline-arrow-link::after {
    right: -40px;
  }
}

/* 四角の矢印ボタン */
.square-arrow-link {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.square-arrow-link::before {
  position: absolute;
  content: "";
  width: 5px;
  height: 5px;
  background-color: #fff;
  top: calc(50% + 2px);
  right: 82px;
  transform: translateY(-50%);
  z-index: 1;
}

.square-arrow-link::after {
  position: absolute;
  content: "";
  background-color: transparent;
  width: 30px;
  height: 6px;
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
  transform: translateY(-50%) skew(45deg);
  top: 50%;
  right: 55px;
  transition: .5s;
}

.square-arrow-link:hover::after {
  transform: translateY(-50%) skew(30deg);
}

.square-arrow-link span {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: .5s;
  z-index: 1;
}

.square-arrow-link span::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #072E61;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s;
  z-index: -1;
  border-radius: 4px;
}

.square-arrow-link:hover::before {
  display: none;
}

.square-arrow-link:hover::after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  z-index: 1;
}

.square-arrow-link:hover span {
  color: #fff;
}

.square-arrow-link:hover span::before {
  transform: scale(1, 1);
}

/* パンくずリスト */
.breadcrumb {
  background-color: #fff;
  justify-content: flex-start;
  align-items: center;
}

.breadcrumb li {
  color: #727272;
}

.breadcrumb li a {
  color: #198096;
  text-decoration: underline;
  text-underline-offset: 6px;
  position: relative;
  transition: .5s;
}

.breadcrumb li a:hover {
  color: #F2AC4E;
}

.breadcrumb li a::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  width: 8px;
  height: 8px;
  border-top: 1px solid #ACACAC;
  border-right: 1px solid #ACACAC;
}

/* カテゴリ一覧 */
.category-list {
  background-color: #E5ECEE;
}

.category-list h2 {
  color: #072E61;
  font-size: 5rem;
}

.category-list ul {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 28px 0;
}

.category-list ul li a {
  position: relative;
  background-color: #fff;
  height: 60px;
  align-items: center;
  padding-left: 20px;
  gap: 0 15px;
  border-radius: 5px;
  transition: .5s;
  z-index: 1;
}

.category-list ul li a::after {
  position: absolute;
  content: "";
  border-top: 2px solid #072E61;
  border-right: 2px solid #072E61;
  width: 8px;
  height: 8px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  transition: .5s;
}

.category-list ul li a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #EBF2F4;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s;
  z-index: -1;
  border-radius: 5px;
}

.category-list ul li a:hover::before {
  transform: scale(1, 1);
}

.category-list ul li a .img {
  width: 38px;
  text-align: center;
}

.category-list .to-all-info {
  text-align: center;
}

.category-list .to-all-info a::before {
  background-color: #E5ECEE;
}

/* 〇〇別検索 */
.another {
  background-color: #072E61;
}

.another .inner {
  justify-content: space-between;
}

.another .inner a {
  width: calc(100% / 3);
  text-align: center;
}

.another .inner a .circle {
  width: 80%;
  margin-inline: auto;
}

.another .inner a .circle .circle-in {
  width: 100%;
  padding-top: 100%;
  border-radius: 50%;
  background-color: #F1F1F1;
  position: relative;
  transition: .3s;
}

.another .inner a:hover .circle .circle-in {
  border-radius: 0;
}

.another .inner a .circle .circle-in img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
}

.another .inner a p {
  color: #fff;
}

/* ケアラボをもっと知りたい方へ */
.know h2 {
  color: #072E61;
  font-size: 5rem;
}

.know .inner {
  max-width: 680px;
}

.know .inner ul {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 28px 0;
}

.know .inner ul li {
  width: 47%;
}

.know .inner ul li a {
  position: relative;
  background-color: #fff;
  height: 60px;
  align-items: center;
  padding-left: 20px;
  gap: 0 20px;
  border-radius: 5px;
  transition: .5s;
  z-index: 1;
}

.know .inner ul li a::after {
  position: absolute;
  content: "";
  border-top: 2px solid #072E61;
  border-right: 2px solid #072E61;
  width: 8px;
  height: 8px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  transition: .5s;
}

.know .inner ul li a::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #EBF2F4;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s;
  z-index: -1;
  border-radius: 5px;
}

.know .inner ul li a:hover::before {
  transform: scale(1, 1);
}

.know .inner ul li a .img {
  width: 40px;
  text-align: center;
}

.know .inner ul li a h3 {
  font-size: 2rem;
}

/* まずはお悩み・課題をお教えください（フッター上共通パーツ） */
.on-footer {
  background-color: #EBF2F4;
}

.on-footer .inner {
  width: 100%;
  justify-content: space-between;
  align-items: center;
}

.on-footer .inner .heading-links h2 {
  letter-spacing: 0.05em;
  margin-bottom: 19px;
  justify-content: flex-start;
}

.on-footer .inner .heading-links p {
  color: #595959;
  letter-spacing: 0.1em;
}

.on-footer .inner .heading-links .links {
  color: #595959;
  letter-spacing: 0.1em;
}

.on-footer .inner .heading-links .links a {
  background-color: #072E61;
  color: #fff;
  border-radius: 4px;
  letter-spacing: 0.05em;
}

.on-footer .inner .heading-links .links a::before {
  background-color: #072E61;
  right: 47px;
}

.on-footer .inner .heading-links .links a::after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  right: 20px;
}

.on-footer .inner .heading-links .links a span::before {
  background-color: #fff;
}

.on-footer .inner .heading-links .links a:hover span {
  color: #072E61;
}

.on-footer .inner .heading-links .links a:hover::after {
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
}


/*------------------------------ 下層 共通ファーストビュー ------------------------------*/
.c-fv {
  background-color: #EAECE2;
}

.c-fv .fv-top {
  position: absolute;
  left: 0;
  width: 100%;
  background-image: url(../img/common/fv-top.png);
  background-size: cover;
  background-repeat: no-repeat;
  height: 80px;
}

.c-fv .logo {
  position: relative;
  z-index: 1;
  margin-bottom: 30px;
}

.c-fv .logo img {
  transition: .5s;
}

.c-fv .logo:hover img {
  opacity: .6;
}

.c-fv .ttl-img {
  align-items: center;
}

.c-fv .ttl-img figure {
  text-align: center;
}

.c-fv .ttl-img figure figcaption h1 {
  color: #072E61;
}

.c-fv .ttl-img figure .sub-heading {
  font-family: "Arvo", serif;
  font-weight: 700;
  color: rgba(7, 46, 97, .48);
}

.c-fv .ttl-img figure .img {
  justify-content: center;
  gap: 0 10px;
  align-items: baseline;
  animation: rotate-anime 1s 1 forwards;
}

@keyframes rotate-anime {
  0% {
    transform: rotateY(360deg);
  }

  100% {
    transform: rotateY(0deg);
  }
}

.c-fv .ttl-img figure .img img {
  /* width: auto;
  min-width: 67px; */
}


/*------------------------------ メリット ------------------------------*/
.merit {
  background-color: #E5ECEE;
}

.merit .container {
  align-items: center;
}

.merit .container .merit-img {
  background-color: #C7E5E4;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
}

.merit .container .ttl-txt h2 {
  color: #072E61;
  background-color: #fff;
  display: inline-block;
  /* color: #072E61;
    letter-spacing: 0.05em;
    line-height: 1.42;
    background-image: linear-gradient(90deg, #fff, #fff); */
}

.merit .container .ttl-txt h2 span {
  padding: 2px 0 2px 10px;
  background-image: linear-gradient(90deg, #fff, #fff);
}

.merit .container .ttl-txt p.text {
  margin-top: 25px;
}


/*------------------------------ 各機能詳細 ------------------------------*/
.anchor .anchor-link {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 28px 2%;
}

.anchor .anchor-link a {
  align-items: center;
  gap: 0 15px;
  height: 51px;
  background-color: #fff;
  padding-left: 15px;
  position: relative;
  border-radius: 5px;
  transition: .5s;
}

.anchor .anchor-link a:hover {
  background-color: #EBF2F4;
}

.anchor .anchor-link a::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
  width: 8px;
  height: 8px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
}

/* ↓最終的な最大のwidthの画像の大きさに修正 */
.anchor .anchor-link a .img {
  width: 30px;
  text-align: center;
  display: flex;
}

.anchor .anchor-link a .img img {
  max-height: 35px;
}

.anchor .anchor-link a p {
  color: #072E61;
}

.anchor .each-anchor .anchor-bg {
  background-color: #fff;
  border-radius: 5px;
  position: relative;
}

.anchor .each-anchor .anchor-icon {
  position: absolute;
  height: 100px;
}

.anchor .each-anchor .anchor-icon img {
  height: 100%;
}

.anchor .each-anchor h2 {
  display: inline-block;
  padding: 5px 20px;
  background-color: #E5ECEE;
  border-radius: 20px;
}

.anchor .each-anchor .explanation-img {
  border-bottom: 1px solid #D0D0D0;
}

.anchor .each-anchor .explanation-img .explanation h3 {
  justify-content: flex-start;
  color: #072E61;
}

.anchor .each-anchor ul {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 15px 40px;
  align-items: center;
}

.anchor .each-anchor ul li a {
  color: #F2AC4E;
  position: relative;
}

.anchor .each-anchor ul li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #F2AC4E;
  transition: .5s;
}

.anchor .each-anchor ul li a:hover::after {
  width: 100%;
}

.anchor .each-anchor .explanation-img .img {
  cursor: pointer;
}

.anchor .each-anchor .explanation-img .img img {
  width: 100%;
}


/* 各機能詳細 画像拡大モーダル */
#grayDisplay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  /* コンテンツ全てに対して固定的に 1160pxとか指定されているときの対応*/
  max-width: 100% !important;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 10;
  cursor: pointer;
}

#grayDisplay img {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  max-height: 90%;
  height: 90%;
  object-fit: contain;
}

#grayDisplay::before {
  position: absolute;
  content: "";
  width: 48px;
  height: 2px;
  background-color: #fff;
  /* top: 10%;
  right: 10%;
  transform: rotate(45deg); */
  /* top: 50px; */
  right: 25px;
  transform: rotate(45deg);
}

/* @media screen and (max-width: 1000px) {
  #grayDisplay::before {
    top: 130px;
  }
} */

#grayDisplay::after {
  position: absolute;
  content: "";
  width: 48px;
  height: 2px;
  background-color: #fff;
  /* top: 10%;
  right: 10%;
  transform: rotate(-45deg); */
  /* top: 50px; */
  right: 25px;
  transform: rotate(-45deg);
}

/* @media screen and (max-width: 1000px) {
  #grayDisplay::after {
    top: 130px;
  }
} */


/*------------------------------ メニュー リンク 線なし装飾 ------------------------------*/
.menu-deco a {
  display: block;
  position: relative;
  padding-left: 10px;
}

.menu-deco a::before {
  position: absolute;
  content: "";
  top: 50%;
  left: -5px;
  transform: translateY(-50%);
  width: 10px;
  height: 1px;
  background-color: #fff;
  opacity: 0;
}

.menu-deco a:hover::before {
  height: 10px;
  border-radius: 9999px;
  opacity: 1;
  transition: .3s;
}

/* 蛍光ペンcss */
.js-marker {
  display: inline;
  position: relative;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0% 50%;
  transition: background-size 1.2s .2s ease-in-out;
}

.js-marker.inview {
  background-size: 100% 50%;
}

.js-big-marker {
  display: inline;
  position: relative;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0% 100%;
  transition: background-size 1.6s .2s ease-in-out;
}

.js-big-marker.inview {
  background-size: 100% 100%;
}


/*------------------------------ 横並び ファーストビュー ------------------------------*/
.c-beside-fv .ttl-img .eye-catch {
  overflow: hidden;
}

.c-beside-fv .ttl-img .eye-catch img {
  animation: 1s 0s slide-fv 1 forwards ease-in-out;
  transform: translateX(100%);
  opacity: 0;
}

@keyframes slide-fv {
  0% {
    transform: translateY(5%);
    opacity: 0;
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}


/*------------------------------ 福祉業界のDXを牽引します 共通 ------------------------------*/
.concept {
  background-color: #fff;
}


.concept .inner .dx-icon {
  position: relative;
}

.concept .inner .dx-icon .dx {
  position: relative;
  z-index: 0;
}

.concept .inner .dx-icon .dx .c-bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  animation: 15s rotate-logo infinite linear;
}

@keyframes rotate-logo {
  0% {
    transform: translate(-50%, -50%) rotateZ(0);
  }

  100% {
    transform: translate(-50%, -50%) rotateZ(360deg);
  }
}

.concept .inner .dx-icon .dx h2 {
  color: #072E61;
  letter-spacing: 0.05em;
  display: block;
}

.concept .inner .dx-icon .dx .dx-text h3 {
  justify-content: flex-start;
}


/*------------------------------ DXソリューションを提供 共通 ------------------------------*/
.dx-solution {
  position: relative;
}

.dx-solution .inner {
  position: relative;
  z-index: 1;
}

.dx-solution .inner .logo-intro .logo {
  text-align: center;
}

.dx-solution .inner .logo-intro .intro h2 {
  color: #072E61;
  letter-spacing: 0.05em;
  line-height: 1.42;
  background-image: linear-gradient(90deg, #fff, #fff);
}

.dx-solution .inner .logo-intro .intro h3 {
  justify-content: flex-start;
  margin-top: 20px;
}

.dx-solution .inner .offer {
  justify-content: space-between;
}

.dx-solution .inner .offer .each-offer {
  text-align: center;
}

.dx-solution .inner .offer .each-offer .speech-bubble {
  position: relative;
}

.dx-solution .inner .offer .each-offer .speech-bubble p {
  position: absolute;
  letter-spacing: 0.05em;
  color: #072E61;
  line-height: 1;
}

.dx-solution .inner .offer .each-offer .solution-img {
  position: relative;
  object-fit: cover;
}

.dx-solution .inner .offer .each-offer .text {
  text-align: center;
}


/*------------------------------ お役立ちコラム 共通 ------------------------------*/
.useful-column .inner {
  text-align: center;
}

/*------------------------------ ヘッダー ------------------------------*/
header {
  width: 0;
  color: #fff;
  position: fixed;
  left: 0;
  z-index: 100;
  top: 0;
  overflow: auto;
  height: 100%;
  pointer-events: none;
  background-color: transparent;
}

header.h_active {
  width: 100%;
  animation: headerBgOpen .7s 0s 1 forwards;
  pointer-events: all;
}

@keyframes headerBgOpen {
  0% {}

  100% {
    background-color: #072E61;
  }
}

header a {
  color: inherit;
}

header .container {
  width: 90%;
  margin-inline: auto;
  pointer-events: all;
  padding: 120px 0 80px;
  position: absolute;
}

@media screen and (max-width: 1000px) {
  header .container {
    padding: 140px 0 80px;
  }
}

header .container .logo-button-links {
  position: relative;
  display: flex;
  opacity: 1;
  display: none;
  left: 15%;
}

header.h_active .container .logo-button-links {
  display: flex;
  opacity: 0;
  animation: headerNavActive 1.5s .3s 1 forwards;
}

@keyframes headerNavActive {
  0% {}

  100% {
    opacity: 1;
  }
}

header .container .logo-button-links .logo-button-main .main-links a {
  font-weight: 700;
}

header .container .logo-button-links .logo-button-main .main-links a.privacy-link {
  white-space: nowrap;
}

header .container .logo-button-links .logo-button-main .main-links a.partner-link {
  white-space: nowrap;
}

header .container .logo-button-links .logo-button-main .main-links a.faq {
  display: flex;
  align-items: center;
}

header .container .logo-button-links .heading-links {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 65px 0;
}

header .container .logo-button-links .heading-links .each-links h2 {
  margin-top: 0;
  font-weight: 700;
  justify-content: flex-start;
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .heading-links div.each-links h2 {
    cursor: pointer;
  }
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .heading-links .each-links .func-wrap {
    flex-wrap: wrap;
    display: flex;
    margin-top: 20px;
    gap: 32px 0;
  }

  header .container .logo-button-links .heading-links .each-links .func-wrap a {
    width: 50%;
  }
}

header .container .logo-button-links .heading-links .each-links a {
  display: block;
  padding-left: 30px;
  position: relative;
  font-size: 16px;
  line-height: 1;
}

header .container .logo-button-links .heading-links .each-links a.first-func {
  margin-top: 25px;
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .heading-links .each-links a.first-func {
    margin-top: 0;
  }
}

header .container .logo-button-links .heading-links .each-links a span {
  display: inline-block;
  line-height: 1.8;
}

header .container .logo-button-links .heading-links .each-links a::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 1px;
  background-color: #fff;
}

header .container .logo-button-links .heading-links .each-links a:hover::after {
  height: 10px;
  border-radius: 9999px;
  transition: .3s;
}

header .container .logo-button-links .heading-links .each-links a:last-of-type {
  margin-bottom: 0;
}

header .container .logo-button-links .office-manager {
  flex-direction: column
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .office-manager {
    flex-direction: row;
  }
}

header .container .logo-button-links .office-manager .links {
  flex-direction: column;
  gap: 35px 0;
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .office-manager .links {
    width: 50%;
  }
}

header .container .logo-button-links .office-manager .links li a {
  font-weight: 700;
}

header .container .logo-button-links .office-manager .office-links {
  margin-bottom: 80px;
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .office-manager .office-links {
    margin-bottom: 0;
  }
}


/* ハンバーガーメニュー */
.hamburger,
.sp-header {
  background-color: #072E61;
  z-index: 1000;
}

header .container .hamburger {
  position: fixed;
  width: 110px;
  height: 100vh;
  background-color: #072E61;
  top: 0;
  left: 0;
  opacity: 1;
  cursor: pointer;
}

@media screen and (max-width: 1000px) {
  header .container .hamburger {
    display: none;
  }
}

header .container .hamburger .hamburger-contents {
  position: relative;
  top: 50vh;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-bottom: 15px;
  width: 60px;
  height: 34px;
}

header .container .hamburger .hamburger-contents span:first-of-type {
  position: absolute;
  content: "";
  width: 60px;
  height: 2px;
  background-color: #fff;
  top: 0;
  left: 0;
}

header .container .hamburger.h_active .hamburger-contents span:first-of-type {
  transition: .1s;
  transform: rotate(45deg);
  top: 50%;
}

header .container .hamburger .hamburger-contents span:nth-of-type(2) {
  position: absolute;
  content: "";
  width: 60px;
  height: 2px;
  background-color: #fff;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

header .container .hamburger.h_active .hamburger-contents span:nth-of-type(2) {
  opacity: 0;
}

header .container .hamburger .hamburger-contents span:last-of-type {
  position: absolute;
  content: "";
  width: 60px;
  height: 2px;
  background-color: #fff;
  bottom: 0;
  left: 0;
  transform: translateY(-50%);
}

header .container .hamburger.h_active .hamburger-contents span:last-of-type {
  transition: .1s;
  transform: rotate(-45deg);
  top: 50%;
}

header .container .hamburger p {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  position: absolute;
  top: calc(50vh + 28px);
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  white-space: nowrap;
}

.no-scroll {
  overflow: hidden;
}

/* ここから3月追加 */
@media screen and (max-width: 1000px) {
  header .container .logo-button-links .logo-button-main .logo-button {
    display: none;
  }

  header.h_active .container .logo-button-links {
    flex-direction: column;
    gap: 55px 0;
  }

  header .container .logo-button-links .close-button {
    display: none;
  }

  header .container .hamburger.h_active {
    display: none;
  }

  header .container .logo-button-links .logo-button-main .main-links {
    margin-right: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  header .container .logo-button-links .logo-button-main .main-links a {
    width: calc(50% - 10px);
    font-size: 16px;
  }

  header .container .logo-button-links div.logo-button-main {
    width: 100%;
    margin-left: 0;
  }

  header .container .logo-button-links .logo-button-main div.main-links {
    width: 100%;
  }

  header .container .logo-button-links div.heading-links {
    width: 100%;
  }

  header .container .logo-button-links .heading-links {
    padding-bottom: 0;
  }
}

/* ここからsp-header追加 */
@media screen and (min-width: 1001px) {
  header .container .sp-header {
    display: none;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-header {
    justify-content: space-between;
    align-items: center;
    height: 90px;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background-color: #fff;
    border-bottom: 1px solid #EBF2F4;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-header h1 {
    margin-left: 30px;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-header h1 a img {
    object-fit: contain;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-header .icons {
    justify-content: flex-end;
  }

  header .container .sp-header .icons .each-icon {
    width: 90px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    border-bottom: 1px solid #EBF2F4;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-header .icons .each-icon {
    cursor: pointer;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-header .icons .each-icon.sp-hamburger {
    transition: .3s;
  }

  header .container .sp-header .icons .each-icon.sp-hamburger:hover {
    opacity: .7;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-header .icons .each-icon p {
    font-size: 13px;
    margin: 0;
  }
}

/* ハンバーガーメニュー */
@media screen and (max-width: 1000px) {
  header .container .sp-hamburger {
    width: 90px;
    height: 90px;
    background-color: #fff;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-hamburger .hamburger-contents {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 10px;
    width: 35px;
    height: 23px;
  }
}

@media screen and (max-width: 1000px) {
  header .container .sp-hamburger .hamburger-contents span:first-of-type {
    position: absolute;
    content: "";
    width: 35px;
    height: 1px;
    background-color: #152F58;
    top: 0;
    left: 0;
  }

  header .container .sp-hamburger.h_active .hamburger-contents span:first-of-type {
    transition: .1s;
    transform: rotate(45deg);
    top: 50%;
  }

  header .container .sp-hamburger .hamburger-contents span:nth-of-type(2) {
    position: absolute;
    content: "";
    width: 35px;
    height: 1px;
    background-color: #152F58;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  header .container .sp-hamburger.h_active .hamburger-contents span:nth-of-type(2) {
    opacity: 0;
  }

  header .container .sp-hamburger .hamburger-contents span:last-of-type {
    position: absolute;
    content: "";
    width: 35px;
    height: 1px;
    background-color: #152F58;
    bottom: 0;
    left: 0;
    transform: translateY(-50%);
  }

  header .container .sp-hamburger.h_active .hamburger-contents span:last-of-type {
    transition: .1s;
    transform: rotate(-45deg);
    top: 50%;
  }

  header .container .sp-hamburger p {
    color: #152F58;
    font-size: 12px;
    margin: 0;
  }
}


/* アコーディオンメニュー　テスト */
@media screen and (max-width: 1000px) {

  header .container .logo-button-links .heading-links {
    gap: 25px 0;
  }

  header .container .logo-button-links .heading-links .each-links a {
    display: none;
  }

  header .container .logo-button-links .heading-links .each-links.accordion-active a {
    display: block;
    opacity: 0;
    transform: translateY(-100%);
    animation: activeAShow .3s ease 0s 1 forwards;
  }

  @keyframes activeAShow {
    from {}

    to {
      transform: translateY(0);
      opacity: 1;
    }
  }

  header .container .logo-button-links .heading-links .each-links h2 span {
    margin: 0;
    position: relative;
  }
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .heading-links .each-links h2 span {
    cursor: pointer;
    padding-right: 50px;
  }
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .heading-links .each-links h2 span::before {
    position: absolute;
    content: "";
    width: 2px;
    height: 18px;
    background-color: #fff;
    top: 50%;
    right: 18px;
    transform: translateY(-50%);
  }

  header .container .logo-button-links .heading-links .each-links.accordion-active h2 span::before {
    /* transform: translateY(-50%) rotate(-135deg); */
    transform: translateY(-50%) rotate(-90deg);
    transition: .3s;
  }
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .heading-links .each-links h2 span::after {
    position: absolute;
    content: "";
    /* width: 7px;
    height: 7px;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff; */
    width: 18px;
    height: 2px;
    background-color: #fff;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    opacity: 1;
  }

  header .container .logo-button-links .heading-links .each-links.accordion-active h2 span::after {
    opacity: 0;
  }
}

@media screen and (max-width: 1000px) {
  .pc-header {
    display: none;
  }
}

header .container .logo-button-links .heading-links .each-links .func-heading a {
  font-size: 1.8rem;
  padding-left: 10px;
}

header .container .logo-button-links .heading-links .each-links .func-heading a::after {
  display: none;
}

@media screen and (max-width: 1000px) {
  header .container .logo-button-links .heading-links .each-links .func-heading a::after {
    display: none;
  }

  header .container .logo-button-links .heading-links .each-links .func-heading a {
    display: block;
    transform: none;
    opacity: unset;
  }
}

header a.logout-link {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  gap: 5px 0;
  margin-right: 10px;
  transition: .3s;
}

header a.logout-link:hover {
  opacity: .7;
}

header a.logout-link span {
  color: #152F58;
  font-size: 1rem;
  line-height: 1;
}


/*------------------------------ フッター ------------------------------*/
footer {
  background-color: #072E61;
}

footer .inner {
  color: #fff;
}

footer .inner .func-office-manager .func {
  position: relative;
}

footer .inner .func-office-manager .func h2 {
  position: absolute;
}

footer .inner .func-office-manager .func h2 a {
  font-weight: 700;
}

footer .inner .func-office-manager .func ul {
  flex-wrap: wrap;
}

footer .inner .func-office-manager .func ul li {
  width: 50%;
}

footer .inner .func-office-manager .func ul li a {
  font-size: 1.6rem;
}

footer .inner .func-office-manager .office-manager ul {
  flex-direction: column;
  width: 100%;
}

footer .inner .func-office-manager .office-manager ul li {
  width: 100%;
}

footer .inner .func-office-manager .office-manager ul li a {
  font-weight: 700;
}

footer .inner .order-change-links .links a {
  color: #282828;
}

footer .inner .order-change-links .other-links li a {
  font-weight: 700;
}

footer .inner .footer-logo {
  text-align: center;
}

footer .inner .footer-logo a {
  transition: .5s;
}

footer .inner .footer-logo a:hover {
  opacity: .6;
}

footer .over-footer {
  background-color: #fff;
}

footer .over-footer .container .logo-address a img {
  transition: .5s;
}

footer .over-footer .container .logo-address a:hover img {
  opacity: .6;
}


/*------------------------------ トップページ ------------------------------*/

/* ファーストビュー */
#top .fv {
  background-color: #F0F2E8;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  animation: fv-fadein 1.5s 1s 1 forwards ease-in-out;
  opacity: 0;
}

@keyframes fv-fadein {
  0% {
    transform: translateY(5px);
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

#top .fv .fv-top {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background-image: url(../img/common/fv-top.png);
  background-size: cover;
  background-repeat: no-repeat;
  filter: blur(30px);
  background-color: rgba(255, 255, 255, .2);
}

#top .fv .fv-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background-image: url(../img/common/fv-bottom.png);
  background-size: cover;
  background-repeat: no-repeat;
}

#top .fv .container {
  width: 100%;
  position: relative;
  /* ↑ファーストビュー タイトルと問い合わせ、ロゴ広げる */
}

#top .fv .container .top-heading {
  position: absolute;
  z-index: 1;
}

#top .fv .container .top-heading h1 {
  animation: 1.4s 1.3s fv-h1 forwards 1 ease-in-out;
  opacity: 0;
}

@keyframes fv-h1 {
  0% {
    transform: translateY(5px);
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

#top .fv .container .top-heading .en-sub-heading {
  animation: 1.3s 1.7s fv-en-sub forwards 1 ease-in-out;
  opacity: 0;
}

#top .fv .container .top-heading .en-sub-heading {
  font-family: "Arvo", serif;
  letter-spacing: 0.1em;
  color: rgba(40, 40, 40, .7);
  line-height: 1.8;
}

#top .fv .container .top-heading .en-sub-heading span {
  color: rgba(242, 172, 78, .7);
}

@keyframes fv-en-sub {
  0% {
    transform: translateY(5px);
  }

  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

#top .fv .container .fv-parts img {
  opacity: .7;
}

/* 〇〇事業所の方 リンク */
#top .office .container ul li a {
  letter-spacing: 0.1em;
  color: #19809C;
  position: relative;
  transition: .5s;
}

#top .office .container ul li a:hover {
  opacity: .6;
}

#top .office .container ul li a::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-top: 1px solid #19809C;
  border-right: 1px solid #19809C;
}

#top .office .container ul li a::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #19809C;
  transition: .5s;
}

#top .office .container ul li a:hover::before {
  width: 100%;
}


/* あなたの会社のシステムは快適ですか？ */
#top .problem {
  background-color: #EBF2F4;
}

#top .problem .container h2 {
  display: flex;
  justify-content: center;
  text-align: center;
}

#top .problem .container .voice {
  flex-wrap: wrap;
}

#top .problem .container .voice .each-voice {
  background-color: #fff;
  border-radius: 34px;
  box-shadow: 7px 0px 7px rgb(0 0 0 / 4%);
}

#top .problem .container .voice .each-voice:nth-of-type(even) {
  position: relative;
}

#top .problem .container .voice .each-voice .heading-img {
  position: relative;
}

#top .problem .container .voice .each-voice .heading-img h3 {
  color: #072E61;
  line-height: 1.53;
  justify-content: flex-start;
  position: relative;
  z-index: 1;
}

#top .problem .container .voice .each-voice .heading-img .white-circle {
  background-color: #fff;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
}

/* ケアラボが選ばれる理由 */
#top .reason {
  background-color: #072E61;
  text-align: center;
}

#top .reason .inner {
  background-color: #ffffff;
}

#top .reason .inner .all-reason {
  flex-wrap: wrap;
}

#top .reason .inner .all-reason .each-reason {
  border-bottom: dashed 2px #C9C9C9;
}

#top .reason .inner .all-reason .each-reason .number {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background-color: #F2AC4E;
  border-radius: 9999px;
  margin-inline: auto;
}

#top .reason .inner .all-reason .each-reason h3 {
  color: #282828;
  display: block;
}

#top .reason .inner .all-reason .each-reason:nth-of-type(5) h3 {
  letter-spacing: 0;
}

#top .reason .inner .all-reason .each-reason img {
  object-fit: contain;
}

/* 事業所別おすすめ機能 */
#top .by-office .inner {
  text-align: center;
}

#top .by-office .inner .types .each-type .person-imgs {
  justify-content: center;
  gap: 0 10px;
  align-items: flex-end;
}

/* ご担当別おすすめ機能 */
#top .manager {
  background-color: #EBF2F4;
  text-align: center;
}

#top .manager .inner .manager-heading p {
  text-align: center;
}

#top .manager .inner .manager-wrap .each-manager {
  background-color: #fff;
}

#top .manager .inner .manager-wrap .each-manager .icon-manager {
  text-align: center;
}

#top .manager .inner .manager-wrap .each-manager .icon-manager a {
  transition: .5s;
}

#top .manager .inner .manager-wrap .each-manager .icon-manager a:hover {
  color: #F2AC4E;
}

#top .manager .inner .manager-wrap .each-manager .tag-comment .tag-wrap {
  flex-wrap: wrap;
}

#top .manager .inner .manager-wrap .each-manager .tag-comment .tag-wrap a {
  color: #F2AC4E;
  position: relative;
}

#top .manager .inner .manager-wrap .each-manager .tag-comment .tag-wrap a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #F2AC4E;
  transition: .5s;
}

#top .manager .inner .manager-wrap .each-manager .tag-comment .tag-wrap a:hover::after {
  width: 100%;
}

#top .manager .inner .underline-arrow-link::before {
  background-color: #fff;
}

/* カテゴリから探す */
#top .category {
  text-align: center;
}

#top .category .container .category-wrap {
  flex-wrap: wrap;
  justify-content: space-between;
}

#top .category .container .category-wrap a {
  background-color: #fff;
  box-shadow: 7px 7px 5px rgb(0 0 0 / 4%);
  transition: .5s;
}

#top .category .container .category-wrap a:hover {
  border-radius: 20px;
  background-color: #EAF3F4;
}

#top .category .container .category-wrap a figure {
  height: 100%;
  position: relative;
}

#top .category .container .category-wrap a figure img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  height: auto;
}

#top .category .container .category-wrap a figure figcaption {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

/* 1分でわかるケアラボ */
#top .video {
  background-color: #072E61;
}

#top .video .video-inner {
  width: 90%;
  margin-inline: auto;
}

#top .video .video-inner .iframe-inner {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin-bottom: 41px;
}

#top .video .video-inner .iframe-inner iframe {
  background-color: #FFFFFF;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#top .video .video-inner .links a {
  background-color: #fff;
}

#top .video .video-inner .links a span::before {
  border: 1px solid #fff;
}

/* ケアラボで実現したアップデートされた日常業務をご紹介！ */
#top .improvement {
  background-color: #EBF2F4;
}

#top .improvement .inner h2 {
  text-align: center;
}

#top .improvement .inner .improvement-wrap {
  flex-wrap: wrap;
}

#top .improvement .inner .improvement-wrap .each-improvement {
  background-color: #fff;
  box-shadow: 7px 7px 5px rgb(0 0 0 / 4%);
  position: relative;
}

#top .improvement .inner .improvement-wrap .each-improvement h3 {
  justify-content: flex-start;
  line-height: 1.42;
  background-image: linear-gradient(90deg, #fff76f, #fff76f);
}

#top .improvement .inner .improvement-wrap .each-improvement .icon {
  margin: 10px 0;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

#top .improvement .inner .improvement-wrap .each-improvement .improvement-tags {
  flex-wrap: wrap;
  align-items: center;
  gap: 5px 15px;
  margin-bottom: 30px;
  color: #F2AC4E;
}

#top .improvement .inner .improvement-wrap .each-improvement .improvement-tags li a {
  position: relative;
}

#top .improvement .inner .improvement-wrap .each-improvement .improvement-tags li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #F2AC4E;
  transition: .5s;
}

#top .improvement .inner .improvement-wrap .each-improvement .improvement-tags li a:hover::after {
  width: 100%;
}

#top .improvement .inner .improvement-wrap .each-improvement .type {
  text-align: right;
  position: absolute;
  bottom: 20px;
  right: 40px;
}

/* お知らせ */
#top .information .inner .to-all-info {
  text-align: right;
}

#top .information .inner .to-all-info a {
  color: #072E61;
  position: relative;
  transition: .5s;
  line-height: 1;
  padding-bottom: 3px;
}

#top .information .inner .to-all-info a span {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #072E61;
  transition: .3s;
}

#top .information .inner .to-all-info a:hover span {
  background-color: transparent;
}

#top .information .inner .to-all-info a:hover {
  color: #F2AC4E;
}

#top .information .inner .to-all-info a::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #286092;
  border-right: 2px solid #286092;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: .5s;
}

#top .information .inner .to-all-info a:hover::after {
  border-top: 2px solid #F2AC4E;
  border-right: 2px solid #F2AC4E;
}

#top .information .inner .heading-info .info-wrap a {
  align-items: center;
  background-color: #fff;
  position: relative;
  transition: .5s;
  border: 1px solid #fff;
}

#top .information .inner .heading-info .info-wrap a:hover {
  border: 1px solid #072E61;
}

#top .information .inner .heading-info .info-wrap a::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #286092;
  border-right: 2px solid #286092;
  top: 50%;
  right: 40px;
  transform: translateY(-50%) rotate(45deg);
}

#top .information .inner .heading-info .info-wrap a:last-of-type {
  margin-bottom: 0;
}

#top .information .inner .heading-info .info-wrap a .info-tag {
  color: #fff;
  background-color: #072E61;
}

/* トップページオレンジフェードアウト */
#top .first_bg {
  position: fixed !important;
  /* position: absolute; */
  background: #f7b14e;
  top: -20vw;
  left: -100vw;
  height: 300vw;
  width: 300vw;
  z-index: 999;
  animation: bgFadeOut 1.9s .5s ease-in forwards 1;
  transform-origin: bottom right;
  border-radius: 9999px;
  transform: scale(1, 1);
}

@keyframes bgFadeOut {
  0% {}

  100% {
    top: 320vw;
    left: 600vw;
    transform: scale(0, 0);
  }
}


/*------------------------------ コラム 投稿 共通 ------------------------------*/
.column .inner .column-wrap .each-column a {
  margin-bottom: 10px;
}

.column .inner .column-wrap .each-column .img-date {
  position: relative;
}

.column .inner .column-wrap .each-column .img-date img {
  width: 100%;
  object-fit: cover;
}

.column .inner .column-wrap .each-column a .img-date .date {
  background-color: #fff;
  color: #F2AC4E;
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(90deg) translateX(100%);
  transform-origin: top right;
  transition: .5s;
}

.column .inner .column-wrap .each-column a .img-date {
  overflow: hidden;
}

.column .inner .column-wrap .each-column a .img-date img {
  transition: .5s;
  background-color: rgb(255 255 255 / 50%);
}

.column .inner .column-wrap .each-column a:hover .img-date img {
  transform: scale(1.05);
}

.column .inner .column-wrap .each-column a:hover .img-date .date {
  background-color: #F2AC4E;
  color: #fff;
}

.column .inner .column-wrap .each-column a h3 {
  justify-content: flex-start;
  text-align: left;
  margin-bottom: 5px;
}

.column .inner .column-wrap .each-column .column-tags {
  flex-wrap: wrap;
  color: #F2AC4E;
}

.column .inner .column-wrap .each-column .column-tags li a {
  position: relative;
  margin-bottom: 0;
}

.column .inner .column-wrap .each-column .column-tags li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #F2AC4E;
  transition: .5s;
}

.column .inner .column-wrap .each-column .column-tags li a:hover::after {
  width: 100%;
}

/* コラム */
#top .column .inner {
  text-align: center;
}

#top .column .inner .underline-arrow-link::before {
  background-color: #fff;
}


/*------------------------------ 機能カテゴリー 詳細 ------------------------------*/



/*------------------------------ 事業所別おすすめ機能 詳細 ------------------------------*/
#single-office .c-fv .ttl-img figure .img {
  animation: none;
}


/*------------------------------ ご担当別おすすめ機能 詳細------------------------------*/
#single-office .c-fv .ttl-img figure .img {
  animation: none;
}

#single-manager .c-fv .ttl-img figure .img {
  animation: none;
}


/*------------------------------ 機能カテゴリー 一覧 ------------------------------*/
#function .search-list {
  padding: 35px 0 80px;
}

#function .search-list .container .search-bar button {
  display: flex;
  width: 100%;
  border: none;
  justify-content: center;
  align-items: center;
  background-color: #F2AC4E;
  gap: 0 10px;
  padding: 10px 0;
  transition: .5s;
}

#function .search-list .container .search-bar button:hover {
  background-color: #072E61;
}

#function .search-list .container .search-bar button span {
  color: #fff;
  font-size: 2.6rem;
}

#function .search-list .container .search-bar .checks {
  background-color: #fff;
  padding: 25px 20px;
  border-bottom: 1px solid #D0D0D0;
}

#function .search-list .container .search-bar .checks:last-of-type {
  border-bottom: none;
}

#function .search-list .container .search-bar .checks h2 {
  justify-content: flex-start;
  font-size: 2rem;
  margin-bottom: 20px;
}

#function .search-list .container .search-bar .checks .each-check {
  gap: 0 10px;
  margin-bottom: 15px;
  align-items: center;
  position: relative;
}

#function .search-list .container .search-bar .checks .each-check input[type="checkbox"] {
  position: relative;
  width: 9px;
  height: 8px;
  border: 1px solid #BABABA;
  cursor: pointer;
}

#function .search-list .container .search-bar .checks .each-check input[type="checkbox"]:checked:before {
  position: absolute;
  content: "";
  width: 8px;
  height: 4px;
  border-left: 1px solid #072E61;
  border-bottom: 1px solid #072E61;
  top: -1px;
  left: 1px;
  transform: rotate(-45deg);
}

#function .search-list .container .search-bar .checks .each-check input[type="checkbox"]:checked {
  border: 1px solid #F2AC4E;
}

#function .search-list .container .search-bar .checks .each-check:last-of-type {
  margin-bottom: 0;
}

#function .search-list .container .search-bar .checks .each-check label {
  font-size: 1.6rem;
  width: 100%;
  position: relative;
  cursor: pointer;
  transition: .5s;
}

#function .search-list .container .search-bar .checks .each-check:hover label {
  color: #F2AC4E;
}

#function .search-list .container .list {
  flex-wrap: wrap;
}

#function .search-list .container .list article {
  background-color: #fff;
  border-radius: 10px;
  box-shadow: 7px 0px 7px rgb(0 0 0 / 4%);
  text-align: center;

  position: relative;
}

#function .search-list .container .list article h2 {
  color: #072E61;
  font-weight: 700;
}

#function .search-list .container .list article .text {
  font-size: 1.6rem;
  border-bottom: 1px solid #D0D0D0;
}

#function .search-list .container .list article ul {
  flex-wrap: wrap;

  margin-bottom: 40px;
}

#function .search-list .container .list article ul li a {
  color: #F2AC4E;
  position: relative;
}

#function .search-list .container .list article ul li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #F2AC4E;
  transition: .5s;
}

#function .search-list .container .list article ul li a:hover::after {
  width: 100%;
}

#function .search-list .container .list article .view-more {
  padding-right: 30px;
  position: absolute;
  bottom: 20px;
  right: 20px;
}

@media screen and (max-width: 1000px) {
  #function .search-list .container .list article .view-more {
    right: 15px;
  }
}

#function .search-list .container .list article .view-more span {
  background-color: #919191;
  transition: .3s;
}

#function .search-list .container .list article .view-more .underline-arrow-link:hover span {
  background-color: transparent;
}

#function .search-list .container .list article .view-more .underline-arrow-link {
  color: #606060;
  font-size: 1.2rem;
  padding-bottom: 3px;
  transition: .5s;
}

#function .search-list .container .list article .view-more .underline-arrow-link:hover {
  color: #F2AC4E;
}

#function .search-list .container .list article .view-more .underline-arrow-link::before {
  background-color: #fff;
  right: -10px;
}

#function .search-list .container .list article .view-more .underline-arrow-link::after {
  border-bottom: 1px solid #919191;
  border-right: 1px solid #919191;
  width: 18px;
  height: 3px;
  right: -26px;
}

#function .search-list .container .list article .view-more .underline-arrow-link:hover::after {
  border-bottom: 1px solid #F2AC4E;
  border-right: 1px solid #F2AC4E;
}

/*------------------------------ お知らせ 一覧と詳細 共通 ------------------------------*/
.info .inner .tax-btn {
  margin-bottom: 50px;
}

.info .inner .tax-btn a {
  border: none;
  background-color: #fff;
  font-size: 2.4rem;
  height: 51px;
  color: #072E61;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: .5s;
}

.info .inner .tax-btn a:hover {
  background-color: #EBF2F4;
}

.info .inner .tax-btn a::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
  width: 8px;
  height: 8px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}


/*------------------------------ お知らせ一覧 ------------------------------*/
#information .info .inner .info-wrap {
  margin-bottom: 70px;
}

#information .info .inner .info-wrap a {
  align-items: center;
  background-color: #fff;
  position: relative;
  border: 1px solid #fff;
  transition: .5s;
}

#information .info .inner .info-wrap a:hover {
  border: 1px solid #072E61;
}

#information .info .inner .info-wrap a::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #286092;
  border-right: 2px solid #286092;
  top: 50%;
  right: 40px;
  transform: translateY(-50%) rotate(45deg);
}

#information .info .inner .info-wrap a:last-of-type {
  margin-bottom: 0;
}

#information .info .inner .info-wrap a .info-tag {
  color: #fff;
  background-color: #072E61;
}


/*------------------------------ お知らせ詳細 ------------------------------*/
#single-information .info .inner .tax-btn a::after {
  transform: translateY(-50%) rotate(-45deg);
}

#single-information .info article {
  background-color: #fff;
  margin-bottom: 50px;
}

#single-information .info article .date-tag {
  align-items: center;
  gap: 0 15px;
}

#single-information .info article .date-tag .info-tag {
  width: 135px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 32px;
  color: #fff;
  background-color: #072E61;
}

#single-information .info article h2 {
  color: #282828;
  border-bottom: 1px solid #D0D0D0;
  justify-content: flex-start;
  padding-bottom: 5px;
}

#single-information .info .to-all-info {
  justify-content: center;
  gap: 0 60px;
  align-items: center;
}

#single-information .info .to-all-info .to-all-link {
  font-size: 2.4rem;
  color: #072E61;
  transition: .5s;
  position: relative;
}

/* #single-information .info .to-all-info .to-all-link::after {
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  right: -20px;
  border-top: 2px solid #286092;
  border-right: 2px solid #286092;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: .5s;
}

#single-information .info .to-all-info .to-all-link:hover::after {
  border-top: 2px solid #F2AC4E;
  border-right: 2px solid #F2AC4E;
} */

#single-information .info .to-all-info .to-all-link span {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  height: 1px;
  background-color: #072E61;
  transition: .5s;
}

#single-information .info .to-all-info .to-all-link:hover span {
  background-color: transparent;
}

#single-information .info .to-all-info .to-all-link:hover {
  color: #F2AC4E;
}

#single-information .info .to-all-info .prev {
  width: 50px;
  height: 50px;
}

#single-information .info .to-all-info .prev a {
  position: relative;
  width: 50px;
  height: 50px;
}

#single-information .info .to-all-info .prev a::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  border-top: 2px solid #39C1D8;
  border-left: 2px solid #39C1D8;
  width: 10px;
  height: 10px;
}

#single-information .info .to-all-info .next {
  width: 50px;
  height: 50px;
}

#single-information .info .to-all-info .next a {
  position: relative;
  width: 50px;
  height: 50px;
}

#single-information .info .to-all-info .next a::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  border-top: 2px solid #39C1D8;
  border-right: 2px solid #39C1D8;
  width: 10px;
  height: 10px;
}

/*------------------------------ ページネーション ------------------------------*/
.pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 90%;
  margin-inline: auto;
}

.pagination .current {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1px;
  border: 1px solid #39C1D8;
  background: #39C1D8;
  color: #fff;
  font-size: 2rem;
}

.pagination a {
  transition: .3s;
}

.pagination a.page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1px;
  background: #FFF;
  color: #39C1D8;
  font-size: 2rem;
}

.pagination a.page-numbers:hover {
  background: #39C1D8;
  color: #fff;
}

.pagination a.prev {
  position: relative;
  background-color: transparent;
  border: none;
}

.pagination a.prev:hover {
  background-color: transparent;
}

.pagination a.prev::after {
  position: absolute;
  content: "";
  border-top: 3px solid #39C1D8;
  border-left: 3px solid #39C1D8;
  top: 50%;
  transform: rotate(-45deg) translateY(-50%);
}

.pagination a.next {
  position: relative;
  background-color: transparent;
  border: none;
}

.pagination a.next:hover {
  background-color: transparent;
}

.pagination a.next::after {
  position: absolute;
  content: "";
  border-top: 3px solid #39C1D8;
  border-right: 3px solid #39C1D8;
  top: 50%;
  transform: rotate(45deg) translateY(-50%);
}

/*------------------------------ コラム 一覧 ------------------------------*/
#column .column {
  padding: 60px 0 90px;
}

#column .column .inner .column-wrap {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 60px 3.5%;
}

/*------------------------------ コラム 詳細 ------------------------------*/
#single-column .column .inner {
  background-color: #fff;
  text-align: center;
}

#single-column .column .inner .date-tag .column-tags li a {
  color: #F2AC4E;
  position: relative;
}

#single-column .column .inner .date-tag .column-tags li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #F2AC4E;
  transition: .5s;
}

#single-column .column .inner .date-tag .column-tags li a:hover::after {
  width: 100%;
}

#single-column .column .inner .post-title {
  text-align: left;
  justify-content: flex-start;
  font-weight: 700;
}

#single-column .column .inner .main-img-text img {
  width: 100%;
  object-fit: cover;
}

#single-column .column .inner .table-of-contents {
  background-color: #FCFCFC;
  margin-inline: auto;
  border: 1px solid #E2E2E2;
}

#single-column .column .inner .table-of-contents h2 {
  border-bottom: 1px solid #282828;
  padding-bottom: 3px;
  font-weight: 700;
}

#single-column .column .inner .table-of-contents ul li {
  text-align: left;
}

#single-column .column .inner .table-of-contents ul li a {
  align-items: baseline;
}

#single-column .column .inner .table-of-contents ul li a .anchor-title {
  position: relative;
  transition: .3s;
}

#single-column .column .inner .table-of-contents ul li a:hover .anchor-title {
  color: #F2AC4E;
}

#single-column .column .inner .table-of-contents ul li a .anchor-title::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  background-color: #F2AC4E;
  transition: .5s;
}

#single-column .column .inner .table-of-contents ul li a:hover .anchor-title::after {
  width: 100%;
}

#single-column .column .inner article h2 {
  color: #F4982A;
  border-bottom: 1px solid #F4982A;
  padding-bottom: 3px;
  justify-content: flex-start;
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
  font-weight: 700;
}

#single-column .column .inner article .img {
  margin-inline: auto;
}

#single-column .column .inner article .img img {
  width: 100%;
  object-fit: cover;
}

#single-column .column .inner article h3 {
  justify-content: flex-start;
}

#single-column .column .inner article h3 span {
  background-color: #EBF2F4;
  text-align: left;
}

#single-column .column .inner .check {
  margin-inline: auto;
  border: 2px solid #F4982A;
  border-radius: 15px;
}

#single-column .column .inner .check h2 {
  color: #F4982A;
  border-bottom: 1px solid #282828;
  padding-bottom: 3px;
}

#single-column .column .inner .check .square-arrow-link {
  margin-inline: auto;
  background-color: #072E61;
  color: #fff;
  border: 1px solid #072E61;
  border-radius: 4px;
}

#single-column .column .inner .check .square-arrow-link::before {
  background-color: #072E61;
  border-radius: 4px;
}

#single-column .column .inner .check .square-arrow-link::after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

#single-column .column .inner .check .square-arrow-link span::before {
  background-color: #fff;
}

#single-column .column .inner .check .square-arrow-link:hover span {
  color: #072E61;
}

#single-column .column .inner .check .square-arrow-link:hover::after {
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
}

#single-column .column .pagination-all {
  justify-content: center;
  gap: 0 30px;
  margin-inline: auto;
  align-items: center;
}

#single-column .column .prev a {
  width: 50px;
  height: 50px;
  border-radius: 9999px;
  box-shadow: 0px 0px 5px rgb(93 185 206 / 36%);
  background-color: #fff;
  position: relative;
  transition: .3s;
}

#single-column .column .prev a:hover {
  background-color: rgb(93 185 206 / 36%);
}

#single-column .column .prev a::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  border-top: 2px solid #286092;
  border-left: 2px solid #286092;
  width: 10px;
  height: 10px;
  transition: .3s;
}

#single-column .column .prev a:hover::before {
  border-top: 2px solid #fff;
  border-left: 2px solid #fff;
}

#single-column .column .next a {
  width: 50px;
  height: 50px;
  border-radius: 9999px;
  box-shadow: 0px 0px 5px rgb(93 185 206 / 36%);
  background-color: #fff;
  position: relative;
  transition: .3s;
}

#single-column .column .next a:hover {
  background-color: rgb(93 185 206 / 36%);
}

#single-column .column .next a::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  border-top: 2px solid #286092;
  border-right: 2px solid #286092;
  width: 10px;
  height: 10px;
  transition: .3s;
}

#single-column .column .next a:hover::before {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

#single-column .column .to-all-column {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #072E61;
  background-color: #fff;
  border-radius: 25px;
  box-shadow: 0px 0px 5px rgb(93 185 206 / 36%);
  transition: .3s;
}

#single-column .column .to-all-column:hover {
  color: #fff;
  background-color: rgb(93 185 206 / 36%);
}

#single-column .js-marker {
  background-image: linear-gradient(90deg, #fff76f, #fff76f);
}

#single-column a.clm-link {
  color: #F4982A;
  text-decoration: underline;
  text-decoration-color: #F4982A;
  text-underline-offset: 5px;
  transition: .3s;
}

#single-column a.clm-link:hover {
  text-decoration-color: transparent;
}

/*------------------------------ お問い合わせ 共通 ------------------------------*/
.contact-step {
  align-items: center;
}

.contact-step li {
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #072E61;
  font-size: 2rem;
  height: 50px;
  position: relative;
}

.contact-step li.current-step {
  background-color: #39C1D8;
  color: #fff;
}

.contact-step li::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
}

.contact-step li:last-of-type::after {
  display: none;
}


/*------------------------------ お問い合わせ ------------------------------*/
#contact .content .inner .contact-form .items {
  background-color: #fff;
}

#contact .content .inner .contact-form .items .wpcf7-list-item {
  margin-left: 0;
}

#contact .content .inner .wpcf7 form .wpcf7-response-output {
  color: #dc3232;
}

#contact .content .inner .contact-form .items .wpcf7-not-valid-tip {
  margin-top: 3px;
}

#contact .content .inner .contact-form .items .wpcf7-list-item label {
  cursor: pointer;
}

#contact .content .inner .contact-form .items dl {
  width: 100%;
  align-items: center;
}

#contact .content .inner .contact-form .items dl:last-of-type {
  margin-bottom: 0;
}

#contact .content .inner .contact-form .items dl dt p {
  display: flex;
  align-items: center;
  gap: 0 8px;
}

#contact .content .inner .contact-form .items dl dt p .required {
  color: #fff;
  background-color: #F2AC4E;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  padding: 5px;
  border-radius: 4px;
  line-height: 1;
  white-space: nowrap;
}

#contact .content .inner .contact-form .items dl dd .wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
}

#contact .content .inner .contact-form .items dl dd input.wpcf7-form-control {
  width: 100%;
  padding: 10px 15px;
  border: none;
  background-color: #EDF3F4;
  border-radius: 6px;
}

#contact .content .inner .contact-form .items dl dd input.wpcf7-form-control::placeholder {
  color: #A5A5A5;
}

#contact .content .inner .contact-form .items dl dd textarea.wpcf7-form-control {
  width: 100%;
  padding: 10px 15px;
  border: none;
  background-color: #EDF3F4;
  border-radius: 6px;
}

#contact .content .inner .contact-form .items dl dd input[type="radio"] {
  position: relative;
  width: 20px;
  height: 20px;
  border: 1px solid #B4B4B4;
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-right: 3px;
}

/* ↓ラジオボタンの親要素も装飾変えるのは labelにid付与しないと難しそう？ */
/*
#contact .content .inner .contact-form .items dl dd input[type="radio"] + label {
  background-color: #EDF3F4;
} */

#contact .content .inner .contact-form .items dl dd input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #072E61;
  content: '';
}

#contact .content .inner .contact-form .accept {
  text-align: center;
}

#contact .content .inner .contact-form .accept input {
  -webkit-appearance: auto;
  appearance: auto;
  width: 20px;
  height: 20px;
  margin-right: 7px;
}

#contact .content .inner .contact-form .accept input[name="acceptance"],
#contact .content .inner .contact-form .accept input[name="acceptance-724"] {
  cursor: pointer;
}

#contact .content .inner .contact-form .accept a {
  color: #198096;
  border-bottom: 1px solid #198096;
}

#contact .content .inner .contact-form .confirm {
  text-align: center;
  transition: .5s;
  position: relative;
  max-width: 533px;
  margin-inline: auto;
}

#contact .content .inner .contact-form .confirm::before {
  position: absolute;
  content: "確認画面へ";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 2;
  font-size: 3rem;
  line-height: 1;
  pointer-events: none;
}

#contact .content .inner .contact-form .confirm:hover::before {
  color: #F2AC4E;
}

#contact .content .inner .contact-form .confirm .wpcf7-spinner {
  display: none;
}

#contact .content .inner .contact-form .confirm input.wpcf7-submit {
  background-color: #F2AC4E;
  border: none;
  width: 100%;
  height: 66px;
  transition: .5s;
  color: transparent;
}

#contact .content .inner .contact-form .confirm p:first-of-type {
  position: relative;
  z-index: 1;
  transition: .5s;
  color: #fff;
}

#contact .content .inner .contact-form .confirm p:first-of-type::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s;
  z-index: 0;
  pointer-events: none;
}

#contact .content .inner .contact-form .confirm p:first-of-type:hover::before {
  transform: scale(1, 1);
}

#contact .content .inner .contact-form .confirm p:hover:first-of-type:after {
  border-bottom: 2px solid #F2AC4E;
  border-right: 2px solid #F2AC4E;
}

#contact .content .inner .contact-form .confirm p:first-of-type {
  margin-inline: auto;
  position: relative;
}

#contact .content .inner .contact-form .confirm p:first-of-type:after {
  position: absolute;
  content: "";
  background-color: transparent;
  width: 30px;
  height: 6px;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: skew(45deg);
  top: 30px;
  right: 30px;
}

#contact .content .inner .contact-form .confirm p:first-of-type {
  max-width: 533px;
}

/*------------------------------ お問い合わせ 確認 ------------------------------*/
#contact-confirm .content .inner .contact-form .items {
  background-color: #fff;
}

#contact-confirm .content .inner .contact-form .items dl {
  width: 100%;
}

#contact-confirm .content .inner .contact-form .items dl:last-of-type {
  margin-bottom: 0;
}

#contact-confirm .content .inner .contact-form .items dl dt {
  font-weight: 700;
}

#contact-confirm .content .inner .contact-form .edit .wpcf7-spinner {
  display: none;
}

#contact-confirm .content .inner .contact-form .edit input {
  display: flex !important;
  height: 66px;
  width: 100%;
  justify-content: center;
  align-items: center;
  font-size: 3rem;
}

#contact-confirm .content .inner .contact-form .edit .form-prev {
  position: relative;
}

#contact-confirm .content .inner .contact-form .edit .form-prev::before {
  position: absolute;
  content: "戻る";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #072E61;
  z-index: 2;
  font-size: 3rem;
  line-height: 1;
  pointer-events: none;
  transition: .5s;
}

#contact-confirm .content .inner .contact-form .edit .form-prev:hover::before {
  color: #fff;
}

#contact-confirm .content .inner .contact-form .edit .form-prev input {
  background-color: #fff;
  border: 1px solid #B4B4B4;
  color: transparent;
}

#contact-confirm .content .inner .contact-form .edit .form-prev p:first-of-type {
  position: relative;
}

#contact-confirm .content .inner .contact-form .edit .form-prev p:first-of-type::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #B4B4B4;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s;
  z-index: 0;
  pointer-events: none;
}

#contact-confirm .content .inner .contact-form .edit .form-prev p:first-of-type:hover::before {
  transform: scale(1, 1);
}

#contact-confirm .content .inner .contact-form .edit .form-prev p:first-of-type::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #072E61;
  border-left: 2px solid #072E61;
  left: 30px;
  background-color: transparent;
  width: 30px;
  height: 6px;
  transform: translateY(-50%) skew(-45deg);
  top: 50%;
  transition: .1s;
}

#contact-confirm .content .inner .contact-form .edit .form-prev p:first-of-type:hover::after {
  border-bottom: 2px solid #fff;
  border-left: 2px solid #fff;
}

#contact-confirm .content .inner .contact-form .edit .form-next {
  position: relative;
}

#contact-confirm .content .inner .contact-form .edit .form-next::before {
  position: absolute;
  content: "送信する";
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 2;
  font-size: 3rem;
  line-height: 1;
  pointer-events: none;
  transition: .5s;
}

#contact-confirm .content .inner .contact-form .edit .form-next:hover::before {
  color: #F2AC4E;
}

#contact-confirm .content .inner .contact-form .edit .form-next p:first-of-type {
  position: relative;
}

#contact-confirm .content .inner .contact-form .edit .form-next p:first-of-type::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s;
  z-index: 0;
  pointer-events: none;
}

#contact-confirm .content .inner .contact-form .edit .form-next p:first-of-type:hover::before {
  transform: scale(1, 1);
}

#contact-confirm .content .inner .contact-form .edit .form-next input {
  background-color: #F2AC4E;
  border: 1px solid #F2AC4E;
  color: transparent;
}

#contact-confirm .content .inner .contact-form .edit .form-next p:first-of-type::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  right: 30px;
  background-color: transparent;
  width: 30px;
  height: 6px;
  transform: translateY(-50%) skew(45deg);
  top: 50%;
  transition: .5s;
}

#contact-confirm .content .inner .contact-form .edit .form-next p:first-of-type:hover::after {
  border-bottom: 2px solid #F2AC4E;
  border-right: 2px solid #F2AC4E;
}

/*------------------------------ お問い合わせ 完了 ------------------------------*/
#contact-thanks .content {
  padding: 60px 0 110px;
}

#contact-thanks .content .inner .text {
  margin-bottom: 30px;
}

#contact-thanks .content .inner .text:last-of-type {
  margin-bottom: 70px;
}

#contact-thanks .content .inner .orange-link {
  max-width: 533px;
  margin-inline: auto;
}

#contact-thanks .content .inner .download-url {
  margin-bottom: 40px;
}

#contact-thanks .content .inner .download-url .icon-link {
  align-items: center;
  gap: 0 10px;
  width: fit-content;
}

#contact-thanks .content .inner .download-url .icon-link .icon {
  width: 50px;
  height: 50px;
  background-color: #F2AC4E;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: .3s;
}

#contact-thanks .content .inner .download-url .icon-link:hover .icon {
  border-radius: 0;
}

#contact-thanks .content .inner .download-url .icon-link .txt {
  display: inline-block;
  background-color: #fff;
  padding: 10px;
  color: #072E61;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
  border: 5px solid #F2AC4E;
  font-size: 2.4rem;
  transition: .5s;
}

#contact-thanks .content .inner .download-url .icon-link:hover .txt {
  border: 5px solid #fff;
}


/* #contact-thanks .content .inner .download-url dl dd a {
  color: #F2AC4E;
  border-bottom: 1px solid #F2AC4E;
} */


/*------------------------------ サポート体制 ------------------------------*/
#support .system {
  background-color: #072E61;
}

#support .system .inner h2 {
  color: #fff;
}

#support .system .inner .line {
  color: #fff;
}

#support .system .inner .line .number-heading {
  align-items: center;
}

#support .system .inner .line .number-heading .number {
  background-color: #F2AC4E;
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#support .system .inner .each-support {
  background-color: #fff;
  position: relative;
  overflow: hidden;
}

#support .system .inner .each-support .ellipse {
  position: absolute;
  content: "";
  background-color: #F2AC4E;
  border-radius: 42% 58% 50% 50% / 51% 47% 53% 49%;
}

#support .system .inner .each-support .ellipse::before {
  position: absolute;
  color: #fff;
  z-index: 1;
}

#support .system .inner .each-support .ellipse1:before {
  content: "1";
}

#support .system .inner .each-support .ellipse2:before {
  content: "2";
}

#support .system .inner .each-support .ellipse3:before {
  content: "3";
}

#support .system .inner .each-support .ellipse4:before {
  content: "4";
}

#support .system .inner .each-support:last-of-type {
  margin-bottom: 0;
}

#support .system .inner .each-support .img-intro .img {
  text-align: center;
}

#support .system .inner .each-support .img-intro .intro h3 {
  justify-content: flex-start;
  line-height: 1;
  margin-bottom: 5px;
}

#support .system .inner .each-support .img-intro .intro .en-sub {
  color: #959595;
}

#support .system .inner .each-support .img-intro .intro h4 {
  justify-content: flex-start;
}

#support .security {
  position: relative;
}

#support .security .inner .logo-intro .logo {
  text-align: center;
}

#support .security .inner .logo-intro .intro h2 {
  color: #072E61;
  letter-spacing: 0.05em;
  line-height: 1.42;
  background-image: linear-gradient(90deg, #fff, #fff);
}

#support .security .inner .security-wrap .each-security {
  z-index: 1;
}

#support .security .inner .security-wrap .each-security h3 {
  text-align: center;
  align-items: center;
}


/*------------------------------ FAQ ------------------------------*/
#faq .about .anchor .anchor-link a {
  justify-content: center;
  padding-left: 0;
}

#faq .about .anchor {
  padding-bottom: 0;
}

#faq .about article .inner {
  background-color: #fff;
}

#faq .about article .img {
  text-align: center;
}

#faq .about article h2 {
  color: #072E61;
}

#faq .about article .accordion label {
  border: 1px solid #D0D0D0;
  border-bottom: none;
  cursor: pointer;
}

#faq .about article .accordion label .ques {
  background-color: #F2AC4E;
  color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
}

#faq .about article .accordion .content {
  align-items: baseline;
  border: 1px solid #D0D0D0;
  border-top: none;
}

#faq .about article .accordion .content .answer {
  color: #072E61;
  font-weight: 700;
}

#faq .about article .accordion .content p a {
  color: #F2AC4E;
  border-bottom: 1px solid transparent;
  transition: .5s;
}

#faq .about article .accordion .content p a:hover {
  color: #F2AC4E;
  border-bottom: 1px solid #F2AC4E;
}

#faq .about article .accordion .content:not(:last-of-type) {
  border-bottom: none;
}

#faq .words .inner h2 {
  justify-content: flex-start;
  position: relative;
  line-height: 1;
}

#faq .words .inner h2::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background-color: #F2AC4E;
}

#faq .words .inner .accordion label {
  border: 1px solid #D0D0D0;
  border-bottom: none;
  background-color: #fff;
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
}

#faq .words .inner .accordion label::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
  background-color: #F2AC4E;
}

#faq .words .inner .accordion .content {
  border: 1px solid #D0D0D0;
  border-top: none;
  background-color: #fff;
}

#faq .words .inner .accordion .content:not(:last-of-type) {
  border-bottom: none;
}

/* アコーディオンメニュー */
#faq .about .toggle {
  display: none;
}

#faq .about .Label {
  align-items: center;
}

#faq .about .Label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #072E61;
  border-right: 2px solid #072E61;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  transform: rotate(45deg);
  transition: .3s;
}

#faq .about .Label,
#faq .about .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

#faq .about .content {
  height: 0;
  padding: 0 20px;
  overflow: hidden;
}

#faq .about .toggle:checked+.Label+.content {
  height: auto;
  transition: all .3s;
}

.toggle:checked+.Label::before {
  transform: rotate(135deg) !important;
}

/*------------------------------ 料金について------------------------------*/
#price .unity .inner .merit-list {
  background-color: #fff;
  flex-wrap: wrap;
}

#price .unity .inner .merit-list li {
  line-height: 1.5;
}

#price .unity .inner .merit-list li span {
  color: #072E61;
}

#price .unity .inner .anchor-link {
  flex-wrap: wrap;
}

#price .unity .inner .anchor-link a {
  align-items: center;
  justify-content: center;
  height: 51px;
  background-color: #fff;
  border-radius: 5px;
  color: #072E61;
  position: relative;
  transition: .5s;
}

#price .unity .inner .anchor-link a:hover {
  background-color: #EBF2F4;
}

#price .unity .inner .anchor-link a::after {
  position: absolute;
  content: "";
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
  width: 8px;
  height: 8px;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
}

#price .unity .inner .composition h2 {
  color: #072E61;
}

#price .unity .inner .composition .intro-month .each-compo {
  border-radius: 10px;
  background-color: #fff;
}

#price .unity .inner .composition .intro-month .each-compo .heading {
  background-color: #EBF2F4;
  border-radius: 10px 10px 0 0;
  height: 70px;
  align-items: center;
  padding: 0 25px;
}

#price .unity .inner .composition .intro-month .each-compo .heading h3 {
  line-height: 1;
}

#price .unity .inner .composition .intro-month .each-compo .ul-text {
  border-radius: 0 0 10px 10px;
}

#price .unity .inner .composition .intro-month .each-compo .ul-text ul li {
  font-size: 2rem;
  line-height: 1;
  margin-bottom: 15px;
}

#price .unity .inner .composition .intro-month .each-compo .ul-text ul li:last-of-type {
  margin-bottom: 0;
}

#price .unity .inner .composition .intro-month .intro {
  position: relative;
}

#price .unity .inner .composition .intro-month .intro::before {
  position: absolute;
  content: "";
  width: 24px;
  height: 4px;
  background-color: #5B5B5B;
}

#price .unity .inner .composition .intro-month .intro::after {
  position: absolute;
  content: "";
  width: 4px;
  height: 24px;
  background-color: #5B5B5B;
}

#price .unity .inner .discount .table h2 {
  border-radius: 10px 10px 0 0;
  background-color: #072E61;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px;
}

#price .unity .inner .discount .table .discount-wrap {
  background-color: #fff;
  border-radius: 0 0 10px 10px;
}

#price .unity .inner .discount .table .discount-wrap .each-discount {
  text-align: center;
}

#price .unity .inner .discount .table .discount-wrap .each-discount .circle {
  width: 133px;
  height: 133px;
  border-radius: 9999px;
  background-color: #F2AC4E;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 3.8rem;
  line-height: 1.2;
  margin-bottom: 10px;
}

#price .unity .inner .discount .table .discount-wrap .each-discount .text {
  font-size: 1.6rem;
}

#price .unity .inner .square-arrow-link {
  height: 60px;
  background-color: #072E61;
  color: #fff;
  border-radius: 4px;
  letter-spacing: 0.05em;
  margin-inline: auto;
}

#price .unity .inner .square-arrow-link::before {
  background-color: #072E61;
}

#price .unity .inner .square-arrow-link::after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}

#price .unity .inner a span::before {
  background-color: #fff;
}

#price .unity .inner a:hover span {
  color: #072E61;
}

#price .unity .inner a:hover::after {
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
}

#price .comparison {
  background-color: #F7F7F7;
}

#price .comparison .inner h2 {
  color: #072E61;
}

#price .flow .inner h2 {
  color: #072E61;
}

#price .flow .inner .flow-wrap {
  flex-direction: column;
}

#price .flow .inner .flow-wrap .each-flow {
  align-items: center;
}

#price .flow .inner .flow-wrap .each-flow .illust {
  background-color: #DDEAED;
  border-radius: 9999px;
}

#price .flow .inner .flow-wrap .each-flow .illust img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#price .flow .inner .flow-wrap .each-flow .heading-text h3 {
  justify-content: flex-start;
  border-bottom: 1px solid #D0D0D0;
}


/*------------------------------ 経営理念 ------------------------------*/
#philosophy .continuation {
  background-color: #E5ECEE;
}

#philosophy .continuation .inner {
  align-items: center;
}

#philosophy .continuation .inner .heading-text h2 {
  color: #072E61;
  letter-spacing: 0.05em;
  line-height: 1.42;
  background-image: linear-gradient(90deg, #fff, #fff);
}

#philosophy .continuation .inner .heading-text h2 span {
  padding: 2px 0 2px 10px;
}

@media screen and (min-width: 1401px) {
  #philosophy .continuation .inner .heading-text h2 span.for-br {
    padding-left: 0;
  }
}

#philosophy .continuation .inner .heading-text h2 .continuation-br {
  display: none;
}

@media screen and (max-width: 1400px) {
  #philosophy .continuation .inner .heading-text h2 .continuation-br {
    display: block;
  }
}

#philosophy .continuation .inner .heading-text .text {
  margin-top: 25px;
}

#philosophy .development .container h2 {
  color: #072E61;
}

#philosophy .development .container .img-slider .img img {
  width: 100%;
}

#philosophy .development .container .img-slider .slider {
  position: relative;
  z-index: 1;
}

#philosophy .development .container .img-slider .slider .detail {
  display: none;
}

#philosophy .development .container .img-slider .slider #detail1.slider-active {
  display: block;
}

#philosophy .development .container .img-slider .slider #detail2.slider-active {
  display: block;
}

#philosophy .development .container .img-slider .slider #detail3.slider-active {
  display: block;
}

#philosophy .development .container .img-slider .slider .detail .number {
  color: #F2AC4E;
}

#philosophy .development .container .img-slider .slider .detail h3 {
  justify-content: flex-start;
  display: block;
}

#philosophy .development .container .img-slider .slider #slider-btn {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 50px;
  height: 50px;
  box-shadow: 0px 0px 10px rgb(57 193 216 / 75%);
  border: none;
  background-color: #39C1D8;
  border-radius: 9999px;
}

#philosophy .development .container .img-slider .slider #slider-btn::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 13px solid #ffffff;
  border-right: 0;
}

#philosophy .development .container .img-slider .slider .progress {
  position: absolute;
  bottom: 0;
  left: 0;
  justify-content: space-between;
}

#philosophy .development .container .img-slider .slider .progress::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: 4px;
  background-color: #E8EFEF;
  z-index: -1;
}

#philosophy .development .container .img-slider .slider .progress .number {
  color: #fff;
  font-size: 2.4rem;
  letter-spacing: 0.025em;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #E8EFEF;
  border-radius: 9999px;
  position: relative;
  cursor: pointer;
}

#philosophy .development .container .img-slider .slider .progress .number.slider-active {
  background-color: #39C1D8;
}

#philosophy .development .container .img-slider .slider .progress .number.slider-active::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 100%;
  transform: translateY(-50%);
  height: 4px;
  background-color: #39C1D8;
  animation: slideWidth 1.5s forwards infinite;
}

#philosophy .development .container .img-slider .slider .progress .number:last-of-type::after {
  display: none;
}

#philosophy .president .container {
  position: relative;
  z-index: 1;
}

#philosophy .president .container .blue-bg {
  position: absolute;
  top: 0;
  left: -100%;
  transform-origin: right top;
  background-color: #072E61;
  z-index: -1;
}

#philosophy .president .container .img-heading {
  justify-content: center;
}

#philosophy .president .container .img-heading .heading h2 {
  color: #072E61;
  letter-spacing: 0.05em;
  line-height: 1.42;
  background-image: linear-gradient(90deg, #fff, #fff);
}

#philosophy .president .container .img-heading .heading h2 .president-br {
  display: none;
}

@media screen and (max-width: 1100px) {
  #philosophy .president .container .img-heading .heading h2 .president-br {
    display: block;
  }
}

@media screen and (min-width: 1101px) {
  #philosophy .president .container .img-heading .heading h2 span.for-br {
    padding-left: 0;
  }
}

#philosophy .president .container .img-heading .heading h2 span {
  padding: 2px 0 2px 10px;
}

#philosophy .president .container .img-heading .heading p {
  color: #fff;
}

#philosophy .president .container .career-us .career {
  flex-direction: column;
  position: relative;
}

#philosophy .president .container .career-us .career .img {
  position: absolute;
}

#philosophy .president .container .career-us .us .date {
  text-align: right;
}


/*------------------------------ プライバシーポリシー ------------------------------*/
#privacy {
  padding: 60px 0 40px;
  background-color: #f9f9f9;
}

@media screen and (max-width: 1000px) {
  #privacy {
    padding: 100px 0 40px;
  }
}

#privacy .container h1 {
  margin-bottom: 20px;
  font-size: 2rem;
  padding: 15px;
  font-weight: 700;
  background-color: #fff;
  border: 1px solid #2b2b2b;
  justify-content: flex-start;
  line-height: 1;
}

#privacy .container h2 {
  margin-bottom: 10px;
  padding-top: 40px;
  font-weight: 700;
  font-size: 1.9rem;
  justify-content: flex-start;
}

#privacy .container .mb-text {
  margin-bottom: 25px;
}

#privacy .container .policy_area ul li p {
  padding-left: 1em;
  text-indent: -1em;
}

#privacy .container .policy_area ul li ul li {
  padding-left: 2em;
  text-indent: -1em;
}

#privacy .container ul li.contact p {
  padding-left: 0;
  text-indent: 0;
}

#privacy .container .signature {
  margin-bottom: 10px;
}

#privacy .container .signature p {
  text-align: right;
}

#privacy .container .enactment {
  text-align: right;
}

#privacy .container .contact .reception {
  margin-bottom: 5px;
}


/*------------------------------ 404 ------------------------------*/
#not-found .dot-bg {
  padding: 150px 0 70px;
  position: relative;
}

#not-found .dot-bg .logo {
  position: absolute;
  top: 30px;
  left: 30px;
}

@media screen and (max-width: 1000px) {
  #not-found .dot-bg .logo {
    display: none;
  }
}

#not-found .dot-bg .inner {
  text-align: center;
}

#not-found .dot-bg .inner .number-text {
  margin-bottom: 20px;
  line-height: 1;
}

#not-found .dot-bg .inner h1 {
  display: block;
  font-size: 2rem;
  margin-bottom: 30px;
}

#not-found .dot-bg .inner a.orange-link {
  max-width: 533px;
  margin-inline: auto;
}


/*------------------------------ トップに戻る ------------------------------*/
#page-top {
  position: fixed;
  z-index: 9;
}

#page-top a {
  display: block;
  position: relative;
  border-radius: 50%;
  box-shadow: 0 3px 10px rgb(0 0 0 / 16%);
  background-color: #fff;
}

#page-top a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #072E61;
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0, 0);
  transition: transform ease 0.4s;
}

#page-top a:hover:after {
  transform: translate(-50%, -50%) scale(1.05, 1.05);
}

#page-top a:before {
  content: "";
  position: absolute;
  z-index: 10;
  top: 55%;
  left: 50%;
  border-style: solid;
  border-color: #072E61;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: border-color ease 0.1s;
}

#page-top a:hover:before {
  border-color: #fff;
}


/*------------------------------ 会員サポート ログイン前 ------------------------------*/
#contact .content .inner .login-heading {
  color: #072E61;
  font-size: 3rem;
  justify-content: flex-start;
  margin-bottom: 10px;
}

#contact .content .inner #wpmem_login legend {
  display: none;
}

#contact .content .inner .button_div {
  text-align: left;
}

@media screen and (max-width: 350px) {
  #contact .content .inner .button_div {
    font-size: 1.4rem;
  }
}

#contact .content .inner .button_div input {
  -webkit-appearance: auto;
  appearance: auto;
}

#contact .content .inner .button_div input.buttons {
  line-height: 1;
  color: #fff;
  background-color: #F2AC4E;
  padding: 15px;
  border: none;
  display: block;
  margin-top: 10px;
  font-size: 1.8rem;
}

/*------------------------------ 会員サポート ログイン後 ------------------------------*/
#contact .content .inner .done-login-text {
  margin-bottom: 50px;
}

#contact .content .inner .contact-form .items .gyazo {
  margin-top: 20px;
}

#contact .content .inner .contact-form .accept input.member-submit {
  padding: 15px;
  font-size: 2rem;
  max-width: 448px;
  width: 100%;
  background-color: #F2AC4E;
  color: #fff;
  margin-top: 30px;
  height: auto;
  border: none;
}

#contact .content .inner .contact-form .items dl dd select.wpcf7-form-control {
  width: 100%;
  padding: 10px 15px;
  border: none;
  background-color: #EDF3F4;
  border-radius: 6px;
}


/*------------------------------ 販売代理店募集中 ------------------------------*/
#partner h2 {
  color: #072E61;
}

#partner .square-arrow-link {
  height: 60px;
  width: 329px;
  color: #fff;
  background-color: #072E61;
  margin-inline: auto;
  border-radius: 5px;
}

#partner .square-arrow-link::before {
  background-color: #072E61;
  right: 47px;
}

#partner .square-arrow-link::after {
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  right: 20px;
}

#partner .square-arrow-link span::before {
  background-color: #fff;
}

#partner .us .square-arrow-link span::before {
  background-color: #f6f6f6;
}

#partner .square-arrow-link:hover::before {
  background-color: #fff;
}

#partner .us {
  padding: 88px 0 81px;
}

#partner .us .inner {
  justify-content: space-between;
  max-width: 1100px;
	margin-bottom: 33px;
}

#partner .us .square-arrow-link:hover::before {
  background-color: #f6f6f6;
}

#partner .square-arrow-link:hover::after {
  border-bottom: 2px solid #072E61;
  border-right: 2px solid #072E61;
}

#partner .square-arrow-link:hover span {
  color: #072E61;
}

#partner .us {
  background-color: #fff;
}

#partner .us .inner {
  align-items: center;
}

#partner .us .inner .texts h2 {
  display: block;
  color: #072E61;
  margin-bottom: 38px;
  line-height: 1.58;
}

#partner .feature {
  background-color: #072E61;
  padding: 88px 0 101px;
}

#partner .feature h2 {
  color: #fff;
  margin-bottom: 51px;
}

#partner .feature .inner {
  background-color: #fff;
  flex-wrap: wrap;
  padding: 45px;
}

@media screen and (max-width: 1000px) {
	#partner .feature .inner {
		padding: 25px;
	}
}

#partner .feature .inner .each-feature {
  text-align: center;
  position: relative;
}

#partner .feature .inner .each-feature h3 {
  font-size: 3rem;
  display: block;
  margin-bottom: 30px;
}

#partner .feature .inner .each-feature .img {
  margin-bottom: 21px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#partner .feature .inner .each-feature .img img {
  object-fit: contain;
}

#partner .support {
  background-color: #EBF2F4;
  padding: 109px 0 77px;
}

#partner .support .inner {
  padding: 0 45px;
  background-color: #fff;
}

@media screen and (max-width: 1000px) {
	#partner .support .inner {
		padding: 0 25px;
	}
}

#partner .support h2 {
  margin-bottom: 47px;
}

#partner .support .inner .each-support {
  border-bottom: dashed 2px #C9C9C9;
  padding: 45px 0;
}

#partner .support .inner .each-support:last-of-type {
  border-bottom: none;
}

#partner .support .inner .each-support figure {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

#partner .support .inner .each-support figure .img {
  margin-bottom: 25px;
}

#partner .support .inner .each-support figure figcaption {
  text-align: center;
}

#partner .support .inner .each-support .texts h3 {
  justify-content: flex-start;
  font-size: 2.2rem;
  margin-bottom: 20px;
}

#partner .recruit-detail {
  padding: 77px 0 95px;
}

#partner .recruit-detail h2 {
  margin-bottom: 38px;
}

#partner .recruit-detail .inner {
  background-color: #fff;
  margin-bottom: 62px;
}

#partner .recruit-detail .inner dl {
  border-bottom: dashed 2px #C9C9C9;
  line-height: 1.67;
}

#partner .recruit-detail .inner dl:last-of-type {
  border-bottom: none;
}

#partner .recruit-detail .inner dl dt {
  padding-left: 27px;
  position: relative;
}

#partner .recruit-detail .inner dl dt::before {
  position: absolute;
  content: "";
  left: 0;
  width: 11px;
  height: 11px;
  background-color: #F2AC4E;
}

#partner .charm {
  background-color: #072E61;
  padding: 89px 0 93px;
}

#partner .charm h2 {
  color: #fff;
  margin-bottom: 51px;
}

#partner .charm .inner {
  background-color: #fff;
}

#partner .charm .inner .each-charm {
  border-bottom: dashed 2px #C9C9C9;
  padding: 45px 0;
}

#partner .charm .inner .each-charm:last-of-type {
  border-bottom: none;
}

#partner .charm .inner .each-charm .img {
  display: flex;
    align-items: center;
    justify-content: center;
}

#partner .charm .inner .each-charm .texts h3 {
  justify-content: flex-start;
  margin-bottom: 20px;
  font-size: 2.2rem;
}

#partner .effect {
  background-color: #EBF2F4;
  padding: 89px 0 92px;
}

#partner .effect h2 {
  margin-bottom: 51px;
}

#partner .effect .inner {
  background-color: #fff;
  box-shadow: 7px 7px 5px rgb(0 0 0 / 6%);
}

@media screen and (max-width: 1000px) {
	#partner .effect .inner {
		flex-direction: column;
		max-width: 700px;
	}
}

#partner .recruit-detail .inner dl {
  padding: 25px 0;
}

#partner .effect .inner .each-effect {
  padding: 25px;
  width: calc(100% / 3);
  border-right: dashed 2px #C9C9C9;
}

@media screen and (max-width: 1000px) {
	#partner .effect .inner .each-effect {
		width: 100%;
		border-right: none;
		border-bottom: dashed 2px #C9C9C9;
	}
}

#partner .effect .inner .each-effect:last-of-type {
  border-right: none;
}

@media screen and (max-width: 1000px) {
	#partner .effect .inner .each-effect:last-of-type {
		border-bottom: none;
	}
}

#partner .effect .inner .each-effect .number-unit .number {
  font-size: 10.5rem;
  font-weight: 700;
  -webkit-font-smoothing: antialiased;
}

#partner .effect .inner .each-effect .number-unit .unit {
  font-size: 6rem;
}

#partner .effect .inner .each-effect .number-unit {
  color: #F2AC4E;
  align-items: baseline;
  justify-content: center;
  margin-bottom: 25px;
}

#partner .effect .inner .each-effect h3 {
  line-height: 1.42;
  background-image: linear-gradient(90deg, #fff76f, #fff76f);
}

#partner .effect .inner .each-effect p {
  margin-top: 35px;
}

#partner .effect .inner .each-effect h3 .effect-br {
  display: none;
}

#partner .flow h2 {
  margin-bottom: 86px;
}

#partner .flow .inner {
  flex-direction: column;
}

#partner .flow .inner .each-flow {
  align-items: center;
}

#partner .flow .inner .each-flow .illust {
  background-color: #DDEAED;
  border-radius: 9999px;
}

#partner .flow .inner .each-flow .illust img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#partner .flow .inner .each-flow .heading-text h3 {
  justify-content: flex-start;
  border-bottom: 1px solid #D0D0D0;
}

#partner .faq {
  padding-bottom: 135px;
}

#partner .faq h2 {
  margin-bottom: 60px;
}

#partner .faq article .inner .accordion {
  background-color: #fff;
}

#partner .faq article .img {
  text-align: center;
}

#partner .faq article h2 {
  color: #072E61;
}

#partner .faq article .accordion label {
  border: 1px solid #D0D0D0;
  border-bottom: none;
  cursor: pointer;
}

#partner .faq article .accordion label .ques {
  background-color: #F2AC4E;
  color: #fff;
  justify-content: center;
  align-items: center;
  display: flex;
}

#partner .faq article .accordion .content {
  align-items: baseline;
  border: 1px solid #D0D0D0;
  border-top: none;
}

#partner .faq article .accordion .content .answer {
  color: #072E61;
  font-weight: 700;
}

#partner .faq article .accordion .content p a {
  color: #F2AC4E;
  border-bottom: 1px solid transparent;
  transition: .5s;
}

#partner .faq article .accordion .content p a:hover {
  color: #F2AC4E;
  border-bottom: 1px solid #F2AC4E;
}

#partner .faq article .accordion .content:not(:last-of-type) {
  border-bottom: none;
}
#partner .faq .toggle {
  display: none;
}

#partner .faq .Label {
  align-items: center;
}

#partner .faq .Label::before {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #072E61;
  border-right: 2px solid #072E61;
  -webkit-transform: rotate(45deg);
  position: absolute;
  top: calc(50% - 3px);
  transform: rotate(45deg);
  transition: .3s;
}

#partner .faq .Label,
#partner .faq .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}

#partner .faq .content {
  height: 0;
  padding: 0 20px;
  overflow: hidden;
}

#partner .faq .toggle:checked+.Label+.content {
  height: auto;
  transition: all .3s;
}
