@charset "UTF-8";
/*===============================================
● 以下2020以降
===============================================*/
em {
  font-style: normal;
}
.vAl {
	color: var(--theme-accent);
	font-weight: bold;
}
/*.required {
	color: var(--theme-accent);
}*/
.cont h3 {
	line-height: 1.8;
}
.navi {
  font-size: 1.3rem;
  text-align: center;
  margin-bottom: 1rem;
}
.navi em {
  color: var(--theme-accent);
  font-weight: 400;
}
.navi span {
  padding: 0 .5rem;
}
fieldset textarea,
fieldset select,
fieldset dt {
  font-size: 1.2rem;
}
fieldset dd {
  font-size: 1rem;
  margin-bottom: 1rem;
}
fieldset dd input {
  font-weight: 300;
  font-size: 1.2rem;
  border: 1px solid #d8d8d8;
  background-color: #f0f0f0;
  width: 100%;
  padding: 0 10px 3px;
  line-height: 2;
  box-sizing: border-box;
}
@media all and (max-width:560px){
  .navi {
    font-size: 1.1rem;
  }
}
/* エラーなど */
.error {
  font-size:.8rem;
	font-weight:bold;
	color: var(--theme-accent);
}
.js-error {
	display: none;
  font-size: .9rem;
	font-weight:bold;
	color: #F00;
}


/* クリア、確認ボタン */
.button {
	margin-top: 2rem;
	text-align: center;
}
.buttonWrap input.button,
.button a.button,
.button input {
	color: var(--theme-accent);
	font-size: var(--fs-semi-large);
	line-height: 1em;
	border-radius: 1rem;
	text-align: center;
	border: 6px solid var(--theme-accent);
	display: inline-block;
	cursor: pointer;
  padding:20px 60px;
  background: #fff;
  -webkit-transition: all .3s;
  transition: all .3s;
}
.button a.button {
	vertical-align: bottom;
	text-decoration: none;
}

.button a:hover,
.button input:hover {
  background: var(--theme-accent);
  color: #fff;
}
.button a.cancel,
.button input.cancel {
  margin-right: 1rem;
}
.button input:disabled,.button input:disabled:hover {
	background: #ccc;
	border: 1px solid #aaa;
	color: #aaa;
	cursor: default;
}

.buttonWrap {
	display: flex;
	flex-wrap: nowrap;
	gap: 1em;
	justify-content: center;
}
.buttonWrap input {
	flex: 1;
	width: 4em;
}
.buttonWrap input:hover {
	background: var(--theme-accent);
	color: #fff;
}


fieldset h2 {
  font-weight: 400;
  line-height: 2.5;
	border-bottom:1px solid #ccc;
  margin-top: 1.5rem;
	line-height: 1.5;
}
fieldset h2.pay {
  display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--theme-accent);
	padding: 0 .5em;
	border-bottom:none ;
}
fieldset h2.pay span {
  font-size: 1.2em;
	font-weight: bold;
}
fieldset h2 + p {
  margin-top: .5rem;
  margin-bottom: 1rem;
}

.entryform fieldset dl dd > p {
  font-size: .9rem;
  margin-bottom: .5rem;
}
.entryform th {
  font-weight: 300;
	text-align: left;
}
dt em.required + p {
  font-weight: bold;
	color: #f00;
}

/* 注記 */
ul.caution {
	padding: 1em;
}
ul.caution li {
	font-size: .8em;
	text-indent: -1em;
	margin-left: 1em;
}
ul.caution li::before {
	content: "※";
}

/* 返金 */
.box_err,
.bankinfo {
	display: none;
}
.box_err {
	color: var(--theme-accent);
	padding: 1.6rem;
	font-weight: bold;
}
.conf {
	font-size: 1.3rem;
	font-weight: bold;
}

/* 参加者指名年齢 */
.nameage {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: start;
}
.nameage li {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	width: 50%;
	margin-bottom: .8em;
}
.nameage li p {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	align-items: center;
}
.nameage li p:first-child {
	width: 80% ;
	margin-right: 1em;
}
.nameage li p:first-child input {
	width: calc(100% - 5em);
}
.nameage li p:last-child input {
	width: calc(100% - 3em);
}
@media all and (max-width:560px){
	.nameage li {
		width: 100%;
	}
}
/* 2020エントリーネーム・番号 */
.info2020 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: start;
}
.info2020 li {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: center;
	width: 50%;
}
.info2020 li input {
	width: 50%;
}


/* 2020情報使用可否 */
.box_txt {
	font-size: 1.2rem;
}
.box_txt dd {
	margin-bottom: 0;
	font-size: 1.4rem;
}
.box_txt dd label {
	margin-right: 1em;
}
/* 非活性 */
select:disabled,
input:disabled + label.radio:after,
input:disabled {
	background: #b9b9b9;
}
input:disabled + label.radio:hover:after {
	border-color: #b9b9b9;
}


/*===============================================
● 以下2020以前
===============================================*/
/*エントリー問い合わせ*/
#mainSection p + h2 {
	margin-top: 5px;
	padding-top: 15px;
	border-top: 1px dotted #c8b894;
}

#mainSection div ul {
	margin-top: 15px;
	padding: 25px 25px 20px;
	border: 2px solid #c8b894;
	background: #fff;
}

#mainSection div ul li {
	padding-bottom: 5px;
	padding-left: 1em;
	text-indent: -1em;
}

.fl-l{float:left;width:46%;}
.fl-r{float:right;width:46%;}
/* フォーム関連 */
#mainSection .caution_list li:before{
	content: "※";
}
#mainSection .caution_list li{
  padding-left: 1em;
  text-indent: -1em;
}

#mainSection .navi {
	margin-bottom: 6px;
	padding: 5px;
	background: var(--theme-accent);
}

#mainSection .navi span {
	padding: 0 5px;
}

#mainSection .navi em {
	color: #fff;
	font-weight:bold;
}

#mainSection fieldset h2 {
	margin-top: 1em;
    font-weight: normal;
    font-size: 2em;
    line-height: 1.3;
	border-bottom:1px solid #ccc;
}

#mainSection fieldset dl{
	background-image:none;
	margin:1em 0;
}
#mainSection fieldset dt{
	width:100%;
	color:#000;
	padding:0;
	float:none;
	margin-top:1em;
	font-size:1.2em;
}
#mainSection fieldset dd{
	width:100%;
	color:#000;
	padding:0;
	float:none;
}

#mainSection fieldset dd input {
    border: 1px solid #d8d8d8;
    background-color: #f0f0f0;
    width: 100%;
    padding: 8px 10px;
    line-height: 1.4;
	box-sizing: border-box;
}

/* checkbox,radio */
input[type=radio], input[type=checkbox] {
	width: auto;
  display: none;
}

.radio, .checkbox {
	box-sizing: border-box;
	-webkit-transition: background-color 0.2s linear;
	transition: background-color 0.2s linear;
	position: relative;
	display: inline-block;
	margin-bottom: 10px;
	padding-left:24px;
	vertical-align: middle;
	cursor: pointer;
}
.radio:hover:after, .checkbox:hover:after {
	border-color: var(--theme-accent);
}
.radio:after, .checkbox:after {
	-webkit-transition: border-color 0.2s linear;
	transition: border-color 0.2s linear;
	position: absolute;
	top: 50%;
	left: 1px;
	display: block;
	margin-top: -10px;
	width: 16px;
	height: 16px;
	border: 2px solid #bbb;
	border-radius: 10px;
	content: '';
}
.checkbox:after{border-radius: 1px;}

.radio:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -5px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--theme-accent);
  content: '';
  opacity: 0;
}
input[type=radio]:checked + .radio:before {
  opacity: 1;
}

.checkbox:before {
  -webkit-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
  position: absolute;
  top: 50%;
  left: 6px;
  display: block;
  margin-top: -7px;
  width: 5px;
  height: 9px;
  border-right: 3px solid var(--theme-accent);
  border-bottom: 3px solid var(--theme-accent);
  content: '';
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
input[type=checkbox]:checked + .checkbox:before {
  opacity: 1;
}

/* textbox */
textarea{
  border: 1px solid #d8d8d8;
  background-color: #f0f0f0;
  width: 100%;
  padding: 8px 10px;
  line-height: 1.4;
  box-sizing: border-box;
}

/* select */
select {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  padding: 8px 10px;
  background:#eee;
  background-size:20px 10px;
  background-position: right center;
  line-height: 1.5;
  vertical-align: middle;
  border:1px solid #CCC;
  margin-bottom:5px;
}
@-moz-document url-prefix() { /* for firefox */
    select {
        background:none;
        background-color: #FFF;
    }
}

/* グッズ */
.goodscaution {float:left;width:73%;}
.keyvisu {float:right; width:25%;}
#goods {
	margin-top:20px;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
    -webkit-box-lines:multiple;
    -moz-box-lines:multiple;
    -webkit-flex-wrap:wrap;
    -moz-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
	-webkit-justify-content: space-between;
    justify-content: space-between;
}
#goods li{width:47%; border-right:1px solid #eee;padding-right:1%;padding-left:1%;margin-bottom:10px;}
#goods li:nth-child(2n){border-right:none;}
#goods li dt {margin-top:0;}
#goods li > dl > dt,
#goods li > dl > dd {width:48%;}
#goods li > dl > dt {float:left;font-size:1em;}
#goods li > dl > dd {float:right;}
#goods li > dl > dt p{color:#000;font-weight:normal;}

#goods li .goodsspec dt,
#goods li .goodsspec dd {width:50%;}
#goods li .goodsspec dt {float:left;}
#goods li .goodsspec dd {float:right;}
#goods li .goodsspec dt.ipt {margin-top:8px;}
#goods li > dl > dt,
#goods li .goodsspec dt{clear:both;}

#goods li .goodssize dt {
	width:40%;
	float:left;
	margin-top:8px;
}

#goods li .goodssize dd {width:50%;float:left;font-size:1em;}
#goods li .goodssize dd input {
	padding: 4px 5px;
    line-height: 1.2;
}
#goods li .goodssize_cfm dt {margin-top:0 !important;}
#goods li .goodssize_cfm dd {margin-bottom:1px !important;}
#goods img {width:98%;border:1px solid #ccc;}
#goods h3{font-size:1.3em;margin:0.5em 0;color:#630;}
#goods h3:before{content:"■";}

#goods em {font-size:1.3em;color:#ff0000;font-weight:bold;}

/* エラーなど */
#mainSection .error {
	font-weight:bold;
	color:#FF6666;
}


.button.universal input:hover {
	background: #e5d3aa;
}
#mainSection dt p {color:#ff0000;font-weight:bold;}

/*===============================================
● PC向け、タブレット 横幅481px以上
===============================================*/
@media all and (min-width: 481px){
	/* 各ページタイトル */
	#pageTitle {
		background: url(../img/title_bg.jpg) no-repeat 50% 100% var(--theme-accent);
	}
	
}


/*===============================================
● スマートフォン向け 横幅560px以下
===============================================*/
@media all and (max-width:560px){
	#mainSection h2 {
		padding-left: 10px;
		padding-right: 10px;
	}

	#mainSection div ul {
		margin: 10px;
		padding: 10px 10px 5px;
	}

	/* フォーム関連 */
	.fl-l{float:none;width:100%;}
	.fl-r{float:none;width:100%;}
	#mainSection dl {
		font-size:0.8em;
		border-bottom:none;
	}
	#mainSection dt {
		border-top:none;
		background-color:#fff;
	}
	
	#mainSection dd input[type="text"],
	#mainSection dd textarea {
		width: 100%;
	}

	#mainSection .navi {
		padding: 5px 10px;
	}

	.button input,
	.button.universal input {
		-webkit-appearance: none;
		margin: 0 8px;
		line-height: 40px;
		padding: 1rem 0.5em;
	}
	#mainSection fieldset dl.goods img {
		width:40%;
	}
	#mainSection fieldset h3 {
		font-size:1.2em;
	}
	/* グッズ */
	.goodscaution {float:none;width:auto;font-size:0.8em;}
	.keyvisu {float:none; width:30%;display:block;margin:0 auto;}
	

	#goods li{width:100%; border-right:none;padding-right:1%;padding-left:1%;margin-bottom:10px;}
	
	#goods li .goodssize{overflow:hidden;}
	#goods li .goodssize dl:first-child{float:left;width:48%;clear:both;}
	#goods li .goodssize dl:last-child{float:right;width:48%;}
	
	/* select */
	select {
		padding: 4px 5px;
		background:#eee;
		background-size:20px 10px;
	}
}

/* 見学者用フォーム */
.jscheck input[type=radio] {
	display: inline !important;
	visibility: hidden;
}
.jscheck input.error {
	font-size: 1.2rem;
	color: #333;
	font-weight: normal;
}