@charset "UTF-8";
*,
*::before,
*::after {
-webkit-box-sizing: inherit;
box-sizing: border-box;
}
html {
-webkit-box-sizing: border-box;
box-sizing: border-box;
scroll-behavior: smooth;
}
body{
margin:0;
padding: 0;
color: #111;
background-color: #fff;
}
.container{
  width: 80%;
  max-width: 1080px;
  margin: 0 auto;
}
ul,ol {
list-style: none;
padding: 0;
margin: 0;
}
img{
width:100%;
max-width:100%;
display: block;
}
/*　====================== フォント設定 ======================　*/
h1,h2,h3,h4,h5,h6{
font-weight: 500;
line-height: 1.2;
font-family: "Noto Sans JP", sans-serif;}
p,a,div,ul,ol,dl{
font-size: 16px;
font-weight: 400;
letter-spacing: 0.08em;
line-height: 1.5;
font-family: "Noto Sans JP", sans-serif;
color: #111;}
input,textarea{
font-size: 16px;
padding: 5px;}
/*　====================== レスポンシブ設定 ======================　*/
.pc-only {
display: block;
}
.sp-only {
display: none;
}
@media screen and (max-width:768px){
.pc-only {
display: none;
}
.sp-only {
display: block;
}
}
/*　====================== コンテンツ幅設定 ======================　*/
section{
padding-top: 100px;
padding-bottom: 100px;
}
.container{
margin: 0 auto;
width: 90%;
max-width: 1080px;
}
@media screen and (max-width:768px){
section{
padding-top: 80px;
}
}
/*　====================== flexデフォルト設定 ======================　*/
.flex {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}
/*　====================== 共通設定 ======================　*/
h2.h2-title{
font-size: 40px;
font-weight: 700;
color: #38502F;
margin: 0 auto 50px;
text-align: center;
}
.page-link-button{
  display: block;
  margin: 50px auto 0;
  font-size: 25px;
  color:#fff;
  font-weight: 600;
  line-height: 1;
  padding: 20px 30px;
  background-color: #38502F;
  box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.25);
  width: fit-content;
  letter-spacing: 0.25em;
}
a.hakushin::after{
content: '';
width: 10px;
height: 10px;
display: inline-block;
background-image: url(../img/gaibu-link.webp);
background-size: contain;
vertical-align: middle;
margin-left: 5px;
}
a:hover{
  opacity: 0.9;
}
@media screen and (max-width:1080px){
header{
padding: 50px 10px;    
width: 100%;
}
header .contact-btn a p:nth-child(2){
  font-size: 18px;
}
}
@media screen and (max-width:768px){
h2.h2-title{
font-size: 30px;
}
header .tel-btn a {
    padding: 15px;
}}
/* =======================ヘッダー======================= */
header{
padding: 5px;
background-color: #38502F;
width: 100%;
position: fixed;
left: 0;
top: 0;
z-index: 30;
}
header>.flex{
    align-items: center;
}
header .nav.flex,header .nav.flex .nav1.flex,header .nav.flex .btn.flex{
gap:30px;
}
header .btn.flex{
    align-items: stretch;
}
header .contact-btn a{
  background-color: #DD8305;
  padding: 15px;
  display: block;
}
header h1 img{
width: 300px;
}
header h1 p{
  color:#fff;
  font-size:10px;
  text-align: center;
  margin-bottom: 5px;
}
header .btn.flex{
    gap:15px;
} 
header .contact-btn a p:first-child{
  font-size: 12px;
  padding: 2px 10px;
  border-radius: 15px;
  line-height: 1;
  background-color:#fff;
  text-align: center;
}
header .contact-btn a p:nth-child(2){
  font-size: 20px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  color:#fff;
  margin-top: 5px;
}
header .tel-btn a{
  background-color: #fff;
  padding:15px;
  gap:5px;
  height: 100%;
}
header .tel-btn .img{
  width: 30px;
}
header .tel-btn a p:first-child{
  font-size: 25px;
  color: #38502F;
  font-family: "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}
header .tel-btn a p:nth-child(2){
  font-size: 12px;
  text-align: center;
  line-height: 1;
}
@media screen and (max-width:900px){
header h1 img{
width: 200px;
}}
@media screen and (max-width:768px){
header{
    padding: 20px 0;
}
header h1 img {
    width: 100%;
}
header .btn.flex{
  position: fixed;
  width: 100%;
  bottom:0;
  left:0;
  gap: 0;
  z-index: 50;
}
header .btn.flex li{
  width: 50%;
}
header .btn.flex li a{
    width: 100%;
    justify-content: center;    
    padding:15px 5px;
}
header .tel-btn a p:first-child,
header .contact-btn a p:nth-child(2){
    font-size: 18px;
}
header .tel-btn .img {
    width: 15px;
}
header .contact-btn a p:first-child {
    font-size: 11px;
}
}
/*　====================== header ======================　*/
/*　====================== fv ======================　*/
#firstview{
margin-top: 80px;
background-image: url(../img/fv-back-pc.webp);
background-repeat: no-repeat;
background-position: center top;
background-size: cover;
padding: 10vh 0;
}
#firstview .img1{
    width: 50%;
    margin: 0 auto 20px;
}
#firstview .title{
    width: 60%;
    margin: 0 auto 10px;
}
#firstview .orange{
    width: fit-content;
    margin: 0 auto;
    padding: 15px;
    color: #fff;
    background-color: #DD8305;
    font-family: "Noto Serif JP", serif;
    line-height: 1;
    font-weight: 900;
    text-align: center;
    font-size: 25px;
}
#firstview .message{
    width: 70%;
    margin: 0 auto;
}
@media screen and (max-width:1080px){
#firstview{
    padding: 50px 20px;
}
#firstview .img1,#firstview .title,
#firstview .message{
    width: 95%;}
}
@media screen and (max-width:1077px){
#firstview{
margin-top: 75px;
padding: 50px 20px;
background-image: url(../img/fv-back-sp.webp);
}
#firstview .img1,#firstview .title,
#firstview .orange,#firstview .message{
    margin-bottom: 10px;
  }
#firstview .img1{
    width: 80%;
}
#firstview .title{
    width: 100%;
}
#firstview .message{
    width:100%;
}
}
@media screen and (max-width:768px){
  #firstview .orange {
    font-size: 18px;    
    padding: 15px;
    line-height: 1.4;
  }  
  #firstview .message{
      width: 80%;
      font-size: 14px;
  }
}
@media screen and (max-width:369px){
    #firstview {
        margin-top: 70px;
    }
    #firstview .orange {
    font-size: 16px;    
    padding: 10px;
  }  
}
/*　====================== fv ======================　*/
/*　====================== service ======================　*/
#sec1.service{
background-image: url(../img/sec1-back-pc.webp);
background-repeat: no-repeat;
background-position: center;
background-size: cover;
}
.service .service-inner{
position: relative;
width: 100%;
}
.service .service-inner>.img{
position: relative;
width: 45vw;
z-index: 2;
}
.service .service-inner.right>.img{
margin: 0 0 0 auto;
}
.service .service-inner .text-wrap{
position: absolute;
width: 65%;
background-color: #fff;
box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.25);
z-index: 1;
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
}
.service .service-inner.left .text-wrap{
padding:50px 50px 50px 20vw;
right: 5%;
}
.service .service-inner.right .text-wrap{
padding:50px 20vw 50px 50px;
left: 5%;
}
#sec1.service>div>ul.flex{
    flex-direction: column;
    row-gap: 10vh;
}
.service .service-inner>.text-wrap>h3{
    font-size: 45px;
    line-height: 1;
    color: #fff;
    background-color: #DD8305;
    padding:7px 15px;
    margin-bottom: 10px;
    font-family: "Noto Serif JP", serif;
    font-weight: 900;
    width: fit-content;
}
.service .service-inner>.text-wrap p{
    line-height: 1.7;
}
.service .service-inner>.text-wrap p span{
    font-weight: 900;
    background:linear-gradient(transparent 60%, #f1deb4 60%);
}
@media screen and (max-width:900px){
.service .service-inner {
    flex-direction: column;
}
.service .service-inner.left .text-wrap {
    padding: 15px;
    right: 0;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
}
.service .service-inner.right .text-wrap {
    padding: 20px;
    left: 0;
    transform: translateY(0);
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
}
.service .service-inner>.text-wrap>h3{
    font-size: 35px;
}
#sec1.service>div>ul.flex {
row-gap: 30vh;
}
.service .service-inner .text-wrap {
    position: relative;
    width: 90%;
}
.service .service-inner.right>.img {
    margin: 0 auto;
}
#sec1.service>div>ul.flex {
    row-gap: 10vh;
}
.service .service-inner .img {
    width: 70%;
}
}
@media screen and (max-width:768px){
#sec1.service{
background-image: url(../img/sec1-back-sp.webp);
}
.service #sec1 {
    padding: 100px 0;
}
.service .service-inner>.text-wrap>h3 {
        font-size: 25px;
    }
}
/*　====================== service ======================　*/
/*　====================== 3point ======================　*/
#sec2{
background-image: url(../img/sec2-back-pc.webp);
background-repeat: no-repeat;
background-position: center top;
background-size: cover; 
}
#sec2 .h2-title{
color:#fff;
text-shadow: 3px 3px 3px rgba(0, 0, 0, 0.25);
}
#sec2 ul{
  flex-wrap: wrap;
  align-items: stretch;
}
#sec2 ul li{
width: 30%;
background-color: #fff;
padding:30px 20px;
box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.25);
}
#sec2 ul li h3{
  font-size: 25px;
  color: #38502F;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  line-height: 1.3em;
  margin-bottom: 15px;
  position: relative;
  z-index: 2;
}
#sec2 ul li h3::before{
  position: absolute;
  content: '1';
  font-family: "Inter", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  font-size: 200px;
  color: #38502f1a;
  left: 0;
  top:0;
  z-index: 1;
}
#sec2 ul li:nth-child(2) h3::before{
  content: '2';
}
#sec2 ul li:nth-child(3) h3::before{
  content: '3';
}
#sec2 ul li h3 span{
  font-weight: 900;
  color: #DD8305;
}
#sec2 ul li .img{
  width: 70%;
  margin: 0 auto 15px;
}
@media screen and (max-width:1080px){
#sec2 ul li h3 {
  font-size: 20px;
}
}
@media screen and (max-width:768px){
#sec2{
background-image: url(../img/sec2-back-sp.webp);
}
#sec2 ul{
  row-gap: 30px;
}
#sec2 ul li{
width: 100%;
background-color: #fff;
padding:15px;
}
}
/*　====================== section3 ======================　*/
/*　====================== company ======================　*/
#sec3.company table{
width: 80%;
margin: 0 auto;
}
#sec3.company table tbody{
display: flex;
flex-direction: column;
}
#sec3.company table tbody tr{
padding: 30px 0;
border-bottom: 1px solid #B4CCAA;
}
#sec3.company table tbody tr:last-child{
border-bottom:0;
padding:30px 0 0;
}
#sec3.company table tbody th{
display: block;
width: 30%;
color:#38502F;
}
#sec3.company table tbody td{
display: block;
width: 70%;
}
@media screen and (max-width:768px){
#sec3.company table{
width: 100%;
}
#sec3.company table tbody tr.flex{
flex-direction: column;
padding: 15px 0;
}
#sec3.company table tbody tr:last-child{
padding:15px 0 0;
}
#sec3.company table tbody th,
#sec3.company table tbody td{
width: 100%;
text-align: left;
}
}
/*　====================== company ======================　*/
/*　====================== contact ======================　*/
#sec4.contact{
background-image: url(../img/sec1-back-pc.webp); 
background-repeat: no-repeat;
background-position: center bottom;
background-size: cover; 
}
#sec4.contact .content-wrap{
background-color: #fff;
padding: 50px;
}
#sec4 .saiyou-banner{
  margin-bottom: 50px;
}
#sec4 form table{
width: 100%;
}
#sec4 form tr{
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin-bottom: 30px;
}
#sec4 form tr th{
font-weight: 700;
width: -webkit-fit-content;
width: -moz-fit-content;
width: fit-content;
height: -webkit-fit-content;
height: -moz-fit-content;
height: fit-content;
margin-top: 10px;
font-size: 20px;
position: relative;
}
#sec4 form tr th.hissu::after{
content: '※必須';
color:#38502F;
position: absolute;
top:50%;
-webkit-transform: translateY(-50%);
-ms-transform: translateY(-50%);
transform: translateY(-50%);
right: -40px;
letter-spacing: 0.1em;
font-size: 12px;
}
#sec4 form td{
width: 68%;
}
#sec4 form td input,#sec4 form td textarea{
width: 100%;
border: none;
font-size: 18px;
line-height: 1.3;
letter-spacing: 0.08em;
padding: 15px;
border-radius: 5px;
-webkit-appearance: none;
font-family: "Noto Sans JP", sans-serif;
background-color: #eeeeee;
}
#sec4 form td textarea{
height: 150px;
}
#sec4 form .privacy h3{
text-align: center;
font-size: 20px;
margin-bottom: 15px;
font-weight: 900;
}
#sec4 form .privacy .flex.accept{
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
}
#sec4 .privacy-policy{
background-color:#eeeeee;
border-radius: 5px;
width: 100%;
height: 200px;
padding: 30px;
overflow-y: scroll;
margin-bottom: 15px;
-webkit-box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.3);
}
#sec4 form .privacy-policy tr{
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
}
#sec4 form .privacy-policy tr th,
#sec4 form .privacy-policy tr td{
width: 100%;
text-align: left;
}
#sec4 form p.button{
margin-top: 30px;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
gap:15px;
}
input.button-design{
font-size: 20px;
padding: 10px 30px;
color:#111;
border: 1px solid #111;
background-color: #fff;
font-family: "Noto Sans JP", sans-serif;
font-weight: 700;
}
#sec4 .banner-wrap{
  margin-top: 50px;
}
@media screen and (max-width:768px){
#sec4.contact {
  background-image: url(../img/sec1-back-sp.webp);
}
#sec4.contact .content-wrap {
    padding: 20px;
}
#sec4 .saiyou-banner{
  margin-bottom: 30px;
}
#sec4 #section1 .content-wrap.flex .menu-wrap {
width: 100%;
padding: 20px;
}
#sec4 form tr {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
gap:5px;
-webkit-box-pack: justify;
-ms-flex-pack: justify;
justify-content: space-between;
margin-bottom: 30px;
}
#sec4 form tr td{
text-align: left;
width: 100%;
font-size: 15px;
}
#sec4 form tr th{
font-size: 18px;
margin-top: 0;
}
#sec4 form td input,#sec4 form td textarea {
padding: 10px;
font-size: 15px;
}
form .privacy h3 {
font-size: 20px;
text-align: left;
}
#sec4 p{
font-size: 15px;
}
#sec4 .privacy-policy {
width: 100%;
height: 200px;
padding: 20px;
}
#sec4 form p.button .submit-button{
margin-bottom: 10px;
padding: 10px;
}
}
/*　====================== section6 ======================　*/
/*　====================== footer ======================　*/
footer{
background-color: #38502F; 
}
footer .container.footer-wrap.flex{
padding: 20px 0;
}
footer p,footer a{
color: #fff;
text-align: center;
line-height: 1;
}
footer p.add{
  margin-bottom: 10px;
  font-size: 20px;
}
footer .footer-logo-wrap p{
  font-size: 14px;
  margin: 0 auto;
  width: fit-content;
}
footer .footer-logo-wrap .logo{
  width: 300px;
}
footer .footer-info-wrap.flex{
  flex-direction: column;
  align-items: start;
}
footer .tel a, footer .tel{
font-size: 35px;
font-family: "Inter", sans-serif;
}
footer .tel{
  margin-bottom: 10px;
}
footer .tel span{
font-size: 14px;
}
footer .tel::before{
content:'';
width: 25px;
height: 25px;
background-image: url(../img/tel-icon-white.webp);
display: inline-block;
background-size: contain;
margin-right: 5px;
}
footer .company,footer ul{
gap: 30px;
}
footer .footer-instagram{
  padding: 50px 0;
  background-color: #111;
}
footer .copy{
padding: 10px 0;
text-align:center;
color: #fff;
}
@media screen and (max-width:850px){  
footer .footer-logo-wrap .logo {
    width: 200px;
}
  footer .tel a,footer .tel{
font-size: 25px;
font-weight: 700;
}
}
@media screen and (max-width:768px){
footer{
background-image: url(../img/footer-back-sp.webp);
margin-bottom:70px;
}
footer .footer-logo-wrap .logo {
    width: 100%;
}
footer .container.footer-wrap.flex{
padding: 50px 0;
align-items: center;
gap:30px;
flex-direction: column;
}
footer p,footer a{
color: #fff;
text-align: left;
}
footer p.add{
  font-size: 16px;
}
footer .tel a,footer .tel{
font-size: 30px;
}
footer .container.footer-wrap.flex ul.flex{
flex-direction: column;
align-items: start;
}
footer .container.footer-wrap.flex {
padding: 30px 0;
}
}
/*　====================== footer ======================　*/
/*　====================== 下層thanks ======================　*/
.thanks #sec1{
margin-top: 75px;
padding: 150px 0;
}
.thanks #sec1 h2{
text-align: center;
font-weight: 600;
font-size: 30px;
margin-bottom: 30px;
}
.thanks #sec1 .menu-wrap{
margin-bottom: 30px;
}
.thanks #sec1 a{
display: block;
text-align: center;
width: fit-content;
margin: 0 auto;
border-bottom: 1px solid #111;
}
/*　====================== 下層Thanks ======================　*/
