.layout-content.visit-main {
	padding: 0;
}

.visitHeader {
	border-top: 20px solid #292929;
	width: 100%;
	display: flex;
	padding: 30px 50px;
	align-items: center;
	justify-content: space-around;
}

.visitHeaderInner {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-around;
}

.visitHeader a {
	text-decoration: none;
	transition: .3s;
}

.visitHeader a:hover {
	opacity: 0.7;
}

.visitH1 .visitImg {
	width: 22rem;
}

.visitHeader .visitHeaderUl {
	display: flex;
	font-size: 1.6rem;
	justify-content: space-evenly;
	width: 50%;
}

.en.visitHeader .visitHeaderUl {
	font-size: 2rem;
}

.visitHeaderContact {
	font-size: 1.7rem;
	text-align: center;
	border: 1px solid #292929;
}

.visitHeaderContact a {
	display: block;
	padding: 10px 20px;
}

.visitHeaderLanguage {
	min-width: 80px;
}

.visitHeaderLanguage a {
	display: block;
	font-size: 1.5rem;
	margin: 10px auto;
	text-align: center;
}

.btnTriggerArea {
	display: none;
}

.slick-slider {
	line-height: 0;
}

.slick-slider img {
	width: 100%;
	object-fit: cover;
}

.visitContainer {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/* お知らせ */
section.visitNews {
	padding: 50px 0;
	background: #FFF;
}

section.visitNews .visitContainer {
	font-size: 1.8rem;
}

/* about */
section.visitAboutArea {
	padding-bottom: 60px;
}

.visitAboutText {
	font-size: 2.2rem;
	writing-mode: vertical-rl;
	margin: 0 auto;
	padding: 60px 0;
}

.en .visitAboutText {
	writing-mode: unset;
}

p.visitAboutP {
	margin-left: 50px;
}

p.visitAboutP:last-of-type {
	margin-left: 0;
}

.en p.visitAboutP {
	margin: 0 0 50px 0;
}

.visitAboutImg {
	display: flex;
}

.visitAboutImg img {
	width: calc(100% / 3);
}

/* 酒蔵見学について */
section.visitContentArea {
	background: #292929;
	padding: 80px 0;
}

h2.visitContentH2 {
	font-size: 3rem;
	letter-spacing: -0.05rem;
	text-indent: 1.5rem;
	position: relative;
}

.visitContentArea h2.visitContentH2 {
	color: #fff;
}

h2.visitContentH2::after {
	content: "";
	display: block;
	height: 1px;
	position: absolute;
	top: 50%;
	right: 0;
}

.visitContentArea h2.visitContentH2::after {
	width: 77%;
	background: #fff;
}

.en.visitContentArea h2.visitContentH2::after {
	width: 73%;
}

.visitContentInner {
	margin: 50px;
	color: #fff;
}

.visitContentBox {
	display: flex;
	margin-bottom: 50px;
	justify-content: space-between;
}

.visitContentEven {
	flex-direction: row-reverse;
}

.visitContentImg {
	width: 45%;
}

p.visitContentImgP {
	text-align: right;
}

.visitContentText {
	width: 50%;
}

.visitContentBox h3.visitContentH3 {
	font-size: 2.5rem;
	margin-top: 10px;
	line-height: 2;
}

p.visitContentP {
	font-size: 1.7rem;
	letter-spacing: -0.05rem;
}

.en p.visitContentP {
	font-size: 2rem;
}

p.visitContentAttention {
	line-height: 2.5;
	color: #ff0000;
	font-size: 1.5rem;
}

p.visitContentSmall {
	margin-top: 30px;
	font-size: 1.5rem;
	letter-spacing: -0.01rem;
}

.en p.visitContentSmall {
	font-size: 1.7rem;
}

/* 蔵人紹介 */
section.visitPeopleArea {
	padding: 80px 0;
}

.visitPeopleArea h2.visitContentH2::after {
	background: #292929;
	width: 87%;
}

.en.visitPeopleArea h2.visitContentH2::after {
	width: 82%;
}

.visitPeopleBox {
	display: flex;
	gap: 50px;
	margin-top: 50px;
	align-items: center;
	justify-content: center;
}

.visitPeopleImg {
	max-width:500px;
}

.visitPeopleText {
	font-size: 1.8rem;
}

.en .visitPeopleText {
	font-size: 2rem;
}

p.visitPeopleName {
	margin-bottom: 20px;
	font-size: 2.2rem;
}

p.visitPeopleP {
	margin-bottom: 20px;
}

p.visitPeopleCareer {
	font-size: 2rem;
	margin-bottom: 5px;
}

dl.visitPeopleDl {
	display: flex;
	flex-wrap: wrap;
}

dt.visitPeopleDt {
	width: 100px;
}

.zh dt.visitPeopleDt {
	width: 180px;
}


/* コース紹介 */
section.visitCourseArea {
	padding: 80px 0;
	background: #fff;
}

.visitCourseHeader {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.visitCourseHeader .visitContentH2 {
	width: calc(100% - 200px);
}

.en .visitCourseHeader .visitContentH2 {
	width: calc(100% - 250px);
}

.visitCourseHeader h2.visitContentH2::after {
	width: 80%;
	background: #292929;
}

.visitCourseLink {
	border: 1px solid #292929;
	text-align: center;
}

.visitCourseLink a {
	text-decoration: none;
	display: block;
	padding: 15px 25px;
	font-size: 1.7rem;
	line-height: 1.4;
	color: #fff;
	background: #292929;
	transition: .3s;
}

.visitCourseLink a:hover {
	background: transparent;
	color: #292929;
}

.visitCourseBox {
	display: flex;
	gap: 30px;
	border-bottom: 1px solid #292929;
	padding-bottom: 50px;
	margin-bottom: 50px;
}

.visitCourseBox:last-of-type {
	margin-bottom: 0;
	border-bottom: none;
	padding-bottom: 0;
}

.visitCourseTitleBox {
	background: #c2b59b;
	width: 200px;
	text-align: center;
	position: relative;
}

p.visitCourseTitle {
	font-size: 1.8rem;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.visitCourseContent {
	width: calc(100% - 240px);
}

ul.visitCourseUl {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
}

li.visitCourseLi {
	border: 1px solid #292929;
	padding: 0 15px;
	line-height: 1.4;
}

.letter::first-letter {
	letter-spacing: 1.5rem;
}

p.visitCourseP {
	font-size: 1.6rem;
	margin-bottom: 15px;
}

.en p.visitCourseP {
	font-size: 1.8rem;
}

p.visitCourseP:last-of-type {
	margin: 0;
}

p.visitCourseAttention {
	margin-top: -5px;
	color: #ff0000;
	font-size: 1.5rem;
}

/* 美酒マップ */
section.visitMapArea {
	padding: 80px 0;
}

.visitMapHeader {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.visitMapHeader .visitContentH2 {
	width: calc(100% - 200px);
}

.en .visitMapHeader .visitContentH2 {
	width: calc(100% - 250px);
}

.visitMapHeader h2.visitContentH2::after {
	width: 80%;
	background: #292929;
}

.en .visitMapHeader h2.visitContentH2::after {
	width: 72%;
}

.visitMapLink {
	text-align: center;
	border: 1px solid #292929;
}

.visitMapLink a {
	text-decoration: none;
	display: block;
	padding: 15px 25px;
	font-size: 1.7rem;
	line-height: 1.4;
	transition: .3s;
}

.visitMapLink a:hover {
	background: #292929;
	color: #fff;
}

.visitMap {
	margin: 30px auto;
	text-align: center;
}

.visitMap img {
	width: 100%;
}

.visitMapImg {
	display: flex;
}

.visitMapImg img {
	width: 25%;
}

/* よくあるご質問 */
section.visitFaqArea {
	padding: 80px 0;
	background: #fff;
}

.visitFaqArea h2.visitContentH2::after {
	background: #292929;
	width: 80%;
}

.en.visitFaqArea h2.visitContentH2::after {
	width: 90%;
}

.visitFaqBox {
	margin: 50px auto 40px;
}

dl.visitFaqDl {
	font-size: 1.7rem;
}

.en dl.visitFaqDl {
	font-size: 2rem;
}

dt.visitFaqDt {
	line-height: 2;
	margin-bottom: 10px;
}

dd.visitFaqDd {
	padding-bottom: 30px;
	border-bottom: 1px solid #292929;
	margin-bottom: 30px;
}

dl.visitFaqDl:last-of-type .visitFaqDd {
	margin: 0;
}

.visitFaqLink {
	text-align: center;
	border: 1px solid #292929;
	width: fit-content;
	margin: 0 auto;
}

.visitFaqLink a {
	display: block;
	text-decoration: none;
	padding: 20px 30px;
	font-size: 1.7rem;
	transition: .3s;
}

.visitFaqLink a:hover {
	background: #292929;
	color: #fff;
}

/* アクセスマップ */
section.visitAccessArea {
	padding: 80px 0;
}

.visitAccessArea h2.visitContentH2::after {
	width: 80%;
	background: #292929;
}

.en.visitAccessArea h2.visitContentH2::after {
	width: 85%;
}

.visitAccessMap {
	margin: 50px auto 30px;
	text-align: center;
}

.visitAccessMap iframe {
	max-width: 1000px;
}

.visitAccessText {
	max-width: 900px;
	margin: 0 auto;
	font-size: 1.6rem;
	line-height: 1.6;
}

dl.visitAccessDl {
	display: flex;
	gap: 15px;
}

/* お問い合わせ */
section.visitContactArea {
	padding-bottom: 80px;
}

.visitContactBox {
	border-top: 1px solid #292929;
	padding: 80px 40px;
	display: flex;
	flex-wrap: wrap;
}

.visitContactBoxTitle {
	font-size: 2.2rem;
	width: 22%;
}

.visitContactLinkArea {
	width: 33%;
}

.visitContactLinkArea p {
	font-size: 2rem;
}

a.visitContactLink {
	display: block;
	text-decoration: none;
	margin-top: 30px;
	font-size: 1.6rem;
	text-align: center;
	border: 1px solid #292929;
	padding: 10px 35px;
	background: rgba(255, 255, 255, 0.5);
	position: relative;
	transition: .3s;
}

a.visitContactLink:hover {
	background: none;
}

a.visitContactLink::after {
	content: "";
	position: absolute;
	display: block;
	top: 44%;
	right: 5%;
	width: 6px;
	height: 6px;
	border-top: 1px solid #292929;
	border-right: 1px solid #292929;
	transform: rotate(45deg);
}

a.visitContactLink.reserve {
	width: 270px;
}

a.visitContactLink.form {
	width: 310px;
}

.visitContactOtherBox {
	width: 45%;
}

p.visitContactOtherTitle {
	font-size: 2rem;
	margin-bottom: 20px;
}

p.visitContactOtherP {
	font-size: 1.6rem;
}

p.visitContactOtherMail {
	font-size: 2rem;
	margin-top: 10px;
}

p.visitContactOtherTel {
	font-size: 1.8rem;
}

.visitContactOtherTel .spnone {
	display: inline-block;
}

.visitContactOtherTel .pcnone {
	display: none;
}

/* footer */
.visitFooter {
	padding: 80px 0 20px;
	background: #292929;
	color: #fff;
}

.visitFooter a {
	color: #fff;
	text-decoration: none;
}

.visitFooterArea {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 60px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

span.visitFooterImg img {
	width: 150px;
}

span.visitFooterCompanyName {
	display: block;
	font-size: 1.7rem;
	margin: 25px 0 5px;
}

dl.visitFooterAddress {
	display: flex;
}

dt.visitFooterAddressDt {
	margin: 0 10px 0 0;
}

.visitFooterMenu {
	text-align: center;
}

.visitFooterLink {
	text-align: center;
	width: fit-content;
	border: 1px solid #fff;
}

.visitFooterLink a {
	display: block;
	padding: 10px 25px;
	font-size: 1.7rem;
	line-height: 1.3;
	letter-spacing: -0.01rem;
}

ul.visitFooterMenuUl {
	font-size: 1.7rem;
	margin: 90px 0 0;
}

li.visitFooterMenuLi {
	padding: 5px;
}

.visitFooterCopy {
	text-align: center;
}

@media screen and (max-width:768px) {
	header.visitHeader {
		padding: 10px 20px 20px 20px;
		position: relative;
		justify-content: space-between;
		flex-wrap: wrap;
		flex-direction: column-reverse;
	}

	header.visitHeader.en {
		padding: 10px 10px 20px;
	}

	.visitHeaderContact a {
		font-size: 3rem;
	}

	.visitHeaderLanguage {
		width: 100%;
		text-align: right;
		display: flex;
		justify-content: flex-end;
		gap: 20px;
	}

	.visitHeaderLanguage a {
		font-size: 3rem;
		margin: 0 0 10px 0;
	}

	.btnTriggerArea {
		display: block;
		position: absolute;
		right: 15px;
		bottom: -65px;
		z-index: 11;
	}

	.btnTrigger {
		position: relative;
		width: 50px;
		height: 44px;
		cursor: pointer;
	}

	.btnTrigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 4px;
		background-color: #fff;
		border-radius: 4px;
	}

	.btnTrigger, .btnTrigger span {
		display: inline-block;
		transition: all .5s;
		box-sizing: border-box;
	}

	.btnTrigger span:nth-of-type(1) {
		top: 0;
	}

	.btnTrigger span:nth-of-type(2) {
		top: 15px;
	}

	.btnTrigger span:nth-of-type(3) {
		bottom: 10px;
	}

	.btnTrigger.active span {
		background-color: #292929;
	}

	.btnTrigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(15px) rotate(-45deg);
		transform: translateY(15px) rotate(-45deg);
	}

	.btnTrigger.active span:nth-of-type(2) {
		opacity: 0;
	}

	.btnTrigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-15px) rotate(45deg);
		transform: translateY(-15px) rotate(45deg);
	}

	.visitHeader .visitHeaderUl {
		display: block;
		font-size: 3rem;
		width: 50%;
		position: fixed;
		height: 100vh;
		z-index: 10;
		top: 0;
		right: -50%;
		overflow-x: hidden;
		transition: all .5s;
		opacity: 0;
		padding: 50px 20px;
		background: rgb(252 252 249);
	}

	ul.visitHeaderUl.active {
		right: 0;
		opacity: 1;
	}

	li.visitHeaderLi {
		margin-bottom: 5px;
	}

	section.visitNews .visitContainer {
		font-size: 3rem;
		width: 90%;
	}

	.visitAboutText {
		font-size: 3rem;
		width: 90%;
		writing-mode: unset;
		margin: 0 auto;
		letter-spacing: -0.12rem;
	}

	.en .visitAboutText {
		font-size: 3.5rem;
		word-break: auto-phrase;
	}

	p.visitAboutP {
		margin: 0 0 20px 0;
	}

	p.visitAboutP:last-of-type {
		margin: 0;
	}

	h2.visitContentH2 {
		font-size:4rem;
	}

	.visitContentArea h2.visitContentH2::after {
		width: 50%;
	}

	.en.visitContentArea h2.visitContentH2::after {
		width: 44%;
	}

	.zh.visitContentArea h2.visitContentH2::after {
		width: 62%;
	}

	.visitContentInner {
		margin: 30px auto;
		width: 90%;
	}

	.visitContentBox {
		flex-wrap: wrap;
	}

	.visitContentImg {
		width: 100%;
	}

	.visitContentText {
		width: 100%;
		margin-top: 10px;
	}

	.visitContentBox h3.visitContentH3 {
		font-size: 4.5rem;
	}

	p.visitContentP {
		font-size: 3rem;
	}

	.en p.visitContentP {
		font-size: 3.5rem;
		word-break: auto-phrase;
		text-align: left;
	}

	p.visitContentAttention {
		font-size: 2.8rem;
	}

	p.visitContentSmall {
		font-size: 2.6rem;
	}

	.en p.visitContentSmall {
		font-size: 3rem;
		word-break: auto-phrase;
	}

	.en p.visitContentImgP {
		font-size: 2.8rem;
	}

	.visitPeopleArea h2.visitContentH2::after {
		width: 70%
	}

	.en.visitPeopleArea h2.visitContentH2::after {
		width: 62%;
	}

	.visitPeopleBox {
		flex-wrap: wrap;
		gap: 20px;
	}

	.visitPeopleImg {
		width: 90%;
		margin: 0 auto;
	}

	p.visitPeopleName {
		font-size: 3.6rem;
		margin-bottom: 10px;
	}

	.visitPeopleText {
		font-size: 3rem;
		width: 90%;
		margin: 0 auto;
	}

	.en .visitPeopleText {
		font-size: 3.5rem;
		word-break: auto-phrase;
		text-align: left;
	}

	p.visitPeopleCareer {
		font-size: 3.6rem;
	}

	dt.visitPeopleDt {
		width: 100%;
	}

	.visitCourseHeader {
		margin-bottom: 20px;
	}

	.visitCourseHeader .visitContentH2 {
		width: calc(100% - 150px);
	}

	.en .visitCourseHeader .visitContentH2 {
		width: calc(100% - 185px);
	}

	.visitCourseHeader h2.visitContentH2::after {
		width: 50%;
	}

	.en .visitCourseHeader h2.visitContentH2::after {
		width: 46%;
	}

	.zh .visitCourseHeader h2.visitContentH2::after {
		width: 40%;
	}

	.visitCourseLink {
		margin-right: 10px;
	}

	.visitCourseLink a {
		font-size: 3rem;
		padding: 10px;
	}

	.visitCourseTitleBox {
		width: 100%;
	}

	p.visitCourseTitle {
		width: 100%;
		position: relative;
		padding: 15px 0;
		top: auto;
		left: auto;
		transform: none;
		font-size: 3.3rem;
	}

	.visitCourseContent {
		width: 90%;
		margin: 0 auto;
	}

	ul.visitCourseUl {
		gap: 5px;
		font-size: 2.8rem;
		margin-bottom: 15px;
		flex-wrap: wrap;
	}

	.en ul.visitCourseUl {
		font-size:3rem;
	}

	li.visitCourseLi {
		padding: 0 7px;
	}

	p.visitCourseP {
		font-size: 3rem;
	}

	.en p.visitCourseP {
		font-size: 3.5rem;
	}

	p.visitCourseAttention {
		font-size: 2.8rem;
		word-break: auto-phrase;
		text-align: left;
	}

	.visitCourseBox {
		flex-wrap: wrap;
		border-bottom: none;
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.visitMapHeader .visitContentH2 {
		width: calc(100% - 150px);
	}

	.en .visitMapHeader .visitContentH2 {
		width: calc(100% - 176px);
	}

	.en .visitMapHeader h2.visitContentH2::after {
		width: 15%;
	}

	.zh .visitMapHeader h2.visitContentH2::after {
		width: 52%;
	}

	.visitMapLink {
		margin-right: 10px;
	}

	.visitMapLink a {
		padding: 10px;
		font-size: 3rem;
	}

	.visitMapHeader h2.visitContentH2::after {
		width: 50%;
	}

	.visitFaqArea h2.visitContentH2::after {
		width: 55%;
	}

	.en.visitFaqArea h2.visitContentH2::after {
		width: 85%;
	}

	.zh.visitFaqArea h2.visitContentH2::after {
		width: 72%;
	}

	.visitFaqBox {
		margin: 30px auto 40px;
		width: 90%;
	}

	dl.visitFaqDl {
		font-size: 3rem;
	}

	.en dl.visitFaqDl {
		font-size: 3.5rem;
	}

	.en.visitFaqArea h2.visitContentH2::after {
		width: 85%;
	}

	.visitFaqLink a {
		font-size: 3rem;
	}

	.visitAccessArea h2.visitContentH2::after {
		width: 60%;
	}

	.en.visitAccessArea h2.visitContentH2::after {
		width: 70%;
	}

	.zh.visitAccessArea h2.visitContentH2::after {
		width: 74%;
	}

	.visitAccessMap iframe {
		max-width: none;
		width: 100%;
	}

	.visitAccessText {
		font-size: 3rem;
		width: 90%;
	}

	.en .visitAccessText {
		font-size: 3.2rem;
	}

	dl.visitAccessDl {
		flex-wrap: wrap;
		gap: 0;
		line-height: 1.4;
		margin-top: 10px;
	}

	dl.visitAccessDl:last-of-type {
		margin-bottom: 10px;
	}

	dt.visitAccessDt {
		width: 100%;
	}

	.visitContactBox {
		width: 90%;
		padding: 30px 20px;
		margin: 0 auto;
	}

	.visitContactBoxTitle {
		width: 100%;
		font-size: 4.5rem;
		margin-bottom: 20px;
	}

	.visitContactLinkArea {
		width: 100%;
	}

	.visitContactLinkArea p {
		font-size: 3.5rem;
	}

	a.visitContactLink {
		font-size: 3rem;
		margin-top: 15px;
	}

	a.visitContactLink.reserve, a.visitContactLink.form {
		width: 100%;
	}

	.visitContactOtherBox {
		width: 100%;
		margin-top: 20px;
	}

	p.visitContactOtherTitle {
		font-size: 3.5rem;
		margin-bottom: 15px;
	}

	p.visitContactOtherP {
		font-size: 3rem;
	}

	.en p.visitContactOtherP {
		font-size: 3.2rem;
	}

	p.visitContactOtherMail {
		font-size: 3.5rem;
	}

	p.visitContactOtherTel {
		font-size: 3.5rem;
	}

	p.visitContactOtherSmall {
		font-size: 3rem;
	}

	.visitContactOtherTel .spnone {
		display: none;
	}

	.visitContactOtherTel .pcnone {
		display: block;
	}

	.visitFooterArea {
		flex-wrap: wrap;
		width: 90%;
		margin: 0 auto 30px;
	}

	.visitFooter {
		padding: 60px 0;
	}

	span.visitFooterCompanyName {
		margin: 15px 0 5px;
		font-size: 3rem;
	}

	dl.visitFooterAddress {
		font-size: 2.8rem;
		flex-wrap: wrap;
	}

	dt.visitFooterAddressDt {
		width: 100%;
	}

	p.visitFooterTel {
		font-size: 2.8rem;
		margin-bottom: 20px;
	}

	.visitFooterMenu {
		width: 100%;
		margin-top: 20px;
	}

	.visitFooterLink {
		margin: 0 auto;
	}

	.visitFooterLink a {
		font-size: 3rem;
	}

	ul.visitFooterMenuUl {
		margin: 20px 0 0;
		font-size: 3rem;
	}

	.visitFooterCopy {
		font-size: 2.3rem;
	}
}