@charset "utf-8";

:root {
	--blue: #0068B7;
	--yellow: #FFEC00;
	--pink: #D8295D;
}

#zensenfree {
	color: #0D0D0D;
	background-color: #fff;
	font-family:"Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-feature-settings: 'palt';
	font-feature-settings: 'palt';
	overflow-wrap: break-word;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#zensenfree img {
	max-width: 100% !important;
	height: auto;
	vertical-align: bottom;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

#zensenfree .pc_only {
	display: block;
}

#zensenfree .sp_only {
	display: none;
}

@media screen and (max-width: 767px) {
	#zensenfree .pc_only {
		display: none;
	}

	#zensenfree .sp_only {
		display: block;
	}
}

#zensenfree.offerContents {margin-top: 0;}
#main_rn__zensenfree {padding-bottom: 0;}


/*==========================

main_kv

===========================*/

#zensenfree .main_kv {
	text-align: center;
}

#zensenfree .main_kv_image {
	max-width: 1500px;
	margin: 0 auto;
}

#zensenfree .main_kv img {
	width: 100%;
}


/*==========================

price

===========================*/

#zensenfree .price {
	padding: 55px 20px 63px;
	background-color: #fff;
	border-top: 10px solid #0068B3;
	border-bottom: 10px solid #0068B3;
}

#zensenfree .price-inner {
	max-width: 1000px;
	margin: 0 auto;
}

#zensenfree .price-image {
	margin-bottom: 40px;
}

#zensenfree .price-btn-wrapper {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 96px;
}

#zensenfree .price-btn {
	max-width: 409px;
	transition: all 0.3s ease;
}

#zensenfree .price-btn:hover {
	opacity: 0.7;
}

#zensenfree .price-btn img {
	max-width: 100%;
}


@media screen and (max-width: 767px) {


	#zensenfree .price {
		padding: 44px 34px;
		border-top: 5px solid #0068B3;
		border-bottom: 5px solid #0068B3;
	}

	#zensenfree .price-image {
		margin-bottom: 35px;
	}

	#zensenfree .price-image img {
		width: 100%;
	}

	#zensenfree .price-btn-wrapper {
		gap: 24px;
	}

	#zensenfree .price-btn {
		max-width: 258px;
	}

	#zensenfree .price-btn:hover {
		opacity: 1;
	}

}


/*==========================

contents

===========================*/

#zensenfree .contents {
	padding: 73px 20px 16px;
	background: url("../img/bg_repeat.png") repeat center center;
	background-size: 1px;
	position: relative;
}

#zensenfree .contents::before {
	display: block;
	content: '';
	background: url("../img/bg_top.png") no-repeat top center;
	background-size: 100%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#zensenfree .contents::after {
	display: block;
	content: '';
	background: url("../img/bg_bottom.png") no-repeat bottom center;
	background-size: 100%;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#zensenfree .contents-inner {
	max-width: 1127px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

#zensenfree .contents-area {
	background: #fff;
	border-radius: 40px;
	border: 10px solid #0168B3;
	padding: 44px 45px 64px;
	text-align: center;
	margin-bottom: 45px;
}

#zensenfree .contents-area-ttl {
	text-align: center;
	margin-bottom: 20px;
}

#zensenfree .contents-area-text {
	font-size: 29px;
	line-height: 1.5;
	font-weight: bold;
	color: #0168B3;
	letter-spacing: 0.04em;
	margin-bottom: 16px;
	text-align: center;
}

#zensenfree .contents-area-point {
	display: inline-block;
	background: #0968AA;
	color: #fff;
	padding: 15px 30px;
	font-weight: bold;
	font-size: 30px;
	letter-spacing: 0.08em;
	border-radius: 30px;
	margin-bottom: 45px;
	width: 100%;
	max-width: 827px;
}

#zensenfree .contents-otoku {
	background: #fff;
	border-radius: 40px;
	border: 10px solid #0168B3;
	padding: 70px 26px 72px;
	text-align: center;
	margin-bottom: 12px;
}

#zensenfree .contents-otoku-ttl {
	margin-bottom: 35px;
}

#zensenfree .contents-otoku-hiroshima {
	margin-bottom: 70px;
	padding-bottom: 65px;
	border-bottom: 5px solid #1B4894;
}

#zensenfree .contents-otoku-hiroshima-item-before {
	margin-bottom: 18px;
}

#zensenfree .contents-otoku-hiroshima-item-after {
	background: #FFFCDB;
	padding: 26px 20px 20px;
	border-radius: 20px;
	margin-bottom: 38px;
}

#zensenfree .contents-otoku-hiroshima-item-after-green {
	margin-bottom: 0;
}

#zensenfree .contents-otoku-hakata-item-before {
	margin-bottom: 18px;
}

#zensenfree .contents-otoku-hakata-item-before-green {
	margin-bottom: 0;
}

#zensenfree .contents-otoku-hakata-item-after {
	background: #FFFCDB;
	padding: 23px 20px;
	border-radius: 20px;
	margin-bottom: 42px;
}

#zensenfree .contents-otoku-hakata-item-after-green {
	padding: 24px 20px 10px;
	margin-bottom: 0;
}

#zensenfree .contents-notice {
	text-align: center;
}


@media screen and (max-width: 767px) {
	
	#zensenfree .contents {
		padding: 24px 15px 20px;
	}

	#zensenfree .contents::before {
		background: url("../img/bg_top_sp.png") no-repeat top center;
		background-size: 100%;
	}

	#zensenfree .contents::after {
		background: url("../img/bg_bottom_sp.png") no-repeat bottom center;
		background-size: 100%;
	}

	#zensenfree .contents-inner {
		max-width: 1127px;
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}

	#zensenfree .contents-area {
		border-radius: 20px;
		border: 5px solid #0168B3;
		padding: 30px 10px 22px;
		margin-bottom: 3px;
	}

	#zensenfree .contents-area-ttl {
		max-width: 93%;
		margin: 0 auto 14px;
	}

	#zensenfree .contents-area-text {
		font-size: max(3.2vw, 12px);
		line-height: 1.7;
		letter-spacing: 0.05em;
		margin-bottom: 16px;
	}

	#zensenfree .contents-area-point {
		padding: 11px 30px;
		font-size: max(3.47vw, 13px);
		line-height: 1.4;
		letter-spacing: 0.05em;
		border-radius: 50px;
		margin-bottom: 18px;
		width: 93%;
	}

	#zensenfree .contents-area-image {
		text-align: center;
	}

	#zensenfree .contents-otoku {
		border: 5px solid #0168B3;
		border-radius: 20px;
		padding: 28px 10px 8px;
		text-align: center;
		margin-bottom: 13px;
	}

	#zensenfree .contents-otoku-ttl {
		max-width: 95%;
		margin: 0 auto 17px;
	}

	#zensenfree .contents-otoku-hiroshima {
		margin-bottom: 20px;
		padding-bottom: 15px;
		border-bottom: 1px solid #1B4894;
	}

	#zensenfree .contents-otoku-hiroshima-item-before {
		max-width: 258px;
		max-width: 83%;
		margin: 0 auto 6px;
	}

	#zensenfree .contents-otoku-hiroshima-item-after {
		padding: 8px 22px;
		margin-bottom: 12px;
	}

	#zensenfree .contents-otoku-hiroshima-item-after-green {
		margin-bottom: 0;
	}

	#zensenfree .contents-otoku-hakata-item-before {
		max-width: 83%;
		margin: 0 auto 8px;
	}

	#zensenfree .contents-otoku-hakata-item-before-green {
		margin-bottom: 2px;
	}

	#zensenfree .contents-otoku-hakata-item-after {
		padding: 8px 22px;
		margin-bottom: 12px;
	}

	#zensenfree .contents-otoku-hakata-item-after-green {
		margin-bottom: 0;
		padding: 8px 22px;
	}

	#zensenfree .contents-notice {
		text-align: center;
		max-width: 250px;
		max-width: 73%;
		margin: 0 auto;
	}

	#zensenfree .contents-notice img {
	}
}

/*==========================

jwestcard

===========================*/

#zensenfree .jwestcard {
	background: #FCFFDB;
	padding: 87px 20px 148px;
}

#zensenfree .jwestcard_ttl__point {
	text-align: center;
	margin-bottom: 58px;
}

#zensenfree .jwestcard_list__wrap {
	max-width: 1083px;
	margin: 0 auto 82px;
}

#zensenfree .jwestcard_list {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 40px;
}

#zensenfree .jwestcard_list__item {
	width: calc(50% - 20px);
}

#zensenfree .jwestcard_ttl__addmission {
	text-align: center;
	margin-bottom: 25px;
}

#zensenfree .jwestcard_bnr__wrapper {
	text-align: center;
}

#zensenfree .jwestcard_bnr {
	display: inline-block;
	transition: all 0.3s ease;
}

#zensenfree .jwestcard_bnr:hover {
	opacity: 0.7;
}


@media screen and (max-width: 767px) {

	#zensenfree .jwestcard {
		padding: 40px 25px 60px;
	}

	#zensenfree .jwestcard_ttl__point {
		margin-bottom: 24px;
	}

	#zensenfree .jwestcard_list__wrap {
		margin-bottom: 48px;
	}

	#zensenfree .jwestcard_list {
		justify-content: flex-start;
		align-items: center;
		flex-direction: column;
		gap: 20px;
	}

	#zensenfree .jwestcard_list__item {
		width: 100%;
		text-align: center;
	}

	#zensenfree .jwestcard_ttl__addmission {
		margin-bottom: 18px;
	}

	#zensenfree .jwestcard_bnr:hover {
		opacity: 1;
	}

}
