@charset "utf-8";



/* --------------------------------------------------------------------------------
reset
-------------------------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}



/* --------------------------------------------------------------------------------
essential
-------------------------------------------------------------------------------- */

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 100;
  src: local("Noto Sans CJK JP Thin"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Thin.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 300;
  src: local("Noto Sans CJK JP Light"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Light.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: local("Noto Sans CJK JP Regular"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: local("Noto Sans CJK JP Medium"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Medium.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: local("Noto Sans CJK JP Bold"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format("opentype");
}
@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 900;
  src: local("Noto Sans CJK JP Black"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Black.otf) format("opentype");
}
body {
	position: relative;
	text-align: justify;
	text-justify: inter-word;
	font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 15px;
	font-weight: 400;
	font-feature-settings: "palt";
	line-height: 35px;
	color: #000000;
	letter-spacing: 0.1em;
	background-color: #333333;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body.node-type-products,
body.node-type-spans,
body.page-manage {
	background-color: transparent;
}
a {
	text-decoration: none;
	color: #000000;
}
a.underline {
	border-bottom: 1px solid #000000;
}
h1 {
	font-size: 22px;
}
h2 {
	font-size: 20px;
}
h3 {
	font-size: 18px;
}
h4 {
	font-size: 15px;
}
p.indent {
	text-indent: -1em;
	padding-left: 1em;
}



/* --------------------------------------------------------------------------------
form
-------------------------------------------------------------------------------- */

fieldset {
	border: 1px solid #bfbfbf;
	margin-bottom: 10px;
}
form {
	margin: 0px;
	padding: 0px;
}
div.form-item {
	margin: 0px 0px 60px 0px;
}
div.form-actions {
	margin: 0px;
}
tr.odd div.form-item,
tr.even div.form-item {
	margin: 0px;
	white-space: nowrap;
}
div.form-item div.description {
	font-size: 13px;
	line-height: 15px;
	color: #bfbfbf;
	padding-top: 10px;
}
label {
	font-weight: 400;
	margin-bottom: 10px;
}
label.option {
	display: inline;
	font-weight: 400;
	margin-bottom: 0px;
}
div.form-checkboxes div.form-item,
div.form-radios div.form-item {
	margin-top: 0px;
	margin-bottom: 10px;
}
div.form-type-radio div.description,
div.form-type-checkbox div.description {
	margin-left: 20px;
}
input[type=text],
input[type=email],
input[type=password],
input[type=button],
input[type=submit],
textarea,
select {
	box-sizing: border-box;
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 16px;
	line-height: 30px;
	outline: none;
	border: none;
	margin: 0px;
	background-color: #ffffff;
	border-radius: 0px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type=text],
input[type=email],
input[type=password],
textarea {
	width: 100%;
	line-height: 30px;
	padding: 15px;
}
input[type=text],
input[type=email],
input[type=password] {
	height: 60px;
}
input[type=button],
input[type=submit] {
	display: inline-block;
	text-align: center;
	color: #ffffff;
	cursor: pointer;
	padding: 0px 10px;
	background-color: #000000;
}
label.option {
	margin-right: 20px;
}
label.option input[type=radio],
label.option input[type=checkbox] {
	display: none;
}
label.option input[type=radio] + span,
label.option input[type=checkbox] + span {
	display: inline-block;
	position: relative;
	width: 18px;
	height: 18px;
	vertical-align: -5px;
	cursor: pointer;
	border: 1px solid #bfbfbf;
	margin-right: 5px;
	background-color: #ffffff;
}
label.option input[type=radio] + span {
	border-radius: 50%;
}
label.option input[type=radio] + span i,
label.option input[type=checkbox] + span i {
	display: block;
	position: absolute;
	opacity: 0;
	transition: 0.25s opacity ease;
}
label.option input[type=radio] + span i {
	width: 10px;
	height: 10px;
	left: 4px;
	top: 4px;
	background-color: #333333;
	border-radius: 50%;
}
label.option input[type=checkbox] + span i {
	width: 5px;
	height: 10px;
	left: 5px;
	top: 0px;
	border-right: 3px solid #333333;
	border-bottom: 3px solid #333333;
	transform: rotate(45deg);
}
label.option input[type=radio]:checked + span i,
label.option input[type=checkbox]:checked + span i {
	opacity: 1;
}
select {
	height: 30px;
	padding: 0px 40px 0px 10px;
	background-image: url(../images/arrow-select.svg);
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: auto 10px;
}
select::-ms-expand {
	display: none;
}
span.marker,
span.form-required {
	color: #cf2826;
}
div.form-item input.error,
div.form-item textarea.error,
div.form-item select.error {
	border: 1px solid #cf2826;
}
div.container-inline div.form-actions,
div.container-inline.form-actions {
	margin-top: 0px;
	margin-bottom: 0px;
}
span.fieldset-legend span.summary {
	color: #000000;
	font-size: 13px;
	margin-left: 10px;
}



/* --------------------------------------------------------------------------------
table
-------------------------------------------------------------------------------- */

table {
	border-collapse: collapse;
}
th {
	border: none;
}
thead th {
	font-weight: 400;
	background-color: transparent;
}
tbody {
	border: none;
}
tbody th {
	font-weight: 400;
	background-color: transparent;
}
tr.even,
tr.odd,
td.active {
	border: none;
	padding: 0px;
	background-color: transparent;
}
th.active img {
	display: inline;
}



/* --------------------------------------------------------------------------------
list
-------------------------------------------------------------------------------- */

div.item-list ul,
div.item-list ul li {
	margin: 0px;
}
ol {
	list-style-type: decimal;
	padding-left: 2em;
}
dl dt {
	font-weight: 700;
	padding-left: 0px;
	background: none;
}
dl dd {
	margin-bottom: 10px;
	padding-left: 15px;
}



/* --------------------------------------------------------------------------------
tab
-------------------------------------------------------------------------------- */

div.tabs {
	padding: 40px 0px;
	background-color: #ffffff;
}
div.tabs ul.primary,
div.tabs ul.secondary {
	clear: both;
	max-width: 1080px;
	font-size: 13px;
	line-height: normal;
	letter-spacing: 0em;
	white-space: nowrap;
	border-bottom: none;
	margin: auto;
}
div.tabs ul.primary li,
div.tabs ul.secondary li {
	display: inline-block;
	padding: 0px;
}
div.tabs ul.primary li a,
div.tabs ul.secondary li a {
	text-decoration: none;
	color: #000000;
	border: 1px solid #bfbfbf;
	margin: 0px;
	padding: 0px 5px;
	background-color: #ffffff;
}
div.tabs ul.primary li.active a,
div.tabs ul.primary li a:hover,
div.tabs ul.secondary li.active a,
div.tabs ul.secondary li a:hover {
	color: #ffffff;
	border-color: #333333;
	background-color: #333333;
}



/* --------------------------------------------------------------------------------
messages
-------------------------------------------------------------------------------- */

div.messages-wrapper {
	padding: 40px 0px;
	background-color: #ffffff;
}
div.messages {
	box-sizing: border-box;
	max-width: 1080px;
	font-size: 13px;
	border: 1px solid #bfbfbf;
	margin: 0px auto;
	padding: 5px 10px;
	background-color: transparent;
}
div.messages.status,
div.messages.warning,
div.messages.error {
	background: none;
}
div.messages.status,
div.messages.warning,
*.ok {
	color: #000000;
}
div.messages.error ul {
}
div.messages.error ul li {
	display: block;
	text-align: left;
	padding: 0px;
	background: none;
}



/* --------------------------------------------------------------------------------
pager
-------------------------------------------------------------------------------- */

div.item-list {
	background-color: #f7f7f7;
}
div.item-list ul.pager {
	clear: both;
	text-align: center;
	margin: 0px;
	padding: 80px 0px;
}
div.item-list ul.pager li {
	display: inline-block;
	font-size: 13px;
	list-style-type: none;
	margin: 0px 10px;
	padding: 0px;
}
div.item-list ul.pager li.pager-current {
	color: #bfbfbf;
}
div.item-list ul.pager li.pager-first,
div.item-list ul.pager li.pager-last {
	display: none;
}
div.item-list ul.pager li a {
	text-decoration: none;
}
div.item-list ul.pager li.pager-current {
	font-weight: 400;
}



/* --------------------------------------------------------------------------------
misc
-------------------------------------------------------------------------------- */

img {
	display: block;
	max-width: 100%;
	height: auto;
}
div.gm-style img {
	max-width: none;
}
br.medium,
br.small {
	display: none;
}
br.large {
	display: inline;
}
hr {
	height: 0px;
	border-width: 1px 0px 0px 0px;
	border-style: solid;
	border-color: #bfbfbf;
	margin: 20px 0px;
}
*.no-large {
	display: none;
}
*.margin-bottom {
	margin-bottom: 40px;
}
*.margin-bottom-extra-narrow {
	margin-bottom: 10px;
}
*.margin-bottom-narrow {
	margin-bottom: 20px;
}
*.margin-bottom-wide {
	margin-bottom: 80px;
}
*.margin-bottom-extra-wide {
	margin-bottom: 120px;
}



/* --------------------------------------------------------------------------------
page
-------------------------------------------------------------------------------- */

div#page-background,
div#page-background-alternate {
	position: fixed;
	width: 100%;
	height: 75%;
	left: 0px;
	top: 0px;
}
div#page-background {
	z-index: 0;
	background-color: #ffffff;
}
div#page-background-alternate {
	z-index: 1;
}
div#page-background.company.philosophy,
div#page-background-alternate.company.philosophy,
div#page-background.en,
div#page-background-alternate.en {
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 0px;
}
div#page-background.company.philosophy {
	background-image: url(../images/company-philosophy-image-02.jpg);
}
div#page-background.en {
	background-image: url(../images/en-image-02.jpg);
}
div#page-background-alternate.company.philosophy,
div#page-background-alternate.en {
	-webkit-clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
	clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
}
div#page-background-alternate.company.philosophy {
	background-image: url(../images/company-philosophy-image-03.jpg);
}
div#page-background-alternate.en {
	background-image: url(../images/en-image-03.jpg);
}
div#page-background.company.philosophy.active,
div#page-background-alternate.company.philosophy.active,
div#page-background.en.active,
div#page-background-alternate.en.active {
	background-size: cover;
}
div#page {
	position: relative;
	z-index: 2;
	padding-top: 100px;
}
div#page.company,
div#page.recruit {
	padding-top: 200px;
}



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

header#header {
	position: relative;
}
header#header h1#logo,
header#header p#logo,
header#header div#menu {
	position: fixed;
	top: 0px;
	transition: 0.25s background-color 0.25s ease, 0.25s transform 0.25s ease;
}
header#header.hide h1#logo,
header#header.hide p#logo,
header#header.hide div#menu {
	transform: translateY(-100px);
}
header#header.scroll-up h1#logo,
header#header.scroll-up p#logo,
header#header.scroll-up div#menu {
	transform: translateY(0px);
}
header#header h1#logo,
header#header p#logo {
	left: 40px;
	z-index: 20;
	padding-top: 30px;
}
header#header h1#logo img,
header#header p#logo img {
	width: auto;
	height: 40px;
}
header#header div#menu {
	width: 100%;
	height: 100px;
	left: 0px;
	text-align: right;
	z-index: 10;
	background-color: rgba(255, 255, 255, 1);
}
header#header.hide div#menu {
	background-color: rgba(255, 255, 255, 0.875);
}
header#header.scroll-up div#menu {
	background-color: rgba(255, 255, 255, 1);
}
header#header div#menu div.inner-menu {
	letter-spacing: -0.25em;
	padding-right: 40px;
}
header#header div#menu nav#navi,
header#header div#menu p.language {
	display: inline-block;
	text-align: center;
	line-height: 100px;
	letter-spacing: 0.1em;
}
header#header div#menu nav#navi {
	margin-right: 20px;
}
header#header div#menu nav#navi ul {
	font-size: 0px;
}
header#header div#menu nav#navi ul li {
	display: inline-block;
	font-size: 15px;
}
header#header div#menu nav#navi > ul > li {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	padding: 0px 20px;
}
header#header div#menu nav#navi > ul > li > a {
	position: relative;
}
header#header div#menu nav#navi > ul > li > a span {
	position: absolute;
	width: 0%;
	height: 0px;
	left: 0px;
	bottom: -3px;
	border-bottom: 2px solid #cf2826;
	transition: 0.25s width ease;
}
header#header div#menu nav#navi > ul > li:hover > a span,
div.news header#header div#menu nav#navi > ul > li.news > a span,
div.company header#header div#menu nav#navi > ul > li.company > a span,
div.brands header#header div#menu nav#navi > ul > li.brands > a span,
div.snaps header#header div#menu nav#navi > ul > li.snaps > a span,
div.recruit header#header div#menu nav#navi > ul > li.recruit > a span,
div.contact-us header#header div#menu nav#navi > ul > li.contact-us > a span {
	width: 100%;
}
header#header div#menu nav#navi ul li div.nest {
	position: absolute;
	width: 100%;
	height: 0px;
	left: 0px;
	z-index: 20;
	overflow: hidden;
	line-height: 25px;
	background-color: rgba(255, 255, 255, 1);
	transition: 0.25s background-color ease, 0.25s height ease;
}
header#header.hide div#menu nav#navi ul li div.nest {
	background-color: rgba(255, 255, 255, 0.875);
}
header#header.scroll-up div#menu nav#navi ul li div.nest {
	background-color: rgba(255, 255, 255, 1);
}
header#header div#menu nav#navi ul li:hover div.nest,
div.company header#header div#menu nav#navi ul li.company div.nest,
div.recruit header#header div#menu nav#navi ul li.recruit div.nest {
	height: 100px;
}
div.company header#header div#menu nav#navi ul li.company div.nest,
div.recruit header#header div#menu nav#navi ul li.recruit div.nest {
	z-index: 10;
}
header#header div#menu nav#navi div.nest ul {
	padding: 20px 0px;
}
header#header div#menu nav#navi div.nest ul li {
	box-sizing: border-box;
	width: calc(800px / 3);
	border-right: 1px solid #bfbfbf;
}
header#header div#menu nav#navi div.nest ul li a {
	display: block;
	color: #969696;
	padding: 5px 0px;
	transition: 0.25s color ease;
}
header#header div#menu nav#navi div.nest ul li a:hover,
div.company.philosophy header#header div#menu nav#navi div.nest ul li.philosophy a,
div.company.overview header#header div#menu nav#navi div.nest ul li.overview a,
div.company.history header#header div#menu nav#navi div.nest ul li.history a,
div.recruit.new-graduate header#header div#menu nav#navi div.nest ul li.new-graduate a,
div.recruit.career header#header div#menu nav#navi div.nest ul li.career a {
	color: #000000;
}
header#header div#menu nav#navi div.nest ul li span {
	display: block;
}
header#header div#menu nav#navi div.nest ul li span.main {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
}
header#header div#menu nav#navi div.nest ul li span.sub {
	font-size: 13px;
}
header#header div#menu nav#navi div.nest ul li:first-child {
	border-left: 1px solid #bfbfbf;
}
header#header div#menu p.language {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 0px;
	color: #bfbfbf;
}
header#header div#menu p.language-small {
	display: none;
}
header#header div#menu p.language span {
	display: inline-block;
	font-size: 15px;
}
header#header div#menu p.language span.separate {
	padding: 0px 10px;
}
div.en header#header div#menu p.language span.ja a,
header#header div#menu p.language span.en a {
	color: #bfbfbf;
	transition: 0.25s color ease;
}
div.en header#header div#menu p.language span.ja a:hover,
header#header div#menu p.language span.en a:hover,
div.en header#header div#menu p.language span.en a {
	color: #000000;
}
header#header div#menu div.misc,
header#header div#menu div.sns {
	display: none;
}



/* --------------------------------------------------------------------------------
cover
-------------------------------------------------------------------------------- */

div#cover {
	position: relative;
	background-color: #f7f7f7;
}
div#cover div.image {
	position: relative;
	padding-bottom: 45.39%;
	opacity: 0;
	transition: 0.875s opacity ease;
}
div.active div#cover div.image {
	opacity: 1;
}
div#cover div.image p.row {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
div#cover div.image p.row-01 {
	background-image: url(../images/cover-image-01.jpg);
}
div#cover div.image p.row-02 {
	background-image: url(../images/cover-image-02.jpg);
}
div#cover div.image p.row-03 {
	background-image: url(../images/cover-image-03.jpg);
}
div#cover div.image p.row-04 {
	background-image: url(../images/cover-image-04.jpg);
}
div#cover div.image p.row-05 {
	background-image: url(../images/cover-image-05.jpg);
}
div#cover div.pager {
	position: absolute;
	width: 100px;
	height: 40px;
	right: 30px;
	top: 50%;
	z-index: 10;
	text-align: center;
	margin-top: -20px;
}
div#cover div.pager p {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-weight: 500;
	line-height: 40px;
	color: #ffffff;
}
div#cover div.pager p.button-prev,
div#cover div.pager p.button-next {
	position: absolute;
	width: 40px;
	height: 40px;
	top: 0px;
	cursor: pointer;
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 13px;
}
div#cover div.pager p.button-prev {
	left: 0px;
	background-image: url(../images/cover-arrow-pager-prev.svg);
}
div#cover div.pager p.button-next {
	right: 0px;
	background-image: url(../images/cover-arrow-pager-next.svg);
}



/* --------------------------------------------------------------------------------
content
-------------------------------------------------------------------------------- */

div#content article.node-unpublished {
	background-color: transparent;
}
div#content section {
	background-color: #f7f7f7;
}
div#content section div.inner-section {
	width: 800px;
	margin: auto;
	padding: 120px 0px;
}
div#content div#title {
	position: relative;
	padding-bottom: 32.94%;
	background-color: #f7f7f7;
}
div#content div#title.no-image {
	padding-bottom: 0% !important;
}
div#content div#title div.text-alternate {
	display: none;
}
div#content div#title p.image {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	opacity: 0;
	transition: 0.875s opacity ease;
}
div#content div#title.no-image p.image {
	display: none;
}
div.active div#content div#title p.image {
	opacity: 1;
}
div#content div#title-alternate {
	text-align: center;
	padding-top: 120px;
	background-color: #f7f7f7;
}
div#content div#title-alternate h1,
div#content div#title-alternate p.main {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 20px;
	font-weight: 500;
}
div#content div#title-alternate p.sub {
	font-size: 13px;
	line-height: 25px;
}
div#content h2.headline {
	font-size: 18px;
	margin-bottom: 40px;
}
div#content h2.headline span {
	font-size: 15px;
}
div#content section div.table {
	line-height: 30px;
	border-top: 1px solid #bfbfbf;
	border-bottom: 1px solid #bfbfbf;
}
body.page-taxonomy div#content div.taxonomy-term {
	background-color: #ffffff;
}
body.page-taxonomy div#content div.taxonomy-term div.content {
	width: 800px;
	margin: auto;
}
body.page-taxonomy div#content div.taxonomy-term div.field-name-field-image-single {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 240px;
	height: 240px;
	margin: 0px auto 20px auto;
}
body.page-taxonomy div#content article,
body.page-taxonomy div#content div.term-listing-heading + p {
	display: none;
}
div#content div#pager-alternate {
	display: none;
}
div#content div#views_infinite_scroll-ajax-loader {
	padding: 40px 0px;
}
div#content div#views_infinite_scroll-ajax-loader img {
	margin: auto;
}

/* home
-------------------------------------------------------------------------------- */

body.front div#content div#block-views-news-blog-home-block {
	background-color: #f7f7f7;
}
body.front div#content div#block-views-news-blog-home-block div.inner-block {
	width: 800px;
	margin: auto;
	padding: 60px 0px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home {
	position: relative;
	line-height: 30px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-header {
	position: absolute;
	left: 0px;
	top: 0px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-header p.label {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 15px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-content {
	padding-left: 100px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-content ul li {
	position: relative;
	margin-bottom: 20px;
	padding-left: 180px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-content ul li:last-child {
	margin-bottom: 0px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-content ul li p {
	position: absolute;
	top: 5px;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	line-height: 20px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-content ul li p.type {
	width: 60px;
	left: 0px;
	text-align: center;
	text-transform: uppercase;
	font-size: 13px;
	color: #ffffff;
	background-color: #333333;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-content ul li p.created {
	left: 80px;
	font-size: 13px;
	border-right: 1px solid #bfbfbf;
	padding-right: 20px;
}
body.front div#content div#block-views-news-blog-home-block div.view-news-blog-home div.view-content ul li h2 {
	font-size: 15px;
}

/* news, blog
-------------------------------------------------------------------------------- */

div#content article.node-news-blog {
	background-color: #f7f7f7;
}
div#content article.node-news-blog div.inner-article {
	width: 800px;
	margin: auto;
	padding: 80px 0px;
}
div#content div.view-news-blog div.views-row article.node-news-blog div.inner-article {
	border-bottom: 1px solid #bfbfbf;
}
div#content div.view-news-blog div.views-row:last-child article.node-news-blog div.inner-article {
	border-bottom: none;
}
div#content article.node-news-blog p.created {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 13px;
	line-height: 20px;
}
div#content article.node-news-blog h1,
div#content article.node-news-blog h2 {
	font-size: 20px;
	margin-bottom: 40px;
}
div#content article.node-news-blog div.body img,
div#content article.node-news-blog  div.body img {
	display: inline;
	vertical-align: middle;
}
div.blog div#content div.category {
	text-align: center;
	font-size: 0px;
	padding-top: 60px;
	background-color: #f7f7f7;
}
div.blog div#content div.category p.label,
div.blog div#content div.category ul,
div.blog div#content div.category ul li {
	display: inline-block;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 13px;
	font-weight: 500;
}
div.blog div#content div.category p.label span.separate {
	margin: 0px 20px;
}
div.blog div#content div.category ul li {
	margin-right: 20px;
}
div.blog div#content div.category ul li:last-child {
	margin-right: 0px;
}
div.blog div#content div.category ul li.active a {
	color: #969696;
}
div.blog div#content div.category select {
	display: none;
}
div#content article.node-blog p.category {
	text-align: right;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 13px;
	font-weight: 500;
	padding-top: 40px;
}
div#content article.node-blog p.category span.separate {
	margin: 0px 10px;
}

/* company
-------------------------------------------------------------------------------- */

div.company.philosophy div#content div#title {
	height: 700px;
	padding-bottom: 0px;
}
div.company.philosophy div#content div#title p.image {
	background-image: url(../images/company-philosophy-image-01.jpg);
}
div.company.philosophy div#content div#title div.text {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 1;
	margin: -90px 0px 0px -400px;
	opacity: 0;
	transition: 0.875s opacity 0.625s ease;
}
div.company.philosophy.active div#content div#title div.text {
	opacity: 1;
}
div.company.philosophy div#content div#title div.text p.sub {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 40px;
}
div.company.philosophy div#content div#title div.text h1 {
	width: 12em;
	font-size: 30px;
	font-weight: 300;
	line-height: 55px;
	letter-spacing: 0.15em;
}
div.company.philosophy div#content section#top-message header.alternate {
	display: none;
}
div.company.philosophy div#content section#top-message p.description {
	line-height: 40px;
	margin-bottom: 40px;
}
div.company.philosophy div#content section#top-message p.description span.indent {
	display: block;
	text-indent: -1em;
	padding-left: 2em;
}
div.company.philosophy div#content section#top-message p.name {
	text-align: right;
}
div.company.philosophy div#content section#top-message p.name span {
	display: inline-block;
	font-size: 13px;
}
div.company.philosophy div#content div.space {
	height: 500px;
}
div.company.philosophy div#content section#philosophy ul li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 40px;
}
div.company.philosophy div#content section#philosophy ul li:last-child {
	margin-bottom: 0px;
}
div.company.philosophy div#content section#philosophy ul li p.num {
	position: absolute;
	left: 0px;
	top: 0px;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-weight: 500;
}
div.company.philosophy div#content section#philosophy ul li h3 {
	font-size: 15px;
}
div.company.overview div#content div#title {
	overflow: hidden;
	padding-bottom: 43.92%;
}
div.company.overview div#content div#title p.image {
	width: 200%;
	background: url(../images/company-overview-image-01.jpg) repeat-x left top;
	background-size: auto 100%;
	animation-name: overview;
  animation-duration: 60s;
	animation-fill-mode: forwards;
  animation-timing-function: linear;
  animation-iteration-count: 1;
}
@keyframes overview {
	0% { transform: translateX(0%); }
	100% { transform: translateX(-50%); }
}
div.company.overview div#content section#overview div.table div.row {
	position: relative;
	border-bottom: 1px solid #bfbfbf;
	padding: 40px 0px 40px 140px;
}
div.company.overview div#content section#overview div.table div.row:last-child {
	border-bottom: none;
}
div.company.overview div#content section#overview div.table div.row p.label {
	position: absolute;
	left: 0px;
	top: 40px;
}
div.company.overview div#content section#overview div.map {
	height: 400px;
}
div.company.overview div#content section#overview div.map iframe {
	width: 100%;
	height: 100%;
}
div.company.overview div#content p.image-alternate {
	position: relative;
	padding-bottom: 47.58%;
	background: url(../images/company-overview-image-02.jpg) no-repeat center;
	background-size: cover;
}
div.company.history div#content div#title p.image {
	background-image: url(../images/company-history-image-01.jpg);
}
div.company.history div#content section#history div.table {
	padding: 40px 0px;
}
div.company.history div#content section#history div.table div.row {
	position: relative;
	margin-bottom: 20px;
	padding-left: 140px;
}
div.company.history div#content section#history div.table div.row:last-child {
	margin-bottom: 0px;
}
div.company.history div#content section#history div.table div.row p.label {
	position: absolute;
	left: 0px;
	top: 0px;
}

/* brands
-------------------------------------------------------------------------------- */

div#content div.view-brands {
	background-color: #f7f7f7;
}
div#content div.view-brands div.view-content {
	width: 930px;
	margin: auto;
	padding: 120px 0px 110px 0px;
}
div#content div.view-brands div.views-row {
	float: left;
	width: calc(33.33% - 10px);
	margin: 0px 5px 10px 5px;
	background-color: #ffffff;
}
div#content div.view-brands div.views-row:nth-child(3n+1) {
	clear: both;
}
div#content div.view-brands div.views-row div.inner-row {
	position: relative;
	padding-bottom: 100%;
}
div#content div.view-brands div.views-row p.logo,
div#content div.view-brands div.views-row p.type,
div#content div.view-brands div.views-row p.button-more {
	position: absolute;
}
div#content div.view-brands div.views-row p.logo,
div#content div.view-brands div.views-row p.type {
	width: calc(100% - 120px);
	height: calc(100% - 120px);
	left: 60px;
	top: 20px;
}
div#content div.view-brands div.views-row p.type {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
}
div#content div.view-brands div.views-row p.logo a,
div#content div.view-brands div.views-row p.type a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
div#content div.view-brands div.views-row p.logo span,
div#content div.view-brands div.views-row p.type span {
	display: block;
}
div#content div.view-brands div.views-row p.logo span.scale-100 {
	max-width: 100%;
	max-height: 100%;
}
div#content div.view-brands div.views-row p.logo span.scale-95 {
	max-width: 95%;
	max-height: 95%;
}
div#content div.view-brands div.views-row p.logo span.scale-90 {
	max-width: 90%;
	max-height: 90%;
}
div#content div.view-brands div.views-row p.logo span.scale-85 {
	max-width: 85%;
	max-height: 85%;
}
div#content div.view-brands div.views-row p.logo span.scale-80 {
	max-width: 80%;
	max-height: 80%;
}
div#content div.view-brands div.views-row p.logo span.scale-75 {
	max-width: 75%;
	max-height: 75%;
}
div#content div.view-brands div.views-row p.logo span.scale-70 {
	max-width: 70%;
	max-height: 70%;
}
div#content div.view-brands div.views-row p.logo span.scale-65 {
	max-width: 65%;
	max-height: 65%;
}
div#content div.view-brands div.views-row p.logo span.scale-60 {
	max-width: 60%;
	max-height: 60%;
}
div#content div.view-brands div.views-row p.logo span.scale-55 {
	max-width: 55%;
	max-height: 55%;
}
div#content div.view-brands div.views-row p.logo span.scale-50 {
	max-width: 50%;
	max-height: 50%;
}
div#content div.view-brands div.views-row p.logo span.scale-45 {
	max-width: 45%;
	max-height: 45%;
}
div#content div.view-brands div.views-row p.logo span.scale-40 {
	max-width: 40%;
	max-height: 40%;
}
div#content div.view-brands div.views-row p.button-more {
	box-sizing: border-box;
	width: 50px;
	height: 50px;
	left: 50%;
	bottom: 40px;
	overflow: hidden;
	text-align: center;
	font-size: 13px;
	line-height: 48px;
	border: 1px solid #000000;
	margin-left: -25px;
	transition: 0.25s width ease, 0.25s margin-left ease;
}
div#content div.view-brands div.views-row:hover p.button-more {
	width: 150px;
	margin-left: -75px;
}
div#content div.view-brands div.views-row p.button-more a {
	display: block;
	box-sizing: border-box;
	position: absolute;
	width: 150px;
	height: 100%;
	left: 50%;
	top: 0px;
	margin-left: -125px;
	background: url(../images/arrow-more.svg) no-repeat right calc(37px / 2) center;
	background-size: auto 13px;
	transition: 0.25s margin-left ease, 0.25s background-color ease;
}
div#content div.view-brands div.views-row:hover p.button-more a {
	margin-left: -75px;
}
div#content div.view-brands div.views-row p.button-more a span {
	opacity: 0;
	transition: 0.25s opacity ease;
}
div#content div.view-brands div.views-row:hover p.button-more a span {
	opacity: 1;
}
div#content div.view-brands div.views-row p.button-more a:hover {
	color: #ffffff;
	background-color: #000000;
	background-image: url(../images/arrow-more-white.svg);
}
div#content div#header-brands {
	background-color: #ffffff;
}
div#content div#header-brands div.inner-header-brands {
	width: 980px;
	margin: auto;
	padding-bottom: 80px;
	background-color: #ffffff;
}
div#content div#header-brands div.logo {
	position: relative;
	width: 320px;
	height: 320px;
	margin: 0px auto 60px auto;
}
div#content div#header-brands div.logo p.image {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
div#content div#header-brands div.logo p.image span {
	display: block;
}
div#content div#header-brands div.logo p.image span.scale-100 {
	max-width: 100%;
	max-height: 100%;
}
div#content div#header-brands div.logo p.image span.scale-95 {
	max-width: 95%;
	max-height: 95%;
}
div#content div#header-brands div.logo p.image span.scale-90 {
	max-width: 90%;
	max-height: 90%;
}
div#content div#header-brands div.logo p.image span.scale-85 {
	max-width: 85%;
	max-height: 85%;
}
div#content div#header-brands div.logo p.image span.scale-80 {
  width: 80%;
  height: 80%;
}
div#content div#header-brands div.logo p.image span.scale-75 {
	max-width: 75%;
	max-height: 75%;
}
div#content div#header-brands div.logo p.image span.scale-70 {
	max-width: 70%;
	max-height: 70%;
}
div#content div#header-brands div.logo p.image span.scale-65 {
	max-width: 65%;
	max-height: 65%;
}
div#content div#header-brands div.logo p.image span.scale-60 {
	max-width: 60%;
	max-height: 60%;
}
div#content div#header-brands div.logo p.image span.scale-55 {
	max-width: 55%;
	max-height: 55%;
}
div#content div#header-brands div.logo p.image span.scale-50 {
	max-width: 50%;
	max-height: 50%;
}
div#content div#header-brands div.logo p.image span.scale-45 {
	max-width: 45%;
	max-height: 45%;
}
div#content div#header-brands div.logo p.image span.scale-40 {
	max-width: 40%;
	max-height: 40%;
}
div#content div#header-brands div.logo p.authorized-agent {
	position: absolute;
	width: 100%;
	left: 0px;
	bottom: 20px;
	text-align: center;
}
div#content div#header-brands div.logo p.authorized-agent span {
	border-bottom: 2px solid #000000;
}
div#content div#header-brands div.logo p.authorized-agent i {
	padding-left: 0.1em;
}
div#content div#header-brands p.image-main {
	margin-bottom: 80px;
}
div#content div#header-brands p.image-main-small {
	display: none;
}
div#content div#header-brands div.description {
	width: 800px;
	margin: 0px auto 80px auto;
}
div#content div#header-brands p.button-more {
	width: 150px;
	text-align: center;
	font-size: 13px;
	line-height: 40px;
	margin: auto;
}
div#content div#header-brands p.button-more a {
	display: block;
	color: #ffffff;
	background-color: #000000;
	transition: 0.25s background-color ease;
}
div#content div#header-brands p.button-more a:hover {
	background-color: #333333;
}
div#content div#header-brands p.button-more a span {
	padding-left: 20px;
	background: url(../images/arrow-more-white.svg) no-repeat left center;
	background-size: auto 13px;
}
div#content div#header-brands div.link {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	width: 760px;
	border: 1px solid #000000;
	margin: auto;
	padding: 30px 55px;
}
div#content div#header-brands div.link p.logo {
	width: 211px;
}
div#content div#header-brands div.link div.button-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 390px;
}
div#content div#header-brands div.link div.button-wrapper p.button-more {
	width: 180px;
	margin: 0px;
}
div#content div#header-brands div.link div.button-wrapper p.button-more:not(:last-child) {
	margin-right: 30px;
}
div#content div#header-brands div.free:has(p.button-more) + p.button-more {
	display: none;
}
div#content div.view-brands-products {
	background-color: #f7f7f7;
}
div#content div.view-brands-products div.view-header {
	text-align: center;
	padding-top: 120px;
}
div#content div.view-brands-products div.view-header h3 {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
}
div#content div.view-brands-products div.view-content {
	width: 930px;
	margin: auto;
	padding: 80px 0px 110px 0px;
}
div#content div.view-brands-products div.views-row {
	float: left;
	width: calc(33.33% - 10px);
	margin: 0px 5px 10px 5px;
	background-color: #ffffff;
}
div#content div.view-brands-products div.views-row:nth-child(3n+1) {
	clear: both;
}
div#content article.node-products {
	padding: 20px;
}
body.node-type-products div#content article.node-products {
	width: 50%;
	margin: auto;
	padding: 0px;
}
div#content article.node-products p.image {
	position: relative;
	margin-bottom: 20px;
	padding-bottom: 69.23%;
}
div#content article.node-products p.image span {
	display: flex;
	position: absolute;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
}
div#content article.node-products p.image span img {
	max-width: 100%;
	max-height: 100%;
}
div#content article.node-products h1.title,
div#content article.node-products h2.title {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	text-align: center;
	font-size: 15px;
	line-height: 20px;
}
div#content div#pager-brands {
	background-color: #f7f7f7;
	padding-bottom: 120px;
}
div#content div#pager-brands ul {
	position: relative;
	width: 150px;
	height: 30px;
	margin: auto;
}
div#content div#pager-brands ul li {
	position: absolute;
	width: 30px;
	height: 100%;
	top: 0px;
}
div#content div#pager-brands ul li.prev {
	left: 0px;
}
div#content div#pager-brands ul li.next {
	right: 0px;
}
div#content div#pager-brands ul li.index {
	left: calc(50% - 15px);
}
div#content div#pager-brands ul li a {
	display: block;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center;
}
div#content div#pager-brands ul li.prev a,
div#content div#pager-brands ul li.next a {
	background-size: auto 27px;
}
div#content div#pager-brands ul li.prev a {
	background-image: url(../images/arrow-pager-prev.svg);
}
div#content div#pager-brands ul li.next a {
	background-image: url(../images/arrow-pager-next.svg);
}
div#content div#pager-brands ul li.index a {
	background-image: url(../images/icon-index.svg);
	background-size: auto 24px;
}

/* snaps
-------------------------------------------------------------------------------- */

div#content div.view-snaps {
	background-color: #f7f7f7;
}
div#content div.view-snaps div.view-content {
	width: 990px;
	margin: auto;
	padding: 120px 0px 110px 0px;
}
div#content div.view-snaps div.views-row {
	float: left;
	width: calc(33.33% - 10px);
	margin: 0px 5px 10px 5px;
}
div#content div.view-snaps div.views-row:nth-child(3n+1) {
	clear: both;
}
div#content div#modal-snaps {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0px;
	top: 0px;
	z-index: 200;
}
div#content div#modal-snaps div.background {
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.925);
}
div#content div#modal-snaps div.content {
	position: absolute;
	left: 50%;
	top: calc(50% - 40px);
	color: #ffffff;
}
div#content div#modal-snaps div.content a {
	color: #ffffff;
}
div#content div#modal-snaps div.content div.summary {
	box-sizing: border-box;
	position: absolute;
	width: 100%;
	left: 0px;
	top: calc(100% + 20px);
	padding-right: 120px;
}
div#content div#modal-snaps div.content div.summary h2 {
	font-size: 15px;
}
div#content div#modal-snaps div.content div.summary h2 span {
	margin-right: 5px;
}
div#content div#modal-snaps div.content div.summary p.link {
	position: absolute;
	right: 0px;
	top: 0px;
}
div#content div#modal-snaps div.content div.summary p.link a {
	border-bottom: 1px solid #ffffff;
}
div#content div#modal-snaps div.content div.summary-alternate {
	display: none;
	box-sizing: border-box;
	position: absolute;
	width: 100%;
	left: 0px;
	top: -55px;
	text-align: right;
}
div#content div#modal-snaps div.content div.summary-alternate p.link a {
	border-bottom: 1px solid #ffffff;
}
div#content div#modal-snaps div.pager {
	position: absolute;
	width: 100%;
	left: 0px;
	bottom: 80px;
}
div#content div#modal-snaps div.pager ul {
	position: relative;
	width: 150px;
	height: 30px;
	margin: auto;
}
div#content div#modal-snaps div.pager ul li {
	position: absolute;
	width: 30px;
	height: 100%;
	top: 0px;
	cursor: pointer;
	background-repeat: no-repeat;
	background-position: center;
}
div#content div#modal-snaps div.pager ul li.prev,
div#content div#modal-snaps div.pager  ul li.next {
	display: none;
  background-size: auto 27px;
}
div#content div#modal-snaps div.pager ul li.prev.active,
div#content div#modal-snaps div.pager ul li.next.active {
	display: block;
}
div#content div#modal-snaps div.pager ul li.prev {
	left: 0px;
}
div#content div#modal-snaps div.pager ul li.next {
	right: 0px;
}
div#content div#modal-snaps div.pager ul li.index {
	left: calc(50% - 15px);
  background-size: auto 24px;
}
div#content div#modal-snaps div.pager ul li.prev {
	background-image: url(../images/arrow-pager-prev-white.svg);
}
div#content div#modal-snaps div.pager ul li.next {
	background-image: url(../images/arrow-pager-next-white.svg);
}
div#content div#modal-snaps div.pager ul li.index {
	background-image: url(../images/icon-index-white.svg);
}
div#content article.node-snaps {
	background-color: #f7f7f7;
}
div#content article.node-snaps div.inner-article {
	width: 980px;
	margin: auto;
	padding: 80px 0px;
}
div#content article.node-snaps p.image {
	margin-bottom: 20px;
}
div#content article.node-snaps div.summary {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	padding-right: 120px;
}
div#content article.node-snaps div.summary h2 {
	font-size: 15px;
}
div#content article.node-snaps div.summary h2 span {
	margin-right: 5px;
}
div#content article.node-snaps div.summary p.link {
	position: absolute;
	right: 0px;
	top: 0px;
}
div#content article.node-snaps div.summary p.link a {
	border-bottom: 1px solid #000000;
}

/* recruit
-------------------------------------------------------------------------------- */

div.recruit div#content section div.table div.row {
	position: relative;
	border-bottom: 1px solid #bfbfbf;
	padding: 40px 0px 40px 140px;
}
div.recruit div#content section div.table div.row:last-child {
	border-bottom: none;
}
div.recruit div#content section div.table div.row p.label {
	position: absolute;
	left: 0px;
	top: calc(50% - 15px);
}
div.recruit div#content section div.table div.row ul li {
	position: relative;
	margin-bottom: 40px;
	padding-left: 40px;
}
div.recruit div#content section div.table div.row ul li:last-child {
	margin-bottom: 0px;
}
div.recruit div#content section div.table div.row ul li p.num {
	position: absolute;
	left: 0px;
	top: 0px;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-weight: 500;
}
div.recruit div#content section div.table div.row ul li h3 {
	font-size: 15px;
	margin-bottom: 10px;
}
div.recruit.new-graduate div#content div#title p.image {
	background-image: url(../images/recruit-new-graduate-image-01.jpg);
}
div.recruit.career div#content div#title p.image {
	background-image: url(../images/recruit-career-image-01.jpg);
}

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

div.contact-us div#content section#summary div.inner-section {
	text-align: center;
	padding: 80px 0px;
}
div.contact-us div#content section#summary hr {
	margin: 80px 0px;
}
div.contact-us div#content section#summary h2 {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 18px;
	font-weight: 500;
}
div.contact-us div#content section#summary p.require {
	font-size: 13px;
	color: #cf2826;
	margin-bottom: 40px;
}
div.contact-us div#content section#summary p.description.indent {
	text-indent: 0em;
	margin-bottom: 20px;
	padding-left: 0em;
}
div.contact-us div#content section#summary p.tel-email span.separate {
	padding: 0px 10px;
}
form.webform-client-form {
	padding-bottom: 120px;
	background-color: #f7f7f7;
}
form.webform-client-form > div {
	width: 800px;
	margin: auto;
}
form.webform-client-form div.webform-component {
	position: relative;
}
form.webform-client-form div.webform-component.attention > label {
	color: #cf2826;
}
form.webform-client-form div.webform-component-textfield > label,
form.webform-client-form div.webform-component-email > label,
form.webform-client-form div.webform-component-textarea > label {
	position: absolute;
	width: calc(100% - 30px);
	left: 15px;
	top: 15px;
	z-index: 1;
	line-height: 30px;
	margin-bottom: 0px;
}
form.webform-client-form div.webform-component-textfield.active > label,
form.webform-client-form div.webform-component-email.active > label,
form.webform-client-form div.webform-component-textarea.active > label {
	display: none;
}
form.webform-client-form div.webform-component-textfield,
form.webform-client-form div.webform-component-email {
	float: left;
	width: calc(50% - 5px);
}
div.en form.webform-client-form div.webform-component-textfield,
div.en form.webform-client-form div.webform-component-email {
	float: none;
	width: auto;
}
form.webform-client-form div.webform-component--name-sei,
form.webform-client-form div.webform-component--furigana-sei,
form.webform-client-form div.webform-component--email,
form.webform-client-form div.webform-component--company,
form.webform-client-form div.webform-component--tel {
	margin-right: 10px;
}
form.webform-client-form div.webform-component-radios {
	clear: both;
	padding-left: 220px;
}
form.webform-client-form div.webform-component-radios > label {
	position: absolute;
	left: 40px;
	top: 0px;
}
form.webform-client-form div.webform-component-radios div.form-radios div.form-item:last-child {
	margin-bottom: 0px;
}
form.webform-client-form div.webform-component-markup {
	margin-bottom: 0px;
}
form.webform-client-form div.webform-component-markup div.action {
	text-align: center;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	letter-spacing: 0.15em;
}
form.webform-client-form div.webform-component-markup div.action p.button-submit {
	font-size: 18px;
	line-height: 80px;
	color: #ffffff;
	cursor: pointer;
	margin-bottom: 10px;
	background-color: #000000;
	transition: 0.25s background-color ease;
}
form.webform-client-form div.webform-component-markup div.action p.button-submit:hover {
	background-color: #333333;
}
form.webform-client-form div.webform-component-markup div.action input[type=reset] {
	font-size: 13px;
	color: #969696;
	border: none;
	cursor: pointer;
	background-color: transparent;
}
form.webform-client-form div.form-actions {
	display: none;
}

/* privacy-policy
-------------------------------------------------------------------------------- */

div.privacy-policy div#content section#privacy-policy div.inner-section {
	padding: 80px 0px;
}
div.privacy-policy div#content section#privacy-policy {
	font-size: 13px;
	line-height: 30px;
}
div.privacy-policy div#content section#privacy-policy h2 {
	font-size: 13px;
	margin-bottom: 10px;
}
div.privacy-policy div#content section#privacy-policy div.inner-section > ol > li {
	margin-bottom: 10px;
}
div.privacy-policy div#content section#privacy-policy div.inner-section > ol > li:last-child {
	margin-bottom: 0px;
}
div.privacy-policy div#content section#privacy-policy ol.parentheses {
	text-indent: -2em;
  list-style-type: none;
  list-style-position: inside;
}
div.privacy-policy div#content section#privacy-policy ol.parentheses > li {
  counter-increment: cnt;
}
div.privacy-policy div#content section#privacy-policy ol.parentheses > li:before {
  display: marker;
  content: "（"counter(cnt)"）";
}
div.privacy-policy div#content section#privacy-policy ol.roman {
	text-indent: 0em;
	list-style-type: lower-roman;
	list-style-position: outside;
}

/* en
-------------------------------------------------------------------------------- */

div.en div#content section#overview,
div.en div#content section#top-message,
div.en div#content section#overview-alternate,
div.en div#content section#history {
	text-align: left;
}
div.en div#content section#overview hr,
div.en div#content section#top-message hr,
div.en div#content section#overview-alternate hr,
div.en div#content section#history hr {
	width: 25px;
	border-color: #000000;
}
div.en div#content section#overview h2.headline {
	text-align: center;
	font-size: 20px;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	border-bottom: 1px solid #bfbfbf;
	margin: 0px -90px 80px -90px;
	padding-bottom: 80px;
}
div.en div#content section#overview div.table,
div.en div#content section#overview-alternate div.table,
div.en div#content section#history div.table {
	border-top: none;
	border-bottom: none;
}
div.en div#content section#overview div.table div.row,
div.en div#content section#overview-alternate div.table div.row {
	margin-bottom: 60px;
}
div.en div#content section#overview div.table div.row:last-child,
div.en div#content section#overview-alternate div.table div.row:last-child {
	margin-bottom: 0px;
}
div.en div#content section#overview div.table div.row p.label,
div.en div#content section#overview-alternate div.table div.row p.label {
	font-weight: 500;
}
div.en div#content section#top-message {
	background: #ffffff url(../images/en-image-01.jpg) no-repeat center bottom;
	background-size: auto 1800px;
}
div.en div#content section#top-message h2.headline,
div.en div#content section#history h2.headline {
	font-size: 15px;
	font-weight: 500;
	margin-bottom: 0px;
}
div.en div#content section#top-message p.description {
	margin-bottom: 40px;
}
div.en div#content div.space {
	height: 500px;
}
div.en div#content section#history div.table div.row {
	position: relative;
	line-height: 25px;
	margin-bottom: 20px;
	padding-left: 160px;
}
div.en div#content section#history div.table div.row:last-child {
	margin-bottom: 0px;
}
div.en div#content section#history div.table div.row p.label {
	position: absolute;
	left: 0px;
	top: 0px;
}
div.en div#content section#contact-us h2.headline {
	text-align: center;
	font-size: 20px;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	margin-bottom: 80px;
}



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

footer#footer {
	color: #ffffff;
	background-color: #333333;
}
footer#footer a {
	color: #ffffff;
}
footer#footer div.auto-proz,
footer#footer div.yakima {
	padding-top: 80px;
	background-color: #ffffff;
}
footer#footer div.auto-proz + div.yakima {
	padding-top: 40px;
}
footer#footer div.auto-proz div.inner-auto-proz,
footer#footer div.yakima div.inner-yakima {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	box-sizing: border-box;
	width: 560px;
	border: 1px solid #000000;
	margin: auto;
	padding: 30px 55px;
}
footer#footer div.auto-proz p.logo {
	width: 247px;
}
footer#footer div.yakima p.logo {
	width: 211px;
}
footer#footer div.auto-proz p.button-more,
footer#footer div.yakima p.button-more {
	width: 180px;
	text-align: center;
	font-size: 13px;
	line-height: 40px;
}
footer#footer div.auto-proz p.button-more a,
footer#footer div.yakima p.button-more a {
	display: block;
	color: #ffffff;
	background-color: #000000;
	transition: 0.25s background-color ease;
}
footer#footer div.auto-proz p.button-more a:hover,
footer#footer div.yakima p.button-more a:hover {
	background-color: #333333;
}
footer#footer div.auto-proz p.button-more a span,
footer#footer div.yakima p.button-more a span {
	padding-left: 20px;
	background: url(../images/arrow-more-white.svg) no-repeat left center;
	background-size: auto 13px;
}
footer#footer div.shop {
	text-align: center;
	padding: 80px 0px;
	background-color: #ffffff;
}
footer#footer div.shop p.balloon {
	display: inline-block;
	position: relative;
	font-size: 13px;
	margin-bottom: 60px;
	padding: 0px 10px;
	background-color: #333333;
}
footer#footer div.shop p.balloon span.arrow {
	position: absolute;
	width: 14px;
	height: 14px;
	left: 50%;
	bottom: -14px;
	margin-left: -7px;
	background: url(../images/arrow-balloon.svg) no-repeat left top;
	background-size: auto 14px;
}
footer#footer div.shop ul {
	display: flex;
	justify-content: center;
	align-items: center;
}
footer#footer div.shop ul li {
	margin: 0px 30px;
}
footer#footer div.shop ul li img {
	width: auto;
}
footer#footer div.shop ul li.rakuten img {
	height: 26px;
}
footer#footer div.shop ul li.yahoo-shopping img {
	height: 28px;
}
footer#footer div.shop ul li.amazon img {
	height: 32px;
}
footer#footer div.shop ul li.yahoo-auctions img {
	height: 31px;
}
footer#footer div.misc-information {
	margin: auto;
	padding: 80px 80px 0px 80px;
}
footer#footer div.misc-information div.misc {
	float: right;
}
footer#footer div.misc-information div.misc ul {
	margin-bottom: 25px;
}
footer#footer div.misc-information div.misc ul li {
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 13px;
}
footer#footer div.misc-information div.misc ul li.blog-yanagawa {
	margin-bottom: 25px;
	padding-top: 10px;
}
footer#footer div.misc-information div.misc ul li.blog-yanagawa a {
	display: block;
	transition: 0.25s opacity ease;
}
footer#footer div.misc-information div.misc ul li.blog-yanagawa a:hover {
	opacity: 0.75;
}
footer#footer div.misc-information div.misc ul li.blog-yanagawa img {
	width: auto;
	height: 60px;
}
footer#footer div.misc-information div.misc ul li a {
	transition: 0.25s color ease;
}
footer#footer div.misc-information div.misc ul li a:hover {
	color: #bfbfbf;
}
footer#footer div.misc-information div.misc div.sns p {
	float: left;
}
footer#footer div.misc-information div.misc div.sns p.facebook {
	margin-right: 30px;
}
footer#footer div.misc-information div.misc div.sns p img {
	width: auto;
	height: 32px;
	transition: 0.25s opacity ease;
}
footer#footer div.misc-information div.misc div.sns p a:hover img {
	opacity: 0.75;
}
footer#footer div.misc-information div.information {
	float: left;
	text-align: left;
}
footer#footer div.misc-information div.information a {
	transition: 0.25s color ease;
}
footer#footer div.misc-information div.information a:hover {
	color: #bfbfbf;
}
footer#footer div.misc-information div.information h3 {
	font-size: 15px;
	margin-bottom: 10px;
}
footer#footer div.misc-information div.information div.office {
	margin-bottom: 40px;
}
footer#footer div.misc-information div.information div.office div.row {
	float: left;
	width: 325px;
	font-size: 13px;
	line-height: 25px;
}
footer#footer div.misc-information div.information div.links p {
	float: left;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 13px;
}
footer#footer div.misc-information div.information div.links p.language {
	display: none;
}
footer#footer div.misc-information div.information-en div.office div.row {
	width: 450px;
}
footer#footer p.copyright {
	text-align: center;
	font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-size: 13px;
	padding: 20px 0px 40px 0px;
}



/* --------------------------------------------------------------------------------
user
-------------------------------------------------------------------------------- */

body.page-user div#content form {
	padding: 120px 0px;
	background-color: #f7f7f7;
}
body.page-user div#content form > div,
body.page-user div.profile {
	max-width: 800px;
	margin: auto;
	padding: 80px 0px;
}
body.page-user div.profile h3 {
	border-bottom-color: #bfbfbf;
}



/* --------------------------------------------------------------------------------
manage
-------------------------------------------------------------------------------- */

div.view-manage {
	max-width: 1080px;
	margin: auto;
	padding: 80px 0px;
}
div.view-manage div.view-header {
	margin-bottom: 20px;
}
div.view-manage div.view-header h2 {
	float: left;
	font-size: 18px;
}
div.view-manage div.view-header p.add {
	float: right;
	font-size: 13px;
}
div.view-manage div.view-header p.add a {
	display: block;
	text-decoration: none;
	border: 1px solid #000000;
	padding: 0px 10px;
	background-color: #ffffff;
	transition: 0.25s background-color ease;
}
div.view-manage div.view-header p.add a:hover {
	color: #ffffff;
	background-color: #000000;
}
div.view-manage table.views-table {
	width: 100%;
}
div.view-manage table.views-table th,
div.view-manage table.views-table td {
	vertical-align: middle;
	font-size: 13px;
	border-top: 1px solid #000000;
	border-bottom: 1px solid #000000;
	padding: 5px;
}
div.view-manage table.views-table th {
	line-height: 20px;
	padding: 5px;
}
div.view-manage table.views-table th.views-field-field-image,
div.view-manage table.views-table th.views-field-field-image-single {
	width: 75px;
}
div.view-manage table.views-table th.views-field-field-brands,
div.view-manage table.views-table th.views-field-field-products {
	width: 200px;
}
div.view-manage table.views-table th.views-field-field-category-blog {
	width: 100px;
}
div.view-manage table.views-table th.views-field-field-url,
div.view-manage table.views-table th.views-field-field-order {
	width: 50px;
}
div.view-manage table.views-table th.views-field-created {
	width: 100px;
}
div.view-manage table.views-table th.views-field-status,
div.view-manage table.views-table th.views-field-edit-node {
	width: 50px;
}
div.view-manage table.views-table td.views-field-field-image,
div.view-manage table.views-table td.views-field-field-image-single {
	height: 50px;
}
div.view-manage div.item-list {
	background-color: transparent;
}
div.view-manage div.item-list ul.pager {
	padding-bottom: 0px;
}



/* --------------------------------------------------------------------------------
toolbar
-------------------------------------------------------------------------------- */

div#toolbar {
	font-family: "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
	font-feature-settings: "palt";
	letter-spacing: 0em;
	-moz-box-shadow: none;
	-webkit-box-shadow: none;
	box-shadow: none;
	filter: none;
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: auto;
}


/* Drupal Views compatibility */
.item-list ul,
.view-content ul {
  margin: 0;
  padding: 0;
}

.item-list ul li,
.view-content ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}



/**追加CSS**/


#block-index{
    background-color: #f7f7f7;
}


#block-index div.inner-block {
    width: 800px;
    margin: auto;
    padding: 60px 0px;
}

#block-index div.view-news-blog-home {
    position: relative;
    line-height: 30px;
}

#block-index div.view-news-blog-home div.view-header {
    position: absolute;
    left: 0px;
    top: 0px;
}


#block-index div.view-news-blog-home div.view-header p.label {
    font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
    font-size: 15px;
}

#block-index div.view-news-blog-home div.view-content {
    padding-left: 100px;
}

#block-index div.view-news-blog-home div.view-content ul li {
    position: relative;
    margin-bottom: 20px;
    padding-left: 180px;
}

#block-index div.view-news-blog-home div.view-content ul li p {
    position: absolute;
    top: 5px;
    font-family: "Montserrat", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
    line-height: 20px;
}

#block-index div.view-news-blog-home div.view-content ul li p.type {
    width: 60px;
    left: 0px;
    text-align: center;
    text-transform: uppercase;
    font-size: 13px;
    color: #ffffff;
    background-color: #333333;
}

#block-index div.view-news-blog-home div.view-content ul li p.created {
    left: 80px;
    font-size: 13px;
    border-right: 1px solid #bfbfbf;
    padding-right: 20px;
}

#block-index div.view-news-blog-home div.view-content ul li h2 {
    font-size: 15px;
}


@media screen and (max-width: 767px) {
    #block-index div.inner-block {
        width: auto;
        padding: 40px;
    }


        #block-index div.view-news-blog-home {
        line-height: 25px;
    }

        #block-index div.view-news-blog-home div.view-header {
        position: static;
        left: auto;
        top: auto;
        margin-bottom: 10px;
    }

        #block-index div.view-news-blog-home div.view-header p.label {
        font-size: 13px;
    }

        #block-index div.view-news-blog-home div.view-content {
        padding-left: 0px;
    }

        #block-index div.view-news-blog-home div.view-content ul li {
        margin-bottom: 10px;
        padding: 25px 0px 0px 70px;
    }

        #block-index div.view-news-blog-home div.view-content ul li p.type {
        width: 55px;
        font-size: 11px;
    }
        #block-index div.view-news-blog-home div.view-content ul li p.created {
        left: 70px;
        font-size: 11px;
        border-right: none;
        padding-right: 0px;
    }

        #block-index div.view-news-blog-home div.view-content ul li h2 {
        font-size: 13px;
    }
}

