@charset "utf-8";
/*----------------------------------------*----------------------------------------
composition
----------------------------------------*----------------------------------------*/

html { font-size: 10px; }
body {
	color: #403f3d;
	font-family: "Open Sans", Verdana, Roboto, "Droid Sans", /*"游ゴシック", YuGothic,*/ "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	font-size: 1.6rem;
	line-height: 1.5;
}

@media screen and (min-width: 768px) {
#contents { margin-bottom: 60px; }
}

@media print {
#contents { margin-bottom: 20px; }
}

/*----------------------------------------*----------------------------------------
header
----------------------------------------*----------------------------------------*/

#header .container { position: relative; }

@media screen and (max-width: 767px) {
#header .container { padding: 0; }
}

@media screen and (min-width: 768px) {
#header .container {
	padding-bottom: 20px;
	padding-top: 20px;
}
}

@media print {
#header {
	margin-bottom: 10px;
	text-align: center;
}
}

/*----------------------------------------
logo
----------------------------------------*/

#header header {
	display: table-cell;
	vertical-align: middle;
}
#header .logo { line-height: 1; }
#header .logo a {
	text-decoration: none;
	color: #262624;
}

@media screen and (max-width: 767px) {
#header header {
	background: url(../img/header_tochisuke.png) no-repeat 10px center;
	background-size: auto 40px;
	padding: 0 60px 0 60px;
	height: 60px;
}
#header .logo { font-size: 1.6rem; }
}

@media screen and (min-width: 768px) {
#header header {
	background: url(../img/header_tochisuke.png) no-repeat left center;
	background-size: contain;
	padding-left: 78px;
	height: 60px;
}
#header .logo {
	font-family: 'Noto Sans Japanese', sans-serif;
	font-size: 2.5rem;
	font-weight: bold;
}
}

@media print {
#header header {
	text-align: center;
	display: block;
}
#header .logo {
	font-family: 'Noto Sans Japanese', sans-serif;
	font-size: 2.5rem;
	font-weight: bold;
}
}

/*----------------------------------------
description
----------------------------------------*/

#header .description {
	margin-bottom: 5px;
	font-weight: normal;
}

@media screen and (max-width: 767px) {
#header .description { font-size: 1.1rem; }
}

@media print, screen and (min-width: 768px) {
#header .description { font-size: 1.3rem; }
}

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

@media screen and (max-width: 767px) {
#header .nav { display: none; }
}

@media print, screen and (min-width: 768px) {
#header .nav {
	float: right;
	font-size: 1.3rem;
	position: absolute;
	top: 20px;
}
.grid-960 #header .nav { right: 10px; }
.grid-972 #header .nav { right: 15px; }
#header .nav .menu, #header .nav .btn { float: left; }
#header .nav .btn { padding: 5px 30px 5px 15px; }

/* nav--inline */

#header .nav .menu { text-decoration: none; }
#header .nav--inline .menu + .menu {
	border-left: 1px solid #d9d7ce;
	margin-left: 15px;
	padding-left: 15px;
}
#header .nav .menu--active { text-decoration: underline; }

/* nav--btn */

#header .nav--btn .btn + .btn { margin-left: 10px; }
}

/*----------------------------------------
google
----------------------------------------*/

#header .google { display: table; }
#header .google_title, #google_translate_element {
	display: table-cell;
	vertical-align: middle;
}
#header .google_title { font-size: 1.2rem; }
#google_translate_element .goog-te-gadget-simple { border-color: #d9d7ce; }
#header .google i {
	background: #47a1b3;
	width: 17px;
	height: 17px;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	text-align: center;
	line-height: 17px;
	margin-right: 5px;
	color: #fff;
	vertical-align: middle;
	top: -.2em;
}
#header .google i:before { line-height: 1; }

@media screen and (max-width: 767px) {
#header .google {
	background: #f2f0e6;
	padding: 10px 15px;
	text-align: center;
	width: 100%;
}
#header .google i { font-size: 1rem; }
#header .google_title {
	text-align: right;
	padding-right: 5px;
}
#google_translate_element {
	padding-left: 5px;
	text-align: left;
}
}

@media print, screen and (min-width: 768px) {
#header .google {
	position: absolute;
	bottom: 20px;
	right: 15px;
}
#header .google_title { padding-right: 10px; }
}

/*----------------------------------------
toggleBtn
----------------------------------------*/

@media screen and (max-width: 767px) {
#header .toggleBtn {
	position: absolute;
	display: table;
	color: #fff;
	background: #262624;
}
#header .toggleBtn span {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 1rem;
}
#header .toggleBtn i { display: block; }
#header .toggleBtn--open i:before { content: "\f0c9"; }
#header .toggleBtn--opened i:before { content: "\f00d"; }

/* large */

#header .toggleBtn--large {
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
}
#header .toggleBtn--large i:before { font-size: 3rem; }

/* small */

#header .toggleBtn--small {
	top: 10px;
	right: 10px;
	width: 40px;
	height: 40px;
}
#header .toggleBtn--small i:before { font-size: 1.7rem; }
}

@media print, screen and (min-width: 768px) {
#header .toggleBtn { display: none; }
}

/*----------------------------------------*----------------------------------------
toggleNav
----------------------------------------*----------------------------------------*/

@media screen and (max-width: 767px) {
#toggleNav .toggleNav_contents { display: none; }
#toggleNav .toggleNav_block {
	padding: 10px;
	background: #fff;
}
#toggleNav .toggleNav_block + .toggleNav_block { border-top: 1px solid #d9d7ce; }
#toggleNav .menu { text-align: left; }
#toggleNav .menu--primary {
	float: left;
	width: 100%;
}
}

/*----------------------------------------
toggleNav_btn
----------------------------------------*/

@media screen and (max-width: 767px) {
#toggleNav .toggleNav_btn {
	background: #262624;
	color: #fff;
	position: relative;
	padding: 10px;
}
#toggleNav .toggleNav_btn:before, #toggleNav .toggleNav_btn:after {
	font-family: "FontAwesome";
	line-height: 1;
}
#toggleNav .toggleNav_btn--open:before {
	margin-right: 1em;
	content: "\f0c9";
}
#toggleNav .toggleNav_btn--close:after {
	content: "\f00d";
	margin-left: 1em;
}
#toggleNav .toggleNav_btn--opened:before {
	content: "\f00d";
	margin-right: 1em;
}
}

@media print, screen and (min-width: 768px) {
#toggleNav .toggleNav_btn { display: none; }
}

/*----------------------------------------
globalNav
----------------------------------------*/

#globalNav a {
	display: block;
	text-decoration: none;
}

@media screen and (max-width: 767px) {
#globalNav .container { padding: 0; }
#globalNav a {
	padding: 10px;
	position: relative;
	font-size: 1.5rem;
}
#globalNav a:before {
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -.5em;
	font-family: "FontAwesome";
	line-height: 1;
	content: "\f105";
}
#globalNav .menu--active { text-decoration: underline; }
#globalNav .dropdown:not(.dropdown-pc) > a:before {
	content: "\f107";
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
}

/* menu--primary */

#globalNav .menu--primary + .menu--primary { border-top: 1px solid #000; }
#globalNav .menu--primary > a {
	color: #fff;
	background: #262624;
}
#globalNav .menu--primary.dropdown:not(.dropdown-pc) > a:before { background: #000; }

/* dropdown */

#globalNav .dropdownNav { display: none; }
#globalNav .menu--secondary + .menu--secondary { border-top: 1px solid #d9d7ce; }
#globalNav .menu--secondary a {
	background: #fff;
	color: #262624;
}
#globalNav .menu--secondary.dropdown:not(.dropdown-pc) > a:before { background: #d9d7ce; }
#globalNav ul.clearfix .dropdown > a.menu--opened:before { content: "\f106"; }
#globalNav .dropdownNav .dropdownNav a { background: #f2f0e6; }

/* col */

#globalNav .menu--col6-sp:nth-child(2) { border-top: none; }
#globalNav .menu--col6-sp:nth-child(2n), #globalNav .menu--col6-sp + .menu--col6-sp, #globalNav .menu--col4-sp + .menu--col4-sp, #globalNav .menu--col3-sp + .menu--col3-sp, #globalNav .menu--col8-sp + .menu--col4-sp, #globalNav .menu--col9-sp + .menu--col3-sp { border-left: 1px solid #000; }
}

@media print, screen and (min-width: 768px) {
#globalNav { margin-bottom: 10px; }
#globalNav .clearfix {
	letter-spacing: -.4em;
	font-size: 1.4rem;
	font-family: 'Noto Sans Japanese', sans-serif;
}

/* menu--primary */

#globalNav .menu--primary {
	display: inline-block;
	letter-spacing: normal;
	position: relative;
}
#globalNav .menu--primary {
	padding-left: 5px;
	margin-left: 6px;
}
#globalNav .menu--primary:before {
	content: "";
	width: 1px;
	height: 20px;
	position: absolute;
	top: 50%;
	left: -1px;
	margin-top: -10px;
	background: #d9d7ce;
}
#globalNav .menu--list {
	padding-left: 0;
	margin-left: 0;
}
#globalNav .menu--list:before { display: none; }

/* a */

#globalNav .menu--primary > a {
	padding: 13px 15px;
	color: #262624;
	-moz-border-radius: 3px;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	transition: background .1s linear;
}
#globalNav .menu--primary > a:hover,
#globalNav .menu--primary.menu--active a {
	background: #cc5252;
	color: #fff;
}
#globalNav .menu--primary.menu--active a:hover { background: #e66767; }

/* dropdown */

#globalNav .dropdown {
	position: relative;
	z-index: 10;
	font-size: 1.4rem;
}
#globalNav .dropdownNav {
	display: none;
	position: absolute;
	top: 50px;
	left: 0;
	background: #fff;
	width: 200px;
	z-index: 11;
}
#globalNav .menu--primary:last-child .dropdownNav {
	left: auto;
	right: 0;
}
#globalNav .dropdown:hover > .dropdownNav { display: block; }
#globalNav .menu--secondary + .menu--secondary { border-top: 1px solid #d9d7ce; }
#globalNav .menu--secondary a {
	position: relative;
	padding: 10px;
	transition: all .2s linear;
	color: #403f3d;
}
#globalNav .menu--secondary a:hover, #globalNav .menu--secondar.menu--active a { background: #f2f0e6; }
#globalNav .menu--secondary a:before {
	font-family: "FontAwesome";
	content: "\f105";
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -.5em;
	line-height: 1;
}
#globalNav .menu--secondary.dropdown > a:before {
	background: #d9d7ce;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	text-align: center;
	line-height: 20px;
	margin-top: -10px;
}
#globalNav .dropdownNav .dropdownNav {
	top: 0;
	left: 200px;
	z-index: 12;
}
}

/*----------------------------------------
subNav
----------------------------------------*/

@media screen and (max-width: 767px) {
#toggleNav .subNav .menu + .menu { border-top: 1px solid #262624; }
#toggleNav .subNav a {
	display: block;
	text-decoration: none;
	background: #403f3d;
	position: relative;
	padding: 10px;
	color: #fff;
	font-size: 1.5rem;
}
#toggleNav .subNav a:before {
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -.5em;
	font-family: "FontAwesome";
	line-height: 1;
	content: "\f105";
}
#toggleNav .menu--privacy a:before { content: "\f08e"; }
#toggleNav .subNav .menu--active { text-decoration: underline; }

/* col */

#toggleNav .subNav .menu--col6-sp:nth-child(2) { border-top: none; }
#toggleNav .subNav .menu--col6-sp:nth-child(2n), #toggleNav .subNav .menu--col6-sp + .menu--col6-sp, #toggleNav .subNav .menu--col4-sp + .menu--col4-sp, #toggleNav .subNav .menu--col3-sp + .menu--col3-sp, #toggleNav .subNav .menu--col8-sp + .menu--col4-sp, #toggleNav .subNav .menu--col9-sp + .menu--col3-sp { border-left: 1px solid #262624; }
}

/*----------------------------------------
info
----------------------------------------*/

@media screen and (max-width: 767px) {
#toggleNav .shop + .shop {
	border-top: 1px dotted #d9d7ce;
	margin-top: 10px;
	padding-top: 10px;
}
#toggleNav .shop_tel {
	font-weight: bold;
	line-height: 1;
}
#toggleNav .phone-sp { font-size: 3.5rem; }
#toggleNav .shop_help {
	border-top: 1px dotted #d9d7ce;
	margin-top: 5px;
	padding-top: 5px;
	font-size: 1.3rem;
}
}

/*----------------------------------------
social
----------------------------------------*/

@media screen and (max-width: 767px) {
#toggleNav .socialArea, #toggleNav .socialArea .container { text-align: center; }
#toggleNav .socialArea { border-bottom: 1px solid #d9d7ce; }
}

/*----------------------------------------*----------------------------------------
side
----------------------------------------*----------------------------------------*/

/*----------------------------------------*----------------------------------------
footer
----------------------------------------*----------------------------------------*/

@media screen and (max-width: 767px) {
#footer { background: #262624; }
#footer .col {
	font-size: 1.3rem;
	padding-bottom: 10px;
	padding-top: 10px;
	color: #fff;
	text-align: center;
}
}

@media print, screen and (min-width: 768px) {
#footer { background: url(../img/bg-seigaiha-black.jpg); }
#footer .col {
	font-size: 1.3rem;
	padding-bottom: 20px;
	padding-top: 20px;
	color: #fff;
}
}

/*----------------------------------------
footerNav
----------------------------------------*/

@media screen and (max-width: 767px) {
#footerNav .menu--primary {
	text-align: left;
	float: left;
	text-align: left;
	border-bottom: 1px solid #000;
	font-size: 1.2rem;
}
#footerNav a {
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 10px;
	position: relative;
}
#footerNav a:before {
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -.5em;
	font-family: "FontAwesome";
	line-height: 1;
	content: "\f105";
}
#footerNav .menu--active a { text-decoration: underline; }
#footerNav .menu:nth-child(2n+3) { border-left: 1px solid #000; }
}

@media print, screen and (min-width: 768px) {
#footerNav {
	border-bottom: 1px solid #403f3d;
	font-size: 1.2rem;
}
#footerNav ul {
	letter-spacing: -.4em;
	border-bottom: 1px solid #000;
	padding: 15px 0;
}
#footerNav li {
	display: inline;
	letter-spacing: normal;
}
#footerNav li + li {
	margin-left: 1em;
	padding-left: 1em;
	border-left: 1px solid #403f3d;
}
#footerNav a {
	color: #fff;
	text-decoration: none;
}
#footerNav a:hover, #footerNav .menu--active a { text-decoration: underline; }
}

/*----------------------------------------
info
----------------------------------------*/

@media screen and (max-width: 767px) {
#footer .footer_info { padding-top: 20px; }
#footer .footer_info a {
	color: #fff;
	text-decoration: none;
}
}

@media print, screen and (min-width: 768px) {
#footer .logo { font-weight: bold; }
#footer .footer_info a {
	color: #fff;
	text-decoration: none;
}
}

/*----------------------------------------
contact
----------------------------------------*/

@media screen and (max-width: 767px) {
#footer .contact_tel {
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 5px;
}
#footer .footer_btn { padding-bottom: 20px; }
#footer .btn {
	text-align: left;
	border-color: #fff;
	color: #fff;
}
#footer .btn:hover { background: rgba(64,63,61,.5); }
#footer .phone-sp { color: #fff; }
}

@media print, screen and (min-width: 768px) {
#footer .footer_contact { text-align: right; }
#footer .contact_tel {
	font-size: 2.6rem;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 3px;
}
#footer .btn {
	text-align: left;
	border-color: #fff;
	color: #fff;
}
#footer .btn:hover { background: rgba(64,63,61,.5); }
}

/*----------------------------------------*----------------------------------------
copyright
----------------------------------------*----------------------------------------*/

@media screen and (max-width: 767px) {
#copyright {
	font-size: 1.2rem;
	padding: 10px 0;
}
}

@media print, screen and (min-width: 768px) {
#copyright {
	font-size: 1.3rem;
	padding: 10px 0;
}
}

/*----------------------------------------*----------------------------------------
pageTop
----------------------------------------*----------------------------------------*/

#pageTop {
	bottom: 10px;
	position: fixed;
	right: 10px;
}
#pageTop a {
	background: url(../img/pageTop.png) no-repeat left top;
	height: 100px;
	width: 100px;
}

/*----------------------------------------*----------------------------------------
pageHeader
----------------------------------------*----------------------------------------*/

@media screen and (max-width: 767px) {
#pageHeader {
	background: url(../img/pageHeader.jpg) no-repeat center center;
	background-size: cover;
	padding: 20px 0;
	text-align: center;
}
#pageHeader h1 {
	font-size: 1.8rem;
	font-weight: normal;
	line-height: 1;
	color: #fff;
	background: url(../../img/topimage_text.png);
	background-size: contain;
	width: 249px;
	margin: 0 auto;
	padding: 15px 0;
}
}

@media print, screen and (min-width: 768px) {
#pageHeader {
	background: url(../img/pageHeader.jpg) no-repeat center center, url(../img/bg-seigaiha-darkBeige.jpg);
	padding: 70px 0;
	text-align: center;
}
#pageHeader h1 {
	font-size: 3rem;
	font-weight: 500;
	font-family: 'Noto Sans Japanese', sans-serif;
	letter-spacing: .1em;
	line-height: 1;
	color: #fff;
	background: url(../../img/topimage_text.png);
	width: 498px;
	margin: 0 auto;
	padding: 30px 0;
}
}

/*----------------------------------------*----------------------------------------
shortcut
----------------------------------------*----------------------------------------*/

#shortcut { font-size: 1.4rem; }
#shortcut a {
	color: #403f3d;
	text-decoration: none;
	transition: all .2s linear;
	position: relative;
}
#shortcut a:before {
	font-family: "FontAwesome";
	content: "\f107";
}

@media screen and (max-width: 767px) {
#shortcut { text-align: left; }
#shortcut li + li { border-top: 1px solid #d9d7ce; }
#shortcut a {
	display: block;
	padding: 10px 15px;
	background: #f2f0e6;
}
#shortcut a:before {
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -.5em;
	line-height: 1;
}
}

@media print, screen and (min-width: 768px) {
#breadcrumb +#shortcut { margin-top: 20px; }
#shortcut ul { letter-spacing: -.4em; }
#shortcut li {
	display: inline;
	position: relative;
	letter-spacing: normal;
}
#shortcut li + li { margin-left: 20px; }
#shortcut a:before { margin-right: 10px; }
#shortcut a:hover { color: #f00; }
}

/*----------------------------------------*----------------------------------------
breadcrumb
----------------------------------------*----------------------------------------*/

@media screen and (max-width: 767px) {
#breadcrumb { display: none; }
}

@media print, screen and (min-width: 768px) {
#breadcrumb {
	letter-spacing: -.4em;
	font-size: 1.3rem;
	background: #f2f0e6;
	padding: 10px 0;
	line-height: 1;
}
#breadcrumb li {
	letter-spacing: normal;
	display: inline;
}
#breadcrumb li:before {
	font-family: "FontAwesome";
	content: "\f105";
	margin: 0 10px;
}
#breadcrumb li:first-child:before {
	content: "";
	margin: 0;
}
#breadcrumb a {
	color: #403f3d;
	text-decoration: none;
}
#breadcrumb a:hover, #breadcrumb a:active { text-decoration: underline; }
}

/*----------------------------------------*----------------------------------------
parallax
----------------------------------------*----------------------------------------*/

@media screen and (max-width: 767px) {
.parallax { height: 100px; }
}

@media print, screen and (min-width: 768px) {
.parallax { height: 200px; }
}

/*----------------------------------------*----------------------------------------
ad
----------------------------------------*----------------------------------------*/

#ad {
  background-attachment: fixed;
}
#ad .ht {
  font-size: 1.6rem;
  font-weight: bold;
}
#ad .container {
  text-align: center;
}
@media screen and (max-width: 767px) {
  #ad .slick-slide {
    margin-left: 5px;
    margin-right: 5px;
  }
}
@media print, screen and (min-width: 768px) {
  #ad {
    padding-top: 40px;
    padding-bottom: 20px;
  }
  #ad .slick_slider {
    margin-left: -5px;
    margin-right: -5px;
  }
  #ad .slick_slider div {
    width: 20%;
    float: left;
    padding: 5px;
  }
}
