@charset "utf-8";


/*
	通訳ガイド　トップCSS
	index.html

	create	20210518-
*/

/* ---------------------------------------------------------
	約560px未満の画面向けスタイル mobile first
--------------------------------------------------------- */
main .topSearch {
	margin: 60px 0 0;
	padding: 0;
}
main .topSearch .mainImage {
	width: 100%;
	padding: 50px 0px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
main .topSearch h1 {
	width: 100%;
	color: #fff;
	font-size: 2rem;
	font-weight: normal;
	text-align: center;
/*	text-shadow: 2px 2px 2px #000; */
	margin: 0 0 10px;
}
main .topSearch p {
	display: none;
}
main .guideBlock {
	margin: 0;
	padding: 50px 10px;
}
main .guideBlock:nth-child(odd) {
	background-color: #F8F9FA;
}
main .guideBlock h2 {
	font-size: 2rem;
	margin-bottom: 15px;
}
main .guideBlock h2 span {
	font-size: 1.4rem;
	font-weight: normal;
	margin-top: 5px;
	display: block;
}
main .guideBlock .guideInfoBlock {
}
main .guideBlock .guideInfoBlock ul {
	list-style: none;
	text-align: left;
}
main .guideBlock .guideInfoBlock ul li {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 2px dotted #ccc;
}
main .guideBlock .guideInfoBlock ul li .date {
	font-size: 1.4rem;
	margin-bottom: 5px;
	display: block;
}
main .guideBlock .guideInfoBlock ul li .new {
	color: #f00;
	font-weight: bold;
}

main .guideBlock .guideInfoBlock ul li a {
	line-height: 1.3;
}
main .guideBlock .guideLinkBlock {
}
main .guideBlock .guideLinkBlock a {
	width: 100%;
	color: #202833;
	text-decoration: none;
	margin: 0 0 10px;
	padding: 20px;
	background-color: #fff;
	border: 2px solid #999;
	display: block;
}
main .guideBlock .guideLinkBlock a h3 {
	font-size: 2rem;
	margin: 0 0 10px;
}
main .guideBlock .guideLinkBlock a p {
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: left;
}
main .guideBlock .guideBox {
	width: 100%;
	margin: 0;
	padding: 15px;
	border: 1px solid #999;
}
main .guideBlock .guideBox p {
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: left;
}
main .guideBlock .guideBox2 {
	width: 100%;
	margin: 0;
	padding: 15px 15px 5px;
	border-left: 1px solid #999;
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
	background-color: #fff;
}
main .guideBlock .guideBox2 h3 {
	font-size: 2rem;
}
main .guideBlock .guideBox2 i {
	margin-top: 3px;
	display: block;
}
main .guideBlock .guideBox3 {
	width: 100%;
	margin: 0;
	padding: 15px;
	background-color: #FFFFF0;
	border: 1px solid #999;
}
main .guideBlock .guideBox3 h3 {
	font-size: 2rem;
	margin-bottom: 15px;
}
main .guideBlock .guideBox3 p {
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: left;
}
main .guideBlock .guideBox3 p > span {
	display: block;
}
main .guideBlock .guideBox3 ul {
	margin: 10px 0 0 0;
	list-style: none;
	text-align: left;
}
main .guideBlock .guideBox3 ul li {
	margin: 0 0 10px;
}
main .guideBlock .guideFlowBlock {
	width: 100%;
	margin: 0;
	padding: 15px;
	background-color: #F8F9FA;
	border: 1px solid #999;
}
main .guideBlock .guideFlowBlock h3 {
	font-size: 2rem;
	margin-bottom: 15px;
}
main .guideBlock .guideFlowBlock h3 span {
	display: block;
}
main .guideBlock .guideFlowBlock .guideFlowBox {
	width: 100%;
	margin: 0 0 30px;
}
main .guideBlock .guideFlowBlock .guideFlowBox > div {
	width: 100%;
	margin: 0;
	padding: 10px 0;
	border: 1px solid #999;
}
main .guideBlock .guideFlowBlock .guideFlowBox > div > span {
    display: block;
    margin: 0 0 10px;
    padding: 0 0 5px;
    width: 100%;
    border-bottom: 1px solid #999;
}
main .guideBlock .guideFlowBlock .guideFlowBox > p i {
	font-size: 4rem;
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
		transform: rotate(90deg);
}
main .guideBlock .guideFlowBlock dl {
	font-size: 1.6rem;
	line-height: 1.8;
	text-align: left;
}
main .guideBlock .guideFlowBlock dl dt {
	font-weight: bold;
}
main .guideBlock .guideFlowBlock dl dd {
	margin: 0 0 10px 10px;
}
main .guideBlock .guideFlowBlock dl dd span {
	display: block;
	color: #f00;
}
main .btnMore {
	margin: 10px 0 0;
}
main .btnMore a {
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
	width: 222px;
	margin: 0 auto;
	padding: 15px 0;
	background-color: #055da5;
	border-radius: 3px;
	display: block;
}
.guidekibou {
	margin: 50px auto;
}


@media screen and (min-width: 560px){
	/*	約560px以上の画面向けスタイル second tablet */

	main .topSearch h1 {
		font-size: 3.2rem;
	}
	main .topSearch p {
		display: block;
		color: #fff;
		font-size: 1.2rem;
		line-height: 1.8;
		padding: 0px 30px;
		text-align: left;
/*		background-color: rgba(0,0,0,0.3); */
	}
	main .guideBlock h2 {
		font-size: 2.2rem;
	}
	main .guideBlock .guideBox3 {
		padding: 20px;
	}
	main .guideBlock .guideInfoBlock a {
		width: calc((100% - 30px) / 4);
	}
	main .guideBlock .guideLinkBlock {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
			justify-content: space-between;
	}
	main .guideBlock .guideLinkBlock a {
		width: calc((100% - 20px) / 3);
	}
	main .guideBlock .guideLinkBlock a h3 {
		font-size: 1.9rem;
	}
	main .guideBlock .guideBannerBlock ul {
		list-style: none;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
			justify-content: center;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	}
	main .guideBlock .guideBannerBlock ul li {
		width: calc((100% - 30px) / 4);
		margin: 0 3px 5px;
	}
	main .guideBlock .guideBannerBlock ul li img {
		width: 100%;
	}
	main .guideBlock .guideFlowBlock {
		padding: 20px;
	}
	main .guideBlock .guideFlowBlock h3 {
		margin-bottom: 20px;
	}
	main .guideBlock .guideFlowBlock h3 span {
		display: inline;
	}
	main .guideBlock .guideFlowBlock .guideFlowBox {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
			justify-content: space-between;
	}
	main .guideBlock .guideFlowBlock .guideFlowBox > div {
		padding: 5px 0 10px;
		background-color: #fff;
		position: relative;
	}
	main .guideBlock .guideFlowBlock .guideFlowBox > div > span {
	    display: block;
	    margin: 0 0 10px;
	    padding: 0 0 5px;
	    width: 100%;
	    border-bottom: 1px solid #999;
	}
	main .guideBlock .guideFlowBlock .guideFlowBox > p i {
		-webkit-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
			transform: rotate(0deg);
		margin: 15px 5px;
	}
	main .btnMore {
		margin: 20px 0 0;
	}
}





@media screen and (min-width: 980px){
	/*	約980px以上の画面向けスタイル pc style */

	header .navi .naviRight .btnGuide {
		width: auto;
		margin: 0 0 0 5px;
	}
	main .topSearch {
		padding-top: 0;
	}
	main .topSearch .mainImage {
		padding: 80px 0;
	}
	main .topSearch h1 {
		font-size: 3.6rem;
		margin-bottom: 10px;
	}
	main .topSearch p {
		font-size: 1.4rem;
		padding: 10px calc(50% - 315px);
	}
	main .btnMore a {
		transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	}
	main .btnMore a:hover {
		background-color: #023660;
	}

	main .guideBlock {
		padding: 80px calc(50% - 490px);
	}
	main .guideBlock .guideLinkBlock a {
		padding: 25px;
		transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	}
	main .guideBlock .guideLinkBlock a:hover {
		background-color: #ffe;
	
	}
}



@media screen and (min-width: 1200px){
	/*	約1200px以上の画面向けスタイル pc style */

	main .topSearch h1 {
		font-size: 4.2rem;
	}
}
