.section {
		padding-top: 100px;
		padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
		.section {
				padding-top: 13.3333333333vw;
				padding-bottom: 13.3333333333vw;
		}
}
.section.pt0 {
		padding-top: 0;
}

.secttl {
		background-color: green;
		color: #ffffff;
		font-size: 2.2rem;
		padding: 0.2em 0.8em;
}
@media screen and (max-width: 767px) {
		.secttl {
				font-size: 5.3333333333vw;
				line-height: 1.3;
				padding: 0.5em 0.5em;
		}
}

.subttl {
		font-weight: bold;
		font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
		.subttl {
				font-size: 4.8vw;
		}
}

.timer {
		padding-top: 10rem;
		padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
		.timer {
				padding-top: 13.3333333333vw;
				padding-bottom: 13.3333333333vw;
		}
}
.timer-title {
		text-align: center;
		font-size: 3rem;
		color: green;
		font-weight: bold;
}
@media screen and (max-width: 767px) {
		.timer-title {
				font-size: 5.3333333333vw;
		}
}
.timer-title .end {
		display: none;
		color: red;
}
.timer-title.is-end .active {
		display: none;
}
.timer-title.is-end .end {
		display: block;
}
.timer #timer {
		text-align: center;
		font-size: 4rem;
		font-weight: bold;
		letter-spacing: 0.08em;
		color: red;
}
@media screen and (max-width: 767px) {
		.timer #timer {
				font-size: 6.4vw;
		}
}
.timer .yyc-day-text,
.timer .yyc-hou-text,
.timer .yyc-min-text,
.timer .yyc-sec-text {
		font-size: 70%;
		display: inline-block;
		margin: 0 0.2em;
}

.main-box {
		margin-top: 4rem;
}
@media screen and (max-width: 767px) {
		.main-box {
				margin-top: 10.6666666667vw;
		}
}
.main-box:first-of-type {
		margin-top: 0;
}
.main-title {
		font-weight: bold;
		font-size: 2.5rem;
		letter-spacing: 0.08em;
		color: green;
		border-bottom: 0.2rem solid green;
		padding-bottom: 0.2em;
		margin-bottom: 1em;
}
@media screen and (max-width: 767px) {
		.main-title {
				font-size: 5.3333333333vw;
				line-height: 1.3;
				border-bottom-width: 0.5333333333vw;
		}
}
.main-text a {
		text-decoration: underline;
		color: red;
}

.formarea.is-hide {
		display: none;
}

.formtable {
		width: 100%;
		margin-top: 4rem;
}
@media screen and (max-width: 767px) {
		.formtable {
				margin-top: 10.6666666667vw;
		}
}
.formtable th, .formtable td {
		padding: 1rem;
		border-bottom: 1px solid #cccccc;
}
@media screen and (max-width: 767px) {
		.formtable th, .formtable td {
				display: block;
				width: 100%;
				padding: 2.6666666667vw;
		}
}
.formtable th {
		font-weight: bold;
		width: 30rem;
		text-align: left;
}
@media screen and (max-width: 767px) {
		.formtable th {
				width: 100%;
				border: none;
				padding-bottom: 0;
		}
}
.formtable th .hissu {
		color: #ffffff;
		font-size: 1.2rem;
		display: inline-block;
		margin-left: 0.5em;
		padding: 0 0.5em 0.1em;
		background-color: red;
}
@media screen and (max-width: 767px) {
		.formtable th .hissu {
				font-size: 3.2vw;
		}
}
.formtable dl.parts {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
}
@media screen and (max-width: 767px) {
		.formtable dl.parts {
				display: block;
		}
}
.formtable dl.parts dt {
		width: 10rem;
}
@media screen and (max-width: 767px) {
		.formtable dl.parts dt {
				width: 100%;
		}
}
.formtable dl.parts dd {
		width: calc(100% - 10rem);
}
@media screen and (max-width: 767px) {
		.formtable dl.parts dd {
				width: 100%;
		}
}
.formtable .parts + .parts {
		margin-top: 1rem;
}
@media screen and (max-width: 767px) {
		.formtable .parts + .parts {
				margin-top: 2.6666666667vw;
		}
}
.formtable .parts-title {
		margin-right: 0.5em;
}
.formtable .parts-flex {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: 0.5rem;
}
@media screen and (max-width: 767px) {
		.formtable .parts-flex {
				gap: 1.3333333333vw;
		}
}
.formtable .parts-flex .parts + .parts {
		margin-top: 0;
}
.formtable .parts input, .formtable .parts select, .formtable .parts textarea {
		border: 1px solid #cccccc;
		padding: 0.5em 1em;
		width: 25rem;
		font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
		.formtable .parts input, .formtable .parts select, .formtable .parts textarea {
				font-size: max(4.2666666667vw, 16px) !important;
				width: 100%;
		}
}
.formtable .parts input.small, .formtable .parts select.small, .formtable .parts textarea.small {
		width: 15rem;
}
@media screen and (max-width: 767px) {
		.formtable .parts input.small, .formtable .parts select.small, .formtable .parts textarea.small {
				width: 40vw;
		}
}
.formtable .parts input.full, .formtable .parts select.full, .formtable .parts textarea.full {
		width: 100%;
}
.formtable .parts input:disabled, .formtable .parts select:disabled, .formtable .parts textarea:disabled {
		background-color: #efefef;
}
.formtable .parts input.error, .formtable .parts select.error, .formtable .parts textarea.error {
		background-color: rgba(255, 0, 0, 0.2);
		border-color: red;
}
.formtable .parts textarea {
		height: 25rem;
}
@media screen and (max-width: 767px) {
		.formtable .parts textarea {
				height: 53.3333333333vw;
		}
}
.formtable .parts select {
		background-image: url(../img/arrow_select.svg);
		background-repeat: no-repeat;
		background-position: right 1.5rem center;
}
.formtable .parts .error {
		color: red;
		font-weight: bold;
}
.formtable .parts.-cal {
		position: relative;
}
.formtable .parts.-cal input {
		padding-right: 3rem;
}
@media screen and (max-width: 767px) {
		.formtable .parts.-cal input {
				padding-right: 8vw;
		}
}
.formtable .parts.-cal button {
		position: absolute;
		right: 1.1rem;
		top: 0;
		width: 2rem;
		height: 4.1rem;
		background-image: url(../img/icon_cal.svg);
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center center;
		font-size: 0;
}
@media screen and (max-width: 767px) {
		.formtable .parts.-cal button {
				right: 2.9333333333vw;
				width: 5.3333333333vw;
				height: 10.9333333333vw;
		}
}

.btnArea {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		gap: 2rem;
		margin-top: 5rem;
}
@media screen and (max-width: 767px) {
		.btnArea {
				gap: 5.3333333333vw;
				margin-top: 13.3333333333vw;
		}
}

.thanks-text {
		text-align: center;
		font-size: 4rem;
		font-weight: bold;
		color: red;
		margin-top: 4rem;
}
@media screen and (max-width: 767px) {
		.thanks-text {
				font-size: 10.6666666667vw;
				margin-top: 10.6666666667vw;
		}
}

.thanks-loading .loading {
		-webkit-transition: 0.5s;
		transition: 0.5s;
}
.thanks-loading .loading.is-hidden {
		opacity: 0;
		visibility: hidden;
		height: 0;
}
.thanks-loading .loaded {
		-webkit-transition: 0.5s;
		transition: 0.5s;
		opacity: 0;
		visibility: hidden;
}
.thanks-loading .loaded.is-show {
		opacity: 1;
		visibility: visible;
}

.loading {
		margin: auto;
		width: 10rem;
}
@media screen and (max-width: 767px) {
		.loading {
				width: 26.6666666667vw;
		}
}
.loading img {
		width: 100%;
}

.thanks-cnt {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		margin-top: 5rem;
}
@media screen and (max-width: 767px) {
		.thanks-cnt {
				margin-top: 13.3333333333vw;
		}
}
.thanks-cnt .main-text {
		text-align: center;
}
@media screen and (max-width: 767px) {
		.thanks-cnt .main-text {
				text-align: left;
		}
}
/*# sourceMappingURL=top.css.map */