@charset "utf-8";



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

br.pc {
	display: none;
}
br.sp {
	display: inline;
}
*.margin-bottom {
	margin-bottom: 20px;
}
*.margin-bottom-narrow {
	margin-bottom: 20px;
}
*.margin-bottom-wide {
	margin-bottom: 40px;
}
*.margin-bottom-extra-wide {
	margin-bottom: 80px;
}



/* --------------------------------------------------------------------------------
general
-------------------------------------------------------------------------------- */

div.breadcrumb {
	width: auto;
	padding: 0px 15px;
}
div.breadcrumb-header {
	margin-bottom: 30px;
}



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

div#page p.button-page-top-pc {
	display: none;
}



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

header#header {
	position: relative;
	width: auto;
	padding: 0px;
}
header#header h1#logo {
	float: none;
	padding: 15px;
}
header#header h1#logo img {
	height: 16px;
}
header#header p.button-menu {
	position: absolute;
	width: 24px;
	height: 24px;
	right: 15px;
	top: 11px;
	cursor: pointer;
	background: url(../images/button-menu.png) no-repeat left top;
	background-size: auto 24px;
}
header#header nav#navi {
	float: none;
	display: none;
}
header#header nav#navi ul li {
	float: none;
	text-align: center;
	font-size: 18px;
	line-height: 50px;
	letter-spacing: 0.05em;
	border-top: 1px solid #cccccc;
	margin-left: 0px;
}
header#header nav#navi ul li.home {
	display: block;
}
header#header nav#navi ul li a {
	display: block;
}
header#header nav#navi ul li a:hover {
	color: #000000;
}
header#header nav#navi ul li span.window {
	padding-right: 25px;
	background: url(../images/icon-window-sp.png) no-repeat right center;
	background-size: auto 17px;
}
header#header nav#navi ul li a:hover span.window {
	background-image: url(../images/icon-window-sp.png);
}
header#header nav#navi p.button-close {
	display: block;
	text-align: center;
	font-family: "Open Sans", Helvetica, Arial, sans-serif;
	font-size: 14px;
	line-height: 45px;
	color: #ffffff;
	cursor: pointer;
	background-color: #696f72;
}
header#header nav#navi p.button-close span {
	padding-left: 15px;
	background: url(../images/button-close.png) no-repeat left center;
	background-size: auto 10px;
}



/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */

main#main {
	width: auto;
	padding-bottom: 40px;
}

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

body.home main#main {
	width: auto;
}



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

div#content {
	padding: 0px 15px;
}

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

body.home div#content div#cover {
	margin: 0px -15px;
}
body.home div#content div#cover div.slide {
	margin-bottom: 33px;
}
body.home div#content div#cover div.image {
	padding-bottom: 91.97%;
}
body.home div#content div#cover p.row img.pc {
	display: none;
}
body.home div#content div#cover p.row img.sp {
	display: block;
}
body.home div#content div#cover div.navi {
	width: 100%;
	right: auto;
	bottom: -23px;
	text-align: center;
}
body.home div#content div#cover div.navi p.button {
	width: 15px;
	margin: 0px 2px 0px 3px;
}
body.home div#content div#cover div.news {
	position: static;
	left: auto;
	bottom: auto;
	margin-bottom: 30px;
	padding: 0px 15px 10px 15px;
}
body.home div#content div#cover div.news h2.headline {
	height: 15px;
	overflow: hidden;
}
body.home div#content div#cover div.news p.reserve {
	width: 100%;
	left: 0px;
	right: auto;
	bottom: -20px;
	text-align: center;
}
div#cover div.video-wrapper {
	margin-bottom: 33px;
	padding-top: 177.77%;
}
div#cover div.video-wrapper p.button-sound {
  right: 15px;
  bottom: 15px;
}
div#cover div.video-wrapper p.button-more {
	width: 100%;
	bottom: -29px;
}
body.home div#content div#cover div.news-video {
	position: relative;
	width: auto;
	margin: auto;
	padding: 15px 15px 15px 110px;
}
body.home div#content div#cover div.news-video::before {
	position: absolute;
	width: 0px;
	height: calc(100% - 30px);
	left: 90px;
	top: 15px;
	border-right: 1px solid #cccccc;
	content: "";
}
body.home div#content div#cover div.news-video p.label {
	width: 80px;
	left: 15px;
}
body.home div#content div#cover div.news-video h2.headline {
	height: auto;
}

/* news
-------------------------------------------------------------------------------- */

body.news div#content {
	float: none;
	width: auto;
}
body.news div#content article {
	margin-bottom: 40px;
}

/* collection
-------------------------------------------------------------------------------- */

body.collection div#content section#collection div.content div.category {
	width: auto;
}
body.collection div#content section#collection div.content div.category h3 {
	font-size: 20px;
	line-height: 1em;
}
body.collection div#content section#collection div.content div.category-since1905 h3 img,
body.collection div#content section#collection div.content div.category-koki h3 img {
	height: 16px;
}
body.collection div#content section#collection div.content div.category div.column {
	margin-left: -5px;
	margin-right: -5px;
}
body.collection div#content section#collection div.content div.category div.column p.row {
	width: 50%;
	margin: 0px 0px 10px 0px;
}
body.collection div#content section#collection div.content div.category div.column p.row a {
	display: block;
	margin: 0px 5px;
}
body.collection div#content section#collection div.content div.category div.column p.row img {
	width: 100%;
	height: auto;
}
body.collection div#content section#collection div.content div.category-since1905 div.column p.row-caption {
	padding-top: 15px;
}
body.collection div#content section#collection div.content div.category-since1905 div.column p.row-caption span {
	left: 5px;
	top: 0px;
	/* font-size: 10px; */
	font-size: 11px;
	line-height: 1em;
}
body.collection div#content section#collection div.content div.category-koki div.column {
	margin-left: -5px;
	margin-right: -5px;
}
body.collection div#content section#collection div.content div.category-koki div.column p.row {
	width: 50%;
	margin: 0px 0px 5px 0px;
}
body.collection div#content section#collection div.content hr {
	margin: 20px -20px;
}
body.collection div#content p.banner {
	width: 240px;
}
body.collection div#content ul.list-collection {
	display: block;
	width: auto;
	padding: 0px 40px;
}
body.collection div#content ul.list-collection li {
	width: auto;
}
body.collection div#content ul.list-collection li:not(:last-child) {
	border-bottom: 1px solid #cccccc;
}
body.collection div#content ul.list-collection li::before,
body.collection div#content ul.list-collection li::after {
	display: none;
}
body.collection div#content ul.list-collection li a {
	height: auto;
	padding: 20px 0px;
}
body.collection div#content ul.list-collection li img {
	height: calc(104px * 0.75);
}
body.en.collection div#content ul.list-collection {
	width: auto;
}

/* store
-------------------------------------------------------------------------------- */

body.store div#content div.header {
	margin-bottom: 30px;
	padding-bottom: 5px;
}
body.store div#content div.header h2 {
	margin-bottom: 10px;
}
body.store div#content div.header p {
	position: static;
	right: auto;
	bottom: auto;
}
body.store div#content div.headline-note {
	display: block;
}
body.store div#content div.headline-note h3.logo {
	margin-right: 0px;
}
body.store div#content div.store {
	margin-right: 0px;
}
body.store div#content div.store div.row {
	float: none;
	width: auto;
	margin: 0px 0px 30px 0px;
}
body.store div#content div.store div.row:last-child {
	margin-bottom: 0px;
}
body.store div#content div.store div.row h3 {
	margin-right: 0px;
}
body.store div#content hr {
	width: auto;
}

/* corporate-profile
-------------------------------------------------------------------------------- */

body.corporate-profile div#content div.column div.left {
	float: none;
	width: auto;
}
body.corporate-profile div#content div.column div.right {
	display: none;
}
body.corporate-profile div#content section {
	margin: 0px -15px 0px -15px;
}
body.corporate-profile div#content section h2 {
	position: relative;
	line-height: 25px;
	border-top: 1px solid #cccccc;
	border-bottom: none;
	cursor: pointer;
	margin-bottom: 0px;
	padding: 10px 15px;
}
body.corporate-profile div#content section:last-child h2,
body.corporate-profile div#content section.open h2 {
	border-bottom: 1px solid #cccccc;
}
body.corporate-profile div#content section h2 span.button-collapse {
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	right: 15px;
	top: 50%;
	margin-top: -12px;
	background: url(../images/button-collapse-open.png) no-repeat left top;
	background-size: auto 25px;
}
body.corporate-profile div#content section.open h2 span.button-collapse {
	background-image: url(../images/button-collapse-close.png);
}
body.corporate-profile div#content section div.content {
	display: none;
}
body.corporate-profile div#content section div.inner-content {
	padding: 15px;
}
body.corporate-profile div#content section table {
	display: block;
	width: 100%;
}
body.corporate-profile div#content section table tbody,
body.corporate-profile div#content section table tr,
body.corporate-profile div#content section table th,
body.corporate-profile div#content section table td {
	display: block;
	width: 100%;
}
body.corporate-profile div#content section table th {
	width: 100%;
	border-top: none;
	border-bottom: none;
}
body.corporate-profile div#content section table tr:first-child th {
	border-top: 1px solid #cccccc;
}
body.corporate-profile div#content section.philosophy div.inner-content {
	padding-top: 30px;
}
body.corporate-profile div#content section.philosophy p {
	margin-bottom: 20px;
}
body.corporate-profile div#content section.philosophy br {
	display: none;
}
body.corporate-profile div#content section.philosophy p:last-child {
	margin-bottom: 0px;
}
body.corporate-profile div#content section.official-stores table td,
body.corporate-profile div#content section.overseas-bases table td,
body.corporate-profile div#content section.domestic-affiliated-companies table td {
	border-top: none;
}
body.corporate-profile div#content section.official-stores table tr:first-child td,
body.corporate-profile div#content section.overseas-bases table tr:first-child td,
body.corporate-profile div#content section.domestic-affiliated-companies table tr:first-child td {
	border-top: 1px solid #cccccc;
}
body.corporate-profile div#content p.image {
	margin-bottom: 1px;
}

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

body.contact-us div#content {
	width: auto;
}
body.contact-us div#content div.company {
	display: block;
}
div#content form.wpcf7-form input.text,
div#content form.wpcf7-form textarea {
	font-size: 16px;
}
div#content form.wpcf7-form input.text {
	width: 100%;
}
div#content form.wpcf7-form textarea {
	width: 100%;
	height: 150px;
}

/* site-policy
-------------------------------------------------------------------------------- */

body.site-policy div#content {
	width: auto;
}

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

body.privacy-policy div#content {
	width: auto;
}
body.privacy-policy div#content div.company {
	margin-right: 0px;
}
body.privacy-policy span.separate {
	display: none;
}

/* site-map
-------------------------------------------------------------------------------- */

body.site-map div#content {
	width: auto;
}



/* --------------------------------------------------------------------------------
sidebar
-------------------------------------------------------------------------------- */

aside#sidebar {
	float: none;
	width: auto;
	padding-top: 40px;
}

/* block
-------------------------------------------------------------------------------- */

aside#sidebar div.block h2 {
	position: relative;
	font-size: 16px;
	line-height: 45px;
	cursor: pointer;
	padding-left: 15px;
}
aside#sidebar div.block h2 span.button-collapse {
	display: block;
	position: absolute;
	width: 25px;
	height: 25px;
	right: 15px;
	top: 50%;
	margin-top: -12px;
	background: url(../images/button-collapse-open-white.png) no-repeat left top;
	background-size: auto 25px;
}
aside#sidebar div.block.open h2 span.button-collapse {
	background-image: url(../images/button-collapse-close-white.png);
}
aside#sidebar div.block div.content {
	display: none;
	padding: 0px;
}
aside#sidebar div.block ul li {
	line-height: 45px;
	border-bottom: 1px solid #cccccc;
	padding: 0px 15px;
	background: url(../images/arrow-01.png) no-repeat right 15px center;
	background-size: auto 13px;
}
aside#sidebar div.block ul li a {
	display: block;
}
aside#sidebar div.block-category {
	margin-bottom: 1px;
}
aside#sidebar div.block-category.open {
	margin-bottom: 0px;
}
aside#sidebar div.block-category ul li:last-child {
	border-bottom: none;
}
aside#sidebar div.block-feed {
	display: none;
}



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

footer#footer {
	border-top: none;
	padding-top: 0px;
}

/* block
-------------------------------------------------------------------------------- */

footer#footer div.block div.inner-block {
	width: auto;
	padding: 0px 15px;
}
footer#footer div.block p.button-page-top-sp {
	display: block;
	font-size: 14px;
	line-height: 45px;
	margin: 0px -15px;
	background-color: #696f72;
	background-image: none;
}
footer#footer div.block p.button-page-top-sp a {
	display: block;
	text-decoration: none;
	color: #ffffff;
}
footer#footer div.block p.button-page-top-sp span {
	background-image: url(../images/icon-page-top-white.png);
}
footer#footer div.block-first {
	margin-bottom: 10px;
}
footer#footer div.block nav#navi-footer ul,
footer#footer div.block nav#navi-site ul {
	padding: 0px;
}
footer#footer div.block nav#navi-footer ul li,
footer#footer div.block nav#navi-site ul li {
	float: none;
	text-align: center;
	border-right: none;
	margin-right: 0px;
	padding-right: 0px;
}
footer#footer div.block nav#navi-footer {
	margin: 0px -15px;
}
footer#footer div.block nav#navi-footer ul li {
	font-size: 18px;
	line-height: 50px;
	letter-spacing: 0.05em;
	border-top: 1px solid #cccccc;
}
footer#footer div.block nav#navi-footer ul li a {
	display: block;
	text-decoration: none;
	color: #000000;
}
footer#footer div.block nav#navi-footer ul li span.window {
	padding-right: 25px;
	background: url(../images/icon-window-sp.png) no-repeat right center;
	background-size: auto 17px;
}
footer#footer div.block nav#navi-footer ul li.home span.pc {
	display: none;
}
footer#footer div.block nav#navi-footer ul li.home span.sp {
	display: inline;
}
footer#footer div.block nav#navi-footer ul li.site-policy,
footer#footer div.block nav#navi-footer ul li.privacy-policy,
footer#footer div.block nav#navi-footer ul li.site-map {
	display: none;
}
footer#footer div.block nav#navi-site {
	margin-bottom: 5px;
}
footer#footer div.block nav#navi-site ul {
	border-bottom: 1px solid #cccccc;
	padding: 10px 0px;
}
footer#footer div.block nav#navi-site ul li {
	text-align: left;
	font-size: 14px;
	line-height: 25px;
}
footer#footer div.block nav#navi-site ul li a {
	text-decoration: underline;
}
footer#footer div.block ul.misc {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	border-bottom: 1px solid #cccccc;
	margin: auto;
	padding: 15px 0px;
}
footer#footer div.block ul.misc li {
	line-height: 12px;
	margin-top: 5px;
	margin-bottom: 5px;
}
footer#footer div.block ul.misc li:not(:last-child) {
	border-right: 1px solid #cccccc;
	margin-right: 5px;
	padding-right: 5px;
}
footer#footer div.block ul.sns {
	display: block;
	padding: 5px 0px;
}
footer#footer div.block ul.sns li {
	font-size: 14px;
	line-height: 25px;
}
footer#footer div.block ul.sns li:not(:last-child) {
	margin-right: 0px;
}
footer#footer div.block ul.sns li i.icon {
	font-size: 20px;
}
footer#footer div.block div.mode ul li {
	width: 140px;
	font-size: 14px;
	line-height: 30px;
	margin: auto;
}
footer#footer div.block div.mode ul li.pc {
	display: block;
}
footer#footer div.block div.mode ul li.sp {
	display: none;
}
footer#footer div.block p.address {
	line-height: 18px;
	margin-bottom: 10px;
}
footer#footer div.block p.copyright {
	float: none;
	text-align: center;
	margin-top: 0px;
}

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

body.home footer#footer div.block p.button-page-top-sp {
	display: block;
}
