@charset "UTF-8";
body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  word-break: break-all;
  color: #292b2d;
}

.container {
  max-width: 1400px !important;
}

.wrap {
  max-width: 1200px;
}

.wrap-2 {
  max-width: 800px;
}

.container {
  max-width: calc(100% - 15px);
}

@media screen and (min-width: 768px) {
  .container, .wrap {
    max-width: calc(100% - 96px) !important;
  }
}

@media screen and (min-width: 1280px) {
  .container, .wrap {
    max-width: 1200px !important;
  }
}

img {
  width: 100%;
}

.color-base {
  color: #d63435;
}

.bg-base {
  background-color: #d63435;
}

.bg-f1 {
  background-color: #f1f1f1;
}

.border-base {
  border-bottom: 1px solid #d63435;
}

.marker {
  background: linear-gradient(transparent 60%, #ffff66 60%);
}

@media (max-width: 1200px) {
  .wrap,
  .wrap-2 {
    padding: 0 1rem;
  }
}

@media (min-width: 768px) {
  .container {
    max-width: 100%;
  }
}

@media (max-width: 960px) {
  header .hidden {
    display: none !important;
  }
}

.hamburger .hamburger-box {
  width: 28px;
}

.hamburger .hamburger-inner, .hamburger .hamburger-inner::before, .hamburger .hamburger-inner::after {
  width: 28px;
  height: 3px;
}

.hamburger.is-active .hamburger-inner {
  background-color: #fff;
}

.hamburger.is-active .hamburger-inner:before, .hamburger.is-active .hamburger-inner:after {
  background-color: #fff;
}

.zoom img {
  font-family: "object-fit: cover;";
  transition: transform 0.3s;
}

.zoom:hover img {
  transform: scale(1.1);
}

.btn-p {
  display: inline-block;
  background-image: url("/wp-content/themes/seien/img/btn-p.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  padding: 1rem 4rem;
}

header .btn {
  font-size: .9rem;
  font-weight: bold;
}

header .btn i {
  position: absolute;
  left: 1rem;
  top: calc(50% - .4rem);
  font-size: 0.8rem;
}

header .btn span {
  line-height: 1;
}

header .header-btn-red {
  display: block;
  position: relative;
  padding: 8px 20px 8px 40px;
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
  color: #ffffff;
  background-color: #d63435;
  border: 1px solid #d63435;
  overflow: hidden;
  transition: 0.3s;
}

header .header-btn-black {
  display: block;
  position: relative;
  padding: 8px 20px 8px 40px;
  margin: 0 auto;
  text-align: center;
  color: #ffffff;
  background-color: #292b2d;
  border: 1px solid #292b2d;
  overflow: hidden;
  transition: 0.3s;
}

header .header-btn-outline {
  display: block;
  position: relative;
  padding: 8px 20px 8px 40px;
  margin: 0 auto;
  text-align: center;
  color: #292b2d;
  border: 1px solid #292b2d;
  overflow: hidden;
  transition: 0.3s;
}

header .menu_tel {
  display: none;
}

@media (min-width: 970px) {
  header .menu_tel {
    display: initial;
  }
}

header .menu_contact {
  display: none;
}

@media (min-width: 970px) {
  header .menu_contact {
    display: initial;
  }
}

header .menu_dl {
  display: none;
}

@media (min-width: 1256px) {
  header .menu_dl {
    display: initial;
  }
}

header .menu_company {
  display: none;
}

@media (min-width: 1278px) {
  header .menu_company {
    display: initial;
  }
}

header .humburger-wrap {
  display: initial;
}

@media (min-width: 970px) {
  header .humburger-wrap {
    display: none;
  }
}

header h1 {
  font-size: 7px;
}

@media screen and (min-width: 768px) {
  header h1 {
    font-size: 9px;
  }
}

header picture img {
  max-width: 252px;
}

@media screen and (min-width: 768px) {
  header picture img {
    max-width: none;
  }
}

.h2-1 {
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3;
  padding: 0 1rem;
}

@media screen and (min-width: 768px) {
  .h2-1 {
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1.3;
  }
}

.h2-1:after {
  content: "";
  display: block;
  margin: 15px auto 0;
  width: 80px;
  height: 5px;
  background: #d63435;
  background: linear-gradient(90deg, #d63435 0% 50%, #292b2d 50% 100%);
}

.h3-1 {
  display: flex;
  align-items: center;
  background-color: #292B2D;
  color: #fff;
  font-size: 1.25rem;
  font-weight: bold;
  padding: 0.7rem 1rem;
  margin-bottom: 1.5rem;
}

@media screen and (min-width: 768px) {
  .h3-1 {
    font-size: 1.75rem;
  }
}

.h3-1:before {
  content: '';
  display: inline-block;
  width: 2px;
  height: 24px;
  background-color: #d63435;
  margin-right: .8rem;
}

.h3-2 {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .h3-2 {
    font-size: 1.8rem;
  }
}

.h3-2 svg {
  margin-right: .5rem;
}

.h3-3 {
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .h3-3 {
    font-size: 1.25rem;
  }
}

.h3-3:before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 24px;
  background-color: #d63435;
  margin-right: .8rem;
}

.h3-4 {
  display: flex;
  gap: .5rem;
  align-items: center;
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: .5rem;
}

@media screen and (min-width: 768px) {
  .h3-4 {
    font-size: 1.25rem;
  }
}

.h3-4:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background-color: #d63435;
}

@media screen and (min-width: 768px) {
  .h3-4:before {
    width: 8px;
    height: 8px;
    top: 9px;
  }
}

.h3-page {
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  font-weight: bold;
  line-height: 1.25;
  color: #d63435;
}

@media screen and (min-width: 768px) {
  .h3-page {
    font-size: 1.75rem;
    letter-spacing: 0.06em;
  }
}

.h4-1 {
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  font-weight: bold;
  line-height: 1.25;
  color: #d63435;
  padding-bottom: .5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #d63435;
}

@media screen and (min-width: 768px) {
  .h4-1 {
    font-size: 1.5rem;
    letter-spacing: 0.06em;
  }
}

.top_mv {
  background: url("/wp-content/themes/seien/img/mv.png") center/cover;
  background-repeat: no-repeat;
  /*p.mv_txt {
        font-size: 1.8rem;
        margin-bottom: 30px;
        font-weight: bold;
        color: #fff;
        line-height: 2;
        @include md() {
          font-size: 2.4rem;
        }
        @include xl() {
          font-size: 3.2rem;
        }
        span {
            color: #fff113;
            display: inline-block;
            border: 2px solid #fff113;
            font-size: 2rem;
            line-height: 1;
            padding: 7px 8px 7px;
            margin-bottom: 5px;
            margin-left: .5rem;
            margin-right: .5rem;
            @include md() {
              font-size: 3.1rem;
            }
            @include md() {
              font-size: 3.7rem;
            }
        }
    }*/
}
#top_mv {
    background: url("/wp-content/themes/seien/img/mv2.png") center/cover;
    background-repeat: no-repeat;
}

.top_mv p.mv_txt {
  text-align: center;
  font-size: 1.8rem;
  margin-bottom: 30px;
  font-weight: bold;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .top_mv p.mv_txt {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 1280px) {
  .top_mv p.mv_txt {
    font-size: 2.6rem;
  }
}

.top_mv p.mv_txt span.ts {
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .top_mv p.mv_txt span.ts {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 1280px) {
  .top_mv p.mv_txt span.ts {
    font-size: 2rem;
  }
}

.top_mv p.mv_txt span.tb {
  font-size: 2.0rem;
}

@media screen and (min-width: 768px) {
  .top_mv p.mv_txt span.tb {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 1280px) {
  .top_mv p.mv_txt span.tb {
    font-size: 2.4rem;
  }
}

.top_mv p.mv_txt span.ty {
  color: #fff113;
}

.top_mv .button-red i {
  position: relative;
}

.top_reason {
  background: #f1f1f1;
  background-image: url("/wp-content/themes/seien/img/pipe_bg.png");
  background-position: center center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-size: cover;
}

.top_reason .flex .bg-white {
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .top_reason .flex .bg-white {
    max-width: calc(33.3333% - 2rem);
  }
}

.top_reason p.subttl {
  font-size: 14px;
  margin-bottom: 0.5rem;
}

.top_reason h3.ttl {
  font-size: 1.25rem;
  color: #d63435;
  font-weight: bold;
}

.top_reason span.point {
  background: #ab2629;
  background: linear-gradient(125deg, #ab2629 50%, #da292e 50%, #da292e 100%);
  font-weight: bold;
  color: #fff;
  font-size: 1.4rem;
  line-height: 1;
  width: 42px;
  height: 42px;
  line-height: 42px;
}

@media screen and (min-width: 768px) {
  .top_reason span.point {
    font-size: 1.6rem;
    width: 52px;
    height: 52px;
    line-height: 52px;
  }
}

.top_reason h2.h2-strength {
  font-weight: bold;
  font-size: 1rem;
  letter-spacing: .1rem;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .top_reason h2.h2-strength {
    font-size: 1.4rem;
    letter-spacing: .2rem;
    margin-bottom: 0;
  }
}

.top_reason h2.h2-strength span {
  color: #d63435;
  font-family: oswald, sans-serif;
  font-weight: normal;
  font-size: 2.6rem;
  margin-right: 0;
  display: block;
}

@media screen and (min-width: 768px) {
  .top_reason h2.h2-strength span {
    display: inline;
    font-size: 4rem;
    margin-right: 1rem;
  }
}

.top_results h4.ttl {
  font-size: 1rem;
  color: #d63435;
  font-weight: bold;
  padding: .5rem 0;
}

@media screen and (min-width: 768px) {
  .top_results h4.ttl {
    font-size: 1.25rem;
    padding: 1rem 0;
  }
}

.table_spec {
  width: 100%;
  border: solid 1px #c2c2c2;
}

.table_spec thead tr th {
  border-left: solid 1px #f1f1f1;
  border-bottom: solid 1px #c2c2c2;
  background: #bbb;
  color: #fff;
  font-weight: bold;
  padding: 8px 10px;
  letter-spacing: 1px;
  white-space: nowrap;
}

.table_spec thead tr th:first-child {
  border-left: solid 1px #c2c2c2;
}

.table_spec thead tr td {
  border-right: solid 1px #c2c2c2;
  border-bottom: solid 1px #c2c2c2;
  padding: 10px;
  letter-spacing: 1px;
}

.table_spec tbody tr th {
  border-left: solid 1px #c2c2c2;
  border-bottom: solid 1px #c2c2c2;
  background: #f1f1f1;
  font-weight: bold;
  padding: 8px 10px;
  letter-spacing: 1px;
  white-space: nowrap;
}

.table_spec tbody tr td {
  border-right: solid 1px #c2c2c2;
  border-bottom: solid 1px #c2c2c2;
  padding: 10px;
  letter-spacing: 1px;
}

.button-red {
  display: block;
  position: relative;
  padding: 18px 20px;
  max-width: 335px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  background: #d63435;
  overflow: hidden;
  transition: 0.3s;
}

.button-red i {
  position: absolute;
  right: 1rem;
  top: calc(50% - 0.4rem);
  font-size: 0.8rem;
}

.button-outline {
  display: block;
  position: relative;
  padding: 18px 20px;
  max-width: 335px;
  width: 100%;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  border: 1px solid #fff;
  overflow: hidden;
  transition: 0.3s;
}

.button-outline i {
  position: absolute;
  right: 1rem;
  top: calc(50% - 0.4rem);
  font-size: 0.8rem;
}

.top_choice .table_spec {
  font-size: .9rem;
}

.top_choice .table_spec th {
  text-align: left;
  padding: 10px 10px;
}

.top_choice .table_spec td {
  padding: 10px 10px;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .top_choice .table_spec td {
    padding: 10px 10px;
  }
}

.top_choice .table_spec-2 {
  border-left: solid 1px #c2c2c2;
}

.top_choice .table_spec-2 th:last-child {
  border-right: solid 1px #c2c2c2;
}

.top_choice .table_spec-2 td {
  padding: 10px 15px;
}

.top_virtual i {
  font-size: 14px;
  margin-left: 10px;
}

.top_news {
  background: #f1f1f1;
}

.top_news .button-red {
  width: 12rem;
  margin: 0;
  padding: 10px 40px 10px 20px;
}

.top_banner {
  background: #f1f1f1;
}

.top_banner p.ttl {
  font-size: 1.2rem;
  color: #d63435;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .top_banner p.ttl {
    font-size: 1.8rem;
  }
}

.top_banner .flex-1 {
  background-image: linear-gradient(-45deg, #f00 10px, transparent 0);
}

.top_contact {
  background: url("/wp-content/themes/seien/img/top_contact-bg.png");
  background-size: cover;
}

.top_contact h3 {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .top_contact h3 {
    font-size: 2.4rem;
  }
}

.top_contact .button-red i,
.top_contact .button-outline i {
  right: auto;
  left: 1rem;
}

footer .logo {
  max-width: 274px;
}

@media screen and (min-width: 768px) {
  footer .logo {
    max-width: 100%;
  }
}

footer dl dt {
  color: #d63435;
  font-weight: bold;
}

footer .footer-sns i {
  font-size: 2rem;
}

footer ul a {
  margin-bottom: 10px;
  display: block;
  transition: 0.3s;
  position: relative;
  font-size: 16px;
}

footer ul li a:before {
  content: "";
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3.5px 0 3.5px 5px;
  border-color: transparent transparent transparent #d63434;
  position: absolute;
  top: 9px;
  left: -15px;
}

#float-menu i {
  font-size: 0.8rem;
}

@media screen and (min-width: 768px) {
  #float-menu {
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
            writing-mode: vertical-rl;
  }
}

#gotop {
  display: none !important;
}

@media screen and (min-width: 768px) {
  #gotop {
    display: inline !important;
    position: fixed;
    bottom: 10px;
    width: 90px;
    height: 90px;
    right: 40px;
    top: inherit;
    padding: 0;
    z-index: 99999;
  }
  #gotop img {
    transition: .5s;
    transform: rotateZ(0deg);
  }
  #gotop img:hover {
    transform: rotate(180deg);
  }
  #gotop p {
    pointer-events: none;
  }
}

/* page */
.page .page_mv {
  background: url("/wp-content/themes/seien/img/page_mv.png") center center/cover no-repeat;
}

.breadcrumb {
  background-color: #f1f1f1;
}

.breadcrumb ol li {
  position: relative;
}

.breadcrumb ol > li + li {
  margin-left: 25px;
}

.breadcrumb ol > li:last-child {
  color: #959595;
}

.breadcrumb ol > li + li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 1px;
  position: absolute;
  top: 8px;
  left: -18px;
  background-color: #c2c2c2;
}

.point {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 60px;
  height: 60px;
  margin: 0 auto;
  background: url("/wp-content/themes/seien/img/pipe.svg") center/cover;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

@media screen and (min-width: 768px) {
  .point {
    margin: auto;
    float: left;
    width: 80px;
    height: 80px;
  }
}

.relation-box a {
  display: flex;
  align-items: center;
}

.relation-box a:before {
  content: "▶";
  display: inline-block;
  margin-right: .5rem;
  color: #d63435;
}

aside p.ttl {
  background: #292b2d;
  color: #fff;
}

aside p.ttl:before {
  /*content: '';
      display: inline-block;
      width: 2px;
      height: 24px;
      background-color: #d63435;
      margin-right: 0.8rem;
      */
  content: "";
  display: inline-block;
  margin-right: .5rem;
  width: 28px;
  height: 28px;
  background: url("/wp-content/themes/seien/img/pipe-1.svg") center/cover;
  background-repeat: no-repeat;
}

aside button {
  display: block;
  width: 20px;
  height: 20px;
  background-color: #161718;
  margin-left: auto;
  position: relative;
}

aside button:before, aside button:after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 1px;
  background-color: #fff;
  position: absolute;
  top: 10px;
  left: 4px;
  transition: opacity 0.4s, transform 0.4s;
}

aside button:after {
  width: 1px;
  height: 11px;
  top: 5px;
  left: 9px;
}

aside p.subttl:before {
  content: "";
  display: inline-block;
  margin-right: .5rem;
  width: 1rem;
  height: 1rem;
  background: url("/wp-content/themes/seien/img/search.svg") center/cover;
  background-repeat: no-repeat;
}

aside ul li a {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #d1d5db;
  padding: .8rem 0;
}

aside ul li a:after {
  content: "▶";
  font-size: .2rem;
  display: inline-block;
  margin-right: .5rem;
  margin-left: auto;
  color: #d63435;
}

aside ul li:last-child a {
  border-bottom: none;
}

aside .side-links a {
  border: 1px solid #f1f1f1;
  padding: 1rem 0.8rem;
}

aside .side-links a svg {
  width: 1rem;
  margin-right: 1rem;
}

aside .side-links a:after {
  content: "";
  display: inline-block;
  margin-left: auto;
  width: .8rem;
  height: .8rem;
  background: url("/wp-content/themes/seien/img/arrow-right.svg") center/cover;
  background-repeat: no-repeat;
}

.archive-item h4.ttl {
  font-size: 1rem;
  color: #d63435;
  font-weight: bold;
  padding: .5rem 0;
}

@media screen and (min-width: 768px) {
  .archive-item h4.ttl {
    font-size: 1.25rem;
    padding: 1rem 0;
  }
}

.btn-youtube {
  font-size: .9rem;
  font-weight: bold;
  padding: 1rem 2rem;
  border: 1px solid #ccc;
  line-height: 1;
}

.btn-youtube svg {
  width: 1rem;
}

.btn-youtube:hover {
  border: 1px solid #d63435;
}

.btn-youtube:hover span {
  color: #d63435;
}

span.tag {
  padding: .25rem .5rem;
  border: 1px solid #d63435;
  color: #d63435;
  /*&:hover {
    background-color: #d63435;
    color: #fff;
  }*/
}

span.tag:before {
  content: '# ';
}

.tags span.tag:hover {
  background-color: #d63435;
  color: #fff;
}

.swiper-container {
  width: 100%;
  position: relative;
}

.swiper-container.slider {
  margin-bottom: 1.5rem;
}

.swiper-container.slider .swiper-slide img {
  max-width: 80%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .swiper-container.slider .swiper-slide img {
    max-width: 70%;
  }
}

@media screen and (min-width: 1280px) {
  .swiper-container.slider .swiper-slide img {
    max-width: 615px;
  }
}

.swiper-container .swiper-button-prev {
  background: url("/wp-content/themes/seien/img/slider_prev.png") no-repeat center/contain;
  display: inline-block;
  width: 22px;
  height: 84px;
  position: absolute;
  left: 0;
  top: calc(50% - 20px);
}

@media screen and (min-width: 1280px) {
  .swiper-container .swiper-button-prev {
    width: 44px;
    height: 167px;
  }
}

.swiper-container .swiper-button-prev:after {
  content: none;
}

.swiper-container .swiper-button-next {
  background: url("/wp-content/themes/seien/img/slider_next.png") no-repeat center/contain;
  display: inline-block;
  width: 22px;
  height: 84px;
  position: absolute;
  right: 0;
  top: calc(50% - 20px);
}

@media screen and (min-width: 1280px) {
  .swiper-container .swiper-button-next {
    width: 44px;
    height: 167px;
  }
}

.swiper-container .swiper-button-next:after {
  content: none;
}

.swiper-container.slider-thumbnail {
  max-width: 80%;
  height: auto;
}

@media screen and (min-width: 768px) {
  .swiper-container.slider-thumbnail {
    max-width: 70%;
  }
}

.swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide {
  width: 25%;
  height: 100%;
  opacity: .5;
  overflow: hidden;
}

.swiper-container.slider-thumbnail .swiper-wrapper .swiper-slide.swiper-slide-thumb-active {
  opacity: 1;
}

span.before {
  color: #fff;
  background-color: #A9A9A9;
}

span.after {
  color: #fff;
  background-color: #d63435;
}

.post-content .aligncenter {
  display: block;
  margin: 15px auto;
}

@media screen and (min-width: 768px) {
  .post-content .alignright {
    float: right;
    margin-left: 40px;
  }
}

@media screen and (min-width: 768px) {
  .post-content .alignleft {
    float: left;
    margin-right: 40px;
  }
}

.post-content .clearfix {
  overflow: hidden;
  zoom: 1;
}

.post-content .clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.post-content h2 {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 1rem;
}

@media screen and (min-width: 768px) {
  .post-content h2 {
    font-size: 1.8rem;
  }
}

.post-content h2:before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 1.4rem;
  background-color: #d63435;
  margin-right: .8rem;
}

@media screen and (min-width: 768px) {
  .post-content h2:before {
    height: 2rem;
  }
}

.post-content h3 {
  font-size: 1.25rem;
  letter-spacing: 0.04em;
  font-weight: bold;
  line-height: 1.25;
  padding-bottom: .5rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid #d63435;
}

@media screen and (min-width: 768px) {
  .post-content h3 {
    font-size: 1.5rem;
    letter-spacing: 0.06em;
  }
}

.post-content h4 {
  font-size: 16px;
  font-weight: bold;
  margin: 15px 0 25px;
}

@media screen and (min-width: 768px) {
  .post-content h4 {
    font-size: 18px;
    margin-bottom: 1rem;
  }
}

.post-content p {
  margin-bottom: 1.5rem;
}

.post-content .author {
  border: 8px solid #FEEBC8;
}

.post-content .author .introduction {
  border-top: 4px solid #FEEBC8;
}

.contact-wrap {
  max-width: 960px;
  margin: 0 auto;
}

.contact-wrap .input-label {
  margin-top: 1rem;
  margin-bottom: 4px;
}

.contact-wrap .input-label span {
  color: #ff0000;
}

.contact-wrap input[type="text"], .contact-wrap input[type="password"], .contact-wrap input[type="email"], .contact-wrap input[type="tel"], .contact-wrap textarea {
  border: 1px solid #ccc;
  padding: 8px 12px;
  width: 100%;
  border-radius: 5px;
}

.contact-wrap input[type="text"].input--s, .contact-wrap input[type="password"].input--s, .contact-wrap input[type="email"].input--s, .contact-wrap input[type="tel"].input--s, .contact-wrap textarea.input--s {
  width: 10rem;
}

.contact-wrap select {
  border: 1px solid #ccc;
  padding: 8px 12px;
  border-radius: 5px;
}

.contact-wrap input[type="submit"], .contact-wrap input[type="button"] {
  width: 100%;
  margin-top: 2rem;
  cursor: pointer;
  padding: 1rem 0;
  border-radius: 5px;
}

.contact-wrap input[type="submit"] {
  background-color: #d63435;
  color: #fff;
}

.contact-wrap .wpcf7-not-valid-tip {
  font-size: 12px;
}

.contact-wrap .wpcf7c-conf {
  background-color: #ECFDF5;
}

.tab-wrap {
  border-bottom: 1px solid #ccc;
  margin-bottom: 2rem;
}

.tab-wrap .tabs {
  padding: 0 2rem;
  display: flex;
  justify-content: center;
  margin: 0 -1px;
  gap: .5rem;
}

.tab-wrap .tabs button {
  width: 160px;
  padding: .5rem 1rem;
  border: 1px solid #ccc;
  background-color: #f1f1f1;
  margin-bottom: -1px;
}

.tab-wrap .tabs button.active {
  border-top: 2px solid #d63435;
  background-color: #fff;
  border-bottom: none;
}

.faq_cat a {
  display: flex;
  gap: 0.5rem;
  line-height: 1;
  padding: 0.6rem 1rem;
  border: 1px solid #d63435;
  font-size: .9rem;
}

.faq_cat a:before {
  content: '';
  background-image: url("/wp-content/themes/seien/img/folder.svg");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 1rem;
}

.faq_cat a.text-white:before {
  background-image: url("/wp-content/themes/seien/img/folder-w.svg");
}

.faq_cat a:hover {
  opacity: .8;
}

.faq_search button {
  background-color: #d63435;
}

.question button {
  width: 21px;
  height: 21px;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.question button:before {
  content: "";
  display: inline-block;
  background-color: #d63435;
  width: 17px;
  height: 1px;
  position: absolute;
  top: 10px;
  left: 2px;
  transition: transform 0.4s, opacity 0.4s;
}

.question button:after {
  content: "";
  display: inline-block;
  background-color: #d63435;
  width: 1px;
  height: 17px;
  position: absolute;
  top: 2px;
  left: 10px;
  transition: transform 0.4s, opacity 0.4s;
}

.question button.active::before {
  opacity: 0;
}

.question button.active::after {
  transform: rotate(270deg);
}

.pager .nav-links {
  width: 100%;
}

.pager .nav-links ul {
  display: flex;
  justify-content: center;
}

.pager .nav-links li {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
  margin-right: 13px;
  height: 39px;
  width: 39px;
  color: #000;
  transition: all .2s ease-out;
}

.pager .nav-links li:hover {
  background-color: #000;
  color: #fff;
}

.pager .nav-links li .page-numbers {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.pager .nav-links li .current {
  background-color: #000;
  color: #fff;
}

.kana_list a {
  position: relative;
}

.kana_list a::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border: 1px solid;
  border-color: #d63435 #d63435 transparent transparent;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s;
}

/* contact */
.c-table {
  table-layout: fixed;
  width: 100%;
}

.c-table th,
.c-table td {
  padding: 9.5px 15px;
  display: block;
  line-height: 1.714;
}

.c-table th {
  font-weight: bold;
  background-color: #f1f1f1;
}

@media screen and (max-width: 767px) {
  .c-table th {
    border-top: 1px solid #c2c2c2;
  }
  .c-table th,
  .c-table td {
    border-left: 1px solid #c2c2c2;
    border-right: 1px solid #c2c2c2;
  }
  .c-table tr:last-child td {
    border-bottom: 1px solid #c2c2c2;
  }
}

@media screen and (min-width: 768px) {
  .c-table th,
  .c-table td {
    display: table-cell;
    border-top: 1px solid #c2c2c2;
  }
  .c-table tr:last-child th,
  .c-table tr:last-child td {
    border-bottom: 1px solid #c2c2c2;
  }
  .c-table th {
    border-left: 1px solid #c2c2c2;
    width: 160px;
    vertical-align: top;
  }
  .c-table td {
    border-right: 1px solid #c2c2c2;
  }
}

@media screen and (min-width: 992px) {
  .c-table th,
  .c-table td {
    padding: 13.5px 20px;
    line-height: 1.75;
  }
  .c-table th {
    width: 240px;
  }
}

.c-contact_body > p {
  margin-bottom: 30px;
}

.c-contact_body .c-table {
  border-bottom: 1px solid #c2c2c2;
}

.c-contact_body .u-btn-form {
  margin-top: 20px;
}

.c-contact_body .c-note__txt {
  margin-top: 15px;
}

.c-table {
  table-layout: fixed;
}

.c-tel_area {
  margin-bottom: 30px;
}

.c-tel_txt {
  color: #d63435;
  text-align: center;
  font-weight: bold;
  margin-bottom: 5px;
}

.c-tel_number {
  font-weight: 600;
  text-align: center;
  line-height: 1;
  margin-bottom: 10px;
}

.c-tel_number span {
  letter-spacing: 0.06em;
}

.c-tel_time {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .c-table.c-form_table th {
    vertical-align: middle;
    min-width: 230px;
    text-align: right;
  }
}

@media screen and (min-width: 992px) {
  .c-content--contact .c-content__inner {
    max-width: 102rem;
  }
  .c-contact_body > p {
    margin-bottom: 33px;
  }
  .c-tel_txt {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }
  .c-tel_number {
    margin-bottom: 13px;
  }
  .c-table.c-form_table th,
  .c-table.c-form_table td {
    padding: 27px 30px;
  }
  .c-table.c-form_table th {
    min-width: 300px;
    width: 300px;
  }
}

.c-input {
  border: 1px solid #c2c2c2;
  padding: 5px 15px;
  width: 100%;
  letter-spacing: 0.06em;
  transition: border-color 0.4s;
}

.c-input.c-input-type2 {
  border: none;
}

.c-input:focus {
  border-color: #d63435;
}

.c-must,
.c-any {
  border: 1px solid #d63435;
  line-height: 1;
  font-size: 0.725rem;
  padding: 3px 6.5px;
  color: #d63435;
  font-weight: normal;
  margin-left: 15px;
  letter-spacing: 0.06em;
}

.c-any {
  color: #292b2d;
  border-color: #292b2d;
}

.c-textarea {
  border: 1px solid #c2c2c2;
  width: 100%;
  height: 40vh;
  padding: 5px 15px;
}

.c-check_list {
  display: flex;
  flex-wrap: wrap;
  margin: -10px -5px 0;
}

.c-check_list > li {
  width: 100%;
  padding: 10px 5px 0;
}

.c-check_list > li > input {
  display: none;
}

.c-check_list > li > input:checked + label::before {
  background-color: #d63435;
}

.c-check_list > li > input:checked + label::after {
  opacity: 1;
}

.c-check_list > li > label {
  position: relative;
  display: flex;
  align-items: center;
}

.c-check_list > li > label::before {
  content: "";
  display: inline-block;
  background-color: #a9a9a9;
  width: 20px;
  height: 20px;
  transition: background-color 0.4s;
  margin-right: 10px;
}

.c-check_list > li > label::after {
  display: block;
  content: "";
  position: absolute;
  top: 8px;
  left: 5px;
  width: 11px;
  height: 5px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  opacity: 0;
  transition: opacity 0.4s;
}

.p-form_name > ul {
  margin: 0 -5px;
}

.p-form_name > ul > li {
  width: 50%;
  padding: 0 5px;
}

.u-btn-form {
  height: 55px;
  padding: 0;
  margin: 20px auto 0;
}

.u-btn-form > input {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  letter-spacing: 0.06em;
  position: relative;
}

.u-btn-form .icon-arrow {
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}

.zcwf_privacy > p {
  margin-bottom: 5px;
}

.zcwf_privacy .displayPurpose > input {
  display: none;
}

.zcwf_privacy .displayPurpose > input:checked + label::before {
  background-color: #d63435;
}

.zcwf_privacy .displayPurpose > input:checked + label::after {
  opacity: 1;
}

.c-privacy_check {
  padding: 9px 10px;
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  border: 1px solid #c2c2c2;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.c-privacy_check::before {
  content: "";
  display: inline-block;
  background-color: #a9a9a9;
  width: 20px;
  height: 20px;
  transition: background-color 0.6s;
  margin-right: 10px;
}

.c-privacy_check::after {
  display: block;
  content: "";
  position: absolute;
  top: 17px;
  left: 15px;
  width: 11px;
  height: 6px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
  opacity: 0;
  transition: opacity 0.4s;
}

.errormsg {
  color: #d63435;
  line-height: 1;
  font-size: 0.7rem;
  margin-top: 5px;
}

.g-recaptcha {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  width: 300px;
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .c-check_list {
    margin: -10px 0 0 -25px;
  }
  .c-check_list > li {
    width: auto;
    padding: 10px 0 0 25px;
  }
  .c-check_list > li > label {
    line-height: 1.4;
  }
}

@media screen and (min-width: 992px) {
  .c-input {
    padding: 6px 15px;
  }
  .c-textarea {
    padding: 6px 15px;
    height: 214px;
  }
  .c-check_list > li > label::before {
    width: 24px;
    height: 24px;
  }
  .c-check_list > li > label::after {
    top: 10px;
    left: 6px;
  }
  .zcwf_privacy > p {
    margin-bottom: 13px;
  }
  .c-privacy_check::before {
    width: 22px;
    height: 22px;
    margin-right: 15px;
  }
  .c-privacy_check::after {
    top: 17px;
    left: 15px;
    width: 11px;
    height: 6px;
  }
  .p-form_name > ul {
    margin: 0 -10px;
  }
  .p-form_name > ul > li {
    padding: 0 10px;
  }
  .u-btn-form {
    height: 65px;
  }
}

/* //contact */
.policy-content {
  font-size: 1rem;
}

@media screen and (min-width: 768px) {
  .policy-content {
    font-size: 1.1rem;
  }
}

.policy-content h2 {
  margin: 0 0 15px;
  padding: 13px 15px 13px 30px;
  background: #292b2d;
  color: #fff;
  font-size: 1.5rem;
  position: relative;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .policy-content h2 {
    font-size: 2rem;
    margin-bottom: 20px;
    padding: 15px 20px 15px 40px;
  }
}

.policy-content h2:after {
  content: "";
  display: inline-block;
  height: 24px;
  width: 2px;
  background: #d63435;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  margin: auto;
}

@media screen and (min-width: 768px) {
  .policy-content h2:after {
    content: "";
    display: inline-block;
    height: 34px;
    width: 2px;
    background: #d63435;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 20px;
    margin: auto;
  }
}

.policy-content h3, .policy-content h4 {
  font-size: 1.4rem;
  font-weight: bold;
  padding-bottom: 10px;
  margin: -2px 0 10px;
  color: #d63435;
  border-bottom: 1px solid #d63435;
}

@media screen and (min-width: 768px) {
  .policy-content h3, .policy-content h4 {
    font-size: 1.6rem;
    margin: -4px 0 20px;
  }
}

.policy-content p {
  margin-bottom: 1.5rem;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .policy-content p {
    margin-bottom: 2rem;
  }
}

.policy-content ul {
  margin-bottom: 2rem;
  counter-reset: number;
}

@media screen and (min-width: 768px) {
  .policy-content ul {
    margin-bottom: 2.4rem;
  }
}

.policy-content ul li {
  position: relative;
  padding-left: 1.3em;
  line-height: 1.428;
  margin: -3px 0 12px;
}

@media screen and (min-width: 768px) {
  .policy-content ul li {
    margin: -4px 0 15px;
    line-height: 1.4375;
  }
}

.policy-content ul li:before {
  counter-increment: number;
  content: counter(number) ".";
  position: absolute;
  top: 0;
  left: 0;
  color: #d63435;
  font-family: "Open Sans", sans-serif;
}
