@charset "UTF-8";
body {
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.6;
}
img {
  width: 100%;
}
p {
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
}
.sp {
  display: none;
}
.flex-sp {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}
.flex-start {
  display: flex;
  justify-content: flex-start;
}
.flex-end {
  display: flex;
  justify-content: flex-end;
}
.width90 {
  width: 90%;
  margin: 0 auto;
}
.mb-10 {
  margin-bottom: 10%;
}
@media screen and (max-width:768px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}

/* --header-- */
.l-header {
  position: relative;
}
.l-header-inner {
  padding: 1.5%
}
.l-header-left {
  flex-basis: 50%;
}
.logo {
  padding-right: 65%;
}
.l-header-right {
  flex-basis: 40%;
}
.c-menu-item {
  padding: 0 3%;
}
.button-contact {
  display: inline-block;
  width: 10%;
}
@media screen and (max-width: 768px) {
  .l-header-left {
    margin-left: 30px;
  }
  .button-contact {
    width: 20%;
  }
}

/* --main-visual-- */
.l-main-visual {
  position: relative;
  margin-bottom: 15%;
}
.l-news {
  position: absolute;
  top: 85%;
  right: 7%;
  width: 47%;
  background-color: #fff;
  border-radius: 10px;
  filter: drop-shadow(7px 7px 20px rgba(0,0,0,.15));
  padding: 2% 3%;
}
.c-hd-img-news {
  width: 20%;
  position: absolute;
  top: -10%;
  right: 7%;
}
.c-news-table {
  width: 100%;
}
.c-news-th {
  width: 17%;
  font-size: 1.67vw;
  font-family: 'Teko', sans-serif;
}
.c-news-td {
  width: 83%;
  font-size: 1.25vw;
  position: relative;
}
/* .c-news-td::after {
  content: '>';
  width: 1em;
  height: 1em;
  display: inline-block;
  position: absolute;
  right: 0;
} */

@media screen and (max-width: 768px) {
  .l-main-visual {
    margin-bottom: 65%;
  }
  .l-news {
    width: 95%;
    top: 88%;
    right: 50%;
    transform: translateX(50%);
    padding: 5% 3%;
  }
  .c-hd-img {
    width: 32%;
    left: 5%;
  }
  .c-hd-img-news {
    left: 5%; top: -5%;
  }
  .c-news-th,.c-news-td {
    width: 100%;
    display: block;
    font-size: 3.3vw;
  }
} 

/* --about-- */
.l-about {
  width: 68%;
  margin: 0 auto 10%;
}
.c-hd-img-about {
  width: 22.4%;
  margin: 0 auto 5%;
}
.c-about-img {
  flex-basis: 42.7%;
}
.c-about-img-text {
  text-align: center;
  font-size: 1.11vw;
  line-height: 1.7;
  margin-bottom: 5%;
}
.c-about-text {
  flex-basis: 55%;
}
.c-hd-lv2-about {
  font-size: 3.17rem;
  letter-spacing: 0.2em;
  margin-bottom: 2%;
}
.c-about-text-p {
  font-size: 1.11vw;
  line-height: 1.7;
}

@media screen and (max-width: 768px) {
  .l-about {
    width: 90%;
    margin: 0 auto 5%;
  }
  .c-hd-img-about {
    width: 47.6%;
    margin-bottom: 10%;
  }
  .c-about-img-text,
  .c-about-text-p {
    font-size: 3.35vw;
    letter-spacing: 0.15em;    
  }
  .l-about-content {
    display: block;
  }
  .c-about-img {
    width: 87%;
    margin: 0 auto 10%;
  }
  .c-hd-lv2-about {
    text-align: center;
  }
}

/* --service-- */
.l-service {
  margin-bottom: 15%;
}
.c-service {
  position: relative;
}
.c-service-img {
  margin-bottom: 15%;
}
.c-hd-service {
  width: 37.4%;
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translateX(-50%);
}
.c-hd-img-service {
  width: 68%;
  margin: 0 auto 5%;
}
.c-hd-img-service-text {
  font-size: 0.97vw;
  text-align: center;
}
.c-service-lineup {
  position: relative;
  margin-bottom: 5%;
}
.c-service-list {
  width: 68%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  position: absolute;
  top: 50%;left: 50%;
  transform: translate(-50%,-50%);
}
.c-service-item {
  flex-basis: 30%;
}
.c-service-item-img {
  overflow: hidden;
}
.c-service-lineup-img {
  transition-duration: 0.3s;
}
.c-service-lineup-img:hover {
  transform: scale(1.2);
  transition-duration: 0.3s;
}
.c-service-price {
  margin: 5% 0 15%;
}
.c-service-lineup:nth-of-type(2) .c-service-list,
.c-service-lineup:nth-of-type(3) .c-service-list {
  top: 60%;
}
.c-service-text {
  font-size: 1.2vw;
  position: absolute;
  top: 17%;left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .c-hd-service {
    width: 95%;
    top: 81%;
  }
  .c-hd-img-service {
    width: 53.7%;
  }
  .c-service-img {
    margin-bottom: 33%;
  }
  .c-hd-img-service-text {
    font-size: 3.33vw;
  }
  .c-service-list {
    width: 90%;
    top:53%
  }
  .c-service-item {
    flex-basis: 48%;
  }
  .c-service-price {
    margin: 10% 0 20%;
  }  
  .c-service-lineup:nth-of-type(2) .c-service-list {
    top:58%;
  }
  .c-service-lineup:nth-of-type(3) .c-service-list {
    top: 63%;
  }
  .c-service-item:nth-of-type(7) .c-service-price,
  .c-service-item:nth-of-type(8) .c-service-price {
    margin-bottom: 0;
  }
  .c-service-text {
    font-size: 3vw;
    text-align: center;
    top: 13%;
  }
}

/* --review-- */
.l-review {
  position: relative;
  margin-bottom: 10%;
}
.c-hd-img-review {
  width: 18.7%;
  position: absolute;
  top: -2%;
  left: 50%;
  transform: translateX(-50%);
}

@media screen and (max-width: 768px) {
  .c-hd-img-review {
    width: 61.8%;
    top: -2%;
  }
}

/* --FAQ-- */
.l-FAQ {
  width: 68%;
  margin: 0 auto 10%;
}

.c-hd-img-FAQ {
  width: 15.2%;
  margin: 0 auto 10%;
}
.c-FAQ-item {
  font-size: 1.5vw;
  letter-spacing: 0.15em;
  margin-bottom: 3%;
}
.c-FAQ-Q,
.c-FAQ-A {
  position: relative;
  padding-left: 2.5em;
  padding-bottom: 3%;
}

.c-FAQ-Q::before,
.c-FAQ-A::before {
  display: inline-block;
  content: '';
  width: 2em;
  height: 2em;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  left: -.5em;top:-.1em
}
.c-FAQ-Q::before {
  background-image: url("images/icon-Q.png");
}
.c-FAQ-A::before {
  background-image: url("images/icon-A.png");
}
@media screen and (max-width:768px) {
  .l-FAQ {
    width: 90%;
    margin-bottom: 15%;
  }
  .c-hd-img-FAQ {
    width: 27%;
  }
  .c-FAQ-item {
    font-size: 3.73vw;
  }
}
/* --company-- */
.l-company {
  position: relative;
}
.c-hd-img-company {
  width: 25.5%;
  position: absolute;
  top: 13.5%; left: 21.8%;
}
.c-company-info {
  width: 43.9%;
  position: absolute;
  top: 34%; left: 15.9%;
  background-color: #fff;
  filter: drop-shadow(7px 7px 20px rgba(0,0,0,.15));
  padding: 2% 5%;
}
.c-company-tabel {
  width: 100%;
}
.c-company-tr {
  border-bottom: 1px solid #000;
}
.c-company-tr:last-of-type {
  border-bottom: 0;
}
.c-company-th,
.c-company-td {
  font-size: 1.46vw;
  letter-spacing: 0.07em;
  padding: 4% 0;
}
.c-company-td {
  padding-left: 8%;
}
.c-logo2 {
  width: 11.7%;
  position: absolute;
  top: 28%; left: 7.2%;
}
@media screen and (max-width:768px) {
  .c-hd-img-company {
    width: 66.3%;
    top: -3.2%; left: 21.8%;
  }
  .c-company-info {
    width: 94%;
    left: 50%;top: 38%;
    transform: translateX(-50%);
    padding: 10% 5%;
  }
  .c-company-th,
  .c-company-td {
    font-size: 3.73vw;
  }
  .c-company-td {
    padding-left: 5%;
  }
  .c-logo2 {
    width: 26.9%;
  }
}

/* --contact-- */
.l-contact {
  width: 68%;
  margin: 0 auto;
  padding: 10% 0;
}
.c-hd-img-contact {
  width: 48.4%;
  margin: 0 auto 5%;
}
.c-contact {
  width: 100%;
}
.c-contact-input {
  font-size: 1.46vw;
  margin-bottom: 2%;
}
.c-input-label {
  display: block;
  padding: 0 2%;
  font-weight: 600;
  margin-bottom: .5%;
}
.c-input-span {
  margin-left: 1%;
  color: #fff;
  background-color: #e53946;
  font-weight: 400;
  padding: 0 1%;
}
.c-input,
.c-input-textarea {
  width: 100%;
  border: 1px solid #000;
  padding: 1% 2%;
}
.c-input-textarea {
  height: 10em;
}
.l-contact-text {
  text-align: center;
  margin-bottom: 3%;
}
.c-privasy {
  color: #299cd3;
}
.l-submit-button {
  text-align: center;
}
.c-submit-button {
  width: 37.2%;
  margin-bottom: 3%;
}

@media screen and (max-width:768px) {
  .l-contact {
    width: 95%;
  }
  .c-hd-img-contact {
    width: 85.3%;
  }
  .c-contact-input {
    font-size: 3vw;
  }
  .c-submit-button {
    width: 87.9%;
    margin-bottom: 10%;
  }
}

/* --sns-- */
.l-sns {
  position: relative;
  background-color: #f4f4f4;
  padding: 10% 0;
}
.c-hd-img-sns {
  width: 9.8%;
  margin: 0 auto 5%;
  position: relative;
  top: auto;
  left: auto;
  transform: none;
}
.p-sns {
  width: 68%;
  margin: 0 auto;
}
.c-sns {
  flex-basis: 48%;
  display: block;
  text-align: center;
}
.c-sns-icon {
  width: 48.9%;
  margin: 0 auto 2%;
}

@media screen and (max-width:768px) {
  .l-sns {
    padding: 30% 0 10%;
  }
  .c-hd-img-sns {
    width: 26%;
    top: -3%;
  }
  .p-sns {
    width: 95%;
    display: block;
  }
  .c-sns:first-of-type {
    margin-bottom: 10%;
  }
}

/* --footer-- */
.l-footer {
  background-color: #000;
  padding: 5% 0;
}
.l-footer-inner {
  width: 68%;
  margin: 0 auto;
  flex-direction: row-reverse;
}
.l-footer-right {
  flex-basis: 13.1%;
}
.l-footer-left {
  flex-basis: 70.4%;
}
.c-footer-menu-item {
  border-right: 1px solid #fff;
}
.c-footer-menu-item:last-of-type {
  border-right: 0;
  margin-left: 2%;
}

@media screen and (max-width:768px) {
  .l-footer-inner {
    width: 95%;
    flex-wrap: wrap;
  }
  .l-footer-left {
    flex-basis: 100%;
    flex-wrap: wrap;
  }
  .l-footer-right {
    flex-basis: 20%;
    margin: 10% auto 0;
  }
  .c-footer-menu-item {
    flex-basis: 50%;
    padding: 0 10%;
    margin: 3% 0;
  }
  .c-footer-menu-item:nth-of-type(2n) {
    border-right: 0;
  }
  .c-footer-menu-item:last-of-type {
    margin-left: 0;
  }
  .c-footer-menu-item-img {
    display: block;
    margin: 0 auto;
  }
}
/* =======================
hamberger-menu
======================= */
.menu-trigger {
  display: none;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  background: transparent;
}
@media screen and (max-width: 768px) {
  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    transition: all .4s;
  }  
  .menu-trigger {
    width: 20px;
    height: 16px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 2%;
    z-index: 99;
    outline: none;
  }
  .menu-trigger span {
    position: absolute;
    left: 50%;
    width: 100%;
    height: 2px;
    background-color: #000;
    transform: translateX(-50%);
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0%;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 50%;
    transform: translate(-50%,-50%);
  }
  .menu-trigger span:nth-of-type(3) {
    top: 98%;
  }
  .menu-trigger.active span:nth-of-type(1) {
    background-color: #000;
    top: 50%;
    transform: translateX(-50%) rotate(-45deg);
  }
  .menu-trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .menu-trigger.active span:nth-of-type(3) {
    background-color: #000;
    top: 50%;
    transform: translateX(-50%) rotate(45deg);
  }
  .l-header-right {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 200px;
    height: 100vh;
    padding: 10% 3%;
    background-color: rgba(255,255,255,.7);
    z-index: 4;
  }
  .l-header-right.active {
    display: block;
  }
  .c-menu-item {
    height: 80px;
    padding: 10% 0;
    text-align: center;
  }
  .c-menu-item-img {
    width: auto;
    height: 100%;
  }
}

/* --complete-- */
.l-header-complete {
  margin-bottom: 10%;
}
.complete-logo {
  width: 20%;
}
.c-hd-complete-lv01 {
  font-size: 4vw;
  text-align: center;
  margin-bottom: 5%;
}
.c-complete-message {
  text-align: center;
  font-size: 1.67vw;
  margin-bottom: 5%;
}
.l-complete-footer {
  padding: 2% 0;
  background-color: #000;
}
.complete-copy {
  width: 20%;
}

/* --privacy-- */
.l-privacy {
  width: 68%;
  margin: 0 auto 10%;
}

.c-hd-privacy-title {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin: 8% 0 4% 0;
  color: #333;
  letter-spacing: 0.1em;
}

.c-privacy-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 1% 0;
}

.c-privacy-section {
  margin-bottom: 2%;
  padding: 1.5% 3%;
  border-bottom: 1px solid #e0e0e0;
}

.c-privacy-section:last-child {
  border-bottom: none;
}

.c-privacy-section-title {
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 1%;
  color: #333;
  letter-spacing: 0.05em;
}

.c-privacy-text {
  font-size: 0.95vw;
  line-height: 1.6;
  color: #555;
  margin-bottom: 1%;
}

.c-privacy-list {
  margin: 1% 0;
  padding-left: 3%;
}

.c-privacy-list li {
  font-size: 0.95vw;
  line-height: 1.6;
  color: #555;
  margin-bottom: 0.5%;
  position: relative;
  padding-left: 1.5em;
}

.c-privacy-list li::before {
  content: "•";
  position: absolute;
  left: 0;
  color: #666;
}

.c-privacy-contact {
  background-color: #f8f8f8;
  padding: 2%;
  border-radius: 8px;
  margin-top: 1%;
}

.c-privacy-contact-text {
  font-size: 0.95vw;
  line-height: 1.6;
  color: #333;
  text-align: center;
}

.c-privacy-content a {
  color: #0066cc;
  text-decoration: underline;
}

.c-privacy-content a:hover {
  color: #004499;
}

.c-privacy-link {
  word-break: break-all;
  word-wrap: break-word;
}

@media screen and (max-width: 768px) {
  .l-privacy {
    width: 90%;
    margin: 0 auto 5%;
  }
  
  .c-hd-privacy-title {
    font-size: 1.5rem;
    margin: 10% 0 6% 0;
  }
  
  .c-privacy-content {
    padding: 3% 0;
  }
  
  .c-privacy-section {
    margin-bottom: 4%;
    padding: 3% 5%;
  }
  
  .c-privacy-section-title {
    font-size: 1.1rem;
    margin-bottom: 2%;
  }
  
  .c-privacy-text,
  .c-privacy-list li,
  .c-privacy-contact-text {
    font-size: 3.0vw;
    letter-spacing: 0.15em;
  }
  
  .c-privacy-contact {
    padding: 3%;
    margin-top: 2%;
  }
}