@charset "UTF-8";
#loader {
  width: 100%;
  height: 100%;
  background: #339999;
  transition: all 1s;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10000;
  opacity: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column; }
  #loader:after {
    content: "診断中";
    font-size: 1.8rem;
    color: #fff;
    font-weight: 700;
    animation: fluffy 1.5s infinite; }
    @media only screen and (max-width: 767px) {
      #loader:after {
        font-size: 1.6rem; } }
  #loader:before {
    content: "\ebff";
    font-family: "material symbols Outlined", cursive;
    font-size: 5rem;
    font-weight: 200;
    color: #fff;
    animation: roo 1s infinite; }
    @media only screen and (max-width: 767px) {
      #loader:before {
        font-size: 3.6rem; } }
  #loader.on {
    opacity: 0;
    z-index: -1; }

body #wrap {
  z-index: -1;
  position: relative; }
  body #wrap.on {
    z-index: 1; }

@keyframes fluffy {
  0%, 100% {
    transform: translateY(0); }
  50% {
    transform: translateY(-0.5rem); } }
@keyframes roo {
  0% {
    transform: rotateZ(0deg); }
  25% {
    transform: rotateZ(90deg); }
  50% {
    transform: rotateZ(180deg); }
  75% {
    transform: rotateZ(270deg); }
  100% {
    transform: rotateZ(360deg); } }
.container {
  position: relative; }
  .container-btn {
    position: absolute;
    bottom: 10rem;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center; }
    @media only screen and (max-width: 767px) {
      .container-btn {
        bottom: 4rem; } }
    .container-btn .wpcf7-spinner {
      display: none; }
    .container-btn .btn-reset {
      width: 32rem;
      height: 6rem;
      font-size: 1.6rem;
      color: #fff;
      border-radius: 5rem;
      border: 0.2rem solid #434343;
      outline: none;
      margin: 0 auto;
      padding: 0;
      background: #434343;
      display: flex;
      justify-content: center;
      align-items: center;
      font-weight: 700;
      position: relative;
      cursor: pointer; }
      .container-btn .btn-reset:hover {
        background: #fff;
        color: #434343; }
      @media only screen and (max-width: 767px) {
        .container-btn .btn-reset {
          width: 24rem;
          height: 4.8rem;
          font-size: 1.3rem; } }
  .container-header-result {
    background: linear-gradient(135deg, #ff884e 0%, #f89978 20%, #339999 60%, #339999 100%);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .5rem 3rem;
    font-size: 4rem;
    line-height: 1.3;
    font-weight: 700;
    color: #fff;
    margin-top: .6rem; }
    @media only screen and (max-width: 767px) {
      .container-header-result {
        font-size: 2.4rem;
        padding: .5rem 1.5rem; } }
  .container-inner {
    padding-bottom: 10rem !important; }
    @media only screen and (max-width: 767px) {
      .container-inner {
        padding-bottom: 5rem !important; } }
    .container-inner .section-total {
      padding: 5rem 0; }
      @media only screen and (max-width: 767px) {
        .container-inner .section-total {
          padding: 2rem 0; } }
      .container-inner .section-total-header {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding-bottom: 5rem; }
        @media only screen and (max-width: 767px) {
          .container-inner .section-total-header {
            padding-bottom: 2.5rem; } }
        .container-inner .section-total-header-ttl {
          font-size: 3.6rem;
          line-height: 1.3; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-total-header-ttl {
              font-size: 3.2rem; } }
        .container-inner .section-total-header-en {
          font-size: 1.6rem;
          font-weight: 600;
          color: #339999; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-total-header-en {
              font-size: 1.4rem; } }
      .container-inner .section-total-count {
        padding-bottom: 3rem; }
        @media only screen and (max-width: 767px) {
          .container-inner .section-total-count {
            padding-bottom: 1.5rem; } }
        .container-inner .section-total-count > p {
          font-size: 2.4rem;
          font-weight: 700;
          text-align: center; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-total-count > p {
              font-size: 1.7rem; } }
        .container-inner .section-total-count dl {
          display: flex;
          justify-content: center;
          align-items: baseline;
          color: #888; }
          .container-inner .section-total-count dl dt {
            font-size: 1.6rem;
            margin-right: .8rem; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-total-count dl dt {
                font-size: 1.2rem; } }
          .container-inner .section-total-count dl dd {
            font-size: 1.4rem;
            font-weight: 700; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-total-count dl dd {
                font-size: 1rem; } }
            .container-inner .section-total-count dl dd b {
              font-size: 2.8rem;
              font-weight: 600; }
              @media only screen and (max-width: 767px) {
                .container-inner .section-total-count dl dd b {
                  font-size: 2rem; } }
        .container-inner .section-total-count-point {
          max-width: 21rem;
          margin: 0 auto;
          display: flex;
          justify-content: center;
          align-items: baseline;
          font-size: 3rem;
          line-height: 1;
          font-weight: 700;
          padding-bottom: .5rem;
          border-bottom: 1px solid rgba(51, 153, 153, 0.3); }
          @media only screen and (max-width: 767px) {
            .container-inner .section-total-count-point {
              font-size: 2rem;
              max-width: 18rem; } }
          .container-inner .section-total-count-point strong {
            font-size: 9rem;
            font-weight: 600; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-total-count-point strong {
                font-size: 6rem; } }
      .container-inner .section-total-inner {
        max-width: 65rem;
        margin: 0 auto 10rem;
        background: #fff;
        border: 0.5rem solid #339999;
        border-radius: 1rem;
        padding: 4rem 3rem 3rem;
        position: relative; }
        @media only screen and (max-width: 767px) {
          .container-inner .section-total-inner {
            padding: 3rem 2rem 2rem;
            margin-bottom: 5rem;
            border-width: .4rem; } }
      .container-inner .section-total-ranking {
        width: 12rem;
        height: 12rem;
        background: #f89978;
        color: #fff;
        position: absolute;
        right: 2.5rem;
        top: -7rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        font-size: 2rem;
        font-weight: 700;
        border-radius: 50%; }
        @media only screen and (max-width: 767px) {
          .container-inner .section-total-ranking {
            width: 8rem;
            height: 8rem;
            font-size: 1.4rem;
            right: 1rem;
            top: -6rem; } }
        .container-inner .section-total-ranking strong {
          line-height: 1; }
        .container-inner .section-total-ranking span {
          font-size: 1.5rem;
          line-height: 1; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-total-ranking span {
              font-size: 1.1rem; } }
        .container-inner .section-total-ranking b {
          font-size: 6rem;
          font-weight: 600; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-total-ranking b {
              font-size: 4rem; } }
      .container-inner .section-total-cat {
        display: flex;
        justify-content: space-between; }
        .container-inner .section-total-cat-point {
          display: flex;
          align-items: baseline;
          font-size: 2rem;
          line-height: 1;
          font-weight: 700; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-total-cat-point {
              font-size: 1.6rem;
              border-bottom: 1px solid rgba(51, 153, 153, 0.5);
              padding-bottom: .5rem;
              margin-bottom: .5rem; } }
          .container-inner .section-total-cat-point:after {
            content: "";
            width: 1px;
            height: 4rem;
            background: rgba(51, 153, 153, 0.5);
            transform: rotate(35deg);
            margin: 0 1rem 0 2rem;
            position: relative;
            bottom: -.5rem; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-total-cat-point:after {
                display: none; } }
          .container-inner .section-total-cat-point strong {
            font-size: 5rem;
            font-weight: 600; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-total-cat-point strong {
                font-size: 4rem; } }
        .container-inner .section-total-cat > div {
          width: 48%;
          background: rgba(51, 153, 153, 0.1);
          border-radius: 1rem;
          padding: 2rem; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-total-cat > div {
              padding: 1rem 1.5rem 1rem; } }
          .container-inner .section-total-cat > div > dt {
            font-size: 1.8rem;
            color: #339999;
            text-align: center; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-total-cat > div > dt {
                font-size: 1.3rem; } }
          .container-inner .section-total-cat > div > dd {
            display: flex;
            justify-content: center;
            align-items: flex-end; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-total-cat > div > dd {
                flex-direction: column;
                align-items: center; } }
            .container-inner .section-total-cat > div > dd dl {
              color: #888888;
              font-weight: 700;
              display: flex;
              flex-direction: column;
              align-items: center; }
              @media only screen and (max-width: 767px) {
                .container-inner .section-total-cat > div > dd dl {
                  flex-direction: row;
                  align-items: baseline; } }
              .container-inner .section-total-cat > div > dd dl dt {
                font-size: 1.2rem;
                line-height: 1; }
                @media only screen and (max-width: 767px) {
                  .container-inner .section-total-cat > div > dd dl dt {
                    font-size: 1rem;
                    margin-right: .4rem; } }
              .container-inner .section-total-cat > div > dd dl dd {
                font-size: 1.4rem;
                line-height: 1;
                display: flex;
                align-items: baseline; }
                @media only screen and (max-width: 767px) {
                  .container-inner .section-total-cat > div > dd dl dd {
                    font-size: 1.2rem; } }
                .container-inner .section-total-cat > div > dd dl dd strong {
                  font-size: 2.8rem;
                  font-weight: 600; }
                  @media only screen and (max-width: 767px) {
                    .container-inner .section-total-cat > div > dd dl dd strong {
                      font-size: 2rem; } }
    .container-inner .section-type {
      max-width: 102.4rem;
      margin: 0 auto 10rem; }
      @media only screen and (max-width: 767px) {
        .container-inner .section-type {
          margin-bottom: 5rem; } }
      .container-inner .section-type-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 2rem; }
        .container-inner .section-type-header:after {
          content: "";
          width: 100%;
          height: 1px;
          background: #dcdcdc; }
        .container-inner .section-type-header-num {
          font-size: 2.8rem;
          color: #339999;
          font-weight: 600;
          margin-right: .5rem;
          margin-top: auto; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-type-header-num {
              font-size: 2rem; } }
        .container-inner .section-type-header-ttl {
          flex-shrink: 0;
          margin-right: 1rem;
          font-size: 3rem; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-type-header-ttl {
              font-size: 2.2rem; } }
      .container-inner .section-type-result {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 2rem; }
        @media only screen and (max-width: 767px) {
          .container-inner .section-type-result {
            flex-direction: column;
            padding: 0 .5rem; } }
        .container-inner .section-type-result-bar {
          width: 100%;
          height: 3rem;
          background: #fff;
          border-radius: 5rem;
          position: relative;
          display: flex;
          justify-content: flex-start; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-type-result-bar {
              height: 2rem; } }
          .container-inner .section-type-result-bar span {
            height: 3rem;
            background: #339999;
            border-radius: 5rem; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-type-result-bar span {
                height: 2rem; } }
        .container-inner .section-type-result-point {
          font-size: 1.4rem;
          flex-shrink: 0;
          padding: 0 1.5rem;
          font-weight: 700; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-type-result-point {
              font-size: 1.2rem; } }
          .container-inner .section-type-result-point strong {
            font-size: 2.8rem;
            font-weight: 600; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-type-result-point strong {
                font-size: 2rem; } }
        .container-inner .section-type-result-rank {
          width: 4.8rem;
          height: 4.8rem;
          border-radius: 50%;
          background: #f89978;
          display: flex;
          justify-content: center;
          align-items: center;
          letter-spacing: 0;
          font-size: 2.8rem;
          font-weight: 600;
          color: #fff;
          flex-shrink: 0; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-type-result-rank {
              width: 3.6rem;
              height: 3.6rem;
              font-size: 2rem; } }
        .container-inner .section-type-result dl {
          width: 100%;
          padding-right: 2rem; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-type-result dl {
              padding: 0; } }
          .container-inner .section-type-result dl > div {
            padding: 1rem 0; }
            .container-inner .section-type-result dl > div dt {
              font-size: 1.6rem;
              line-height: 1.2; }
              @media only screen and (max-width: 767px) {
                .container-inner .section-type-result dl > div dt {
                  font-size: 1.3rem; } }
              .container-inner .section-type-result dl > div dt span {
                color: #339999;
                font-weight: 600;
                margin-right: .5rem; }
            .container-inner .section-type-result dl > div dd {
              display: flex;
              justify-content: space-between;
              align-items: center; }
        .container-inner .section-type-result-graph {
          width: 40rem;
          flex-shrink: 0; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-type-result-graph {
              width: 33rem; } }
      .container-inner .section-type-guide {
        padding: 3rem 1.5rem 0; }
        @media only screen and (max-width: 767px) {
          .container-inner .section-type-guide {
            padding: 1rem 0 0; } }
        .container-inner .section-type-guide .article-guide {
          background: #fff;
          border-radius: 1rem;
          padding: 2.5rem;
          display: flex;
          justify-content: space-between;
          align-items: center;
          margin-bottom: 2rem; }
          @media only screen and (max-width: 767px) {
            .container-inner .section-type-guide .article-guide {
              padding: 2rem;
              margin-bottom: 1.5rem;
              flex-direction: column; } }
          .container-inner .section-type-guide .article-guide-wrap {
            width: 100%;
            padding-right: 3rem;
            padding-left: 1rem; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-type-guide .article-guide-wrap {
                padding: 0 0 1.5rem; } }
            .container-inner .section-type-guide .article-guide-wrap h5 {
              font-size: 2.4rem;
              line-height: 1.3;
              margin-bottom: 1.5rem; }
              @media only screen and (max-width: 767px) {
                .container-inner .section-type-guide .article-guide-wrap h5 {
                  font-size: 1.9rem;
                  margin-bottom: 1rem;
                  text-align: center;
                  display: flex;
                  flex-direction: column;
                  align-items: center; } }
              .container-inner .section-type-guide .article-guide-wrap h5 span {
                font-size: 2.4rem;
                color: #339999;
                margin-right: .5rem; }
                @media only screen and (max-width: 767px) {
                  .container-inner .section-type-guide .article-guide-wrap h5 span {
                    font-size: 1.8rem; } }
            .container-inner .section-type-guide .article-guide-wrap p {
              font-size: 1.6rem; }
              @media only screen and (max-width: 767px) {
                .container-inner .section-type-guide .article-guide-wrap p {
                  font-size: 1.4rem; } }
          .container-inner .section-type-guide .article-guide-result {
            width: 22rem;
            border-radius: 1rem;
            padding: 1rem 1.5rem;
            background: rgba(51, 153, 153, 0.1);
            display: flex;
            justify-content: space-between;
            flex-shrink: 0; }
            @media only screen and (max-width: 767px) {
              .container-inner .section-type-guide .article-guide-result {
                margin: 0 auto; } }
            .container-inner .section-type-guide .article-guide-result-point {
              width: 9.5rem;
              font-weight: 700;
              font-size: 1.4rem;
              line-height: 1;
              border-bottom: 1px solid #fff;
              padding-bottom: .3rem;
              text-align: center; }
              .container-inner .section-type-guide .article-guide-result-point strong {
                font-weight: 600;
                font-size: 3.2rem;
                position: relative;
                bottom: -.1rem; }
            .container-inner .section-type-guide .article-guide-result > div {
              display: flex;
              flex-direction: column;
              align-items: center;
              justify-content: space-between; }
              .container-inner .section-type-guide .article-guide-result > div > dt {
                font-size: 1rem;
                color: #339999;
                text-align: center;
                flex-shrink: 0; }
              .container-inner .section-type-guide .article-guide-result > div > dd {
                margin: auto; }
              .container-inner .section-type-guide .article-guide-result > div:nth-of-type(1) {
                flex-shrink: 0; }
                .container-inner .section-type-guide .article-guide-result > div:nth-of-type(1) dd dl {
                  display: flex;
                  justify-content: center;
                  align-items: baseline;
                  font-size: 1rem;
                  color: #888; }
                  .container-inner .section-type-guide .article-guide-result > div:nth-of-type(1) dd dl dt {
                    margin-right: .5rem; }
                  .container-inner .section-type-guide .article-guide-result > div:nth-of-type(1) dd dl dd {
                    font-weight: 700; }
                    .container-inner .section-type-guide .article-guide-result > div:nth-of-type(1) dd dl dd b {
                      font-size: 1.8rem;
                      font-weight: 600;
                      position: relative;
                      bottom: -.1rem; }
              .container-inner .section-type-guide .article-guide-result > div:nth-of-type(2) {
                width: 7rem; }
                .container-inner .section-type-guide .article-guide-result > div:nth-of-type(2) dd {
                  width: 4.8rem;
                  height: 4.8rem;
                  border-radius: 50%;
                  background: #fff;
                  letter-spacing: 0;
                  color: #f89978;
                  font-size: 2.8rem;
                  font-weight: 600;
                  display: flex;
                  justify-content: center;
                  align-items: center; }
  .container .aside-contact {
    max-width: 102.4rem;
    border-radius: 1rem;
    background: #fff;
    padding: 4rem;
    margin: 0 auto 8rem; }
    @media only screen and (max-width: 767px) {
      .container .aside-contact {
        padding: 2.5rem;
        margin-bottom: 5rem; } }
    .container .aside-contact-ttl {
      text-align: center;
      font-size: 2.4rem;
      color: #339999;
      margin-bottom: 3rem;
      display: flex;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .container .aside-contact-ttl {
          font-size: 2rem;
          line-height: 1.3;
          position: relative;
          margin-bottom: 2rem; }
          .container .aside-contact-ttl:before, .container .aside-contact-ttl:after {
            position: absolute;
            bottom: 0;
            font-size: 4rem;
            font-weight: 200; } }
      .container .aside-contact-ttl:before {
        content: "＼"; }
        @media only screen and (max-width: 767px) {
          .container .aside-contact-ttl:before {
            left: 0; } }
      .container .aside-contact-ttl:after {
        content: "／"; }
        @media only screen and (max-width: 767px) {
          .container .aside-contact-ttl:after {
            right: 0; } }
    .container .aside-contact-btn {
      padding-top: 4rem; }
      @media only screen and (max-width: 767px) {
        .container .aside-contact-btn {
          padding: 0 0 1rem; } }
      .container .aside-contact-btn a {
        max-width: 48rem;
        height: 6rem;
        border-radius: 5rem;
        background: #339999;
        font-size: 2rem;
        color: #fff;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        font-weight: 700; }
        @media only screen and (max-width: 767px) {
          .container .aside-contact-btn a {
            font-size: 1.6rem;
            height: 5rem; } }
    .container .aside-contact dl {
      display: flex;
      justify-content: center; }
      @media only screen and (max-width: 767px) {
        .container .aside-contact dl {
          flex-direction: column; } }
      .container .aside-contact dl > div {
        width: 100%; }
        @media only screen and (max-width: 767px) {
          .container .aside-contact dl > div {
            padding-bottom: 2.5rem; } }
        .container .aside-contact dl > div dt {
          height: 4.8rem;
          display: flex;
          justify-content: center;
          align-items: center;
          font-size: 2rem;
          background: #ff884e;
          border-radius: 1rem;
          color: #fff;
          position: relative;
          margin: 0 1rem 1rem; }
          @media only screen and (max-width: 767px) {
            .container .aside-contact dl > div dt {
              font-size: 1.7rem;
              height: 4rem; } }
          .container .aside-contact dl > div dt:before {
            content: "";
            border-style: solid;
            border-color: #ff884e transparent transparent;
            border-width: 1rem;
            position: absolute;
            left: 50%;
            bottom: 0;
            margin-left: -1rem;
            margin-bottom: -1.9rem; }
        .container .aside-contact dl > div dd figure {
          text-align: center;
          margin-bottom: 1.5rem; }
        .container .aside-contact dl > div dd p {
          text-align: center;
          font-size: 1.6rem; }
