@charset "utf-8";
/* レイアウトのためのCSS */
body{
    background: #FFA3A3;
    font-family: 'Kosugi Maru', sans-serif;
	color: #333;
	font-size:1rem;
	line-height:1.85;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: 100%; 
	word-wrap: break-word;
    letter-spacing: 0.05em;
}
body a{
	text-decoration: none;
	border:none;
	color: darkslategrey;
}
body a:hover{
	color: #7B470E;
}
body.appear{
    background:#fff;
}


ul{
	margin:0;
	padding: 0;
	list-style: none;
}



img{
    width:100%;
    height: auto;

    /* SPの長押し禁止 */
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -moz-touch-callout:none;
    -moz-user-select:none;
    user-select:none;
}


/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display:block; }
.tb { display:none; } 
.sp { display:none; }

@media screen and (max-width: 960px){   
  .pc { display:block; }
  .tb { display:block; } 
  .sp { display:none; }
}

@media screen and (max-width: 580px){   
  .pc { display:none; }
  .tb { display:block; } 
  .sp { display:block; }
}
/*画面遷移の後現れるコンテンツ設定*/
#container{
    position: relative;
	opacity: 0;/*はじめは透過0に*/
	margin: 0 auto;
	width: 100%;
}

/* header */
#header h1 img,
#header h1 canvas{
    width:300px;
	top:30px;
	left:30px;
    position: absolute;
	z-index: 2;
}
@media screen and (max-width: 580px){   
#header h1 img,
#header h1 canvas{
    width:250px;
	top:-45px;
	left:20px;
    position: absolute;
	z-index: 2;
}
}


/* gnavi */
.home_btn{
	position: absolute;
	top:-50px;
	left:10px;
	width: 70px;
}

#g-nav ul {
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
}

#g-nav.panelactive ul li{
    position: relative;
    width:45%;
    text-align: left;
    white-space: nowrap;
	border-bottom: 1px solid rgba(255,255,255,0.7);
	color: #fff;
	font-size: 1.1rem;
}

@media screen and (max-width:960px) {
#g-nav.panelactive ul li{
    width:45%;
	font-size: 0.9rem;
}

.home_btn{
	position: absolute;
	top:-40px;
	left:50px;
	width: 70px;
}
}


@media screen and (max-width:580px) {
#g-nav.panelactive ul li{
    width:100%;
	font-size: 1.0rem;
    }
.home_btn{
	position: absolute;
	top:-40px;
	left:0px;
	width: 70px;
}
}

#g-nav li a{
    padding: 10px 20px;
	color: #fff;
}
#g-nav li a:hover{
	color: #D32F5B;
}
#g-nav.panelactive ul li::before{
    content: url("../img/nav_icon.png");
    width:10px;
    height: 10px;
    position: absolute;
    left:-10px;
    top:33%;
}

.footer_top{
	width: 100%;
	margin: 0 0 -10px 0;
}
.footer{;
	width: 100%;
	background-color: #FFA3A3;
	padding: 100px 0 10px;
	margin: 0 0 0;
	position: relative;
}

.footer_logo{
	margin: -10vw auto 0;
	width: 30%;
	text-align: center;
	line-height: 1.4em;
	color: #fff;
	max-width: 350px;
}
.footer_tel a{
	font-size: 1.4rem;
	line-height:1.8em; 
	font-weight: 700;
	text-decoration: none;
	color: #fff;
}
.footer_tel a:hover{
	color: #FF6389;
}
.footer_contact{
	width: 60%;
	margin: 10px auto;
}
.footer_contact img:hover{
	-webkit-transform: translateY(-2px);
	        transform: translateY(-2px);
filter: drop-shadow(0px 5px 5px rgba(0,0,0,0.2));
}
.copyright{
	text-align: center;
	font-size: 0.8em;
	margin: 20px auto 0;
	padding-top: 20px;
	color: #fff;
	
}
@media screen and (max-width:960px){
.footer_logo{
	margin: -10vw auto 0;
	width: 35%;
	text-align: center;
	line-height: 1.4em;
	color: #fff;
	max-width: 300px;
}
.footer_contact{
	width: 60%;
	margin: 10px auto;
}
}

@media screen and (max-width:580px){
.footer_logo{
	margin: -12vw auto 0;
	width: 70%;
	text-align: center;
	line-height: 1.4em;
	color: #fff;
	max-width: 280px;
}
.footer_contact{
	width: 60%;
	margin: 10px auto;
}
	.copyright{
	text-align: center;
	font-size: 0.8em;
	margin: 30px auto 0;
	padding-top: 20px;
	color: #fff;
	
}
}
