/* CSS Document */

/* reset.css, body, header, footer */


/* reset：20180615.ver_1.1 版
---------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, a, address, big,
em, img, small, strong, b, i,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, embed, figure, figcaption, 
footer, header, nav, output, ruby, section,
time, mark, audio, video {
	margin:0;
	padding:0;
	border:0;
	font-style:normal;
	font-weight:normal;
	font-size:100%;
	vertical-align:baseline;
}

article, aside, details, figcaption, figure, iframe,
footer, header, hgroup, menu, nav, section, img {
	display:block;
}

ol, ul{
    list-style:none;
}

table{
    border-collapse:collapse; 
    border-spacing:0;
}

caption, th{
    text-align:left;
}

img{
	max-width:100%;
	width:100%;
	height:auto;
}

a{
	text-decoration:none;
	color:#000000;
}

a:focus {
	outline:none;
}

html{
	overflow-y:scroll;
}


/* body
---------------------------------------------------------------------*/
body{
	font-family:"ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	overflow-x:hidden;
}

@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	body {
		width:500px;
		margin-right: auto;
		margin-left : auto;
	}
}

/* all
---------------------------------------------------------------------*/
/*- ID pageTitle -*/
#pageTitle{
	margin-top:10%;
	text-align:center;
	font-size:1.8rem;
	font-weight:bold;
	color:#E64966;
	line-height:1.75rem;
}

#pageTitle *{
	height:1.75rem;
	width:auto;
	margin:0 auto;
}

/*- ID userName -*/
#userName{
	background:#E64966;
	text-align:center;
	font-size:1.5rem;
	color:#FFFFFF;
	margin-top:10%;
	padding:5% 10%;
}

/*- ID contents -*/
#contents{
	padding:0 5%;
	margin-top:5%;
}

#contents .presetTitle01{
	padding:0;
}

/*- Class presetTitle01 -*/
.presetTitle01{
	margin-bottom:1rem;
	padding:0 5%;
	display:flex;
	align-items:center;
}

.presetTitle01 > *{
	flex:1;
	flex-basis:content;
}

.presetTitle01 span{
	padding:0 0.8rem;
	font-size:1.5rem;
	font-weight:bold;
	color:#E64966;
	text-align:center;
}

.presetTitle01:after,
.presetTitle01:before{
	content:"";
	display:block;
	width:100%;
	height:1px;
	background:#E64966;
}

/*- Class presetTitle02 -*/
.presetTitle02{
	margin-bottom:1rem;
	text-align:center;
	font-size:1.25rem;
	font-weight:bold;
	color:#103675;
}

.presetTitle02:after{
	content:"";
	display:block;
	width:2rem;
	height:0.5rem;
	margin:5px auto 0;
	background:#95A6C2;
	border-radius:20px;
}

/*- Class miniTitle -*/
.miniTitle{
	background:#E64966;
	text-align:center;
	font-weight:bold;
	color:#FFFFFF;
	padding:5px 0;
	border-radius:20px;
}


/*- Class btnCircle -*/
.btnCircle,
.btnCircle a{
	display:flex;
}

.btnCircle{
	justify-content:space-between;
}

.btnCircle li{
	width:40vw;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	.btnCircle li{
		width:200px;
	}
}

.btnCircle a{
	background:#E64966;
	height:40vw;
	color:#FFFFFF;
	font-weight:bold;
	font-size:1.5rem;
	border-radius:50%;
	position:relative;
	align-items:center;
	justify-content:center;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	.btnCircle a{
		height:200px;
	}
}

.btnCircle a:after,
.btnCircle a:before{
	content:"";
	display:block;
	width:0px;
	height:0px;
	border:1.2rem solid transparent;
	position:absolute;
	left:50%;
	transform:translateX(-50%);
}

.btnCircle a:before{
	border-top:0.8rem solid #FFFFFF;
	top:71%;
}

.btnCircle a:after{
	border-top:0.8rem solid #E64966;
	top:70%;
}

.btnCircle li:nth-of-type(2) a{
	background:#517389;
}

.btnCircle li:nth-of-type(2) a:after{
	border-top-color:#517389;
}

/*- Class presetBtn -*/
.presetBtn{
	width:70vw;
	margin:5% auto 0;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	.presetBtn{
		width:350px;
	}
}

.presetBtn a{
	display:block;
	width:100%;
	padding:5% 0;
	text-align:center;
	font-size:1.25rem;
	font-weight:bold;
	color:#FFFFFF;
	border-radius:50px;
	position:relative;
}

.presetBtn a:after{
	content:"";
	display:block;
	width:0.7rem;
	height:0.7rem;
	border-bottom:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	position:absolute;
	top:50%;
	right:10%;
	transform:translateY(-50%) rotate(-45deg);
}

.presetBtn input{
	display:block;
	width:100%;
	padding:5% 0;
	text-align:center;
	font-size:1.25rem;
	font-weight:bold;
	color:#FFFFFF;
	border-radius:50px;
	position:relative;
}

.presetBtn input:after{
	content:"";
	display:block;
	width:0.7rem;
	height:0.7rem;
	border-bottom:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	position:absolute;
	top:50%;
	right:10%;
	transform:translateY(-50%) rotate(-45deg);
}	

/*- Class presetBtn2 -*/

.presetBtn2-1,
.presetBtn2-2,
.presetBtn2-1 a,
.presetBtn2-2 a{
	display:flex;
}

.presetBtn2-1{
	justify-content:space-between;
}

.presetBtn2-2{
	justify-content:flex-end;
}

.presetBtn2-1 li,
.presetBtn2-2 li{
	width:30vw;
	margin-top:1rem;
	margin-bottom:1rem;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	.presetBtn2-1 li,
	.presetBtn2-2 li{
		width:150px;
	}
}

.presetBtn2-1 a,
.presetBtn2-2 a{
	display:block;
	width:100%;
	padding:5% 0;
	text-align:center;
	font-size:1.25rem;
	font-weight:bold;
	color:#FFFFFF;
	border-radius:50px;
	position:relative;
}

/*- Class presetBtn3 -*/

.presetBtn3,
.presetBtn3 a{
	display:flex;
}

.presetBtn3{
	justify-content:space-between;
}

.presetBtn3 li{
	width:35vw;
	margin-top:5rem;
	margin-bottom:1rem;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	.presetBtn3 li{
		width:150px;
	}
}

.presetBtn3 a{
	display:block;
	width:100%;
	padding:5% 0;
	text-align:center;
	//font-size:1.25rem;
	font-weight:bold;
	color:#FFFFFF;
	border-radius:50px;
	position:relative;
}
.presetBtn3 a:after{
	content:"";
	display:block;
	width:0.7rem;
	height:0.7rem;
	border-bottom:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	position:absolute;
	top:50%;
	right:10%;
	transform:translateY(-50%) rotate(-45deg);
}

.presetBtn3 input{
	display:block;
	width:100%;
	padding:5% 0;
	text-align:center;
	//font-size:1.25rem;
	font-weight:bold;
	color:#FFFFFF;
	border-radius:50px;
	position:relative;
}

.presetBtn3 input:after{
	content:"";
	display:block;
	width:0.7rem;
	height:0.7rem;
	border-bottom:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	position:absolute;
	top:50%;
	right:10%;
	transform:translateY(-50%) rotate(-45deg);
}	

/*- Class presetBtn4 -*/

.presetBtn4,
.presetBtn4 a{
	display:flex;
}

.presetBtn4{
	justify-content:space-between;
}

.presetBtn4 li{
	width:35vw;
	margin-top:5rem;
	margin-bottom:1rem;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	.presetBtn4 li{
		width:150px;
	}
}

.presetBtn4 a{
	display:block;
	width:100%;
	padding:5% 0;
	text-align:center;
	//font-size:1.25rem;
	font-weight:bold;
	color:#FFFFFF;
	border-radius:50px;
	position:relative;
}
.presetBtn4 a:after{
	content:"";
	display:block;
	width:0.7rem;
	height:0.7rem;
	border-bottom:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	position:absolute;
	top:50%;
	right:10%;
	transform:translateY(-50%) rotate(-45deg);
}

.presetBtn4 input{
	display:block;
	width:100%;
	padding:5% 0;
	text-align:center;
	//font-size:1.25rem;
	font-weight:bold;
	color:#FFFFFF;
	border-radius:50px;
	position:relative;
}

.presetBtn4 input:after{
	content:"";
	display:block;
	width:0.7rem;
	height:0.7rem;
	border-bottom:2px solid #FFFFFF;
	border-right:2px solid #FFFFFF;
	position:absolute;
	top:50%;
	right:10%;
	transform:translateY(-50%) rotate(-45deg);
}	

.presetBtn4 a{
	background:#E64966;
}

.presetBtn4 input{
	background:#E64966;
}

.presetBtn4 li:nth-of-type(2) a{
	background:#517389;
}

.presetBtn4 li:nth-of-type(2) a:after{
	border-top-color:#517389;
}


/*- Class centerInfo -*/
.centerInfo{
	padding:0 5%;
	margin-top:1rem;
}

.centerInfo section{
	border:10px solid #AEBBD0;
	padding:5%;
}

.centerInfo .txtC p{
	text-align:center;
}


/*- Class PassLink -*/
.PassLink{
	padding:0 5%;
	margin-top:1rem;
}

.PassLink section{
	position:relative;
	padding:5%;
	margin-top:1rem;
	border:10px solid #FFD0E8;
	text-align:center;
	font-size:1.25rem;
	font-weight:bold;
	color:#103675;
}

.PassLink .Link{
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* header
---------------------------------------------------------------------*/
header{
	padding:5% 5% 0;
	position:relative;
}

header h1{
	width:60vw;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	header h1{
		width:300px;
	}
}

header > div{
	z-index:999;
	position:absolute;
	bottom:0;
	right:10vw;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	header > div{
		right:50px;
	}
}

header .nav{
	background:#FFFFFF;
	width:100vw;
	border-bottom:10px solid #E64966;
	z-index:99;
	position:absolute;
	top:0;
	left:0;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	header .nav{
		width:500px;
	}
}

header .nav ul{
	width:75vw;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	header .nav ul{
		width:350px;
	}
}

header .nav a{
	display:block;
	padding:5% 8%;
	position:relative;
}

header .nav a:after{
	content:"";
	display:block;
	width:0.5rem;
	height:0.5rem;
	border-bottom:1px solid #E64966;
	border-right:1px solid #E64966;
	position:absolute;
	top:50%;
	right:10%;
	transform:translateY(-50%) rotate(-45deg);
}

header .nav li:nth-of-type(odd) a{
	background:#FBE4E8;
}

header .nav li:nth-of-type(even) a{
	background:#FEF6F7;
}

/*- ボタン用スタイル -*/
.menu-trigger,
.menu-trigger span {
  	display: inline-block;
  	transition: all .4s;
  	box-sizing: border-box;
}
.menu-trigger {
  	position: relative;
  	width:10vw;
  	height:8vw;
}
@media screen and (min-width:781px){
	/*画面幅が781px以上の時*/
	.menu-trigger {
		width:50px;
		height:40px;
	}
}
.menu-trigger span {
  	position: absolute;
  	left: 0;
  	width: 100%;
 	height: 2px;
  	background-color:#734900;
  	border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  	top:0;
}
.menu-trigger span:nth-of-type(2) {
  	top:50%;
	transform:translateY(-50%);
}
.menu-trigger span:nth-of-type(3) {
  	bottom:0;
}

/* 展開時 */
.menu-trigger.active span:nth-of-type(1) {
  	transform: translateY(-50%) rotate(-315deg);
	top:50%;
}
.menu-trigger.active span:nth-of-type(2) {
  	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
  	transform: translateY(-50%) rotate(315deg);
	top:50%;
}
/*- ボタン用スタイル -*/



/* footer
---------------------------------------------------------------------*/
footer{
	background:#E64966;
	color:#FFFFFF;
	margin-top:8%;
	padding:5%;
}

footer h2{
	font-weight:bold;
	font-size:1.5rem;
}

footer p{
	margin-top:1rem;
}

footer p a{
	text-decoration:underline;
	color:#FFFFFF;
}

footer #copyright{
	text-align:center;
}

/* personality
---------------------------------------------------------------------*/

#personality header{
	padding:5% 5% 0;
	margin:0;
}
/* 
#personality > header h1{
	width:100%;
} */

#personality header p{
	background:#E64966;
	margin-top:5%;
	padding:10px 0;
	text-align:center;
	color:#FFFFFF;
	font-weight:bold;
	font-size:1.4rem;
	border-radius:50px;
}

#personality #contents .presetTitle01 span{
	min-width:18rem;
	font-size:1.2rem;
}

#personality h3{
	font-weight:bold;
	font-size:1.5rem;
}

#personality h4{
	text-align:center;
	font-size:1.25rem;
	margin-bottom:5%;
	color:#103675;
	font-weight:bold;
}

#personality h5{
	text-align:center;
	font-size:1.25rem;
	margin-top:7%;
	color:#103675;
	font-weight:bold;
}

#personality h6{
	text-align:center;
	margin-bottom:20px;
}

#personality form{
	padding:0 5%;
}

#personality .txtC{
	text-align:center;
}

#personality .userImg td{
    padding-left:5px;
}

#personality dl .text{
	padding-right:3%;
	padding-left:3%;
	margin-bottom:20px;
}

#personality dt:first-of-type ~ dt{
	margin-top:5%;
}

#personality dl{
	margin-top:10px;
	margin-bottom:20px;
}

#personality dl .box{
	margin-top:20px;
	background:#FCEDF0;
	padding:5%;
	box-shadow:0px 0px 5px 0px rgba(0, 0, 0, 0.3);
}

#personality dl .box dd{
	padding-right:3%;
	padding-left:3%;
}

#personality dt{
	margin-bottom:10px;
}

#personality dd .step_text{
	color:#333333;
	font-weight:bold;
	margin-bottom:10px;
}

#personality dl a{
	text-decoration:underline;
	color:#E64966;
}

#personality dd p,
#personality dd div{
	overflow:hidden;
	position:relative;
}

#personality .presetBtn a{
	background:#E64966;
}

#personality .presetBtn input{
	background:#E64966;
}
#personality .presetBtn4 a{
	background:#777777;
}

#personality .presetBtn3 a{
	background:#E64966;
}

#personality .presetBtn3 input{
	background:#E64966;
}

#personality .ex img{
    max-width:100%;
    width:100%;
    height:auto;
}

#personality .center {
	margin:0;
	padding:0;
}
#personality .txt-center {
	text-align:center;
}
#personality .mgb-30 {
	margin-bottom:30px;
}
#personality .height-80 {
	height: 80px;
}
#personality .mgt-20 {
	margin-top:20px;
}
#personality .mg-20 {
	margin:20px;
}
#personality .bg-y {
	background-color: #fff2cc;
}
#personality .ex,#personality .q {
    padding: 1em;
    margin: 1em 0;
    border: solid 5px #AEBBD0;
}
#personality .ex p {
    text-align:left;
	text-indent:1em;
	line-height:1.8em;
}
#personality .q p {
	font-size: 1.2em;
	line-height:1.2em;
	text-align:center;
}
#personality .ex p.header {
    font-size: 1.2em;
	margin-top:20px;
}
#personality .progress {
	margin: 1em 0;
}
#personality .progress p {
	font-size: 15pt;
	text-align:center;
}
#personality .message {
	font-size: 12pt;
	margin:0 auto;
	padding:1em;
}
#personality .btn-go,#personality .btn-next {
	display: inline-block;
	text-align: center;
	border: 2px solid #ee0066;
	font-size: 16pt;
	color: #ee0066;
	text-decoration: none;
	font-weight: bold;
	padding: 12px 0;
	width:100%;
	border-radius: 4px;
	transition: .4s;
}
#personality .btn-go:hover,#personality .btn-next:hover {
	background-color: #ee0066;
	border-color: #ee0066;
	color: #FFF;
	text-decoration: none;
}
#personality .sel {
	display:table;
	width:100%;
}
#personality .sel .row{
	display:table-row;
}
#personality .sel .cell{
	display:table-cell;
	height:100%;
}
#personality .sel input[type="radio"] {
	display:none; 
}
#personality .sel label {
	display:inline-block;
	background-color: #f5f5f5;
	color: #666666;
	border: 2px solid #808080;
	font-size: 12pt;
	width:98%;
	padding:12px 0;
	border-radius: 4px;
	font-weight: bold;
	text-align:center;
}
#personality .sel input[type="radio"]:checked + label { 
	background-color: #004a5b;
	border-color: #004a5b;
	color: #FFF;
	text-decoration: none;
}

#personality .result-midashi {
    background-color: #fff2cc;
    margin-bottom:1em;
    padding: 1em;
	position: relative;
	text-align:center;
}
#personality .result-midashi::after {
    content: "";
    border-color: #cdc3a4 #fff #fff #cdc3a4;
    border-style: solid;
    border-width: 0 0 24px 24px;
    bottom: 0;
    position: absolute;
    right: 0;
}
#personality .result-midashi .type {
	color: #0070c0;
	font-weight:bold;
}
#personality .result-img {
	width:70%;
	max-width:300px;
	margin:0 auto;
}
#personality .result-detail {
	background-color: #c2eeff; /* 変更前；#ddffff #c2eeff #2e75b6; */
	color:black; /* 変更前；#fff; */
    /* margin: 1em 2em 2em 2em; */
    margin: 1em 0;
    /* padding: 2em; */
    padding: 1em;
    position: relative;
	border-radius: 20px;/*角の丸み*/
	text-align:left;
}
#personality .result-detail hr {
	border-width: 2px 0px 0px 0px; /* 太さ */
	border-style: solid; /* 線種 */
	border-color: #0070c0;   /* 線色 変更前；#fff; */
	height: 2px;         /* 高さ(※古いIE用) */
    margin: 1em 0;
}
#personality .result-detail2 {
	background-color: #ffe699;
	color:black;
	/* margin: 1em 2em 2em 2em; */
	margin: 1em 0;
	/* padding: 2em; */
	padding: 1em;
	position: relative;
	border-radius: 20px;/*角の丸み*/
	text-align:left;
}
#personality .result-detail2 hr {
	border-width: 2px 0px 0px 0px; /* 太さ */
	border-style: solid; /* 線種 */
	border-color: #dc143c;   /* 線色 変更前；#fff; */
	height: 2px;         /* 高さ(※古いIE用) */
	margin: 1em 0;
}