@charset "UTF-8";

/* ------------------------------------------
	BASIC
--------------------------------------------- */

html { font-size: 62.5%; }

body {
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    color: #23201c;
    line-height: 1.6;
    /* background-color: #ffffff; */
}


img {
    display: block;
    margin: 0 auto;
    width: 70%;
}

a:link {
    text-decoration: none;
}

a:visited {
    text-decoration: none;
}

a:hover,
a:active,
a:focus {
    text-decoration: none;
}

a:hover img {
    opacity: 0.8;
    filter: alpha(opacity=80);
    -ms-filter: "alpha(opacity=80)";
}


p{
    font-size: 1.6rem;
    font-weight: 100;
    text-align: center;
    margin: 3% 0;
}

.top_p{
    line-height: 200%;
}

.viewmore{
    width: 10%;
    margin: 10% 0;
    margin-left: 70%;
}

.viewmore_c{
    width: 125px;
    margin: 10% auto;
}

.catchcopy{
    top: 42%;
    left: 64%;
    position: absolute;
   }

.catchcopy p{
    font-size: 3.8rem;
    text-align: left;
    color: #9e9b9b;
   
}
.catchcopy2{
    display: none;
}

@media(max-width:599px) {
    body {
        font-size: 14px;
    }
    /* br {
        display: none;
    }
 */
    img{
        width: 90%;
    }

    .viewmore {
        width: 30%;
        margin-left: 60%;
        
    }

    .catchcopy2{
        display: block;
        top: 58%;
        left: 35%;
        position: absolute;
       }
    
    .catchcopy2 p{
        width: 100%;
        font-size: 2.2rem;
        text-align: left;
        color: #9e9b9b;
       
    }
}

@media(min-width:600px) and (max-width:959px) {
    body {
        font-size: 16px;
        /* overflow: hidden; */
    }
}


/* ------------------------------------------
	header
--------------------------------------------- */
header img{
    width: 15%;
    margin: 0 auto;
    margin-top: 2%;
    margin-bottom: 2.5%;
}

.header_pcm a {
    position: fixed;
    width: 100%;
    margin: 0 auto;
    top: 0;
    background-color: #ffffff;
    z-index: 1000;
}

.header_pc{
    position: fixed;
    width: 100%;
    margin: 0 auto;
    top: 0;
    background-color: #ffffff;
    z-index: 1000;
}
.top_mv{
width: 85%;
margin: 8% 15% 0 0;
}

/*=== 丸が動いてスクロールを促す ====*/

/*スクロールダウン全体の場所*/
.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:100px;
	left:95%;
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
	position: absolute;
	left:10px;
	bottom:10px;
    /*テキストの形状*/
	color: #9e9b9b;
	font-size: 0.7rem;
	letter-spacing: 0.05em;
	/*縦書き設定*/
	-ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#9e9b9b;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:0;
	left:0;
    /*線の形状*/
	width:2px;
	height: 50px;
	background:#9e9b9b;
}



@media(max-width:599px) {
    .scrolldown2{
        display: none;
    }
    
}


/* ------------------------------------------
	nav
--------------------------------------------- */

nav {
    padding: 2% 10%;
    padding-top: 3%;
    padding-bottom: 4%;
    margin: 0 auto;
    width: 100%;
    background-color:#ffffff;
}

nav ul {
    display: flex;
    width: 100%;
    margin: 0 auto;
    /*メニュー前提の位置調整*/
}

nav ul li {
    text-align: center;
    width: 100%;
}

nav ul li a {
    display: block;
    color: #fff;
    font-size: 1.4rem;
    line-height: 20px;
    /*文字行高さ*/
    /* padding: 8px 24px 4px; */
    /*パディング高さ*/
    border-top: none;
}

/*
疑似クラスとは、セレクタに付加するキーワードで、
選択される要素に対して特定の状態を指定します。

例）:hover
選択した要素上にマウスカーソルがあるときにスタイルを適用
*/

nav ul li a:link,
nav ul li a:visited {
    color: #23201c;
    
}

nav ul li a:hover,
nav ul li a:active {
    color: #23201c;
    border-bottom: 3px solid #9e9b9b;
    text-decoration: none;
}

.fixed {
    position: fixed;
    margin: 0 auto;
    padding-top: 5%;
    top: 10%;
    left: 0;
    z-index: 1000;
  }

  .ham-whole,.header_sp{
    display: none;
  }


.frex1{
   display: none;
}
 




  

@media(max-width:599px) {

    nav ul {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin: 0 auto;
    }

    nav,.header_pcm{
        display: none;
    }

    .nav_sp,.ham-whole,.header_sp{
        display: block;
      }
    .header_sp{
        margin-top: 15%;
    }
    .ham-whole{
        display: flex;
    }

      #ham-check {
        display: none;
    }
    .ham-open {
        display: flex;
        height: 50px;
        width: 50px;
        justify-content: center;
        align-items: center;
        z-index: 1100;
        cursor: pointer;
        position: fixed;
        top: 0;
        right: 0;
        background-color:#ffffff
    }
    .ham-open span,
    .ham-open span:before,
    .ham-open span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background: #774f07;
        transition: 0.5s;
        position: absolute;
    }
    .ham-open span:before {
        bottom: 8px;
    }
    .ham-open span:after {
        top: 8px;
    }
    #ham-check:checked ~ .ham-open span {
        background: rgba(255, 255, 255, 0);
    }
    #ham-check:checked ~ .ham-open span::before {
        bottom: 0;
        transform: rotate(45deg);
    }
    #ham-check:checked ~ .ham-open span::after {
        top: 0;
        transform: rotate(-45deg);
    }
    .ham-whole nav {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        right: -100%;
        z-index: 99;
        background: #f1f3f2f6;
        transition: .5s;
        padding: 80px 0;
        box-sizing: border-box;
        text-align: center;
    }
    .ham-whole nav ul li a {
        margin: 0 0 20px 0;
        display: block;
        border-bottom: 0.3px solid #d6d6d6f6;
        padding: 0 0 10px 0;
    }
    #ham-check:checked ~ nav {
        right: 0;
    }

    .frex1{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        background-color: #ffffff;
            position: fixed;
            margin: 0 auto;
            top: 0;
            z-index: 1000;
    }

    .box1{
        width: 60%;
    }

    .box1 img{
        display: inline-block;
        width: 50%;
        padding: 8% 2% 2% 5%;
        margin: 0;
       text-align: left;
    }

    

    .box2{
        width: 40%;
        padding: 3% 2%;
    }

    
   
}


/* nav ul {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 90%;
    margin: 0 auto;
  
}
nav ul li a {
    display: block;
    color: #fff;
    font-size: 18px;
    line-height: 20px;
    padding: 8px;
    margin-bottom: 20PX;
    border-top: none;
}
 */

/* ------------------------------------------
	main
--------------------------------------------- */

h1 {
    color: #f1f3f2f6;
    font-size: 20rem;
    text-align: right;
    line-height: 95%;
    width: 40%;
    margin-top: 10%;
    padding: 3%;
}

h2 {
    display: flex;
    flex-direction: row;
    padding: 10%;
    color: #23201c;
    text-align: left;
    font-size: 2.6rem;
}

h2 img{
    width: 3%;
    margin: 0 2%;
}


.instagram-gallery {
    max-width: 73%;
    margin: auto;
  }

.instagram-gallery img{
    width: 100%;
  }

  .instagram-gallery__list {
    display: flex;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
  }
  .instagram-gallery__item {
    min-width: 33.333%;
    width: 33.333%;
    padding: 15px;
  }



/*-------------Q&A*/


/*ベース*/
.accordion{
    width: 70%;
    margin: 0 auto;
}

.accordion span{
    font-size: 2rem;
    color: #9e9b9b;
    padding: 0 5%;
    margin-right: 15%;
}

.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 2%;
	display: block;
    font-size: 1.4rem;
	color: #23201c;
	border-bottom:0.3px solid #9e9b9b;
}
.Label::before{		/*タイトル横の矢印*/
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #9e9b9b;
	border-right: 2px solid #9e9b9b;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
.Label,
.content {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content {		/*本文*/
	height: 0;
	margin-bottom:10px;
	padding:0 20px;
	overflow: hidden;
}

.toggle:checked + .Label + .content {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}





/*-------------Q&Aここまで*/



.border{
/*  border-top: 0.3px solid #9e9b9b;
 border-bottom:0.3px solid #9e9b9b;  */
 background-color: #f1f3f2f6;
}


.contact{
    display: block;
    text-align: center;
    padding: 4%;
}





article {
    background-color: #ffffff;
}

section {
    padding: 6%;
}

.mail{
    width: 8%;
    margin: 0;
    margin-right: 10%;
}

.button-054 {
    font-size: 1.6rem;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 30%;
    margin: 8% auto;
    padding: 2% 3% 2% 0;
    border: 1px solid #774f07;
    background-color: #774f07;
    color: #ffffff;

}

.button-054 a{
    color: #ffffff;
}

.button-054::after {
    position: absolute;
    right: 2.5em;
    transform: translateY(-50%);
    transform-origin: left;
    width: 2em;
    height: .5em;
    background-color: #ffffff;
    clip-path: polygon(0 100%, 100% 100%, 70% 40%, 70% 90%, 0% 90%);
    content: '';
    transition: transform .3s;
}

.button-054:hover::after {
    transform: translateY(-50%) scaleX(1.4);
}

.dai{
font-size: 3.5rem;
margin-top: 6%;
padding: 0;
text-align: center;
}

.dai span{
    padding-right: 2%;
    }

.time{
    text-align: center;
    font-size: 1.4rem;
    padding-top: 2%;
    
}





@media(max-width:599px) {

 h1{
    font-size : 4rem;
    margin-top: 30%;
}

h2 {
    padding: 10% 3%;
    font-size: 2.2rem;
}

h2 img{
    width: 5%;
    margin: 0 2%;
}

section {
    padding: 0%;
    margin-bottom: 10%;
}

.border {
    margin-bottom: 15%;
}

p {
    width: 90%;
    margin: 3% auto;
    text-align: left;
}


.accordion{
    width: 90%;
    margin: 0 auto;
}

.accordion span{
    font-size: 1.8rem;
    padding: 0 2% 0 0;
    margin-right: 0;
}

.Label::before{
    right: 10px;
}

.Label{
    display: flex;
    padding: 2% 6% 2% 2%;
}

.contact {
    margin-top: 10%;
    padding-top: 15%;
}


.button-054 {
    width: 90%;
    margin: 8% auto;
    padding: 6% 10% 6% 0;
    font-size: 1.6rem;
}

.dai {
    font-size: 2.5rem;
}

.time {
    padding-top: 0;
    padding-bottom: 15%;
}

.button-054::after {
    right: 1.8em;
    
}

.mail {
    margin-right: 5%;
}

.instagram-gallery {
    max-width: 100%;
    margin: auto;
    padding-right: 15px;
  }



.instagram-gallery__item {
    min-width: 33.333%;
    width: 33.333%;
    padding: 15px 0 0 15px;
  }


   
}


/* ------------------------------------------
	price
--------------------------------------------- */
.priceh3{
    font-size: 2.1rem;
    line-height: 1;
    text-align: center;
    border-bottom: solid 1px #cec591;
    margin: 0 15%;
    margin-bottom: 5%;
    padding-bottom: 5%;
}

.priceh3 span{
    font-size: x-small;
    color: #cec591;
}



/* #home article {
    margin-top: 20%;
}

#home h1 {
    color: #555555;
    border-bottom: solid 5px #312f2a;
    font-size: 3.2rem;
    text-align: right;
    line-height: 70%;
    width: 20%;
    margin-top: 15%;
    padding: 1%;
} */


@media(max-width:599px) {
   
    #home article {
        margin-top: 50%;
    }
    #home h1 {
        border-bottom: solid 3px #312f2a;
        font-size: 22px;
        width: 30%;
        margin-top: 5%;
        padding: 2%;
    }

    .priceh3{
        margin: 0 8%;
    }
   
}


/* ------------------------------------------
	works
--------------------------------------------- */
.works_sp{
    display: none;
}

.works{
    width: 80%;
    color: #23201c;
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    margin: 0 auto;
    margin-bottom: 18%;
    padding: 0;
}

.works h3{
    font-size: 2.1rem;
    line-height: 1;
    text-align: center;
    border-bottom: solid 1px #cec591;
    margin: 0 15%;
    margin-bottom: 5%;
    padding-bottom: 5%; 
      
}

.works h3 span{
    font-size: x-small;
    color: #cec591;
}

.works h4{
    font-size: 1.8rem;
    margin-top: 5%;
    color: #45443b;
}

.works p{
    text-align: left;
}

.price_p{
    font-size: 1.2rem;
}

.worksbox1{
    width: 50%;
    padding: 3% 3% 0 18%;
}

.worksbox2{
    width: 50%;
    padding: 3% 18% 0 3%;
}


.wkimg1{
    width: 50%;
    padding-right: 3%;
}

.wkimg2{
    width: 50%;
    padding-left: 5%;
}










@media(max-width:599px) {

    .workstext{
        margin-bottom: 15%;
    }

    .works{
        display: none;
    }

    .works_sp{
        display: block;
        width: 100%;
    }

    .works_sp h3{
        font-size: 2.1rem;
        line-height: 1;
        text-align: center;
        border-bottom: solid 1px #cec591;
        margin: 5% 15%;
        padding-bottom: 5%; 
          
    }
    
    .works_sp h3 span{
        font-size: x-small;
        color: #cec591;
    }

    .works_sp h4{
        font-size: 1.8rem;
        width: 90%;
        margin: 0 auto;
        margin-top: 5%;
    }


    .worksbox1{
        width: 100%;
        padding: 0;
    }
    
    .worksbox2{
        width: 100%;
        padding: 0;
    }
    
    
    .wkimg3{
        width: 90%;
        margin: 0 auto;
        padding-right: 0;
    }
    
    
    
}


/* ------------------------------------------
	company
--------------------------------------------- */


.table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 70%;
    margin: 5% auto;
    font-size: 1.4rem;
}

.table tr {
    border-bottom: 1px solid #ACACAC;
}
.table tr th,
.table tr td {
    padding: 5%;
    text-align: left;
    vertical-align: top;
}
.table tr th {
    width: 30%;
    padding-left: 10%;
    font-weight: bold;
}

.table tr td {
    width: 60%;
}

@media screen and (max-width: 767px){
.table tr th,
.table tr td {
    display: block;
    width: 100%;
    padding: 0;
    margin: 20px 0;
}
}




@media(max-width:599px) {
    .table {
        width: 90%;
    }
    
}


/* ------------------------------------------
	rentalservice
--------------------------------------------- */




@media(max-width:599px) {
   
   
}


/* ------------------------------------------
	gallery
--------------------------------------------- */
.box-parent {
    width:80%;
    margin: 0 auto;
    height:auto;
    display:flex;
    flex-direction:row; /* 記載しなくてもデフォルトで指定されている */
    flex-wrap:wrap; /* 折り返し */
    justify-content:space-between; /* 子要素を均等に配置・両端揃え */
  }
  .box-child {
    width:30%;
  }

  .box-child img{
    width:100%;
  }
  .box-child:nth-of-type(n+4) {
    margin-top:10%;
  }

  

@media(max-width:599px) {
  .box-parent {
    width:100%;
    padding-right: 5%;
   }

   .box-child {
    width:50%;
    padding: 0 0 5% 5%;
   }

  .box-child:nth-of-type(n+4) {
    margin-top:0;
   }

   
}

/* ------------------------------------------
	plant
--------------------------------------------- */
.plant{
    width: 100%;
    margin-top: 16%;
    padding: 3% 0;
    background-image: url("../img/plant1.png");
    background-repeat: no-repeat;
    background-position: 90%;
    background-size: contain;
  }

  .plant h1{
    padding: 0 0 8% 5%;
  }

  @media(max-width:599px) {

    .plant{
        margin-top: 20%;
        margin-bottom: 10%;
      
    }
    
  }





/* ------------------------------------------
	privacypolicy
--------------------------------------------- */



@media(max-width:599px) {
    
}





/* ------------------------------------------
	clearfix
--------------------------------------------- */

main::after,
header::after,
nav::after,
footer::after,
.submit_area::after,
#navarea::after {
    content: " ";
    display: block;
    clear: both;
}


/* ------------------------------------------
	footer
--------------------------------------------- */
footer{
    padding: 5% 0;
    
}

footer nav {
    padding: 2% 0;
    margin: 0 auto;
    margin-left: 80%;
    width: 12%;
    background-color: #ffffff;
}

.privacypolicy{
    font-size: 1.4rem;
    text-align: center;
    color: #23201c;
}

.privacypolicy :link,
.privacypolicy :visited {
    color: #23201c;
    
}

.privacypolicy :hover,
.privacypolicy :active {
    color: #23201c;
    border-bottom: 3px solid #9e9b9b;
    text-decoration: none;
}

.instagram{
    width: 30px;
    margin: 10% auto;
}

footer img{
    width: 15%;
    margin: 0 auto;
    margin-top: 2%;
    margin-bottom: 2%;
}

address{
    text-align: center;
}

@media(max-width:599px) {

    footer{
        padding: 0;
        padding-bottom: 5%;
    }
    footer img {
        width: 40%;
        margin: 0 auto;
        margin-top: 0;
        margin-bottom: 8%;
    }

    .instagram {
        width: 25px;
        margin: 20% auto;
    }

    address{
        font-size: 1rem;
    }
   
}


/* ------------------------------------------
	flex
--------------------------------------------- */
/* 
.frex1{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.box1{
    width: 50%;
}

.box2{
    width: 50%;
} */

@media(max-width:599px) {
    
   
}


/* ------------------------------------------
	botan
--------------------------------------------- */


/***追従するトップへ戻るボタン***/

#page-top {
    position: fixed;
    right: 30px;
    bottom: 20px;
    height: 50px;
    text-decoration: none;
    font-weight: bold;
    transform: rotate(90deg);
    font-size: 90%;
    line-height: 1.5rem;
    color: #af6d20;
    padding: 0 0 0 35px;
    border-top: solid 1px;
}

#page-top::before {
    content: "";
    display: block;
    position: absolute;
    top: -1px;
    left: 0px;
    width: 15px;
    border-top: solid 1px;
    transform: rotate(35deg);
    transform-origin: left top;
}


/***トップへ戻るボタンここまで***/




@media(max-width:599px) {
   
}