/*wabi*/

/* Base Layout
------------------------------------------------------------ */
html {
	overflow: auto;
}
* html { /* for IE6 */
	overflow: hidden;
	overflow-x: auto;
	height: 100%;
}
body {
	color:#3E3A39;
	line-height:2em;
    font-family: 'Noto Serif JP', YuMincho ,  "Yu Mincho" , "游明朝体" , serif;
    letter-spacing: 1.5px;
	min-width: 280px;
	background-color: #FFFFFF;
	font-size: 15px;
	width: 100%;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	text-align:justify;
	box-sizing:border-box;
	overflow:hidden;
}
* html body { /* for IE6 */
	overflow-y: auto;
	height: 100%;
}

ul{	list-style:none;}
li{	float:left;}
/* clearfix */
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0; 
    clear: both; 
    visibility: hidden;
}
.clearfix { display: inline-block; }
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */

/*clearfix to objects*/
header:after,
main:after,
footer:after,
section:after,
.container:after,
div.widthsize:after,
ul:after{
	content: ".";
	display: block;
	height: 0px;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
body,div,dl,dt,dd,ul,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,legend,textarea,p,blockquote,th,td{ 
	margin:0;padding:0;
}
img{
	border:0;
	vertical-align:bottom;
}
	
#topbutton {
      /* ▼表示位置を画面の右下に固定 */
      position: fixed; /* ←表示場所を固定 */
      bottom: 10px;   /* ←下端からの距離 */
      right: 10px;    /* ←右端からの距離 */

      /* ▼最初は非表示にしておく */
      display: none;
}
/*h1 {font-size: 1em;}*/
.mt05{ margin-top:0.5em;}
.mt1{ margin-top:1em;}
.mt2{ margin-top:2em;}
.mt3{ margin-top: 3em;}
.ml1{ margin-left:1em;}
.ml3{ margin-left:3em;}
.center{text-align:center;}
.left{text-align:left;}
.right{text-align:right;}
.fnt2{font-size: 2em;}
.fnt15{font-size: 1.5em;}
.fnt12{font-size: 1.2em;}
.fnt14{font-size: 1.4em;}
.fnt08{font-size: 0.8em;}
.fnt09{font-size: 0.9em;}
.fnt_go{font-family: 'M PLUS 1p', sans-serif;}
.fnt_mincho{font-family: 'Noto Serif JP', YuMincho ,  "Yu Mincho" , "游明朝体" , serif;}
.txt_red{color: #FB0004;}
.txt_pnk{color: #ea595b;}
.w100{width:100%;}
.txt_w600{font-weight: 600;}
.txt_green{color: #3e5b52；}
/*　Base Link 
------------------------------------------------------------ */
a:hover img {
	opacity: 0.7;
	filter: alpha(opacity=70);
}

a:link {
	color:#898989;
	text-decoration:none;
}
a:visited{
	color:#898989;
	text-decoration:none;
}
a:hover{
	color:#000000;
	text-decoration:none;
}
header a:link ,header a:visited,
footer a:link ,footer a:visited {
 color: #fff;
}
.contact_tel a:link ,.contact_tel a:visited {
 color: #3E3A39;
}
.formTable a:link ,.formTable a:visited{
    text-decoration: underline;
}
p.resizeimage img { width: 100%; }

/* 共通
------------------------------------------------------------ */
img{width: 100%;}
section{
    margin: 5em 0;
    clear: both;
    display: inline-block;
    width: 100%;
 }
.sp_none{
 display: none;
}
.sp_none02{
 display: none;
}
.flex{
    display: flex;
    flex-wrap: wrap;
}
/* 画面外にいる状態 */
.fadein {
	opacity : 0.8;
	transform : translate(0, 80px);
	transition : all 500ms;
	}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}

@media screen and ( min-width:280px )
{
.widthsize{
    max-width: 766px;
    padding: 0 1.5em;
    box-sizing: border-box;
    margin: auto;
}
/*header
------------------------------------------------*/
/*
-----------------------------------------------------------*nav*/
#nav_sp{
    width: 100%;
    background-color: #3e5b52;
    color: #fff;
    height: 60px;
    position: fixed;
    z-index: 222;
}
*, *:before, *:after {
	padding: 0;
	margin: 0;
	box-sizing: border-box;
}
#nav_sp .head_name{
    position: relative;
}
#nav_sp .head_name a{
    position: absolute;
    top: 8px;
}
.head_name{
    width: 50%;
    padding: 3px 8px;
}
ol, ul {
	list-style: none;
}
a {
	text-decoration: none;
	color: inherit;
}
.cp_cont {
	height: 65vh;
}
.cp_offcm01 {
	position: fixed;
	/*top: 20px;
	right: 20px;*/
	display: inline-block;
    z-index: 10000;
    top:10px;
    right: 0;
}
/* menu */
.cp_offcm01 .cp_menu {
	position: fixed;
	top: 0;
	right: -100vw;
	width: 250px;
	height: 100%;
	cursor: pointer;
	-webkit-transition: 0.53s transform;
	        transition: 0.53s transform;
	-webkit-transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	        transition-timing-function: cubic-bezier(.38,.52,.23,.99);
	background-color: #e95513;
	opacity: 0.9;
}
.cp_offcm01 .cp_menu ul {
	margin: 0;
	padding: 0;
}
.cp_offcm01 .cp_menu li {
	list-style: none;
    width: 100%;
	color: #ffffff;
	border-bottom: 1px solid #ffffff;
}
.cp_offcm01 .cp_menu li a {
	display: block;
	padding: 12px 20px;
	text-decoration: none;
	color: #ffffff;
}
.cp_offcm01 .cp_menu .sns_insta img{
    width: 40px;
}
/*.cp_offcm01 .cp_menu .sns_nav2 {
    width: calc(100% / 2 );
}
.cp_offcm01 .cp_menu .sns_nav2_box{
    display: flex;
}*/
/*.cp_offcm01 .cp_menu .sns_nav2 a {
	display: block;
	padding: 12px 2px;
    
}*/
.cp_offcm01 #cp_toggle01 {
	position: absolute;
	display: none;
	opacity: 0;
}
.cp_offcm01 #cp_toggle01:checked ~ .cp_menu {
	-webkit-transform: translateX(-100vw);
	        transform: translateX(-100vw);
}
/* menu toggle */
.cp_offcm01 #cp_toggle01 ~ label {
	display: block;
	padding: 0.5em;
	cursor: pointer;
	-webkit-transition: 0.5s transform;
	        transition: 0.5s transform;
	-webkit-transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	        transition-timing-function: cubic-bezier(.61,-0.38,.37,1.27);
	text-align: center;
	color: #fff;
}
.cp_offcm01 #cp_toggle01:checked ~ label {
	-webkit-transform: translateX(-250px);
	        transform: translateX(-250px);
}
.cp_offcm01 #cp_toggle01 ~ label::before {
	font-family: 'FontAwesome';
	content: '\f0c9';
	font-size: 2em
}
.cp_offcm01 #cp_toggle01:checked ~ label::before {
	content: '\f00d';
	color: #e95513;
}

/*footer
------------------------------------------------*/
footer {
    width: 100%;
    text-align: center;
    background-color: #3e5b52;
    color: #fff;
}
 footer ul{
  margin-bottom: 1em;
 }
 footer .tel ,footer .tel a:link,footer .tel a:visited{
    color: #fff;
    }
/*footer .tel::before{
    content: url("../img/common/icon_tel.gif");
    padding-right: 5px;
    }*/
.f_logo {
  padding: 15px 0 10px;
 }
.f_logo img{
  width: 80%;
 }
 .f_pp{
  text-align: center;
     margin-top: 3em;
     color:#fff; 
 }
/* 
-----------------------------------------------------top------- */
    
#top h1{
    font-size: 20px!important;
    text-align: center;
 }
.head_img_sp{
    padding-top: 50px;
 }
.img_box li{
    margin: 10px 0;
 }
#menu .menu_box,
#menu .menu_box  li{
    width: 100%;
    }
.menu_ttl{
    margin: 50px 0;
    font-size: 28px;
    font-weight: 600;
 } 
.menu_item{
    padding-bottom: 5px;
    border-bottom: 1px solid;
    font-size: 18px;
 } 
.menu_price{
    margin-bottom: 80px; 
    font-size: 18px,
 } 
#menu,#access {
    padding-top: 100px;
    margin-top: -100px;
 }
.line_box{
    margin: 50px auto;
    width: 90%;
 }
.profile{
    background: #e95513;
    color: #fff;
    text-align: center;
    line-height: normal;
    width: 70%;
    margin: 50px auto;
    padding: 5px 2px;;
    }
.pr_txt{
    color: #e95513;
    width: 90%;
    font-size: 1.1em;
    text-align: center;
    margin: auto;
    }
.profile_name{
    font-size: 1.4em;
    border-bottom: 1px solid;
    margin-bottom: 5px;
    width: 90%;
    margin: 0 auto 5px;
    padding-bottom: 5px;
        
}
.attention li::before{
    content: "●";
    }
.attention li{
    padding-left: 1rem;
    text-indent: -1rem;
    }
.p_map_box{
    margin: 40px auto 100px;
    }
.p_map_ttl{
    background: #e95513;
    color: #fff;
    font-size: 1.5em;
    font-weight: 600;
    text-align: center;
    letter-spacing: 2px;
    width: auto;
    padding: 10px 30px;
    }
.p_map{
    width: 100%;
    margin: 1em auto;
    }
/*-------------------------------------------------contact*/
#toiawase h1 {
    text-align:center;
    /*color: #fff;
    background: #f1928b;*/
    letter-spacing: 2px;
    font-size: 28px;
    padding: 30px 0;
    width: 100%;
    }
#toiawase h2,
#toiawase h3{
    text-align:center;
    font-size: 16px;
    }
.contact_tel{
    text-align:center;
    padding: 50px 0;
    }
.contact_tel .telephone{
    font-size: 28px;
    }
#toiawase hr{
    margin: 10px 0;
    }
.contact_line figure{
    text-align:center;
    width: 270px;
    margin: auto;
    }
.contact_line figure img{
    width: 100%;
    }
/*.formTable{
    border-collapse: collapse;
    border:solid 1px #bbbbba;
    line-height: 3em;
    margin: 1em auto 2em;
    width: 100%;
    text-align: left;
}
.formTable th,.formTable td{
    width: 100%;
    float: left;
    padding-left: 1em;
    box-sizing: border-box;
    color: #727171;
    letter-spacing: 2px;
    }
.formTable input , .formTable textarea{
    line-height: 1.5em;
    padding: 5px 10px;
    margin: 1em auto;
    width: 90%;
    }
.formTable input[type="radio"]{
    width:2em;
}
.formTable select{
    width: 100px;
    padding: 5px 1em;
}
.btn_top{
    margin: 5em auto 10em;
    text-align: center;
    }
.btn_top a{
    color: #fff;
    padding: 20px;
    text-align: center;
    font-size: 1.5em;
    border: 1px solid;
    display: inline-block;
    box-sizing: border-box;
    }
.btn_top a:hover{
    display:inline-block;
    transition: all 0.5s ease;
    text-decoration: none;
    }
.err input{
    width: auto;
    padding: 10px 50px;
}
.err_messe{
    text-align: center;
} 
.h100{
    min-height: calc(100vh - 490px);
    }

.bg_red{
    background:#e71f19;
    padding: 1px 2px;
    border-radius: 3px;
    color: #fff;
    font-size: 10px;
    margin-left: 1em;
}
.kakunin_btn{
    text-align: center;
    margin: 2em auto;
    }
.btn_pnk{
    text-align: center;
    background: #f1928b;
    font-size: 22px;
    color: #fff;
    padding: 10px 50px;
    margin-bottom: 0;
    border: #f1928b;
    }
.form_box a:link{
    text-decoration: underline
}
#check_doui{
    width: 50px;
    }
#mail_kakunin .formTable{
    line-height: 3em;
    margin: 1em auto 2em;
    width: 100%;
    text-align: left;
}
.btn_gry{
	background:#A0A0A0;
	padding:10px 20px;
    color: #fff;
    border: #A0A0A0;
    margin-bottom: 2em;
}*/

}
/* 
------------------------------------------------------------ */
@media screen and ( min-width:767px )
{
.widthsize{
	max-width: 979px;
}
section{
  margin: 80px 0;
 }
.f_logo img{
  width: auto;
 }
.sp_none{
    display: block;
} 
.pc_none{
    display: none;
}

/*
-----------------------------------------------------------*nav*/
#nav_sp{
    height: 70px;
}
.head_name{
    width: 30%;
    padding: 20px 8px;
}
/* 
-----------------------------------------------------top------- */
.head_img_pc{
    padding-top: 70px;
    }
.img_box {
    justify-content: space-around;
    margin: 50px 0;
 }
.img_box li{
    margin: 0;
    width: 30%;
 }
#menu  .menu_box{
    width: 90%;
    margin: auto;
    }
.menu_item ,.menu_price{
    font-size: 20px;
 } 
.menu_price{
    margin-bottom: 100px; 
 } 

#menu,#access {
    padding-top: 150px;
    margin-top: -150px;
 }
.line_box{
    margin: 100px auto;
    width: 40%;
 }
.profile{
    width: 30%;
    }
.p_map_box{
    width: 60%;
    margin: 60px auto 100px;
    }
/*-------------------------------------------------contact*/
#toiawase h1 {
    padding: 50px 0;
    }
#toiawase main {
    height: 70vh;
    }

}
@media screen and ( min-width:980px )
{
.sp_none02{
 display: block;
}
.pc_none02{
 display: none;
}

.widthsize{
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
	position: relative;
}
/*
-----------------------------------------------------------*nav*/
#nav_pc{
    background-color: #3e5b52;
    color: #fff;
	width: 100%;
    top: 0;
    margin: auto;
    position: fixed;
    z-index: 2222;
}
#nav_pc .flex{
	max-width: 979px;
    justify-content: space-around;
    align-items: flex-end;
    margin: auto;
}
#nav_pc .head_name{
    width: 250px;
    padding: 3px 8px;
    box-sizing: border-box;
}

#nav_pc .pc_menu{
    width: 250px;
    padding-top: 40px;
    justify-content: space-between;
    align-items: center;
    }
.pc_menu .menu_inner a{
    color: #fff
}
#nav_pc .pc_head_tool{
    width: 400px;
}
#nav_pc .pc_head_tool .flex{
    justify-content: flex-start;
    align-items: center;
}
.pc_head_tool .sns_nav1{
    width: 35px;
    margin-right: 10px;
}
.pc_head_tool .sns_nav2{
    width: 220px;
}
#nav_sp{
    display: none;
}
/*
-----------------------------------------------------------*top*/
.p_map_box{
    width: 50%;
    margin: 100px auto 100px;
    }

}