@charset "utf-8";
/* CSS Document */
body {
	/* width:1300px; */
	font-family: "メイリオ" , Arial, Helvetica, sans-serif;
	padding: 0;
	margin: 0 auto;
	font-size: 14px;
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	width:100%;
	/* overflow-x: hidden !important; */
	position: relative;
}

#container {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

h1{
	text-align: center;
	width: 100%;
	margin: 0 auto;
	padding: 10px;
	font-size: 130%;
	font-weight: bold;
	color: #fff;
	background:#333434;
}
.hd{
	text-align: center;
	background-color: #17847B;
	color: #fff;
	border-radius: 4px;
	padding: 8px 0px 10px;
	margin-top: 30px;
	margin-bottom: 15px;
	font-size: 110%;
	font-weight: bold;
	letter-spacing: 1px;
}
h2{
	border-left: 8px solid #17847B;
	padding: 5px 0px 5px 10px;
	margin-top: 30px;
	margin-bottom: 15px;
	font-size: 110%;
	font-weight: bold;
	letter-spacing: 1px;
}
h3{
	/* background-color: #ebfff9;
	border-top: 1px solid #17847B;
	border-bottom: 1px solid #17847B;
	padding: 5px 0px 5px 10px; */
	color: #17847B;
	border-bottom: 2px solid #17847B;
	margin-top: 10px;
	margin-bottom: 15px;
	font-size: 110%;
	font-weight: bold;
	letter-spacing: 1px;
}

.logo{
	text-align: center;
}
.logo img{
	width: 50px;
  border: none;
  padding: 5px 0;
}

img{
	width: 100%;
	height: auto;
	object-fit: cover;
}
.margin-top-25{
	margin-top: 25px;
}
.margin-left-15{
	margin-left: 15px;
}
a{
	color:#d00c18;
	text-decoration: underline;
}
a.a-icon[target=_blank]{
	padding-right: 20px;
	background: url(https://img.jtrip.co.jp/uploads/240903164607_r.png) right center/11px auto no-repeat;
}
.inner{
	width: calc(100% - 20px);
	padding: 10px 10px 15px;
	margin:0 auto;
}
.about{
    background-color: hsl(0, 0%, 93%);
    padding: 10px;
    margin: 10px auto;
}
.txt,ul{
	margin: 15px 0;
}
.w640{
	width: 100%;
    max-width: 640px;
    margin: 15px auto
}
ul li{
	padding: 0 0 10px;
	margin-left:1em;
	text-indent:-1em;
}
footer{
	background-color: #333434;
	color: #fff;
}
/* 画像を2つ並べる場合 */
.flex-two-images{
	display: flex;
	flex-wrap: wrap;
}
/* 画像サイズが違うときはそれぞれの％を修正 */
.flex-two-images figure:first-of-type{
	width: 50%;
}
.flex-two-images figure:last-of-type{
	width: 50%;
}
/* -- テーブル ------------------- */
table{
	width: 100%;
	max-width: 640px;
	margin: 0 auto;
	background-color: #ffffff;
	border: 1px solid #5a5a5a;
}
table th{
	padding: 10px;
	text-align: center;
	font-size: 110%;
	background-color: #5a5a5a;
	border-bottom: 1px solid #5a5a5a;
	color: #fff;
}
table th strong{
	font-weight: bold;
}
table td{
	padding: 5px 10px;
	border-bottom: 1px solid #5a5a5a;
}
table tr td:first-child{
	width: 25%;
	padding: 14px 10px;
	border-right: 1px solid #5a5a5a;
}
table tr td > ul{
	margin: 2px 0;
}

table tr td > ul li{
	padding: 2px 0;
}

.contents-info-normal tr td:first-child{
	width: 30%;
	border-right: none;
}
.contents-info tr td:first-child{
	width: 30%;
	border-right: none;
}
.memo{
	width:100%;
	max-width: 640px;
	margin:0 auto;
	padding:5px 0 15px;
}
.w50{
	width:50%;
}
.center{
	text-align: center;
}
.right{
	text-align: right;
}

/* -- scroll_table ------------- */
.scroll_table table{
	width: 100%;
	max-width:100%;
}
/* -- details ------------- */
.normal,.calendar {
	width: 100%;
	margin: 0;
	color: #000;
}
details summary {
	font-size: 110%;
	font-weight: bold;
	margin: 10px 0;
	padding: 10px;
	cursor: pointer;
	border: 1px solid #5CC6BD;
	background-color: #ebfffe;
  	position: relative;
	list-style: none;/* markerを消す */
}
details summary::marker{
	content: '';
	display: none;
}
details summary::before {
  content: "▶";
  position: absolute;
  right: 12px;
  top: 12px;
  font-size: 14px;
  transition: transform 0.1s;
  color: #17847B;
}
/* details が open の時に回転 */
details[open] summary::before {
  transform: rotate(90deg);
  top: 10px;
}
details section{
	padding-bottom: 10px;
}

.normal section{
  padding: 10px;
  margin-top: -10px;
  border-left: 1px solid #5CC6BD;
  border-right: 1px solid #5CC6BD;
  border-bottom: 1px solid #5CC6BD;
  background-color: #fff;
}

.calendar .cal{
	width: calc(100% - 2px);
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	text-align: center;
}
.calendar dl{
	width: calc(100%/7);
	border-bottom: 1px solid #aaa;
	border-left: 1px solid #aaa;
	font-size: 90%;
}
.calendar dl:nth-child(1),.calendar dl:nth-child(2),.calendar dl:nth-child(3),.calendar dl:nth-child(4),.calendar dl:nth-child(5),.calendar dl:nth-child(6),.calendar dl:nth-child(7){
	border-top: 1px solid #aaa;
	background-color: #f5f5f5;
}
.calendar dl:nth-child(7n){
	border-right: 1px solid #aaa;
}
.calendar .cal .sun dt {
	color: #d80c18;
}
.calendar .cal .sat dt  {
	color: #0081cc;
}

/* -- quick_info ------------- */
#quick_info{
	margin:25px 0;
}
#quick_info img{
	width: calc(100% - 2px);
	height: auto;
	object-fit: cover;
	border:none;

}

#quick_info p{
	padding: 10px;
}
#quick_info p.link{
	padding:10px 0 20px;
	text-align: center;
}

/* -- コピーライト ------------------- */
.copy{
	text-align: center;
	margin: 50px 0 0;
	padding: 15px 0;
	border-top: 1px solid #000;
}
.copy::before{
	content: "© 2024 J-TRIP Co.,Ltd."
}

.copyright{
	text-align: center;
	margin: 50px 0 0;
	padding: 15px 0;
	border-top: 1px solid #000;
}

/* -- 印刷改行 ----------------------- */
.break {
  break-before: always;
}

/* -- フォント装飾 ----------------- */
.red{
	color: red;
}
.green{
	color: #008a00;
}
.str{
	font-weight: bold;
}
.normal{
	font-weight: normal;
}
.s90{
	font-size: 90%;
}
.style-underline{
	text-decoration:underline;
}
.marker{
	background: linear-gradient(transparent 40%, yellow 0%)
}
.border-gray{
	border:1px solid #c5c5c5;
}
.bg-darkgreen{
	background-color: #17847B;
}
.bg-green{
	background-color: #ebfff9;
}
.bg-gray{
	background-color: #f2f6f5;
	color: #000;
}


.spCont{
	display:none;
}
.pcCont{
	display:inline-block;
}


/* -- PCのみ ----------------------- */
@media screen and (min-width: 750px){

	a[href^="tel:"]{
		pointer-events: none;
	}
}


@media screen and (max-width: 750px){
	.spCont{
		display: inline-block;
	}
	.pcCont{
		display: none;
	}
	.flex-two-images figure:first-of-type,
	.flex-two-images figure:last-of-type{
		width: 100% !important;
	}
	/* -- テーブル ------------------- */
	table{
		width:100%;
		margin: 0 auto;
	}
	/* -- scroll_table ------------- */
	.scroll_table table{
		width: 100%;
		max-width:100%;
	}
	.scroll_table{
		margin: 0 auto;
		padding: 0;
		width: 95%;
		overflow-x: auto;
		white-space: nowrap;
		overflow-scrolling: touch;
		-webkit-overflow-scrolling: touch;
		height: auto;
	}
	/* -- フッター -- */
	.copyright{
		margin: 30px 0 0;
		padding: 15px 0;
		border-top: 1px solid #000;
	}

}
