@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	height: 100%;
	font-size: 14px;
}

body {
	height: 100%;
	font: 14px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo,Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
	line-height: 1.5;
	color: #000000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

input[type="color"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"],
select,
textarea {
	font: 16px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo,Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
}

img {
	max-width: 100%;
}

li {
	list-style: none;
}

a {
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}

input[type="radio"],
input[type="checkbox"] {
	box-sizing: border-box;
	padding: 0;
	vertical-align: middle;
	margin-left: 5px;
	width: 16px;
	height: 16px;
}

input[type="number"],
input[type="tel"] {
	text-align: center;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="tel"]::-webkit-outer-spin-button,
input[type="tel"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

input[type="number"],
input[type="tel"] {
	-moz-appearance: textfield;
}

.text-left {
	text-align: left;
}

.text-center {
	text-align: center;
}

.text-right {
	text-align: right;
}

.pull-left {
	float: left;
}

.pull-right {
	float: right;
}

.w-full {
	width: 100%;
}

.w-15 {
	width: 15px !important;
	display: inline-block;
}

.w-25 {
	width: 25px !important;
	display: inline-block;
}

.w-35 {
	width: 35px !important;
	display: inline-block;
}

.w-45 {
	width: 45px !important;
	display: inline-block;
}

.w-55 {
	width: 55px !important;
	display: inline-block;
}

.w-65 {
	width: 65px !important;
	display: inline-block;
}

.w-100 {
	width: 100px !important;
	display: inline-block;
}

.errMsg {
	margin-left: -10px !important;
	text-indent: 0 !important;
	clear: both;
}

.required label:after {
	content: "※";
	color: #ff0000;
	padding-left: 5px;
}

.required .switch-field label:after {
	content: '';
	color: transparent;
	padding-left: 0;
}

.page-wrap {
	min-height: 100%;
	position: relative;
	max-width: 1024px;
	margin: 0 auto;
	padding: 15px 5px;
}

.login-wrap {
	position: absolute;
	width: 400px;
	left: 50%;
	transform: translate(-50%, -50%);
	top: 50%;
	background: #fff;
	padding: 20px;
	border: 1px solid #e2e2e2;
}

.login-wrap .form-group {
	background: transparent;
}

.login-wrap .help-block {
	color: #ff0000;
}

.login-wrap h2 {
	text-align: center;
	padding: 10px 0;
	font-weight: bold;
	text-transform: uppercase;
}

.physical-fitness-form .form-control {
	display: inline-block;
	padding: 2px 5px;
	line-height: 1.5;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: .25rem;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
	min-height: 32px;
	font: 16px "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo,Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif" !important;
}

.physical-fitness-form .fixed .formErrorContent {
	background: transparent;
	color: #bf0202;
	width: auto;
}

label {
	display: inline-block;
	padding: 2px 5px 2px 0px;
	line-height: 1.5;
	min-height: 32px;
}

.form-group {
	display: block;
	overflow: hidden;
	margin-bottom: 30px;
	background: #f5f5f5;
}

.form-group ul {
	margin-bottom: 5px;
	overflow: hidden;
}

.form-group li {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 5px;
}

.form-group li label {
	padding-right: 0;
}

.heading {
	margin-bottom: 15px;
}

.heading h1 {
	font-size: 30px;
	color: #3F51B5;
	font-weight: bold;
}

.title {
	background: #8BC34A url(../img/title-bg.png) repeat;
	color: #fff;
	padding: 5px;
	height: 40px;
	overflow: hidden;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 32px;
}

.row {
	clear: both;
	overflow: hidden;
	padding: 8px 5px;
}

.row:nth-child(odd) {
	background: #eee;
}

.col-left {
	float: left;
	width: 30%;
}

.col-right {
	float: left;
	width: 70%;
	position: relative;
}

label.col-left {
	font-weight: bold;
}

.exercise-history .col-right ul {
	position: relative;
}

.exercise-history .col-right a.btnAdd {
	position: absolute;
	left: 0;
	top: 7px;
	background: #484848;
	width: 20px;
	height: 20px;
	line-height: 20px;
	border-radius: 100%;
	text-align: center;
	cursor: pointer;
	color: #FFF;
	z-index: 99999;
	text-decoration: none;
}

.exercise-history .col-right a.btnDel {
	position: absolute;
	left: 0;
	top: 7px;
	background: #ff0000;
	width: 20px;
	height: 20px;
	line-height: 20px;
	border-radius: 100%;
	text-align: center;
	cursor: pointer;
	color: #fff;
	z-index: 99999;
	text-decoration: none;
}

.exercise-history .col-right .clone {
	position: relative;
}

.exercise-history .col-right ul li.more-btn a {
	color: #fff;
}

.exercise-history .col-right ul:last-child {
	border-bottom: 0;
}

.unit {
	display: inline-block;
	min-width: 21px;
}

.year-box .unit,
.year-box .unit {
	min-width: inherit;
}

.year-box:before {
	content: "(";
	}

	.year-box:after {
		content: ")";
	}

	#age1 {
		text-align: center;
		margin-right: 5px;
	}

	.dob select {
		border: 1px solid #ced4da;
		border-radius: .25rem;
		padding: 2px 5px;
		min-height: 32px;
	}

	.activity-img {
		margin: 50px 0;
		overflow: hidden;
		text-align: center;
	}

	.activity-img li {
		width: 30%;
		display: inline-block;
		margin: 0 1.5% 30px 1.5%;
		position: relative;
	}

	.activity-img li:nth-child(3n) {
		margin-right: 0;
	}

	.activity-img img {
		margin-bottom: 5px;
		display: inline-block;
	}

	span.act-value {
		font-size: 28px;
		display: block;
		text-align: center;
	}

	.thank-u {
		color: #3F51B5;
		margin-bottom: 2.5rem;
	}

	.btn:hover {
		opacity: 0.8;
	}

	.button-group {
		overflow: hidden;
	}

	.button-group a,
	.button-group .btn-back,
	.btn-default {
		color: #fff;
		text-align: center;
		padding: 10px 40px !important;
		cursor: pointer;
		border-radius: .25rem;
		font-size: 16px !important;
		line-height: 1.5;
		height: 46px !important;
		display: inline-block;
		font-weight: bold !important;
		min-width: 150px;
	}

	.button-group a,
	.button-group .btn-back {
		background: #303030;
	}

	.button-group a:hover,
	.button-group .btn-back:hover {
		opacity: 0.8;
		color: #fff;
		text-decoration: none;
	}

	.btn-default {
		background: #3F51B5;
	}

	.confirm-page .col-left,
	.confirm-page .col-right {
		display: inline-block;
		vertical-align: middle;
		padding: 5px;
	}

	.confirm-btn {
		margin: 0 auto;
		display: block !important;
		border: 0;
		padding: 0 !important;
	}

	.confirm-btn span {
		background: #3F51B5;
	}

	.save-btn span {
		background: #3F51B5;
	}

	.social-share {
		margin-top: 30px;
		text-align: center;
	}

	.social-share li {
		display: inline-block;
		margin-right: 10px;
	}

/**css for radio btn**/

.switch-field input {
	display: none;
}

.switch-field label {
	float: left;
}

.switch-field label {
	display: inline-block;
	background-color: #efefef;
	color: #333;
	font-size: 1em;
	font-weight: normal;
	text-align: center;
	text-shadow: none;
	padding: 4px 10px;
	border: 0.05em solid rgba(0, 0, 0, 0.15);
	-webkit-transition: all 0.1s ease-in-out;
	-moz-transition: all 0.1s ease-in-out;
	-ms-transition: all 0.1s ease-in-out;
	-o-transition: all 0.1s ease-in-out;
	transition: all 0.1s ease-in-out;
}

.switch-field label:hover {
	cursor: pointer;
}

.switch-field input:checked+label {
	background-color: #99ca60;
	color: white;
}

.switch-field label:first-of-type {
	border-radius: 3px 0 0 3px;
}

.switch-field label:last-of-type {
	border-radius: 0 3px 3px 0;
}

/**css for radio btn**/

.physical-fitness-form .col-left {
	padding-top: 6px;
}

.physical-fitness-test .switch-field .pull-right {
	margin-top: -6px;
}

.physical-fitness-test .switch-field label {
	min-width: 35px;
}

.clone1,
.clone2,
.clone3 {
	position: relative;
}

.month-error {
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	position: absolute;
	left: 50%;
	width: 90%;
	text-transform: uppercase;
}

.month-error h1 {
	font-weight: bold;
	color: #F44336;
	font-size: 4rem;
}

.month-error p {
	color: #000;
	font-size: 1.5rem;
}

#err_sex .formErrorContent {
	position: inherit;
}

.complete-page table {
	margin-bottom: 2.5rem;
}

.complete-page table th {
	background: #f3f3f3;
	border-bottom: 1px !important;
}

.chart-group {
	padding-inline: 1rem;
	width: 100%;
	max-width: 768px;
	margin-inline: auto;
}

.chart-container {
	position: relative;
	padding: 1rem;
	border: 1px solid #dee2e6;
}

.chart-container canvas {
	margin-left: auto; 
	margin-right: auto;
	overflow: hidden;
}

.button-group.text-center {
	align-items: center;
	justify-content: center;
	display: flex;
}

.button-group.text-center a {
	margin-right: 5px;
}

.has-error .help-block {
	color: #ff0000;
}

.activity-img li {
	vertical-align: middle;
}

#legend-container ul {
	position: absolute;
	right: 1rem;
}

#legend-container li {
	line-height: 18px;
}

#legend-container li p {
	font-size: 12px;
}

#chartGroup table td.bg-success {
	color: white;
}

.student-info {
	max-width: 768px;
    margin-inline: auto;
	padding-inline: 1rem;
}

.student-info table {
	table-layout: fixed;
}

.student-info table th:nth-of-type(1) {
	width: 45%;
}

.student-info table th:nth-of-type(2) {
	width: 22%;
}

.student-info table th:nth-of-type(3) {
	width: 33%;
}

@media (min-width: 767px) {

	.exercise-history .col-right .w-100,
	.student-information .w-full,
	.course-type .w-full {
		width: 290px !important;
	}

	.physical-fitness-test .switch-field label {
		min-width: 35px;
	}

	.physical-fitness-form .exercise-history li.li-1 {
		margin-left: 35px;
	}

	.physical-fitness-form .exercise-history li.li-2 {
		margin-left: 35px;
	}

	.physical-fitness-form .exercise-history li.li-3 {
		margin-left: 35px;
	}

	.physical-fitness-form .exercise-history .col-left {
		width: 20%;
	}

	.physical-fitness-form .exercise-history .col-right {
		width: 80%;
	}

	.exercise-history .col-right .w-100 {
		width: auto;
	}

	.student-information .w-full {
		width: 50%;
	}

	.student-information .switch-field .pull-right {
		float: left;
	}
}

@media (max-width: 567px) {
	.chart-container canvas {
		margin-inline: auto;
		width: 100% !important;
		height: 100% !important;
	}
}

@media (max-width: 481px) {

	.form-group li.li-1,
	.form-group li.li-2,
	.form-group li.li-3 {
		display: block;
		clear: both;
		width: 100%;
	}

	.form-group li.li-1 .w-100,
	.form-group li.li-2 .w-100,
	.form-group li.li-3 .w-100 {
		width: calc(100% - 75px) !important;
	}

	.col-left {
		width: 40%;
	}

	.col-right {
		width: 60%;
		display: inline-block;
		float: right;
		text-align: right;
	}

	.physical-measurement .col-left,
	.physical-fitness-test .col-left {
		width: 50%;
	}

	.physical-measurement .col-right,
	.physical-fitness-test .col-right {
		width: 50%;
	}

	.physical-fitness-form .physical-fitness-test .col-left {
		width: 55%;
	}

	.physical-fitness-form .physical-fitness-test .col-right {
		width: 45%;
	}

	.exercise-history .col-left {
		width: 100%;
	}

	.exercise-history .col-right {
		width: 100%;
		text-align: inherit;
	}

	.exercise-history li {
		margin-right: 5px;
	}

	.exercise-history .col-right ul {
		padding-left: 5px;
		text-align: right;
	}

	.confirm-page .exercise-history li {
		margin-right: 0;
	}

	.confirm-page .col-left {
		width: 45%;
	}

	.confirm-page .col-right {
		width: 55%;
		text-align: right;
	}

	.confirm-page .physical-fitness-test .col-left,
    .confirm-page .physical-fitness-test .col-right {
        width: 50%;
    }

    .confirm-page .exercise-history ul {
        border-bottom: 1px solid #fff;
    }

    .confirm-page .exercise-history li {
        display: inline-block;
    }

    .confirm-page .exercise-history .col-right li:nth-child(2) {
        margin-left: 0;
    }

    span.act-value {
        font-size: 20px;
    }

    .activity-img li {
        width: 45%;
    }

    .dob label {
        padding: 2px 0px 2px 0px;
    }

    .dob select {
        padding: 2px 1px;
    }

    .physical-fitness-form .student-information .col-left {
        width: 36%;
    }

    .physical-fitness-form .student-information .col-right {
        width: 64%;
    }

    .field-furigana.required label {
        padding-right: 0;
    }

    .field-furigana.required label:after {
        padding-left: 0;
    }

    .confirm-page .year-box {
        display: block;
    }
}

@media (max-width: 320px) {
    .exercise-history li {
        margin-right: 0;
    }

    .confirm-page .exercise-history li {
        font-size: 14px;
    }

    .heading h1 {
        font-size: 26px;
    }

    .thank-u {
        font-size: 2rem;
    }

    .confirm-page .year-box {
        display: block;
    }
}