@charset "UTF-8";

.l-content {
	background: #eaeaea;
}

.l-content-body {
	margin-bottom: 0;
	padding-bottom: 100px;
	max-width: 1024px;
}

@media screen and (max-width: 1194px) {
	.l-content-body {
		padding: 0;
	}
}

p {
	margin: 0;
}

#wrapper {
	letter-spacing: 0.1em;
	line-height: 1.6;
}

@media screen and (max-width: 1194px) {
	#wrapper {
		padding: 0 10px;
	}
}

#contents {
	margin: 0 auto 40px;
	width: 980px;
	background: none;
}

@media screen and (max-width: 1194px) {
	#contents {
		width: 100%;
	}
}

.flow {
	text-align: center;
	position: relative;
}

.flow::after {
	content: '';
	margin: auto;
	width: 60%;
	height: 1px;
	background: #000000;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
}

.flow a,
.flow img {
	position: relative;
	z-index: 2;
}

.flow img {
	max-width: 33%;
}

.flow a:hover,
.flow a img:hover {
	opacity: 1;
}

.coursebox {
	margin: 10px 0;
	width: 50%;
	float: left;
	box-sizing: border-box;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.coursebox {
		width: 100%;
		float: none;
	}
}

.coursebox h3 {
	margin: 0 10px;
	border: 1px solid #000000;
	border-bottom: none;
	padding: 20px;
	background: url(img/back.gif);
}

.coursebox h3::before {
	display: none;
}

.coursebox .inner {
	margin: 0 10px;
	border: 1px solid #000000;
	border-top: none;
	padding: 30px;
	background: #ffffff;
}

.notice {
	clear: both;
	text-align: right;
}

.wrap_1col,
.wrap_2col {
	position: relative;
}

.wrap_1col {
	margin: 40px 20px;
}

.wrap_2col {
	margin: 40px 0;
}

.wrap_2col::after,
.wrap_3col::after {
	content: '';
	display: block;
	clear: both;
}

.wrap_2col .photo,
.wrap_2col .text {
	margin: 0 20px;
	width: 450px;
	float: left;
}

@media screen and (max-width: 1150px) {
	.wrap_1col {
		margin: 40px 0;
	}
	.wrap_2col .photo {
		margin: 0 auto 10px;
		float: none;
	}
	.wrap_2col .text {
		margin: 0;
		width: 100%;
		float: none;
	}
}

@media screen and (max-width: 470px) {
	.wrap_2col .photo {
		width: 100%;
	}
}

.text p,
.text ul,
.wrap_3col p {
	margin: 0 0 1em;
	text-align: justify;
}

.text strong {
	font-size: 120%;
}

.decoration_text01 {
	position: relative;
}

.decoration_text01::before {
	content: '';
	position: absolute;
	left: -20px;
	bottom: 32px;
	width: 20px;
	height: 200px;
	background-image: url(img/decoration_text01.svg);
	background-repeat: no-repeat;
	background-size: 220px 200px;
}

.decoration_text01.no-slick::before {
	bottom: 0;
}

.kobe .decoration_text01.cafe::before {
	background-position: 0 0;
}

.kobe .decoration_text01.lunch::before {
	background-position: -20px 0;
}

.kobe .decoration_text01.shopping::before {
	background-position: -40px 0;
}

.kobe .decoration_text01.yorimichi::before {
	background-position: -60px 0;
}

.kobe .decoration_text01.experience::before {
	background-position: -80px 0;
}

.kobe .decoration_text01.sightseeing::before {
	background-position: -100px 0;
}

.kobe .decoration_text01.kix::before {
	background-position: -120px 0;
}

.osaka .decoration_text01.sightseeing::before {
	background-position: -140px 0;
}

.osaka .decoration_text01.lunch::before {
	background-position: -160px 0;
}

.osaka .decoration_text01.dinner::before {
	background-position: -180px 0;
}

.osaka .decoration_text01.kix::before {
	background-position: -200px 0;
}

@media screen and (max-width: 768px) {
	.decoration_text01::before {
		left: -10px;
		width: 10px;
		height: 100px;
		background-size: 100px 100px;
	}

	.kobe .decoration_text01.lunch::before {
		background-position: -10px 0;
	}

	.kobe .decoration_text01.shopping::before {
		background-position: -20px 0;
	}

	.kobe .decoration_text01.yorimichi::before {
		background-position: -30px 0;
	}

	.kobe .decoration_text01.experience::before {
		background-position: -40px 0;
	}

	.kobe .decoration_text01.sightseeing::before {
		background-position: -50px 0;
	}

	.kobe .decoration_text01.kix::before {
		background-position: -60px 0;
	}

	.osaka .decoration_text01.sightseeing::before {
		background-position: -70px 0;
	}

	.osaka .decoration_text01.lunch::before {
		background-position: -80px 0;
	}

	.osaka .decoration_text01.dinner::before {
		background-position: -90px 0;
	}

	.osaka .decoration_text01.kix::before {
		background-position: -100px 0;
	}
}

.decoration_text02 {
	position: relative;
}

.decoration_text02::before {
	content: '';
	position: absolute;
	top: -40px;
	left: 0;
	z-index: 10;
	width: 150px;
	height: 55px;
	background-image: url(img/decoration_text02.svg);
	background-repeat: no-repeat;
	background-size: 150px 330px;
}

.kobe .decoration_text02.shopping::before {
	background-position:  0 0;
}

.kobe .decoration_text02.recommend::before {
	background-position:  0 -55px;
}

.osaka .decoration_text02.recommend::before {
	background-position:  0 -110px;
}

.osaka .decoration_text02.viewpoint::before {
	background-position:  0 -165px;
}

.osaka .decoration_text02.food01::before {
	background-position:  0 -220px;
}

.osaka .decoration_text02.food02::before {
	background-position:  0 -275px;
}

.wrap_3col {
	margin: 20px 10px 40px;
}

.wrap_3col div {
	margin: 0 10px;
	width: 300px;
	float: left;
}

@media screen and (max-width: 1150px) {
	.wrap_3col {
		-webkit-display: flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.wrap_3col div:nth-child(2n) {
		margin: 0 0 0 1%;
		width: 49%;
		float: none;
	}

	.wrap_3col div:nth-child(2n+1) {
		margin: 0 1% 0 0;
		width: 49%;
		float: none;
	}
}

@media screen and (max-width: 600px) {
	.wrap_3col div:nth-child(n) {
		margin: 0;
		width: 100%;
	}
}

.wrap_3col h4 {
	margin: 0 0 10px;
	font-weight: bold;
}

.wrap_3col p {
	margin: 10px 0;
}

.slick-arrow {
	margin-top: auto;
	margin-bottom: auto;
	height: 46px;
	position: absolute;
	z-index: 5;
	top: 0;
	bottom: 0;
}

.slick-prev {
	left: 10px;
}

.slick-next {
	right: 10px;
}

.slick-arrow::after {
	margin: 12px 0 11px;
}

.slick-dots {
	margin: 10px auto;
	position: static;
}

.slick-dots button {
	background-color: #cccccc !important;
}

.cover .slick-dots button {
	background-color: #ffffff !important;
}

.slick-active button,
.cover .slick-active button {
	background-color: #000000 !important;
}

h2 {
	margin: 0;
	text-align: center;
}

.modelcourse h2 {
	margin: 40px 0;
	font-size: 160%;
	font-weight: normal;
	letter-spacing: 0.1em;
	text-align: center;
}

.modelcourse h2::before {
	content: '';
	margin: 0 auto 5px;
	width: 140px;
	height: 75px;
	display: block;
	background: url(img/modelcourse.svg) no-repeat left top;
	background-size: 140px 75px;
}

h3 {
	margin: 40px 0 20px;
	text-align: center;
	position: relative;
}

h3::before {
	content: '';
	margin: 0 auto 5px;
	width: 40px;
	height: 45px;
	display: block;
	background-image: url(img/icon.svg);
	background-repeat: no-repeat;
	background-size: 150px 135px;
}

.kobe h3 {
	color: #ab1500;
}

.kobe h3::before {
	background-position: 0 0;
}

.osaka h3 {
	color: #005997;
}

.osaka h3::before {
	background-position: -40px 0;
}

h3.food01::after,
h3.food02::after {
	content: '';
	position: absolute;
	top: 5px;
	right: 10px;
	width: 250px;
	height: 60px;
	display: block;
	background: url(img/decoration_text03.svg) no-repeat left top;
	background-size: 250px 120px;
	z-index: 10;
}

h3.food02::after {
	background-position: 0 -60px;
}

@media screen and (max-width: 768px) {
	h3.food01::after,
	h3.food02::after {
		margin: 10px 0 0 auto;
		position: static;
	}
}

h3 strong {
	font-size: 160%;
	font-weight: normal;
	letter-spacing: 0.1em;
	color: #333333;
}

h5 {
	margin: 20px 0;
	text-align: center;
}

h4, h6 {
	margin: 0 0 20px;
}

.text h4 {
	font-size: 140%;
	font-weight: bold;
}

@media screen and (max-width: 1150px) {
	.text h4 {
		margin: 20px 0;
	}
}

.text h4::before {
	content: '';
	margin: 0 2px 0 0;
	display: inline-block;
	vertical-align: -5px;
	width: 30px;
	height: 30px;
	background-image: url(img/icon.svg);
	background-repeat: no-repeat;
	background-size: 150px 135px;
}

.kobe .text h4.meal::before {
	background-position: 0 -45px;
}

.kobe .text h4.walk::before {
	background-position: -30px -45px;
}

.kobe .text h4.souvenir::before {
	background-position: -60px -45px;
}

.kobe .text h4.cafe::before {
	background-position: -90px -45px;
}

.kobe .text h4.craft::before {
	background-position: -120px -45px;
}

.osaka .text h4.meal::before {
	background-position: 0 -75px;
}

.osaka .text h4.walk::before {
	background-position: -30px -75px;
}

.osaka .text h4.ship::before {
	background-position: -60px -75px;
}

.osaka .text h4.plane::before {
	background-position: -90px -75px;
}

.text .copy {
	padding: 0 0.5em;
	background: #000000;
	color: #ffffff;
}

.wrap_1col .copy {
	width: 50%;
	box-sizing: border-box;
}

@media screen and (max-width: 1150px) {
	.wrap_1col .copy {
		width: 100%;
	}
}

.text ul {
	word-break: break-all;
}

.text li {
	display: inline;
	color: #6b6b6b;
}

.text a {
	color: #6b6b6b;
}

.text li:not(:last-child) {
	margin: 0 5px 0 0;
	padding: 0 10px 0 0;
	border-right: 1px solid #6b6b6b;
}

.text li::before {
	content: '';
	margin: 0 2px 4px 0;
	display: inline-block;
	vertical-align: -6px;
	width: 15px;
	height: 15px;
	background-image: url(img/icon.svg);
	background-repeat: no-repeat;
	background-size: 150px 135px;
}

.kobe .text .address::before {
	background-position: 0 -105px;
}

.kobe .text .tel::before {
	background-position: -15px -105px;
}

.kobe .text .open::before {
	background-position: -30px -105px;
}

.kobe .text .website::before {
	background-position: -45px -105px;
}

.kobe .text .holiday::before {
	background-position: -60px -105px;
}

.kobe .text .price::before {
	background-position: -75px -105px;
}

.kobe .text .workshop::before {
	width: 30px;
	background-position: -90px -105px;
}

.osaka .text .address::before {
	background-position: 0 -120px;
}

.osaka .text .tel::before {
	background-position: -15px -120px;
}

.osaka .text .open::before {
	background-position: -30px -120px;
}

.osaka .text .website::before {
	background-position: -45px -120px;
}

.osaka .text .holiday::before {
	background-position: -60px -120px;
}

.osaka .text .price::before {
	background-position: -75px -120px;
}

.text h6 {
	padding: 2px 0 0 40px;
	background: url(img/flag.svg) no-repeat left top;
	font-size: 150%;
}

.subphoto::before {
	content: '';
	width: 180px;
	height: 40px;
	display: block;
	background: url(img/favorite.svg) no-repeat left top;
	background-size: 180px 30px;
}

.subphoto ul {
	border: 2px solid #000000;
}

.subphoto ul::after {
	content: '';
	display: block;
	clear: both;
}

.subphoto li {
	width: 25%;
	float: left;
}

@media screen and (max-width: 500px) {
	.subphoto li {
		width: 50%;
	}
}

.cover {
	margin: 0 -500%;
	padding: 20px 500%;
	background: url(img/back.gif);
}

#yorimichi {
	margin-top: 20px;
	border: 2px solid #000000;
	background: #ffffff;
}

#yorimichi .wrap_1col {
	margin-top: 20px;
}

#yorimichi h3 {
	margin: 0 0 20px;
}

#yorimichi .subphoto::before {
	display: none;
}

@media screen and (max-width: 768px) {
	#yorimichi .wrap_1col {
		margin-top: 10px;
	}

	#yorimichi h3 {
		margin: 0 10px 20px;
	}

	#yorimichi .text {
		margin: 0 10px;
	}
}

#yorimichi ul {
	border-left: none;
	border-right: none;
	border-bottom: none;
}

#hotel h3 {
	color: #333333;
	font-size: 160%;
	font-weight: bold;
	letter-spacing: 0.2em;
}

#hotel h3::before {
	content: '';
	position: static;
	margin: 0 0 10px;
	border-bottom: 2px solid #000000;
	width: 100%;
	height: 50px;
	background: url(img/hotel.svg) no-repeat center top;
}

#map {
	padding: 0 0 75%;
	width: 100%;
	position: relative;
}

iframe {
	width: 100%;
	height: 100%;
	position: absolute;
}
