@charset "UTF-8";
/* reset */
h1, h2, h3, h4, h5, p, li, a, div, html, body {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-weight: normal;
  font-size: 1rem;
}

ul, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  text-decoration: none;
}

html {
  min-width: 1280px;
  font-size: 10px;
  color: #333;
  font-weight: 400;
  scroll-behavior: smooth;
}

body {
  min-width: 1280px;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #333;
}

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

.pchb {
  display: none;
}

.sphb {
  display: block;
}

.pchl {
  display: none;
}

.sphl {
  display: inline;
}

.pchib {
  display: none;
}

:root {
  --back-color: #fff;
  --base-color: #257791;
  --acc-color: #C98818;
  --acc-gray: rgba(75,78,84,1.0);
  --acc-gray-demi: rgba(75,78,84,0.9);
  --acc-gray-clear: rgba(75,78,84,0.0);
}

.inner {
  width: 1000px;
  margin: auto;
}

* {
  transition: all 0.3s;
}

.blue-fil {
  background-color: rgba(37, 119, 145, 0.8);
}

a {
  transition: all 0.3s;
}
a:hover {
  opacity: 0.5;
}

.grecaptcha-badge {
  visibility: hidden;
}

/*check scroll*/
#top-sentinel {
  position: absolute;
  top: 0;
  height: 1px;
}

/*header*/
header {
  background-color: var(--acc-gray-clear);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  min-width: 1280px;
  height: 8rem;
  filter: drop-shadow(0 0px 4px rgba(0, 0, 0, 0.8));
}
header.scrolled {
  background-color: var(--acc-gray);
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.2));
}
header .container {
  width: 1000px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
}
header .container .logo {
  display: block;
  width: auto;
  height: 7rem;
}
header .container .logo img {
  height: 100%;
  width: auto;
}
header .container .menu {
  color: #fff;
}
header .container .menu a {
  color: #fff;
  font-weight: 500;
  letter-spacing: 0.03em;
}
header .container .menu ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 3rem;
}
header .container .menu ul a {
  font-size: 1.5rem;
}
header .container .menu ul .cv-btn a {
  border: 1px solid #fff;
  border-radius: 2rem;
  padding: 1rem 3rem;
  display: block;
}
header .container .menu #hamburger-btn {
  display: none;
  z-index: 90;
}
header .container .menu #hamburger-btn p {
  position: absolute;
  bottom: -0.5rem;
  left: 0.3rem;
}
header #hamburger-btn {
  position: fixed;
  top: 1.45rem;
  right: 1rem;
  display: flex;
  height: 4rem;
  width: 4rem;
  justify-content: center;
  align-items: center;
  z-index: 90;
}
header #hamburger-btn span {
  content: "";
  display: block;
  height: 1px;
  width: 3rem;
  border-radius: 0px;
  background-color: #ffffff;
  position: absolute;
  transition: all 0.3s ease-in-out;
  top: 0;
  bottom: 0;
  margin: auto;
}
header #hamburger-btn span::after, header #hamburger-btn span::before {
  content: "";
  display: block;
  height: 1px;
  width: 3rem;
  border-radius: 0px;
  background-color: #ffffff;
  position: absolute;
  transition: all 0.3s ease-in-out;
}
header #hamburger-btn span::after {
  top: 0.8rem;
}
header #hamburger-btn span::before {
  bottom: 0.8rem;
}
header #hamburger-btn.active span {
  background-color: rgba(255, 255, 255, 0);
}
header #hamburger-btn.active span::before {
  bottom: 0;
  transform: rotate(45deg);
}
header #hamburger-btn.active span::after {
  top: 0;
  transform: rotate(-45deg);
}
header .menu-back {
  transition: all 0.3s ease-in-out;
  position: fixed;
  top: 0;
  right: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--color-sub);
  opacity: 0;
  z-index: 20;
  visibility: hidden;
}
header .menu-back.active {
  opacity: 0.8;
  visibility: visible;
}
header #sp-toggle-menu {
  display: none;
}

/*footer*/
footer {
  background-color: var(--acc-gray);
  position: relative;
  padding: 7rem 0;
}
footer .inner {
  width: 700px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
footer .inner .logo {
  display: block;
  width: 50%;
}
footer .inner nav {
  width: 100%;
  margin-bottom: 7rem;
  margin-top: 3rem;
  padding-top: 4rem;
  border-top: 1px solid #fff;
}
footer .inner nav ul {
  display: flex;
  justify-content: space-between;
  gap: 3rem;
}
footer .inner nav ul a {
  color: #fff;
  font-weight: 500;
  font-size: 1.5rem;
}
footer .inner .bottom-text {
  display: flex;
  flex-direction: column;
  text-align: center;
  gap: 2rem;
  font-size: 1.2rem;
  color: #fff;
}
footer .inner .bottom-text a {
  color: #fff;
  font-size: 1.2rem;
}

/* 共通banner */
.cv-banner {
  text-align: center;
  margin-bottom: 2rem;
}

.main-banner {
  display: block;
  margin: auto;
  padding: 4rem;
  background-image: url(../img/main-banner-back.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  width: 1000px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 20rem;
  box-sizing: border-box;
  font-size: 3rem;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.03em;
}
.main-banner img {
  width: 4rem;
  height: auto;
}

/*fv*/
#fv-area {
  background-color: #fff;
  height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  margin-bottom: 5rem;
}
#fv-area .fv-video {
  min-width: 100%;
  min-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#fv-area .inner {
  text-align: center;
  color: #fff;
  position: absolute;
  text-align: left;
}
#fv-area .inner .title {
  font-size: 4rem;
  line-height: 2;
  font-weight: 500;
  letter-spacing: 0.13em;
}
#fv-area .inner .title .bgwh {
  background: #fff;
  padding: 0.5rem 2rem;
  /* line-height: 1.8; */
  margin-right: 0.25em;
  color: var(--base-color);
}

/* onayami */
#onayami {
  background: url(../img/onayami-back.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 5rem 0 15rem;
}
#onayami .sitsumon {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 7rem;
  margin-bottom: 10rem;
}
#onayami .sitsumon img {
  height: 35rem;
  width: auto;
}
#onayami .sitsumon .main-title {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
  text-align: center;
  position: relative;
  padding: 5rem 3rem;
}
#onayami .sitsumon .main-title::after, #onayami .sitsumon .main-title::before {
  content: "";
  height: 2rem;
  width: 100%;
  position: absolute;
  border-left: solid 1px #000;
  border-right: solid 1px #000;
  border-top: solid 1px #000;
  top: 0;
  left: 0;
}
#onayami .sitsumon .main-title::before {
  border-top: none;
  border-bottom: solid 1px #000;
  top: auto;
  bottom: 0;
  left: 0;
}
#onayami .sitsumon .main-title .st-text {
  font-size: 150%;
  font-weight: bold;
}
#onayami .gimon-rei {
  width: 800px;
}
#onayami .gimon-rei .gimon-one {
  display: block;
  padding: 0 15rem 0 10rem;
  position: relative;
  font-size: 2.25rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.7;
  margin-bottom: 4rem;
}
#onayami .gimon-rei .gimon-one .st-text {
  color: #AA1E1E;
  font-weight: bold;
}
#onayami .gimon-rei .gimon-one .q-icon {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 7rem;
  height: auto;
}
#onayami .gimon-rei .gimon-one .photo {
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 25rem;
  height: auto;
}
#onayami .gimon-rei .gimon-one:nth-child(even) .photo {
  right: 10rem;
}

/* jitsuha */
#jitsuha {
  background: url(../img/jitsuha-back.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #E1E1E1;
  padding: 10rem 0;
}
#jitsuha .attention {
  text-align: center;
  margin-bottom: 1rem;
}
#jitsuha .attention p {
  font-size: 3rem;
  color: #AA1E1E;
  font-weight: 500;
}
#jitsuha .attention .icon {
  width: 8rem;
  margin-bottom: 2rem;
}
#jitsuha .attention .fuki {
  width: 40rem;
  margin-top: 3rem;
}
#jitsuha .title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#jitsuha .title img {
  width: 400px;
}
#jitsuha .title .main-title {
  font-size: 3rem;
  line-height: 2;
  font-weight: 500;
}
#jitsuha .title .main-title .st-text {
  color: #AA1E1E;
  font-weight: bold;
}

/* kaiketsu */
#kaiketsu {
  background-image: url(../img/kaikestu-back.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#kaiketsu .blue-fil {
  padding: 15rem 0;
}
#kaiketsu .main-title {
  color: #fff;
  font-size: 3rem;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 2.5;
}
#kaiketsu .main-title .st-text {
  border: 1px solid #fff;
  padding: 0.15em 0.5em 0.2em;
  margin-right: 0.3em;
}

/*service*/
#service {
  background-image: linear-gradient(90deg, #D9EAF3, #EBF0F2);
  padding: 0 0rem 15rem 0em;
}
#service .title {
  text-align: center;
  padding: 10rem 0 2rem 0;
  background: var(--base-color);
  margin-bottom: 7rem;
  padding: 10rem 0 2rem 0;
}
#service .title img {
  height: 14rem;
}
#service .title .main-title {
  font-weight: bold;
  font-size: 4rem;
  letter-spacing: 0.03em;
  margin-bottom: 2rem;
  margin-top: 2rem;
  color: #fff;
}
#service .title .lead {
  font-size: 2rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.03em;
  color: #fff;
  margin-bottom: 5rem;
}
#service .list .main-service {
  background-image: url(../img/service-1.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: 4rem;
  background-color: #fff;
}
#service .list .main-service .text-area {
  background-color: rgba(37, 119, 145, 0.8);
  margin-right: 55%;
  padding: 4rem;
}
#service .list .main-service .text-area .service-title {
  color: #fff;
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.5;
  margin-bottom: 2rem;
}
#service .list .main-service .text-area .price {
  color: #fff;
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 2rem;
}
#service .list .main-service .text-area .price .small-text {
  font-size: 70%;
}
#service .list .main-service .text-area .info {
  font-size: 1.75rem;
  line-height: 2;
  color: #fff;
  letter-spacing: 0.03em;
  margin-bottom: 6rem;
}
#service .list .main-service .text-area .btn {
  display: flex;
  color: #fff;
  font-weight: 500;
  font-size: 1.5rem;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 2rem;
  background: var(--acc-color);
  border-radius: 3rem;
}
#service .list .main-service .text-area .btn img {
  width: 2rem;
  height: auto;
}
#service .list .moreinfo {
  font-size: 2.5rem;
  font-weight: 500;
  text-align: center;
  line-height: 2;
  margin-bottom: 4rem;
}
#service .list .sub-list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 2rem;
}
#service .list .sub-list .sub-service {
  background-image: url(../img/service-2.webp);
  background-size: contain;
  background-position: top center;
  background-repeat: no-repeat;
  background-color: #fff;
  padding: 32rem 4rem 11rem 4rem;
  width: 49%;
  position: relative;
}
#service .list .sub-list .sub-service.service2 {
  background-image: url(../img/service-3.webp);
}
#service .list .sub-list .sub-service .text-area {
  margin-right: 0;
}
#service .list .sub-list .sub-service .text-area .service-title {
  color: var(--base-color);
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 1.5;
  margin-bottom: 1.5rem;
  letter-spacing: 0.03em;
}
#service .list .sub-list .sub-service .text-area .price {
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 1.5rem;
}
#service .list .sub-list .sub-service .text-area .price .small-text {
  font-size: 70%;
}
#service .list .sub-list .sub-service .text-area .info {
  font-size: 1.75rem;
  line-height: 2;
  letter-spacing: 0.01em;
  margin-bottom: 2rem;
}
#service .list .sub-list .sub-service .text-area .btn {
  display: flex;
  color: #fff;
  font-weight: 500;
  font-size: 1.5rem;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 2rem;
  background: var(--acc-color);
  border-radius: 3rem;
  position: absolute;
  bottom: 4rem;
  width: calc(100% - 8rem);
}
#service .list .sub-list .sub-service .text-area .btn img {
  width: 2rem;
  height: auto;
}

/*riyu*/
#riyu {
  background-image: url(../img/riyu-back.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#riyu .blue-fil {
  padding: 15rem 0;
}
#riyu .title {
  text-align: center;
}
#riyu .title img {
  height: 14rem;
  width: auto;
}
#riyu .title .main-title {
  font-weight: bold;
  font-size: 4.5rem;
  letter-spacing: 0.03em;
  margin-bottom: 4rem;
  margin-top: 2rem;
  color: #fff;
}
#riyu .title .lead {
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.03em;
  color: #fff;
  margin-bottom: 4rem;
}
#riyu .text {
  color: #fff;
  font-size: 1.75rem;
  line-height: 2;
  letter-spacing: 0.03em;
  width: 500px;
  margin: auto;
  margin-bottom: 5rem;
}
#riyu .black-btn {
  display: flex;
  margin: auto;
  width: 340px;
  font-size: 2rem;
  color: #fff;
  background: var(--acc-gray);
  border-radius: 2em;
  padding: 1em 0.75em 1em 1.5em;
  font-weight: 500;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5rem;
}
#riyu .black-btn img {
  width: 3.5rem;
  height: auto;
}

/*jisseki*/
#jisseki {
  background-image: linear-gradient(#257791, #64A5B9);
  padding: 0 15rem;
}
#jisseki .img-back {
  padding: 15rem 0;
  background-image: url(../img/jisseki-back.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
#jisseki .title {
  text-align: center;
}
#jisseki .title img {
  height: 14rem;
  width: auto;
}
#jisseki .title .main-title {
  font-weight: bold;
  font-size: 4.5rem;
  letter-spacing: 0.03em;
  margin-bottom: 3rem;
  margin-bottom: 5rem;
  margin-top: 2rem;
  color: #fff;
}
#jisseki .list {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 5rem;
}
#jisseki .list .jisseki-one {
  background: #fff;
  padding: 3rem;
  width: 32%;
}
#jisseki .list .jisseki-one .obi {
  font-size: 1.5em;
  font-weight: bold;
  background: var(--acc-color);
  color: #fff;
  padding: 0.5em;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 1rem;
  align-items: center;
  border-radius: 2em;
  letter-spacing: 0.03em;
  margin-bottom: 1em;
}
#jisseki .list .jisseki-one .obi img {
  height: 1em;
  width: auto;
}
#jisseki .list .jisseki-one .volume {
  text-align: center;
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--acc-color);
}
#jisseki .list .jisseki-one .volume .setsuzei {
  font-size: 3rem;
  line-height: 1;
  margin-bottom: 1rem;
}
#jisseki .list .jisseki-one .volume .setsuzei .st-text {
  font-weight: bold;
  font-size: 10rem;
  color: var(--acc-color);
  margin: auto 0.5rem;
}
#jisseki .list .jisseki-one .volume .hosoku {
  font-size: 1.5rem;
}
#jisseki .list .jisseki-one .about {
  border-top: 1px solid var(--acc-color);
  margin-top: 0.5rem;
  padding-top: 2.5rem;
}
#jisseki .list .jisseki-one .naiyou {
  font-size: 1.5rem;
  color: var(--base-color);
  font-weight: bold;
}
#jisseki .list .jisseki-one .naiyou-text {
  font-size: 1.5rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
}
#jisseki .list .jisseki-one .profile {
  font-size: 1.5rem;
  font-weight: 500;
}
#jisseki .black-btn {
  display: flex;
  margin: auto;
  width: 340px;
  font-size: 2rem;
  color: #fff;
  background: var(--acc-gray);
  border-radius: 2em;
  padding: 1em 0.75em 1em 1.5em;
  font-weight: 500;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 5rem;
}
#jisseki .black-btn img {
  width: 3.5rem;
  height: auto;
}

/*nagare*/
#nagare {
  background-image: linear-gradient(90deg, #D9EAF3, #EBF0F2);
  padding: 15rem;
}
#nagare .title {
  text-align: center;
}
#nagare .title img {
  height: 14rem;
  width: auto;
}
#nagare .title .main-title {
  font-weight: bold;
  font-size: 4.5rem;
  letter-spacing: 0.03em;
  margin-bottom: 3rem;
  margin-bottom: 5rem;
  margin-top: 2rem;
  color: var(--base-color);
}
#nagare .list {
  display: flex;
  flex-wrap: wrap;
  gap: 7rem;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 8rem;
}
#nagare .list .nagare-one {
  width: 28%;
}
#nagare .list .nagare-one .text {
  font-size: 1.75rem;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 1em;
}
#nagare .swiper-button-next, #nagare .swiper-button-prev {
  display: none;
}

/*qanda*/
#qanda {
  padding: 15rem 0;
  color: var(--base-color);
}
#qanda .inner {
  width: 700px;
}
#qanda .title {
  text-align: center;
}
#qanda .title img {
  width: 14rem;
  height: auto;
}
#qanda .title .main-title {
  font-weight: bold;
  font-size: 4.5rem;
  letter-spacing: 0.03em;
  margin-bottom: 3rem;
  margin-bottom: 5rem;
  margin-top: 2rem;
}
#qanda .list {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  gap: 2rem;
}
#qanda .list .qanda-one {
  padding: 2rem;
  border: 1px solid var(--base-color);
  color: #333;
  letter-spacing: 0.03em;
}
#qanda .list .qanda-one .question {
  font-size: 2rem;
  padding-left: 5rem;
  padding-right: 5rem;
  background-image: url(../img/qanda-q.webp);
  background-size: 2rem;
  background-position: left center;
  background-repeat: no-repeat;
  position: relative;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-weight: 500;
}
#qanda .list .qanda-one .question::after {
  content: "+";
  font-size: 2rem;
  position: absolute;
  color: var(--base-color);
  right: 0;
  top: 0.2em;
}
#qanda .list .qanda-one.active .question::after {
  content: "-";
  font-size: 2rem;
  position: absolute;
  color: var(--base-color);
  right: 0;
  top: 0.2em;
}
#qanda .list .qanda-one .answer {
  display: none;
  font-size: 1.75rem;
  padding-top: 2rem;
  border-top: 1px dotted #333;
  margin-top: 2rem;
  padding-left: 5rem;
  letter-spacing: 0.03em;
  line-height: 1.8;
  background-image: url(../img/qanda-a.webp);
  background-size: 2rem;
  background-position: left 1.5rem;
  background-repeat: no-repeat;
  transition: auto;
}

/*top form*/
#form-area {
  background-image: linear-gradient(#257791, #64A5B9);
  padding: 15rem;
}
#form-area .title {
  text-align: center;
  margin-bottom: 5rem;
}
#form-area .title img {
  margin-bottom: 3rem;
  height: 14rem;
  width: auto;
}
#form-area .title .main-title {
  font-weight: bold;
  font-size: 4.5rem;
  color: #fff;
  letter-spacing: 0.03em;
  margin-bottom: 3rem;
}
#form-area .title .text {
  font-size: 1.5rem;
  color: #fff;
  letter-spacing: 0.03em;
  line-height: 2;
}
#form-area .form-inner {
  width: 600px;
  margin: auto;
}
#form-area .form-inner .form-wrap {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
#form-area .form-inner .form-wrap .one-q {
  letter-spacing: 0.03em;
}
#form-area .form-inner .form-wrap .one-q .q-title {
  font-size: 1.5rem;
  color: #fff;
  font-weight: 500;
  margin-bottom: 1em;
  display: flex;
  align-items: center;
  gap: 1em;
}
#form-area .form-inner .form-wrap .one-q .q-title .hissu {
  padding: 0.25em 1em;
  background: #fff;
  border-radius: 2em;
  color: var(--base-color);
}
#form-area .form-inner .form-wrap .a-text input, #form-area .form-inner .form-wrap .a-text textarea {
  font-size: 16px;
  padding: 0.75em;
  background: #fff;
  width: 100%;
  box-sizing: border-box;
  border: none;
  margin-bottom: 0.5em;
  line-height: 1.7;
  letter-spacing: 0.03em;
}
#form-area .form-inner .form-wrap .p-check-wrap span {
  display: block;
}
#form-area .form-inner .form-wrap .p-check-wrap .wpcf7-list-item {
  margin: 0;
}
#form-area .form-inner .form-wrap .p-check-wrap .pp-area {
  margin-bottom: 1rem;
}
#form-area .form-inner .form-wrap .p-check-wrap label {
  display: flex;
  flex-wrap: wrap;
  width: 370px;
  justify-content: left;
  align-items: center;
  border: #fff 1px solid;
  padding: 0.5em;
  font-size: 1.5em;
  color: #fff;
}
#form-area .form-inner .form-wrap .p-check-wrap input[type=checkbox] {
  width: 2em;
  margin: 1em;
}
#form-area .form-inner .form-wrap .rc-text {
  color: #fff;
}
#form-area .pp-text {
  height: 9em;
  background: #fff;
  padding: 1em;
  overflow: auto;
  font-size: 1.2rem;
}
#form-area .pp-text p {
  font-size: 1.2rem;
  margin-bottom: 1rem;
}
#form-area .pp-text h2 {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  margin-top: 3rem;
}
#form-area .submit-wrap {
  position: relative;
  text-align: center;
  margin-top: 3rem;
}
#form-area .submit-wrap .pset {
  display: inline-block;
  position: relative;
  cursor: pointer;
  width: 100%;
}
#form-area .submit-wrap .pset:hover {
  opacity: 0.7;
}
#form-area .submit-wrap .pset::after {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  position: absolute;
  top: calc(3rem - 0.3em);
  right: 2rem;
  z-index: 5;
  background: url(../img/icon-arrow.webp) no-repeat;
  background-size: contain;
}
#form-area .soushin-btn {
  all: unset;
  background-color: var(--acc-color);
  color: #fff;
  padding: 2.5rem 2rem;
  position: relative;
  width: 18rem;
  text-align: left;
  transition: opacity 0.3s;
  display: block;
  margin: auto;
  font-size: 2rem;
  position: relative;
  z-index: 2;
  width: 100%;
  box-sizing: border-box;
}
#form-area .wpcf7-not-valid-tip {
  color: #f99;
  font-size: 1.5rem;
}

/*********************
****
****
SP ver 
****
****
*********************/
@media screen and (max-width: 641px) {
  html {
    min-width: 320px;
    font-size: 2.5vw;
  }
  body {
    min-width: 320px;
  }
  .pchb {
    display: block;
  }
  .sphb {
    display: none;
  }
  .pchl {
    display: inline;
  }
  .sphl {
    display: none;
  }
  .pchib {
    display: inline-block;
  }
  .inner {
    width: 80%;
  }
  /*header*/
  header {
    min-width: auto;
  }
  header .container {
    width: 97%;
    justify-content: flex-start;
    gap: 1.5rem;
  }
  header .container .logo {
    height: 6rem;
  }
  header .container .menu #hamburger-btn {
    display: block;
  }
  header .container .menu ul li {
    display: none;
  }
  header .container .menu ul .cv-btn {
    display: block;
  }
  header .container .menu ul .cv-btn a {
    font-size: 1.25rem;
    padding: 1rem 1rem;
  }
  header #sp-toggle-menu {
    display: block;
    background: var(--color-main);
    position: fixed;
    top: 0;
    right: -105%;
    width: 100%;
    height: 100%;
    z-index: 30;
    transition: all 0.3s ease-in-out;
    overflow-y: scroll;
    overscroll-behavior: none;
    scrollbar-width: none;
    -ms-overflow-style: none;
    background: var(--acc-gray-demi);
    height: 100vh;
  }
  header #sp-toggle-menu ul {
    flex-direction: column;
    margin-top: 10rem;
    gap: 4rem;
  }
  header #sp-toggle-menu ul li {
    display: block;
    opacity: 0;
    transition: all 1s ease-in-out;
    transform: translateY(2rem);
  }
  header #sp-toggle-menu ul li a {
    font-size: 2rem;
  }
  header #sp-toggle-menu ul li.cv-btn a {
    border-radius: 3rem;
    padding: 1rem 3rem;
  }
  header #sp-toggle-menu.active {
    right: 0%;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  header #sp-toggle-menu.active ul li {
    opacity: 1;
    transition: all 1s ease-in-out;
    transform: translateY(0rem);
  }
  /*footer*/
  footer {
    padding: 7rem 0 11rem;
  }
  footer .inner {
    width: 80%;
  }
  footer .inner .logo {
    width: 90%;
  }
  footer .inner nav ul {
    flex-direction: column;
    justify-content: center;
    text-align: center;
    gap: 3rem;
  }
  footer .inner nav ul a {
    font-size: 1.75rem;
  }
  footer .inner .bottom-text a {
    font-size: 1.5rem;
  }
  footer .inner .bottom-text p {
    font-size: 1.5rem;
  }
  /*fv-area*/
  #fv-area .inner {
    bottom: 6rem;
    text-align: right;
    width: 80%;
  }
  #fv-area .inner .title {
    font-size: 2.5rem;
  }
  #fv-area .inner .title .bgwh {
    padding: 0.25rem 1rem;
  }
  /* cv-banner*/
  .cv-banner .main-banner {
    width: 100%;
    font-size: 2.5rem;
    padding: 2.5rem;
  }
  /* onayami */
  #onayami {
    padding: 5rem 0 10rem;
  }
  #onayami .sitsumon {
    flex-direction: column;
    gap: 4rem;
  }
  #onayami .sitsumon img {
    height: 28rem;
  }
  #onayami .sitsumon .main-title {
    padding: 3rem 2rem;
    font-size: 2.25rem;
  }
  #onayami .gimon-rei {
    width: 80%;
  }
  #onayami .gimon-rei .gimon-one {
    padding: 29rem 0 0 0;
    text-align: center;
    margin-bottom: 6rem;
  }
  #onayami .gimon-rei .gimon-one .q-icon {
    bottom: auto;
    z-index: 5;
    top: 1rem;
  }
  #onayami .gimon-rei .gimon-one .photo {
    bottom: auto;
    width: 80%;
    margin: auto;
    right: 0;
    left: 0;
    top: 2rem;
  }
  #onayami .gimon-rei .gimon-one:nth-child(even) .photo {
    bottom: auto;
    width: 80%;
    margin: auto;
    right: 0;
    left: 0;
    top: 2rem;
  }
  /*jitsuha*/
  #jitsuha .attention .icon {
    width: 7rem;
    height: auto;
  }
  #jitsuha .attention .fuki {
    width: 27rem;
    margin-top: 2rem;
    margin-bottom: 4rem;
  }
  #jitsuha .title {
    flex-direction: column;
  }
  #jitsuha .title .main-title {
    font-size: 2.5rem;
    text-align: center;
    margin-top: 3rem;
  }
  /*kaiketsu*/
  #kaiketsu #kaiketsu .blue-fil {
    padding: 10rem 0;
  }
  #kaiketsu .main-title {
    font-size: 2.5rem;
    line-height: 2;
  }
  #kaiketsu .main-title .st-text {
    border: 1px solid #fff;
    padding: 0.1em 0.5em 0.1em;
    margin-right: 0.3em;
    background: #fff;
    color: var(--base-color);
  }
  #kaiketsu .main-title .st-text .pchib {
    width: 0.4em;
  }
  /*service*/
  #service .title {
    padding: 8rem 0 1rem 0;
  }
  #service .title img {
    height: 10rem;
    width: auto;
  }
  #service .title .main-title {
    font-size: 2.75rem;
    margin-bottom: 2rem;
  }
  #service .title .lead {
    font-size: 1.75rem;
  }
  #service .list .main-service {
    background-size: 50rem;
    background-position: top;
  }
  #service .list .main-service .text-area {
    padding: 38rem 3rem 3rem 3rem;
    margin: auto;
    background: none;
  }
  #service .list .main-service .text-area .service-title {
    color: var(--base-color);
    font-size: 2.25rem;
  }
  #service .list .main-service .text-area .price {
    font-size: 2.25rem;
    color: #333;
  }
  #service .list .main-service .text-area .info {
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 2rem;
  }
  #service .list .moreinfo {
    font-size: 1.8rem;
  }
  #service .list .sub-list {
    flex-direction: column;
  }
  #service .list .sub-list .sub-service {
    width: 100%;
    padding: 21rem 3rem 15rem 3rem;
  }
  #service .list .sub-list .sub-service .text-area .service-title {
    font-size: 2.25rem;
    margin-bottom: 1rem;
  }
  #service .list .sub-list .sub-service .text-area .price {
    font-size: 2.25rem;
    margin-bottom: 1rem;
  }
  #service .list .sub-list .sub-service .text-area .btn {
    width: calc(100% - 6rem);
  }
  /* riyu */
  #riyu .blue-fil {
    padding: 10rem 0;
  }
  #riyu .title img {
    height: 10rem;
    width: auto;
  }
  #riyu .title .main-title {
    font-size: 2.75rem;
  }
  #riyu .title .lead {
    font-size: 1.75rem;
  }
  #riyu .text {
    width: 100%;
    font-size: 1.5rem;
  }
  #riyu .black-btn {
    width: auto;
  }
  #jisseki {
    padding: 0;
    position: relative;
  }
  #jisseki .img-back {
    padding: 10rem 0 25rem;
  }
  #jisseki .title img {
    height: 10rem;
  }
  #jisseki .title .main-title {
    font-size: 2.75rem;
  }
  #jisseki .list {
    flex-direction: column;
  }
  #jisseki .list .jisseki-one {
    width: 100%;
    position: relative;
    padding: 2rem;
  }
  #jisseki .list .jisseki-one .obi {
    position: absolute;
    top: 3rem;
    left: -2rem;
    text-align: center;
    flex-direction: column;
    gap: 0.5rem;
    border-radius: 1.5rem;
    padding: 1rem;
    font-size: 1.25rem;
    padding: 2rem 2.5rem;
  }
  #jisseki .list .jisseki-one .obi img {
    height: 2rem;
  }
  #jisseki .list .jisseki-one .volume {
    text-align: right;
  }
  #jisseki .list .jisseki-one .volume .setsuzei {
    font-size: 2rem;
  }
  #jisseki .list .jisseki-one .volume .setsuzei .st-text {
    font-size: 9rem;
    line-height: 0.8;
  }
  #jisseki .list .jisseki-one .naiyou, #jisseki .list .jisseki-one.profile, #jisseki .list .jisseki-one.naiyou-text {
    font-size: 1.75rem;
  }
  #jisseki .main-banner {
    width: 100%;
    font-size: 2.5rem;
    padding: 2.5rem;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  #jisseki .black-btn {
    width: auto;
  }
  /* nagare */
  #nagare {
    padding: 10rem 0 5rem;
  }
  #nagare .inner {
    width: 100%;
  }
  #nagare .title img {
    height: 10rem;
    width: auto;
  }
  #nagare .title .main-title {
    font-size: 2.75rem;
  }
  #nagare .list {
    align-items: unset;
    margin-top: 0rem;
    flex-wrap: nowrap;
    gap: unset;
  }
  #nagare .list .nagare-one {
    width: auto;
    padding: 0 7rem;
  }
  #nagare .swiper-button-next, #nagare .swiper-button-prev {
    display: flex;
    top: var(--swiper-navigation-top-offset, 33%);
    background: #fff;
    border-radius: 3rem;
    color: var(--base-color);
  }
  #nagare .swiper-button-next:after, #nagare .swiper-rtl .swiper-button-prev:after, #nagare .swiper-button-prev:after, #nagare .swiper-rtl .swiper-button-next:after {
    font-size: 2rem;
  }
  #nagare .swiper-button-next svg, #nagare .swiper-button-prev svg {
    height: 40%;
  }
  /* qanda */
  #qanda {
    padding: 10rem 0;
  }
  #qanda .inner {
    width: 80%;
  }
  #qanda .title img {
    height: 10rem;
    width: auto;
  }
  #qanda .title .main-title {
    font-size: 2.75rem;
  }
  #qanda .list .qanda-one .question {
    padding: 0 2rem 0 3.5rem;
    font-size: 1.75rem;
  }
  #qanda .list .qanda-one .question::after {
    top: calc(50% - 1.5rem);
  }
  #qanda .list .qanda-one .answer {
    padding-left: 3rem;
  }
  /* form */
  #form-area {
    padding: 10rem 0;
  }
  #form-area .title img {
    height: 10rem;
    width: auto;
  }
  #form-area .title .main-title {
    font-size: 2.75rem;
  }
  #form-area .form-inner {
    width: 100%;
  }
  #form-area .form-inner .form-wrap .p-check-wrap label {
    width: auto;
  }
  #form-area .form-inner .form-wrap .p-check-wrap input[type=checkbox] {
    margin: 1em 0.2em;
  }
} /* SP fin*/
/*****************
****
****
****
****other page CSS
****
****
****
********************/
.child-page #head-nav {
  background-color: var(--acc-gray);
}
.child-page .single-page-head {
  position: relative;
  height: 40rem;
}
.child-page .single-page-head .blue-fil {
  width: 100%;
  height: 100%;
}
.child-page .single-page-head .page-title {
  width: 1000px;
  color: #fff;
  font-weight: bold;
  margin: auto;
  padding-top: 20rem;
  font-size: 3.5rem;
}
.child-page .pankuzu {
  width: 1000px;
  font-size: 1.2rem;
  margin: auto;
  padding: 2rem 0;
}
.child-page .pankuzu a {
  font-size: 1.2rem;
}
.child-page .main-contents-section {
  padding-bottom: 15rem;
}
.child-page .black-btn {
  display: flex;
  margin: auto;
  width: 340px;
  font-size: 2rem;
  color: #fff;
  background: var(--acc-gray);
  border-radius: 2em;
  padding: 1em 0.75em 1em 1.5em;
  font-weight: 500;
  justify-content: space-between;
  align-items: center;
  margin-top: 10rem;
}
.child-page .black-btn img {
  width: 3.5rem;
  height: auto;
}

@media screen and (max-width: 641px) {
  .child-page .single-page-head {
    height: 29rem;
  }
  .child-page .single-page-head .blue-fil {
    width: 100%;
    height: 100%;
  }
  .child-page .single-page-head .page-title {
    width: 80%;
    padding-top: 16rem;
    font-size: 2.25rem;
    text-align: center;
  }
  .child-page .pankuzu {
    width: 80%;
  }
  .child-page .main-contents-section {
    padding-bottom: 15rem;
  }
  .child-page .black-btn {
    width: auto;
  }
}
/*　privacypolicy thankyoupage readypage　404*/
.page-id-22 .blue-fil, .page-id-28 .blue-fil, .page-template-readypage .blue-fil, .error404 .blue-fil {
  background-image: linear-gradient(#257791, #64A5B9);
}
.page-id-22 .inner, .page-id-28 .inner, .page-template-readypage .inner, .error404 .inner {
  width: 800px;
  padding: 10rem 0;
  font-size: 1.5rem;
  line-height: 2;
}
.page-id-22 .inner p, .page-id-28 .inner p, .page-template-readypage .inner p, .error404 .inner p {
  font-size: 1.5rem;
  margin-bottom: 1em;
  line-height: 2;
}
.page-id-22 .inner h2, .page-id-28 .inner h2, .page-template-readypage .inner h2, .error404 .inner h2 {
  font-weight: bold;
  margin-top: 4rem;
  margin-bottom: 1em;
  font-size: 1.5rem;
}

.page-template-readypage .inner {
  text-align: center;
}

@media screen and (max-width: 641px) {
  .page-id-22 .inner, .page-id-28 .inner, .page-template-readypage .inner, .error404 .inner {
    padding: 5rem 0 10rem 0;
    width: 80%;
  }
  .page-template-readypage .inner {
    text-align: left;
  }
}/*# sourceMappingURL=common-styles.css.map */