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

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


@media (max-width: 480px){
html {
	font-size:12px;
}}

@media (min-width: 480px){
html {
	font-size:17px;
}}



body {
	-webkit-text-size-adjust: none;
	margin:0 auto;
	
	position:relative;
	
	text-align:center;
	background: #006028;
	font-family: Roboto, ArialMT, "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", メイリオ, sans-serif;
	font-size: 1.3rem;
	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;
}

img {
	border:none;
	width:100%;
}

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



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

#container {
	width: 100%;
	position: relative;
	background: #006028 url(../../img/sp/bg.png);
	background-size: 30%;
}


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


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

header img {
	height: 3.5rem;
	width: auto;
	display:block;
	margin-bottom: 0.5rem;
}

header .logo {
}

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


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

#contents {
	padding:0 0 3em;
	text-align:center;
}


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

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

#main-top {
	background: url(../../img/sp/waku_top.png) no-repeat left top;
	background-size: contain;
	height: 3em;
}
#main-btm {
	background: url(../../img/sp/waku_btm.png) no-repeat left bottom;
	background-size:contain;
	height: 2em;
}




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


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

#footer-inner {
	color:#FFF;
	font-size:1rem;
	margin:0 auto;
}



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

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


.block {
	width: 86%;
	margin: 0 auto;
}

.btn {
	background-color: #C0020E;
	border: 2px solid #FA6888;
	border-radius: 0.5em;
	display: inline-block;
	box-shadow: 0.2em 0.2em 0.5em rgba(0,0,0,0.3);
}

.btn2 {
	background-color: #9D9D9D;
	border: 2px solid #9D9D9D;
	border-radius: 0.5em;
	display: inline-block;
	box-shadow: 0.2em 0.2em 0.5em rgba(0,0,0,0.3);
}

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


/*ログイン*/
/*--------------------------------------------------------------------------*/
input[type="text"],
input[type="password"] {
	border:1px solid #b3b3b3;
	background-color: #F6EDA7;
	border-radius: 0.5em;
	font-size: 1.6rem;
	padding: 0.5em;
	width: 100%;
	box-sizing:border-box;
	height: 2em;
}

input[type="image"] {
	width:240px;
}



.block-form {
	/*background-color: #EBD76D;*/
	border-radius: 1em;
	margin: 0 10%;
}

.block-form .login {
	text-align:left;
	width:100%;
	margin-bottom: 2em;
}
.login th {
	display: block;
}
.login td {
	display: block;
}


.fm_login {
	margin-bottom:2em;
}

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

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

.fm_login .attr {
	display: none;
}



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

#login h2 {
	width:auto;
}

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

.block-caution dl {
	margin:0;
	text-align: left;
}
.block-caution dt {
	background-color:#B49436;
	color:#fff;
	font-weight:bold;
	padding:0.5em 1em;
	margin-bottom: 1em;
}
.block-caution dd {
}
.block-caution dd span {
	color:#ff7bac;
}

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

.target_book h2 {
	background-color:#A72E3A;
	border-radius: 0.5em 0.5em 0 0;
	line-height: 0.5;
}
.target_book p {
	padding:0.8em 1.6em;
}

.book {
	line-height:1.7;
	display:inline-block;
	white-space:nowrap;
	margin: 0 1.6em;
	padding-left: 8.5em;
	padding-bottom: 1.6em;
	position: relative;
}
.book .imgBook {
	display:block;
	position: absolute;
	top:0; left:0;
	width:6.5em;
	margin-right:1.5em;
}
.book h3 {
	font-size:1.3rem;
}
.book a.link_txt_out img {
	width:8em;
}





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

.qBox {
	margin-bottom: 3em;
	border: 1px solid #ccc;
	border-radius: 0.5em;
	padding: 1em;
}

.qBox dl {
	margin-bottom:1em;
}
.qBox dt {
	color: #156E3E;
	font-size: 1.4rem;
	font-weight:bold;
	text-align: center;
	margin-bottom: 0.5em;
}

.qBox dd {
	background-color: #f2f2f2;
	padding:0.5em 1em;
	text-align: left;
}

.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;
}
.ans label.yes {
	margin-right: 1.5em;
}
.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;
}














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

h2 {
	width: 86%;
	margin: 0 auto 1em;
}

#block-score h3 {
	margin-bottom: 0;
}
#block-score h3 img {
	width: 86%;
}
#block-score h4 img {
	display: block;
}

#block-score td {
	position: relative;
}

.maru {
	position: absolute;
	top:-12%;
	left:-30%;
	width: 160%;
	height: 110%;
	z-index:99;
	display:none;
}


.maru.on {
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -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);
  }
}


#block-score {
	width: 86%;
	margin: 2rem auto 4rem;
	
}

table#score {
	border-spacing: 1.2rem;
	border-radius: 0.8em;
	background: url(../../img/sp/bg_score.png) 0 0;
	background-size: 50%;
	margin-bottom: ;
}


#score h3 {
	margin-bottom: 0;
}


#block-taishitsu {
	background-color: #EBD76D;
	border-radius: 0.8em;
	padding: 1.5rem 1.0rem 0.5rem;
	box-sizing: border-box;
	margin-bottom: 4rem;
}

#block-taishitsu img {
	display: block;
}

#block-taishitsu h4 {
 margin-bottom:0;
}

#taiIdx {
	padding-bottom: 0.5em;
	border-bottom: 2px solid #fff;
}
#taiBody {
}
#taiBody img {
	display: block;
	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;
	width:90%;
	margin-bottom:2rem;
}


#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;
}




