@charset "utf-8";
/*----------------------------------------------------
	common
----------------------------------------------------*/
* {
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   -o-box-sizing: border-box;
   -ms-box-sizing: border-box;
   box-sizing: border-box;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
   margin: 0;
   padding: 0;
   border: 0;
   vertical-align: baseline;
}

input[type="submit"],
input[type="reset"],
input[type="button"],
select,
button {
   cursor: pointer;
   -webkit-appearance: none;
   -moz-appearance: none;
   -ms-appearance: none;
   -o-appearance: none;
   appearance: none;
}

html {
   -webkit-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
   text-size-adjust: 100%;
   position: relative;
   min-height: 100%;
}

body {
   margin: 0 0 50px;
   color: #252525;
   background: #fff;
   font-size: 14px;
   line-height: 1.6;
   font-family: Verdana, Roboto, "Droid Sans", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;

}

section {
   padding: 12px 16px;
}

table{
   border-collapse: collapse;
   border-spacing:0;
}

ol, ul{
   list-style:none;
}

p {
   padding-bottom: 12px;
}

input,select,textarea{
   font-size:16px;
}

select {
   width: 100%;
   height: 36px;
   border: 1px solid #ccc;
   border-radius: 3px;
   margin-bottom: 20px;
   background: #fff url(../images/select_arrow.svg) no-repeat right;
}

input {
   width: 100%;
   height: 48px;
   margin: 30px 0 20px;
   font-size: 18px;
   border-radius: 3px;
   border: none;
   color: #fff;
   background: #e74c3c;
}

a {
   color: #27ae60;
}

.text-red {
   color: #e74c3c;
}

/*----------------------------------------------------
	header
----------------------------------------------------*/
header {
   padding: 12px 16px;
   color: #fff;
   background: url(../images/bg.svg) repeat #27ae60;
   overflow: hidden;
}

.logo {
   font-size: 20px;
   font-weight: bold;
   font-family: 'Raleway', sans-serif;
   margin: 0;
   padding: 0;
}

/*-- Navigation --*/
.gnav.on {
   z-index: 10;
   width: 100%;
   height: 100%;
   display: block;
   background-color: rgba(39, 174, 96, 0.9);
   position: absolute;
   top: 0;
   left: 0;
}

.icon-menu {
   width: 32px;
   height: 32px;
   position: absolute;
   top: 12px;
   right: 16px;
   cursor: pointer;
}

.icon-menu.on .top-menu {
   -moz-transform: rotate(45deg) translate(4px, 4px);
   -ms-transform: rotate(45deg) translate(4px, 4px);
   -webkit-transform: rotate(45deg) translate(4px, 4px);
   transform: rotate(45deg) translate(4px, 4px);
}

.icon-menu.on .mid-menu {
   opacity: 0;
}

.icon-menu.on .bottom-menu {
   -moz-transform: rotate(-45deg) translate(8px, -7px);
   -ms-transform: rotate(-45deg) translate(8px, -7px);
   -webkit-transform: rotate(-45deg) translate(8px, -7px);
   transform: rotate(-45deg) translate(8px, -7px);
}

.top-menu,
.mid-menu,
.bottom-menu {
   width: 100%;
   height: 2px;
   background: #fff;
   margin: 6px auto;
   backface-visibility: hidden;
   -moz-transition-duration: 0.3s;
   -o-transition-duration: 0.3s;
   -webkit-transition-duration: 0.3s;
   transition-duration: 0.3s;
}

.hidden {
   display: none;
}

.menu li {
   text-align: right;
   padding: 8px;
}

.menu li:first-child {
    margin-top: 40px;
}

.menu li a {
   padding: 2px 0;
   width: 100%;
   display: block;
   font-size: 120%;
   font-weight: bold;
   color: #fff;
   -moz-transition-duration: 0.5s;
   -o-transition-duration: 0.5s;
   -webkit-transition-duration: 0.5s;
   transition-duration: 0.5s;
   text-decoration: none;
}

nav ul a:hover {
   background-color: rgba(255, 255, 255, 0.2);
}

/*----------------------------------------------------
	main
----------------------------------------------------*/
.ttl {
   padding-left: 8px;
   margin-bottom: 20px;
   font-size: 18px;
   color: #3e3e3e;
   border-left: 8px solid #27ae60;
}

.sub-ttl {
   border-bottom: 1px solid #ecf0f1;
   margin-bottom: 16px;
   padding-bottom: 4px;
}

.annotation {
   margin-bottom: 12px;
   padding: 8px 12px 8px 28px;
   background: #ecf0f1;
   list-style-type: square
}

.annotation li {
   padding-bottom: 4px;
}

/*-- SNS --*/
.icon-sns {
   width: 260px;
   overflow: hidden;
   margin: 0 auto;
}

.icon-sns li {
   width: 50px;
   float: left;
   margin-right: 20px;
}

.icon-sns li:last-child {
   margin-right: 0;
}

.speech-bubble {
   position: relative;
   width: 50px;
   height: 20px;
   margin-bottom: 6px;
   border: 1px solid #ccc;
   text-align: center;
   line-height: 1.2;
   border-radius: 3px;
   font-size: 12px;
}

.speech-bubble:before {
   content: "";
   position: absolute;
   bottom: -6px;
   left: 50%;
   margin-left: -6px;
   width: 0;
   height: 0;
   border-top: 6px solid #ccc;
   border-left: 6px solid transparent;
   border-right: 6px solid transparent;
}

.speech-bubble:after {
   content: "";
   position: absolute;
   bottom: -5px;
   left: 50%;
   margin-left: -6px;
   width: 0;
   height: 0;
   border-top: 6px solid #fff;
   border-left: 6px solid transparent;
   border-right: 6px solid transparent;
}

.icon-sns li a {
   width: 50px;
   height: 50px;
   display: block;
}

.icon-google-plus,
.icon-twitter,
.icon-facebook,
.icon-hatena {
   width: 50px;
   height: 50px;
	white-space:nowrap;
	text-indent: 100%;
	overflow: hidden;
}

.icon-google-plus {
	background: url(../images/icon-google-plus.svg),none;
}

.icon-twitter {
	background: url(../images/icon-twitter.svg),none;
}

.icon-facebook {
	background: url(../images/icon-facebook.svg),none;
}

.icon-hatena {
	background: url(../images/icon-hatena.svg),none;
}
.btn-line a {
   width: 100%;
   height: 48px;
   margin: 10px 0;
   display: block;
   line-height: 48px;
   text-align: center;
   color: #fff;
   text-decoration: none;
   font-size: 18px;
   border-radius: 3px;
   background: #00C300;
}

.btn-line a:before {
   content: url(../images/icon-line.svg);
   position: relative;
   top: 10px;
   padding-right: 10px;
}

/*-- Form --*/
.select-birthday {
   width: 60%;
}

.label-birthday {
   padding-left: 4px;
   font-size: 16px;
}

/*-- Type List Index --*/
.type-list {
   margin: 20px 0;
   border-top: 1px solid #27ae60;
   font-size: 13px;
   list-style-type: none;
}

.type-list:after {
   content: "";
   clear: both;
   display: block;
}

.type-list li {
   float: left;
   width: 50%;
   text-align: center;
   border-bottom: 1px solid #27ae60;
}

.type-list li:nth-child(odd) {
   border-right: 1px solid #27ae60;
}

.type-list a {
   display: block;
   line-height: 44px;
   color: #27ae60;
   text-decoration: none;
}

.type-list a:hover {
   background: #f8f8f8;
}

.link-type-list {
   text-align: right;
}

.link-type-list:before {
   content: "> ";
   color: #95a5a6;
}

/*-- Question --*/
.question {
   height: 44px;
   margin-bottom: 24px;
}

.question input{
	display: none;
}

.question label{
	display: block;
	float: left;
	cursor: pointer;
	width: 20%;
	margin: 0;
	padding: 15px 0;
	border-right: 1px solid #dddede;
	background: #ecf0f1;
	font-size: 14px;
	text-align: center;
	line-height: 1;
}
.question label:first-of-type{
	border-radius: 3px 0 0 3px;
}

.question label:last-of-type{
	border-right: 0px;
	border-radius: 0 3px 3px 0;
}

.question input[type="radio"]:checked + label {
	background-color: #27ae60;
	color: #fff;
}

/*-- E-Question --*/
.equestion {
   height: 44px;
   margin-bottom: 24px;
}

.equestion input{
	display: none;
}

.equestion label{
	display: block;
	float: left;
	cursor: pointer;
	width: 33%;
	margin: 0;
	padding: 15px 0;
	border-right: 1px solid #dddede;
	background: #ecf0f1;
	font-size: 14px;
	text-align: center;
	line-height: 1;
}
.equestion label:first-of-type{
	border-radius: 3px 0 0 3px;
}

.equestion label:last-of-type{
	border-right: 0px;
	border-radius: 0 3px 3px 0;
}

.equestion input[type="radio"]:checked + label {
	background-color: #27ae60;
	color: #fff;
}








/*-- Result --*/
.result {
   width: 100%;
   margin-bottom: 10px;
   padding: 12px;
   background: #fff1de;
   text-align: center;
}

.result p {
   padding-bottom: 4px;
   color: #6e6e6e;
}

.result h1 {
   font-size: 24px;
   color: #e74c3c;
}

.rank {
   font-size: 24px;
   color: #27ae60;
   padding-left: 8px;
}

.type {
   margin-bottom: 12px;
   color: #e74c3c;
   font-size: 24px;
}

.ratio {
   margin-bottom: 16px;
   font-size: 20px;
   text-align: center;
   color: #fff;
   overflow: hidden;
}

.ratio p {
   padding: 8px 0;
   float: left;
}

.man {
   color: #2980b9;
   background: #b9e3ff;
}

.woman {
   color: #c0392b;
   background: #ffc9c3;
}

.chart {
   margin: 16px 0;
}

.assessment-list {
   margin-bottom: 12px;
   padding: 0 0 0 20px;
   list-style-type: square
}

.assessment-list li {
   padding-bottom: 4px;
}
   
/*-- Commentary --*/
legend {
   overflow: hidden;
}

.legend li {
   height: 20px;
   margin: 0 12px 20px 0;
   padding-left: 4px;
   float: left;
   line-height: 1.2;
}

.legend-man,
.legend-cp {
   border-left: 20px solid #3498db;
}

.legend-woman,
.legend-np {
   border-left: 20px solid #e74c3c;
}

.legend-a {
   border-left: 20px solid #1abc9c;
}

.legend-fc {
   border-left: 20px solid #e67e22;
}

.legend-ac {
   border-left: 20px solid #9b59b6;
}

/*-- Ranking --*/
.ranking-ttl {
   font-size: 18px;
   font-weight: bold;
}

.ranking-frequency span {
   font-weight: bold;
   color: #27ae60;
}

/*-- Type List --*/
.expand-list dt {
   font-size: 15px;
   font-weight: bold;
   padding: 16px 4px;
	background: url(../images/icon_plus.svg) no-repeat right;
   border-bottom: 1px solid #95a5a6;
}

.expand-list dt.active {
	background: url(../images/icon_minus.svg) no-repeat right;
}

.expand-list dd {
   margin-top: 4px;
   padding: 8px 12px;
   background: #ecf0f1;
}

.type-detail li {
   color: #5a6566;
   font-size: 16px;
   font-weight: bold;
}

.type-detail li span {
   color: #27ae60;
   font-size: 20px;
   padding-left: 8px;
}

/*-- Page Top --*/
.page-top {
   padding: 0;
   display: none;
}

.page-top a {
   width: 50px;
   height: 50px;
   position: fixed;
   bottom: 15px;
	left: 50%;
	display: block;
	white-space:nowrap;
	text-indent: 100%;
	overflow: hidden;
	background: url(../images/arrow.svg),none;
   margin-left: -25px;
   opacity: 0.7;
   z-index: 100;
}
/*----------------------------------------------------
	footer
----------------------------------------------------*/
.footer-nav {
   margin-top: 20px;
}

.footer-nav li a {
   width: 100%;
   display: block;
   padding: 12px 16px;
   border-top: 1px solid #d4dade;
   text-decoration: none;
   background:  url(../images/bullet.svg) no-repeat right;
}

footer {
   width: 100%;
   height: 50px;
   position: absolute;
   left: 0;
   bottom: 0;
   text-align: center;
   background: #27ae60;
   color: #fff;
}

footer p {
   margin-top: 18px;
   font-size: 11px;
}

footer a,
footer a:hover,
footer a:visited {
   color: #fff;
}



/*-- Result --*/
.result_text {
   width: 100%;
   margin-bottom: 20px;
   padding: 12px;
   background: #fff1de;
}

.result_text p {
   color: #6e6e6e;
}

.red {
   color: #ff0000;
}

.toukei {
   padding: 10px 10px 10px 30px;
   background: #ecf0f1;
   list-style-type: decimal
}

.toukei li {
   padding-bottom: 4px;
}

/*-- to top --*/
.totop a {
   width: 100%;
   height: 48px;
   margin: 15px auto 0;
   display: block;
   padding: 8px;
   border-radius: 3px;
   text-align: center;
   border: none;
   background: #27ae60;
   text-decoration: none;
   color: #fff;
   font-size: 18px;



}
