.w880 {
	max-width: 880px;
	margin: 0 auto;
}

.row {
	padding: 0;
}

#site-main {
	background-color: #FFF;
}

.section-content {
	padding-bottom: 0;
}

.section-hero .section-content {
	padding: 0;
}

.section-hero .section-content img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.section-content {
		padding: 0 20px;
	}
}

@media only screen and (max-width: 767px) {
	.section-content {
		padding-top: 20px;
		padding-bottom: 0;
	}
}

.section-topmessage .headline {
	text-align: center;
}

.section-topmessage .headline__title-en {
	font-family: 'Cormorant Garamond', serif;
	font-size: 4rem;
	font-weight: 500;
	color: #5f4422;
}

.section-topmessage .headline__title-ja {
	width: 100%;
	display: block;
	font-size: 2.0rem;
	color: #5f4422;
}

.section-topmessage .message-title {
	text-align: center;
	color: #5f4422;
	font-size: 4rem;
	letter-spacing: 0.5rem;
	margin: 35px 0 20px;
}

.section-topmessage .message {
	text-align: center;
	color: #5f4422;
	letter-spacing: 0.3rem;
	margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
	.section-topmessage .headline__title-en {
		font-size: 2.25rem;
	}
	.section-topmessage .headline__title-ja {
		font-size: 1.2rem;
	}
	.section-topmessage .message-title {
		font-size: 2.25rem;
		margin: 35px 0 20px;
	}
	.section-topmessage .message {
		margin-bottom: 20px;
		font-size: 1.4rem;
	}
}

.section-mainmessage .message-txt {
	padding: 0 40px;
}

.section-mainmessage .message-txt .title {
	font-size: 3rem;
	color: #5f4422;
	letter-spacing: 0.5rem;
	line-height: 1;
	display: block;
}

.section-mainmessage .message-txt .title-en {
	display: block;
	font-size: 1.5rem;
	color: #5f4422;
	margin-bottom: 60px;
}

.section-mainmessage .message-txt .message {
	margin-bottom: 2rem;
	font-size: 1.6rem;
	line-height: 1.8;
	letter-spacing: 0.4rem;
}

.section-mainmessage .message-txt .message-sign {
	font-size: 1.6rem;
	letter-spacing: 0.4rem;
}

.section-mainmessage .grid-x {
	flex-flow: row-reverse wrap;
}

@media screen and (max-width: 767px) {
	.section-mainmessage .message-txt {
		padding: 0;
	}
	.section-mainmessage .message-txt .title {
		font-size: 2.25rem;
		text-align: center;
		margin-top: 35px;
	}
	.section-mainmessage .message-txt .title-en {
		font-size: 1.4rem;
		text-align: center;
		margin-bottom: 35px;
		margin-top: 10px;
	}
	.section-mainmessage .message-txt .message {
		font-size: 1.4rem;
	}
	.section-mainmessage .message-txt .message-sign {
		font-size: 1.4rem;
	}
}

.section-company .title {
	font-size: 3rem;
	color: #5f4422;
	letter-spacing: 0.5rem;
	line-height: 1;
	margin-bottom: 10px;
	display: block;
	text-align: center;
}

.section-company .title-en {
	display: block;
	font-size: 1.5rem;
	color: #5f4422;
	text-align: center;
	margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
	.section-company .title {
		font-size: 2.25rem;
		margin-top: 35px;
	}
	.section-company .title-en {
		font-size: 1.4rem;
		margin-bottom: 20px;
		margin-top: 10px;
	}
}

.section-company .company-message {
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.8;
	letter-spacing: 0.4rem;
	margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
	.section-company .company-message {
		text-align: left;
	}
}

.section-company .company-map iframe {
	width: 100%;
	height: 440px;
}

.abouthistory-hero .section-content {
	padding-top: 150px;
}

.company-table {
	margin-bottom: 60px;
}

.company-summary {
	margin-bottom: 30px;
}
.company-table table {
	border-collapse: collapse;
	border-spacing: 0px;
}

.company-table table th {
	width: 180px;
}

.company-table table td {
	width: 700px;
}

.company-table table tbody th {
	padding-left: 20px;
	font-size: 1.6rem;
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	padding-top: 16px;
	letter-spacing: 0.15em;
}

.company-table table tbody td {
	text-align: left;
	padding: 16px 40px 16px 0;
	letter-spacing: 0.15em;
}

.company-table table tbody {
	padding-top: 20px;
}

.company-table table tbody tr {
	border-bottom: 1px dotted #000;
}

@media screen and (max-width: 767px) {
	.company-table {
		margin-bottom: 30px;
	}
	.company-table table {
		width: 100%;
	}
	.company-table table th, .company-table table td {
		display: block;
		width: 100%;
	}
	.company-table table tbody td {
		padding: 10px 10px 15px 10px;
	}
	.company-table table tbody th {
		font-size: 1.2rem;
		padding-top: 15px;
		position: relative;
	}
	.company-table table tbody th::before {
		content: "●";
		color: #59ae38;
		position: absolute;
		top: 44%;
		left: 1%;
	}
	.company-table table tbody th.gap::before {
		top: 46%;
		left: 1%;
	}
}

/*footer-item footer-link*/

.section-footeritem {
	background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAKUlEQVQYV2NkgIKvb279h7FBNCNOCXSVMIWMyBLcImpgE0BixEkgWw4AeEMeY87Dl7IAAAAASUVORK5CYII=) repeat;
	padding: 60px 0;
	text-align: center;
	color: #735a3b;
}

.section-footeritem .section-content {
	padding-top: 0;
}

.section-footeritem img {
	width: 100%;
}

.section-footeritem .headline__title {
	line-height: 1;
	margin-bottom: 30px;
}

.section-footeritem .headline__title-main {
	font-size: 2.8rem;
	color: #5f4422;
	letter-spacing: 0.3rem;
}

.section-footeritem .headline__title-sub {
	width: 100%;
	display: block;
	font-size: 1.8rem;
	color: #5f4422;
}

.section-footeritem dt {
	font-size: 1.9rem;
	letter-spacing: 0.35rem;
	margin: 1em 0 0em;
	color: #5f4422;
}

.section-footeritem dd {
	letter-spacing: 0.35rem;
	font-size: 1.4rem;
	color: #5f4422;
}

.section-footeritem .content a {
	display: block;
}

@media screen and (max-width: 767px) {
	.section-footeritem {
		padding: 60px 0 40px;
	}
	.section-footeritem dt {
		font-size: 2.0rem;
	}
	.section-footeritem dd {
		font-size: 1.2rem;
	}
	.section-footeritem .headline__title {
		margin-bottom: 40px;
	}
	.section-footeritem .headline__title-sub {
		margin-top: 10px;
	}
	.section-footeritem .section-content {
		padding-left: 6%;
		padding-right: 6%;
	}
	.section-footeritem .content {
		margin: 0 15px;
	}
	.section-footeritem .cell {
		margin-bottom: 3em;
	}
}

.section-footerlink .section-content {
	padding-top: 0;
}

.section-footerlink img {
	width: 100%;
}

@media screen and (max-width: 767px) {
	.section-footerlink .cell {
		padding: 10px 0;
	}
	.section-footerlink {
		padding-top: 20px;
	}
}

.section-company .summary {
	text-align: center;
	margin-bottom: 40px;
	font-size: 1.3rem;
}


@media screen and (max-width: 767px) {
	.section-company .summary {
		text-align: left;
		font-size: 1.1rem;
	}
}

.company-map {
    padding-bottom: 56.25%;
    overflow: hidden;
}

@media (max-width: 767px) {

	.company-map {
		padding-bottom: 300px;
		overflow: hidden;
	}
}