@charset "UTF-8";

/* header */
body {
  padding: 0;
  margin: 0;  
  padding-top: 60px; 
}



main {
    text-align:center;
}

/* header */
body {
  padding: 0;
  margin: 0;  
  padding-top: 60px; 
}

header {
    position: fixed; /*← fixedで固定 */
    width: 100%; 
    height: 60px; 
    background: #fff; 
    padding: 50px; 
    box-sizing: border-box;
    top: 0; 
    left: 0; 
    display: flex; 
    align-items: center; 
    justify-content:space-between;
    z-index: 9999;
    box-shadow: 0 0 3px #e26789;

}


header .nav .menu {
    display: flex; 
    white-space: nowrap;
}
@media (max-width: 767px) {
    .header-text {
        font-size: 14px; /* スマホでは少し小さくする */
    }
}

header .nav .menu li {
    list-style: none; 
    margin-left: 10px;
}

header .nav .menu li a{
   color: #B78D4A;
   font-weight:bold;
   text-decoration: none;
}

main {
    text-align:center;
}

.logo{
  width: 100%;
  max-width: 193px;
  height:auto;
  margin-left: 0;    
}

.p{
font-size: 16px;

}
.l_section{
  width:100%;
  margin: 0 auto;
  height:auto;
}

.l_section01{
  width:100%;
  margin: 0 auto;
  text-align:center;
  height: auto;
}

.l_section_flow{
  width:100%;
  margin: 0 auto;
  text-align:center;
  background-color: #fbdcf3;
  height: auto;
}

svg{
    display:block;
}

.l_section_access{
  width:100%;
  background-color: #fbdcf3;
  text-align:center;

}

.l_section_access p {
    margin: 0;
  
}


.l_section_access_top{
  width:100%;


}

.l_section_access_top img{
    display: block;
}

.l_section_under{
  width:100%;
  height:auto;
}


.service_up{
  width:100%;
  margin: 0 auto;
  height: 50px;

}


img, div, table {
    max-width: 100%;
}

.heading{
  display: inline;
  text-align:center;
  padding-bottom: 5px;
  background-image: linear-gradient(rgba(0,0,0,0) 70%, rgb(252,81,133) 70%);
}
 @media (max-width: 768px) {
    .heading {
        font-size: 20px; /* スマホでは少し小さくする */
    }
}


#contact{
  display: inline;
  font-size: 26px;
  text-align:center;
  background-image: linear-gradient(rgba(0,0,0,0) 70%, rgb(252,81,133) 70%);
}




/*FV*/
.firstview {
  width: 100%;             /* 横幅いっぱいに広げる */
  height: auto;
  background-image: url('../img/haikei.png');
  background-size: cover;  /* 画像をアスペクト比を保ったまま隙間なく配置 */
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
   background-position: 0 0;
  
}

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


.fv01{
   width: 100%; 
   height: auto;
}




.flow2{
   width: 70%;
   height: auto;
  margin: 50px auto;
}
@media (max-width: 767px) {
  .flow2 {
    width: 40%; /* 幅を半分に */
    height: auto; /* 高さを自動調整 */
  }
}

.flow3{
   width: 70%;
   height: auto;
   margin: 0 auto;
}

.flow4{
   width: 25%;
   height: auto;
   text-align: left;
   font-weight: bold;
  }
  @media screen and (max-width:768px) {
  .flow4 {
    width: 70%;
    flex-direction: column;
  }
}


.flow5{
   width: 100%;
   height: auto;
  text-align: left;
  padding: 10px;
  
}



.heading-21 {
    position: relative;
    padding: .5em .10em .4em;
    border-bottom: 3px solid #2589d0;
    color: #333333;
}



.heading-21::before,
.heading-21::after {
    position: absolute;
    left: 20px;
    bottom: -15px;
    width: 30px;
    height: 15px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}

.heading-21::before {
    background-color: #2589d0;
}

.heading-21::after {
    bottom: -11px;
    background-color: #fbdcf3;
}

.service{
   width: 80%;
   display: flex;
   height: auto;
   margin:30px auto 0px;
   gap:15px;
   text-align: left;

}
@media screen and (max-width:768px) {
  .service {
    width: 100%;
    flex-direction: column;
  }
}



.service01{
   width: 70%;
   height: auto;
   margin:10px auto;
   background-color: #fff;
   padding: 10px;
   text-align: left;
   


}

.service02{
    width: 80%;
    position: relative;
    margin: 30px auto;
}
@media (max-width: 767px) {
  .servise2 img {
    width: 60%; /* 幅を半分に */
    height: auto; /* 高さを自動調整 */
  }
}


.price{
   width: 70%;
   height: auto;
   text-align: left;
   margin:0 auto 50px;

}


.voice{
   width: 90%;
   height:auto;
   background-color: #ecbbee;
   margin: 100px auto;
   border-radius: 1%;
}

.voice img{
    margin: 50px;
}

.voice2{
width:70%;
height:auto;
border-radius: 5px;
border: solid 2px rgb(148, 146, 146);
display: flex;
margin: 15px auto;
justify-content: space-between; /* 左右の要素の間にスペースを確保 */
gap: 15px; /* テキストと画像の間の余白 */
padding-left: 1em;
  
}
@media (max-width: 767px) {
  .voice2 {
    flex-direction: column;
     align-items: center;
  justify-content:center;
  }
}


.voice3{
   width: 75%;
   height:auto;
   margin: 0 auto;
   text-align: left;

}

.voice4{
  width: 25%;
  height:auto;
  display: flex;
  align-items: center;
  justify-content:center;
  min-width:170px;

}


.voice4 img{
max-width: 50%;
object-fit: cover;
height:auto;
overflow: hidden;
}


/* PCでは改行を無効にする */
.br-sp {
  display: none;
}

/* スマホ（600px以下）で改行を有効にする */
@media (max-width: 600px) {
  .br-sp {
    display: inline;
  }
}

.merit{
   width: 80%;
   height: auto;
   background-color: #fff;
   border-radius: 5%;
   margin:0 auto;
}


.merit1{
   width: 90%;
   height: auto;
   margin:0 auto;
}
/* スマホ向けのメディアクエリ */
@media (max-width: 767px) {
  .merit1 {
    width: 70%; /* 幅を半分に */
    height: auto; /* 高さを自動調整 */
  }
}

.midashi{
  text-align: center;
}


.qa-7 {
    max-width: 100%;
    margin-bottom: 10px;
    border: none;
    border-radius: 5px;
    box-shadow: 0 4px 4px rgb(0 0 0 / 2%), 0 2px 3px -2px rgba(0 0 0 / 5%);
    background-color: #fff;
    text-align: left;
}

.qa-7 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em 1em 3em;
    color: #333333;
    font-weight: 600;
    cursor: pointer;
}

.qa-7 summary::before,
.qa-7 p::before {
    position: absolute;
    left: 1em;
    font-weight: 600;
    font-size: 1.3em;
}

.qa-7 summary::before {
    color: #75bbff;
    content: "Q";
}

.qa-7 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .5s;
}

.qa-7[open] summary::after {
    transform: rotate(225deg);
}

.qa-7 p {
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}

.qa-7[open] p {
    transform: none;
    opacity: 1;
}

.qa-7 p::before {
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}

.form2{
  width:70%;
  margin: 50px auto;
  text-align: left;
  height:auto;
 
}

.red{
color:#ff0000;
font-weight: bold;
}

.subtitle{
 font-weight: bold;
 color:#FC5185;
 padding-top: 20px;

}

.subtitle2{
  font-size: 2em;
  padding-top: 20px;
 font-weight: bold;
}
 @media (max-width: 768px) {
    .subtitle2 {
        font-size: 20px; /* スマホでは少し小さくする */
    }
}

.subtitle3{
 font-weight: bold;
 color:#FC5185;

}

 .form-wrap{
    max-width:700px;
    margin:auto;
    background:#fff;
    padding:30px;
    border-radius:10px;
}

.form-group{
    margin-bottom:20px;
}
label{
    display:block;
    margin-bottom:8px;
    font-weight:bold;
}
.required{
    color:#ff0000;
    font-size:12px;
    margin-left:5px;
}
input[type="text"],
input[type="email"],
input[type="url"],
textarea{
    width:100%;
    padding:12px;
    border:1px solid #ccc;
    border-radius:5px;
    box-sizing:border-box;
}
textarea{
    height:150px;
}
.radio-group label{
    display:inline-block;
    margin-right:20px;
    font-weight:normal;
}
button{
    background:#337AB7;
    color:#fff;
    border:none;
    padding:14px 30px;
    border-radius:5px;
    cursor:pointer;
    font-size:16px;
}
button:hover{
    opacity:0.9;
}

 .thanks-container {
            max-width: 600px;
            margin: 80px auto;
            background-color: #ffffff;
            padding: 50px 30px;
            border-radius: 8px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
            text-align: center;
        }
        .thanks-icon {
            font-size: 60px;
            color: #4CAF50;
            margin-bottom: 20px;
        }
        h1 {
            color: #2c3e50;
            font-size: 24px;
            margin-bottom: 15px;
        }
        p {
            line-height: 1.6;
            color: #555;
            margin-bottom: 25px;
        }
        .btn-home {
            display: inline-block;
            background-color: #3498db;
            color: #ffffff;
            padding: 15px 30px;
            text-decoration: none;
            border-radius: 4px;
            font-weight: bold;
            transition: background-color 0.3s;
        }
        .btn-home:hover {
            background-color: #2980b9;
        }