@charset "utf-8";

/*PCSP共通設定*/
html {
	scroll-behavior: smooth;/*smooth scroll*/
	-ms-overflow-style: none;
	scrollbar-width: none;
}
html::-webkit-scrollbar{display:none;}

section {background: #fff;}
#container article {
    background-color: #fff;
    background-image: none;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	color:#111;
	line-height: 1.8;
}

/*article a:link, article a:visited { color: #fff;}*/

h2 {
	position: relative;
	text-align: center;
}

h2::after {
	content: '';
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 70px;
	height: 5px;
	background-color: #083F78;
}
h3 {
	text-align: center;
	font-weight: bold;
}
.point h3 {
	color: #083F78;
}

#container article img {
	width: 100%;
}

#container article ul li {
	position: relative;
	padding-left: 0.9em;
}
#container article ul li::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0.65em;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #333;
  border-radius: 5px;
}

#container article .point_box {
	padding: 10px;
	background: url("../images/bg_point.png") no-repeat 0 0;
	background-size: cover;
	border: 2px solid #e3d5c2;
}
.point_txt {
	background: rgba(255, 255, 255, 0.3);
}
#container article .point_box h3 {
	margin: 0 0 20px;
	padding: 10px 0;
	line-height: 1;
	background-image: linear-gradient(#dbc987, #917e54);
	color: #fff;
}

#container article .point_box .point_txt ul li::before {
  background-color: #083F78;
}
#container article ul.note li,
#container article p.note {
	position: static;
	padding-left: 0;
	text-indent: -1em;
	margin-left: 1em;
}
#container article ul.note li::before {
	display: none;
}
#container article ol li {
	list-style: decimal;
	margin-left: 1.5em;
	padding-left: 0.5em;
}

.catch {
	text-align: center;
	font-weight: 500;
}
.green_car {text-align: center;}

table{
  width: 100%;
  border-collapse: collapse;
  margin: 10px 0 0;
}

table tr{
  border-bottom: solid 3px #fff;
}
table tr:last-child{
  border-bottom: none;
}
table th{
  position: relative;
  width: 10em;
  background-color: #699ED4;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  vertical-align: middle;
}
table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #699ED4;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}
table td{
  text-align: left;
  width: calc(100% - 8em);
  background-color: #eee;
  padding: 10px 15px;
}

ul.btn {
	margin: 30px 0;
}
ul.btn li {
	margin: 0 auto;
	padding-left: 0 !important;
	text-align: center;
}
ul.btn li::before {
	display: none !important;
}

ul.btn li a {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 15px 0;
	background: #083F78;
	color: #fff;
	border-radius: 8px;
}
ul.btn li span {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 15px 0;
	background: #bbb;
	color: #fff;
	border-radius: 8px;
}
.t_red { color: #cc0000 !important;}

.sold_out {
	padding: 25px;
	background: #FFFCD2;
	color: #cc0000;
	font-weight: bold;
	text-align: center;
}
.sold_out p {
	margin-bottom: 20px;
}
.sold_out p:last-child {
	margin-bottom: 0;
}


@media screen and (max-width: 759.9px) {	/*SP*/
.spnone{display:none;}
#dirPathBlock,
#anchorLinkBlock {
	font-size: 10px;
	margin: 0 1%;
	padding: 10px 0;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}



#container article {
	width: 100%;
	margin:0 auto;
	padding:0;
 	font-size:14px;
}

#dirPathBlock {
	background: #fff;
	width: 100%;
	margin: 0 auto;
	padding: 5px 0;
	display: block;
	font-size: 12px;
}
#dirPathBlock p {
	width: 100%;
	display: block;
}
#dirPathBlock p,
#dirPathBlock a {
	font-size: 12px;
	color:#000!important;
}
.inner {
	width: 94%;
	margin: 0 auto;
	padding:15px 0;
	display: block;
}

h2 {
	margin-bottom: 0;
	padding: 10px 0 6px;
	font-size: 21px;
}
h3 {
	margin: 20px 0 10px;
}
.point h3 {
	margin: 40px 0 0;
	font-size: 18px;
}

#container article ul li::before {
  width: 8px;
  height: 8px;
}

.catch {
	margin: 0 0 35px;
}
.catch p { margin-bottom: 15px;}

.point {
	margin-bottom: 40px;
}
.point_box {
	margin: 20px 0;
}
/*
.point_img {
	margin-bottom: 20px; 
}
*/
.point_txt {
	padding: 10px 20px;
}
.point_box div.point_txt li {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
	font-size: 16px;
}

table th{
	width: 100%;
	display: block;
	padding: 5px 0;
	font-size: 16px;
}
table tr{
	border: none;
}
table th:after{
	display: block;
	content: "";
	width: 0px;
	height: 0px;
	position: absolute;
	top: auto;
	bottom: -10px;
	right:0 ;
	left: 0;
	margin: auto;
	border-bottom: none;
	border-top: 10px solid #699ED4;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
}
table td{ 
	display: block;
	width: 100%;
	margin-bottom: 3px;
	font-size: 14px;
}
p.small { font-size: 13px;}
.map { margin: 15px 0;}

.plan_info dl {
	margin-top: 20px;
}
.plan_info dt {
	margin-top: 10px;
}
.plan_info dd {
	margin-bottom: 0;
}
.plan_info dd div {
	margin-top: 10px;
}
.plan_info p.note {
	margin-bottom: 30px;
}

.price {
	margin: 20px 0 40px;
}
.price p {
	font-size: 13px;
}
.price p:first-child {
	margin-bottom: 10px;
	margin-left: 0;
	text-indent: 0;
	padding: 15px 0;
	font-size: 20px;
	font-weight: 500;
	border-top: double 3px #3773B1;
	border-bottom: double 3px #3773B1;
	text-align: center;
}
ul.btn li {
	width: 100%;
	margin-bottom: 20px;
}
ul.btn li a,
ul.btn li span {
	font-size: 18px;
}

.sold_out {
	padding: 25px 20px;
}
.sold_out p {
	margin-bottom: 15px;
}


}




@media screen and (min-width: 760px), print {	/*PC*/
.pcnone{display:none!important;}
#dirPathBlock,
#anchorLinkBlock{
	width: 100%;
	max-width:970px;
	min-width:760px;
	margin: 0 auto;
	padding: 10px 0;
	display: block;
	font-size: 12px;
}
#dirPathBlock p,
#anchorLinkBlock a{font-size: 12px;}


#container article {
	width: 100%;
	margin:0 auto;
	padding:0;
 	font-size:18px;
}
#pc_header {margin-bottom: 0;}
#dirPathBlock {
	background: #fff;
	width: 100%;
	margin: 0 auto;
	padding: 5px 0;
	display: block;
	font-size: 12px;
}
#dirPathBlock p {
	width: 100%;
	max-width:970px;
	min-width:760px;
	margin: auto;
	display: block;
}
#dirPathBlock p,
#dirPathBlock a {
	font-size: 12px;
	color:#000!important;
}
section#faq { padding: 0 0 30px;}

.inner {
	width: 96%;
	max-width:970px;
	margin: 0 auto;
	padding:30px 0;
	display: block;
}

#title {
	width: 100%;
	height: 591px;
	text-align: center;
	background-color: #fff;
	background-image: url("../images/bn_mv.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 100% 100%;
}
#title h1 {
    margin: 0 auto;
    padding: 50px 0 0;
	width: 372px;
	height: 314px;
}

h2 {
	margin-bottom: 20px;
	padding: 10px 0;
	font-size: 26px;
}
h3 {
	margin: 30px 0 15px; 
}
.point h3 {
	margin: 50px 0 0;
	font-size: 23px;
}

.catch {
	margin: 20px 0 60px;
}
.point {
	margin-bottom: 50px;
	
}
.point_box {
	margin: 30px 0;
}
/*
.point_box div.point_img {
	order: 2;
	width: 30%;
}
.point_box div.point_txt {
	order: 1;
	width: 65%;
}
*/
.point_txt {
	padding: 20px 30px;
}
.point_box div.point_txt li {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #ccc;
	font-weight: bold;
	font-size: 20px;
}
table th{
	font-size: 17px;
}
table td { font-size: 15px}

p.small { font-size: 14px;}
.map { margin: 15px 0 0;}

.chinkiwa {
	margin: 10px 0 0;
	text-align: center;
}
.chinkiwa img {
	width: 80% !important;
}

.plan_info dl {
	display: flex;
	flex-wrap: wrap;
	margin: 25px 0 0;
}
.plan_info dt {
	width: 4.5em;
}
.plan_info dd {
	width: calc(100% - 4.5em );
	margin-bottom: 10px;
}
.plan_info p.note {
	margin-bottom: 40px;
}

.price {
	margin: 30px 0 50px;
}
.price p {
	font-size: 15px;
}
.price p:first-child {
	margin-bottom: 10px;
	margin-left: 0;
	text-indent: 0;
	padding: 15px 0;
	font-size: 23px;
	font-weight: 500;
	border-top: double 3px #3773B1;
	border-bottom: double 3px #3773B1;
	text-align: center;
}
ul.btn {
	display: flex;
	justify-content: space-between;
}
ul.btn li {
	width: calc((100% - 50px) / 3);
}


}