/*
Theme Name: Next Market
Theme URI: http://www.webcreatormana.com/newworld-ja/
Description: WordPress 3.0の新機能を搭載したカラフルだけど落ち着きのあるデザインのテーマ
Version: 1.1
Author: Pleasure
*/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	outline:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
body { line-height:1;}
article, aside, dialog, figure, footer, header, hgroup, nav, section { display:block;}
nav ul { list-style:none;}
blockquote, q { quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {
	content:'';
	content:none;
}
body a { color: #555;}
body a:hover {
	color: #333;
	text-decoration: none;
	opacity: .5;
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	font-feature-settings : "palt";
}
a {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	vertical-align:baseline;
	background:transparent;
}
ins {
	background-color:#ff9;
	color:#000;
	text-decoration:none;
}
mark {
	background-color:#ff9;
	color:#000;
	font-style:italic;
	font-weight:bold;
}
del { text-decoration: line-through;}
abbr[title], dfn[title] {
	border-bottom:1px dotted #000;
	cursor:help;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
hr {
	display:block;
	height:1px;
	border:0;
	border-top:1px solid #ccc !important;
	margin:2em 0;
	padding:0;
}
input, select { vertical-align: middle;}
.small, small { font-size: 80% !important;}
/* common */
body { display: none;}
body {
	font-family: "游ゴシック体", "游ゴシック", 'Yu Gothic', YuGothic, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif !important;
	font-size: 16px !important;
	color: #555;
	font-feature-settings : "palt";
	background: #fafafa !important;
}
@font-face {
	font-family: 'Oswald';
	src: url('fonts/Oswald.woff');
}
.oswald { font-family: "Oswald", sans-serif;}
::selection {
	color: #555;
	background:#ccc; /* Safari */
}
::-moz-selection {
	color: #555;
	background:#ccc; /* Firefox */
}
.br:before {
	content: "\A" ;
	white-space: pre ;
}
.autoheight {
	display: flex;
	flex-wrap: wrap;
}
.container { position: relative;}
a:active { text-decoration: none !important;}
a:focus, a:hover { text-decoration: none !important;}
.more {
	background: #222;
	display: table;
	margin: 5px 0;
	height: 24px;
}
.more a {
	font-size: 14px;
	color: #fff;
	display: block;
	padding: 2px 0 2px 5px;
}
.more a:hover { color: #eee;}
.more a::after {
	content: "＞";
	position: relative;
	right: 0;
}
.icon_container ul { text-align: center;}
.icon_container li {
	text-align: center;
	display: inline-block;
	width: 120px;
	margin: 0 10px;
	vertical-align: top;
}
.bold { font-weight: bold;}
.red { color: red;}
.button {
	display: inline-block;
	text-decoration: none;
	outline: none;
}
.button::before,
.button::after {
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.button,
.button::before,
.button::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.list-area li {
	display: block;
	margin-bottom: 10px;
}
.list-area li:before {
	content: '•';
	padding-right: 5px;}
/* header */
header {
	width: 100%;
	z-index: 10;
}
header h1 {
	font-weight: 300;
	letter-spacing: 3px;
	color: #2e2e2e;
	font-size: 84px;
	text-align: center;
	letter-spacing: 4vmin;
	margin-bottom: 60px;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
	position: relative;
}
@keyframes fadeIn {
    0% {top: -40px; opacity: 0}
    100% {top: 0; opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {top: -40px; opacity: 0}
    100% {top: 0; opacity: 1}
}
.menu-mobile {
	line-height: 1;
	/*display: block !important;*/
	padding: 0 !important;
	position: absolute;
	top: 30px;
	right: 30px;
	z-index: 25;
}
.menu-container {
	width: 100%;
	position: fixed !important;
	top: 0;
}
.menu > ul { display: none;}
.menu > ul > li {
	text-align: center;
	border-top: 1px dotted #ccc;
}
.menu > ul > li a {
	font-size: 18px;
	font-weight: bold;
	padding: 20px 0;
}
.menu > ul > li a:hover {
	color: #333;
	background: rgba(204, 204, 204, .8);
	opacity: 1;
}
.menu .show-on-mobile {
	display: block;
	background: rgba(211,211,211,.8);
	padding: 80px 0 0;
	transition: all 1s;
}
.menu-mobile:after {
	font-size: 48px !important;
	top: 40% !important;
}
/* main */
.block_1 { padding: 60px 0;}
.block_2 { padding: 40px 0;}
.block_3 { padding: 30px 0;}
.block_4 { padding: 20px 0;}
.block_5 { padding: 15px 0;}
.block_6 { padding: 0 0 60px;}
.block_7 { padding: 0 0 40px;}
.block_8 { padding: 0 0 30px;}
.block_9 { padding: 0 0 20px;}
.block_10 { padding: 0 0 15px;}
.extra_wrap {
	display: table;
	content: '';
}
main h1, main h2, main h3 {
	font-weight: 300;
	letter-spacing: 3px;
	color: #2e2e2e;
}
main h2 {
	font-size: 20px;
	line-height: 1.4;
	margin: 0;
	position: relative;
}
main h2 span {
	color: #b8b9ba;
	letter-spacing: 0;
	padding-right: 5px;
}
main h3 {
	font-size: 20px;
	line-height: 1.4;
	text-align: center;
	margin: 0 0 20px;
}
p {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 3px;
	color: #555;
}
#about, #service, #company, #news, #contact {
	display: table;
	content: '';
	width: 100%;
	padding-top: 120px;
}
#main {
	background: url(img/bg/bg-main.jpg) no-repeat center center;
	-webkit-background-size: cover;
	background-size: cover;
	position: relative;
	height: 100vh;
}
#main:before {
	background: rgba(255,255,255,.5);
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	content: '';
}
#main .container {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
#main .ttl-main {
	width: 100%;
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%); /* Safari用 */
	transform: translateY(-50%);
}
#main .main-and {
	font-size: 42px;
	color: #999;
}
#main p {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
.sidebar {
	float: left;
	width: 192px;
}
.wrapper-content {
	float: right;
	width: 100%;
	margin-left: -192px;
}
.content { margin-left: 192px;}
figure.circle { border-radius: 100%;}
#service figure {
	text-align: center;
	min-height: 100px;
	margin: 0 auto 30px;
}
#about h3, #company h3, #contact h3 { text-align: left;}
.cont-map {
	border: 1px solid #ddd !important;
	position: absolute;
	top: 48px;
	right: 15px;
	bottom: 0;
	left: 15px;
}
.map_base {
	width: 100%;
	height: 400px;
}
.cont-table dl {
	display: table;
	width: 100%;
	margin-bottom: 0 !important;
}
.cont-table dl dt {
	font-weight: 300;
	display: table-cell;
	vertical-align: middle;
	width: 30%;
	padding: 20px;
	border-top: 1px dotted #ddd;
}
.cont-table dl dd {
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	padding: 20px;
	border-top: 1px dotted #ddd;
}
.cont-table dl:last-child dt, .cont-table dl:last-child dd { border-bottom: 1px dotted #ddd;}
.cont-table dl dt label { width: 100%;}
#contact form { overflow: hidden;}
.cont-table label {
	font-weight: 300;
	margin-bottom: 0;
}
.cont-table .form-control {
	font-size: 16px;
	height: 50px;
	padding: 10px;
}
.cont-table textarea.form-control { height: auto;}
.btn-area {
	text-align: center;
	padding: 20px 0;
}
.btn-area .btn { padding: 10px 20px;}
/* footer */
footer {
	width: 93.8%;
	padding-top: 120px;
	padding-bottom: 30px;
	margin-left: 3.3%;
	overflow: hidden;
}
.footer-area {
	font-size: 14px;
	text-align: center;
}
/* company */
main .btn {
	padding: 15px 0;
	border-radius: 0;
	background: #333;
	color: #fff;
	border: none;
	text-shadow: none;
}
main .btn:hover, main .btn:focus {
	color: #fff;
	opacity: .8;
}
.list li {
	display: block;
	margin-bottom: 20px;
}
/* privacy */
/* sitemap */
/* faq */
/* news */
#news .content li { display: block;}
#news .content figure { margin-bottom: 10px;}
#news .content figure img {
	display: block;
	width: 100%;
	height: auto;
	border: 4px solid #fff;
	box-shadow: 0 0 5px rgba(0,0,0,.1);
}
#news .content figure a:hover,
#news .content figure a:focus {
	display: block;
	opacity: .8;
}
#news .content li .metabox h3 { margin-bottom: 10px;}
#news .content li .metabox .date {
	font-size: 14px;
	line-height: 1;
	text-align: center;
}
#news .content li .caption img { display: none;}
#news .content .post { margin-bottom: 60;}
#news .content .post img {
	border: 4px solid #fff;
	box-shadow: 0 0 5px rgba(0,0,0,.1);
}
#news .content .post h3 { text-align: left;}
#news .content .post .blog_info li { display: block;}
#news .content .post .attachment-post-thumbnail { margin-bottom: 30px;}
.news-day { margin-left: -5px;}
.nav-below .nav-previous a:after {
	content: '>';
	margin-left: 5px;
}
.nav-below .nav-next a:before {
	content: '<';
	margin-right: 5px;
}
.nav-below .nav-previous { float: right;}
/* contact */
.form {
	max-width: 1140px;
	margin: 0 auto;
}
.form .cat_container { margin-bottom: 30px;} 
main fieldset {
	padding: 0;
	margin: 0;
	border: none;
}
.form ul.step {
	width: 100%;
	margin: 0 auto 40px;
	overflow: hidden;
}
.form ul.step li {
	font-size: 18px;
	display: block;
	float: left;
	width: 33.33333%;
	padding: 20px 0;
	margin: 0;
	border: 1px solid #faca16;
}
.form .step1 { background: #faca16;}
.form .step2 { background: #fae289;}
.form .step3 { background: #fff;}
.form ul.step li:first-child {
	position: relative;
	display: inline-block;
	text-align: center;
	border-right: none;
	z-index: 3;
}
.form ul.step li:nth-child(2n) {
	position: relative;
	display: inline-block;
	text-align: center;
	border-right: none;
	border-left: none;
	z-index: 2;
}
.form ul.step li:last-child {
	position: relative;
	display: inline-block;
	text-align: center;
	z-index: 1;
}
.form ul.step li:first-child:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #faca16;
}
.form ul.step li:nth-child(2n):after {
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #fae289;
}
.form .confirm .step1 { background: #fae289;}
.form .confirm .step2 { background: #faca16;}
.form .confirm .step3 { background: #fff;}
.form .confirm ul.step li:first-child {
	position: relative;
	display: inline-block;
	text-align: center;
	border-right: none;
	z-index: 3;
}
.form .confirm ul.step li:nth-child(2n) {
	position: relative;
	display: inline-block;
	text-align: center;
	border-right: none;
	border-left: none;
	z-index: 2;
}
.form .confirm ul.step li:last-child {
	position: relative;
	display: inline-block;
	text-align: center;
	z-index: 1;
}
.form .confirm ul.step li:first-child:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #fae289;
}
.form .confirm ul.step li:nth-child(2n):after {
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #faca16;
}
.form .completion .step1 { background: #fff;}
.form .completion .step2 { background: #fae289;}
.form .completion .step3 { background: #faca16;}
.form .completion ul.step li:first-child:after {
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #fff;
}
.form .completion ul.step li:nth-child(2n):after {
	content: "";
	position: absolute;
	top: 50%;
	right: -10px;
	margin-top: -10px;
	display: block;
	width: 0px;
	height: 0px;
	border-style: solid;
	border-width: 10px 0 10px 10px;
	border-color: transparent transparent transparent #fae289;
}
.form ul.step li:last-child { border-left: none;}
.form .icon_req {
	font-size: 14px;
	font-weight: bold;
	background: #faca16;
	padding: 2px 5px;
	margin-right: 5px;
	margin-left: 5px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
}
.form dt.req::after {
	font-size: 14px;
	font-weight: bold;
	background: #faca16;
	padding: 2px 5px;
	margin-right: 5px;
	margin-left: 5px;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	content: "必須";
	position: relative;
	right: 0;
}
.form dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 0;
	border-bottom: none;
	border-left: 1px solid #ccc;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
.form_box { border-top: 1px solid #ccc;}
.form dt {
	float: left;
	width: 30%;
	height: auto;
	font-weight: bold;
	text-align: center;
	background: rgba(250,202,22,0.2);
	display: table-cell;
	vertical-align: middle;
}
.form dd {
	float: right;
	width: 70%;
}
.form dd .help-block { margin-bottom: 0;}
.form dl dt, .form dl dd {
	text-align: left;
	padding: 15px;
	margin: 0;
	border-right: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
}
.form dt label { margin: 0;}
.form .form-inline .w200 { width: 200px;}
.form .form-inline .w400 { width: 405px;}
.form .m0 { margin: 0;}
.form .checkbox { padding: 40px;}
.form .checkbox a { text-decoration: underline;}
.form .req_red { color: #af0100;}
.form .cat_container .info_area p:last-child { margin-bottom: 0;}
.form .cat_container .has-error .form-control { background: rgba(175,1,0,.1);}
.btn-area .btn { margin: 0 10px;}
.btn-area .btn-submit { background: #E67300;}
div.wpcf7-mail-sent-ok {
	color: #fff;
	background: #E67300;
	padding: 10px;
	margin: 0 0 30px;
	border: none;
}
.req label:after {
	content: '必須';
	font-size: 14px;
	color: #fff;
	background: #E67300;
	float: right;
	padding: 2px 4px;
}
/* page-top */
#pageTop {
	margin: 0;
	position: fixed;
	bottom: 30px;
	right: 30px;
	z-index: 100;
}
#pageTop a {
	font-weight: bold;
	line-height: 52px;
	text-decoration: none;
	text-align: center;
	display: block;
	background-color: #faca16;
	width: 50px;
	height: 50px;
	padding: 0;
	z-index: 999;
}
#pageTop a:hover {
	text-decoration: none;
	opacity: 0.7;
}
/* mini */
@media (min-width: 979px) and (max-width: 1200px) {
	#service figure {
		width: 200px;
		height: 200px;
	}
}
/* tablet */
@media (min-width: 768px) and (max-width: 979px) {
	.sidebar { text-align: center; float: none; width: 100%; margin-bottom: 60px;}
	.wrapper-content { float: none; margin-left: 0;}
	.content { margin-left: 0;}
	#company h3, #contact h3 { text-align: center;}
	.cont-table { margin-bottom: 30px;}
	.cont-map { height: 300px; position: relative; top: 0; right: 0; left: 0;}
}
/* sp */
@media (max-width: 767px) {
	header { position: relative; top: 0; left: 0; padding: 0; text-align: center;}
	header h1 { top: 0; left: 0;}
	.block_1 { padding: 15px 0;}
	#about, #service, #company, #news, #contact { padding-top: 30px;}
	#main { padding: 120px 0;}
	#main h1 { font-size: 54px;}
	#main p { font-size: 16px; margin: 0 15px;}
	#main .ttl-main { left: 0;}
	.sidebar { text-align: center; float: none; width: 100%; margin-bottom: 30px;}
	.wrapper-content { float: none; margin-left: 0;}
	.content { margin-left: 0;}
	#company h3, #contact h3 { text-align: center;}
	.cont-table { margin-bottom: 30px;}
	.cont-map { height: 300px; position: relative; top: 0; right: 0; left: 0;}
	.cont-table dl dt { font-weight: bold; background: #eee; display: block; width: 100%; border-color: #ccc; border-bottom: none !important;}
	.cont-table dl dd { display: block; width: 100%; border-color: #ccc;}
	footer { padding-top: 0;}
}
@media print {
}
