@charset "utf-8";

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

PC,SP共通

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
/*clearfix*/
.majors_clear:after {
	content: '.';
	height: 0;
	visibility: hidden;
	display: block;
	clear: both;
}
.majors_contents article {
	background: #fff !important;
}

h1 {
	text-align: center;
}

form table tr td:first-child.required:after {
  content: '必須';
  line-height: 1;
  vertical-align: middle;
  color: #ffffff;
  background: #6a7a89;
  border-radius: 10px;
  font-size: 11px;
  padding: 3px 5px;
  float: right;
  margin-right: 20px;
}
.mypage_edit form table tr td:first-child.required:after {
    margin-top: 6px;
}
.check {
	display: inline-block;
}
.check + .check {
  margin-top: 10px;
}
.check .check-item {
  float: left;
}
.check .check-item input[type=radio],
.check .check-item input[type=checkbox] {
  margin-right: 6px;
  display: none;
  margin: 0;
}
.check .check-item input[type=radio]:checked + label:after,
.check .check-item input[type=checkbox]:checked + label:after {
  content: "";
  position: absolute;
  top: 50%;
  box-sizing: border-box;
  display: block;
}
.check .check-item input[type=radio] + label:before {
  border-radius: 30px;
}
.check .check-item input[type=radio]:checked + label:after,
.check .check-item input[type=radio]:checked + input[type=hidden] + label:after {
  left: 3px;
  width: 12px;
  height: 12px;
  margin-top: -6px;
  border-radius: 8px;
  background: #6a7a89;
}
.check .check-item input[type=checkbox]:checked + label:after,
.check .check-item input[type=checkbox]:checked + input[type=hidden] + label:after {
  left: 4px;
  width: 10px;
  height: 8px;
  margin-top: -6px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
form input[type=checkbox]:checked+label:before,
form input[type=checkbox]:checked+input[type=hidden]+label:before {
	background: #6a7a89;
}
.check .check-item label {
  position: relative;
  display: inline-block;
  margin-right: 12px;
  cursor: pointer;
  padding: 0 0 0 24px;
  font-weight: normal;
}
.check .check-item label:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  box-sizing: border-box;
  display: block;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  border: 1px solid #cccccc;
  border-radius: 3px;
}
select {
  font: inherit;
  background: none;
  color: #333;
}
table.custom-form td{
    padding-top:0px;
    line-height:20px;
}
table.custom-form .check .check-item{
    margin-bottom:10px;
}
table.custom-form td:first-child.required:after{
    content: '必須';
    line-height: 1;
    vertical-align: middle;
    color: #ffffff;
    background: #6a7a89;
    border-radius: 10px;
    font-size: 11px;
    padding: 3px 5px;
    float: none;
    margin-left: 10px;
}
table.custom-form input[type=text]{
    margin-bottom:20px;
}

@media (min-width: 768px) {
	/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	header
	＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
	header {
		position: relative;
		color: #fff;
	}
	header a {
		color: #fff;
		text-decoration: none;
	}
	header .majors_main_visual {
		position: relative;
		height: 66px;
		padding-top: 0;
		background-position: center !important;
		background-size: cover;
        background-color: #0065CB;
        background-repeat: no-repeat;
	}
	header .majors_visual_mask {
		position: absolute;
		height: 66px;
		padding-top: 0;
		width: 100%;
		opacity: 0.6;
		top: 0;
		z-index: 5;
	}
	/*　visual_top　*/
	.majors_visual_top .majors_site_logo {
		font-size: 18px;
		font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
		position: absolute;
	}
	.majors_visual_top .majors_nav_area {
		float: right;
	}
	.majors_visual_top .majors_nav_area li {
		float: left;
		margin-left: 10px;
		text-align: center;
	}
	.majors_visual_top .majors_anchor_nav {
		float: left;
		border-right: 1px solid #fff;
		padding-right: 10px;
		margin-top: 5px;
	}
	.majors_visual_top .majors_action_nav {
		float: right;
	}
	.majors_visual_top .majors_action_nav li {
		border: 1px solid #fff;
		padding: 5px 0;
		width: 75px;
	}
    table.custom-form td{
        padding-top:10px;
    }
    
	@media (max-width: 980px) {
		.majors_visual_top .majors_site_logo {
			width: 120px;
		}
	}

	h1 {
		font-size: 24px;
		margin-top: 80px;
		margin-bottom: 35px;
	}

	.procedure_area {
		width: 660px;
		margin: 0 auto;
		position: relative;
		height: 50px;
	}
	.procedure_area.invitation {
		width: 495px;
		margin: 0 auto;
		position: relative;
	}
	.procedure_area .procedure_content {
		position: relative;
		z-index: 4;
	}
	.procedure_area .procedure_content ul {
		list-style-type: none;
		font-weight: bold;
		padding: 0;
	}
	.procedure_area .procedure_content ul li {
		float: left;
		width: 165px;
		text-align: center;
		position: relative;
		color: #cccccc;
	}
	.procedure_area .procedure_content ul li:after {
		content: '';
		width: 15px;
		height: 15px;
		display: block;
		border-radius: 100%;
		background: #cccccc;
		margin: 20px auto 0;
	}
	.procedure_area .procedure_content ul li.now {
		color: #333;
	}
	.procedure_area .procedure_content ul li.now:after {
		background: #333;
	}
	.procedure_area .procedure_line {
		position: absolute;
		top: 40px;
		right: 0;
		bottom: 0;
		left: 0;
		width: 500px;
		height: 2px;
		margin: 0 auto;
		background: #cccccc;
		z-index: 3;
	}

	form {
		margin: 0 auto;
		padding-top: 105px;
		padding-bottom: 75px;
	}
	form table {
		width: 828px;
		margin: 35px auto;
		word-break: break-all;
	}
	form table td {
		padding-top: 10px;
	}
	form table input[type=text],
	form table input[type=email],
	form table input[type=password],
	form table select {
		height: 40px;
		padding: 0 6px;
		border: 1px solid #ddd;
		border-radius: 3px;
		outline: none;
	}
    form > p{
        max-width:828px;
        margin:0 auto;
    }
	.conf {
		text-align: center;
		border-top: 1px solid #ddd;
		margin-top: 50px;
		padding-top: 30px;
	}
	.conf .check .check-item {
		float: none;
		margin: 35px auto;
	}
	.conf [class*=majoro_add_btn]{
		background: #333;
		font-size: 17px;
		display: inline-block;
	}
	.conf a.majors_add_btn_wh{
		background: #333;
		width: 300px;
		padding: 16px 0;
	}
    .conf button.majors_add_btn_wh{
		background: #333;
		width: 300px;
		padding: 9px 0;
        margin:5px;
	}
	.conf .majors_add_btn_br{
		background: #fff;
		width: 300px;
		padding: 8px 0;
        margin:5px;
	}

	.mypage_edit h3 {
		margin-top: 30px;
	}
	.mypage_edit h2 {
		font-size: 18px;
		border-bottom: 1px solid #ddd;
	}
	.mypage_edit .conf .majors_add_btn_wh{
		background: #333;
		width: 300px;
		padding: 9px 0;
        margin:5px;
	}
	.mypage_edit .conf .majors_add_btn_br{
		background: #fff;
		width: 300px;
		padding: 9px 0;
        margin:5px;
	}
}

/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝

SPここから

＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
@media (max-width: 767px) {
	/*＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
	header
	＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/
	header {
		position: relative;
		color: #fff;
	}
	header a {
		color: #fff;
		text-decoration: none;
	}
	header .majors_main_visual {
		position: relative;
		height: 47px;
		background-position: center !important;
		background-size: cover;
        background-color: #0065CB;
        background-repeat: no-repeat;
		padding-top: 0;
	}
	header .majors_visual_mask {
		position: absolute;
		height: 47px;
		width: 100%;
		opacity: 0.6;
		top: 0;
		z-index: 5;
		padding-top: 0;
	}
	/*　visual_top　*/
	.majors_visual_top {
		position: relative;
		z-index: 10;
		margin: 0 auto;
		box-sizing: border-box;
	}
	h1 {
		font-size: 18px;
		margin-top: 40px;
		margin-bottom: 20px;
	}

	.procedure_area {
		width: 320px;
		margin: 0 auto;
		position: relative;
		height: 50px;
	}
	.procedure_area .procedure_content {
		position: relative;
		z-index: 4;
	}
	.procedure_area .procedure_content ul {
		list-style-type: none;
		font-weight: bold;
		padding: 0;
	}
	.procedure_area .procedure_content ul li {
		float: left;
		width: 80px;
		text-align: center;
		position: relative;
		color: #cccccc;
	}
	.procedure_area .procedure_content ul li:after {
		content: '';
		width: 15px;
		height: 15px;
		display: block;
		border-radius: 100%;
		background: #cccccc;
		margin: 20px auto 0;
	}
	.procedure_area .procedure_content ul li.now {
		color: #333;
	}
	.procedure_area .procedure_content ul li.now:after {
		background: #333;
	}
	.procedure_area .procedure_line {
		position: absolute;
		top: 26px;
		right: 0;
		bottom: 0;
		left: 0;
		width: 245px;
		height: 2px;
		margin: 0 auto;
		background: #cccccc;
		z-index: 3;
	}

	form {
		padding: 50px 13px 30px;
		margin: 0 auto;
	}
	form table {
		width: 100%;
		margin: 20px auto;
	}
	form table tr {
		display: block;
		padding-bottom: 10px;
	}
	form table td {
		padding-top: 10px;
		display: block;
		width: 100%;
	}
	form table tr td:first-child.required:after {
	    content: '必須';
	    line-height: 1;
	    vertical-align: middle;
	    color: #ffffff;
	    background: #6a7a89;
	    border-radius: 10px;
	    font-size: 11px;
	    padding: 3px 5px;
	    float: none;
	    margin-left: 10px;
	}
	form table input[type=text],
	form table input[type=email],
	form table input[type=password],
	form table select {
		height: 40px;
		padding: 0 6px;
		border: 1px solid #ddd;
		border-radius: 3px;
		outline: none;
		box-sizing: border-box;
	}
	.conf {
		text-align: center;
		border-top: 1px solid #ddd;
		margin-top: 50px;
		padding-top: 30px;
	}
	.conf .check .check-item {
		float: none;
		margin: 35px auto;
	}
	.conf [class*=majoro_add_btn]{
		background: #333;
		font-size: 17px;
	}
	.conf [class*=majoro_add_btn] + [class*=majoro_add_btn] {
		margin-top: 10px;
	}
	.conf .majors_add_btn_wh{
		background: #333;
		width: 240px;
		padding: 11px 0;
	}
	.conf .majors_add_btn_br{
		background: #fff;
		width: 240px;
		padding: 11px 0;
        margin: 10px;
	}

	.mypage_edit h3 {
		margin-top: 20px;
	}
	.mypage_edit h2 {
		font-size: 16px;
		border-bottom: 1px solid #ddd;
	}
	.mypage_edit .conf .majors_add_btn_wh{
		background: #333;
		width: 240px;
		padding: 10px 0;
        margin: 5px;
	}
	.mypage_edit .conf .majors_add_btn_br{
		background: #fff;
		width: 240px;
		padding: 8px 0;
        margin: 5px;
	}
    .conf a.majors_add_btn_wh{
        line-height:20px;
    }
}
