@charset "UTF-8";
#sp-nav{
  display:none;
}



/*====================================================================
  header
=====================================================================*/
header{
  width: 100%;
  max-width: 2000px;
  height:100vh;
  position:fixed;
  top:0;
  right:0;
  left:0;
  margin:auto;
  pointer-events: none;
  z-index:99999;
}

.index-logo{
  position:fixed;
  top:0;
  left:0;
  z-index:99;
  width:100%;
  background-color: #ffb6c1;
  padding:18px 20px 13px 15px;
  pointer-events:none;
  display:none;
}

.index-logo img{
  width:195px;
  pointer-events:auto;
}

.sp-tel{
  position:fixed;
  top:40px;
  left:53px;
  z-index:99;
  width:100%;
  padding:0;
  display:none;
  width:auto;
  line-height:16px;
  color:#9c1009;
  pointer-events:auto;
}

.sp-tel i{
  margin-right:5px;
  color:#9c1009;
  font-size:14px;
  margin-left:2px;
}

@media screen and (max-width: 1023px){
  .index-logo{
    display:inline-block;
  }

  .sp-tel{
   display:inline-block;
  }
}

/*
@media print{
  header{
     position:inherit;
  }
}*/


/*====================================================================
  sidenav(PC)
=====================================================================*/
#sidenav{
  position:absolute;
  top:0;
  left:0;
  width:300px;/* sidenav:width */
  height:100%;
  background-color: #ffb6c1;
  margin:0;
  pointer-events: auto;
  text-align: center;
}

#sidenav::after{
  content:'';
  display:block;
  position:absolute;
  right:0;
  top:0;
  width:50vw;
  height:100vh;
  background-color: #ffb6c1;
  z-index:-1;
}

.sidenav-wrap{
  background-color:#fff;
  width:90%;
  border-radius:10px;
  margin-top:20px;
  text-align: center;
}

.LINE-txt{
  color:#06C755;
  letter-spacing: 0.05em;
  font-size:13.5px;
  font-weight:bold;
  text-align: center;
  margin-bottom:5px;
}

.LINE-txt span{
  color:#ff69b4;
  letter-spacing: 0.05em;
  font-size:13.5px;
  font-weight:bold;
}

.LINE{
  background-color:#06C755;
  width:90%;
  border-radius:5px;
  text-align: center;
  display:inline-block;
  padding:10px 5px;
  margin: 0 auto 20px auto;
}

.LINE img{
  width:60%;
}

@media screen and (max-width: 1439px){
  #sidenav{
    width:220px;/* sidenav:width */
  }

  .LINE-txt,
  .LINE-txt span{
    letter-spacing: 0;
    font-size:11px;
  }
}

@media screen and (max-width: 1023px){
  header{
    width: 100%;
    height:0;
    position:inherit;
  }

  #sidenav{
    position:absolute;
    top:780px;
    left:0;
    width:100%;
    height:auto;
    padding:15px 0;
    display:none;
  }

  #top #sidenav{
    display:none;
  }

  #sidenav::after{
    display:none;
  }

  .sidenav-wrap{
    background-color:inherit;
    width:90%;
    max-width:650px;
    border-radius:0;
    position:static;
    padding-bottom:10px;
  }
}

@media screen and (max-width: 743px){
  #sidenav{
    position:absolute;
    top:505px;
  }

  .sidenav-wrap{
    width:95%;
    padding-bottom:10px;
    max-width:500px;
  }

  #info .LINE-txt{
    margin-top:10px;
  }

  #info .LINE-txt,
  #info .LINE-txt span{
    letter-spacing: 0;
    font-size:13px;
  }

  .LINE{
    margin-bottom:10px;
  }

  .LINE img{
    width:55%;
  }
}


/* ロゴ */
.sidenav-wrap .logo{
  width:55%;
  display:inline-block;
  margin-top:20px;
  margin-bottom:15px;
}

.sidenav-wrap .logo img{
  width:100%;
}

@media screen and (max-width: 1439px){
  .sidenav-wrap .logo{
    width:55%;
    margin-top:15px;
    margin-bottom:10px;
  }
}

/* メニュー */
.sidenav-wrap ul{
  width:100%;
}

.sidenav-wrap ul li{
  padding:10px 20px;
  border-top:dotted 2px #cccccc;
}

.sidenav-wrap ul li:last-of-type{
  border-bottom:dotted 2px #cccccc;
}

.sidenav-wrap ul li a{
  font-weight:700;
  transition:0.2s;
  display:block;
}

.sidenav-wrap ul li.current a,
.sidenav-wrap ul li a:hover{
  color:#ff69b4;
  transition:0.2s;
}

.sidenav-wrap ul li a span{
  width:10px;
  height:10px;
  display:inline-block;
  vertical-align: middle;
  border-radius:50px;
  background-color:lightgray;
  margin-right:10px;
  transform:scale(0);
  transition:0.2s;
  position:relative;
  top:-2px;
}

.sidenav-wrap ul li.current a span,
.sidenav-wrap ul li a:hover span{
  background-color:#fcca16;
  transform:scale(1);
  transition:0.2s;
}

@media screen and (max-width: 1439px){
  .sidenav-wrap ul li{
    padding:5px 15px;
  }

  .sidenav-wrap ul li a{
    font-size:14.5px;
  }

  .sidenav-wrap ul li a span{
    width:8px;
    height:8px;
    top:-2px;
  }
}

/* パネルリンク */
.icon-menu{
  width:85%;
  display:flex;
  flex-wrap:wrap;
  margin:15px auto;
}

.icon-menu a{
  width:calc((100% - 10px)/2);
  border:solid 2px lightgray;
  border-radius:5px;
  margin:0;
  margin-right:10px;
  text-align: center;
  padding:13px 0 10px 0;
  transition:0.2s;
}

.icon-menu a:hover{
  border:solid 2px gray;
  transition:0.2s;
}

.icon-menu a:last-of-type{
  margin-right:0;
}

.icon-menu a i{
  font-size:30px;
}

.icon-menu a.contact i{
  color:#f29ea2;
}

.icon-menu a.estimate i{
  color:#fcca16;
}

.icon-menu a span{
  display:block;
  font-weight:600;
  text-align: center;
  font-size:12px;
  margin-top:5px;
}

@media screen and (max-width: 1439px){
  .icon-menu{
    width:95%;
    margin:10px auto;
  }

  .icon-menu a{
    width:calc((100% - 5px)/2);
    margin-right:5px;
    padding:10px 0 5px 0;
  }

  .icon-menu a i{
    font-size:24px;
  }

  .icon-menu a span{
    font-size:10px;
    margin-top:3px;
  }
}

/* お問い合わせ */
.sidenav-wrap .contact{
  text-align: center;
}

.sidenav-wrap .contact p{
  text-align: center;
  margin-bottom:10px;
  font-weight:600;
  font-size:14px;
  letter-spacing: 0;
}

.sidenav-wrap .contact a.tel{
  color:#ff69b4;
  font-size:28px;
  font-family: 'Oswald', sans-serif;
  position:relative;
  margin-left:-5px;
  display:inline-block;
  width:auto;
}

.sidenav-wrap .contact a.tel i{
  color:#ff69b4;
  font-size:25px;
  margin-right:10px;
  position:relative;
  top:-2px;
}

.sidenav-wrap .contact a.tel::after,
.sidenav-wrap .contact a.tel::before{
  display:block;
  width:auto;
  position:absolute;
  bottom:-1.7em;
  font-size:11px;
  font-weight:900;
}

.sidenav-wrap .contact a.tel::after{
  content:'こころ';
  right:70px;
}

.sidenav-wrap .contact a.tel::before{
  content:'さっぱり';
  right:1px;
}

.sidenav-wrap .contact small{
  font-size:12px;
  display:block;
  text-align: center;
  color:#808080;
  margin-top:20px;
  letter-spacing: 0;
  padding-bottom:15px;
}

@media screen and (max-width: 1439px){
  .sidenav-wrap .contact p{
    margin-bottom:0px;
    font-size:11px;
  }

  .sidenav-wrap .contact a.tel{
    font-size:20px;
    margin-left:-5px;
  }

  .sidenav-wrap .contact a.tel i{
    font-size:20px;
    margin-right:5px;
    top:-2px;
  }

  .sidenav-wrap .contact a.tel::after,
  .sidenav-wrap .contact a.tel::before{
    bottom:-2em;
    font-size:9px;
  }

  .sidenav-wrap .contact a.tel::after{
    content:'こころ';
    right:48px;
  }

  .sidenav-wrap .contact a.tel::before{
    content:'さっぱり';
    right:-2px;
  }

  .sidenav-wrap .contact small{
    font-size:9.5px;
    margin-top:10px;
    margin-bottom:0;
    padding-bottom:10px;
  }

}

@media screen and (max-width: 1023px){
  #sidenav{
    display:none;
  }
}


/*====================================================================
  menu(SP)
=====================================================================*/
#sp-nav {
  width:100%;
  height:100vh;
  z-index:99;
  display:none;
  position:fixed;
  top:0;
  right:0;
  pointer-events: none;
}

@media screen and (max-width:1023px) {
 #sp-nav {
   display:block;
 }
}

/* ラジオボタン非表示 */
#sp-nav input {
  display: none;
}


/*マスク 　＝＝＝＝===============*/
#sp-nav .sp-mask{
  background-color:rgba(0, 0, 0, 0.3);
  width:100%;
  height:100%;
  display:block;
  position:absolute;
  top:0;
  right:0;
  pointer-events: none;
  transition:0.4s ease;
  opacity:0;
}

#sp-nav .nav-switch:checked ~ .sp-mask{
  transition:0.4s ease;
  opacity:1;
  pointer-events: auto;
}

/*表示枠 　＝＝＝＝==============*/
#sp-nav .sp-menu-wrap{
  width:40vw;
  height:100%;
  position:absolute;
  top:0;
  right:-40vw;/* 検証用 */
  pointer-events: none;/* 検証用 */
  overflow: hidden;
  transition:0.4s ease;
}

#sp-nav .nav-switch:checked ~ .sp-menu-wrap{
  right:0vw;
  transition:0.4s ease;
}


@media screen and (max-width: 743px) {
  #sp-nav .sp-menu-wrap{
    width:70vw;
    right:-70vw;/* 検証用 */
    pointer-events: none;/* 検証用 */
  }

  #sp-nav .nav-switch:checked ~ .sp-menu-wrap{
    right:0vw;
    transition:0.4s ease;
  }

  body.fixed{
    padding-left:0;
  }
}


/*トグル 　＝＝＝＝==============*/
#sp-nav .sp-menu-wrap .toggle {
  content: "";
  display:block;
  position: fixed;
  top: 15px;
  right:15px;
  pointer-events: auto;
  cursor: pointer;
  z-index:30;
  width: 50px;
  height:50px;
}

#sp-nav .sp-menu-wrap .toggle span{
  background: #191919;
  width: 33px;
  height: 4px;
  position: absolute;
  top: 13px;
  right: 0;
  left:0;
  margin:auto;
  transform: translateY(11px);
  display:block;
  transition:0.4s;
  border-radius: 20px;
  transition:0.4s ease;
}

#sp-nav .sp-menu-wrap .toggle span:before,
#sp-nav .sp-menu-wrap .toggle span:after {
  position: absolute;
  background: #191919;
  width: 33px;
  height: 4px;
  content: "";
  transition:0.4s ease;
  border-radius: 20px;
}

#sp-nav .sp-menu-wrap .toggle span:before {
  top: -11px;
}

#sp-nav .sp-menu-wrap .toggle span:after {
  top: 11px;
}

#sp-nav .nav-switch:checked ~ .sp-menu-wrap .toggle span {
  background: transparent;
  transition:0.4s ease;
}

#sp-nav .nav-switch:checked ~ .sp-menu-wrap .toggle span:before,
#sp-nav .nav-switch:checked ~ .sp-menu-wrap .toggle span:after {
  transition: 0.4s ease;
  top: 0;
}

#sp-nav .nav-switch:checked ~ .sp-menu-wrap .toggle span:before {
  transform: rotate(45deg);
}

#sp-nav .nav-switch:checked ~ .sp-menu-wrap .toggle span:after {
  transform: rotate(-45deg);
}

@media screen and (max-width: 743px) {
  #sp-nav .sp-menu-wrap .toggle {
    width: 45px;
    height:45px;
  }

  #sp-nav .sp-menu-wrap .toggle span{

    top: 10px;
  }

}

/*コンテンツ 　＝＝==============*/
#sp-nav .sp-contents-wrap{
  position:relative;
  transition:0.4s ease;
  width:100%;
  height:100%;
  background-color: #f29ea2;
  z-index:20;
  pointer-events:none;
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
}

#sp-nav .nav-switch:checked ~ .sp-menu-wrap .sp-contents{
  transition:0.4s ease;
  transition-delay: 0.4s;
  pointer-events: auto;
}


#sp-nav .sp-contents-wrap .sp-contents{
  width:85%;
  max-width:380px;
  border-radius:18px;
  text-align: center;
  background-color:#fff;
  margin-top:80px;
  position:relative;
}

@media screen and (max-width: 743px){
  #sp-nav .sp-contents-wrap .sp-contents{
    margin-top:60px;
    width:85%;
    margin-left:7.5%;
    border-radius:15px;
  }
}


/*====================================================================
  お問い合わせリンク
=====================================================================*/

#info{
  display:none;
}


@media screen and (max-width: 743px){
  #info{
    display:inline-block;
  }
}


#info{
  position:fixed;
  top:0;
  right:0;
  z-index:9999999999;
  pointer-events: none;
  width:100%;
  height:100%;
}

#info .info-toggle{
  position:fixed;
  bottom:20px;
  right:20px;
  display:inline-block;
  width:46px;
  height:46px;
  border-radius:100px;
  background-color:#ffb6c1;
  text-align: center;
  border:solid 3px #fff;
  pointer-events: auto;
  cursor:pointer;
}

#info .info-toggle img{
  width:70%;
  height:auto;
  margin-top:5.5px;
}



/* NEWSモーダル
======================*/

/* モーダル枠 */
#info .info-mask{
  background-color:rgba(0, 0, 0, 0.4);
  width:100vw!important;
  height:100vh!important;
  position:fixed!important;
  top:0px;
  left:0;
  z-index:100;
  pointer-events: none;
  opacity:0;/*非表示*/
  transition:0.4s;
}

#info .info-mask.view{
  opacity:1;
  pointer-events: auto;
  transition:0.4s;
}

#info .info-wrap {
  background-color:#fff;
  width:75%;
  max-width:1000px;
  height:310px;
  position:absolute!important;
  top:0;
  right:0;
  left:0;
  bottom:0;
  margin: auto;
  opacity:0;/*非表示*/
  border-radius:10px;
  transition:0.4s;
  pointer-events: none;
  text-align: center;
  padding: 30px 15px;
}

#info .info-wrap.active{
  opacity:1;
  transition:0.4s;
  pointer-events: auto;
}

#info .info-wrap .sidenav-wrap{
  margin:0;
  width:100%;
}

#info .info-wrap .sidenav-wrap .icon-menu{
  margin:0;
  width:100%;
}

#info .LINE{
  width:100%;
  border-radius:5px;
  padding:10px 5px;
  max-width:300px;
}

#info .LINE img{
  width:40%;
}

#info .info-wrap .close-btn{
  position:absolute;
  top:-10px;
  right:-10px;
  font-size:37px;
  background-color:#fff;
  border-radius:50px;
}

#info .sidenav-wrap .contact p{
  margin-bottom:10px;
  font-size:13px;
}

#info .sidenav-wrap .contact a.tel{
  font-size:26px;
  margin-left:-5px;
}

#info .sidenav-wrap .contact a.tel i{
  font-size:24px;
  margin-right:5px;
  top:-2px;
}

#info .sidenav-wrap .contact a.tel::after,
#info .sidenav-wrap .contact a.tel::before{
  bottom:-2em;
  font-size:9px;
}

#info .sidenav-wrap .contact a.tel::after{
  content:'こころ';
  right:65px;
}

#info .sidenav-wrap .contact a.tel::before{
  content:'さっぱり';
  right:3px;
}

#info .sidenav-wrap .contact small{
  font-size:10px;
  margin-top:15px;
  margin-bottom:0;
  padding-bottom:10px;
}




















/**/
