@charset "utf-8";

.vertical-list {
	font-size: 0;
	text-align: center;
}
.vertical-item {
	display: inline-block;
	margin: 0 5px 30px;
	font-size: 1.5rem;
	min-width: 1.5em;
	vertical-align: top;
}
.vertical-txt {
	font-size: 1.5rem;
	font-weight: bold;
	writing-mode: vertical-rl;
	text-orientation: upright;
}

.nav-list {
	margin: 0 0 40px;
	font-size: 0;
	text-align: center;
}
.nav-list .nav-item {
	display: inline-block;
	vertical-align: top;
}
.nav-list .nav-item a {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	min-width: 100px;
	margin: 5px 10px;
	padding: 2px 20px;
	font-size: 1.3rem;
	line-height: 1.25;
	background: #111;
	text-align: center;
	transition: opacity 0.35s;
	vertical-align: top;
}
.post-type-archive-news .nav-list .nav-item a {
	background: #643c1e;
}
.nav-list .nav-item a:hover {
	opacity: 0.7;
}
.nav-list .nav-item a .nav-inner {
	font-size: 1.3rem;
	color: #fff;
}

.btn-box {
	margin-top: 30px;
	text-align: center;
}
.btn {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	min-width: 160px;
	padding: 2px 20px;
	font-size: 1.3rem;
	line-height: 1.25;
	background: #111;
	text-align: center;
	transition: opacity 0.35s;
	vertical-align: top;
}
.btn-purchase {
	min-width: 140px;
	padding: 6px 10px;
	font-size: 1.5rem;
	background: #b4b4b4;
}

.btn:hover {
	opacity: 0.7;
}

.btn .btn-inner {
	position: relative;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	vertical-align: middle;
	z-index: 2;
}

@media screen and (max-width: 768px) {
	.btn {
		min-width: 200px;
		padding: 5px 20px;
	}
	.btn .btn-inner {
		font-size: 1.6rem;
	}
}


/* = Header
-------------------------------------------------------------- */
.header {
	box-sizing: border-box;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	background: #000;
}
#header-fixed {
	position: fixed;
	z-index: 30;
}

.header .txt {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	line-height: 1.3;
}
.h-content {
	box-sizing: border-box;
	position: relative;
	height: 100px;
	padding: 14px 28px;
	background: #000;
	z-index: 51;
}
.h-content-left {
	font-size: 0;
}
.h-content .txt {
	color: #fff;
}

.h-site-ttl,
.h-menu,
.h-lang-switcher {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	margin: 0;
	padding: 0 20px;
	text-align: center;
	vertical-align: bottom;
}
.h-site-ttl .img-box {
	display: block;
	text-align: center;
}
.h-site-ttl .txt {
	display: block;
	margin: 10px 0 0;
	font-weight: 400;
}

.h-menu {
	height: 72px;
}
.h-menu .txt {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 60px;
	text-align: center;
}

.h-lang-switcher {
	padding-left: 12px;
}
.h-lang-switcher li a {
	position: relative;
	font-size: 1.5rem;
	color: #fff;
	letter-spacing: 0.1em;
	line-height: 1.3;
}
.h-lang-switcher li a::before {
	content: ">";
}

.h-cart-btn {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	right: 30px;
	display: block;
	width: 170px;
	height: 100px;
	padding-top: 20px;
	background: #fff;
	text-align: center;
	transition: opacity 0.35s;
	z-index: 52;
}
.h-sub-menu .h-cart-btn {
	position: static;
	display: inline-block;
	margin-top: 20px;
}
.h-cart-btn .img-box {
	display: inline-block;
	vertical-align: top;
}
.h-cart-btn .txt {
	display: block;
	margin-top: 8px;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0;
	color: #111;
}

@media screen and (max-width: 768px) {
	.h-content {
		padding-left: 10px;
		padding-right: 10px;
	}
	.h-menu {
		height: 76px;
	}
	.h-menu .txt {
		width: 80px;;
	}
	.h-cart-btn .txt {
		margin-top: 10px;
		font-size: 1.3rem;
	}
}

/** ************************
 * hamburger(btn) style
 ************************ **/
.gnav-hamburger {
	box-sizing: border-box;
	position: relative;
	display: inline-block;
	width: 50px;
	height: 50px;
	background: transparent;
	transition: 0.35s;
}

.gnav-hamburger:hover {
	opacity: 1;
}

.gnav-hamburger .hamburger__icon {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto auto;
}
.gnav-hamburger .hamburger__icon, 
.gnav-hamburger .hamburger__icon::before, 
.gnav-hamburger .hamburger__icon::after {
	display: block;
	width: 50px;
	height: 2px;
	background-color: #fff;
	transition-property: background-color, transform;
	transition-duration: 0.4s;
}
.gnav-hamburger .hamburger__icon::before, 
.gnav-hamburger .hamburger__icon::after {
	position: absolute;
	content: "";
}
.gnav-hamburger .hamburger__icon::before {
	top: -15px;
}
.gnav-hamburger .hamburger__icon::after {
	top: 15px;
}

/** ************************
 * open action
 ************************ **/
.is-opend .gnav-hamburger .hamburger__icon::before {
	-webkit-transform: translateY(15px) rotate(-45deg);
	transform: translateY(15px) rotate(-45deg);
}
.is-opend .gnav-hamburger .hamburger__icon {
	background: rgba(255,255,255,0);
}
.is-opend .gnav-hamburger .hamburger__icon::after {
	-webkit-transform: translateY(-15px) rotate(45deg);
	transform: translateY(-15px) rotate(45deg);
}


/* = #gnav
-------------------------------------------------------------- */
.h-sub-menu {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: -220px;
	width: 220px;
	font-size: 0;
	background: #000;
	opacity: 0;
	transition: opacity 0.5s;
	z-index: 50;
}
#header-fixed .h-sub-menu {
	height: 100vh;
}
.is-opend .is-active .h-sub-menu {
	opacity: 1;
}
.h-sub-menu .inner {
	animation: menu_off0 0.5s ease-in-out forwards;
	width: 100%;
	padding-top: 100px;
	position: absolute;
	text-align: center;
	top: 0;
	left: -100%;
	background: #000;
	overflow: auto;
}
#header-fixed .h-sub-menu .inner {
	height: 90%;
}
.is-opend .is-active .h-sub-menu .inner {
	animation: menu_on0 0.5s ease-in-out forwards;
}
@keyframes menu_off0 {
	0% { left: 220px; opacity: 1; }
	100% { left: 0; opacity: 0; }
}
@keyframes menu_on0 {
	0% { left: 0; opacity: 0; }
	100% { left: 220px; opacity: 1; }
}

.h-sub-menu a {
	font-size: 1.8rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.4;
	letter-spacing: 0.1em;
}

.h-sub-menu .menu-list {
	padding: 5px 20px;
	background: #000;
	text-align: center;
}
.h-sub-menu .menu-list li {
	margin: 25px 0;
}

@media screen and (max-width: 768px) {
	.h-sub-menu {
		width: 320px;
		left: -320px;
	}
	@keyframes menu_off0 {
		0% { left: 320px; opacity: 1; }
		100% { left: 0; opacity: 0; }
	}
	@keyframes menu_on0 {
		0% { left: 0; opacity: 0; }
		100% { left: 320px; opacity: 1; }
	}
}


/* = #mainvisual
-------------------------------------------------------------- */
#mainvisual {
	position: relative;
	width: 100%;
	height: 260px;
	background: #000 no-repeat center center;
	background-image: url("../images/common/mainvisual_bg_01.png");
	background-size: cover;
	text-align: center;
}
.pg-tmplt-niigata #mainvisual,
.parent-pg-niigata #mainvisual {
	background-image: url("../images/page/niigata_mainvisual_bg_01.png");
}
.pg-tmplt-nagaoka #mainvisual,
.parent-pg-nagaoka #mainvisual {
	background-image: url("../images/page/nagaoka_mainvisual_bg_01.png");
}
.pg-tmplt-yuzawa #mainvisual,
.parent-pg-yuzawa #mainvisual {
	background-image: url("../images/page/yuzawa_mainvisual_bg_01.png");
}
.pg-tmplt-about #mainvisual {
	background-image: url("../images/page/about_mainvisual_bg_01.png");
}
.pg-tmplt-access #mainvisual {
	background-image: url("../images/page/access_mainvisual_bg_01.png");
}
.pg-tmplt-company #mainvisual {
	background-image: url("../images/page/company_mainvisual_bg_01.png");
}

.post-type-archive-news #mainvisual, 
.single-news #mainvisual {
	background-image: url("../images/page/news_mainvisual_bg_01.png");
}
.post-type-archive-kura #mainvisual, 
.single-kura #mainvisual {
	background-image: url("../images/page/kura_mainvisual_bg_01.png");
}
.post-type-archive-pb #mainvisual, 
.single-pb #mainvisual {
	background-image: url("../images/page/pb_mainvisual_bg_01.png");
}
.post-type-archive-recruit #mainvisual, 
.single-recruit #mainvisual {
	background-image: url("../images/page/recruit_mainvisual_bg_01.png");
}

#mainvisual .img-box {
	width: 160px;
	margin: 0 auto;
}

#mainvisual .ttl-box {
	margin-top: 40px;
}

#mainvisual .sub-ttl {
	display: block;
	margin-top: -20px;
	font-size: 1.5rem;
}
#mainvisual #pg-ttl {
	margin: 0;
	font-size: 3rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.5em;
	color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
#mainvisual .sub-ttl {
	color: #fff;
}
@media screen and (max-width: 768px) {
	#mainvisual #pg-ttl {
		letter-spacing: 0.3em;
	}
}

/* = #breadcrumbs
-------------------------------------------------------------- */
#breadcrumbs {
	position: relative;
	display: block;
	padding: 10px 0;
	font-size: 1.4rem;
	color: #111;
	text-align: left;
	vertical-align: top;
}
#breadcrumbs .content-width a,
#breadcrumbs .content-width span {
	font-weight: 400;
}
#breadcrumbs .content-width a {
}
#breadcrumbs .content-width > span {
	margin: 0 5px;
}
#breadcrumbs .content-width > span:first-child {
	margin-left: 0;
}

/* = Sidebar
-------------------------------------------------------------- */
#sidebar {
}
.side-box {
}
.side-box + .side-box {
	margin-top: 50px;
}

.side-box .ttl-box {
	margin-bottom: 15px;
}

.side-box .entry-list li {
	padding: 15px 0;
	background: transparent;
}
.side-box .entry-list li:first-child {
	padding-top: 0;
}
.side-box .entry-list li .ttl {
	display: block;
	white-space: normal;
	overflow: visible;
}
.side-box .bnr-container {
	font-size: 0;
}
.side-box .bnr {
	max-width: 210px;
	margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
	.side-box .bnr {
		width: 48%;
	}
	.side-box .bnr {
		width: 48%;
	}
	.side-box .bnr:nth-child(2n) {
		margin-left: 4%;
	}
}

/* = Footer
-------------------------------------------------------------- */
#footer {
	position: relative;
	padding: 30px 0 0;
	text-align: center;
}
#f-logo {
	margin: 10px 0;
}

#copyright {
	padding: 15px 0;
}
	#copyright p {
		margin: 0;
		font-size: 1.2rem;
	}
		#copyright p small {
			font-size: inherit;
		}

@media screen and (max-width: 768px) {
	#copyright p {
		font-size: 1.4rem;
	}
}

/* = Pagenavi
-------------------------------------------------------------- */
.wp-pagenavi {
	clear: both;
	font-size: 1.8rem;
	text-align: center;
	margin: 30px 0;
}
.wp-pagenavi a, .wp-pagenavi span {
	box-sizing: border-box;
	display: inline-block;
	width: 1.9em;
	height: 1.9em;
	margin: 0 0.25em;
	font-weight: normal;
	line-height: 1.7;
	letter-spacing: 0;
	color: #111;
	background: #fff;
	border: 1px solid #111;
	border-radius: 50%;
	text-align: center;
	vertical-align: middle;
	transition: 0.35s;
}
.wp-pagenavi span.current,
.wp-pagenavi a:hover {
	color: #fff;
	background: #111;
	border-color: #111;
	text-decoration: none;
	opacity: 1;
}
.wp-pagenavi .previouspostslink,
.wp-pagenavi .nextpostslink {
	position: relative;
	width: 1.1em;
	height: 1.1em;
	background: #111;
	border-radius: 100%;
	text-indent: -999999px;
	vertical-align: middle;
}
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .nextpostslink:hover {
	background: #fff;
}
.wp-pagenavi .previouspostslink::after,
.wp-pagenavi .nextpostslink::after {
	content: '';
	position: absolute;
	top: 0.3em;
	width: 0;
	height: 0;
	border-style: solid;
}
.wp-pagenavi .previouspostslink::after {
	left: 0.3em;
	border-width: 4px 6px 4px 0;
	border-color: transparent #fff transparent transparent;
}
.wp-pagenavi .nextpostslink::after {
	left: 0.4em;
	right: auto;
	border-width: 4px 0 4px 6px;
	border-color: transparent transparent transparent #fff;
}
.wp-pagenavi .extend {
	width: 1em;
	color: #111;
	background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
	border: medium none;
}
.wp-pagenavi .extend::after {
	content: "…";
}
.wp-pagenavi .pages {
	display: none;
}

@media screen and (max-width: 768px) {
	.wp-pagenavi {
		margin: 40px 0;
		font-size: 1.5rem;
	}
}

/* = #nav-below
-------------------------------------------------------------- */
#nav-below {
	margin-top: 60px;
	padding: 20px 0;
	font-size: 1.4rem;
	border-top: 1px solid #eee;
}
#nav-below .leftside {
	float: left;
	box-sizing: border-box;
	width: 50%;
}
#nav-below .rightside {
	float: right;
	box-sizing: border-box;
	width: 50%;
	border-left: 1px solid #eee;
	text-align: right;
}
#nav-below h3 {
	margin: 0 0 1rem 0;
	font-size: 1.5rem;
}
#nav-below a {
	display: table;
	width: 100%;
}
#nav-below .img-box {
	box-sizing: border-box;
	display: table-cell;
	width: 132px;
	background: #fff;
	border: 1px solid #eee;
	overflow: hidden;
	vertical-align: middle;
}
#nav-below a img {
	width: 100%;
}
#nav-below a h4 {
	display: table-cell;
	padding: 0 1rem;
	font-weight: normal;
	line-height: 1.25;
	-webkit-font-smoothing: initial;
	-moz-osx-font-smoothing: unset;
	vertical-align: middle;
}
#nav-below .first,
#nav-below .last {
	margin: 2.85rem 0;
}

@media screen and (max-width: 768px) {
	#nav-below {
		margin-bottom: 4rem;
	}
	#nav-below a h4 {
		font-size: 1.3rem;
	}
}

/* = お問い合わせ - contact -
-------------------------------------------------------------- */
.form-table {
	margin: 10px 0;
}
.form-table th,
.form-table td {
	border-color: #c8c8c8;
	font-size: 1.5rem;
}
.form-table th {
	width: 200px;
	padding: 20px 0;
	text-align: left;
	vertical-align: top;
}
.form-table th span.condition {
	display: inline-block;
	margin-right: 20px;
	padding: 2px 4px;
	line-height: 1.1;
	color: #fff;
	background: #c8c8c8;
	vertical-align: top;
}
.form-table th span.required {
	background: #f00;
}
.form-table th span.form-item-name {
	display: inline-block;
	vertical-align: top;
}

.wpcf7-form-control-wrap {
	box-sizing: border-box;
	width: 100%;
	display: inline-block;
	vertical-align: middle;
}

.wpcf7-form .btn-box {
	margin: 20px 0;
	text-align: center;
}

.wpcf7-form .btn-submit {
	box-sizing: border-box;
	display: inline-block;
	margin: 0;
	width: 250px;
	padding: 12px 0;
	padding: 13px 0 11px\0;
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	background: #111;
	border: 0;
	transition: opacity 0.35s;
	vertical-align: top;
}
.wpcf7-form .btn-submit:hover {
	opacity: 0.7;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="password"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form input[type="number"],
.wpcf7-form select,
.wpcf7-form textarea {
	box-sizing: border-box;
	max-width: 600px;
	width: 98%;
	padding: 0.2em 0.4em;
	font-size: 1.5rem;
}
.wpcf7-form select {
	width: auto;
	padding: 0.2em 0.4em 0.4em;
}

.wpcf7-form .field-select .wpcf7-form-control-wrap {
	display: inline-block;
	width: auto;
	vertical-align: middle;
}
.wpcf7-form .field-select span + span {
	margin-left: 15px;
}
.wpcf7-form .field-select .separator {
	display: inline-block;
	margin: 0 5px;
	vertical-align: middle;
}

@media screen and (max-width: 768px) {
	.form-table th,
	.form-table td {
		font-size: 1.8rem;
	}
	.form-table th span.condition {
		font-size: 1.6rem;
		line-height: 1.3;
		padding: 4px;
	}
	.wpcf7-form input[type="text"],
	.wpcf7-form input[type="password"],
	.wpcf7-form input[type="email"],
	.wpcf7-form input[type="tel"],
	.wpcf7-form input[type="url"],
	.wpcf7-form input[type="number"],
	.wpcf7-form select,
	.wpcf7-form textarea {
		padding: 0.2em 0.4em;
		font-size: 2.1rem;
	}
	.wpcf7-form table,
	.wpcf7-form tbody, 
	.wpcf7-form tr, 
	.wpcf7-form th, 
	.wpcf7-form td {
		box-sizing: border-box;
		display: block;
		width: 100%;
	}
	.wpcf7-form th {
		text-align: left;
	}
	.wpcf7-form td {
		padding: 12px 0;
	}
	.wpcf7-form-control-wrap.your-zip {
		width: 150px;
	}
	.wpcf7-form .btn-submit {
		width: 320px;
	}
}