@charset "utf-8";

* {
  box-sizing: border-box;
}
body {
  margin: 0;
  padding: 0;
  background: url("../img/common/bg.jpg");
  color: #333;
  font-family: "新丸ゴ M", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 18px;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}
@media (max-width: 767px) {
  body {
    font-size: 16px;
    line-height: 1.6;
  }
}

h1,h2,h3,h4,h5,h6 {
	margin: 0;
	font-size: 100%;
	font-weight: normal;
	line-height: 1.5;
}
p {
	margin: 0;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
ol {
	margin: 0;
	padding: 0 0 0 24px;
}
dl,dt,dd {
	margin: 0;
	padding: 0;
}
a,
.a {
	color: #30c;
	text-decoration: none;
	transition: .4s ease;
	cursor: pointer;
}
a:hover,
.a:hover {
	opacity: 0.6;
}
a img {
	border: none;
}
img {
	width: auto\9;
	height: auto;
	max-width: 100%;
	border: 0;
	vertical-align: middle;
	-ms-interpolation-mode: bicubic;
}
figure {
  margin: 0;
  padding: 0;
}



/* ---------------- general */
.-mobile {
  display: none;
}
@media (max-width: 767px) {
  .-pc {
    display: none;
  }
  .-mobile {
    display: block;
  }
}


/* ---------------- layout */
#wrap {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 980px;
  height: 522px;
  background: rgba(255, 255, 255, 0.5);
  border: 2px solid rgba(255, 128, 128, 0.2);
  border-radius: 20px;
  transform: translate(-50%, -50%);
}
@media (max-width: 1023px) {
  #wrap {
    overflow: hidden;
    position: relative;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    border: none;
    border-radius: 0;
    transform: none;
  }
}


/* ---------------- outBlock */
.outBlock {
  position: absolute;
  z-index: 10;
  top: calc(100% + 8px);
  left: 0;
  width: 100%;
  height: 48px;
}
.outBlock .kokoro {
  position: absolute;
  top: 50%;
  left: 0;
  width: 119px;
  transform: translate(0, -50%);
}
.outBlock .goverment {
  position: absolute;
  top: 50%;
  right: 0;
  width: 120px;
  transform: translate(0, -50%);
}
.outBlock .shareArea {
  position: absolute;
  top: 50%;
  left: 160px;
  width: 280px;
  height: 32px;
  transform: translate(0, -50%);
}
.outBlock .shareArea .btnShare {
  display: none;
}
@media (max-width: 1023px) {
  .outBlock {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: 64px;
    background: url("../img/common/bg.jpg");
    border-bottom: 2px solid rgba(255, 128, 128, 0.2);
  }
  .outBlock .kokoro {
    left: 16px;
  }
  .outBlock .goverment {
    right: 16px;
  }
}
@media (max-width: 767px) {
  .outBlock {
    height: 60px;
  }
  .outBlock .kokoro {
    width: 112px;
  }
  .outBlock .goverment {
    width: 80px;
  }
  .outBlock .shareArea {
    position: fixed;
    top: auto;
    left: auto;
    bottom: 64px;
    right: -160px;
    width: 160px;
    height: auto;
    padding: 16px;
    background: rgba(255, 128, 128, 0.5);
    border-radius: 10px 0 0 0;
    transform: translate(0, 0);
    transition: 0.5s cubic-bezier(1, 0, 0, 1);
  }
  .outBlock .shareArea.-active {
    right: 0;
  }
  .outBlock .shareArea .btnShare {
    display: block;
    position: absolute;
    bottom: 0;
    right: 100%;
    width: 40px;
    height: 40px;
    padding: 6px 8px;
    background: rgba(255, 128, 128, 0.5);
    border-radius: 10px 0 0 10px;
  }
}



/* ---------------- header */
header {
  overflow: hidden;
  position: relative;
  height: 50px;
  padding: 0 18px;
  border-bottom: 2px solid rgba(255, 128, 128, 0.2);
}
header .head li {
  display: flex;
  align-items: center;
  position: absolute;
  top: -50px;
  height: 50px;
  color: #666;
  font-size: 14px;
  line-height: 1.4;
  transition: 0.5s cubic-bezier(1, 0, 0, 1);
}
header .head li.-active {
  top: 0;
  transition-delay: .5s;
}
/*
header .progressbar {
  display: flex;
  gap: 6px;
  position: absolute;
  top: calc(50% - 50px);
  right: 18px;
  transform: translate(0, -50%);
  transition: 0.5s cubic-bezier(1, 0, 0, 1);
}
header .progressbar.-active {
  top: 50%;
  transition-delay: .5s;
}
header .progressbar li {
  opacity: 0.2;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #ff8080;
  transition: 0.5s cubic-bezier(1, 0, 0, 1);
}
header .progressbar li.-active {
  opacity: 0.7;
}
header .progressbar li.-done {
  opacity: 0.7;
}
*/
@media (max-width: 1023px) {
  header {
    overflow: hidden;
    transition: 0.5s cubic-bezier(1, 0, 0, 1);
  }
  header.-hide {
    height: 0;
    border-bottom-width: 0;
  }
}
@media (max-width: 767px) {
  header {
    height: 70px;
  }
  header .head li {
    height: 48px;
    font-size: 12px;
  }
  /*
  header .progressbar.-active {
    gap: 6px;
    top: auto;
    right: auto;
    bottom: 8px;
    left: 16px;
  }
  header .progressbar li {
    width: 6px;
    height: 6px;
  }
  */
}

/* progressbar */
.progressbar {
  position: absolute;
  top: calc(50% - 50px);
  right: 30px;
  width: 370px;
  height: 12px;
  background: rgba(244 216 216 / 50%);
  translate: 0 -50%;
  transition: .5s cubic-bezier(1, 0, 0, 1);
}
.progressbar.-active {
  top: 50%;
}
.progressbar::before {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  background: rgba(244 216 216 / 50%);
  border-radius: 50%;
  translate: -50% 0;
}
.progressbar::after {
  content: '';
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 12px;
  height: 12px;
  background: rgba(244 216 216 / 50%);
  border-radius: 50%;
  translate: 50% 0;
}
.progressbar .dots {
  opacity: .5;
  display: flex;
  justify-content: space-between;
  position: absolute;
  z-index: 1;
  top: 2px;
  left: -3px;
  width: calc(100% + 6px);
  height: 8px;
}
.progressbar .dots li {
  width: 8px;
  height: 8px;
  background: #ff9494;
  border-radius: 50%;
}
.progressbar .bar {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 0;
  width: 0;
  height: 12px;
  background: #ff9494;
  transition: .2s cubic-bezier(1, 0, 0, 1);
}
.progressbar .bar::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 12px;
  height: 12px;
  background: #ff9494;
  border-radius: 50%;
  translate: -50% 0;
}
.progressbar .bar::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0;
  width: 6px;
  height: 6px;
  background: #ff9494;
  border: 3px solid #ff9494;
  border-radius: 50%;
  translate: 50% -50%;
  transition: .2s cubic-bezier(1, 0, 0, 1);
}
.progressbar.-on .bar::after {
  width: 14px;
  height: 14px;
  background: #fff;
  border: 3px solid #ff9494;
}
@media (max-width: 767px) {
  .progressbar {
    width: calc(100% - 48px);
    right: 24px;
  }
  .progressbar.-active {
    top: 48px;
  }
}



/* ---------------- footer */
footer {
  overflow: hidden;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 48px;
}
footer ul {
  display: flex;
  gap: 24px;
  position: relative;
  top: 0;
  padding: 0 18px;
  transform: translate(0, 48px);
  transition: 0.5s cubic-bezier(1, 0, 0, 1);
}
footer ul.-active {
  transform: translate(0, 0);
  transition-delay: .5s;
}
footer .a {
  color: #666;
  font-size: 12px;
  line-height: 48px;
}
footer .a::before {
  content: '';
  opacity: 0.8;
  display: inline-block;
  margin-right: 8px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 10px solid #ff8080;
  vertical-align: middle;
}
@media (max-width: 1023px) {
  footer {
    position: static;
    width: auto;
    height: auto;
  }
  footer ul {
    padding: 0 16px;
    background: url("../img/common/bg.jpg");
    border-top: 2px solid rgba(255, 128, 128, 0.2);
  }
}



/* ---------------- article */
main {
  overflow: hidden;
}
article {
  display: flex;
  position: relative;
  left: 0;
  width: auto;
  transition: 0.5s cubic-bezier(1, 0, 0, 1);
}
article.js-sections {
  opacity: 0;
}
article.js-sections.-load {
  opacity: 1;
}
article section {
  position: relative;
  width: 976px;
  height: 469px;
}
.l-container {
  padding: 18px;
}
.question {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  width: 100%;
  height: 280px;
  font-family: "新丸ゴ M", sans-serif;
  font-size: 38px;
  text-align: center;
  line-height: 1.5;
}
.question .-min {
  display: inline-block;
  font-size: 23px;
}
.-color0 .question {
  color: #a9cc96;
}
.-color1 .question {
  color: #8cc1ce;
}
.-color2 .question {
  color: #8daed8;
}
.-color3 .question {
  color: #bf9ac8;
}
.-color4 .question {
  color: #e58627;
}
/*
.-ch2 .question {
  color: #a9cc96;
}
.-ch3 .question {
  color:#8cc1ce;
}
.-ch4 .question {
  color:#8daed8;
}
.-ch5 .question {
  color:#9898c7;
}
.-ch6 .question {
  color:#bf9ac8;
}
.-ch7 .question {
  color:#999;
}
*/
.question .img {
  width: 200px;
}
.btnChoice {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 32px;
}
.btnChoice li {
  width: 220px;
}
.btnChoice .a {
  display: block;
  background: #ccc;
  border: 2px solid #999;
  border-radius: 10px;
  font-family: "新丸ゴ M", sans-serif;
  font-size: 18px;
  text-align: center;
  line-height: 46px;
}
.btnChoice li:nth-child(1) .a {
  background: #FFF4E9;
  border-color: #FAE4D2;
  color: #E58627;
}
.btnChoice li:nth-child(2) .a {
  background: #EFF9EA;
  border-color: #D8EBCE;
  color: #58A62E;
}
.btnChoice li:nth-child(3) .a {
  background: #ECF8FB;
  border-color: #D1E8ED;
  color: #39A4BF;
}
.btnChoice li:nth-child(4) .a {
  background: #EAEFF8;
  border-color: #D3DEEE;
  color: #4569A6;
}
@media (max-width: 1023px) {
  article {
    align-items: flex-start;
  }
  article section {
    width: 100vw;
    height: auto;
    transition: 0.5s cubic-bezier(1, 0, 0, 1);
  }
  .l-container {
    padding: 16px 16px 56px;
  }
  .question {
    height: 72px;
    font-size: 20px;
  }
  .question .-min {
    font-size: 14px;
  }
  .question .img {
    display: none;
  }
  .btnChoice {
    flex-wrap: wrap;
    gap: 16px;
    width: 220px;
    margin: 16px auto 0;
  }
}

/* attention */
.p-attention {
  opacity: 0;
  position: absolute;
  top: 40px;
  right: 20px;
  translate: 24px 0;
  transition: .2s cubic-bezier(1, 0, 0, 1);
  transition-delay: .5s;
}
.p-attention figure {
  overflow: hidden;
  width: 80px;
  height: 80px;
  border: 4px solid #ff9494;
  border-radius: 50%;
}
.p-attention figure img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}
.p-attention .message {
  opacity: 0;
  position: absolute;
  top: -10px;
  right: calc(100% + 4px);
  min-width: 164px;
  padding: 8px 20px;
  background: #ff9494;
  border-radius: 20px;
  color: #fff;
  font-size: 16px;
  text-align: center;
  line-height: 1.5;
  letter-spacing: 0.05em;
  white-space: nowrap;
  scale: .5;
  transition: .8s linear(0, 1.32, 0.87, 1.05, 0.98, 1.01, 1, 1);
  transition-delay: .6s;
}
.p-attention .message::after {
  content: '';
  position: absolute;
  top: calc(100% - 1px);
  right: 20px;
  width: 10px;
  height: 10px;
  clip-path: polygon(0 0, 100% 0, 100% 100%);
  background: #ff9494;
}
.-active .p-attention {
  opacity: 1;
  translate: 0 0;
}
.-active .p-attention .message {
  opacity: 1;
  scale: 1;
}
@media (max-width: 1023px) {
  .p-attention {
    position: static;
    padding: 8px 0;
  }
  .p-attention .wrap {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-start;
    justify-content: center;
    gap: 8px;
  }
  .p-attention .message {
    position: relative;
    top: 0;
    right: 0;
    translate: 0 -8px;
  }
}

/* cover */
.cover .l-container {
  max-width: 700px;
  margin: 0 auto;
  padding: 56px 0 0;
  font-family: "新丸ゴ R JIS2004", sans-serif;
}
.cover .head {
  position: relative;
  z-index: 1;
  width: 75%;
  margin-bottom: 24px;
}
.cover .-note {
  display: inline-block;
  margin-top: 8px;
  font-size: 16px;
}
.cover .img {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  width: 360px;
  height: 320px;
  text-align: center;
}
.cover .img img {
  width: 100%;
  max-width: 240px;
}
.cover .next {
  position: relative;
  z-index: 1;
  margin-top: 32px;
}
.cover .next .a {
  display: block;
  width: 220px;
  background: #ECF8FB;
  border: 2px solid #D1E8ED;
  border-radius: 10px;
  color: #39A4BF;
  font-family: "新丸ゴ M", sans-serif;
  font-size: 18px;
  text-align: center;
  line-height: 46px;
}
@media (max-width: 1023px) {
  .cover .l-container {
    padding: 16px 16px 56px;
  }
  .cover .head {
    width: auto;
  }
  .cover p {
    padding: 0 16px;
    font-size: 15px;
  }
  .cover .-note {
    font-size: 13px;
  }
  .cover .-min {
    font-size: 13px;
  }
  .cover .img {
    display: block;
    position: static;
    width: 150px;
    height: auto;
    margin: 24px auto;
  }
  .cover .next {
    width: 220px;
    margin: 0 auto;
  }
}

/* start */
.cover.-start .l-container {
  padding: 32px 0 0;
}
.cover.-start .title {
  position: relative;
  z-index: 1;
  width: 85%;
  max-width: 416px;
  margin-bottom: 16px;
}
.cover.-start .lead {
  position: relative;
  z-index: 1;
  max-width: 520px;
}
.cover.-start .btnChoice {
  justify-content: flex-start;
}
.cover.-start .btnChoice  .a {
  background: #FAEBEB;
  border-color: #F4D8D8;
  color: #C73C3C;
}
.cover.-start .contentsNote {
  position: relative;
  z-index: 1;
  margin-top: 16px;
  font-family: "新丸ゴ R JIS2004", sans-serif;
  font-size: 11px;
}
.cover .link {
  position: relative;
  z-index: 1;
  font-family: "新丸ゴ R JIS2004", sans-serif;
  font-size: 11px;
}
.cover .link a {
  color: #333;
}
.cover .link a::before {
  content: '';
  opacity: 0.8;
  display: inline-block;
  margin-right: 4px;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 6px solid #ff8080;
  vertical-align: middle;
  transform: translate(0, -2px);
}
@media (max-width: 1023px) {
.cover.-start .l-container {
    padding: 16px;
  }
  .cover.-start .group {
    display: block;
    margin-bottom: 24px;
  }
  .cover.-start .title {
    width: 80;
    margin-bottom: 16px;
  }
  .cover.-start .group .img {
    width: auto;
    margin: 0;
  }
  .cover.-start .lead {
    margin-bottom: 24px;
    padding: 0;
    font-size: 13px;
  }
  .cover.-start .contentsNote {
    padding: 0;
  }
}

/* end */
.cover.-end .l-container {
  max-width: none;
  padding: 18px;
}
.cover.-end .endtxt {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  width: 100%;
  height: 280px;
  color: #C73C3C;
  font-size: 32px;
  text-align: center;
  line-height: 1.5;
}
.cover.-end .img {
  display: block;
  position: static;
  width: 235px;
  height: auto;
}
.cover.-end .btnResult {
  margin-top: 32px;
  text-align: center;
}
.cover.-end .btnResult button {
  display: inline-block;
  width: 300px;
  background: #FAEBEB;
  border: 2px solid #F4D8D8;
  border-radius: 10px;
  color: #C73C3C;
  font-family: "新丸ゴ M", sans-serif;
  font-size: 18px;
  text-align: center;
  line-height: 46px;
  cursor: pointer;
  transition: .4s ease;
}
.cover.-end .btnResult button:hover {
  opacity: 0.6;
}
.cover.-end .btnResult button:not(.-active) {
  opacity: .3;
  pointer-events: none;
}
.cover.-end .link {
  margin-top: 16px;
  text-align: center;
}
@media (max-width: 1023px) {
  .cover.-end .l-container {
      padding: 56px 16px;
    }
  .cover.-end .endtxt {
    display: block;
    height: auto;
    font-size: 16px;
  }
  .cover.-end .img {
    width: 150px;
    margin: 24px auto 0;
    text-align: center;
  }
  .cover.-end .btnResult {
    margin-top: 24px;
  }
  .cover.-end .btnResult button {
    width: 220px;
  }
}


/* ---------------- result */
.resultView {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
@media (max-width: 1023px) {
  .resultView {
    display: none;
  }
}


/* ---------------- result */
/* layout */
#resultWrap {
  padding: 24px 0;
  font-size: 16px;
}
#resultWrap .l-container{
  max-width: 1012px;
  margin: 0 auto;
  padding: 0 16px;
}
.resultArea {
  background: rgba(255, 255, 255, 0.5);
  border: 2px solid rgba(255, 128, 128, 0.2);
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  #resultWrap {
    padding: 60px 0 0;
  }
  #resultWrap .l-container {
    padding: 0;
  }
  .resultArea {
    background: rgba(255, 255, 255, 0.5);
    border: none;
    border-radius: 0;
  }
}

/* header */
.resultHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 56px;
  padding: 0 18px;
  border-bottom: 2px solid rgba(255, 128, 128, 0.2);
  font-size: 14px;
}
.resultHeader .date {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 13px;
}
@media screen and (max-width: 767px) {
  .resultHeader {
    display: block;
    height: auto;
    padding: 8px 16px;
  }
  .resultHeader h1 {
    margin-bottom: 4px;
  }
  .resultHeader .date {
    font-size: 12px;
  }
}

/* footer */
.resultFooter {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 16px;
}
.resultFooter .kokoro {
  width: 129px;
}
.resultFooter .goverment {
  width: 120px;
}
@media screen and (max-width: 767px) {
  .resultFooter {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 60px;
    margin-top: 0;
    padding: 0 16px;
    background: url("../img/common/bg.jpg");
    border-bottom: 2px solid rgba(255, 128, 128, 0.2);
  }
  .resultFooter .kokoro {
    width: 112px;
  }
  .resultFooter .goverment {
    width: 80px;
  }
}

/* main */
.resultArea main {
  padding: 20px 38px;
}
.resultArea main h2 {
  margin-bottom: 24px;
  padding-bottom: 4px;
  border-bottom: 3px solid #ff9494;
  font-size: 22px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .resultArea main {
    padding: 16px 16px 0;
  }
  .resultArea main h2 {
    font-size: 18px;
  }
}

/* head */
.resultHead .wrap {
  display: grid;
  grid-template-columns: 195px 1fr;
  gap: 64px;
  align-items: center;
  padding: 24px 40px;
  background: #eee;
  border-radius: 16px;
}
.resultHead .wrap::before {
  content: '';
  display: block;
  aspect-ratio: 195 / 100;
  max-width: 195px;
  background: url("../img/result_cp.png") no-repeat center center / contain;
}
.resultHead .wrap.-cp {
  background: #d4edfe;
}
.resultHead .wrap.-cp::before {
  background-image: url("../img/result_cp.png");
}
.resultHead .wrap.-np {
  background: #fbecb0;
}
.resultHead .wrap.-np::before {
  background-image: url("../img/result_np.png");
}
.resultHead .wrap.-a {
  background: #fed7d7;
}
.resultHead .wrap.-a::before {
  background-image: url("../img/result_a.png");
}
.resultHead .wrap.-fc {
  background: #d4f1ce;
}
.resultHead .wrap.-fc::before {
  background-image: url("../img/result_fc.png");
}
.resultHead .wrap.-ac {
  background: #f1daf7;
}
.resultHead .wrap.-ac::before {
  background-image: url("../img/result_ac.png");
}
.resultHead .bodyGroup {
  font-size: 26px;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.resultHead .bodyGroup .head {
  margin-bottom: 8px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .resultHead .wrap {
    display: block;
    padding: 16px;
    border-radius: 8px;
  }
  .resultHead .wrap::before {
    margin: 0 auto 16px;
  }
  .resultHead .bodyGroup {
    font-size: 18px;
  }
  .resultHead .bodyGroup .head {
    font-size: 14px;
  }
}

/* chart */
.resultChart {
  margin-top: 24px;
}
.chartItems {
  display: grid;
  grid-template-columns: 36px repeat(5, 1fr);
  gap: 8px;
  text-align: center;
}
.chartItems .item {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  gap: 10px;
}
.chartItems .item.-value p {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 68px;
  background: #eee;
  border-radius: 4px;
  font-size: 20px;
}
.chartItems .item p.section {
  font-size: 20px;
}
.chartItems .item span {
  background: #eee;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100px;
}
.chartItems .item.-cp span {
  background-color: #e4f3fd;
}
.chartItems .item.-cp span.-active {
  background-image: url("../img/result_cp.png");
  background-color: #addeff;
}
.chartItems .item.-np span {
  background-color: #fbf2ce;
}
.chartItems .item.-np span.-active {
  background-image: url("../img/result_np.png");
  background-color: #fadc64;
}
.chartItems .item.-a span {
  background-color: #fde6e6;
}
.chartItems .item.-a span.-active {
  background-image: url("../img/result_a.png");
  background-color: #ffb2b2;
}
.chartItems .item.-fc span {
  background-color: #e4f5e1;
}
.chartItems .item.-fc span.-active {
  background-image: url("../img/result_fc.png");
  background-color: #ace6a1;
}
.chartItems .item.-ac span {
  background-color: #f5e7f9;
}
.chartItems .item.-ac span.-active {
  background-image: url("../img/result_ac.png");
  background-color: #e6b8f2;
}
@media screen and (max-width: 767px) {
  .chartItems {
    grid-template-columns: 24px repeat(5, 1fr);
  }
  .chartItems .item {
    gap: 8px;
  }
  .chartItems .item.-value p {
    height: 56px;
    font-size: 14px;
  }
  .chartItems .item p.section{
    font-size: 14px;
  }
  .chartItems .item span.-active {
    background-size: 80% !important;
  }
}

/* comment */
.resultComment {
  margin-top: 24px;
}
.commentGroup .group + .group {
  margin-top: 28px;
}
.commentGroup .group {
  padding: 24px 38px;
  border: 2px solid #ffcdcd;
  border-radius: 16px;
}
.commentGroup p:not(.head) {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 16px;
}
.commentGroup p.head {
  margin-bottom: 16px;
  font-size: 20px;
  line-height: 1.5;
}
.commentGroup p.head em {
  background: #eee;
  font-size: 24px;
  font-style: normal;
}
.commentGroup p.head em.-cp {
  background: #d4edfe;
}
.commentGroup p.head em.-np {
  background: #fbecb0;
}
.commentGroup p.head em.-a {
  background: #fed7d7;
}
.commentGroup p.head em.-fc {
  background: #d4f1ce;
}
.commentGroup p.head em.-ac {
  background: #f1daf7;
}
.commentGroup p.note {
  margin-top: 28px;
  font-size: 12px;
}
@media screen and (max-width: 767px) {
  .commentGroup .group + .group {
    margin-top: 16px;
  }
  .resultComment .group {
    padding: 16px;
  }
  .commentGroup p.head {
    margin-bottom: 8px;
    font-size: 16px;
  }
  .commentGroup p.head em {
    font-size: 18px;
  }
  .commentGroup p:not(.head) {
    font-size: 14px;
  }
  .commentGroup p.note {
    margin-top: 16px;
  }
}

/* elearning */
.elearning {
  margin-top: 48px;
}
.elearning .head {
  margin-bottom: 16px;
  font-size: 20px;
  line-height: 1.5;
}
.elearning p:not(.head) {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 18px;
}
.elearning .btn {
  margin-top: 32px;
  text-align: center;
}
.elearning .btn a {
  display: inline-block;
  padding: 0 24px;
  background: #FAEBEB;
  border: 2px solid #F4D8D8;
  border-radius: 10px;
  color: #C73C3C;
  font-size: 18px;
  text-align: center;
  line-height: 46px;
}
@media screen and (max-width: 767px) {
  .elearning .head {
    font-size: 16px;
  }
  .elearning p:not(.head) {
    font-size: 14px;
  }
  .elearning .btn a {
    padding: 8px 16px;
    font-size: 16px;
    line-height: 1.5;
  }
}

/* save */
.resultSave {
  margin: 56px 0 0;
  padding: 20px 0 0;
  border-top: 2px solid #f9eeea;
}
.resultSave .attention {
  margin-bottom: 32px;
  color: #A34646;
  font-size: 12px;
}
.resultSave .attention .head {
  margin-bottom: 8px;
  font-size: 18px;
}
.resultSave .download {
  font-size: 12px;
}
.resultSave .download .head {
  margin-bottom: 8px;
  font-size: 13px;
}
.resultSave .download p:not(.head) {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
.resultSave .download .note {
  margin-top: 8px;
}
.resultSave .btnGroup {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 32px;
  margin-top: 20px;
}
.resultSave .btnGroup a,
.resultSave .btnGroup .a {
  display: inline-block;
  width: 220px;
  background: #FAEBEB;
  border: 2px solid #F4D8D8;
  border-radius: 10px;
  color: #C73C3C;
  font-size: 18px;
  text-align: center;
  line-height: 46px;
}
.resultSave .btnGroup .print .a {
  background: #FFF4E9;
  border-color: #FAE4D2;
  color: #E58627;
}
.resultSave .btnGroup .pdf a {
  background: #EFF9EA;
  border-color: #D8EBCE;
  color: #58A62E;
}
.resultSave .link {
  margin-top: 16px;
  text-align: center;
}
.resultSave .link a {
  position: relative;
  z-index: 1;
  color: #333;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 11px;
}
.resultSave .link a::before {
  content: '';
  opacity: 0.8;
  display: inline-block;
  margin-right: 4px;
  border-top: 3px solid transparent;
  border-bottom: 3px solid transparent;
  border-left: 6px solid #ff8080;
  vertical-align: middle;
  transform: translate(0, -2px);
}
@media screen and (max-width: 767px) {
  .resultSave {
    margin: 40px 0 0;
    padding: 40px 16px 0;
  }
  .resultSave .attention .head {
    font-size: 16px;
  }
  .resultSave .btnGroup .print {
    display: none;
  }
}

/* prev */
.resultPrev {
  margin-top: 16px;
}
.resultPrev a {
  color: #666;
  font-size: 12px;
}
.resultPrev a::before {
    content: '';
    opacity: 0.8;
    display: inline-block;
    margin-right: 8px;
    border-top: 6px solid transparent;
    border-bottom: 6px solid transparent;
    border-right: 10px solid #ff8080;
    vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .resultPrev {
    height: 48px;
    margin: 40px -16px 0;
    padding: 0 16px;
    background: url(../img/common/bg.jpg);
    border-top: 2px solid rgba(255, 128, 128, 0.2);
  }
  .resultPrev a {
    line-height: 48px;
  }
}
@media print {
  body {
    width: 980px;
  }
  #resultWrap {
    padding: 0;
  }
  #resultWrap .l-container {
    padding: 0;
  }
  .resultArea {
    border: none;
  }
  .resultHeader {
    border-bottom: none;
  }
  .resultAdvice {
    display: none;
  }
  .resultSave {
    display: none;
  }
  .resultPrev {
    display: none;
  }
}


/* ---------------- advice */
.advice .


/* layout */
.-advice #wrap {
  position: static;
  transform: none;
}
.-advice header {
  height: 48px;
}
.-advice footer ul {
  transform: none;
}
.-advice footer a {
  color: #666;
  font-size: 12px;
  line-height: 48px;
}
.-advice footer a::before {
  content: '';
  opacity: 0.8;
  display: inline-block;
  margin-right: 8px;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-right: 10px solid #ff8080;
  vertical-align: middle;
}
@media (max-width: 1023px) {
  .-advice article {
    height: auto;
  }
}

/* advice */
.advice {
  padding: 14px 20px 0;
}
.advice h1 {
  margin-bottom: 24px;
  padding-bottom: 8px;
  border-bottom: 4px solid #FF8080;
  font-size: 24px;
}
.advice h1 {
  margin-bottom: 24px;
  padding-bottom: 8px;
  border-bottom: 4px solid #FF8080;
  font-size: 24px;
}
.advice h2 {
  position: relative;
  margin-bottom: 24px;
  padding-bottom: 8px;
  border-bottom: 2px solid #EBE5D3;
  font-size: 16px;
}
.advice h2::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 0;
  width: 320px;
  height: 2px;
  background: #FF8080;
}
.advice .lead {
  margin-bottom: 40px;
  font-family: "新丸ゴ R JIS2004", sans-serif;
  font-size: 16px;
}
.advice .linkGroup {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 24px;
}
.advice .linkGroup .h {
  margin-bottom: 8px;
  font-family: "新丸ゴ R JIS2004", sans-serif;
  font-size: 14px;
  text-align: center;
  line-height: 1.5;
}
.advice .linkGroup a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 80px;
  padding: 8px 8px 8px 56px;
  background: #fff;
  border: 2px solid #F2ECDA;
  border-radius: 10px;
  color: #333;
  font-size: 18px;
  line-height: 1.5;
}
.advice .linkGroup .img {
  width: 60px;
  height: 60px;
  background: #ccc;
}
.advice .linkGroup p {
  flex: 1;
}
.advice .linkGroup .shoulder {
  display: block;
  font-size: 14px;
}
@media (max-width: 1023px) {
  .advice {
    padding: 0;
  }
  .advice .linkGroup {
    grid-template-columns: 1fr;
    max-width: 458px;
    margin: 0 auto;
  }
}
@media (max-width: 767px) {
  .advice h1 {
    margin-bottom: 16px;
    padding-bottom: 8px;
    font-size: 22px;
  }
  .advice .lead {
    font-size: 16px;
  }
  .advice .linkGroup a {
    padding: 8px 16px;
    font-size: 16px;
  }
  .advice .linkGroup .h {
    text-align: left;
  }
 .advice .linkGroup .img {
    width: 40px;
    height: 40px;
  }
  .advice h2 {
    font-size: 16px;
  }
}



/* ---------------- rate */
#rate {
  margin-top: 40px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
.rate .head {
  margin-bottom: 8px;
  font-size: 14px;
}
.rate .head::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  background: url("../img/common/ico_rate.png") no-repeat center center / contain;
  vertical-align: middle;
}
.rate .group {
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: #f5f5f5;
  border-radius: 4px;
}
.rate .rateBtn {
  display: block;
  color: #666;
  font-size: 14px;
  text-align: center;
  line-height: 40px;
  cursor: pointer;
  transition: .4s ease;
}
.rate .rateBtn:hover {
  opacity: 0.6;
}
.rate .rateBtn + .rateBtn {
  border-left: 1px solid #e0e0e0;
}
.rate-comment {
  display: none;
  position: fixed;
  z-index: 10;
  top: 50%;
  left: 50%;
  width: 90%;
  max-width: 700px;
  padding: 24px 32px 32px;
  background: #f5f5f5;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  font-size: 14px;
  transform: translate(-50%, -50%);
}
.rate-head {
  margin-bottom: 16px;
  font-size: 24px;
}
.rate-comment p {
  margin-bottom: 8px;
  font-size: 14px;
}
.rate-comment textarea {
  outline: none;
  width: 100%;
  height: 118px;
  margin-bottom: 24px;
  padding: 8px;
  border-radius: 4px;
  border: 1px solid #ccc;
}
.rate-comment .btnSubmit {
  display: block;
  width: 100%;
  max-width: 240px;
  margin: 0 auto;
  border-radius: 20px;
  background: #ff8080;
  color: #fff;
  font-size: 16px;
  text-align: center;
  line-height: 40px;
}
.rate-comment .btnClose {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 34px;
  height: 34px;
}
.rate-comment .btnClose::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #ff8080;
  transform: translate(0, -50%) rotate(45deg);
}
.rate-comment .btnClose::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  background: #ff8080;
  transform: translate(0, -50%) rotate(-45deg);
}
@media (max-width: 767px) {
  .rate .head {
    font-size: 13px;
  }
  .rate .group {
    grid-template-columns: 1fr;
    border: 1px solid #e0e0e0;
  }
  .rate .rateBtn + .rateBtn {
    border-left: none;
    border-top: 1px solid #e0e0e0;
  }
  .rate-comment {
    padding: 40px 16px 32px;
  }
  .rate-head {
    font-size: 16px;
  }
  .rate-comment textarea {
    height: 80px;
  }
  .rate-comment .btnClose {
    width: 24px;
    height: 24px;
  }
}

#pdfWrap {
  width: 1012px;
  margin: 0 auto;
  padding: 0;
  font-size: 16px;
}
#pdfWrap .l-container {
  margin: 0 auto;
  padding: 0 16px;
}
.pdfArea{
  padding: 60px 40px;
}
.pdfHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.pdfHeader .kokoro {
  width: 129px;
}
.pdfHeader .kokoro img {
  width: 100%;
  height: auto;
}
.pdfHeader .text {
  width: 600px;
  font-family: "新丸ゴ M", sans-serif;
  font-size: 8pt;
}
.pdfHeader .goverment {
  width: 120px;
}
.pdftitle{
  margin-bottom: 10px;
}
.pdfHead {
  margin-bottom: 40px; 
}
.pdfHead .head {
  margin-bottom: 20px;
  padding: 20px;
  border-radius: 10px;
  font-size: 24px;
  text-align: center;
}
.result1 .pdfHead .head {
  background: #FFF4E9;
  color: #E58627;
}
.result2 .pdfHead .head {
  background: #EFF9EA;
  color: #58A62E;
}
.result3 .pdfHead .head {
  background: #ECF8FB;
  color: #39A4BF;
}
.result4 .pdfHead .head {
  background: #D3DEEE;
  color: #4569A6;
}
.pdfHead .body {
  padding: 0 20px;
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 20px;
}
.pdfFooter {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px;
}
.pdfFooter .date {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
  font-size: 8px;
}
.copy{
  font-size: 70%;
}



/* ---------------- pdf */
.loadMessage {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 100%;
  padding: 0 16px;
  font-size: 18px;
  text-align: center;
  translate: -50% -50%;
}



/* ---------------- loading */
.loading {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 160px;
  height: 160px;
  background: rgba(0 0 0 / 56%);
  border-radius: 8px;
  translate: -50% -50%;
}
.loading.-active {
  display: block;
}
.loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 48px;
  height: 48px;
  border: 4px solid rgba(255 255 255 / 32%);
  border-top-color: #fff;
  border-radius: 50%;
  translate: -50% -50%;
  animation: loading .6s linear infinite;
}
@keyframes loading {
  0% {
    rotate: 0deg;
  }
  100% {
    rotate: 360deg;
  }
}



/* ---------------- error */
#error-message {
  display: none;
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0 0 0 / 56%);
}
#error-message .wrap {
  position: fixed;
  z-index: 1000;
  top: 50%;
  left: 50%;
  width: calc(100% - 48px);
  max-width: 560px;
  padding: 32px;
  background: #fff;
  border-radius: 16px;
  font-size: 16px;
  font-weight: 700;
  translate: -50% -50%;
}
#error-message p + p {
  margin-top: 16px;
}

