@charset "UTF-8";
/* CSS Document */

*{
	margin:0;
	padding:0;
	font-size: inherit;
}


html {
	font-size:14px;
}



body {
	-webkit-text-size-adjust: none;
	margin:0 auto;
	
	position:relative;
	
	background: #006028;
	text-align:center;
	font-family: verdana,"ＭＳ Ｐゴシック","MS PGothic","ヒラギノ角ゴ ProNW3","Hiragino Kaku Gothic ProN",Osaka,Sans-Serif;
	font-size: 14px;
	line-height: 1.7;
	color:#333;
}


form {
	/*overflow-x:hidden;*/
}


h1,h2,h3,h4,h5,h6,h7,p {
	margin:0;
}

a {
	color:#0a6ff5;
}
a:hover {
	color:#33CCFF;
	opacity: 0.8;
}

img {
	border:none;
}

.clear {
	clear:both;
	height:0;
	overflow:hidden;
	position:relative;
}



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

#container {
	width: 100%;
	position: relative;
	background: url(../../img/pc/bg.png);
}


/*ヘッダー部*/
/*--------------------------------------------------------------------------*/


header {
	background-color:#006028;
	text-align:left;
}

header img {
	width: auto;
	display:block;
	margin-bottom: 20px;
	padding:0;
	text-align: center;
	
}

#header-inner {
	position:relative;
	width: 956px;
	margin:0 auto;
}

header .logo {
}

header .goHome {
	position:absolute;
	top:0; right:0;
}


/*コンテンツ部*/
/*--------------------------------------------------------------------------*/

#contents {
	position:relative;
	width: 956px;
	margin:0 auto;
	padding-bottom: 70px;
}


/* ピンクの枠線 */
#main {
	position:relative;
	margin: 0 auto;
}

#main-inner {
	background: url(../../img/pc/waku_bg.png) repeat-y 0 0;
	background-size: contain;
}

#main-top {
	background: url(../../img/pc/waku_top.png) no-repeat left top;
	background-size: contain;
	height: 70px;
}
#main-btm {
	background: url(../../img/pc/waku_btm.png) no-repeat left bottom;
	background-size:contain;
	height: 70px;
}




/*フッター*/
/*--------------------------------------------------------------------------*/


footer {
	padding:0.8em 1em;
	box-sizing:border-box;
	background: #006028;
	background-size:100% auto;
	
	text-align:center;
	width:100%;
}

footer br {
	display: none;
}


#footer-inner {
	color:#FFF;
	font-size:12px;
	margin:0 auto;
}



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

/* 説明文 */
.lead {
	margin:0 160px;
	margin-bottom:1em;
	text-align: left;
}


.block {
	margin: 0 auto;
}

.btn {
}

.btn2 {
}

.btn img,
.btn2 img {
	display:block;
}


/*ログイン*/
/*--------------------------------------------------------------------------*/
input[type="text"],
input[type="password"] {
	border:1px solid #b3b3b3;
	background-color: #fff;
	border-radius: 0.5em;
	width: 250px;
	padding: 0.25em 0.5em;
	box-sizing:border-box;
}

input[type="image"]:hover {
	opacity: 0.8;
}



.block-form {
	background-color: #EBD76D;
	border-radius: 1em;
	padding: 30px 80px 15px;
	margin: 0 160px;
	margin-bottom: 20px;
}

#input .block-form {
	background-color: #fff;
	padding:0;
	width: 685px;
	margin:0 auto;
}

.block-form .login {
	text-align:left;
	margin: 0 auto;
	margin-bottom: 0.5em;
	border-spacing: 10px;
	width:500px;
}
.login th {
	vertical-align: middle;
	width: 120px;
}
.login th img {
	display:block;
}

.login td {
	vertical-align: middle;
}


.fm_login {
}

/*エラーメッセージ*/
.errMsg {
	color:#F00;
	margin:0px auto;
	background-color:#FFC;
	padding:4px 6px;
	position: relative;
	border-radius: 5px;
}

#input .errMsg {
	background-color:#FF9;
}

.fm_login .errMsg {
	padding:2px 6px;
	margin:0;
}
.fm_login td.msg {
	padding:5px 0;
}

.fm_login .attr {
	display: inline-block;
	font-size:12px;
	margin-left: 1em;
}




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



/*ログイン方法など*/
.block-caution {
	border:1px solid #b3b3b3;
	background-color: #F2F2F2;
	margin:0 160px;
	padding: 0.8em;
	position: relative;
}

.block-caution dl {
	margin:0;
	text-align: left;
	font-size: 12px;
}
.block-caution dt {
	background-color:#B49436;
	color:#fff;
	font-weight:bold;
	padding:0.5em 1em;
	margin-bottom: 1em;
	width: 100px;
	display: inline-block;
	text-align: center;
	position: absolute;
	left: 0.8em; top:1.2em;
}
.block-caution dd {
	padding-left:150px;
}
.block-caution dd span {
	color:#ff7bac;
}

/*対象書籍*/
.target_book {
	position: relative;
	margin: 0 auto;
	margin-top: 30px;
	padding: 15px;
	background-color: #f2f2f2;
	border: 1px solid #ccc;
	border-radius: 0.5em;
	text-align:left;
}

.target_book h2 {
	line-height: 0.5;
	width:120px;
	margin:0;
	text-align: left;
}
.target_book p {
	position: absolute;
	top: 15px; left:155px;
	width:400px;
	height: 94px;
}

.book {
	position: absolute;
	top: 15px; left:570px;
	line-height:1.7;
	margin: 0 1.6em;
	padding-left: 80px;
	display:block;
}
.book h3 br {
	display:none;
}

.book .imgBook {
	display:block;
	position: absolute;
	top:0; left:0;
	margin-right:1.5em;
}
.book h3 {
}
.book a.link_txt_out {
	margin-top:5px;
	display: block;
}





/*入力*/
/*--------------------------------------------------------------------------*/

#input h1 {
	margin-bottom:20px;
}
#input h1 img,
#result h1 img {
	width:60%;
}

.qBox {
	margin: 0 auto 3em;
	border: 1px solid #ccc;
	border-radius: 0.5em;
	padding: 2em 2.5em;
}

.qBox dl {
	margin-bottom:2em;
	background-color: #f2f2f2;
	text-align: left;
	padding: 0.5em 2em;
}
.qBox dt {
	color: #156E3E;
	font-size: 16px;
	font-weight:bold;
	display: inline-block;
}

.qBox dd {
	font-size: 16px;
	padding:0.5em 1em;
	display: inline-block;
}

.ans {
	padding: 1em;
}
.ans input {
	display: none;
}
.ans label {
	display:inline-block;
	border: 1px solid #9ECF1E;
	background-color: #E5F5C2;
	border-radius: 0.5em;
	width: 40%;
	box-shadow: 0.2em 0.2em 0.5em rgba(0,0,0,0.3);
}

.ans input:checked + label {
	background-color: #BEE567;
}


.ans label img {
	display:inline-block;
}

_:-ms-lang(x), .ans label img {
	pointer-events: none;
}

.ans label.yes {
	margin-right: 4em;
}
.ans label.no {
}



/*入力項目の見出し*/
.block-form .idx {
	text-align:left;
	font-size:14px;
	font-weight:bold;
	letter-spacing:0.1em;
	margin:10px 10px 5px;
}
.block-form .idx .must {
	font-size:10px;
	color:#ff1d25;
}
.block-form .idx .notMust {
	font-size:10px;
	color:#728eae;
}














/*診断結果*/
/*--------------------------------------------------------------------------*/

.block-inner {
	width: 710px;
	margin: 0 auto;
}

#result .lead {
	margin:0 auto 2em;
}

h2 {
	margin: 0 auto 1em;
}

#block-score h3 {
	margin-bottom: 0;
}
#block-score h3 img {
}


#block-score td {
	text-align:center;
	position: relative;
}


.maru {
	position: absolute;
	top:-5px;
	left:-2px;
	z-index:99;
	display:none;
}

.maru.on {
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
	display:block;
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
		opacity:0;
  }

  20% {
		opacity:1;
	}
	
  30% {
    -webkit-transform: scale3d(1.25, 0.15, 1);
    transform: scale3d(1.25, 0.15, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(.95, 1.05, 1);
    transform: scale3d(.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, .95, 1);
    transform: scale3d(1.05, .95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}


table#score {
	border-spacing: 20px;
	border-radius: 0.8em;
	background: url(../../img/pc/bg_score.png) 0 0;
	background-size: 52px auto;
	width:100%;
	margin-bottom: 50px;
}


#score h3 {
	margin-bottom: 0;
}


#block-taishitsu {
	background-color: #EBD76D;
	border-radius: 0.8em;
	padding: 20px 30px 10px;
	box-sizing: border-box;
	margin-bottom: 4rem;
}

#taiIdx {
	padding-bottom: 1em;
	border-bottom: 2px solid #fff;
}
#block-taishitsu h4 {
	padding-top: 10px;
}
#taiBody img {
	margin-bottom:1.5em;
}

#type0 img {
	margin-bottom:1em;
}


#block-type img {
	display:block;
	margin-bottom: 3rem;
}

#block-nav {
	margin-bottom:3rem;
}

#block-nav a {
	display: inline-block;
	margin-bottom:2rem;
}
#btnRetest {
	margin-right: 2em;
}


#block-caution {
	border: 1px solid #62B48E;
	background-color: #f9f9f9;
}

#block-caution h3 {
	background-color: #62B48E;
	color: #fff;
	padding: 0.5em 1em;
}

#block-caution ul {
	margin: 1em;
}

ul.list li {
	margin-left:1em;
	text-align: left;
}




