@charset "UTF-8";

/*--------------------------------------------
SCHEDULE
---------------------------------------------*/

#schedule{
	position : relative;
	z-index : 1;
}

#schedule form{
}

#schedule form > label{
	display : flex;
	align-items : center;
	justify-content : space-between;
	font-weight : 700;
	margin-left : auto;
	margin-right : auto;
}

#schedule form > label:before , #schedule form > label:after{
	content : "";
	display : block;
	height : 1px;
	background-color : #00328a;
	font-size : 0;
	flex-shrink : 0;
}

#schedule input[type="text"][readonly]{
	height : auto;
	background-color : transparent;
	border : 0;
	display : block;
	text-align : center;
	width : 100%;
	color : #000;
	-webkit-text-fill-color : #000;
}

#schedule .radios{
	display : flex;
	justify-content : center;
}

#schedule .radios label{
	position : relative;
}

#schedule .radios label input{
	display : none;
}

#schedule .radios label span{
	display : flex;
	align-items : center;
	cursor : pointer;
}

#schedule .radios label span::before{
	content : "";
	display : flex;
	align-items : center;
	justify-content : center;
	border-radius : 50%;
}

#schedule .radios label input:checked + span:after{
	content : "";
	display : block;
	position : absolute;
	border-radius : 50%;
}

#schedule .radios span{
	font-weight : 500;
}

#schedule .radios span:before{
	border-radius : 50%;
	background-color : #fff;
	border : 1px solid #757575;
	font-size : 0;
}

#schedule .radios input:checked + span:after{
	border-radius : 50%;
	background-color : #565656;
	font-size : 0;
}

@media screen and (max-width: 750px){
	#schedule{
		padding-bottom : calc( 52 * 100vw / 750 );
	}
	#schedule form{
		width : calc( 708 * 100% / 750 );
		margin-left : auto;
		margin-right : auto;
	}
	#schedule form > label{
		margin-bottom : calc( 34 * 100vw / 750 );
		font-size : 3.2rem;
		width : calc( 674 * 100% / 708 );
	}
	#schedule form > label:before , #schedule form > label:after{
		width : calc( 244 * 100% / 708 );
	}
	#schedule form > label ~ label{
		margin-top : calc( 60 * 100vw / 750 );
	}
	#schedule input[type="text"][readonly]{
		font-size : 3rem;
	}
	#schedule .radios label + label{
		margin-left : calc( 84 * 100% / 708 );
	}
	#schedule .radios span{
		font-size : 3.6rem;
	}
	#schedule .radios span:before{
		width : calc( 39 * 100vw / 750 );
		height : calc( 39 * 100vw / 750 );
		margin-right : calc( 24 * 100vw / 750 );
	}
	#schedule .radios input:checked + span:after{
		width : calc( 27 * 100vw / 750 );
		height : calc( 27 * 100vw / 750 );
		top : calc( 6 * 100vw / 750 );
		left : calc( 6 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#schedule form > label{
		font-size : 1.76rem;
		width : 100%;
	}
	#schedule input[type="text"][readonly]{
		font-size : 1.63rem;
	}
	#schedule .radios span{
		font-size : 2.12rem;
	}
}

@media screen and (min-width: 751px) and (max-width:1026px){
	#schedule{
		padding-bottom : calc( 54 * 100vw / 1026 );
	}
	#schedule form > label{
		margin-bottom : calc( 20 * 100vw / 1026 );
		width : calc( 894 * 100% / 928 );
	}
	#schedule form > label:before , #schedule form > label:after{
		width : calc( 396 * 100% / 894 );
	}
	#schedule form > label ~ label{
		margin-top : calc( 30 * 100vw / 1026 );
	}
	#schedule .radios label + label{
		margin-left : calc( 52 * 100% / 928 );
	}
	#schedule .radios span:before{
		width : calc( 23 * 100vw / 1026 );
		height : calc( 23 * 100vw / 1026 );
		margin-right : calc( 16 * 100vw / 1026 );
	}
	#schedule .radios input:checked + span:after{
		width : calc( 15 * 100vw / 1026 );
		height : calc( 15 * 100vw / 1026 );
		top : calc( 4 * 100vw / 1026 );
		left : calc( 4 * 100vw / 1026 );
	}
}

@media print,screen and (min-width: 1027px){
	#schedule{
		padding-bottom : 54px;
	}
	#schedule form > label{
		margin-bottom : 20px;
		width : 894px;
	}
	#schedule form > label:before , #schedule form > label:after{
		width : 396px;
	}
	#schedule form > label ~ label{
		margin-top : 30px;
	}
	#schedule .radios label + label{
		margin-left : 52px;
	}
	#schedule .radios span:before{
		width : 23px;
		height : 23px;
		margin-right : 16px;
	}
	#schedule .radios input:checked + span:after{
		width : 15px;
		height : 15px;
		top : 4px;
		left : 4px;
	}
}

/*--------------------------------------------
ACCOUNT
---------------------------------------------*/

#account .lede{
	font-size : 1.47rem;
	line-height : 1.78;
}

#account input[type="email"] , #account input[type="password"]{
	width : 100%;
}

#account .submits{
	display : flex;
	align-items : flex-start;
}

#account .submits button{
	flex-shrink : 0;
}

#account .submits ul{
	flex-grow : 1;
}

#account .submits li{
	display : flex;
	align-items : center;
}

#account .submits li:before{
	content : "";
	display : inline-block;
	background : url("../images/ui/parts/triangle01_glay.svg") 0 center / contain no-repeat;
	flex-shrink : 0;
	width : .8em;
	height : .8em;
	margin-right : .5em;
}

#account .submits li a{
	color : #4d4d4d;
	border-bottom : 1px solid currentColor;
}

#account .signin , #account .signup{
	position : relative;
	z-index : 1;
}

@media screen and (max-width: 750px){
	#account{
		padding-bottom : calc( 195 * 100vw / 750 );
	}
	#account .lede{
		font-size : 2.3rem;
		line-height : 1.77;
	}
	#account .lede{
		padding-left : calc( 74 * 100% / 750 );
		padding-right : calc( 44 * 100% / 750 );
	}
	#account .box{
		margin-top : calc( ( 49 - 8.95 ) * 100vw / 750 );
	}
	#account .signin{
		width : calc( 675 * 100% / 750 );
		margin-left : calc( 50 * 100% / 750 );
		background-color : #f0f0f0;
		padding-top : calc( 22 * 100vw / 750 );
		padding-bottom : calc( 22 * 100vw / 750 );
		padding-left : calc( 18 * 100% / 750 );
		padding-right : calc( 18 * 100% / 750 );
	}
	#account form{
		margin-top : calc( 18 * 100vw / 750 );
	}
	#account input + input{
		margin-top : calc( 28 * 100vw / 750 );
	}
	#account .submits{
		margin-top : calc( 28 * 100vw / 750 );
	}
	#account ul{
		margin-left : calc( 54 * 100% / 631 );
	}
	#account li{
		font-size : 2rem;
	}
	#account li + li{
		margin-top : calc( 20 * 100vw / 750 );
	}
	#account li a{
		padding-top : calc( 2 * 100vw / 750 );
		padding-bottom : calc( 1 * 100vw / 750 );
	}
	#account .signup{
		margin-top : calc( 68 * 100vw / 750 );
		width : calc( 652 * 100% / 750 );
		margin-left : calc( 50 * 100% / 750 );
	}
	#account .signup .title01{
		padding-left : calc( 20 * 100% / 652 );
	}
	#account .link01{
		width : 100%;
		height : calc( 74 * 100vw / 750 );
		margin-top : calc( 41 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#account .box{
		display : flex;
		align-items : flex-start;
		justify-content : space-between;
		background-color : #f0f0f0;
		position : relative;
	}
	#account .box:before{
		content : "";
		display : block;
		position : absolute;
		top : 50%;
		left : 50%;
		width : 1px;
		transform : translateX(-50%) translateY(-50%);
		background-color : #666;
		-webkit-backface-visibility : hidden;
		        backface-visibility : hidden;
	}
	#account li{
		font-size : 1.2rem;
	}
	#account .link01{
		font-size : 1.9rem;
	}
}

@media screen and (min-width: 751px) and (max-width:1026px){
	#account .box{
		margin-top : calc( ( 39 - 5.75 ) * 100vw / 1026 );
		border-radius : calc( 12 * 100vw / 1026 );
		padding-top : calc( 27 * 100vw / 1026 );
		padding-left : calc( 26 * 100% / 930 );
		padding-right : calc( 26 * 100% / 930 );
		padding-bottom : calc( 24 * 100vw / 1026 );
	}
	#account .box:before{
		height : calc( 100% - ( 58 * 100vw / 1026 ) );
	}
	#account .box > div{
		width : calc( 394 * 100% / 878 );
	}
	#account form{
		margin-top : calc( 18 * 100vw / 1026 );
	}
	#account input + input{
		margin-top : calc( 16 * 100vw / 1026 );
	}
	#account .submits{
		margin-top : calc( 18 * 100vw / 1026 );
	}
	#account ul{
		margin-left : calc( 34 * 100% / 394 );
	}
	#account li + li{
		margin-top : calc( 16 * 100vw / 1026 );
	}
	#account li a{
		padding-top : calc( 2 * 100vw / 1026 );
		padding-bottom : calc( 1 * 100vw / 1026 );
		white-space : nowrap;
	}
	#account .link01{
		width : 100%;
		height : calc( 46 * 100vw / 1026 );
		margin-top : calc( 22 * 100vw / 1026 );
	}
}

@media print,screen and (min-width: 1027px){
	#account .box{
		margin-top : calc( 39px - 5.75px );
		border-radius : 12px;
		padding-top : 27px;
		padding-left : 26px;
		padding-right : 26px;
		padding-bottom : 24px;
	}
	#account .box:before{
		height : calc( 100% - 58px );
	}
	#account .box > div{
		width : 394px;
	}
	#account form{
		margin-top : 18px;
	}
	#account input + input{
		margin-top : 16px;
	}
	#account .submits{
		margin-top : 18px;
	}
	#account ul{
		margin-left : 34px;
	}
	#account li + li{
		margin-top : 16px;
	}
	#account li a{
		padding-top : 2px;
		padding-bottom : 1px;
	}
	#account .link01{
		width : 100%;
		height : 46px;
		margin-top : 22px;
	}
}

/*--------------------------------------------
RESERVE
---------------------------------------------*/

#reserve form{
	position : relative;
	z-index : 1;
}

#reserve dt label{
	font-weight : 500;
}

#reserve .required{
	display : flex;
	align-items : center;
}

#reserve .required:after{
	content : "必須";
	border : 1px solid currentColor;
	font-weight : 500;
	color : #8b3027;
	display : flex;
	align-items : center;
	justify-content : center;
}

#reserve dd{
	position : relative;
}

#reserve dd:not([class]) input , #reserve dd:not([class]) select{
	width : 100%;
}

#reserve .names , #reserve .years{
	display : flex;
	justify-content : space-between;
}

#reserve .competitions input , #reserve .competitions select{
	width : 100%;
}

#reserve select{
	background-color : #fff;
}

#reserve label.error{
	display : block;
	font-weight : 500;
	color : #e9332a;
	position : absolute;
	left : 0;
}

#reserve label.error ~ label.error{
	display : none!important;
}

span.error{
	color : #e9332a;
}

@media screen and (max-width: 750px){
	#reserve{
		padding-bottom : calc( 91 * 100vw / 750 );
	}
	#reserve dl{
		padding-left : calc( 41 * 100% / 750 );
		padding-right : calc( 41 * 100% / 750 );
	}
	#reserve dt label{
		font-size : 3.17rem;
	}
	#reserve dt label:not(.required){
		padding-top : calc( 2 * 100vw / 750 );
	}
	#reserve .required:after{
		font-size : 1.77rem;
		width : calc( 49 * 100% / 668 );
		height : calc( 26 * 100vw / 750 );
		border-radius : calc( 3 * 100vw / 750 );
		margin-left : calc( 13 * 100% / 668 );
	}
	#reserve dd{
		margin-top : calc( 22 * 100vw / 750 );
		padding-bottom : calc( 69 * 100vw / 750 );
	}
	#reserve .names input , #reserve .names select , #reserve .years input , #reserve .years select{
		width : calc( 322 * 100% / 668 );
	}
	#reserve .competitions input{
		margin-top : calc( 26 * 100vw / 750 );
	}
	#reserve .link01{
		margin-top : calc( ( 42 - 69 ) * 100vw / 750 );
	}
	#reserve label.error{
		font-size : 2.1rem;
		bottom : calc( 28 * 100vw / 750 );
		padding-left : calc( 18 * 100% / 668 );
	}
}

@media print,screen and (min-width: 751px){
	#reserve dl > div{
		display : flex;
		align-items : flex-start;
	}
	#reserve dt{
		flex-shrink : 0;
	}
	#reserve .required{
		justify-content : space-between;
	}
	#reserve .required:after{
		font-size : 1.55rem;
	}
	#reserve dd{
		flex-grow : 1;
	}
	#reserve dd:not([class]) input , #reserve dd:not([class]) select{
		width : 100%;
	}
	#reserve label.error{
		font-size : 1.4rem;
	}
}

@media screen and (min-width: 751px) and (max-width:1026px){
	#reserve{
		padding-bottom : calc( 75 * 100vw / 1026 );
	}
	#reserve dl{
		padding-right : calc( 30 * 100% / 930 );
	}
	#reserve dt{
		width : calc( 310 * 100% / 900 );
		padding-right : calc( 33 * 100% / 900 );
		padding-top : calc( 7 * 100vw / 1026 );
	}
	#reserve dt label:not(.required){
		padding-top : calc( 2 * 100vw / 1026 );
	}
	#reserve .required:after{
		width : calc( 43 * 100% / 310 );
		height : calc( 23 * 100vw / 1026 );
		border-radius : calc( 2 * 100vw / 1026 );
	}
	#reserve dd{
		padding-bottom : calc( 42 * 100vw / 750 );
	}
	#reserve .names input , #reserve .names select , #reserve .years input , #reserve .years select{
		width : calc( 288 * 100% / 590 );
	}
	#reserve .competitions input{
		margin-top : calc( 30 * 100vw / 1026 );
	}
	#reserve .link01{
		margin-top : calc( ( 53 - 42 ) * 100vw / 1026 );
	}
	#reserve label.error{
		bottom : calc( 14 * 100vw / 1026 );
		padding-left : calc( 12 * 100% / 590 );
	}
}

@media print,screen and (min-width: 1027px){
	#reserve{
		padding-bottom : 75px;
	}
	#reserve dl{
		padding-right : 30px;
	}
	#reserve dt{
		width : 310px;
		padding-right : 33px;
		padding-top : 7px;
	}
	#reserve dt label:not(.required){
		padding-top : 2px;
	}
	#reserve .required:after{
		width : 43px;
		height : 23px;
		border-radius : 2px;
	}
	#reserve dd{
		padding-bottom : 42px;
	}
	#reserve .names input , #reserve .names select , #reserve .years input , #reserve .years select{
		width : 288px;
	}
	#reserve .competitions input{
		margin-top : 30px;
	}
	#reserve .link01{
		margin-top : calc( 53px - 42px );
	}
	#reserve label.error{
		bottom : 14px;
		padding-left : 12px;
	}
}

/*--------------------------------------------
CONFIRM
---------------------------------------------*/

#confirm .msg{
	border : 1px solid #ea8241;
}

#confirm .msg p{
	font-weight : 300;
}

#confirm .msg p strong{
	font-weight : 700;
	display : block;
}

#confirm .info h2{
	font-weight : 700;
	border-bottom-style : solid;
	border-bottom-color : #00328a;
}

#confirm .info dl > div{
	display : flex;
	align-items : flex-start;
	border-bottom : 1px solid #808080;
}

#confirm .info dt{
	font-weight : 500;
	color : #00328a;
	flex-shrink : 0;
}

#confirm .data h2{
	color : #00328a;
	border-bottom-style : solid;
	border-bottom-color : currentColor;
}

#confirm .data dl > div{
	display : flex;
	align-items : flex-start;
	border-bottom : 1px solid #808080;
}

#confirm .data dt{
	flex-shrink : 0;
}

#confirm .cancel dl{
	overflow : hidden;
	border : 1px solid #000;
}

#confirm .cancel dl > div{
	display : flex;
}

#confirm .cancel dl > div + div{
	border-top : 1px solid #000;
}

#confirm .cancel dt{
	flex-shrink : 0;
	background-color : #edf4fc;
	border-right : 1px solid #000;
}

#confirm .cancel dd{
	flex-grow : 1;
}

#confirm .cancel dd li{
	display : flex;
	align-items : flex-start;
}

#confirm .cancel dd li:before{
	flex-shrink : 0;
}

#confirm .consent{
	position : relative;
	z-index : 1;
}

#confirm .consent ul{
	display : flex;
	justify-content : center;
}

#confirm .consent a{
	color : #0c1f72;
}

#confirm .consent .check{
	display : flex;
}

#confirm .consent .check span{
	cursor : pointer;
	display : flex;
	align-items : center;
}

#confirm .consent .check span:before{
	content : "";
	flex-shrink : 0;
	display : flex;
	align-items : center;
	justify-content : center;
}

#confirm .consent .check input[type="checkbox"]{
	opacity : 0;
	position : absolute;
	visibility : hidden;
}

#confirm .consent .check input[type="checkbox"]:checked ~ span:after{
	content : "";
	position : absolute;
}

#confirm .consent .check{
	align-items : center;
	justify-content : center;
}

#confirm .consent .check span{
	position : relative;
}

#confirm .consent .check span:before{
	background-color : #fff;
	border : 1px solid #000;
}

#confirm .consent .check input[type="checkbox"]:checked ~ span:after{
	content : "";
	display : block;
	background : url("../images/ui/parts/check.svg") 0 0 / contain no-repeat;
	font-size : 0;
	width : 100%;
	height : 100%;
}

#confirm .consent p{
	text-align : center;
}

@media screen and (max-width: 750px){
	#confirm{
		padding-bottom : calc( ( 80 - 8 ) * 100vw / 750 );
	}
	#confirm .msg{
		margin-left : auto;
		margin-right : auto;
		width : calc( 632 * 100% / 750 );
		border-radius : calc( 18 * 100vw / 750 );
		padding-top : calc( 30 * 100vw / 750 );
		padding-bottom : calc( ( 30 - 6 ) * 100vw / 750 );
		padding-left : calc( 35 * 100% / 750 );
		padding-right : calc( 35 * 100% / 750 );
	}
	#confirm .msg p{
		font-size : 2rem;
		line-height : 1.6;
	}
	#confirm .msg strong{
		margin-bottom : calc( 10 * 100vw / 750 );
		font-size : 3rem;
		line-height : 1;
	}
	#confirm .info{
		padding-left : calc( 52 * 100% / 750 );
		padding-right : calc( 52 * 100% / 750 );
		margin-top : calc( 54 * 100vw / 750 );
	}
	#confirm .info h2{
		border-bottom-width : calc( 4 * 100vw / 750 );
		padding-bottom : calc( 24 * 100vw / 750 );
		font-size : 3.2rem;
	}
	#confirm .info p{
		margin-top : calc( ( 27 -10 ) * 100vw / 750 );
		padding-left : calc( 4 * 100% / 646 );
		padding-right : calc( 4 * 100% / 646 );
	}
	#confirm .info p{
		font-size : 2rem;
		line-height : 2;
	}
	#confirm .info dl{
		margin-top : calc( ( 72 - 10 - 22 ) * 100vw / 750 );
	}
	#confirm .info dl > div{
		padding-top : calc( ( 22 - 3 ) * 100vw / 750 );
		padding-bottom : calc( ( 22 - 3 ) * 100vw / 750 );
	}
	#confirm .info dt , #confirm .info dd{
		font-size : 3rem;
		line-height : 1.2;
	}
	#confirm .info dt{
		width : calc( 173 * 100% / 700 );
		padding-left : calc( 11 * 100% / 700 );
	}
	#confirm .info .back01{
		margin-top : calc( 32 * 100vw / 750 );
	}
	#confirm .data{
		padding-left : calc( 52 * 100% / 750 );
		padding-right : calc( 52 * 100% / 750 );
		margin-top : calc( 94 * 100vw / 750 );
	}
	#confirm .data h2{
		border-bottom-width : calc( 3 * 100vw / 750 );
		padding-bottom : calc( 16 * 100vw / 750 );
		font-size : 4rem;
	}
	#confirm .data dl{
		margin-top : calc( ( 28 - 15 ) * 100vw / 750 );
	}
	#confirm .data dl > div{
		padding-top : calc( ( 25.5 - 6.25 ) * 100vw / 750 );
		padding-bottom : calc( ( 25.5 - 6.25 ) * 100vw / 750 );
	}
	#confirm .data dt , #confirm .data dd{
		font-size : 2.5rem;
		line-height : 1.5;
	}
	#confirm .data dt{
		width : calc( 240 * 100% / 646 );
		padding-left : calc( 20 * 100% / 646 );
	}
	#confirm .data .back01{
		margin-top : calc( 50 * 100vw / 750 );
	}
	#confirm .cancel{
		margin-top : calc( 60 * 100vw / 750 );
		padding-left : calc( 52 * 100% / 750 );
		padding-right : calc( 52 * 100% / 750 );
	}
	#confirm .cancel > p{
		font-size : 2.4rem;
	}
	#confirm .cancel dl{
		margin-top : calc( 38 * 100vw / 750 );
		border-radius : calc( 10 * 100vw / 750 );
	}
	#confirm .cancel dt{
		width : calc( 230 * 100% / 644 );
		padding-left : calc( 24 * 100% / 644 );
		padding-right : calc( 24 * 100% / 644 );
	}
	#confirm .cancel dd{
		padding-left : calc( 28 * 100% / 644 );
		padding-right : calc( 28 * 100% / 644 );
	}
	#confirm .cancel dl > div:first-of-type dt , #confirm .cancel dl > div:first-of-type dd{
		font-size : 2.1rem;
		line-height : 1.1905;
		padding-top : calc( ( 23.5 - 2 ) * 100vw / 750 );
		padding-bottom : calc( ( 23.5 - 2 ) * 100vw / 750 );
	}
	#confirm .cancel dl > div + div dt{
		font-size : 2.1rem;
		line-height : 1.1905;
		padding-top : calc( ( 20 - 2 ) * 100vw / 750 );
		padding-bottom : calc( ( 20 - 2 ) * 100vw / 750 );
	}
	#confirm .cancel dl > div + div dd{
		font-size : 2rem;
		line-height : 1.5;
	}
	#confirm .cancel dl > div + div dd{
		padding-top : calc( ( 22 - 5 ) * 100vw / 750 );
		padding-bottom : calc( ( 37 - 5 ) * 100vw / 750 );
	}
	#confirm .cancel dl > div + div dt , #confirm .cancel dl > div + div dd{
	}
	#confirm .cancel dl > div + div ul{
		margin-top : calc( ( 32 - 5 - 5 ) * 100vw / 750 );
	}
	#confirm .consent{
		margin-top : calc( 65 * 100vw / 750 );
	}
	#confirm .consent li + li{
		margin-left : calc( 32 * 100% / 750 );
	}
	#confirm .consent li a{
		font-size : 2.4rem;
	}
	#confirm .consent .check{
		margin-top : calc( 40 * 100vw / 750 );
	}
	#confirm .consent .check span:before{
		width : calc( 38 * 100vw / 750 );
		height : calc( 38 * 100vw / 750 );
		margin-right : calc( 30 * 100vw / 750 );
	}
	#confirm .consent .check input[type="checkbox"]:checked ~ span:after{
		width : calc( 29 * 100vw / 750 );
		height : calc( 23 * 100vw / 750 );
		top : calc( 7.5 * 100vw / 750 );
		left : calc( 4.5 * 100vw / 750 );
	}
	#confirm .consent .link01{
		margin-top : calc( 58 * 100vw / 750 );
	}
	#confirm .consent p{
		margin-top : calc( ( 51 - 8 ) * 100vw / 750 );
		font-size : 2.4rem;
		line-height : 1.6667;
	}
}

@media print,screen and (min-width: 751px){
	#confirm .msg p{
		font-size : 1.5rem;
	}
	#confirm .msg p strong{
		font-size : 2.2rem;
	}
	#confirm .info h2{
		font-size : 2.3rem;
	}
	#confirm .info p{
		font-size : 1.8rem;
		line-height : 1.61;
	}
	#confirm .info dt , #confirm .info dd{
		font-size : 2.2rem;
		line-height : 1.18;
	}
	#confirm .data h2{
		font-size : 2.4rem;
	}
	#confirm .data dt , #confirm .data dd{
		font-size : 1.8rem;
		line-height : 2.6667;
	}
	#confirm .cancel > p{
		font-size : 1.8rem;
	}
	#confirm .cancel dl > div:first-of-type dt , #confirm .cancel dl > div:first-of-type dd{
		font-size : 1.5rem;
		line-height : 1.2;
	}
	#confirm .cancel dl > div + div dt , #confirm .cancel dl > div + div dd{
		font-size : 1.4rem;
		line-height : 1.57;
	}
	#confirm .consent a{
		font-size : 1.6rem;
	}
	#confirm .consent .check span{
		font-size : 1.6rem;
	}
	#confirm p{
		font-size : 1.3rem;
	}
}

@media screen and (min-width: 751px) and (max-width:1026px){
	#confirm{
		padding-bottom : calc( 77 * 100vw / 1026 );
	}
	#confirm .msg{
		border-radius : calc( 18 * 100vw / 1026 );
		padding-top : calc( 24 * 100vw / 1026 );
		padding-bottom : calc( 24 * 100vw / 1026 );
		padding-left : calc( 21 * 100% / 930 );
		padding-right : calc( 21 * 100% / 930 );
	}
	#confirm .msg strong{
		margin-bottom : calc( 8 * 100vw / 1026 );
	}
	#confirm .info{
		margin-top : calc( 60 * 100vw / 1026 );
	}
	#confirm .info h2{
		border-bottom-width : calc( 4 * 100vw / 1026 );
		padding-bottom : calc( 23 * 100vw / 1026 );
	}
	#confirm .info p{
		margin-top : calc( ( 26 - 5.5 ) * 100vw / 1026 );
		padding-left : calc( 4 * 100% / 930 );
		padding-right : calc( 4 * 100% / 930 );
	}
	#confirm .info dl{
		margin-top : calc( ( 46 - 5.5 - 22 ) * 100vw / 1026 );
	}
	#confirm .info dl > div{
		padding-top : calc( ( 22 - 2 ) * 100vw / 1026 );
		padding-bottom : calc( ( 22 - 2 ) * 100vw / 1026 );
	}
	#confirm .info dt{
		width : calc( 173 * 100% / 930 );
		padding-left : calc( 11 * 100% / 930 );
	}
	#confirm .info .back01{
		margin-top : calc( 32 * 100vw / 1026 );
	}
	#confirm .data{
		margin-top : calc( 60 * 100vw / 1026 );
	}
	#confirm .data h2{
		border-bottom-width : calc( 3 * 100vw / 1026 );
		padding-bottom : calc( 12 * 100vw / 1026 );
	}
	#confirm .data dl{
		margin-top : calc( ( 28 - 15 ) * 100vw / 1026 );
	}
	#confirm .data dt{
		width : calc( 176 * 100% / 930 );
		padding-left : calc( 20 * 100% / 930 );
	}
	#confirm .data .back01{
		margin-top : calc( 36 * 100vw / 1026 );
	}
	#confirm .cancel{
		margin-top : calc( 42 * 100vw / 1026 );
		padding-left : calc( 22 * 100% / 930 );
		padding-right : calc( 22 * 100% / 930 );
	}
	#confirm .cancel dl{
		margin-top : calc( 12 * 100vw / 1026 );
		border-radius : calc( 8 * 100vw / 1026 );
	}
	#confirm .cancel dt{
		width : calc( 168 * 100% / 978 );
		padding-left : calc( 16 * 100% / 888 );
		padding-right : calc( 16 * 100% / 888 );
	}
	#confirm .cancel dd{
		padding-left : calc( 21 * 100% / 888 );
		padding-right : calc( 71 * 100% / 888 );
	}
	#confirm .cancel dl > div:first-of-type dt , #confirm .cancel dl > div:first-of-type dd{
		padding-top : calc( ( 17.5 - 1.5 ) * 100vw / 1026 );
		padding-bottom : calc( ( 17.5 - 1.5 ) * 100vw / 1026 );
	}
	#confirm .cancel dl > div + div dt , #confirm .cancel dl > div + div dd{
		padding-top : calc( ( 15 - 4 ) * 100vw / 1026 );
		padding-bottom : calc( ( 15 - 4 ) * 100vw / 1026 );
	}
	#confirm .cancel dl > div + div ul{
		margin-top : calc( ( 20 - 4 - 4 ) * 100vw / 1026 );
	}
	#confirm .consent{
		margin-top : calc( 35 * 100vw / 1026 );
	}
	#confirm .consent li + li{
		margin-left : calc( 32 * 100% / 930 );
	}
	#confirm .consent .check{
		margin-top : calc( 40 * 100vw / 1026 );
	}
	#confirm .consent .check span:before{
		width : calc( 26 * 100vw / 1026 );
		height : calc( 26 * 100vw / 1026 );
		margin-right : calc( 20 * 100vw / 1026 );
	}
	#confirm .consent .check input[type="checkbox"]:checked ~ span:after{
		width : calc( 22 * 100vw / 1026 );
		height : calc( 19 * 100vw / 1026 );
		top : calc( 3.5 * 100vw / 1026 );
		left : calc( 2 * 100vw / 1026 );
	}
	#confirm .consent .link01{
		margin-top : calc( 48 * 100vw / 1026 );
	}
	#confirm .consent p{
		margin-top : calc( 38 * 100vw / 1026 );
	}
}

@media print,screen and (min-width: 1027px){
	#confirm{
		padding-bottom : 77px;
	}
	#confirm .msg{
		border-radius : 18px;
		padding-top : 24px;
		padding-bottom : 24px;
		padding-left : 21px;
		padding-right : 21px;
	}
	#confirm .msg strong{
		margin-bottom : 8px;
	}
	#confirm .info{
		margin-top : 60px;
	}
	#confirm .info h2{
		border-bottom-width : 4px;
		padding-bottom : 23px;
	}
	#confirm .info p{
		margin-top : calc( 26px - 5.5px );
		padding-left : 4px;
		padding-right : 4px;
	}
	#confirm .info dl{
		margin-top : calc( 46px - 5.5px - 22px );
	}
	#confirm .info dl > div{
		padding-top : calc( 22px - 2px );
		padding-bottom : calc( 22px - 2px );
	}
	#confirm .info dt{
		width : 173px;
		padding-left : 11px;
	}
	#confirm .info .back01{
		margin-top : 32px;
	}
	#confirm .data{
		margin-top : 60px;
	}
	#confirm .data h2{
		border-bottom-width : 3px;
		padding-bottom : 12px;
	}
	#confirm .data dl{
		margin-top : calc( 28px - 15px );
	}
	#confirm .data dt{
		width : 176px;
		padding-left : 20px;
	}
	#confirm .data .back01{
		margin-top : 36px;
	}
	#confirm .cancel{
		margin-top : 42px;
		padding-left : 22px;
		padding-right : 22px;
	}
	#confirm .cancel dl{
		margin-top : 12px;
		border-radius : 8px;
	}
	#confirm .cancel dt{
		width : 168px;
		padding-left : 16px;
		padding-right : 16px;
	}
	#confirm .cancel dd{
		padding-left : 21px;
		padding-right : 71px;
	}
	#confirm .cancel dl > div:first-of-type dt , #confirm .cancel dl > div:first-of-type dd{
		padding-top : calc( 17.5px - 1.5px );
		padding-bottom : calc( 17.5px - 1.5px );
	}
	#confirm .cancel dl > div + div dt , #confirm .cancel dl > div + div dd{
		padding-top : calc( 15px - 4px );
		padding-bottom : calc( 15px - 4px );
	}
	#confirm .cancel dl > div + div ul{
		margin-top : calc( 20px - 4px - 4px );
	}
	#confirm .consent{
		margin-top : 35px;
	}
	#confirm .consent li + li{
		margin-left : 32px;
	}
	#confirm .consent .check{
		margin-top : 40px;
	}
	#confirm .consent .check span:before{
		width : 26px;
		height : 26px;
		margin-right : 20px;
	}
	#confirm .consent .check input[type="checkbox"]:checked ~ span:after{
		width : 22px;
		height : 19px;
		top : 3.5px;
		left : 2px;
	}
	#confirm .consent .link01{
		margin-top : 48px;
	}
	#confirm .consent p{
		margin-top : 38px;
	}
}

/*--------------------------------------------
THANKS
---------------------------------------------*/

#thanks{
	position : relative;
	z-index : 1;
}

#thanks p em{
	display : block;
	font-weight : 700;
}

#thanks dl > div{
	display : flex;
	align-items : baseline;
	border-bottom : 1px solid #808080;
}

#thanks dt{
	flex-shrink : 0;
}

@media screen and (max-width: 750px){
	#thanks{
		padding-bottom : calc( 91 * 100vw / 750 );
	}
	#thanks .frame01{
		padding-top : calc( ( 39 - 10.375 ) * 100vw / 750 );
		padding-bottom : calc( 64 * 100vw / 750 );
	}
	#thanks p{
		font-size : 3.11rem;
		line-height : 1.66;
	}
	#thanks p em{
		font-size : 3.11rem;
		line-height : 1.51;
	}
	#thanks dl{
		margin-top : calc( ( 52 - 22 ) * 100vw / 750 );
	}
	#thanks dl > div{
		padding-top : calc( 22 * 100vw / 750 );
		padding-bottom : calc( 22 * 100vw / 750 );
	}
	#thanks dt , #thanks dd{
		font-size : 3.3rem;
	}
	#thanks dt{
		padding-left : calc( 4 * 100% / 588 );
		width : calc( 110 * 100% / 588 );
	}
	#thanks .link01{
		margin-top : calc( 60 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#thanks p{
		font-size : 2.1rem;
		line-height : 1.66;
	}
	#thanks p em{
		font-size : 2.22rem;
		line-height : 1.32;
	}
  #thanks p em.qr_company{
		font-size : 5.0rem;
  }
	#thanks dt , #thanks dd{
		font-size : 2.1rem;
	}
  img.qr_image{
    width: 80%;
  }
}

@media screen and (min-width: 751px) and (max-width:1026px){
	#thanks{
		padding-bottom : calc( 77 * 100vw / 1026 );
	}
	#thanks .frame01{
		padding-top : calc( ( 37 - 7 ) * 100vw / 1026 );
		padding-bottom : calc( 34 * 100vw / 1026 );
	}
	#thanks dl{
		margin-top : calc( ( 35 - 17 ) * 100vw / 1026 );
	}
	#thanks dl > div{
		padding-top : calc( 17 * 100vw / 1026 );
		padding-bottom : calc( 17 * 100vw / 1026 );
	}
	#thanks dt{
		width : calc( 106 * 100% / 846 );
		padding-left : calc( 4 * 100% / 846 );
	}
	#thanks .link01{
		margin-top : calc( 60 * 100vw / 1026 );
	}
}

@media print,screen and (min-width: 1027px){
	#thanks{
		padding-bottom : 77px;
	}
	#thanks .frame01{
		padding-top : calc( 37px - 7px );
		padding-bottom : 34px;
	}
	#thanks dl{
		margin-top : calc( 35px - 17px );
	}
	#thanks dl > div{
		padding-top : 17px;
		padding-bottom : 17px;
	}
	#thanks dt{
		padding-left : 4px;
		width : 106px;
	}
	#thanks .link01{
		margin-top : 60px;
	}
}


/*--------------------------------------------
question
---------------------------------------------*/

#question form{
	position : relative;
	z-index : 1;
}

#question dt label{
	font-weight : 500;
}

#question .required{
	display : flex;
	align-items : center;
}

#question .required:after{
	content : "必須";
	border : 1px solid currentColor;
	font-weight : 500;
	color : #8b3027;
	display : flex;
	align-items : center;
	justify-content : center;
}

#question dd{
	position : relative;
}

#question dd:not([class]) input , #question dd:not([class]) select{
	width : 100%;
}

#question .names , #question .years{
	display : flex;
	justify-content : space-between;
}

#question .competitions input , #question .competitions select{
	width : 100%;
}

#question select{
	background-color : #fff;
}

#question label.error{
	display : block;
	font-weight : 500;
	color : #e9332a;
	position : absolute;
	left : 0;
}

#question label.error ~ label.error{
	display : none!important;
}

@media screen and (max-width: 750px){
	#question{
		padding-bottom : calc( 91 * 100vw / 750 );
	}
	#question dl{
		padding-left : calc( 41 * 100% / 750 );
		padding-right : calc( 41 * 100% / 750 );
	}
	#question dt label{
		font-size : 3.17rem;
	}
	#question dt label:not(.required){
		padding-top : calc( 2 * 100vw / 750 );
	}
	#question .required:after{
		font-size : 1.77rem;
		width : calc( 49 * 100% / 668 );
		height : calc( 26 * 100vw / 750 );
		border-radius : calc( 3 * 100vw / 750 );
		margin-left : calc( 13 * 100% / 668 );
	}
	#question dd{
		margin-top : calc( 20 * 100vw / 750 );
		padding-bottom : calc( 69 * 100vw / 750 );
	}
	#question .names input , #question .names select , #question .years input , #question .years select{
		width : calc( 322 * 100% / 668 );
	}
	#question .competitions input{
		margin-top : calc( 26 * 100vw / 750 );
	}
	#question .link01{
		margin-top : calc( ( 42 - 69 ) * 100vw / 750 );
	}
	#question label.error{
		font-size : 2.1rem;
		bottom : calc( 28 * 100vw / 750 );
		padding-left : calc( 18 * 100% / 668 );
	}
	#question .consent label.error{
		font-size : 2.1rem;
		bottom : calc( -40 * 100vw / 750 );
		padding-left : calc( 18 * 100% / 668 );
	}
}

@media print,screen and (min-width: 751px){
	#question dl > div{
		display : flex;
		align-items : flex-start;
	}
	#question dt{
		flex-shrink : 0;
	}
	#question .required{
		justify-content : space-between;
	}
	#question .required:after{
		font-size : 1.55rem;
	}
	#question dd{
		flex-grow : 1;
	}
	#question dd:not([class]) input , #question dd:not([class]) select{
		width : 100%;
	}
	#question label.error{
		font-size : 1.4rem;
	}
}

@media screen and (min-width: 751px) and (max-width:1026px){
	#question{
		padding-bottom : calc( 75 * 100vw / 1026 );
	}
	#question dl{
		padding-right : calc( 30 * 100% / 930 );
	}
	#question dt{
		width : calc( 310 * 100% / 900 );
		padding-right : calc( 33 * 100% / 900 );
		padding-top : calc( 7 * 100vw / 1026 );
	}
	#question dt label:not(.required){
		padding-top : calc( 2 * 100vw / 1026 );
	}
	#question .required:after{
		width : calc( 43 * 100% / 310 );
		height : calc( 23 * 100vw / 1026 );
		border-radius : calc( 2 * 100vw / 1026 );
	}
	#question dd{
		padding-bottom : calc( 42 * 100vw / 750 );
	}
	#question .names input , #question .names select , #question .years input , #question .years select{
		width : calc( 288 * 100% / 590 );
	}
	#question .competitions input{
		margin-top : calc( 30 * 100vw / 1026 );
	}
	#question .link01{
		margin-top : calc( ( 53 - 42 ) * 100vw / 1026 );
	}
	#question label.error{
		bottom : calc( 14 * 100vw / 1026 );
		padding-left : calc( 12 * 100% / 590 );
	}
	#question .consent label.error{
		bottom : calc( -40 * 100vw / 1026 );
		padding-left : calc( 12 * 100% / 590 );
	}
}

@media print,screen and (min-width: 1027px){
	#question{
		padding-bottom : 75px;
	}
	#question dl{
		padding-right : 30px;
	}
	#question dt{
		width : 310px;
		padding-right : 33px;
		padding-top : 7px;
	}
	#question dt label:not(.required){
		padding-top : 2px;
	}
	#question .required:after{
		width : 43px;
		height : 23px;
		border-radius : 2px;
	}
	#question dd{
		padding-bottom : 42px;
	}
	#question .names input , #question .names select , #question .years input , #question .years select{
		width : 288px;
	}
	#question .competitions input{
		margin-top : 30px;
	}
	#question .link01{
		margin-top : calc( 53px - 42px );
	}
	#question label.error{
		bottom : 14px;
		padding-left : 12px;
	}
	#question .consent label.error{
		bottom : -30px;
		padding-left : 12px;
	}
}

#question .radios{
	display : flex;
}

#question .radios label{
	position : relative;
}

#question .radios label input{
	display : none;
}

#question .radios label span{
	display : flex;
	align-items : center;
	cursor : pointer;
}

#question .radios label span::before{
	content : "";
	display : flex;
	align-items : center;
	justify-content : center;
	border-radius : 50%;
}

#question .radios label input:checked + span:after{
	content : "";
	display : block;
	position : absolute;
	border-radius : 50%;
}

#question .radios span{
	font-weight : 500;
}

#question .radios span:before{
	border-radius : 50%;
	background-color : #fff;
	border : 1px solid #757575;
	font-size : 0;
}

#question .radios input:checked + span:after{
	border-radius : 50%;
	background-color : #565656;
	font-size : 0;
}

@media screen and (max-width: 750px){
	#question{
		padding-bottom : calc( 52 * 100vw / 750 );
	}
	#question form{
		width : calc( 708 * 100% / 750 );
		margin-left : auto;
		margin-right : auto;
	}
	#question form > label{
		margin-bottom : calc( 34 * 100vw / 750 );
		font-size : 3.2rem;
		width : calc( 674 * 100% / 708 );
	}
	#question form > label:before , #question form > label:after{
		width : calc( 244 * 100% / 708 );
	}
	#question form > label ~ label{
		margin-top : calc( 60 * 100vw / 750 );
	}
	#question input[type="text"][readonly]{
		font-size : 3rem;
	}
	#question .radios label + label{
		margin-left : calc( 84 * 100% / 708 );
	}
	#question .radios span{
		font-size : 3rem;
	}
	#question .radios span:before{
		width : calc( 39 * 100vw / 750 );
		height : calc( 39 * 100vw / 750 );
		margin-right : calc( 24 * 100vw / 750 );
	}
	#question .radios input:checked + span:after{
		width : calc( 27 * 100vw / 750 );
		height : calc( 27 * 100vw / 750 );
		top : calc( 6 * 100vw / 750 );
		left : calc( 6 * 100vw / 750 );
	}
}

@media print,screen and (min-width: 751px){
	#question form > label{
		font-size : 1.76rem;
		width : 100%;
	}
	#question input[type="text"][readonly]{
		font-size : 1.63rem;
	}
	#question .radios span{
		font-size : 2.12rem;
	}
}

@media screen and (min-width: 751px) and (max-width:1026px){
	#question{
		padding-bottom : calc( 54 * 100vw / 1026 );
	}
	#question form > label{
		margin-bottom : calc( 20 * 100vw / 1026 );
		width : calc( 894 * 100% / 928 );
	}
	#question form > label:before , #schedule form > label:after{
		width : calc( 396 * 100% / 894 );
	}
	#question form > label ~ label{
		margin-top : calc( 30 * 100vw / 1026 );
	}
	#question .radios label + label{
		margin-left : calc( 52 * 100% / 928 );
	}
	#question .radios span:before{
		width : calc( 23 * 100vw / 1026 );
		height : calc( 23 * 100vw / 1026 );
		margin-right : calc( 16 * 100vw / 1026 );
	}
	#question .radios input:checked + span:after{
		width : calc( 15 * 100vw / 1026 );
		height : calc( 15 * 100vw / 1026 );
		top : calc( 4 * 100vw / 1026 );
		left : calc( 4 * 100vw / 1026 );
	}
}

@media print,screen and (min-width: 1027px){
	#question{
		padding-bottom : 54px;
	}
	#question form > label{
		margin-bottom : 20px;
		width : 894px;
	}
	#question form > label:before , #question form > label:after{
		width : 396px;
	}
	#question form > label ~ label{
		margin-top : 30px;
	}
	#question .radios label + label{
		margin-left : 52px;
	}
	#question .radios span:before{
		width : 23px;
		height : 23px;
		margin-right : 16px;
	}
	#question .radios input:checked + span:after{
		width : 15px;
		height : 15px;
		top : 4px;
		left : 4px;
	}
}

#question .consent{
	position : relative;
	z-index : 1;
}

#question .consent ul{
	display : flex;
	justify-content : center;
}

#question .consent a{
	color : #0c1f72;
}

#question .consent .check{
	display : flex;
}

#question .consent .check span{
	cursor : pointer;
	display : flex;
	align-items : center;
}

#question .consent .check span:before{
	content : "";
	flex-shrink : 0;
	display : flex;
	align-items : center;
}

#question .consent .check input[type="checkbox"]{
	opacity : 0;
	position : absolute;
	visibility : hidden;
}

#question .consent .check input[type="checkbox"]:checked ~ span:after{
	content : "";
	position : absolute;
}

#question .consent .check{
	align-items : center;
}

#question .consent .check span{
	position : relative;
}

#question .consent .check span:before{
	background-color : #fff;
	border : 1px solid #000;
}

#question .consent .check input[type="checkbox"]:checked ~ span:after{
	content : "";
	display : block;
	background : url("../images/ui/parts/check.svg") 0 0 / contain no-repeat;
	font-size : 0;
	width : 100%;
	height : 100%;
}

#question .consent p{
	text-align : left;
}

@media screen and (max-width: 750px){
	#question{
		padding-bottom : calc( ( 80 - 8 ) * 100vw / 750 );
	}
	#question .msg{
		margin-left : auto;
		margin-right : auto;
		width : calc( 632 * 100% / 750 );
		border-radius : calc( 18 * 100vw / 750 );
		padding-top : calc( 30 * 100vw / 750 );
		padding-bottom : calc( ( 30 - 6 ) * 100vw / 750 );
		padding-left : calc( 35 * 100% / 750 );
		padding-right : calc( 35 * 100% / 750 );
	}
	#question .msg p{
		font-size : 2rem;
		line-height : 1.6;
	}
	#question .msg strong{
		margin-bottom : calc( 10 * 100vw / 750 );
		font-size : 3rem;
		line-height : 1;
	}
	#question .info{
		padding-left : calc( 52 * 100% / 750 );
		padding-right : calc( 52 * 100% / 750 );
		margin-top : calc( 54 * 100vw / 750 );
	}
	#question .info h2{
		border-bottom-width : calc( 4 * 100vw / 750 );
		padding-bottom : calc( 24 * 100vw / 750 );
		font-size : 3.2rem;
	}
	#question .info p{
		margin-top : calc( ( 27 -10 ) * 100vw / 750 );
		padding-left : calc( 4 * 100% / 646 );
		padding-right : calc( 4 * 100% / 646 );
	}
	#question .info p{
		font-size : 2rem;
		line-height : 2;
	}
	#question .info dl{
		margin-top : calc( ( 72 - 10 - 22 ) * 100vw / 750 );
	}
	#question .info dl > div{
		padding-top : calc( ( 22 - 3 ) * 100vw / 750 );
		padding-bottom : calc( ( 22 - 3 ) * 100vw / 750 );
	}
	#question .info dt , #question .info dd{
		font-size : 3rem;
		line-height : 1.2;
	}
	#question .info dt{
		width : calc( 173 * 100% / 700 );
		padding-left : calc( 11 * 100% / 700 );
	}
	#question .info .back01{
		margin-top : calc( 32 * 100vw / 750 );
	}
	#question .data{
		padding-left : calc( 52 * 100% / 750 );
		padding-right : calc( 52 * 100% / 750 );
		margin-top : calc( 94 * 100vw / 750 );
	}
	#question .data h2{
		border-bottom-width : calc( 3 * 100vw / 750 );
		padding-bottom : calc( 16 * 100vw / 750 );
		font-size : 4rem;
	}
	#question .data dl{
		margin-top : calc( ( 28 - 15 ) * 100vw / 750 );
	}
	#question .data dl > div{
		padding-top : calc( ( 25.5 - 6.25 ) * 100vw / 750 );
		padding-bottom : calc( ( 25.5 - 6.25 ) * 100vw / 750 );
	}
	#question .data dt , #question .data dd{
		font-size : 2.5rem;
		line-height : 1.5;
	}
	#question .data dt{
		width : calc( 240 * 100% / 646 );
		padding-left : calc( 20 * 100% / 646 );
	}
	#question .data .back01{
		margin-top : calc( 50 * 100vw / 750 );
	}
	#question .cancel{
		margin-top : calc( 60 * 100vw / 750 );
		padding-left : calc( 52 * 100% / 750 );
		padding-right : calc( 52 * 100% / 750 );
	}
	#question .cancel > p{
		font-size : 2.4rem;
	}
	#question .cancel dl{
		margin-top : calc( 38 * 100vw / 750 );
		border-radius : calc( 10 * 100vw / 750 );
	}
	#question .cancel dt{
		width : calc( 230 * 100% / 644 );
		padding-left : calc( 24 * 100% / 644 );
		padding-right : calc( 24 * 100% / 644 );
	}
	#question .cancel dd{
		padding-left : calc( 28 * 100% / 644 );
		padding-right : calc( 28 * 100% / 644 );
	}
	#question .cancel dl > div:first-of-type dt , #question .cancel dl > div:first-of-type dd{
		font-size : 2.1rem;
		line-height : 1.1905;
		padding-top : calc( ( 23.5 - 2 ) * 100vw / 750 );
		padding-bottom : calc( ( 23.5 - 2 ) * 100vw / 750 );
	}
	#question .cancel dl > div + div dt{
		font-size : 2.1rem;
		line-height : 1.1905;
		padding-top : calc( ( 20 - 2 ) * 100vw / 750 );
		padding-bottom : calc( ( 20 - 2 ) * 100vw / 750 );
	}
	#question .cancel dl > div + div dd{
		font-size : 2rem;
		line-height : 1.5;
	}
	#question .cancel dl > div + div dd{
		padding-top : calc( ( 22 - 5 ) * 100vw / 750 );
		padding-bottom : calc( ( 37 - 5 ) * 100vw / 750 );
	}
	#question .cancel dl > div + div dt , #question .cancel dl > div + div dd{
	}
	#question .cancel dl > div + div ul{
		margin-top : calc( ( 32 - 5 - 5 ) * 100vw / 750 );
	}
	#question .consent{
		margin-top : calc( 0 * 100vw / 750 );
	}
	#question .consent li + li{
		margin-left : calc( 32 * 100% / 750 );
	}
	#question .consent li a{
		font-size : 2.4rem;
	}
	#question .consent .check{
		margin-top : calc( 10 * 100vw / 750 );
	}
	#question .consent .check span:before{
		width : calc( 38 * 100vw / 750 );
		height : calc( 38 * 100vw / 750 );
		margin-right : calc( 30 * 100vw / 750 );
	}
	#question .consent .check input[type="checkbox"]:checked ~ span:after{
		width : calc( 29 * 100vw / 750 );
		height : calc( 23 * 100vw / 750 );
		top : calc( 7.5 * 100vw / 750 );
		left : calc( 4.5 * 100vw / 750 );
	}
	#question .consent .link01{
		margin-top : calc( 58 * 100vw / 750 );
	}
	#question .consent p{
		margin-top : calc( ( 51 - 8 ) * 100vw / 750 );
		font-size : 2.4rem;
		line-height : 1.6667;
	}
}

@media print,screen and (min-width: 751px){
	#question .msg p{
		font-size : 1.5rem;
	}
	#question .msg p strong{
		font-size : 2.2rem;
	}
	#question .info h2{
		font-size : 2.3rem;
	}
	#question .info p{
		font-size : 1.8rem;
		line-height : 1.61;
	}
	#question .info dt , #question .info dd{
		font-size : 2.2rem;
		line-height : 1.18;
	}
	#question .data h2{
		font-size : 2.4rem;
	}
	#question .data dt , #question .data dd{
		font-size : 1.8rem;
		line-height : 2.6667;
	}
	#question .cancel > p{
		font-size : 1.8rem;
	}
	#question .cancel dl > div:first-of-type dt , #question .cancel dl > div:first-of-type dd{
		font-size : 1.5rem;
		line-height : 1.2;
	}
	#question .cancel dl > div + div dt , #question .cancel dl > div + div dd{
		font-size : 1.4rem;
		line-height : 1.57;
	}
	#question .consent a{
		font-size : 1.6rem;
	}
	#question .consent .check span{
		font-size : 1.6rem;
	}
	#question p{
		font-size : 1.3rem;
	}
}

@media screen and (min-width: 751px) and (max-width:1026px){
	#question{
		padding-bottom : calc( 77 * 100vw / 1026 );
	}
	#question .msg{
		border-radius : calc( 18 * 100vw / 1026 );
		padding-top : calc( 24 * 100vw / 1026 );
		padding-bottom : calc( 24 * 100vw / 1026 );
		padding-left : calc( 21 * 100% / 930 );
		padding-right : calc( 21 * 100% / 930 );
	}
	#question .msg strong{
		margin-bottom : calc( 8 * 100vw / 1026 );
	}
	#question .info{
		margin-top : calc( 60 * 100vw / 1026 );
	}
	#question .info h2{
		border-bottom-width : calc( 4 * 100vw / 1026 );
		padding-bottom : calc( 23 * 100vw / 1026 );
	}
	#question .info p{
		margin-top : calc( ( 26 - 5.5 ) * 100vw / 1026 );
		padding-left : calc( 4 * 100% / 930 );
		padding-right : calc( 4 * 100% / 930 );
	}
	#question .info dl{
		margin-top : calc( ( 46 - 5.5 - 22 ) * 100vw / 1026 );
	}
	#question .info dl > div{
		padding-top : calc( ( 22 - 2 ) * 100vw / 1026 );
		padding-bottom : calc( ( 22 - 2 ) * 100vw / 1026 );
	}
	#question .info dt{
		width : calc( 173 * 100% / 930 );
		padding-left : calc( 11 * 100% / 930 );
	}
	#question .info .back01{
		margin-top : calc( 32 * 100vw / 1026 );
	}
	#question .data{
		margin-top : calc( 60 * 100vw / 1026 );
	}
	#question .data h2{
		border-bottom-width : calc( 3 * 100vw / 1026 );
		padding-bottom : calc( 12 * 100vw / 1026 );
	}
	#question .data dl{
		margin-top : calc( ( 28 - 15 ) * 100vw / 1026 );
	}
	#question .data dt{
		width : calc( 176 * 100% / 930 );
		padding-left : calc( 20 * 100% / 930 );
	}
	#question .data .back01{
		margin-top : calc( 36 * 100vw / 1026 );
	}
	#question .cancel{
		margin-top : calc( 42 * 100vw / 1026 );
		padding-left : calc( 22 * 100% / 930 );
		padding-right : calc( 22 * 100% / 930 );
	}
	#question .cancel dl{
		margin-top : calc( 12 * 100vw / 1026 );
		border-radius : calc( 8 * 100vw / 1026 );
	}
	#question .cancel dt{
		width : calc( 168 * 100% / 978 );
		padding-left : calc( 16 * 100% / 888 );
		padding-right : calc( 16 * 100% / 888 );
	}
	#question .cancel dd{
		padding-left : calc( 21 * 100% / 888 );
		padding-right : calc( 71 * 100% / 888 );
	}
	#question .cancel dl > div:first-of-type dt , #question .cancel dl > div:first-of-type dd{
		padding-top : calc( ( 17.5 - 1.5 ) * 100vw / 1026 );
		padding-bottom : calc( ( 17.5 - 1.5 ) * 100vw / 1026 );
	}
	#question .cancel dl > div + div dt , #question .cancel dl > div + div dd{
		padding-top : calc( ( 15 - 4 ) * 100vw / 1026 );
		padding-bottom : calc( ( 15 - 4 ) * 100vw / 1026 );
	}
	#question .cancel dl > div + div ul{
		margin-top : calc( ( 20 - 4 - 4 ) * 100vw / 1026 );
	}
	#question .consent{
		margin-top : calc( 35 * 100vw / 1026 );
	}
	#question .consent li + li{
		margin-left : calc( 32 * 100% / 930 );
	}
	#question .consent .check{
		margin-top : calc( 20 * 100vw / 1026 );
	}
	#question .consent .check span:before{
		width : calc( 26 * 100vw / 1026 );
		height : calc( 26 * 100vw / 1026 );
		margin-right : calc( 20 * 100vw / 1026 );
	}
	#question .consent .check input[type="checkbox"]:checked ~ span:after{
		width : calc( 22 * 100vw / 1026 );
		height : calc( 19 * 100vw / 1026 );
		top : calc( 3.5 * 100vw / 1026 );
		left : calc( 2 * 100vw / 1026 );
	}
	#question .consent .link01{
		margin-top : calc( 48 * 100vw / 1026 );
	}
	#question .consent p{
		margin-top : calc( 38 * 100vw / 1026 );
	}
}

@media print,screen and (min-width: 1027px){
	#question{
		padding-bottom : 77px;
	}
	#question .msg{
		border-radius : 18px;
		padding-top : 24px;
		padding-bottom : 24px;
		padding-left : 21px;
		padding-right : 21px;
	}
	#question .msg strong{
		margin-bottom : 8px;
	}
	#question .info{
		margin-top : 60px;
	}
	#question .info h2{
		border-bottom-width : 4px;
		padding-bottom : 23px;
	}
	#question .info p{
		margin-top : calc( 26px - 5.5px );
		padding-left : 4px;
		padding-right : 4px;
	}
	#confirm .info dl{
		margin-top : calc( 46px - 5.5px - 22px );
	}
	#question .info dl > div{
		padding-top : calc( 22px - 2px );
		padding-bottom : calc( 22px - 2px );
	}
	#question .info dt{
		width : 173px;
		padding-left : 11px;
	}
	#question .info .back01{
		margin-top : 32px;
	}
	#question .data{
		margin-top : 60px;
	}
	#question .data h2{
		border-bottom-width : 3px;
		padding-bottom : 12px;
	}
	#question .data dl{
		margin-top : calc( 28px - 15px );
	}
	#question .data dt{
		width : 176px;
		padding-left : 20px;
	}
	#question .data .back01{
		margin-top : 36px;
	}
	#question .cancel{
		margin-top : 42px;
		padding-left : 22px;
		padding-right : 22px;
	}
	#question .cancel dl{
		margin-top : 12px;
		border-radius : 8px;
	}
	#question .cancel dt{
		width : 168px;
		padding-left : 16px;
		padding-right : 16px;
	}
	#question .cancel dd{
		padding-left : 21px;
		padding-right : 71px;
	}
	#question .cancel dl > div:first-of-type dt , #question .cancel dl > div:first-of-type dd{
		padding-top : calc( 17.5px - 1.5px );
		padding-bottom : calc( 17.5px - 1.5px );
	}
	#question .cancel dl > div + div dt , #question .cancel dl > div + div dd{
		padding-top : calc( 15px - 4px );
		padding-bottom : calc( 15px - 4px );
	}
	#question .cancel dl > div + div ul{
		margin-top : calc( 20px - 4px - 4px );
	}
	#question .consent{
		margin-top : 0;
	}
	#question .consent li + li{
		margin-left : 32px;
	}
	#question .consent .check{
		margin-top : 10px;
	}
	#question .consent .check span:before{
		width : 26px;
		height : 26px;
		margin-right : 20px;
	}
	#question .consent .check input[type="checkbox"]:checked ~ span:after{
		width : 22px;
		height : 19px;
		top : 3.5px;
		left : 2px;
	}
	#question .consent .link01{
		margin-top : 48px;
	}
	#question .consent p{
		margin-top : 38px;
	}
}