/*
torocafe.css
*/
/* COMMON
---------------------------------------------------- */
*{
	box-sizing:border-box;
}
html, body{
	font-size: 16px;
	line-height:1.6em;
	color: #555;
	max-width:1000px;
	margin:0 auto;
}
body{
	position:relative;
}
h1,h2,h3,h4{
	font-size: 100%;
	font-weight:normal;
}
/* COMMON VARIABLE
---------------------------------------------------- */
:root {
	--main-1st-color: #998675;
	--main-2nd-color: #c7b299;
	--main-3rd-color: #736357;
	--main-bg-color: #f9f7f5;
}
/* ELEMENT
---------------------------------------------------- */
.width100 img {
	width: 100%;
	height: auto;
	max-width: none;
}
.sp-none{
	display:inline;
}
/* HEADER
---------------------------------------------------- */
header{
	width:240px;
	height:100vh;
	min-height:630px;
	background:#fff;
	position:fixed;
	top:0;
	z-index:10;
}
header .logo{
	width:250px;
	margin:25px 0 30px 15px;
}
header .logo img{
	width:100%;
}
.gnav ul{
	padding:0 35px;
}
.gnav li{
	list-style-type: none;
	margin-bottom:10px;
}
.gnav li:first-child{
	display:none;
}
.gnav li a{
	color:var(--main-1st-color);
	text-decoration: none;
}
.gnav li a:hover{
	color:var(--main-2nd-color);
}
.gnav li:hover{
	color:var(--main-2nd-color);
	list-style-type: disc;
}
.gnav li.on{
	color:var(--main-1st-color);
	list-style-type: disc;
}
.gnav li:last-child {
	margin-top:30px;
}
.gnav li:last-child a{
	color:#8cc63f;
}
.gnav li:last-child a:hover{
	color:#74af17;
}
.gnav li:last-child:hover{
	color:#74af17;
}
.sns-wrap{
	margin-top:20px;
	padding:0 35px;
}
.sns{
	display:inline-block;
	width:40px;
	margin-right:5px;
}
header .copy{
	display:inline;
	font-size:10px;
	color:var(--main-1st-color);
	position:absolute;
	left:35px;
	bottom:10px;
}
/* MAIN
---------------------------------------------------- */
main{
	width:100%;
	padding:0 0 40px 240px;
	border-bottom:5px solid var(--main-1st-color);
}
article#top{
	padding:0;
	position:relative;
}
article#top h1{
	position:absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left:65px;
}
.wrap{
	padding:45px 40px 45px;
}
.bgcolor{}
.bgcolor .wrap{
	background:var(--main-bg-color);
}
article h1{
	font-size:26px;
	color:var(--main-1st-color);
}
article h2{
	margin-top:15px;
	font-size:16px;
	color:var(--main-2nd-color);
}
.content-wrap{
	padding-top:35px;
}
/* 3colum */
.col3-wrap{
	width:31%;
	border:1px solid var(--main-2nd-color);
	float:left;
	margin-right:3.5%;
	background:#fff;
}
.col3-wrap:last-of-type{
	margin-right:0;
}
.col3-wrap h3{
	background:var(--main-2nd-color);
	text-align:center;
	color:#fff;
	font-size:20px;
	padding:10px;
}
.col3-wrap p{
	display:block;
	padding:15px;
}
/* Definition */
dl{
	margin-bottom:20px;
	background:#ccc;
}
dl:last-of-type{
	margin-bottom:0;
}
dt{
	float:left;
	width:100px;
	text-align:center;
	padding:10px;
	font-size:18px;
	color:var(--main-3rd-color);
}
dd{
	margin-left:100px;
	padding:10px 25px;
	font-size:18px;
	background:#e6e6e6;
}
/* Recommended */
article#recommended p{
	line-height:2em;
}
/* Voice */
/* Service */
article#service dt{
	font-weight:bold;
}
article#service dd span{
	font-size:16px;
}
/* Use */
article#use h3,
article#use p{
	text-align:center;
}
article#use h3{
	font-weight:bold;
	font-size:18px;
}
article#use p{
	font-size:20px;
}
/* Fee */
article#fee dl{
	margin-bottom:15px;
}
article#fee dt,
article#fee dd{
	font-weight:bold;
	font-size:20px;
}
article#fee dt span,
article#fee dd span{
	font-weight:normal;
	padding-left:3px;
}
article#fee dd{
	font-size:20px;
}
.fee-att{
	font-size:14px;
}
/* FAQ */
.fqa-no{
	width:35px;
	color:var(--main-3rd-color);
	float:left;
	font-weight:bold;
	font-size:18px;
}
.fqa-detail{
	float:left;
	margin-left:-35px;
	padding-left:35px;
	width: 100%;
}
.fqa-wrap h3{
	font-weight:bold;
	margin-bottom:8px;
	font-size:18px;
}
.fqa-wrap p{
	display:block;
	margin-bottom:30px;
}
.fqa-wrap:last-of-type p{
	margin-bottom:0;
}
/* Listener */
article#listener p{
	display:block;
	width:390px;
	float:left;
}
article#listener p a{
	color:var(--main-3rd-color);
	
}
article#listener figure{
	width:270px;
	float:right;
}
/* Contact */
article#contact p{
	display:block;
	margin-bottom:30px;
}
.maii-wrap .mail-label{
	width:180px;
	padding:18px 10px 16px 0;
	float:left;
}
.topline .mail-label,
.lastline .mail-label{
	padding:10px 10px 10px 0;
}
.maii-wrap .mail-label span{
	color:#ba2a2a;
	padding-left:5px;
	font-size:14px;
}
.maii-wrap .mail-value{
	float:left;
	margin-left:-180px;
	padding:10px 0 10px 180px;
	width: 100%;
}
span.wpcf7-list-item{
	margin-left:0 !important;
}
span.wpcf7-list-item:last-of-type{
	padding-left:25px;
}
.lastline span.wpcf7-list-item:last-of-type{
	padding-left:0;
}
.mail-value input[type="text"] ,
.mail-value input[type="email"],
.mail-value input[type="tel"]{
	font-size:16px;
	height:36px;
	line-height:36px;
	border:none;
	border:solid 1px #c0c0c0;
	width:100%;
}
.mail-value input[type="email"]{
	width:80%;
}
.mail-value input[type="text"]:focus,
.mail-value input[type="tel"]:focus,
.mail-value input[type="email"]:focus {
	border:solid 1px var(--main-2nd-color);
}
.mail-value textarea{
	width:100%;
	font-size:16px;
	font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	color: #555;
	border:none;
	border:solid 1px #c0c0c0;
}
.mail-value textarea:focus {
	border:solid 1px var(--main-2nd-color);
}
.mail-value #captcha{
	margin-top:5px;
}
.mail-value span.notes{
	font-size:14px;
}
.maii-submit{
	margin-top:25px;
	text-align:center;
}
.maii-submit input#submit_button{
	width:150px;
	height:50px;
	font-size:16px;
}
/* FOOTER
---------------------------------------------------- */
footer{
	display:none;
}
/*
//	999px and below ///////////////////////////////////
*/
@media (max-width: 999px) {
	/* voice 3colum */
	#voice .col3-wrap{
		width:100%;
		float:none;
		margin-right:0;
		margin-bottom:25px;
	}
	#voice .col3-wrap:last-of-type{
		margin-bottom:0;
	}
	#voice .col3-wrap h3{
		font-size: 18px;
	}
	#voice .col3-wrap p{
		padding:10px;
	}
	/* Listener */
	article#listener p{
		width:58%;
	}
	article#listener figure{
		width:40%;
	}
}
/*
//	767px and below ///////////////////////////////////
*/
@media (max-width: 767px) {
	/* COMMON
	---------------------------------------------------- */
	*{}
	html, body{
		width:100%;
	}
	body{}
	h1,h2,h3,h4{}
	/* ELEMENT
	---------------------------------------------------- */
	.sp-none{
		display:none;
	}
	/* HEADER
	---------------------------------------------------- */
	header{
		width:100%;
		height:55px;
		min-height:auto;
		background:none;
	}
	header .logo{
		width:180px;
		margin:0;
		position:absolute;
		top:-20px;
		left:-15px;
		z-index:1200;
	}
	header .logo img{}
	.gnav{
		display:none;
	}
	.gnav ul{}
	.gnav li{}
	.gnav li:first-child{}
	.gnav li a{}
	.gnav li a:hover{}
	.gnav li:hover{}
	.gnav li.on{}
	.gnav li:last-child {}
	.gnav li:last-child a{}
	.gnav li:last-child a:hover{}
	.gnav li:last-child:hover{}
	.sns-wrap{
		margin-top:0;
		padding:0;
		position:absolute;
		top:10px;
		right:53px;
		z-index:1200;
	}
	.sns{
		width:35px;
		margin-right:8px;
	}
	header .copy{
			display:none;
	}
	/* MAIN
	---------------------------------------------------- */
	main{
		padding:0 0 45px 0;
		border-bottom:none;
	}
	article{
		margin-top:-60px;
		padding-top:60px;
	}
	.bgcolor{}
	article#top{
		margin-top:0;
		padding-top:0;
	}
	article#top h1{}
	.wrap{
		padding:40px 5% 40px;
	}
	.bgcolor .wrap{}
	article h1{
		font-size:22px;
	}
	article h2{
		margin-top:2px;
		font-size:14px;
	}
	.content-wrap{
		padding-top:25px;
	}
	/* 3colum */
	.col3-wrap{
		width:100%;
		float:none;
		margin-right:0;
		margin-bottom:25px;
	}
	.col3-wrap:last-of-type{
		margin-bottom:0;
	}
	.col3-wrap h3{
		font-size: 18px;
	}
	.col3-wrap p{
		padding:10px;
	}
	/* Definition */
	dl{}
	dl:last-of-type{}
	dt{
		font-size: 16px;
	}
	dd{
		font-size: 16px;
		line-height:1.4em;
	}
	/* Recommended */
	article#recommended p{}
	/* Voice */
	/* Service */
	article#service dt{}
	article#service dd span{
		font-size:14px;
	}
	/* Use */
	article#use h3,
	article#use p{}
	article#use h3{}
	article#use p{
		font-size:18px;
	}
	/* Fee */
	article#fee dl{}
	article#fee dt,
	article#fee dd{
		font-size:18px;
	}
	article#fee dt span,
	article#fee dd span{}
	article#fee dd{
		font-size:18px;
	}
	.fee-att{}
	/* FAQ */
	.fqa-no{
		font-size:16px;
	}
	.fqa-detail{}
	.fqa-wrap h3{
		font-size:16px;
	}
	.fqa-wrap p{}
	.fqa-wrap:last-of-type p{}
	/* Listener */
	article#listener p{
		width:100%;
		float:none;
	}
	article#listener p a{}
	article#listener figure{
		width:100%;
		float:none;
		margin-top:15px;
	}
	/* Contact */
	article#contact p{}
	.maii-wrap .mail-label{
		width:100%;
		float:none;
		padding:0 0 8px 0;
	}
	.topline .mail-label{
		padding:0 0 8px 0;
	}
	.maii-wrap .mail-label span{}
	.maii-wrap .mail-value{
		width:100%;
		float:none;
		margin-left:0px;
		padding:0 0 10px 0;
		margin-bottom:10px;
		border-bottom:1px dotted #eee;
	}
	span.wpcf7-list-item{}
	span.wpcf7-list-item:last-of-type{}
	.mail-value input[type="text"] ,
	.mail-value input[type="email"],
	.mail-value input[type="tel"]{
		width:100%;
	}
	.mail-value input[type="email"]{
		width:100%;
	}
	.mail-value textarea{
		height:200px;
	}
	.maii-submit{
		margin-top:5px;
	}
	.maii-submit input#submit_button{}

	/* FOOTER
	---------------------------------------------------- */
	footer{
		display:block;
		background:var(--main-1st-color);
		text-align:center;
	}
	address{
		font-size:10px;
		color:#fff;
		font-style:normal;
	}
}
@media screen and (max-width:479px) {
	article#top h1{
		display:none;
	}
}

/* SP NAVI
---------------------------------------------------- */
#sp_menu_block {
	display: none;
	top: 0;
	margin-top: 0;
	width: 100%;
	padding: 0;
	line-height: 1;
	z-index: 999;
	height: 60px;
	position: absolute;
	overflow: visible;
}
#sp_menu_block .inner {
	position: relative;
}
#mobile-head {
	z-index: 999;
	position: relative;
}
/* Toggle Button */
#nav-toggle {
	display: block;
	position: absolute;
	right: 15px;
	top: 10px;
	width: 35px;
	height: 35px; 
	cursor: pointer;
	z-index: 999;
	padding: 0;
}
#nav-toggle div {
	position: relative;
}
#nav-toggle span {
	display: block;
	position: absolute;
	height: 4px;
	width: 100%;
	left: 0;
	background:var(--main-1st-color);
	-webkit-transition: .35s ease-in-out;
	   -moz-transition: .35s ease-in-out;
	        transition: .35s ease-in-out;
	border-radius:3px;
}
#nav-toggle span:nth-child(1) {
	top: 0;
}
#nav-toggle span:nth-child(2) {
	top: 15px;
}
#nav-toggle span:nth-child(3) {
	top: 31px;
}
.open #nav-toggle span:nth-child(1) {
	top: 15px;
	-webkit-transform: rotate(315deg);
	   -moz-transform: rotate(315deg);
	        transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav-toggle span:nth-child(3) {
	top: 15px;
	-webkit-transform: rotate(-315deg);
	   -moz-transform: rotate(-315deg);
	        transform: rotate(-315deg);
}
.open #nav-toggle {}
/* navi */
#global-nav {
	position: absolute;
	z-index: 20;
	top: -1500px;
	color: var(--main-1st-color);
	width: 100%;
	text-align: center;
	-webkit-transition: .5s ease-in-out;
	   -moz-transition: .5s ease-in-out;
	        transition: .5s ease-in-out;
	overflow-y: scroll;
	-webkit-overflow-scrolling:touch;
	line-height: 1.6;
	height:100%;
	background: rgba(256,256,256,0.9);
}
#nav-ul {
	text-align: left;
	height: 100%;
	padding:80px 5% 0;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#nav-ul li {
	display: block;
	border-bottom:1px solid #e6e6e6;
}
#nav-ul li a {
	padding:8px 20px;
	display: block;
	color: var(--main-1st-color);
	text-decoration: none;
}
#nav-ul li a:hover {
	color:var(--main-2nd-color);
}
#nav-ul li:last-child a{
	color:#8cc63f;
}
#nav-ul li:last-child a:hover{
	color:#74af17;
}
/* #global-nav スライドアニメーション */
.open #global-nav {
	-webkit-transform: translateY(1500px);
	   -moz-transform: translateY(1500px);
	        transform: translateY(1500px);
}
/*
//	767px and below ///////////////////////////////////
*/
@media (max-width: 767px) {
	#sp_menu_block {
		display: block;
	}
	.hed_inner{
		position: fixed;
		width: 100%;
		height:0px;
		left:0;
		-webkit-transform: translate(0,0);
		   -moz-transform: translate(0,0);
		    -ms-transform: translate(0,0);
		     -o-transform: translate(0,0);
		        transform: translate(0,0);
		z-index:10;
	}
	.ned_nav{
		width: 100%;
		overflow: visible;
		position: relative;
		margin:0 auto;
	}
}