@charset "utf-8";
/* レイアウトのためのCSS */
body{
    background:#e2a2b1;
    font-family: 'Noto Serif JP', serif;
	color: #555;
	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.2em;
}

body.appear{
    background:#f8f9fa;
}


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

a{
	color: #555;
	text-decoration: none;
    outline: none;
}

img{
    width:100%;
    height: auto;
    vertical-align: bottom;
}

*{
    box-sizing: border-box
}

/* font-family */


.karih1{
	width: 100vw!important;
}





























h1,
#g-nav-list li:nth-child(1),
#menu h2,
#kodawari h2,
#about h2,
#footer dl dd,
#splash-logo{
    font-family:'游明朝体', cursive;
}

/* heading */
#menu h2,
#about h2,
#kodawari h2{
	font-size: clamp(12px, 4rem, 14vw);
    text-align: center;
    margin: 0 0 50px 0;
    font-weight: normal;
    color: #e2a2b1;
}

@media screen and (max-width:768px) {
#menu h2{
	
    }}

/* area */

#container{
    overflow-x: hidden;
}

.inner{
    width:100%;
    margin:0 auto;
    padding:70px;
}

@media screen and (max-width:940px) {
.inner{
    padding:30px;
}
}

/* splash */

#splash-logo p{
    font-size:1.8rem;
    font-weight: normal;
    white-space: nowrap;
}

/* header */

.header-area{
    position: fixed;
    left:50%;
    top:50%;
    transform: translate(-50%,-50%);
    z-index: 2;
    color: #fff;
    text-align: center;
}

.header-area h1{
    display: block;
    font-size: 6vw;
    font-weight: normal;
    line-height: 1;
    letter-spacing: 0;
    padding: 0 10px;
}

.header-area p{
    font-size: 1.3vw;
    letter-spacing: 0.4em;
    margin: 0 0 20px 0;
}

.header-area p br{
    display: none;
}


@media screen and (max-width:960px) {
.header-area h1{
    font-size:4rem;
}
.header-area p{
    font-size:0.8rem;
    whitewhite-space:no
}

.header-area p br{
    display: block;
}

}

/* gnavi */

#g-nav-list li:nth-of-type(1) a{
    font-size: 2rem;
    text-transform: none;
    font-weight: normal;
    line-height: 1;
    white-space: nowrap;
    margin: 0 0 20px 0;
}

#g-nav-list li:nth-of-type(2){
    animation-delay: .1s;
}
#g-nav-list li:nth-of-type(3){
    animation-delay: .2s;
}
#g-nav-list li:nth-of-type(4){
    animation-delay: .3s;
}
#g-nav-list li:nth-of-type(5){
    animation-delay: .4s;
}
#g-nav-list li:nth-of-type(6){
    animation-delay: .5s;
}
#g-nav-list li:nth-of-type(7){
    animation-delay: .7s;
	display: flex;
}
#g-nav-list li:nth-of-type(7) a{
	display: block;
	width: 50%;
}
#g-nav-list li:nth-of-type(7) a img{
	width: 50px;
}


#top_bottom_icon{
	position:fixed;
	z-index: 998;/*ボタンを最前面に*/
	bottom:10px;
	left: 50px;
}
#top_bottom_icon a{
	display: inline-block;
	width: 50px;
}
#top_bottom_icon a:hover{
	opacity: 0.5;
}
#top_bottom_icon a:nth-child(2){
	margin-left: 10px;
}
#top_bottom_icon a img{
	width: 100%;
}












/* lead */

#lead{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top:140px;
}

#lead .lead-img{
     width:46%;
    min-height: 400px;
    background: url("../img/lead.jpg") no-repeat center;
    background-size: cover;
}

#lead .lead-area{
    width:52%;
    display: flex;
    flex-wrap: wrap;
    justify-content:space-around;
    flex-direction: row-reverse;
}

@media screen and (max-width:1060px) {
#lead .lead-img{
     width:30%;
}
#lead .lead-area{
    width:68%;
}
}

@media screen and (max-width:768px) {
#lead{
    flex-direction: column-reverse;
}

#lead .lead-img,
#lead .lead-area{
    width:100%;
} 
    
#lead .lead-img{
    min-height: 250px;
    }
    
#lead .lead-area{
    margin: 0 0 140px 0;
    min-height: 20em;
    justify-content: center;
}
}

#lead .lead-area h2,
#lead .lead-area p{
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;    
    text-orientation: upright;
}

#lead .lead-area h2{
    width:28%;
    line-height:2.5;
    font-size:1.4rem;
}

#lead .lead-area p{
     width:48%;   
    padding: 50px 0 0 0;
    line-height: 2.8;
}

#lead .btn04{
    padding:20px 15px;
}


@media screen and (max-width:1300px) {
#lead .lead-area h2{
    line-height:2;
}
#lead .lead-area p{
    line-height: 2.3;
}    
}

@media screen and (max-width:768px) {    
.btn04{
	width:250px;
}
    
#lead .lead-area h2,
#lead .lead-area p{
    width:auto;
} 
    
#lead .lead-area h2{
    margin:0 0 0 20px;
    line-height: 2.2;
}
    
#lead .lead-area p{
    line-height: 1.5;
}

#lead .btn04{
    padding: 10px 30px;
}
    
}

@media screen and (max-width:470px) {
#lead .lead-area h2{
    line-height: 1.8;
}
#lead .lead-area p{   
    height: 30em;
}
    
_:-ms-lang(x)::-ms-backdrop, #lead .lead-area p{
    width:8em;
}
    
/*#lead .lead-area p br{
    display: none;
}*/
}

@media screen and (max-width:350px) {
#lead .lead-area h2{
    line-height: 1.6;
}
#lead .lead-area p {
    line-height: 1.8;
}
}

/* menu */

#menu{
    padding: 60px 0;
	background: #fff;
	background: linear-gradient(#f8f9fa 18%, #f3dede 18%, #f3dede 65%, #f8f9fa 65%);
}
#menu h2{
    font-size: 4rem;
    margin: 0 0 0px 0;
}

#menu section{
    background: #fff;
    margin: 0 0 10px 0;
}

#menu section h3{
    font-size: 0.9rem;
    margin: 0 0 10px 0;
}

#menu section p{
    font-size: 0.8rem;
}

#menu .menu-area{
    padding: 20px;
    box-shadow: 5px 0 10px #ccc;
}

#menu .menu-btn{
    text-align: center;
    margin: 50px 0 0 0;
}

/* contact */

#contact{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
	background: #ffd1cc;
    padding:150px 100px;
}

#contact .contact-img{
    width:70%;
    min-height: 300px;
    background:url("../img/contact.jpg") no-repeat center;
    background-size: cover;
}

#contact .contact-area{
    width:30%;
	height: 300px;
    text-align: center;
    padding:20px 0 0px 0;
}
#contact p:nth-child(2){
	font-size: 15px;
	margin-bottom: 15px;
}
#contact p:nth-child(3){
	width: 83%;
	margin: 0 auto 15px auto;
	font-size: 10px;
	line-height: 1.5;
	text-align: left;
}
#contact p:nth-child(3) span{
	display: block;
}

#contact > div:nth-child(2){
	background: #f8f9fa;
}


@media screen and (max-width:1190px) {

#contact{
    padding: 20px;
	height: auto;
    }
#contact .contact-img{
    width:60%;
    }
#contact .contact-area{
    width:40%;
    }
}

@media screen and (max-width:768px) {
#contact .contact-img{
    width:48%;
    }
#contact .contact-area{
    width:52%;
	height: auto;
    }
}

@media screen and (max-width:600px) {
#contact .contact-img,
#contact .contact-area{
    width:100%;
    }
#contact .contact-area{
        padding:50px 0 50px 0;
}
}

#contact .contact-area h2{
     font-size:1.3rem;   
    margin:0 0 10px 0;
}

#contact .contact-area dt{
     font-size:1.2rem;   
    margin:0 0 10px 0;
}

#contact .contact-area dd{
    font-size: 0.8rem;
    margin:0 0 30px 0;
}

/* こだわり */

#kodawari{
	background: url("../img/kodawari_bg.jpg") no-repeat bottom / cover;
	padding-top: 200px;
	padding-bottom: 200px;
}
#kodawari_contents{
	display: flex;
	padding: 20px 0 50px 0;
}
#kodawari span{
	display: block;
}
#kodawari_img_pc{
	width: 50%;
}
#kodawari_img_pc img{
	display: block;
	width: 80%;
	max-width: 650px;
	margin: 0 5vw 0 auto;
}
#kodawari_img_sp{
	width: 75%;
	max-width: 450px;
	margin: 20px 5vw 0 auto;
}
.kodawari_text{
	width: 50%;
}
.kodawari_text ul li{
	margin-bottom: 50px;
	font-size: clamp(12px, 3.2vw, 16px);
}
.kodawari_number{
	font-size: 12px;
	color: #ff7373;
	line-height: 0.8;
}
.kodawari_ttl{
	font-size: 1.7em;
	color: #825943;
	background: url("../img/kodawari_ttl_bg.png") no-repeat left bottom / contain;
}

.kodawari_rice{
	font-size: 0.9em;
	opacity: 0.85;
	line-height: 1.5;
}

@media screen and (max-width:768px){
#kodawari{
	padding-top: 100px;
	padding-bottom: 50px;
}
#kodawari_contents{
	display: block;
}
.kodawari_text{
	width: 90vw;
	margin: 0 auto;
}}
@media screen and (max-width:400px){
.kodawari_ttl{
	letter-spacing: 0;
}}


/* about */

#about{
	position: relative;
	padding-top: 200px;
	padding-bottom: 200px;
	background: linear-gradient(#fff 0%, #f7d1cc 100%);
	z-index: -2;
}
#about h2{
	margin: 0;
}
#about_contents{
	display: flex;
	width: 90%;
	max-width: 1600px;
	margin: 0 auto;
	font-size: clamp(12px, 2.8vw, 16px);
	color: #825943;
	text-align: center;
	line-height: 3.5;
}
#about_img_pc01{
	width: 28%;
	min-width: 400px;
	z-index: 99;
}
#about_img_pc01 img{
	display: block;
	width: 75%;
	margin: 0 0 0 auto;
}
#about_img_pc02{
	position: relative;
	width: 28%;
	min-width: 350px;
	z-index: 98;
}
#about_img_pc02 img{
	position: absolute;
	bottom: 0;
	display: block;
	width: 75%;
}
#about_text{
	width: 44%;
	z-index: 100;
}
#about .contact-btn{
	width: 100%;
	margin: 30px auto 0;
	text-align: center;
}
#about .contact-btn a{
	border:1px solid #aaa;
}

@media screen and (max-width:1300px){
#about{
	padding-top: 100px;
	padding-bottom: 100px;
}
#about_contents{
	display: block;
	width: 100%;
	max-width: 100%;
	line-height: 2.1;
	letter-spacing: 0;
}
#about_text{
	width: 95vw;
	margin: 0 auto;
	white-space: nowrap;
}}




@media screen and (min-width:1301px) {
    #about_img_sp{
		display: none!important;
	}
}

@media screen and (max-width:1300px) {
    #about_img_pc01,
	#about_img_pc02{
		display: none!important;
	}
}




/* 地図　map　看板　kanban */

#map_kanban{
	display: flex;
}
#map{
	width: 100%;
	height: 450px;
}


#kanban{
	width: 100%;
	height: 450px;
	background: url("../img/kanban.jpg") no-repeat right / cover;
}


@media screen and (max-width:768px) {
    #map_kanban{
		display: block;
	}
	#kanban{
		height: 200px;
}
}















/* footer */

#footer{
    border-top: 1px solid #ccc;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

#footer dl{
     width:30%;   
}

#footer dl dt{
    font-size: 0.8rem;
}

#footer dl dd{
    font-size: 2rem;
}

@media screen and (max-width:900px) {
    #footer dl{
        margin: 50px 0;
    }
}

@media screen and (max-width:768px) {

#footer dl dd{
    font-size: 1.5rem;
}
    
}

#footer .footer-list{
     width:65%; 
    text-align: right;
}

#footer ul li{
    display: inline-block;
    padding: 0 10px;
    font-size: 0.8rem;
    line-height: 3;
}

#footer small{
    text-align: right;
    margin: 20px 0 0 0;
    display: block;
    width: 100%;
    font-size: 0.7rem;
}

#footer #page-top span{
    display: inline-block;
  width: 13px;
  height: 13px;
  border-top: 4px solid #fff;
  border-left: 4px solid #fff;
  transform: rotate(45deg);
}


@media screen and (max-width:900px){
#footer dl,
#footer .footer-list,
#footer small{
    width:100%;
    text-align: center;
}
    
}





@media screen and (min-width:769px) {
    .SPonly{
		display: none!important;
	}
}

@media screen and (max-width:768px) {
    .PConly{
		display: none!important;
	}
}
