@charset "UTF-8";

/* base --------------------------------------------------------------------- */
html {
	box-sizing: border-box;
	font-size: 62.5%;
	margin: 0;
	padding: 0;
}
body {
	color: #4d4d4d;
	font-family: "Noto Sans JP", "Meiryo", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}
@media all and (max-width: 767px) {
	body {
		font-size: 1.6rem;
		line-height: 1.5;
	}
}
*,*::before,*::after {
	box-sizing: inherit;
}
button,input,select,textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: transparent;
	border: none;
	border-radius: none;
	font-family: inherit;
	font-size: inherit;
	margin: 0;
	padding: 0;
}
:placeholder-shown {
	color: #999;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
::-webkit-input-placeholder {
	color: #999;
}
::-moz-placeholder {
	opacity: 1;
}

/* IE 10+ */
:-ms-input-placeholder {
	color: #999;
}

/* テキストボックスフォーカス時にplaceholderを消す */
input:focus::-webkit-input-placeholder {
	color: transparent;
}
input:focus:-moz-placeholder {
	color: transparent;
}
input:focus::-moz-placeholder {
	color: transparent;
}
button {
	cursor: pointer;
}
button:active,button:focus,button:active > span,button:focus > span {
	position: relative;
}
img {
	max-width: 100%;
	vertical-align: top;
}
a {
	color: #000;
	text-decoration: underline;
}
a:hover {
	text-decoration: none;
}
p {
	margin: 0 0 20px;
}
ul,ol {
	margin: 0 0 20px;
}
hr {
	border: none;
	border-bottom: #ccc 1px dotted;
	margin: 20px 0;
}

/* utilities --------------------------------------------------------------------- */
.mt0 {
	margin-top: 0 !important;
}
.mr0 {
	margin-right: 0 !important;
}
.mb0 {
	margin-bottom: 0 !important;
}
.ml0 {
	margin-left: 0 !important;
}
.pt0 {
	padding-top: 0 !important;
}
.pr0 {
	padding-right: 0 !important;
}
.pb0 {
	padding-bottom: 0 !important;
}
.pl0 {
	padding-left: 0 !important;
}
.mt5 {
	margin-top: 5px !important;
}
.mr5 {
	margin-right: 5px !important;
}
.mb5 {
	margin-bottom: 5px !important;
}
.ml5 {
	margin-left: 5px !important;
}
.pt5 {
	padding-top: 5px !important;
}
.pr5 {
	padding-right: 5px !important;
}
.pb5 {
	padding-bottom: 5px !important;
}
.pl5 {
	padding-left: 5px !important;
}
.mt10 {
	margin-top: 10px !important;
}
.mr10 {
	margin-right: 10px !important;
}
.mb10 {
	margin-bottom: 10px !important;
}
.ml10 {
	margin-left: 10px !important;
}
.pt10 {
	padding-top: 10px !important;
}
.pr10 {
	padding-right: 10px !important;
}
.pb10 {
	padding-bottom: 10px !important;
}
.pl10 {
	padding-left: 10px !important;
}
.mt15 {
	margin-top: 15px !important;
}
.mr15 {
	margin-right: 15px !important;
}
.mb15 {
	margin-bottom: 15px !important;
}
.ml15 {
	margin-left: 15px !important;
}
.pt15 {
	padding-top: 15px !important;
}
.pr15 {
	padding-right: 15px !important;
}
.pb15 {
	padding-bottom: 15px !important;
}
.pl15 {
	padding-left: 15px !important;
}
.mt20 {
	margin-top: 20px !important;
}
.mr20 {
	margin-right: 20px !important;
}
.mb20 {
	margin-bottom: 20px !important;
}
.ml20 {
	margin-left: 20px !important;
}
.pt20 {
	padding-top: 20px !important;
}
.pr20 {
	padding-right: 20px !important;
}
.pb20 {
	padding-bottom: 20px !important;
}
.pl20 {
	padding-left: 20px !important;
}
.mt25 {
	margin-top: 25px !important;
}
.mr25 {
	margin-right: 25px !important;
}
.mb25 {
	margin-bottom: 25px !important;
}
.ml25 {
	margin-left: 25px !important;
}
.pt25 {
	padding-top: 25px !important;
}
.pr25 {
	padding-right: 25px !important;
}
.pb25 {
	padding-bottom: 25px !important;
}
.pl25 {
	padding-left: 25px !important;
}
.mt30 {
	margin-top: 30px !important;
}
.mr30 {
	margin-right: 30px !important;
}
.mb30 {
	margin-bottom: 30px !important;
}
.ml30 {
	margin-left: 30px !important;
}
.pt30 {
	padding-top: 30px !important;
}
.pr30 {
	padding-right: 30px !important;
}
.pb30 {
	padding-bottom: 30px !important;
}
.pl30 {
	padding-left: 30px !important;
}
.mt35 {
	margin-top: 35px !important;
}
.mr35 {
	margin-right: 35px !important;
}
.mb35 {
	margin-bottom: 35px !important;
}
.ml35 {
	margin-left: 35px !important;
}
.pt35 {
	padding-top: 35px !important;
}
.pr35 {
	padding-right: 35px !important;
}
.pb35 {
	padding-bottom: 35px !important;
}
.pl35 {
	padding-left: 35px !important;
}
.mt40 {
	margin-top: 40px !important;
}
.mr40 {
	margin-right: 40px !important;
}
.mb40 {
	margin-bottom: 40px !important;
}
.ml40 {
	margin-left: 40px !important;
}
.pt40 {
	padding-top: 40px !important;
}
.pr40 {
	padding-right: 40px !important;
}
.pb40 {
	padding-bottom: 40px !important;
}
.pl40 {
	padding-left: 40px !important;
}
.mt45 {
	margin-top: 45px !important;
}
.mr45 {
	margin-right: 45px !important;
}
.mb45 {
	margin-bottom: 45px !important;
}
.ml45 {
	margin-left: 45px !important;
}
.pt45 {
	padding-top: 45px !important;
}
.pr45 {
	padding-right: 45px !important;
}
.pb45 {
	padding-bottom: 45px !important;
}
.pl45 {
	padding-left: 45px !important;
}
.mt50 {
	margin-top: 50px !important;
}
.mr50 {
	margin-right: 50px !important;
}
.mb50 {
	margin-bottom: 50px !important;
}
.ml50 {
	margin-left: 50px !important;
}
.pt50 {
	padding-top: 50px !important;
}
.pr50 {
	padding-right: 50px !important;
}
.pb50 {
	padding-bottom: 50px !important;
}
.pl50 {
	padding-left: 50px !important;
}
.mt55 {
	margin-top: 55px !important;
}
.mr55 {
	margin-right: 55px !important;
}
.mb55 {
	margin-bottom: 55px !important;
}
.ml55 {
	margin-left: 55px !important;
}
.pt55 {
	padding-top: 55px !important;
}
.pr55 {
	padding-right: 55px !important;
}
.pb55 {
	padding-bottom: 55px !important;
}
.pl55 {
	padding-left: 55px !important;
}
.mt60 {
	margin-top: 60px !important;
}
.mr60 {
	margin-right: 60px !important;
}
.mb60 {
	margin-bottom: 60px !important;
}
.ml60 {
	margin-left: 60px !important;
}
.pt60 {
	padding-top: 60px !important;
}
.pr60 {
	padding-right: 60px !important;
}
.pb60 {
	padding-bottom: 60px !important;
}
.pl60 {
	padding-left: 60px !important;
}
.mt65 {
	margin-top: 65px !important;
}
.mr65 {
	margin-right: 65px !important;
}
.mb65 {
	margin-bottom: 65px !important;
}
.ml65 {
	margin-left: 65px !important;
}
.pt65 {
	padding-top: 65px !important;
}
.pr65 {
	padding-right: 65px !important;
}
.pb65 {
	padding-bottom: 65px !important;
}
.pl65 {
	padding-left: 65px !important;
}
.mt70 {
	margin-top: 70px !important;
}
.mr70 {
	margin-right: 70px !important;
}
.mb70 {
	margin-bottom: 70px !important;
}
.ml70 {
	margin-left: 70px !important;
}
.pt70 {
	padding-top: 70px !important;
}
.pr70 {
	padding-right: 70px !important;
}
.pb70 {
	padding-bottom: 70px !important;
}
.pl70 {
	padding-left: 70px !important;
}
.mt75 {
	margin-top: 75px !important;
}
.mr75 {
	margin-right: 75px !important;
}
.mb75 {
	margin-bottom: 75px !important;
}
.ml75 {
	margin-left: 75px !important;
}
.pt75 {
	padding-top: 75px !important;
}
.pr75 {
	padding-right: 75px !important;
}
.pb75 {
	padding-bottom: 75px !important;
}
.pl75 {
	padding-left: 75px !important;
}
.mt80 {
	margin-top: 80px !important;
}
.mr80 {
	margin-right: 80px !important;
}
.mb80 {
	margin-bottom: 80px !important;
}
.ml80 {
	margin-left: 80px !important;
}
.pt80 {
	padding-top: 80px !important;
}
.pr80 {
	padding-right: 80px !important;
}
.pb80 {
	padding-bottom: 80px !important;
}
.pl80 {
	padding-left: 80px !important;
}
.mt85 {
	margin-top: 85px !important;
}
.mr85 {
	margin-right: 85px !important;
}
.mb85 {
	margin-bottom: 85px !important;
}
.ml85 {
	margin-left: 85px !important;
}
.pt85 {
	padding-top: 85px !important;
}
.pr85 {
	padding-right: 85px !important;
}
.pb85 {
	padding-bottom: 85px !important;
}
.pl85 {
	padding-left: 85px !important;
}
.mt90 {
	margin-top: 90px !important;
}
.mr90 {
	margin-right: 90px !important;
}
.mb90 {
	margin-bottom: 90px !important;
}
.ml90 {
	margin-left: 90px !important;
}
.pt90 {
	padding-top: 90px !important;
}
.pr90 {
	padding-right: 90px !important;
}
.pb90 {
	padding-bottom: 90px !important;
}
.pl90 {
	padding-left: 90px !important;
}
.mt95 {
	margin-top: 95px !important;
}
.mr95 {
	margin-right: 95px !important;
}
.mb95 {
	margin-bottom: 95px !important;
}
.ml95 {
	margin-left: 95px !important;
}
.pt95 {
	padding-top: 95px !important;
}
.pr95 {
	padding-right: 95px !important;
}
.pb95 {
	padding-bottom: 95px !important;
}
.pl95 {
	padding-left: 95px !important;
}
.mt100 {
	margin-top: 100px !important;
}
.mr100 {
	margin-right: 100px !important;
}
.mb100 {
	margin-bottom: 100px !important;
}
.ml100 {
	margin-left: 100px !important;
}
.pt100 {
	padding-top: 100px !important;
}
.pr100 {
	padding-right: 100px !important;
}
.pb100 {
	padding-bottom: 100px !important;
}
.pl100 {
	padding-left: 100px !important;
}
@media all and (min-width: 768px) {
	.pcMt0 {
		margin-top: 0 !important;
	}
	.pcMr0 {
		margin-right: 0 !important;
	}
	.pcMb0 {
		margin-bottom: 0 !important;
	}
	.pcMl0 {
		margin-left: 0 !important;
	}
	.pcPt0 {
		padding-top: 0 !important;
	}
	.pcPr0 {
		padding-right: 0 !important;
	}
	.pcPb0 {
		padding-bottom: 0 !important;
	}
	.pcPl0 {
		padding-left: 0 !important;
	}
	.pcMt5 {
		margin-top: 5px !important;
	}
	.pcMr5 {
		margin-right: 5px !important;
	}
	.pcMb5 {
		margin-bottom: 5px !important;
	}
	.pcMl5 {
		margin-left: 5px !important;
	}
	.pcPt5 {
		padding-top: 5px !important;
	}
	.pcPr5 {
		padding-right: 5px !important;
	}
	.pcPb5 {
		padding-bottom: 5px !important;
	}
	.pcPl5 {
		padding-left: 5px !important;
	}
	.pcMt10 {
		margin-top: 10px !important;
	}
	.pcMr10 {
		margin-right: 10px !important;
	}
	.pcMb10 {
		margin-bottom: 10px !important;
	}
	.pcMl10 {
		margin-left: 10px !important;
	}
	.pcPt10 {
		padding-top: 10px !important;
	}
	.pcPr10 {
		padding-right: 10px !important;
	}
	.pcPb10 {
		padding-bottom: 10px !important;
	}
	.pcPl10 {
		padding-left: 10px !important;
	}
	.pcMt15 {
		margin-top: 15px !important;
	}
	.pcMr15 {
		margin-right: 15px !important;
	}
	.pcMb15 {
		margin-bottom: 15px !important;
	}
	.pcMl15 {
		margin-left: 15px !important;
	}
	.pcPt15 {
		padding-top: 15px !important;
	}
	.pcPr15 {
		padding-right: 15px !important;
	}
	.pcPb15 {
		padding-bottom: 15px !important;
	}
	.pcPl15 {
		padding-left: 15px !important;
	}
	.pcMt20 {
		margin-top: 20px !important;
	}
	.pcMr20 {
		margin-right: 20px !important;
	}
	.pcMb20 {
		margin-bottom: 20px !important;
	}
	.pcMl20 {
		margin-left: 20px !important;
	}
	.pcPt20 {
		padding-top: 20px !important;
	}
	.pcPr20 {
		padding-right: 20px !important;
	}
	.pcPb20 {
		padding-bottom: 20px !important;
	}
	.pcPl20 {
		padding-left: 20px !important;
	}
	.pcMt25 {
		margin-top: 25px !important;
	}
	.pcMr25 {
		margin-right: 25px !important;
	}
	.pcMb25 {
		margin-bottom: 25px !important;
	}
	.pcMl25 {
		margin-left: 25px !important;
	}
	.pcPt25 {
		padding-top: 25px !important;
	}
	.pcPr25 {
		padding-right: 25px !important;
	}
	.pcPb25 {
		padding-bottom: 25px !important;
	}
	.pcPl25 {
		padding-left: 25px !important;
	}
	.pcMt30 {
		margin-top: 30px !important;
	}
	.pcMr30 {
		margin-right: 30px !important;
	}
	.pcMb30 {
		margin-bottom: 30px !important;
	}
	.pcMl30 {
		margin-left: 30px !important;
	}
	.pcPt30 {
		padding-top: 30px !important;
	}
	.pcPr30 {
		padding-right: 30px !important;
	}
	.pcPb30 {
		padding-bottom: 30px !important;
	}
	.pcPl30 {
		padding-left: 30px !important;
	}
	.pcMt35 {
		margin-top: 35px !important;
	}
	.pcMr35 {
		margin-right: 35px !important;
	}
	.pcMb35 {
		margin-bottom: 35px !important;
	}
	.pcMl35 {
		margin-left: 35px !important;
	}
	.pcPt35 {
		padding-top: 35px !important;
	}
	.pcPr35 {
		padding-right: 35px !important;
	}
	.pcPb35 {
		padding-bottom: 35px !important;
	}
	.pcPl35 {
		padding-left: 35px !important;
	}
	.pcMt40 {
		margin-top: 40px !important;
	}
	.pcMr40 {
		margin-right: 40px !important;
	}
	.pcMb40 {
		margin-bottom: 40px !important;
	}
	.pcMl40 {
		margin-left: 40px !important;
	}
	.pcPt40 {
		padding-top: 40px !important;
	}
	.pcPr40 {
		padding-right: 40px !important;
	}
	.pcPb40 {
		padding-bottom: 40px !important;
	}
	.pcPl40 {
		padding-left: 40px !important;
	}
	.pcMt45 {
		margin-top: 45px !important;
	}
	.pcMr45 {
		margin-right: 45px !important;
	}
	.pcMb45 {
		margin-bottom: 45px !important;
	}
	.pcMl45 {
		margin-left: 45px !important;
	}
	.pcPt45 {
		padding-top: 45px !important;
	}
	.pcPr45 {
		padding-right: 45px !important;
	}
	.pcPb45 {
		padding-bottom: 45px !important;
	}
	.pcPl45 {
		padding-left: 45px !important;
	}
	.pcMt50 {
		margin-top: 50px !important;
	}
	.pcMr50 {
		margin-right: 50px !important;
	}
	.pcMb50 {
		margin-bottom: 50px !important;
	}
	.pcMl50 {
		margin-left: 50px !important;
	}
	.pcPt50 {
		padding-top: 50px !important;
	}
	.pcPr50 {
		padding-right: 50px !important;
	}
	.pcPb50 {
		padding-bottom: 50px !important;
	}
	.pcPl50 {
		padding-left: 50px !important;
	}
	.pcMt55 {
		margin-top: 55px !important;
	}
	.pcMr55 {
		margin-right: 55px !important;
	}
	.pcMb55 {
		margin-bottom: 55px !important;
	}
	.pcMl55 {
		margin-left: 55px !important;
	}
	.pcPt55 {
		padding-top: 55px !important;
	}
	.pcPr55 {
		padding-right: 55px !important;
	}
	.pcPb55 {
		padding-bottom: 55px !important;
	}
	.pcPl55 {
		padding-left: 55px !important;
	}
	.pcMt60 {
		margin-top: 60px !important;
	}
	.pcMr60 {
		margin-right: 60px !important;
	}
	.pcMb60 {
		margin-bottom: 60px !important;
	}
	.pcMl60 {
		margin-left: 60px !important;
	}
	.pcPt60 {
		padding-top: 60px !important;
	}
	.pcPr60 {
		padding-right: 60px !important;
	}
	.pcPb60 {
		padding-bottom: 60px !important;
	}
	.pcPl60 {
		padding-left: 60px !important;
	}
	.pcMt65 {
		margin-top: 65px !important;
	}
	.pcMr65 {
		margin-right: 65px !important;
	}
	.pcMb65 {
		margin-bottom: 65px !important;
	}
	.pcMl65 {
		margin-left: 65px !important;
	}
	.pcPt65 {
		padding-top: 65px !important;
	}
	.pcPr65 {
		padding-right: 65px !important;
	}
	.pcPb65 {
		padding-bottom: 65px !important;
	}
	.pcPl65 {
		padding-left: 65px !important;
	}
	.pcMt70 {
		margin-top: 70px !important;
	}
	.pcMr70 {
		margin-right: 70px !important;
	}
	.pcMb70 {
		margin-bottom: 70px !important;
	}
	.pcMl70 {
		margin-left: 70px !important;
	}
	.pcPt70 {
		padding-top: 70px !important;
	}
	.pcPr70 {
		padding-right: 70px !important;
	}
	.pcPb70 {
		padding-bottom: 70px !important;
	}
	.pcPl70 {
		padding-left: 70px !important;
	}
	.pcMt75 {
		margin-top: 75px !important;
	}
	.pcMr75 {
		margin-right: 75px !important;
	}
	.pcMb75 {
		margin-bottom: 75px !important;
	}
	.pcMl75 {
		margin-left: 75px !important;
	}
	.pcPt75 {
		padding-top: 75px !important;
	}
	.pcPr75 {
		padding-right: 75px !important;
	}
	.pcPb75 {
		padding-bottom: 75px !important;
	}
	.pcPl75 {
		padding-left: 75px !important;
	}
	.pcMt80 {
		margin-top: 80px !important;
	}
	.pcMr80 {
		margin-right: 80px !important;
	}
	.pcMb80 {
		margin-bottom: 80px !important;
	}
	.pcMl80 {
		margin-left: 80px !important;
	}
	.pcPt80 {
		padding-top: 80px !important;
	}
	.pcPr80 {
		padding-right: 80px !important;
	}
	.pcPb80 {
		padding-bottom: 80px !important;
	}
	.pcPl80 {
		padding-left: 80px !important;
	}
	.pcMt85 {
		margin-top: 85px !important;
	}
	.pcMr85 {
		margin-right: 85px !important;
	}
	.pcMb85 {
		margin-bottom: 85px !important;
	}
	.pcMl85 {
		margin-left: 85px !important;
	}
	.pcPt85 {
		padding-top: 85px !important;
	}
	.pcPr85 {
		padding-right: 85px !important;
	}
	.pcPb85 {
		padding-bottom: 85px !important;
	}
	.pcPl85 {
		padding-left: 85px !important;
	}
	.pcMt90 {
		margin-top: 90px !important;
	}
	.pcMr90 {
		margin-right: 90px !important;
	}
	.pcMb90 {
		margin-bottom: 90px !important;
	}
	.pcMl90 {
		margin-left: 90px !important;
	}
	.pcPt90 {
		padding-top: 90px !important;
	}
	.pcPr90 {
		padding-right: 90px !important;
	}
	.pcPb90 {
		padding-bottom: 90px !important;
	}
	.pcPl90 {
		padding-left: 90px !important;
	}
	.pcMt95 {
		margin-top: 95px !important;
	}
	.pcMr95 {
		margin-right: 95px !important;
	}
	.pcMb95 {
		margin-bottom: 95px !important;
	}
	.pcMl95 {
		margin-left: 95px !important;
	}
	.pcPt95 {
		padding-top: 95px !important;
	}
	.pcPr95 {
		padding-right: 95px !important;
	}
	.pcPb95 {
		padding-bottom: 95px !important;
	}
	.pcPl95 {
		padding-left: 95px !important;
	}
	.pcMt100 {
		margin-top: 100px !important;
	}
	.pcMr100 {
		margin-right: 100px !important;
	}
	.pcMb100 {
		margin-bottom: 100px !important;
	}
	.pcMl100 {
		margin-left: 100px !important;
	}
	.pcPt100 {
		padding-top: 100px !important;
	}
	.pcPr100 {
		padding-right: 100px !important;
	}
	.pcPb100 {
		padding-bottom: 100px !important;
	}
	.pcPl100 {
		padding-left: 100px !important;
	}
}
@media all and (max-width: 767px) {
	.spMt0 {
		margin-top: 0 !important;
	}
	.spMr0 {
		margin-right: 0 !important;
	}
	.spMb0 {
		margin-bottom: 0 !important;
	}
	.spMl0 {
		margin-left: 0 !important;
	}
	.spPt0 {
		padding-top: 0 !important;
	}
	.spPr0 {
		padding-right: 0 !important;
	}
	.spPb0 {
		padding-bottom: 0 !important;
	}
	.spPl0 {
		padding-left: 0 !important;
	}
	.spMt5 {
		margin-top: 5px !important;
	}
	.spMr5 {
		margin-right: 5px !important;
	}
	.spMb5 {
		margin-bottom: 5px !important;
	}
	.spMl5 {
		margin-left: 5px !important;
	}
	.spPt5 {
		padding-top: 5px !important;
	}
	.spPr5 {
		padding-right: 5px !important;
	}
	.spPb5 {
		padding-bottom: 5px !important;
	}
	.spPl5 {
		padding-left: 5px !important;
	}
	.spMt10 {
		margin-top: 10px !important;
	}
	.spMr10 {
		margin-right: 10px !important;
	}
	.spMb10 {
		margin-bottom: 10px !important;
	}
	.spMl10 {
		margin-left: 10px !important;
	}
	.spPt10 {
		padding-top: 10px !important;
	}
	.spPr10 {
		padding-right: 10px !important;
	}
	.spPb10 {
		padding-bottom: 10px !important;
	}
	.spPl10 {
		padding-left: 10px !important;
	}
	.spMt15 {
		margin-top: 15px !important;
	}
	.spMr15 {
		margin-right: 15px !important;
	}
	.spMb15 {
		margin-bottom: 15px !important;
	}
	.spMl15 {
		margin-left: 15px !important;
	}
	.spPt15 {
		padding-top: 15px !important;
	}
	.spPr15 {
		padding-right: 15px !important;
	}
	.spPb15 {
		padding-bottom: 15px !important;
	}
	.spPl15 {
		padding-left: 15px !important;
	}
	.spMt20 {
		margin-top: 20px !important;
	}
	.spMr20 {
		margin-right: 20px !important;
	}
	.spMb20 {
		margin-bottom: 20px !important;
	}
	.spMl20 {
		margin-left: 20px !important;
	}
	.spPt20 {
		padding-top: 20px !important;
	}
	.spPr20 {
		padding-right: 20px !important;
	}
	.spPb20 {
		padding-bottom: 20px !important;
	}
	.spPl20 {
		padding-left: 20px !important;
	}
	.spMt25 {
		margin-top: 25px !important;
	}
	.spMr25 {
		margin-right: 25px !important;
	}
	.spMb25 {
		margin-bottom: 25px !important;
	}
	.spMl25 {
		margin-left: 25px !important;
	}
	.spPt25 {
		padding-top: 25px !important;
	}
	.spPr25 {
		padding-right: 25px !important;
	}
	.spPb25 {
		padding-bottom: 25px !important;
	}
	.spPl25 {
		padding-left: 25px !important;
	}
	.spMt30 {
		margin-top: 30px !important;
	}
	.spMr30 {
		margin-right: 30px !important;
	}
	.spMb30 {
		margin-bottom: 30px !important;
	}
	.spMl30 {
		margin-left: 30px !important;
	}
	.spPt30 {
		padding-top: 30px !important;
	}
	.spPr30 {
		padding-right: 30px !important;
	}
	.spPb30 {
		padding-bottom: 30px !important;
	}
	.spPl30 {
		padding-left: 30px !important;
	}
	.spMt35 {
		margin-top: 35px !important;
	}
	.spMr35 {
		margin-right: 35px !important;
	}
	.spMb35 {
		margin-bottom: 35px !important;
	}
	.spMl35 {
		margin-left: 35px !important;
	}
	.spPt35 {
		padding-top: 35px !important;
	}
	.spPr35 {
		padding-right: 35px !important;
	}
	.spPb35 {
		padding-bottom: 35px !important;
	}
	.spPl35 {
		padding-left: 35px !important;
	}
	.spMt40 {
		margin-top: 40px !important;
	}
	.spMr40 {
		margin-right: 40px !important;
	}
	.spMb40 {
		margin-bottom: 40px !important;
	}
	.spMl40 {
		margin-left: 40px !important;
	}
	.spPt40 {
		padding-top: 40px !important;
	}
	.spPr40 {
		padding-right: 40px !important;
	}
	.spPb40 {
		padding-bottom: 40px !important;
	}
	.spPl40 {
		padding-left: 40px !important;
	}
	.spMt45 {
		margin-top: 45px !important;
	}
	.spMr45 {
		margin-right: 45px !important;
	}
	.spMb45 {
		margin-bottom: 45px !important;
	}
	.spMl45 {
		margin-left: 45px !important;
	}
	.spPt45 {
		padding-top: 45px !important;
	}
	.spPr45 {
		padding-right: 45px !important;
	}
	.spPb45 {
		padding-bottom: 45px !important;
	}
	.spPl45 {
		padding-left: 45px !important;
	}
	.spMt50 {
		margin-top: 50px !important;
	}
	.spMr50 {
		margin-right: 50px !important;
	}
	.spMb50 {
		margin-bottom: 50px !important;
	}
	.spMl50 {
		margin-left: 50px !important;
	}
	.spPt50 {
		padding-top: 50px !important;
	}
	.spPr50 {
		padding-right: 50px !important;
	}
	.spPb50 {
		padding-bottom: 50px !important;
	}
	.spPl50 {
		padding-left: 50px !important;
	}
	.spMt55 {
		margin-top: 55px !important;
	}
	.spMr55 {
		margin-right: 55px !important;
	}
	.spMb55 {
		margin-bottom: 55px !important;
	}
	.spMl55 {
		margin-left: 55px !important;
	}
	.spPt55 {
		padding-top: 55px !important;
	}
	.spPr55 {
		padding-right: 55px !important;
	}
	.spPb55 {
		padding-bottom: 55px !important;
	}
	.spPl55 {
		padding-left: 55px !important;
	}
	.spMt60 {
		margin-top: 60px !important;
	}
	.spMr60 {
		margin-right: 60px !important;
	}
	.spMb60 {
		margin-bottom: 60px !important;
	}
	.spMl60 {
		margin-left: 60px !important;
	}
	.spPt60 {
		padding-top: 60px !important;
	}
	.spPr60 {
		padding-right: 60px !important;
	}
	.spPb60 {
		padding-bottom: 60px !important;
	}
	.spPl60 {
		padding-left: 60px !important;
	}
	.spMt65 {
		margin-top: 65px !important;
	}
	.spMr65 {
		margin-right: 65px !important;
	}
	.spMb65 {
		margin-bottom: 65px !important;
	}
	.spMl65 {
		margin-left: 65px !important;
	}
	.spPt65 {
		padding-top: 65px !important;
	}
	.spPr65 {
		padding-right: 65px !important;
	}
	.spPb65 {
		padding-bottom: 65px !important;
	}
	.spPl65 {
		padding-left: 65px !important;
	}
	.spMt70 {
		margin-top: 70px !important;
	}
	.spMr70 {
		margin-right: 70px !important;
	}
	.spMb70 {
		margin-bottom: 70px !important;
	}
	.spMl70 {
		margin-left: 70px !important;
	}
	.spPt70 {
		padding-top: 70px !important;
	}
	.spPr70 {
		padding-right: 70px !important;
	}
	.spPb70 {
		padding-bottom: 70px !important;
	}
	.spPl70 {
		padding-left: 70px !important;
	}
	.spMt75 {
		margin-top: 75px !important;
	}
	.spMr75 {
		margin-right: 75px !important;
	}
	.spMb75 {
		margin-bottom: 75px !important;
	}
	.spMl75 {
		margin-left: 75px !important;
	}
	.spPt75 {
		padding-top: 75px !important;
	}
	.spPr75 {
		padding-right: 75px !important;
	}
	.spPb75 {
		padding-bottom: 75px !important;
	}
	.spPl75 {
		padding-left: 75px !important;
	}
	.spMt80 {
		margin-top: 80px !important;
	}
	.spMr80 {
		margin-right: 80px !important;
	}
	.spMb80 {
		margin-bottom: 80px !important;
	}
	.spMl80 {
		margin-left: 80px !important;
	}
	.spPt80 {
		padding-top: 80px !important;
	}
	.spPr80 {
		padding-right: 80px !important;
	}
	.spPb80 {
		padding-bottom: 80px !important;
	}
	.spPl80 {
		padding-left: 80px !important;
	}
	.spMt85 {
		margin-top: 85px !important;
	}
	.spMr85 {
		margin-right: 85px !important;
	}
	.spMb85 {
		margin-bottom: 85px !important;
	}
	.spMl85 {
		margin-left: 85px !important;
	}
	.spPt85 {
		padding-top: 85px !important;
	}
	.spPr85 {
		padding-right: 85px !important;
	}
	.spPb85 {
		padding-bottom: 85px !important;
	}
	.spPl85 {
		padding-left: 85px !important;
	}
	.spMt90 {
		margin-top: 90px !important;
	}
	.spMr90 {
		margin-right: 90px !important;
	}
	.spMb90 {
		margin-bottom: 90px !important;
	}
	.spMl90 {
		margin-left: 90px !important;
	}
	.spPt90 {
		padding-top: 90px !important;
	}
	.spPr90 {
		padding-right: 90px !important;
	}
	.spPb90 {
		padding-bottom: 90px !important;
	}
	.spPl90 {
		padding-left: 90px !important;
	}
	.spMt95 {
		margin-top: 95px !important;
	}
	.spMr95 {
		margin-right: 95px !important;
	}
	.spMb95 {
		margin-bottom: 95px !important;
	}
	.spMl95 {
		margin-left: 95px !important;
	}
	.spPt95 {
		padding-top: 95px !important;
	}
	.spPr95 {
		padding-right: 95px !important;
	}
	.spPb95 {
		padding-bottom: 95px !important;
	}
	.spPl95 {
		padding-left: 95px !important;
	}
	.spMt100 {
		margin-top: 100px !important;
	}
	.spMr100 {
		margin-right: 100px !important;
	}
	.spMb100 {
		margin-bottom: 100px !important;
	}
	.spMl100 {
		margin-left: 100px !important;
	}
	.spPt100 {
		padding-top: 100px !important;
	}
	.spPr100 {
		padding-right: 100px !important;
	}
	.spPb100 {
		padding-bottom: 100px !important;
	}
	.spPl100 {
		padding-left: 100px !important;
	}
}
.w0em {
	width: 0 !important;
}
.w1em {
	width: 1em !important;
}
.w2em {
	width: 2em !important;
}
.w3em {
	width: 3em !important;
}
.w4em {
	width: 4em !important;
}
.w5em {
	width: 5em !important;
}
.w6em {
	width: 6em !important;
}
.w7em {
	width: 7em !important;
}
.w8em {
	width: 8em !important;
}
.w9em {
	width: 9em !important;
}
.w10em {
	width: 10em !important;
}
.w11em {
	width: 11em !important;
}
.w12em {
	width: 12em !important;
}
.w13em {
	width: 13em !important;
}
.w14em {
	width: 14em !important;
}
.w15em {
	width: 15em !important;
}
.w16em {
	width: 16em !important;
}
.w17em {
	width: 17em !important;
}
.w18em {
	width: 18em !important;
}
.w19em {
	width: 19em !important;
}
.w20em {
	width: 20em !important;
}
.w0p {
	width: 0 !important;
}
.w5p {
	width: 5% !important;
}
.w10p {
	width: 10% !important;
}
.w15p {
	width: 15% !important;
}
.w20p {
	width: 20% !important;
}
.w25p {
	width: 25% !important;
}
.w30p {
	width: 30% !important;
}
.w35p {
	width: 35% !important;
}
.w40p {
	width: 40% !important;
}
.w45p {
	width: 45% !important;
}
.w50p {
	width: 50% !important;
}
.w55p {
	width: 55% !important;
}
.w60p {
	width: 60% !important;
}
.w65p {
	width: 65% !important;
}
.w70p {
	width: 70% !important;
}
.w75p {
	width: 75% !important;
}
.w80p {
	width: 80% !important;
}
.w85p {
	width: 85% !important;
}
.w90p {
	width: 90% !important;
}
.w95p {
	width: 95% !important;
}
.w100p {
	width: 100% !important;
}
.alignLeft {
	text-align: left !important;
}
.alignCenter {
	text-align: center !important;
}
.alignRight {
	text-align: right !important;
}
.vaTop {
	vertical-align: top !important;
}
.vaMiddle {
	vertical-align: middle !important;
}
.vaBottom {
	vertical-align: bottom !important;
}
.posR {
	position: relative !important;
}
.fzSS {
	font-size: 1.2rem;
}
.fzS {
	font-size: 1.2rem;
}
@media all and (max-width: 767px) {
	.fzS {
		font-size: 1.3rem;
	}
}
.fzM {
	font-size: 1.6rem;
}
@media all and (max-width: 767px) {
	.fzM {
		font-size: 1.6rem;
	}
}
.fzL {
	font-size: 1.8rem;
}
@media all and (max-width: 767px) {
	.fzL {
		font-size: 1.7rem;
	}
}
.fzXL {
	font-size: 2rem;
}
@media all and (max-width: 767px) {
	.fzXL {
		font-size: 1.8rem;
	}
}
.fzXXL {
	font-size: 2.2rem;
}
@media all and (max-width: 767px) {
	.fzXXL {
		font-size: 2.2rem;
	}
}
.lhS {
	line-height: 1.3;
}
.lhL {
	line-height: 2.3;
}
.lsL {
	letter-spacing: 0.12em;
}
.colorRed {
	color: #f33a00;
}
.colorOrange {
	color: #f39700;
}
.colorBrown {
	color: #93744b;
}
.colorPink {
	color: #f37ca8;
}
.colorGreen {
	color: #89c523;
}
.colorGray {
	color: #999;
}
.fwN {
	font-weight: normal !important;
}
.fwB {
	font-weight: bold !important;
}
.imeD {
	ime-mode: disabled !important;
}
.textLabel {
	background-color: #fff;
	border: #ccc 1px solid;
	font-size: 1.2rem;
	font-weight: bold;
	margin-left: 15px;
	padding: 3px 8px;
	vertical-align: 0.15em;
}
_:-ms-input-placeholder,:root .textLabel {
	padding: 4px 8px 0;
}
.displayNone {
	display: none;
}
.displayInlineBlock {
	display: inline-block;
}
.displayBlock {
	display: block;
}
@media all and (min-width: 768px) {
	.pcHide {
		display: none;
	}
}
@media all and (max-width: 767px) {
	.spHide {
		display: none;
	}
}
@media all and (min-width: 768px) {
	.pcSmall {
		margin-left: auto;
		margin-right: auto;
		max-width: 300px;
	}
	.pcMiddle {
		margin-left: auto;
		margin-right: auto;
		max-width: 750px;
	}
}
.textIndent {
	display: -webkit-flex;
	display: flex;
}
.textIndent .indent {
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
}
.textIndent .text {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}
@media all and (max-width: 767px) {
	.spFlexGrow1 {
		-webkit-flex-grow: 1 !important;
		flex-grow: 1 !important;
	}
}

/* formparts ---------------------------------------------------------------- */
.textarea,.selectbox {
	border: 2px solid #7d7d7d;
	border-radius: 7px;
	height: 52px;
	line-height: 1.3;
	width: 100%;
}
.inputText {
	background-color: #fffdf0;
	border: 2px solid #7d7d7d;
	border-radius: 7px;
	height: 52px;
	line-height: 1.3;
	width: 100%;
}
.inputTextOthers {
	border: 2px solid #7d7d7d;
	border-radius: 5px;
	height: 30px;
	line-height: 1.3;
	/*width: 100%;*/
}
.inputText.checkError,.textarea.checkError,.selectbox.checkError,.inputTextOthers.checkError {
	/*background-color: #ffebe6 !important;
	border-color: #f33a00 !important;*/
	background-color: #ffdfdf;
}

.formItemFirst {
	/* 特になし */
}
.formItem:not(:first-of-type) {
	border-top: 2px dotted #ccc;
	margin-top: 25px;
	padding-top: 14px;
}
.formItem:not(:first-of-type).marginNarrow {
	margin-top: 12px;
}
.is-complete .formItem:not(:first-of-type) {
	margin-top: 15px;
}
.formItemWrapper {
	margin-bottom: 25px;
}
.formItemWrapper.is-complete {
	margin-bottom: 50px;
}
.formItemHeading {
	/*color: #93744b;*/
	font-size: 1.8rem;
	font-weight: bold;
}
.formItemSubHeading {
	margin-bottom: 5px;
}
.formItemUnit {
	margin-top: 10px;
}
.formItemUnit.marginNarrow {
	margin-top: 3px;
}
.formItemColumn {
	-webkit-align-items: flex-start;
	align-items: flex-start;
	display: -webkit-flex;
	display: flex;
	margin-left: -15px;
	margin-right: -15px;
	padding-bottom: 3px;
}
.formItemColumnCol {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	margin-left: 15px;
	margin-right: 15px;
}
.formItemColumnCol.fixed {
	-webkit-flex: 0 1 auto;
	flex: 0 1 auto;
}
.formItemColumnCol.vaMiddle {
	-webkit-align-self: center;
	align-self: center;
}
.formItemColumn[data-col="2"] .formItemColumnCol {
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	width: calc(50% - 15px * 2);
}
.colWideZip {
	max-width: 170px;
	width: 100%;
}
.colWideAm {
	max-width: 400px;
	width: 100%;
}
.colWide250 {
	max-width: 250px;
	width: 100%;
}
.colWideTel {
	width: calc(33% - (36px * 2 / 3));
}
.colWideDate1 {
	width: calc(33% - (36px * 2 / 3));
}
.colWideDate2 {
	width: calc(33% - (36px * 3 / 3));
}
.required {
	background-color: #f33a00;
	border-radius: 4px;
	color: #fff;
	display: inline-block;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1;
	padding: 2px 8px 3px;
	vertical-align: 0.2em;
}
.required.posRight {
	margin-left: 10px;
}
.inputTextRead {
	background-color: #e6e6e6;
	border: 1px solid #e6e6e6;
	border-radius: 7px;
	line-height: 1.3;
	padding: 16px 14px;
}
.inputTextRead.zip {
	max-width: 100px;
	width: 100%;
}
.inputText {
	padding: 11px 14px;
}
.inputText.inputed {
	background-color: #fff;
	border-color: #ccc;
}
.inputTextOthers {
	padding: 5px 7px;
}
.inputTextOthers.inputed {
	background-color: #fff;
	border-color: #ccc;
}
.textarea {
	line-height: 1.5;
	max-width: 100%;
	min-height: calc(4em * 1.6 + 11px * 2);
	padding: 11px 14px;
	vertical-align: top;
}
.textarea.inputed {
	background-color: #fff;
	border-color: #ccc;
}

/* 1. 親：個々のチェックボックスとテキストのセットを正しく並べる */
.checkboxWrapper {
    position: relative;
    display: block;    /* 縦並びを維持 */
    margin-right: 10px !important;
    margin-top: 4px !important;
    cursor: pointer;
    line-height: 1.5;
    /* padding-leftを消して、中身の並びで位置を決めます */
    padding-left: 0; 
}

/* 2. 本体：ここを「基準点」に設定する */
.checkbox {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: none;
    background: #fff; /* チェック前でも白にする */
    border: 2px solid #808080;
    border-radius: 2px;
    box-sizing: border-box;
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle; /* テキストとの高さを合わせる */
    margin-right: 3px;      /* テキストとの隙間 */
    
    /* 【重要】ここをrelativeにすることで、レ点がこの枠の中に吸い寄せられます */
    position: relative; 
    z-index: 3;
}

/* 3. レ点：絶対配置の基準を「.checkbox」の中に強制的に固定する */
/* 以前の .checkboxWrapper:after から書き換えます */
.checkbox:after {
    border-bottom: 4px solid #f33a00;
    border-right: 4px solid #f33a00;
    content: "";
    height: 12px;
    width: 8px;
    position: absolute;
    
    /* 枠の左上(0,0)からの距離。枠内中央にくる数値です */
    left: 5px; 
    top: 2px; 
    
    transform: rotate(35deg) skew(-10deg, 0deg);
    -webkit-transform: rotate(35deg) skew(-10deg, 0deg);
    z-index: 5;
    display: none; /* デフォルトは隠す */
}

/* 4. チェックされた時だけレ点を表示する */
.checkbox:checked:after {
    display: block;
}

/* 5. 白背景：不要なら消してもOKですが、入れるなら同様に設定 */
.checkbox:before {
    background: #fff;
    content: "";
    height: 18px;
    width: 18px;
    position: absolute;
    left: 0;
    top: 0; 
    z-index: 4;
    display: none;
}

.checkbox:checked:before {
    display: block;
}

.checkboxWrapper.child {
	margin-right: 10px !important;
}

.checkbox:checked {
	box-shadow: none;
}
.checkbox::-ms-check {
	background: none;
	color: transparent;
}
.checkbox:disabled {
	/*border: 2px solid #cccccc;*/
	box-shadow: none;
	background-color: #e6e6e6;
}
.indentCheckbox {
	margin-left: 38px !important;
}
.radioGroup {
	display: -webkit-flex;
	display: flex;
}

/* 1. ラジオボタン本体：これが全ての基準点（磁石） */
.radio {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;       /* 初期状態の背景は白 */
    border: 2px solid #808080;
    border-radius: 50%;     /* 丸い枠にする */
    box-sizing: border-box;
    width: 22px;
    height: 22px;
    display: inline-block;
    vertical-align: middle;
    margin-right: 8px;
    position: relative;     /* これが中の●の基準になる */
    z-index: 3;
    outline: none;
}

/* 2. 中の丸（●）：初期状態は隠しておく */
.radio:after {
    content: "";
    position: absolute;
    background: #f33a00;    /* チェック時の赤い丸 */
    border-radius: 50%;
    
    /* 枠(22px)の中に収まるサイズ */
    width: 12px;
    height: 12px;
    
    /* 枠内の真ん中に固定（22pxの枠、2pxの線、12pxの丸ならこの数値がベスト） */
    left: 3px; 
    top: 3px; 
    
    display: none;          /* 通常は隠す */
    z-index: 4;
}

/* 3. チェックされた時だけ中の●を表示 */
.radio:checked:after {
    display: block;
}

/* 4. ラジオボタン専用のWrapper（もしあれば。テキストとの並び用） */
.radioWrapper {
    position: relative;
    display: block;
    cursor: pointer;
    line-height: 1.5;
}

.radio:checked {
	box-shadow: none;
}
.radio::-ms-check {
	background: none;
	color: transparent;
}
.radioGroup > * + * {
	margin-left: 60px;
}
@media all and (max-width: 767px) {
	.radioGroup > * + * {
		margin-left: 50px;
	}
}
.selectboxWrapper {
	display: block;
	position: relative;
}
.selectboxWrapper::after {
	border-left: 1px solid #4d4d4d;
	border-top: 1px solid #4d4d4d;
	content: "";
	display: block;
	height: 10px;
	pointer-events: none;
	position: absolute;
	right: 15px;
	top: calc(50% - 7px);
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	width: 10px;
}
.selectboxWrapper select::-ms-expand {
	display: none;
}
.selectbox {
	padding: 11px 40px 11px 14px;
}
.selectbox.inputed {
	background-color: #fff;
	border-color: #ccc;
}
.lastInputCounter {
	background-color: #ffebe6;
	border: 2px solid #ea8b71;
	border-radius: 7px;
	font-weight: bold;
	line-height: 1.2;
	line-height: 1.5;
	margin: 0 auto 23px;
	max-width: 500px;
	padding: 15px 15px;
	position: relative;
}
.lastInputCounter::before {
	border: 12px solid transparent;
	border-bottom: none;
	border-top: 16px solid #ea8b71;
	content: "";
	left: 50%;
	margin-left: -12px;
	position: absolute;
	top: 100%;
}
.lastInputCounter::after {
	border: 12px solid transparent;
	border-bottom: none;
	border-top: 16px solid #ffebe6;
	content: "";
	left: 50%;
	margin-left: -12px;
	position: absolute;
	top: calc(100% - 2px);
}
.counterInfo {
	-webkit-align-items: flex-end;
	align-items: flex-end;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	margin-bottom: 10px;
}
.counterIcon {
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	margin-right: 5px;
}
.counterNumber {
	color: #f33a00;
	font-size: 2.9rem;
	margin: 0 10px -0.25em;
}
.counterButtonWrapper {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
	max-width: 100%;
	width: 300px;
}
.checkMessege {
	background: #f33a00;
	border-radius: 7px;
	color: #fff;
	display: inline-block;
	line-height: 1;
	margin-top: 14px;
	padding: 14px 10px 15px;
	position: relative;
}
.checkMessege::before {
	border-color: transparent transparent #f33a00 transparent;
	border-style: solid;
	border-width: 0 6px 10px 6px;
	content: "";
	display: block;
	height: 0;
	left: 28px;
	position: absolute;
	top: -9px;
	width: 0;
}
.checkMessege a {
	color: #fff;
}
@media all and (max-width: 767px) {
	.chartWrapper {
		margin-left: -5px;
		margin-right: -5px;
	}
}
@media all and (max-width: 413px) {
	.chartWrapper {
		margin-left: -10px;
		margin-right: -10px;
	}
}
.chartHeading {
	/*color: #93744b;*/
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.4;
	text-align: center;
}
.chartList {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-top: 15px;
	position: relative;
	z-index: 1;
}
@media all and (min-width: 768px) {
	.chartList {
		-webkit-justify-content: center;
		justify-content: center;
		margin-left: -14px;
		margin-right: -14px;
	}
}
.chartItem {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	position: relative;
}
@media all and (min-width: 768px) {
	.chartItem {
		padding: 0 14px;
	}
}
.chartItem:last-child .chartItemCircle::after {
	display: none;
}
.chartItemCircle {
	font-size: 0;
	margin-bottom: 5px;
	position: relative;
	/*width: 70px;*/
	width: 55px;
}
@media all and (max-width: 321px) {
	.chartItemCircle {
		width: 55px;
		/*width: 50px;*/
	}
}
@media all and (min-width: 768px) {
	.chartItemCircle {
		width: 70px;
		/*width: 50px;*/
	}
}
.chartItemCircle::before {
	content: "";
	display: inline-block;
	padding-top: 100%;
}
.chartItemCircle::after {
	background: #ccc;
	content: "";
	display: block;
	height: 7px;
	left: 50%;
	opacity: 0.5;
	position: absolute;
	top: calc(50% - 3px);
	width: 120%;
	z-index: -1;
}
.chartItemCircle .inner {
	-webkit-align-items: center;
	align-items: center;
	background: #fff;
	border-radius: 100%;
	bottom: 0;
	color: #ccc;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: center;
	justify-content: center;
	left: 0;
	line-height: 1;
	position: absolute;
	right: 0;
	top: 0;
}
.chartItemCircle .inner::before {
	border: 2px dotted #ccc;
	border-radius: 100%;
	bottom: 5px;
	content: "";
	display: block;
	left: 5px;
	position: absolute;
	right: 5px;
	top: 5px;
}
.chartItemCircle .step {
	font-size: 1rem;
	font-weight: bold;
}
.chartItemCircle .num {
	font-size: 2.0rem;
	font-weight: bold;
}
@media all and (max-width: 321px) {
	.chartItemCircle .num {
		font-size: 1.8rem;
	}
}
@media all and (min-width: 768px) {
	.chartItemCircle .num {
		font-size: 2.2rem;
	}
}

.chartItemLabel {
	color: #999;
	font-size: 1.1rem;
	line-height: 1.384;
	text-align: center;
}
@media all and (max-width: 321px) {
	.chartItemLabel {
		font-size: 1.1rem;
	}
}
@media all and (min-width: 768px) {
	.chartItemLabel {
		font-size: 1.4rem;
	}
}

@media all and (max-width: 767px) {
	.chartList3 {
		margin-left: auto;
		margin-right: auto;
		max-width: 230px;
	}
}
@media all and (max-width: 767px) {
	.chartList3 .chartItem {
		width: 20%;
	}
}

@media all and (max-width: 767px) {
	.chartList4 {
		margin-left: auto;
		margin-right: auto;
		max-width: 470px;
	}
}
@media all and (max-width: 767px) {
	.chartList4 .chartItem {
		width: 20%;
	}
}

.current .chartItemCircle .inner {
	/*background-color: #f37ca8;*/
	/*background-color: #7c8bf2;*/
	background-color: #2e4e99;
	color: #fff;
}
.current .chartItemCircle .inner::before {
	border-color: #fff;
}
.current .chartItemLabel {
	/*color: #f37ca8;*/
	/*color: #7c8bf2;*/
	color: #2e4e99;
	font-weight: bold;
}
.end .chartItemCircle::after {
	background-color: #f37ca8;
}
.end .chartItemCircle .inner {
	color: #f37ca8;
}
.end .chartItemCircle .inner::before {
	border-color: #f37ca8;
}
.uploadBoxButton {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: flex;
	padding-left: 0.5em;
}
@media all and (max-width: 321px) {
	.uploadBoxButton {
		-webkit-flex-direction: column;
		flex-direction: column;
	}
}
.uploadBoxButton .button {
	cursor: pointer;
	-webkit-flex: 0 0 162px;
	flex: 0 0 162px;
	margin-right: 10px;
	overflow: hidden;
	padding-bottom: 3px;
	position: relative;
}
.uploadBoxButton .button input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	border-radius: 0;
	cursor: pointer;
	display: none;
	font-family: inherit;
	font-size: 0;
	height: 100%;
	left: 0;
	line-height: 0;
	margin: 0;
	opacity: 0;
	padding: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 10;
}
.uploadBoxButton .button input:disabled {
	cursor: default;
}
@media all and (max-width: 321px) {
	.uploadBoxButton .button {
		-webkit-flex: 1 1 auto;
		flex: 1 1 auto;
		margin: 10px;
	}
}
.uploadBoxButton .fileName {
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	font-size: 1.3rem;
	min-width: 1%;
	word-break: break-all;
}
.lineHeading {
	background-image: linear-gradient(-45deg, #fcfaf4 8.33333%, #faf3e9 8.33333%, #faf3e9 16.66667%, #fcfaf4 16.66667%, #fcfaf4 25%, #faf3e9 25%, #faf3e9 33.33333%, #fcfaf4 33.33333%, #fcfaf4 41.66667%, #faf3e9 41.66667%, #faf3e9 50%, #fcfaf4 50%, #fcfaf4 58.33333%, #faf3e9 58.33333%, #faf3e9 66.66667%, #fcfaf4 66.66667%, #fcfaf4 75%, #faf3e9 75%, #faf3e9 83.33333%, #fcfaf4 83.33333%, #fcfaf4 91.66667%, #faf3e9 91.66667%);
	background-size: 44px 44px;
	color: #4d4d4d;
	margin: 0 0 25px;
	padding: 18px 20px;
	text-align: center;
}
.section .lineHeading {
	margin-left: -20px;
	margin-right: -20px;
}
.borderHeading {
	border-left: 4px solid #f39700;
	color: #f39700;
	font-size: 2.2rem;
	margin: 0 0 10px;
	padding: 5px 0 6px 12px;
}
.middleHeading {
	color: #93744b;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin: 0 0 5px;
}
.middleHeading.hasDisc {
	padding-left: 16px;
	position: relative;
}
.middleHeading.hasDisc::before {
	background-color: #93744b;
	border-radius: 50%;
	content: "";
	height: 5px;
	left: 0;
	margin-top: -2px;
	position: absolute;
	top: 0.82em;
	width: 5px;
}
.hasDiscContents {
	padding-left: 16px;
}
.methodHeading {
	-webkit-align-items: flex-start;
	align-items: flex-start;
	display: -webkit-flex;
	display: flex;
	font-weight: bold;
	margin: 0 0 5px;
}
.methodHeading .method {
	background: #89c523;
	border-radius: 30px;
	color: #fff;
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	margin-right: 4px;
	min-width: 74px;
	padding: 0 4px 2px;
	text-align: center;
}
.methodHeading .text {
	color: #89c523;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
}
.applicationHeading {
	background-color: #fff;
	color: #93744b;
	font-size: 2.2rem;
	letter-spacing: 0.12;
	line-height: 1.2;
	margin: 0 0 20px;
	position: relative;
	text-align: center;
	z-index: 0;
}
.applicationHeading::before {
	background: #fbf5ee;
	border-radius: 100%;
	content: "";
	height: 368px;
	left: calc(50% - 184px);
	position: absolute;
	top: -33px;
	width: 368px;
	z-index: -1;
}
.bgOrange .applicationHeading {
	margin-left: -20px;
	margin-right: -20px;
	margin-top: -20px;
}
.stepHeading {
	background: #2e4e99;
	color: #fff;
	display: -webkit-flex;
	display: flex;
	font-size: 1.8rem;
	letter-spacing: 0.05em;
	line-height: 1.30555;
	margin: 0 0 5px;
}
.section .stepHeading {
	margin-left: -20px;
	margin-right: -20px;
	padding-left: 20px;
	padding-right: 20px;
}
.stepHeadingInner {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	min-height: 60px;
	padding: 7px 0;
}
.stepHeadingStep {
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	margin-right: 0.5em;
}

/* lists ---------------------------------------------------------------- */
.hrNavi {
	background: #f39700;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	list-style: none;
	padding: 0;
}
.hrNavi.fixed {
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 100;
}
.hrNavi > li {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	max-width: 200px;
	position: relative;
	width: 100%;
}
.hrNavi > li::after {
	border-right: 2px dotted #fff;
	bottom: 14px;
	content: "";
	display: block;
	position: absolute;
	right: 0;
	top: 14px;
}
.hrNavi > li:last-child::after {
	display: none;
}
.hrNaviLink {
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.266;
	padding: 12px 6px;
	text-align: center;
	text-decoration: none;
}
.hrNavi3 > li {
	width: 33.33%;
}
.discList {
	list-style: none;
	padding: 0;
}
.discList > li {
	padding-left: 14px;
	position: relative;
}
.discList > li::before {
	background: #999;
	border-radius: 100%;
	content: "";
	display: block;
	height: 5px;
	left: 0;
	position: absolute;
	top: 11px;
	width: 5px;
}
@media all and (min-width: 768px) {
	.discList > li::before {
		top: 14px;
	}
}
.stepList {
	padding: 0;
	position: relative;
}
.stepList::before {
	background: #f37ca8;
	bottom: 0;
	content: "";
	display: block;
	left: 36px;
	opacity: 0.5;
	position: absolute;
	top: 0;
	width: 7px;
}
.stepList > li {
	display: -webkit-flex;
	display: flex;
	position: relative;
}
.stepList > li + li {
	margin-top: 25px;
}
.stepListStep {
	-webkit-align-items: center;
	align-items: center;
	-webkit-align-self: flex-start;
	align-self: flex-start;
	background: #f37ca8;
	border-radius: 100%;
	color: #fff;
	display: -webkit-flex;
	display: flex;
	-webkit-flex: 0 0 81px;
	flex: 0 0 81px;
	-webkit-flex-direction: column;
	flex-direction: column;
	font-weight: bold;
	height: 81px;
	-webkit-justify-content: center;
	justify-content: center;
	line-height: 1;
	margin-right: 23px;
	position: relative;
	width: 81px;
}
.stepListStep::before {
	border: 2px dotted #fff;
	border-radius: 100%;
	bottom: 5px;
	content: "";
	left: 5px;
	pointer-events: none;
	position: absolute;
	right: 5px;
	top: 5px;
}
.stepListStep .step {
	font-size: 1.0rem;
	margin-bottom: 4px;
}
.stepListStep .num {
	font-size: 2.0rem;
}
.stepListStep .start {
	font-size: 1.6rem;
	margin-bottom: 1px;
}
.stepListText {
	-webkit-align-self: center;
	align-self: center;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	margin-top: -4px;
	min-width: 1%;
	min-width: 1%;
}
.stepListText .heading {
	color: #f37ca8;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.3;
}
.stepListText .headingSmall {
	font-size: 1.6rem;
}
.borderBox {
	border: 2px solid #ecd5b4;
	border-radius: 6px;
	padding: 20px 20px 15px;
}
.bgBox {
	background: #f2f2f2;
	border-radius: 6px;
	padding: 20px 20px 20px;
}
.bgBox.bg-orange {
	background-color: #fbf5ee;
}
.uploadBoxCol {
	background: #f9f9f9;
	border: 2px solid #ccc;
	border-radius: 7px;
	padding: 12px 10px 20px 40px;
	position: relative;
}
.uploadBoxCol.active {
	background-color: #fbf5ee;
	border-color: #f39700;
}
.uploadBoxCol.active .uploadBoxRadio::before {
	display: block;
}
.uploadBoxCol + .uploadBoxCol {
	margin-top: 20px;
}
.uploadBoxCol:not(.active) .uploadBoxError {
	display: none;
}
.uploadBoxCol:not(.active) .uploadBoxButton {
	display: none;
}
.uploadBoxCol:not(.active) .uploadBoxHeading {
	color: #808080;
}
.uploadBoxCol:not(.active) .uploadBoxText {
	color: #808080;
	margin-bottom: 0;
}
.uploadBoxHeading {
	font-size: 1.6rem;
	font-weight: bold;
	margin: 0 0 10px;
}
.uploadBoxText {
	font-size: 1.6rem;
	line-height: 1.46875;
	margin: 0 0 10px;
	padding-left: 0.5em;
}
.uploadBoxError {
	color: #f33a00;
	margin: 0;
	padding-left: 0.5em;
}
.uploadBoxRadio {
	background: #fff;
	border: 2px solid #808080;
	border-radius: 2px;
	height: 22px;
	left: 15px;
	pointer-events: none;
	position: absolute;
	top: 15px;
	width: 22px;
}
.uploadBoxRadio::before {
	border-bottom: 4px solid #f33a00;
	border-right: 4px solid #f33a00;
	content: "";
	display: none;
	height: 12px;
	left: 4px;
	position: absolute;
	top: 2px;
	-webkit-transform: skewX(-10deg) rotate(40deg);
	transform: skewX(-10deg) rotate(40deg);
	width: 9px;
}
.grid {
	display: -webkit-flex;
	display: flex;
}
.gridCol {
	display: -webkit-flex;
	display: flex;
}
.gridCol.dBlock {
	display: block;
}
.grid2 {
	margin-left: -11px;
	margin-right: -11px;
}
.grid2 .gridCol {
	padding-left: 11px;
	padding-right: 11px;
	width: 50%;
}
.gridSP1 {
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
}
@media all and (max-width: 767px) {
	.gridSP1 .gridCol {
		width: 100%;
	}
}

/* Buttons ------------------------------------------------------------------ */
.button {
	display: -webkit-flex;
	display: flex;
	font-weight: bold;
	min-width: 147px;
	text-decoration: none;
	width: 100%;
}
.button.wideColFit {
	max-width: 100%;
}
@media all and (max-width: 321px) {
	.button.wideColFit {
		min-width: 100px;
	}
}
.buttonInner {
	-webkit-align-items: center;
	align-items: center;
	/*background-color: #89c523;
	border: 2px solid #89c523;*/
	/*background-color: #ff8000;
	border: 2px solid #ff8000;*/
	background-color: #2e4e99;
	border: 2px solid #2e4e99;
	border-radius: 50px;
	box-shadow: 0 3px 0 #cecece;
	color: #fff;
	display: flex;
	display: -webkit-flex;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-justify-content: center;
	justify-content: center;
	min-height: 52px;
}
.button.typeSystem .buttonInner {
	background-color: #fff;
	/*border-color: #89c523;
	color: #89c523;*/
	/*border-color: #ff8000;
	color: #ff8000;*/
	border-color: #2e4e99;
	color: #2e4e99;
}
.button.typeSystemOrange .buttonInner {
	background-color: #fff;
	border-color: #ff8000;
	color: #ff8000;
}
.button.typeSubmit .buttonInner {
	background-color: #2e4e99;
	border-color: #2e4e99;
	color: #fff;
}
.button.typeSubmitOrange .buttonInner {
	background-color: #ff7000;
	border-color: #ff7000;
	color: #fff;
}
.button.typeLink .buttonInner {
	background-color: #fff;
	border: 2px solid #93744b;
	color: #93744b;
	padding: 0 40px;
	position: relative;
}
.button.typeLink .buttonInner::before {
	border-radius: 3px;
	border-right: 3px solid #93744b;
	border-top: 3px solid #93744b;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	right: 25px;
	top: calc(50% - 5px);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 10px;
}
.button.typeAnchor .buttonInner {
	background-color: #f39700;
	border: 2px solid #f39700;
	color: #fff;
	position: relative;
}
.button.typeAnchor .buttonInner::before {
	border-radius: 3px;
	border-right: 3px solid #fff;
	border-top: 3px solid #fff;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	right: 25px;
	top: calc(50% - 5px);
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
	width: 10px;
}
.button.typeCounterAnchor .buttonInner {
	background-color: #fff;
	border: 2px solid #f33a00;
	color: #f33a00;
	position: relative;
}
.button.typeCounterAnchor .buttonInner::before {
	border-radius: 3px;
	border-right: 3px solid #f33a00;
	border-top: 3px solid #f33a00;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	right: 25px;
	top: calc(50% - 5px);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width: 10px;
}
.button.desabled {
	cursor: default;
	pointer-events: none;
}
.button.desabled .buttonInner {
	background-color: #ccc;
	border-color: #ccc;
	color: #fff;
}
.button.typeClose .buttonInner {
	background-color: #fff;
	border: 2px solid #f39700;
	color: #f39700;
	padding: 0 40px;
	position: relative;
}
.button.typeClose .buttonInner::before {
	border-radius: 3px;
	border-right: 3px solid #f39700;
	border-top: 3px solid #f39700;
	content: "";
	display: block;
	height: 10px;
	position: absolute;
	right: 25px;
	top: calc(50% - 5px);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 10px;
}
.textLink {
	color: #2e73d8;
}

.buttonInnerMenu {
	-webkit-align-items: center;
	align-items: center;
	background-color: #2e4e99;
	border: 2px solid #2e4e99;
	border-radius: 10px;
	box-shadow: 0 3px 0 #cecece;
	color: #fff;
	display: flex;
	display: -webkit-flex;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-justify-content: center;
	justify-content: center;
	min-height: 52px;
}
.button.typeMenu .buttonInnerMenu {
	background-color: #2e4e99;
	border-color: #2e4e99;
	color: #fff;
	font-size: 1.47rem;
}

.buttonInnerPdf {
	-webkit-align-items: center;
	align-items: center;
	background-color: #2e4e99;
	border: 2px solid #2e4e99;
	border-radius: 10px;
	box-shadow: 0 3px 0 #cecece;
	color: #fff;
	display: flex;
	display: -webkit-flex;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	-webkit-justify-content: center;
	justify-content: center;
	min-height: 52px;
}
.button.typePdf .buttonInnerPdf {
	background-color: #ddebf7;
	border-color: #ddebf7;
	color: #4d4d4d;
	font-weight: normal;
	padding-left: 35px;
}

.buttonInnerCopy {
	border-radius: 3px;
	box-shadow: 3px 3px 0 #cecece;
	/*border: 1px solid #4d4d4d;*/
}
.button.typeCopy .buttonInnerCopy {
	margin: 10px 0 0 0;
	padding: 5px 10px;
	background-color: #e6e6e6;
	border-color: #e6e6e6;
	color: #4d4d4d;
	font-weight: normal;
	font-size: 1.4rem;
}

/* modals --------------------------------------------------------------------- */
@-webkit-keyframes modal-open {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes modal-open {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@-webkit-keyframes modal-close {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
@keyframes modal-close {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}
#modalWrapper {
	background: rgba(77, 77, 77, 0.3);
	bottom: 0;
	cursor: pointer;
	display: block;
	height: auto;
	left: 0;
	opacity: 0;
	position: fixed;
	right: 0;
	top: 0;
	transition: opacity 0.3s, visibility 0.3s;
	visibility: hidden;
	width: auto;
	z-index: 800;
}
#modalWrapper.isSyStem {
	cursor: default;
}
.isModalOpen #modalWrapper {
	opacity: 1;
	visibility: visible;
}
.modal {
	-webkit-align-items: center;
	align-items: center;
	display: -webkit-flex;
	display: flex;
	height: 100%;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 20px;
	width: 100%;
}
.modalContents {
	background: #fff;
	border-radius: 14px;
	cursor: default;
	display: block;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	max-height: 80vh;
	overflow: auto;
	padding: 50px 20px 20px;
	position: relative;
}
@media all and (min-width: 768px) {
	.modalContents {
		max-width: 750px;
	}
}
@media all and (max-width: 767px) {
	.modalContents {
		max-width: 100%;
	}
}
.isSyStem .modalContents {
	padding: 20px;
}
.modalCloseLink {
	background: #f2f2f2;
	border-radius: 100%;
	height: 40px;
	line-height: 1;
	position: absolute;
	right: 8px;
	text-align: right;
	top: 8px;
	width: 40px;
}
.modalCloseLink a {
	display: block;
	height: 100%;
	line-height: 1;
	position: relative;
	text-decoration: none;
	width: 100%;
}
.modalCloseLink a::before,.modalCloseLink a::after {
	background-color: #999;
	content: "";
	height: 17px;
	left: 19px;
	position: absolute;
	top: 12px;
	width: 2px;
}
.modalCloseLink a::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.modalCloseLink a::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.cardImage {
	margin-left: auto;
	margin-right: auto;
	max-width: 230px;
}

/* wrapper ------------------------------------------------------------------ */
.wrapper {
	overflow: hidden;
}

/* header ------------------------------------------------------------------- */
.headerLogo {
	/*padding: 17px 20px;*/
	text-align: center;
}
.headerLogo img {
	max-width: 350px;
	height: auto;
	display: block;
	margin: 0 auto;
}

/* footer ------------------------------------------------------------------- */
.footerLogo {
	padding: 22px 20px 12px;
	text-align: center;
}
.footerLogo img {
	height: 26px;
	vertical-align: top;
	width: auto;
}
.footerCopyright {
	font-size: 1rem;
	padding: 0 20px 18px;
	text-align: center;
}

/* contents ----------------------------------------------------------------- */
.contentsMain {
	padding-bottom: 15px;
}

/* sections ----------------------------------------------------------------- */
.section {
	padding-left: 20px;
	padding-right: 20px;
}
.section.bgOrange {
	background-color: #fbf5ee;
	padding-bottom: 50px;
	padding-top: 20px;
}
.section.bgPink {
	background-color: #e3e9f7;
	padding-bottom: 25px;
	padding-top: 25px;
}
.sectionInner {
	margin: 0 auto;
	max-width: 750px;
}

/* top page ----------------------------------------------------------------- */
@media all and (max-width: 767px) {
	.topImage1 {
		margin-left: auto;
		margin-right: auto;
		max-width: 270px;
	}
}
.chartArrow {
	height: 28px;
	position: absolute;
	width: 26px;
}
.chartArrow::before {
	background: #f9cb80;
	bottom: 3px;
	content: "";
	display: block;
	left: calc(50% - 4px);
	position: absolute;
	top: 0;
	width: 8px;
}
.chartArrow::after {
	border-color: #f9cb80 transparent transparent transparent;
	border-style: solid;
	border-width: 13px 14px 0 14px;
	bottom: 0;
	content: "";
	display: block;
	display: block;
	height: 0;
	left: calc(50% - 14px);
	position: absolute;
	width: 0;
}
.chartStart {
	background: #89663b;
	border-radius: 7px;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
	padding: 12px 10px;
	position: relative;
	text-align: center;
}
.chartStart .chartArrow:nth-child(1) {
	bottom: 0;
	left: 25%;
	margin-left: -19px;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
.chartStart .chartArrow:nth-child(2) {
	bottom: 0;
	left: 75%;
	margin-left: -8px;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
.chartReply {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	margin-bottom: 30px;
}
.chartReplyCol {
	background: #89c523;
	border-radius: 7px;
	color: #fff;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	max-width: calc(50% - 11px);
	min-width: calc(50% - 11px);
	padding: 12px 10px;
	position: relative;
	text-align: center;
}
.chartReplyCol .chartArrow {
	bottom: 0;
	left: 50%;
	margin-left: -13px;
	-webkit-transform: translateY(100%);
	transform: translateY(100%);
}
.chartReplyNo {
	color: #fff;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	flex: 1 1 auto;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.46875;
	max-width: calc(50% - 11px);
	min-width: calc(50% - 11px);
	position: relative;
	text-align: center;
}
.chartReplyNo .chartArrow {
	bottom: 0;
	height: auto;
	left: 50%;
	margin-left: -13px;
	top: 0;
}
.chartReplyNo .inner {
	background: #f39700;
	border-radius: 7px;
	padding: 12px 10px;
	position: relative;
	z-index: 1;
}
.chartReplyYes {
	color: #fff;
	-webkit-flex: 1 1 auto;
	flex: 1 1 auto;
	flex: 1 1 auto;
	font-weight: bold;
	max-width: calc(50% - 11px);
	min-width: calc(50% - 11px);
	text-align: center;
}
.chartReplyYes .inner {
	background: #fbf5ee;
	border-radius: 7px;
	padding: 14px 12px;
}
.chartReplyYes .button {
	font-size: 1.5rem;
	line-height: 1.333;
	text-align: left !important;
}
.chartReplyYes .buttonInner {
	border-radius: 7px;
	padding: 9px 15px 11px 12px !important;
}
.chartReplyYes .buttonInner::before {
	bottom: 10px !important;
	right: 9px !important;
	top: auto !important;
}
#application .inputText {
	background-color: #fffdf0;
}
.termScroll {
	background-color: #fff;
	font-size: 1.4rem;
	height: 200px;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 20px;
}
.termScroll dl {
	margin: 0;
	padding: 0;
}
.termScroll dl dt {
	font-weight: bold;
	margin: 1.5em 0 0 0;
}
.termScroll dl dt:first-child {
	margin-top: 0;
}
.termScroll dl dd {
	margin: 0.5em 0 0 0;
}
.termScroll dl p {
	margin: 0;
}
.termScroll dl ul {
	list-style: none;
	margin: 0.5em 0 0 0;
	padding: 0;
}
.termScroll dl ol {
	list-style: decimal;
	margin: 0.5em 0 0 20px;
	padding: 0;
}
.termScroll dl li {
	margin-top: 0.25em;
}

/* add ysd --------------------------------------------------------------------- */
.memberInfo {
	border-color: #f37ca8 !important;
	border: solid;
	border-radius: 25px;
	min-height: 50px;
	font-size: small;
	display: -webkit-flex;
	display: flex;
	width: 100%;
	padding-left: 20px;
	margin-bottom: 20px;
	color: #4d4d4d;
}

.memberInfo .memberInfoWrap {
	margin: 0;
	vertical-align: middle;
	display: -webkit-flex;
	display: flex;
	min-height: 50px;
	width: 100%;
	flex: 1 1 auto;
	align-items: center;
}

.memberInfo .memberInfoWrap span {
	margin: 0;
	vertical-align: middle;
	display: -webkit-flex;
	display: flex;
	align-items: center;
}

.memberInfo .memberInfoWrap .memberItem {
	margin-right: 1.5em;
}

.caution {
	color: #f33a00;
}

.bankList {
	list-style-type: circle;
    list-style-position: inside;
    padding-left: 15px;
    width: 60%;
    color: #f39700;
    background-color: #fbf5ee;
    border: 2px solid #ecd5b4;
    border-radius: 7px;
    padding: 10px;
    padding-left: 20px;
}

.bankList li {
}

.bankList li a {
	color: #4d4d4d;
	text-decoration: none;
}

.bankList li a:hover {
	text-decoration: underline;
	color: #f33a00;
}

.selectTab {
	margin-bottom: 20px;
}

.selectTab span {
	display: inline-block;
	margin-right: 4px;
}

.selectTab span a {
	font-size: larger;
	font-weight: bold;
	color: #93744b;
}

.selectTab span.select-btn-selected a {
	color: #f37ca8;
	text-decoration: none;
}

.selectTab span a:hover {
	color: #f33a00;
}

/*------------------------------【ボックス設定】---*/

/* メイン内のbox（色あり） */
.inBox{
	margin: 0 auto;
	width: 95%;	
	padding:10px;
	/*margin-bottom:10px;*/
	border:1px solid #a9a9a9;
	background-color:#FFF;
}
.inBox-nb{
	margin: 0 auto;
	width: 95%;	
	padding:10px 10px 5px 0px;
	background-color:#FFF;
}

/* メイン内のbox（色なし） */
.inBox-skeleton{
	margin: 0 auto;
	margin-top:5px;
	width: 100%;
	text-align:center;	/* 内容を中央寄せ */
}

/* フロー用ボックス */
.flowBox{
	margin: 0 auto;
	padding: 5px;
	width: 95%;
	border:1px solid #a9a9a9;
	background-color:#f2f2f2;
	background-color: #ddebf7;
}

.centerBox{
	margin: 0 auto;
	width: 100%;
	text-align:center;	/* 内容を中央寄せ */
	line-height: 1.0;
}

/* 注意事項等スクロールボックス */
.scrollBox{
	width: 100%;
	overflow:hidden;
	max-height:200px;
	overflow:auto;
}

/*---------------------------------*/
.checkPositionLabel{
	padding-left: 15px;
}

.gray{
	color: grey;
}

/* 大分類先頭ライン */
.area_header::before {
	content: "";
	position: absolute;
	left: 0px;
	width: 8px;
	height: calc(100% - 10px);
	/*background-color:#ED7D31;*/
	/*background-color:#ff8000;*/
	/*background-color:#7c8bf2;*/
	background-color:#2e4e99;
}
/* 大分類 */
.area_header {
	/*color: #93744b;*/
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.2;
	position: relative;
	padding-top: 10px;
	padding-left: 12px;
	padding-bottom: 5px;
	margin-top: 20px;
	margin-bottom: 1.3rem !important;
	/*border-bottom: 2px solid #ED7D31;*/
	/*border-bottom: 2px solid #ff8000;*/
	/*border-bottom: 2px solid #7c8bf2;*/
	border-bottom: 2px solid #2e4e99;
}

.area_header.note {
	margin-bottom: 5px !important;
}

/* 枠組み用（大分類内最初の項目） */
.dl_area_first {
	border-top:1px solid #ccc;
	margin-top: 15px;
}

/* 枠組み用（項目単位） */
dl {
	display: table;
	width: 100%;
	border: 1px solid #ccc;
	border-top: none;
	margin: 0px;
}
/* 枠組み用（項目ヘッダ） */
dt {
	/*width: 100%;*/
	font-size: 1.6rem;
	font-weight: bold;
	padding: 10px 10px 10px 10px;
	background: #f5f5f5;
	/*margin-right: 10px;*/
	vertical-align: middle;
}
/* 枠組み用（項目内容） */
dd {
	margin: 15px 10px 20px 10px;
}
dt.agreement {
	background: #4d6ccd;
	color: #fff;
}
dd.agreement {
	margin: 15px 10px 15px 10px;
}
dt.agreement-check {
	font-weight: normal;
	text-align: center;
	white-space:normal;
	width: 100%;
	background: #ddebf7;
}

dt.faq {
	font-weight: normal;
}

/* ツールチップ */
.tooltip {
	--_bg: #696969;
	--_color: #fff;
	--_triangle-size: 5px;
	--_gap: -1px;

	position: absolute;
	z-index: 1;
	display: block;

	width: max-content;
	max-width: 250px;
	padding: 10px;
	background-color: var(--_bg);
	color: var(--_color);
	text-align: left;
	border-radius: 5px;
	font-size: 12px;

	visibility: hidden;
	opacity: 0;
}

.tooltip.-top {
	bottom: calc(100% + var(--_triangle-size) + var(--_gap));
	left: 50%;
	translate: -50% var(--_y, 0);
}
@media all and (min-width: 768px) {
	.tooltip.-top {
	bottom: calc(100% + var(--_triangle-size) + var(--_gap));
	left: 20%;
	translate: -50% var(--_y, 0);
}
}
.tooltip.-bottom {
	top: calc(100% + var(--_triangle-size) + var(--_gap));
	/*left: 50%;*/
	left: 30%;
	translate: -50% var(--_y, 0);
}

.tooltip::before {
	position: absolute;
	margin: auto;
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
}
.tooltip.-top::before {
	bottom: calc(var(--_triangle-size) * -1);
	/*right: 5px;*/
	left: 5;
	border-width: var(--_triangle-size) var(--_triangle-size) 0 var(--_triangle-size);
	border-color: var(--_bg) transparent transparent transparent;
}
.tooltip.-bottom::before {
	top: calc(var(--_triangle-size) * -1);
	right: calc(var(--_triangle-size) * 1);
	/*left: 0;*/
	/*left: calc(var(--_triangle-size) * 1);*/
	border-width: 0 var(--_triangle-size) var(--_triangle-size) var(--_triangle-size);
	border-color: transparent transparent var(--_bg) transparent;
}
@media all and (min-width: 768px) {
	.tooltip.-top::before {
		bottom: calc(var(--_triangle-size) * -1);
		right: 90%;
		border-width: var(--_triangle-size) var(--_triangle-size) 0 var(--_triangle-size);
		border-color: var(--_bg) transparent transparent transparent;
	}
}
.tooltip::after {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.tooltip.-top::after {
	top: 100%;
	left: 0;
	height: calc(var(--_triangle-size) + var(--_gap));
}
.tooltip.-bottom::after {
	bottom: 100%;
	left: 0;
	height: calc(var(--_triangle-size) + var(--_gap));
}

.tooltipContainer {
	position: relative;
	display: inline-block;
	width: 100%;
}
.tooltipContainer:is(:hover, :focus-visible, :focus-within, :active) > .tooltip {
	visibility: visible;
	opacity: 1;
}

.showTooltip {
	visibility: visible;
	opacity: 1;
}

.white-space-normal {
	white-space:normal;
}

ol.list-style-type-none {
	margin: 0;
	padding: 0
}
ol.list-style-type-none li {
	list-style: none;
	padding-left: 1.3em;
	/*text-indent: -1.3em;*/
}

.underline {
	text-decoration: underline;
}

p.indent{
	text-indent: 1.2em;
	margin-bottom: 0;
}

.tooltipTitle {
	/*color: #4d4d4d;*/
	color: #0563C1;
	text-decoration: underline;
}

.tooltipTitleWrapper {
	position: relative;
}

.tooltipTitleWrapperChild {
	position: absolute;
	right: 0px;
	top: 0px;
}

.recommendation {
	background-color: #FFE699;
	border-radius: 4px;
	color: #000;
	display: inline-block;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1;
	padding: 6px;
	/*vertical-align: 0.2em;*/
}
.recommendation.posRight {
	margin-left: 10px;
}

.pdfImgWrapper {
	position: relative;
}
.pdfImg {
	position: absolute;
	left: -27px;
	top: -7px;
}

.float_l {
	float: left;
}
.float_r {
	float: right;
}

.box {
    padding:0 1rem;
    border: 1px solid #a9a9a9;
    border-box: box-sizing;
    background-color: #f2f2f2;
    background-color: #ddebf7;
    width: 95%;
    margin: 0 auto;
}
.box::before {
    display: inline-block;
    margin: 0 0 0.6rem -1rem;
    padding: 0.3rem;
    background-color: #a9a9a9;
    background-color: #9BC2E6;
    color: white;
    content: attr(data-title);
}
.box p {
    padding-left: 1rem;
    margin-bottom: 10px;
}

.boxNt {
    padding:1.5rem 1rem 0rem 1rem;
    border: 1px solid #a9a9a9;
    border-box: box-sizing;
    background-color: #f2f2f2;
    background-color: #ddebf7;
    width: 95%;
    margin: 0 auto;
}
.boxNt p {
	padding-left: 1rem;
	margin-bottom: 10px;
}

.flowImg {
	height: 100px;
	width: auto;
}

.fewDaysWrapper {
	position: relative;
}
.fewDays {
	position: absolute;
	left: 60%;
	top: 10%;
}

.red {
	color: red;
}

.noteBox{
	margin: 0 auto;
	padding: 5px;
	border:1px solid #a9a9a9;
	background-color:#f2f2f2;
	background-color: #ddebf7;
}

.noteBox-mail{
	margin: 0 auto;
	padding: 12px 15px;
	border:1px solid #a9a9a9;
	background-color:#f2f2f2;
	background-color: #ddebf7;
}

.menuHeading {
	font-size: 1.58rem;
	font-weight: bold;
	padding: 5px 0px 15px 0px;
	text-align: center;
	/*text-decoration: underline;*/
}

a.faq {
	color: #0000EE;
	text-decoration: underline;
	font-size: 1.8rem;
	text-align: center;
}
a.faq:hover {
	text-decoration: underline;
}

a.faqSrc {
	color: #000;
	text-decoration: underline;
	font-size: 1.8rem;
	text-align: center;
}
a.faqSrc:hover {
	text-decoration: underline;
}

.center {
	text-align: center;
}

.accordion {
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
	&:last-of-type {
		border-bottom: 1px solid #ccc;
	} 
}
.accordion-summary {
	cursor: pointer;
	background-color: #f5f5f5;
	padding: 10px;
	font-size: 1em;

	&::-webkit-details-marker {
		display: none
	}
}
.accordion-details {
	padding: 10px;
}

.menuNote {
	font-size: 1.45rem;
}

a.help {
	color: #0000EE;
	text-decoration: underline;
}
a.help:hover {
	text-decoration: underline;
}

a.link {
	color: #0563C1;
	text-decoration: underline;
	font-weight: normal;
}
a.link:hover {
	text-decoration: underline;
}

.tutorialImg {
	height: 175px;
	width: auto;
}
.tutorialImgSm {
	height: 150px;
	width: auto;
}

.itemNote {
	font-size: 1.45rem;
	margin-top: 6px;
}

.noteBoxTitle {
	font-size: 1.7rem;
	font-weight: bold;
	margin-bottom: 5px;
}
.noteBoxText {
	margin-left: 5px;
	margin-right: 5px;
}
.fzLm {
	font-size: 1.67rem;
}

.charType {
	margin-left: 8px;
	font-size: 1.6rem;
	font-weight: normal !important;
}