@charset "UTF-8";
body {
  font-size: 1rem;
  font-family: "source-han-sans-japanese", "游ゴシック Medium", YuGothic, "游ゴシック体", "MS Pゴシック", "MS PGothic", Osaka, sans-serif;
  color: #000;
  -webkit-text-size-adjust: 100%; }
  body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0; }
  body img {
    max-width: 100%;
    height: auto; }
  body a {
    transition: all 0.4s ease; }

.column {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 80px; }
  @media screen and (max-width: 1280px) {
    .column {
      max-width: 100%;
      padding: 0 40px; } }
  @media screen and (max-width: 1024px) {
    .column {
      padding: 0 20px; } }

/*
=================================================
	header
=================================================
*/
#header {
  padding: 80px 20px;
  border-top: 10px solid #009fe8;
  border-bottom: 1px solid #009fe8; }
  #header h1 {
    max-width: 520px;
    margin: 0 auto; }
  @media screen and (max-width: 1024px) {
    #header h1 {
      max-width: 460px; } }
  @media screen and (max-width: 768px) {
    #header {
      padding: 60px 20px; }
      #header h1 {
        max-width: 400px; } }
  @media screen and (max-width: 680px) {
    #header h1 {
      max-width: 300px; } }

/*
=================================================
	main
=================================================
*/
#contents {
  padding-bottom: 80px; }
  @media screen and (max-width: 768px) {
    #contents {
      padding-bottom: 60px; } }
  #contents section {
    padding: 60px 0;
    border-bottom: 1px dotted #009fe8; }
    @media screen and (max-width: 768px) {
      #contents section {
        padding: 40px 0; } }
  #contents p, #contents li, #contents dt, #contents dd {
    line-height: 1.5; }
  #contents #use, #contents #noneuse {
    display: none; }
  #contents .question {
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    margin-bottom: 30px; }
    #contents .question-number {
      background: #009fe8;
      color: #fff;
      font-size: 1.375rem;
      line-height: 30px;
      padding: 0 30px 2px;
      border-radius: 20px;
      margin-right: 10px; }
    #contents .question h2 {
      flex-shrink: 9999;
      font-weight: 500;
      line-height: 1.4;
      color: #009fe8;
      padding-bottom: 2px; }
    @media screen and (max-width: 1024px) {
      #contents .question {
        font-size: 1.25rem;
        margin-bottom: 20px; }
        #contents .question-number {
          font-size: 1.125rem;
          line-height: 26px;
          padding: 0 20px 2px; } }
    @media screen and (max-width: 680px) {
      #contents .question {
        display: block; }
        #contents .question-number {
          width: 4em;
          padding: 0 0 2px;
          text-align: center;
          margin-bottom: 10px;
          margin-right: 0; } }
  #contents .answer input[type=text], #contents .answer textarea {
    font-size: 1rem;
    border: 1px solid #000;
    background: #fff;
    padding: 7px 12px;
    border-radius: 10px;
    line-height: 1.6; }
    #contents .answer input[type=text].text1, #contents .answer textarea.text1 {
      width: 100%; }
    #contents .answer input[type=text].text2, #contents .answer textarea.text2 {
      width: 5em; }
    #contents .answer input[type=text].text3, #contents .answer textarea.text3 {
      width: 20em; }
  #contents .answer input[type=radio], #contents .answer input[type=checkbox] {
    width: 20px;
    height: 20px;
    -moz-transform: scale(1.3);
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    vertical-align: middle;
    margin-right: 10px;
    margin-left: 3px;
    margin-bottom: -2px; }
    @media screen and (max-width: 1024px) {
      #contents .answer input[type=radio], #contents .answer input[type=checkbox] {
        width: 18px;
        height: 18px;
        -moz-transform: scale(1.2);
        -webkit-transform: scale(1.2);
        transform: scale(1.2); } }
  #contents .answer h3 {
    font-weight: bold;
    margin-bottom: 7px;
    line-height: 1.6; }
    #contents .answer h3::before {
      content: "●";
      color: #f5aa00;
      margin-right: 3px; }
  #contents .answer ul {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: -3px; }
    #contents .answer ul li {
      width: 100%;
      padding: 3px; }
      #contents .answer ul li label {
        display: flex;
        align-items: center;
        background: #f3f6f9;
        padding: 12px 15px 14px;
        transition: all 0.4s ease; }
        #contents .answer ul li label:hover {
          background: #e3e6e9; }
        #contents .answer ul li label p {
          font-size: 1.125rem;
          flex-shrink: 9999; }
      #contents .answer ul li .selected {
        color: #fff !important;
        background: #009fe8 !important; }
      #contents .answer ul li ul {
        margin-top: 3px;
        padding-left: 45px;
        display: none; }
    @media screen and (max-width: 1024px) {
      #contents .answer ul li label p {
        font-size: 1rem; } }
  #contents .answer-inner {
    margin-top: 30px; }
    #contents .answer-inner-text {
      display: flex;
      align-items: center; }
      #contents .answer-inner-text p {
        margin-left: 7px; }
    #contents .answer-inner .etc {
      display: none;
      margin-bottom: 15px; }
      #contents .answer-inner .etc-box {
        display: flex;
        align-items: center; }
        #contents .answer-inner .etc-box input[type=text] {
          margin: 2px 0 0 10px;
          flex-shrink: 9999; }
    @media screen and (max-width: 1024px) {
      #contents .answer-inner {
        margin-top: 20px; } }
    @media screen and (max-width: 680px) {
      #contents .answer-inner .etc-box {
        flex-wrap: wrap; }
        #contents .answer-inner .etc-box input[type=text] {
          margin: 5px 0 0; } }
  #contents #box1 .answer ul li, #contents #box7 .answer ul li {
    width: 50%; }
    @media screen and (max-width: 680px) {
      #contents #box1 .answer ul li, #contents #box7 .answer ul li {
        width: 100%; } }
  #contents #submit {
    margin-top: 60px; }
    #contents #submit ul {
      display: flex;
      justify-content: center; }
      #contents #submit ul li:nth-child(n+2) {
        margin-left: 20px; }
      #contents #submit ul li input {
        display: block;
        width: 320px;
        background: #009fe8;
        border: 1px solid #009fe8;
        color: #fff;
        line-height: 80px;
        text-align: center;
        text-decoration: none;
        cursor: pointer;
        transition: all 0.4s ease;
        font-size: 1.5rem;
        border-radius: 15px; }
        #contents #submit ul li input:hover {
          background: #54c2f0; }
      #contents #submit ul li.correction input {
        background: #fff;
        color: #009fe8; }
        #contents #submit ul li.correction input:hover {
          background: #009fe8;
          color: #fff; }
    @media screen and (max-width: 1024px) {
      #contents #submit ul li input:hover {
        background: transparent;
        color: #009fe8; } }
    @media screen and (max-width: 680px) {
      #contents #submit ul {
        display: block;
        text-align: center; }
        #contents #submit ul li:nth-child(n+2) {
          margin-top: 15px;
          margin-left: 0; }
        #contents #submit ul li input {
          display: block !important;
          width: 100%; } }

/* check */
#contents.check .answer-inner .down {
  margin-top: 10px; }

/* thanks */
#contents.thanks #message {
  padding-top: 60px;
  text-align: center; }
