@charset "UTF-8";
/*----------------------------------------
Reset  Default Styles
----------------------------------------*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  font-size: inherit;
  vertical-align: baseline;
}

i, em {
  font-style: normal;
}

small {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

body {
  line-height: 1;
}

main, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ul, li {
  list-style: none;
}

th, td {
  vertical-align: middle;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: inherit;
  text-decoration: none;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

ul, dl, ol {
  text-indent: 0;
}

li {
  list-style: none;
}

img {
  border: 0;
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: top;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #282828;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

button,
input {
  line-height: normal;
}

input,
textarea {
  background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0)); /* Removing the inner shadow, rounded corners on iOS inputs */
  padding: 4px 8px;
  border: 1px solid #282828;
  background: #fff;
  min-height: 60px;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
  -webkit-appearance: button;
}

em, i {
  font-style: normal;
}

/*-------------------------
Common
-------------------------*/
* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
}

html,
body {
  font-size: 62.5%;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}

body {
  color: #333;
  font-size: clamp(1.6rem, 4.2667vw, 3.2rem);
  line-height: 1.7;
  font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  background: #ffffff;
}

h1 {
  color: #fff;
}

h2 {
  color: #fff;
  background: #0046aa;
}

p {
  color: #333;
}

a {
  color: #28639e;
  text-decoration: none;
}
a:hover {
  color: #1e4a75;
  opacity: 0.8;
}
a:visited {
  color: #28639e;
}

table {
  border-collapse: collapse;
}

/*-------------------------
project
-------------------------*/
main {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
}
main #main_contents {
  width: 750px;
  font-size: clamp(1.6rem, 4.2667vw, 3.2rem);
  padding: 0;
}
@media screen and (max-width: 768px) {
  main #main_contents {
    width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents {
    width: 585px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents {
    font-size: calc(clamp(1.6rem, 4.2667vw, 3.2rem) * 0.78) !important;
  }
}
main #main_contents header {
  width: 100%;
  margin: -1rem auto 0 auto;
  padding: 0;
  background: #ffffff;
}
main #main_contents header h1 {
  width: 100%;
  margin: 0;
  padding: 25px 0 10px 0;
  line-height: 1;
  background: #0046aa;
}
@media screen and (max-width: 768px) {
  main #main_contents header h1 {
    padding: 25px 0 15px 0;
  }
}
main #main_contents header h1 img {
  width: 80%;
  max-width: 500px;
  margin: 0 auto;
  display: block;
}
@media screen and (max-width: 768px) {
  main #main_contents header h1 img {
    width: 70%;
    max-width: 300px;
  }
}
main #main_contents header picture {
  width: 100%;
  margin: 0 auto;
  padding: 0;
}
main #main_contents header picture img {
  margin: 0 auto;
  padding: 0;
  display: block;
}
main #main_contents header figure {
  margin: 0;
  padding: 1.5em 1em;
}
main #main_contents section {
  width: 100%;
  margin: 0 auto 2em auto;
  padding: 0 1.6rem 2.4rem 1.6rem;
  overflow: hidden;
}
@media screen and (min-width: 376px) and (max-width: 768px) {
  main #main_contents section {
    padding-right: calc(100% - 750px + 2.4rem);
    padding-left: calc(100% - 750px + 2.4rem);
  }
}
@media screen and (min-width: 769px) {
  main #main_contents section {
    padding-right: calc(100% - 750px + 3.6rem);
    padding-left: calc(100% - 750px + 3.6rem);
  }
}
@media screen and (min-width: 376px) and (max-width: 749px) {
  main #main_contents section {
    padding-right: 2.304rem;
    padding-left: 2.304rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents section {
    padding-right: calc(100% - 585px + 2.808rem);
    padding-left: calc(100% - 585px + 2.808rem);
  }
}
main #main_contents section h2 {
  font-family: "M PLUS Rounded 1c", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  font-size: clamp(2.6rem, 6.9333vw, 5.2rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  width: calc(100% + 7.2rem);
  margin: 0 -3.6rem;
  padding: 0.5em 0;
}
main #main_contents section h2 + img {
  width: 3em;
  margin: 0 auto 1em auto;
  display: block;
}
@media screen and (min-width: 376px) and (max-width: 768px) {
  main #main_contents section h2 {
    width: calc(100% + 8.4rem);
    margin-left: -4.2rem;
    margin-right: -4.2rem;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents section h2 {
    font-size: calc(clamp(2.6rem, 6.9333vw, 5.2rem) * 0.78);
  }
}
main #main_contents #quick {
  background: #eeeeee;
  margin: 0 auto;
}
main #main_contents #quick h2 {
  margin-bottom: 0.5em;
}
main #main_contents #quick dl {
  width: 100%;
  margin: 1em 0;
  padding: 0;
}
main #main_contents #quick dl dt,
main #main_contents #quick dl dd {
  width: 100%;
  margin: 0.75em 0;
  padding: 0;
}
main #main_contents #quick dl dt {
  color: #fff;
  font-size: clamp(1.8rem, 4.8vw, 3.6rem);
  font-weight: 700;
  background: #0046aa;
  text-align: center;
  margin-top: 1em;
  padding: 0.5em 0;
  border-radius: 0.5em;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #quick dl dt {
    font-size: clamp(1.404rem, 3.744vw, 2.808rem);
  }
}
main #main_contents #quick dl dd {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
main #main_contents #quick dl dd ul {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
main #main_contents #quick dl dd ul li {
  margin: 0 1rem 0 0;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: clamp(1.4rem, 3.733vw, 2.8rem);
}
@media screen and (min-width: 751px) {
  main #main_contents #quick dl dd ul li {
    margin: 0 2.5rem 0 0;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #quick dl dd ul li {
    font-size: clamp(1.092rem, 2.91174vw, 2.184rem);
  }
}
main #main_contents #quick dl dd ul li:last-child {
  margin-right: 0;
}
main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=number] {
  font-size: 2rem;
  margin: 0 0.25em;
  padding: 0.15em 0.25em;
  width: 7em;
  border: 1px solid #333;
  border-radius: 5px;
}
@media screen and (min-width: 751px) {
  main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=number] {
    font-size: 2.8rem;
    padding: 0.5em;
    width: 10em;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=number] {
    font-size: 2.184rem;
  }
}
main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=radio] {
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=radio] + label {
  position: relative;
  margin: 0 0 0 0.5em;
  padding: 0 0 0 2em;
  display: block;
}
main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=radio] + label:before, main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=radio] + label:after {
  content: "";
  display: block;
  border-radius: 50%;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
}
main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=radio] + label:before {
  background-color: #fff;
  border: 1px solid #333;
  width: clamp(24px, 6.4vw, 48px);
  height: clamp(24px, 6.4vw, 48px);
  left: -0.5rem;
}
main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=radio] + label:after {
  background: #007efd;
  opacity: 0;
  width: clamp(16px, 4.2667vw, 32px);
  height: clamp(16px, 4.2667vw, 32px);
  left: calc(-0.5em + 7px);
}
@media screen and (min-width: 751px) {
  main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=radio] + label:after {
    left: calc(-0.5em + 18px);
  }
}
main #main_contents #quick dl dd:nth-of-type(-n+2) input[type=radio]:checked + label:after {
  opacity: 1;
}
main #main_contents #quick dl dd:nth-of-type(3) ul {
  width: 100%;
}
main #main_contents #quick dl dd:nth-of-type(3) ul li {
  width: auto;
  justify-content: center;
}
main #main_contents #quick dl dd:nth-of-type(3) ul li input[type=number] {
  font-size: 2rem;
  margin: 0 0.25em;
  padding: 0.15em 0.25em;
  width: 6em;
  border: 1px solid #333;
  border-radius: 5px;
}
@media screen and (min-width: 751px) {
  main #main_contents #quick dl dd:nth-of-type(3) ul li input[type=number] {
    font-size: 2.8rem;
    padding: 0.5em;
    width: 6em;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #quick dl dd:nth-of-type(3) ul li input[type=number] {
    font-size: 2.184rem;
  }
}
main #main_contents #quick dl dd:nth-of-type(3) + ul {
  width: 100%;
  margin: 1em 0;
  padding: 0;
  font-size: clamp(1.4rem, 3.733vw, 2.8rem);
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #quick dl dd:nth-of-type(3) + ul {
    font-size: clamp(1.092rem, 2.91174vw, 2.184rem);
  }
}
main #main_contents #quick dl dd:nth-of-type(3) + ul li {
  width: 100%;
  margin: 0;
  padding: 0 0 0 1em;
  text-indent: -1em;
  text-align: justify;
  justify-content: flex-start;
}
main #main_contents #quick dl .selec_container {
  width: 100%;
  position: relative;
}
main #main_contents #quick dl .selec_container .selectForm__select {
  font-size: clamp(1.4rem, 3.733vw, 2.8rem);
  position: relative;
  width: 100%;
  appearance: none;
  padding: 0.5em 1em;
  border: 1px solid #333;
  border-radius: 5px;
  background: #fff;
}
main #main_contents #quick dl .selec_container::after {
  content: "";
  position: absolute;
  top: 28px;
  right: 0.5em;
  border-right: 12px solid transparent;
  border-left: 12px solid transparent;
  border-top: 12px solid #666;
  border-bottom: 0;
}
@media screen and (max-width: 768px) {
  main #main_contents #quick dl .selec_container::after {
    top: 25px;
    right: 0.75em;
    border-right: 20px solid transparent;
    border-left: 20px solid transparent;
    border-top: 20px solid #666;
  }
}
@media screen and (max-width: 750px) {
  main #main_contents #quick dl .selec_container::after {
    top: 12px;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 10px solid #666;
  }
}
main #main_contents #quick dl + button {
  color: #0046aa;
  font-size: clamp(1.8rem, 4.8vw, 3.6rem);
  letter-spacing: 0.5rem;
  font-weight: 800;
  margin: 1em auto 0 auto;
  padding: 0.75em 2em 0.75em 2.5em;
  display: block;
  background: #fff;
  border-radius: 0.5em;
  border: 1px solid #0046aa;
}
main #main_contents #quick dl + button:hover {
  opacity: 0.75;
}
@media screen and (min-width: 751px) {
  main #main_contents #quick dl + button {
    border: 2px solid #0046aa;
  }
}
main #main_contents #top_entry {
  width: 100%;
  margin: 0 auto 2em auto;
  padding: 2.4rem 1.6rem;
}
main #main_contents #top_entry a {
  width: 90%;
  margin: 0 auto;
  display: block;
}
main #main_contents #top_entry a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 375px) {
  main #main_contents #top_entry a {
    width: 100%;
  }
}
main #main_contents #outline ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  background: #ffffff;
}
main #main_contents #outline ul figure {
  margin: 0;
  padding: 0;
}
main #main_contents #outline ul figure img {
  width: 100%;
  display: block;
}
main #main_contents #repayment h3 {
  color: #666;
  font-size: clamp(1.8rem, 4.8vw, 3.6rem);
  margin: 1.5em 0 0.25em 0;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #repayment h3 {
    font-size: clamp(1.404rem, 3.744vw, 2.808rem);
  }
}
main #main_contents #repayment table {
  width: 100%;
  border-top: 1px solid #666;
  border-left: 1px solid #666;
  background: #fff;
  margin: 10px auto;
}
main #main_contents #repayment table th,
main #main_contents #repayment table td {
  padding: 0.5rem 1rem;
  text-align: center;
  border-bottom: 1px solid #666;
  border-right: 1px solid #666;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #repayment table th,
  main #main_contents #repayment table td {
    padding: 0.39rem 0.78rem;
  }
}
main #main_contents #repayment table th {
  color: #666;
  background: #eee;
}
main #main_contents #flow h2 {
  padding: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
main #main_contents #flow h2 img {
  width: 20%;
  display: block;
}
main #main_contents #flow figure {
  margin: 0 auto 1em auto;
  padding: 1em;
  border: 1px solid #b7b7b7;
}
main #main_contents #flow figure:last-child {
  margin-bottom: 0;
}
main #main_contents #flow figure ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0.5em auto;
}
main #main_contents #flow figure ul li {
  margin: 0;
  padding: 0;
}
main #main_contents #flow figure ul li:nth-of-type(1) {
  width: calc(100% - 40px);
  margin: 0;
}
@media screen and (min-width: 751px) {
  main #main_contents #flow figure ul li:nth-of-type(1) {
    width: calc(100% - 80px);
  }
}
main #main_contents #flow figure ul li:nth-of-type(2) {
  width: 100%;
  max-width: 40px;
  margin: 0 0 0 auto;
}
@media screen and (min-width: 751px) {
  main #main_contents #flow figure ul li:nth-of-type(2) {
    max-width: 80px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #flow figure ul li:nth-of-type(2) {
    max-width: 62.4px;
  }
}
main #main_contents #flow figure ul li h3 {
  color: #0046aa;
  font-family: "M PLUS Rounded 1c", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  font-size: clamp(2.4rem, 6.4vw, 4.8rem);
  line-height: 1.2;
  font-weight: 700;
  width: 100%;
  text-align: left;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #flow figure ul li h3 {
    font-size: clamp(1.872rem, 4.992vw, 3.744rem);
  }
}
main #main_contents #flow figure ul li h3 img {
  width: 100%;
  margin: 0;
  padding: 0;
}
main #main_contents #flow figure picture + img {
  width: 20px;
  margin: 0 calc(-1em - 1px) calc(-1em - 1px) auto;
  display: block;
}
main #main_contents #flow figure picture img {
  margin: 0;
  padding: 0;
  width: 100%;
  display: block;
}
main #main_contents #flow p {
  font-size: clamp(1.8rem, 4.8vw, 3.6rem);
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #flow p {
    font-size: clamp(1.404rem, 3.744vw, 2.808rem);
  }
}
main #main_contents #flow p a {
  color: #0046aa;
  padding: 0.25em 1em;
  margin: 0.5em auto 0 auto;
  background: #fff;
  display: inline-block;
  border: 1px solid #0046aa;
  border-radius: 1.25em;
}
main #main_contents #Interest h2 {
  line-height: 1.3;
}
main #main_contents #Interest p {
  color: #666;
  font-size: clamp(2rem, 5.333vw, 4rem);
  text-align: center;
  font-family: "M PLUS Rounded 1c", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  font-weight: 700;
  line-height: 1.3;
}
main #main_contents #Interest p + img {
  width: 90%;
  margin: 0.5em auto 1em auto;
  display: block;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #Interest p {
    font-size: clamp(1.56rem, 4.15974vw, 3.12rem);
  }
}
main #main_contents #Interest h3 {
  color: #333;
  font-size: clamp(2rem, 5.333vw, 4rem);
  text-align: center;
  font-family: "M PLUS Rounded 1c", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
main #main_contents #Interest h3 + p {
  color: #333;
  font-size: clamp(1.4rem, 3.7333vw, 2.8rem);
  text-align: center;
  margin: 1em 0;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #Interest h3 + p {
    font-size: clamp(1.092rem, 2.911974vw, 2.184rem);
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #Interest h3 {
    font-size: clamp(1.56rem, 4.15974vw, 3.12rem);
  }
}
main #main_contents #point h2 {
  padding: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
main #main_contents #point h2 img {
  width: 20%;
  display: block;
}
main #main_contents #point figure {
  margin: 0 auto 2em auto;
  padding: 0 1em;
  border-top: 1px solid #b7b7b7;
}
main #main_contents #point figure hgroup {
  width: 100%;
  margin: 0 auto;
}
main #main_contents #point figure hgroup img {
  width: 115px;
  margin: 0 auto 1em auto;
  display: block;
}
@media screen and (max-width: 375px) {
  main #main_contents #point figure hgroup img {
    width: 25%;
  }
}
main #main_contents #point figure hgroup h3 {
  color: #0046aa;
  font-family: "M PLUS Rounded 1c", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
  font-size: clamp(2.4rem, 6.4vw, 4.8rem);
  line-height: 1.3;
  font-weight: 700;
  width: 100%;
  text-align: center;
  margin: 0 0 0.5em 0;
  padding: 0;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #point figure hgroup h3 {
    font-size: clamp(1.872rem, 4.992vw, 3.744rem);
  }
}
main #main_contents #point figure img {
  width: 95%;
  display: block;
  margin: 0.5em auto;
}
main #main_contents #point figure p {
  font-size: clamp(1.6rem, 4.2667vw, 3.2rem);
  line-height: 1.5;
  text-align: justify;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #point figure p {
    font-size: clamp(1.248rem, 3.328026vw, 2.496rem);
  }
}
main #main_contents #point figure p + ul {
  margin: 1rem auto 0 auto;
  padding: 0;
}
main #main_contents #point figure p + ul li {
  font-size: clamp(1.3rem, 3.4667vw, 2.6rem);
  line-height: 1.5;
  margin: 0 0 0 1em;
  padding: 0;
  text-indent: -1em;
  text-align: justify;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #point figure p + ul li {
    font-size: clamp(1.014rem, 2.704026vw, 2.028rem);
  }
}
main #main_contents #point figure:last-child {
  margin-bottom: 0;
}
main #main_contents #detail {
  background: #ffffff;
}
main #main_contents #detail h2 {
  padding: 0 !important;
  display: flex;
  justify-content: center;
  align-items: center;
}
main #main_contents #detail h2 img {
  width: 20%;
  display: block;
}
main #main_contents #detail table,
main #main_contents #detail .toggle_contents_4 {
  width: 100%;
  border-top: 1px solid #666;
  border-left: 1px solid #666;
  background: #fff;
  margin: 0 auto;
  font-size: clamp(1.2rem, 3.2vw, 2.4rem);
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #detail table,
  main #main_contents #detail .toggle_contents_4 {
    font-size: clamp(0.93rem, 2.45vw, 1.85rem);
  }
}
main #main_contents #detail table th,
main #main_contents #detail table td,
main #main_contents #detail .toggle_contents_4 th,
main #main_contents #detail .toggle_contents_4 td {
  padding: 0.5em;
  text-align: justify;
  line-height: 1.5;
  border-bottom: 1px solid #666;
  border-right: 1px solid #666;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #detail table th,
  main #main_contents #detail table td,
  main #main_contents #detail .toggle_contents_4 th,
  main #main_contents #detail .toggle_contents_4 td {
    padding: 0.55em;
  }
}
main #main_contents #detail table th:nth-of-type(1),
main #main_contents #detail table td:nth-of-type(1),
main #main_contents #detail .toggle_contents_4 th:nth-of-type(1),
main #main_contents #detail .toggle_contents_4 td:nth-of-type(1) {
  width: 7em;
  white-space: nowrap;
  text-align: center;
}
main #main_contents #detail table th ul,
main #main_contents #detail table td ul,
main #main_contents #detail .toggle_contents_4 th ul,
main #main_contents #detail .toggle_contents_4 td ul {
  margin: 0;
  padding: 0;
}
main #main_contents #detail table th ul li,
main #main_contents #detail table td ul li,
main #main_contents #detail .toggle_contents_4 th ul li,
main #main_contents #detail .toggle_contents_4 td ul li {
  padding-left: 1em;
  text-indent: -1em;
  letter-spacing: normal;
}
main #main_contents #detail table th,
main #main_contents #detail .toggle_contents_4 th {
  color: #666;
  background: #eee;
  text-align: center;
}
main #main_contents #detail .toggle_contents_4 {
  display: none;
  border-top: none;
}
main #main_contents #detail .toggle_contents_4 table {
  width: 100%;
  margin: 10px auto;
}
main #main_contents #detail .toggle_contents_4 table th,
main #main_contents #detail .toggle_contents_4 table td {
  width: auto;
  text-align: center;
}
@media screen and (max-width: 768px) {
  main #main_contents #detail .toggle_contents_4 table th,
  main #main_contents #detail .toggle_contents_4 table td {
    white-space: normal;
  }
}
main #main_contents #detail .toggleButton_4 img {
  width: 30%;
  max-width: 270px;
  margin: 0 auto;
  padding: 0;
  display: block;
  cursor: pointer;
}
main #main_contents #detail .toggleButton_4.active img{
  display: none;
}
main #main_contents #detail .toggleButton_4 img + img{
  display: none;
}
main #main_contents #detail .toggleButton_4.active img + img{
  display: block;
}
@media screen and (max-width: 768px) {
  main #main_contents #detail .toggleButton_4 img {
    width: 40%;
    max-width: 150px;
  }
}
main #main_contents #signature {
  margin: 0.5em 0 0 0 !important;
  padding: 1em;
}
@media screen and (min-width: 769px) {
  main #main_contents #signature {
    padding-bottom: 180px !important;
  }
}
main #main_contents #signature dl {
  width: 100%;
  margin: 0 auto 2em auto;
  padding: 0;
}
main #main_contents #signature dl p {
  font-size: clamp(1.4rem, 3.7333vw, 2.8rem);
  font-weight: 700;
  text-align: center;
  margin: 0;
  padding: 0;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #signature dl p {
    font-size: clamp(1.092rem, 2.911974vw, 2.184rem);
  }
}
main #main_contents #signature dl dt,
main #main_contents #signature dl dd {
  width: 100%;
  margin: 0.5em 0;
  padding: 0.5em 1em;
  font-size: clamp(1.4rem, 3.7333vw, 2.8rem);
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #signature dl dt,
  main #main_contents #signature dl dd {
    font-size: clamp(1.092rem, 2.911974vw, 2.184rem);
  }
}
main #main_contents #signature dl dt {
  background: #0046aa;
  padding: 0.75em;
}
main #main_contents #signature dl dt img {
  width: 100%;
  margin: 0;
  display: block;
}
main #main_contents #signature dl dd {
  margin: 0.5rem auto;
  padding: 0;
}
main #main_contents #signature dl dd ul {
  width: 100%;
  margin: 0 auto;
}
main #main_contents #signature dl dd ul li {
  font-size: clamp(1.1rem, 2.9333vw, 2.2rem);
  padding: 0 0 0 1em;
  text-indent: -1em;
  text-align: justify;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #signature dl dd ul li {
    font-size: clamp(0.858rem, 2.287974vw, 1.716rem);
  }
}
main #main_contents #signature dl dd p {
  font-size: clamp(1.1rem, 2.9333vw, 2.2rem);
  text-align: right;
  font-weight: 400;
}
main #main_contents #signature dl dd p.t_c {
  font-size: clamp(1.092rem, 2.911974vw, 2.184rem);
  text-align: center;
  margin: 1em 0;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #signature dl dd p {
    font-size: clamp(0.858rem, 2.287974vw, 1.716rem);
  }
}
main #main_contents #signature dl + ul {
  width: 100%;
  margin: 0 auto 1em auto;
}
main #main_contents #signature dl + ul li {
  font-size: clamp(1.1rem, 2.9333vw, 2.2rem);
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #signature dl + ul li {
    font-size: clamp(0.858rem, 2.287974vw, 1.716rem);
  }
}
main #main_contents #signature dl + ul li h3 {
  font-size: clamp(1.6rem, 4.2667vw, 3.2rem);
  text-align: center;
  margin: 0 auto 2rem auto;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #signature dl + ul li h3 {
    font-size: clamp(1.248rem, 3.328026vw, 2.496rem);
  }
}
main #main_contents #signature dl + ul li h3 img {
  width: 90%;
  display: block;
  margin: 0 auto;
}
main #main_contents #signature dl + ul + p {
  font-size: clamp(1.1rem, 2.9333vw, 2.2rem);
  text-align: center;
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main #main_contents #signature dl + ul + p {
    font-size: clamp(0.858rem, 2.287974vw, 1.716rem);
  }
}
main #left_side {
  width: calc((100% - 750px) / 2);
  background: #e1f5ff;
  box-shadow: inset -0.25em 0 0.25em 0 rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 375px) {
  main #left_side {
    background-image: none;
  }
}
@media screen and (max-width: 768px) {
  main #left_side {
    width: 100%;
    background-size: cover;
    box-shadow: none;
  }
}
main #left_side .xlogo {
  width: 20%;
  max-width: 300px;
  position: fixed;
  top: 10%;
  left: calc(((100% - 750px) / 2 - 20%) / 2);
  display: block;
  transform: rotate(-10deg);
}
@media screen and (max-width: 768px) {
  main #left_side .xlogo {
    display: none;
  }
}
@media screen and (min-width: 376px) and (max-width: 768px) {
  main #left_side .xlogo {
    width: 20%;
    max-width: 200px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1365px) {
  main #left_side .xlogo {
    width: 20%;
    max-width: 180px;
    left: calc(((100% - 750px) / 2 - 180px) / 2);
  }
}
main #left_side picture {
  width: 100%;
  margin: 0;
  padding: 0;
}
main #left_side picture img {
  display: none;
}
@media screen and (max-width: 768px) {
  main #left_side picture img {
    width: 92%;
    max-width: calc(750px - 2em);
    margin: 0.5em auto 0 auto;
    position: relative;
    display: inline-block;
  }
}
@media screen and (max-width: 375px) {
  main #left_side picture img {
    width: 100%;
    margin: 0;
  }
}
main aside {
  width: calc((100% - 750px) / 2);
  background: #e1f5ff;
  box-shadow: inset 0.25em 0 0.25em 0 rgba(0, 0, 0, 0.12);
}
@media screen and (max-width: 1024px) {
  main aside {
    width: calc(100% - 585px);
  }
}
@media screen and (max-width: 768px) {
  main aside {
    width: 100%;
    padding: 0;
    background: rgba(0, 0, 0, 0.8);
    background-image: none;
    box-shadow: none;
    display: block;
    z-index: 100000;
    position: fixed;
  }
}
main aside nav {
  width: calc((100% - 750px) / 2 - 1em);
  margin: 7vh auto 0 auto;
  padding: 0.5em;
  position: fixed;
  left: calc((100% - 750px) / 2 + 750px + 0.5em);
  background: rgba(255, 255, 255, 0.75);
  border: 1px solid #0046aa;
  border-radius: 0.5em;
  z-index: 3000;
}
@media screen and (max-width: 768px) {
  main aside nav {
    width: 100% !important;
    margin: 0;
    background: none;
    border: none;
    position: initial;
  }
}
@media screen and (max-width: 1024px) {
  main aside nav {
    margin: 3vh auto 0 auto;
    left: calc(585px + 1em);
    width: calc(100% - 585px - 2em);
    padding: 0.25em;
  }
}
@media screen and (max-width: 1536px) {
  main aside nav {
    margin: 3vh auto 0 auto;
    padding: 0.25em;
  }
}
main aside nav ul {
  width: 100%;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 768px) {
  main aside nav ul {
    margin: 2em auto 0 auto;
    padding: 2em;
  }
}
main aside nav ul li {
  font-size: 1.4rem;
  text-align: center;
  font-weight: 700;
  margin: 0 0 0.5em 0;
  padding: 0;
}
main aside nav ul li:last-child {
  margin-bottom: 0;
}
main aside nav ul li a {
  color: #fff !important;
  padding: 0.25em 0.5em;
  display: block;
  background: #0046aa;
  border-radius: 0.5em;
  box-shadow: 3px 3px 3px 0 rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  main aside nav ul li a {
    font-size: 1.4rem;
    color: #0046aa !important;
    background: #fff;
    border: 1px solid #0046aa;
  }
}
@media screen and (max-width: 1024px) {
  main aside nav ul li a {
    font-size: 1.4rem;
    padding: 0.25em 0.5em;
  }
}
@media screen and (max-width: 1536px) {
  main aside nav ul li a {
    font-size: 1.4rem;
  }
}
main aside .navigation_btn {
  width: 2em;
  height: 2em;
  max-width: 45px;
  max-height: 45px;
  border: 1px solid #fff;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 1.25rem;
  right: 1.25rem;
}
main aside .navigation_btn img {
  width: 100%;
  display: block;
  position: static;
}
@media screen and (min-width: 769px) {
  main aside .navigation_btn {
    display: none;
  }
}
main aside .nav_contents__close {
  display: none;
}
main aside img {
  width: 20%;
  display: block;
  position: fixed;
  bottom: 0;
  right: calc(((100% - 750px) / 2 - 20%) / 2);
}
@media screen and (max-width: 1024px) {
  main aside img {
    right: 1em;
  }
}
@media screen and (min-width: 769px) and (max-width: 1024px) {
  main aside img {
    width: 35%;
    right: 1.5em;
  }
}
main footer {
  width: 100%;
  margin: auto auto 0 auto;
  padding: 0.5em 1em;
  border-top: 1px solid #666;
  z-index: 100;
  position: fixed;
  bottom: 0;
  background: rgba(0, 0, 0, 0.8);
}
main footer a {
  margin: 0;
  padding: 0;
  display: block;
}
main footer a picture {
  margin: 0;
  padding: 0;
}
main footer a picture img {
  margin: 0 auto;
  width: 100%;
  max-width: 640px;
  display: block;
}
@media screen and (max-width: 750px) {
  main footer a picture img {
    max-width: 340px;
  }
}
main footer a picture img:hover {
  opacity: 0.95;
}

@media screen and (max-width: 768px) {
  .onlySP {
    display: inline;
  }
  .onlyPC {
    display: none;
  }
}
.toggleButton__close {
  display: none;
}

.item1 {
  order: 2;
  z-index: 10;
}

.item2 {
  order: 1;
}
@media screen and (max-width: 1024px) {
  .item2 {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .item2 {
    display: block;
    order: 3;
  }
}

.item3 {
  order: 3;
}
@media screen and (max-width: 768px) {
  .item3 {
    order: 1;
  }
}

/* quick-check */
#quick .quickDiagnosis [class^="result--"] .result_box {
 border: #0046aa 1px solid;
 background-color: #fff;
 padding: 1em;
 border-radius: 5px;
 margin: 1em 0;
}

#quick .quickDiagnosis [class^="result--"] .result_box h3 {
    color: #0046aa;
    font-family: "M PLUS Rounded 1c", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
    font-size: clamp(2.4rem, 6.4vw, 4.8rem);
    line-height: 1.3;
    font-weight: 700;
    width: 100%;
    text-align: center;
    margin: 0 0 0.5em 0;
    padding: 0;
}

#quick .quickDiagnosis [class^="result--"] .result_box div.title {
  color: #333;
    font-size: clamp(2rem, 5.333vw, 4rem);
    font-family: "M PLUS Rounded 1c", "Zen Maru Gothic", "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
    font-weight: 700;
    line-height: 1.3;
    padding: 0.5em;
    margin: 1em 0;
    display: flex;
    justify-content: center;
    align-items: center;
    border-top: #333 1px solid; 
    border-bottom: #333 1px solid;
    gap: 1em;
}

#quick .quickDiagnosis [class^="result--"] .result_box div.title img {
  width: 10%;
}

#quick .quickDiagnosis [class^="result--"] .result_box p {
  text-align: center;
}

#quick .quickDiagnosis [class^="result--"] .result_box p span.txt_b {
  font-weight: 700;
}

#quick .quickDiagnosis [class^="result--"] .result_box p span.txt_bl {
  color: #0046aa;
}

#quick .quickDiagnosis [class^="result--"] .result_box ul.note li {
    padding-left: 1em;
    text-indent: -1em;
    letter-spacing: normal;
}

#quick .quickDiagnosis [class^="result--"] .result_box figure {
  margin: 0.5em 0;
}

#quick .quickDiagnosis [class^="result--"] .result_box figure img {
    width: 70%;
    display: block;
    margin: 0 auto;
}

#quick .quickDiagnosis [class^="result--"] {
  display: none;
}

#quick .quickDiagnosis.is-ng .result--ng {
  display: block;
}

#quick .quickDiagnosis.is-ok .result--ok {
  display: block;
}