@charset "UTF-8";

/*-----------------------------------

	headline

-----------------------------------*/

#headline {
    background: url(../img/exam/headline_bg.png) no-repeat right center, #dcdcdb;
	margin-bottom: 25px;
}
#headline span{
	display:block;
	background: #999999;
	font-size: 11px;
    line-height: 1;
    padding: 5px;
    border-radius: 5px;
    color: #fff;
    width: 100px;
    text-align: center;
    font-weight: bold;
}

@media screen and (max-width: 840px) {
    #headline {
        background: url(../img/exam/sp/headline_bg.png) no-repeat right center, #dcdcdb;
/*        background-size: cover;*/
    }
}
@media screen and (max-width: 640px) {
	#headline {
        background: url(../img/exam/sp/headline_bg.png) no-repeat right center, #dcdcdb;
		background-size: contain;
    }
}

/*-----------------------------------

	exam_wrap

-----------------------------------*/
h3 {
	background: #ec7832;
	color: #fff;
	font-size: 20px;
	line-height: 1;
	padding: 15px 20px;
	border-radius: 5px;
	margin-bottom: 20px;
	font-weight: 700;
}
#exam h3:not(:first-of-type) {
	margin-top: 30px;
}
h4 {
	font-size: 18px;
	font-weight: 700;
	margin-bottom: 15px;
}
.gray_wrap {
	background: #f4f3ef;
	border-radius: 10px;
	padding: 20px;
	margin-top: 20px;
}
section {
    padding-bottom: 50px;
}
@media screen and (max-width: 640px) {
    p {
        font-size: 12px;
    }
    h3 {
    	font-size: 16px;
    	line-height: 1;
    	padding: 15px;
    }
    h4 {
    	font-size: 14px;
    }
    section {
        padding-bottom: 30px;
    }
}
/*-- exam_wrap --*/
#exam_wrap {
	padding-bottom: 50px;
}
@media screen and (max-width: 640px) {
    #exam_wrap {
    	padding-bottom: 30px;
    }
}
/*-- exam_wrap01 --*/
#exam_wrap01 .gray_wrap ul li {
	float: left;
	width: 32%;
	margin-right: 2%;
}
#exam_wrap01 .gray_wrap ul li:last-child {
	margin-right: 0;
}
#exam_wrap01 .gray_wrap ul li a{
	display: block;
	background: #fff;
	padding: 20px 0 20px 20px;
	border-radius: 5px;
	line-height: 1;
    text-align: center;
    position: relative;
    letter-spacing: 0;
    font-size: 14px;
    transition: 0.2s;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
}
#exam_wrap01 .gray_wrap ul li a:hover{
    background: #fcf0da;
}
#exam_wrap01 .gray_wrap ul li.mov a {
    padding-left: 70px;
}
#exam_wrap01 .gray_wrap ul li.test a {
    padding-left: 40px;
    padding-right: 40px;
}
#exam_wrap01 .gray_wrap ul li.mov a::before {
    position: absolute;
    content: '\f167';
    font-family: "font awesome 5 brands";
    font-weight: 400;
    display: block;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    background: #ec7832;
    color: #fff;
    border-radius: 50%;
    top: 0;
    bottom: 0;
    left: 10px;
    margin: auto;
}
#exam_wrap01 .gray_wrap ul li.mov a::after {
    content: "動画";
    color: #ec7832;
    display: block;
    width: 30px;
    line-height: 30px;
    height: 30px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 45px;
    margin: auto;
    font-size: 12px;
}
#exam_wrap01 .gray_wrap ul li.test a::before {
    position: absolute;
    content: '\f303';
    font-family: "font awesome 5 free";
    font-weight: 900;
    display: block;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    background: #3b738c;
    color: #fff;
    border-radius: 50%;
    top: 0;
    bottom: 0;
    left: 10px;
    margin: auto;
}
#exam_wrap01 .gray_wrap ul li.test a::after {
    position: absolute;
    content: '';
    background: url(../img/common/nav_arrow.png) no-repeat;
    width: 9px;
    height: 7px;
    top: 0;
    bottom: 0;
    right: 10px;
    margin: auto;
    display: block;
}

@media screen and (max-width: 1200px) {
    #exam_wrap01 .gray_wrap ul li a{
        font-size: 11px;
    }
}
@media screen and (max-width: 1000px) {
    #exam_wrap01 .gray_wrap ul li.mov a {
        padding-left: 40px;
    }
    #exam_wrap01 .gray_wrap ul li.mov a::after {
        content: '';
        width: auto;
        height: auto;
    }
}

@media screen and (max-width: 640px) {

    #exam_wrap01 .gray_wrap ul li {
    	float: none;
    	width: 100%;
    	margin-right: 0;
        margin-bottom: 10px;
    }
    #exam_wrap01 .gray_wrap ul li a{
        font-size: 12px;
    }

}
/*-- exam_wrap02 --*/
#exam_wrap02 .gray_wrap ul li {
	width: 100%;
	margin-bottom: 10px;
}
#exam_wrap02 .gray_wrap ul li:last-child {
	margin-bottom: 0;
}
#exam_wrap02 .gray_wrap ul li a{
	display: block;
	background: #fff;
	padding: 20px;
	border-radius: 5px;
	line-height: 1;
    position: relative;
    letter-spacing: 0;
    font-size: 14px;
    transition: 0.2s;
    -webkit-transition: 0.2s;
    -moz-transition: 0.2s;
    -o-transition: 0.2s;
    -ms-transition: 0.2s;
}
#exam_wrap02 .gray_wrap ul li a:hover{
    background: #fcf0da;
}
#exam_wrap02 .gray_wrap ul li.mov a {
    padding-left: 80px;
}
#exam_wrap02 .gray_wrap ul li.mov a span{
    font-size: 12px;
}
#exam_wrap02 .gray_wrap ul li.mov a::before {
    position: absolute;
    content: '\f167';
    font-family: "font awesome 5 brands";
    font-weight: 400;
    display: block;
    width: 30px;
    height: 30px;
    text-align: center;
    line-height: 30px;
    background: #ec7832;
    color: #fff;
    border-radius: 50%;
    top: 0;
    bottom: 0;
    left: 10px;
    margin: auto;
}
#exam_wrap02 .gray_wrap ul li.mov a::after {
    content: "動画";
    color: #ec7832;
    display: block;
    width: 30px;
    line-height: 30px;
    height: 30px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 45px;
    margin: auto;
    font-size: 12px;
}
@media screen and (max-width: 640px) {

    #exam_wrap02 .gray_wrap ul li a{
        font-size:12px;
    }
    #exam_wrap02 .gray_wrap ul li.mov a span{
        font-size: 10px;
    }

}

/*-- exam_wrap03 --*/
#exam_wrap03 .left,
#exam_wrap03 .right {
    width: 50%;
}
#exam_wrap03 .left ul li{
    float: left;
    width: 44%;
    margin-right: 6%;
    text-align: center;
}
#exam_wrap03 .left ul li p{
    font-size: 12px;
    line-height: 1.4;
}
#exam_wrap03 .left ul li img{
    width: 100%;
}
#exam_wrap03 .right p {
    letter-spacing: 0;
}
#exam_wrap03 .right p span {
    font-size: 12px;
}
#exam_wrap03 .right .sample {
    width: 100%;
    border: 1px solid #f4f3ef;
    border-radius: 10px;
    padding: 15px;
    margin-top: 20px;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
    -webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
    -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
#exam_wrap03 .right .sample img{
    margin-right: 15px;
}
@media screen and (max-width: 1000px) {

    #exam_wrap03 .left ul li p{
        font-size: 10px;
        letter-spacing: 0;
    }

}

@media screen and (max-width: 640px) {

    #exam_wrap03 .left,
    #exam_wrap03 .right {
        width: 100%;
        float: none;
    }
    #exam_wrap03 .left {
        margin-bottom: 20px;
    }
    #exam_wrap03 .left ul li{
        width: 48%;
        margin-right: 4%;
    }
    #exam_wrap03 .left ul li:last-child{
        margin-right: 0;
    }
}

/*-- exam_wrap04 --*/
#exam_wrap04 ul {
	margin-top:15px;
}
#exam_wrap04 .att_box {
	border-top: 1px solid #E5E5E5;
    background: #F4F3EF;
    padding: 10px 50px;
    margin: 20px 0 0 0;
    border-radius: 5px;
		text-align:center;
}
#exam_wrap04 .att_box p {
	display: inline-block;
    text-align: center;
    color: #EC7832;
    font-size: 18px;
    font-weight: 800;
    padding-left: 30px;
    position: relative;
}
#exam_wrap04 .att_box p:before {
	position: absolute;
    top: 0;
    left: 0;
    margin: auto;
    content: '\f071';
    font-family: "font awesome 5 free";
    font-size: 23px;
    font-weight: 900;
    color: #ec7832;
}
#exam_wrap04 .text{
	margin:0 0 15px 0;
}
#exam_wrap04 .pamphlet {
	display: block;
	width: 328px;
	border:2px solid #EC7832;
	border-radius:5px;
	margin: 15px 0;
	padding:5px 20px;
	color:#EC7832;
	font-size:14px;
	font-weight:800;
	padding-left: 30px;
	position:relative;
	max-width: 100% !important;
}
#exam_wrap04 .pamphlet:before {
	position:absolute;
    left: 10px;
    margin: auto;
    content: '\f1c1';
    font-family: "font awesome 5 free";
    font-weight: 900;
    color: #ec7832;
}
#exam_wrap04 .pamphlet:hover {
	opacity:0.7;
}
#exam_wrap04 .thumb_wrap {
	display: block;
	margin-bottom: 20px;
}
#exam_wrap04 table {
    border-top: 1px solid #e4e4e4;
    width: 100%;
}
#exam_wrap04 table tr {
    border-bottom: 1px solid #e4e4e4;
}
#exam_wrap04 table tr th,
#exam_wrap04 table tr td{
    padding: 20px;
}
#exam_wrap04 table tr th {
    background: #fcf0da;
    vertical-align: middle;
    font-size: 18px;
    width: 140px;
}
#exam_wrap04 table tr td h4{
    font-size: 16px;
    margin-bottom: 0;
}
#exam_wrap04 table tr td .left{
    width: 53%;
}
#exam_wrap04 table tr td .right{
    width: 45%;
}
#exam_wrap04 table tr td ul li{
    padding-left: 1.5em;
    text-indent: -1.5em;
}
#exam_wrap04 table tr td ul li::before{
    content: '\f14a';
    font-family: "font awesome 5 free";
    font-weight: 900;
    margin-right: 10px;
    color: #ec7832;
}
#exam_wrap04  .sample {
    
}
#exam_wrap04  .sample img{
	
}
#exam_wrap04  .sample:hover p {
	color: #999;
}
@media screen and (max-width: 1000px) {
    #exam_wrap04 table tr td .left,
    #exam_wrap04 table tr td .right{
        width: 100%;
        float: none !important;
    }
    #exam_wrap04 table tr td .left{
        margin-bottom: 20px;
    }

}
@media screen and (max-width: 640px) {
	#exam_wrap04 .att_box p {
		font-size:14px;
	}
    #exam_wrap04 table tr th,
    #exam_wrap04 table tr td{
        display: block;
        width: 100%;
        padding: 15px;
    }
    #exam_wrap04 table tr th {
        text-align: left;
    }	
}

@media screen and (max-width: 400px) {
	#exam_wrap04 .pamphlet {
		width: auto;
	}
}

/*-----------------------------------

	test_wrap

-----------------------------------*/
/*-- test_wrap01 --*/
#test_wrap01 {
	padding-bottom: 50px;
}
#test_wrap01 table {
    width: 100%;
}
#test_wrap01 table th {
    background: #f4f3ef;
    padding: 20px;
    width: 200px;
    border-radius: 10px 0 0 10px;
    vertical-align: middle;
}
#test_wrap01 table td {
    border: 1px solid #f4f3ef;
    padding: 20px;
    border-radius: 0 10px 10px 0;
    display: block;
    width: 100%;
}
#test_wrap01 table td ul li{
    float: left;
}
#test_wrap01 table td ul li input{
    display: none;
}
#test_wrap01 table td ul li label {
    display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 20px;
    margin-bottom: 10px;
	padding: 0 10px;
	border-radius: 2px;
	text-align: center;
	line-height: 1;
}
#test_wrap01 table td ul li label::before {
    position: absolute;
	content: "";
	top: 50%;
	left: -10px;
	width: 18px;
	height: 18px;
	margin-top: -8px;
	background: #fff;
    border: 1px solid #000;
	border-radius: 50%;
}
#test_wrap01 table td ul li input[type="radio"]:checked + label:after {
    position: absolute;
	content: "";
	top: 50%;
	left: -6px;
	width: 10px;
	height: 10px;
	margin-top: -4px;
	border-radius: 50%;
	background: #ec7832;
}
@media screen and (max-width: 640px) {
    #test_wrap01 {
    	padding-bottom: 30px;
    }
    #test_wrap01 table th {
        width: 100%;
        border-radius: 10px 10px 0 0;
        display: block;
        padding: 10px;
    }
    #test_wrap01 table td {
        border-radius: 0 0 10px 10px;
        display: block;
        width: 100%;
        padding: 10px;
    }
}
/*-- test_box --*/
#test_wrap02 .gray_wrap h4 {
    margin-top: 20px;
}
#test_wrap02 .gray_wrap h4:first-of-type {
    margin-top: 0;
}
.test_box {
    display: block;
    background: #fff;
    border-radius: 5px;
    padding: 15px;
    margin-bottom: 5px;
    display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
	min-height: 70px !important;
}
.test_box p{
    width: 80%;
    margin-right: 2%;
    line-height: 1.4;
}
.test_box .radio_box{
    width: 18%;
    position: relative;
}
.test_box .radio_box input{
    display: none;
}
.test_box .radio_box label{
    position: absolute;
    display: block;
	float: left;
	cursor: pointer;
	width: 50%;
	margin: 0;
	padding: 10px;
	background: #f4f3ef;
	color: #999999;
	font-size: 16px;
	text-align: center;
	line-height: 1;
	transition: .2s;
}
.test_box .radio_box label:first-of-type{
    border-radius: 3px 0 0 3px;
    top: 50%;
    left: 0;
	-webkit-transform: translateY(-50%) translateX(0%);
    transform: translateY(-50%) translateX(0%);
    
}
.test_box .radio_box label:last-of-type{
    border-radius: 0 3px 3px 0;
    top: 50%;
    left: 50%;
	-webkit-transform: translateY(-50%) translateX(0%);
    transform: translateY(-50%) translateX(0%);
    
}
.test_box .radio_box input[type="radio"]:checked + .switch-on{
    background-color: #ec7832;
	color: #fff;
}
.test_box .radio_box input[type="radio"]:checked + .switch-off{
    background-color: #666666;
    color: #fff;
}
@media screen and (max-width: 640px) {
    .test_box p{
        width: 70%;
        margin-right: 2%;
        line-height: 1.4;
        font-size: 10px;
    }
    .test_box .radio_box{
        width: 28%;
        position: relative;
    }
}
/*-- answer --*/
input[type="submit"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus {
  outline-offset: -2px;
}
.answer_wrap{
    max-width: 400px;
    width: 80%;
    margin: 40px auto 0;
    position: relative;
}
.answer_wrap::after{
    position: absolute;
    content: '\f101';
    font-family: "font awesome 5 free";
    font-weight: 900;
    line-height: 3em;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto;
    font-size: 20px;
    color: #fff;
}
.answer {
    font-size: 20px;
    font-weight: 700;
    background: #ec7832;
    border-radius: 10px !important;
    color: #fff !important;
    text-align: center;
    padding: 1em;
    display: block;
    line-height: 1;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    width: 100%;
}
.answer:hover{
    opacity: 0.8;
}
@media screen and (max-width: 640px) {
    .answer_wrap{
        margin: 20px auto 0;
    }
    .answer {
        font-size: 16px;
    }
    .answer_wrap::after{
        font-size: 16px;
    }
}

/*-- システムに絡む部分 --*/
#test_wrap01 table td.error,
.test_box.error {
	background: #FAE2E1;
}
.message {
	display: none;
	margin: 0 auto;
	text-align: center;
	color: crimson;
	border: 1px solid crimson;
	background: rgba(255, 0, 0, .2);
	padding: 1.5em 0;
	margin-top: 30px;
}
.result_message p {
	display: block;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	margin: 3em 0;
}
.submit p {
	text-align: center;
}
.radio_box .answer_txt,
.radio_box .result_txt {
	position: absolute;
    display: inline-block;   
    width: 50%;
    margin: 0;
    padding: 10px;    
    font-size: 16px;
    text-align: center;
    line-height: 1;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.radio_box .answer_txt {	
	left: 0;
	border-radius: 3px;
}
.radio_box .result_txt {	
	right: 0;
	border-radius:  0 3px 3px 0;
}
.radio_box .answer_txt.maru {
	background-color: #ec7832;
    color: #fff;
}
.radio_box .answer_txt.batsu {
	background-color: #666666;
    color: #fff;
}
.radio_box .result_txt.sei {	
	color: #3CB371;
}
.radio_box .result_txt.go {	
	color: #FA817D;
}

@media screen and (max-width: 640px) {
	.result_message p {
		font-size: 14px;
	}
}
/*-----------------------------------

	color_box

-----------------------------------*/

@media screen and (max-width: 640px) {
	#colorbox {		
		height: 472px !important;		
	}
	#cboxContent,
	#cboxLoadedContent {		
		height: 472px !important;
	}
}
@media screen and (max-width: 340px) {
	#colorbox {		
		height: 473px !important;		
	}
	#cboxContent,
	#cboxLoadedContent {		
		height: 473px !important;
	}
}

