@charset "utf-8";

/* ====================================================
	Main & Search Integrated Bundle (Nesting)
	Combined: main.css + search.css
==================================================== */

/* --- [1] Base & Layout Structure --- */

#wrap {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans Japanese', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	position: relative;
	background-image: url(../../img/mainpic03.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
	color: black;
}

#l-wrapper {
	margin: 0;
	padding: 0;
	font-size: 14px;
	line-height: 1.5;
	color: #333;
	overflow: hidden;
}

.l-container {
	max-width: 1120px;
	min-width: 960px;
	margin: 0 auto;
	text-align: left;
}

.nopc { display: none; }
.nosp {}

/* --- [2] Header & Breadcrumbs --- */

header {
	width: 100%;
	padding: 0;
	background-color: #004098;
	z-index: 100;
	transition: all 0.4s ease;

	&:hover {
		opacity: 1;
	}

	.header-wrap {
		width: 1100px;
		margin: 0 auto;
		line-height: 1;

		li {
			&.header-logo {
				max-width: 70px;
				width: 70px;
				vertical-align: middle;
				float: left;
				img { width: 100%; vertical-align: middle; }
			}
		}

		.header-txt {
			width: 75px;
			vertical-align: middle;
			font-weight: bold;
			color: #023B95;
			font-size: 1.4em;
			padding-left: 5px;
			float: left;
		}
	}
}

#breadcrumbsList {
	padding: 0;
	background-color: #FFF;
	border-bottom: 1px solid #bbb;
	z-index: 1500;
	position: relative;
}

.pan-box {
	width: 100%;
	min-width: 960px;
	max-width: 1080px;
	margin: 0 auto;
	text-align: left;
	height: 35px;
	font-size: 0.95em;

	ul {
		width: 70%;
		float: left;
		margin: 0;

		li {
			padding: 8px 8px 0px 0;
			color: #004098;
			float: left;
			list-style-type: none;
			font-weight: bold;
			font-size: 1.2em;

			a {
				text-decoration: underline;
				color: #00A2D9;
				font-weight: normal;

				&:hover {
					text-decoration: none;
					color: #00A2D9;
				}
			}
		}
	}

	.pan-sns {
		width: 30%;
		height: 35px;
		float: right;
		list-style: none;
		vertical-align: middle;
		line-height: 50px;
		margin: 0;

		.pan-facebook { float: right; width: 110px; height: 20px; margin: 0; vertical-align: middle; }
		.pan-twitter { float: right; width: 80px; height: 20px; margin: 0 5px 0 10px; vertical-align: middle; }
	}
}

/* --- [3] Global Navigation (#gNavi) --- */

#gNavi {
	padding: 10px 0;
	background-color: transparent;
	position: relative;
	width: 100%;
	text-align: center;
	z-index: 1500;
	transition: all 0.2s ease;

	.section-box {
		max-width: 1080px;
		min-width: 960px;
		margin: 0 auto;
		padding: 0;
		overflow: visible;
	}

	.gnavi-box {
		width: 100%;
		display: table;
		background-color: #004098;
		border-radius: 3px;

		li {
			display: table-cell;
			padding: 5px 8px;
			color: #FFF;
			text-align: center;
			line-height: 1.2;
			vertical-align: middle;
			font-size: 0.9em;
			font-weight: bold;
			cursor: pointer;
			border-right: 1px dotted #89CEE6;
			transition: all 0.2s ease;
			position: relative;

			a {
				display: block;
				height: 100%;
				color: #FFF;
				text-decoration: none;
				border-radius: 3px;
			}

			&:hover, &.gnavi--hover {
				background-color: #FFF;
				color: #333;
				border-right: 1px dotted #00A2D9;
				a { color: #333; }
			}

			&.header-logo { width: 70px; background-color: #FFF; border: none; }
			&.header-txt {
				width: 58px; background-color: #FFF; text-align: left;
				a { color: #004098; }
			}

			&.gnavi--overseas {
				background-color: #FFD842;
				color: #333;
				padding-right: 15px;
				background-image: url(/kix/jcom/img/icon/icon_next03.png);
				background-size: 13px;
				background-position: top 15px right 4px;
				background-repeat: no-repeat;
				a { color: #333; }
			}

			&.gnavi--domestic {
				background-color: #98CF00;
				padding-right: 7px;
				background-image: url(/kix/jcom/img/icon/icon_next03.png);
				background-size: 13px;
				background-position: top 14px right 2px;
				background-repeat: no-repeat;
				a { color: #333; &:hover { opacity: 0.8; } }
			}
		}
	}
}

/* Navigation Sub Menus */
.gnavi-menu-box {
	display: block;
	border: 1px solid #FFF;
	border-top: 10px solid #FFF;
	padding: 10px;
	margin: 0 auto;
	background-color: #FFD842;
	background-image: url(../img/bg/bg_logo_3.jpg);
	box-shadow: 0px 1px 1px #ccc;

	li {
		float: left;
		width: 50%;
		padding: 0;
		border: 5px solid transparent;
		transition: all 0.8s ease;

		&:hover {
			border: 5px solid #666;
			background-color: #FDEFBE;
		}

		a {
			display: block;
			padding: 10px;
			background: #FFF;
			color: #000;
			font-size: 16px;
			background-image: url(/kix/fair/hatsuyume/pc/img/icon/icon_search.png);
			background-position: left 7px top 8px;
			background-repeat: no-repeat;
			background-size: 20px;

			&:hover { text-decoration: none; }
		}

		img { display: block; margin: 0 auto 5px; width: 80%; }
	}
}

/* --- [4] Content Sections & Items --- */

.theme-box {
	font-size: 0.8em;
	text-decoration: underline;
	background: #FFF;
	max-width: 1080px;
	min-width: 920px;
	margin: 0 auto 30px;
	padding: 20px;

	ul {
		display: flex;
		border-radius: 3px;
	}

	li {
		flex: 1;
		display: flex;
		display: -webkit-flex; /* Safari */
		margin: 20px 10px;
	}
}

#mainSection {
	padding: 30px 0;
	background: #F4F2EC;
	background-image: url(../img/img_obi.png), url(../img/img_obi.png), url(../img/bg/bg_logo.jpg);
	background-repeat: repeat-y, repeat-y, repeat;
	background-position: top right, top left;
	transition: all 0.2s ease;
}

.section {
	h2 {
		background: #004098;
		padding: 1%;
		text-align: center;
		color: #FFF;
		border-radius: 3px;

		span { color: yellow; font-size: 18px; font-weight: bold; display: block; }
	}
}

.item-box {
	float: left;
	width: 24%;
	border: 5px solid transparent;
	transition: all 0.2s ease;
	position: relative;

	&:hover { border: 5px solid #FFD842; }

	a { text-decoration: none; color: #222; }

	.item-box-pic {
		width: 100%;
		img { width: 100%; display: block; max-width: 472px; }
	}

	.item-box-info {
		background-color: #FFF;
		padding: 10px;
		background-image: url(https://www.his-j.com/kix/tour_top/img/icon/icon_corner.png);
		background-position: right 2px bottom 2px;
		background-size: 10px;
		background-repeat: no-repeat;
	}

	.item-box-ttl {
		font-size: 15px; height: 42px; color: #004098; font-weight: bold;
		padding: 5px 1px; line-height: 1.2; display: block;
	}

	.item-box-txt {
		font-size: 0.8em; line-height: 1.5; padding: 7px; background-color: #FAFAFA;
		margin-bottom: 3px; display: block; min-height: 87px;
	}

	.item-box-price {
		font-size: 1.1em; font-weight: bold; color: red;
		display: block; text-align: right;
	}
}

/* FIT Section */
.fit--wrap {
	background-color: #f4efd2;
	padding: 20px;
	position: relative;

	.item-box {
		width: 47.5%;
		padding: 8px;
		background-color: #FFF;
		border-color: #D6F6FC;

		.item-box-pic { width: 30%; height: 120px; overflow: hidden; }
		.item-box-info { width: 63%; background-color: #EEE; }
		.item-box-price { font-size: 1.4em; color: red; }
	}
}

/* --- [5] Specific Components (Tel, Contact, LINE) --- */

#telBox {
	background-color: #f1f1f1;
	padding: 0 0 5px;

	.section-box {
		max-width: 960px;
		margin: 40px auto;
		padding: 40px;
		background-color: #FFF;
		border: 1px solid #EEE;
		border-radius: 3px;
	}

	.telbox-mainttl {
		font-size: 60px; font-weight: bold; color: #004098; padding-left: 60px;
		background-image: url(/kix/fair/hatsuyume/pc/img/icon/icon_tel01.png);
		background-size: 48px; background-repeat: no-repeat;
	}
}

#contactWrap {
	background-color: #FFF;

	.section-box {
		width: 900px;
		margin: 30px auto;
		padding: 20px;
		border: 5px solid #F4BA23;
		border-radius: 3px;

		&:hover { background-color: #FFF; }
	}

	.contact-ttl {
		font-size: 24px; color: #004098; padding: 15px;
		img { width: 20px; vertical-align: middle; margin-right: 15px; }
	}
}

.line-wrap-detail {
	padding: 50px 0 0;

	.line-inner {
		width: 992px;
		margin: 0 auto;
		text-align: center;
		letter-spacing: 0.1vw;
		line-height: 1.5;
		background: #fff;
		border: solid 1px #d3d3d3;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		letter-spacing: 1px; /* Overrides 0.1vw if specific */

		.head {
			width: 100%;
			text-align: center;
			background-color: #15c618;
			padding: 6px;
			color: #fff;
			font-size: 20px;
			line-height: 1.5;
			font-weight: bold;
		}

		.textarea {
			width: 75%;
			text-align: left;
			padding: 30px 0 30px 30px;

			.text1 {
				font-size: 17px;
				line-height: 1.4;
				span {
					display: inline-block;
					font-weight: bold;
					color: #fb0b0b;
					background-color: #ffe1e1;
					padding: 0 2px;
				}
			}

			.text2 {
				font-size: 21px;
				font-weight: bold;
				margin-bottom: -2px;
				background: linear-gradient(transparent 60%, #fff231 0%);
				display: inline-block;
				line-height: 1.7em;
				padding: 0 4px;
			}
		}

		.btnarea {
			width: 23%;
			padding: 10px 20px 10px 0;
		}
	}
}

.line-button a {
	display: block;
	color: #fff;
	font-size: 15px;
	text-align: center;
	font-weight: bold;
	border-radius: 8vw;
	box-shadow: 0px 3px 0px 0 rgba(0, 0, 0, .14);
	background: url(/kansai/images/icon/icon-linekansai.png) no-repeat;
	background-size: 50px;
	background-position: 12px;
	background-color: #15c618;
	padding: 10px 10px 6px 70px;
	position: relative;
	text-decoration: none;

	&:hover { opacity: .8; transition: all 0.6s ease; }

	span.small {
		width: 88%;
		display: block;
		font-size: 14px;
		font-weight: normal;
	}

	span.strong {
		display: block;
		&::after {
			font-family: "FontAwesome", "Font Awesome 5 Free";
			font-weight: 900;
			content: "\f138";
			font-size: 15px;
			margin-left: 6px;
			padding-right: 14px;
		}
	}

	span.line-friend {
		font-size: 1.3;
		color: #fff231;
		padding: 0 2px;
	}
}

.line-qr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	span:nth-child(1) {
		width: 50%;
		font-size: 14px;
		font-weight: bold;
		line-height: 1.3;
	}

	img {
		width: 50%;
	}

	span:nth-child(3) {
		width: 100%;
		font-size: 13px;
	}

	a {
		text-decoration: underline;
	}
}

/* --- [6] Footer Utilities & Others --- */

#recommendarea {
	padding: 30px 0; width: 992px; margin: 50px auto 0; background: #f2f2f2; text-align: center;
	p { font-size: 25px; font-weight: 700; line-height: 1.3em; margin-bottom: 15px; }
	ul { display: flex; justify-content: center; flex-wrap: wrap; padding: 0 10px; }
	li {
		font-size: 16px; border-radius: 50px; background: #F54B00; margin: 0 2px 10px;
		a { color: #fff; display: block; padding: 5px 15px; border-radius: 50px;
			&:hover { transition: all 0.6s ease; opacity: 0.8; }
		}
	}
}

#bnrarea-foot {
	padding: 50px 0 30px; text-align: center;
	ul { width: 960px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
}

.fuwafuwa {
	animation: fuwafuwa 3s infinite alternate ease;
}

@keyframes fuwafuwa {
	0% { transform: translate(0, 0); }
	50% { transform: translate(0, -10px); }
	100% { transform: translate(0, 0); }
}

#pagetop {
	position: fixed; right: 25px; bottom: 40px; z-index: 1000;
	img { width: 75px; }
	&:hover { opacity: 0.5; }
}
