@charset "UTF-8";
/* reset */
html{
  width: 100%;
  scroll-behavior: smooth;
  line-height: 1.6;
}
body{
  font-size: 16px;
  overflow-x: hidden;
  color: #000;
  font-family: "Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", "MS ゴシック", "MS Gothic", sans-serif;
}
*:focus {
  outline: none;
  box-shadow: none;
}
*,
::before,
::after{
  word-break: break-all;
}
img{
  width: 100%;
  display: block;
}
.d-block{
  display: block;
}

/* font */
h1{
  font-size: 1.625rem;
  font-weight: 700;
  display: inline-block;
}
h2{
  font-size: 1.625rem;
  font-weight: 700;
}
h3{
  font-size: 1.5rem;
  font-weight: 700;
}
p{
  margin: 0 0 1rem 0;
}
.lead{
  font-size: 1.125rem;
  font-weight: bold;
}
.text-center{
  text-align: center;
}
.ff-m {
  font-family: 'ヒラギノ明朝 ProN','Hiragino Mincho ProN','ヒラギノ明朝 ProN','Hiragino Mincho ProN',sans-serif!important;
}
.fw-b{
  font-weight: bold;
}

/* margin padding */
.mb-0{
  margin-bottom: 0;
}
.mb-8{
  margin-bottom: 0.5rem;
}
.mb-16{
  margin-bottom: 1rem;
}
.pt-80{
  padding-top: 5rem;
}
.mt-8{
  margin-top: 0.5rem;
}
.mr-16{
  margin-right: 1rem!important;
}
.mx-auto{
  margin-right: auto!important;
  margin-left: auto!important;
}
.pt-32{
  padding-top: 2rem;
}

/* style */
.rounded-8{
  border-radius: 0.5rem;
}
.rounded-50{
  border-radius: 50rem;
}

/* header */
.header-wrap {
  padding: 1.25rem 1rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
  position: relative;
  width: 100%;
}
.nav-link{
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  color: #fff;
}
#header-top {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  padding: 0;
  line-height: 1;
  z-index: 999;
  background-color: #0e6eb8;
}
.header-logo {
  max-width: 80px;
}
#header-menu ul {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
}
#header-top.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  background: #0e6eb8;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}
#nav-toggle {
  display: none;
  position: absolute;
  left: 16px;
  top: 7px;
  width: 50px;
  height: 44px;
  cursor: pointer;
  z-index: 101;
  border: solid 1px #fff;
  padding: 0.6rem 0.8rem;
  border-radius: 5px;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 1px;
}
#nav-toggle span:nth-child(2) {
  top: 10px;
}
#nav-toggle span:nth-child(3) {
  top: 19px;
}

/* page layout */
.site-content{
  margin-top: 58px;
}
.page-container{
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  padding: 3rem 1rem;
  position: relative;
}
.page-content{
  width: 100%;
}
.page-col{
  width: 100%;
  margin-bottom: 2rem;
}
.page-col-3{
  width: 25%;
  padding: 0 1rem;
}
.page-col-9{
  width: 75%;
  padding: 0 1rem;
}

/* other */
.sns-content{
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 2.2;
  flex-wrap: wrap;
}
.line-it-button {
  margin-left: 0.6rem;
}
.anker-point{
  height: 1px;
  display: block;
  padding-top: 5rem;
  margin-top: -5rem;
}
.ad-content{
  border: solid 1px #ddd;
  padding: 1.25rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
}
.img-book{
  max-width: 200px;
}
.shindan-container{
  max-width: 670px;
}
.sindan-content{
  padding-top: 3rem;
  margin-bottom: 17.5rem;
}
#sindan-start{
  margin-bottom: 17.5rem;
}
#sindan-form{
  display: none;
}
.shindan-list{
  margin-bottom: 6rem;
}
.shindan-col{
  margin-bottom: 1.25rem;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.result-content{
  margin-top: 5rem;
  margin-bottom: 5rem;
}
.img-share{
  max-width: 400px;
  margin: 0 auto;
}
.img-result{
  max-width: 400px;
  margin-right: auto;
  margin-left: auto;
}

/* 質問の表示 */
#q-list-2,#q-list-3,#q-list-4,#q-list-5,#q-list-6,#q-list-7,#q-list-8,#q-list-9,#q-list-10,#q-list-11,#q-list-12,#q-list-13,#q-list-14,#q-list-15,#q-list-16,#q-list-17,#q-list-18,#q-list-19,#q-list-20,#q-submit{
  display: none;
}
.show{
  display: block!important;
  animation-name: fadein;
  animation-duration: 2s;
  transition: all .5s;
}
@keyframes fadein{
  from{
  transform: translatey(30px);
  }
  to{
  transform: translatey(0);
  }
}

/* button */
/* 共通 */
.btn{
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #000;
  margin: 1.25rem 0;
  background-color: #ffffff;
  line-height: 1;
}
.btn-outline{
  border: solid 1px #ddd!important;
}

/* スタートボタン */
.btn-start{
  background-color: #fff!important;
  padding: 3.125rem 1.875rem;
  color: #3e3e3e!important;
  border: solid 3px #ffa41c;
  width: 100%;
  text-align: center;
  font-size: 1.875rem;
}
.btn-start:hover{
  background-color: #ffa41c!important;
  border: solid 3px #ffa41c;
  color: #fff!important;
  transition: all .3s;
}

/* 選択ボタン */
.btn-select {
  width: 48%;
  padding: 2.5rem 1.875rem;
  color: #000;
  background-color: #fff;
  border: 3px solid #FF1D05;
  font-size: 1.125rem;
  position: relative;
  font-weight: bold;
}
.btn-select:hover{
  background: #FF1D05;
  border: 3px solid #f21b04;
  transition: all .5s;
  color: #fff;
}
input[type="radio"]:checked + label{
  background: #f21b04;
  color: #fff;
}

/* 送信ボタン */
.btn-submit{
  background-color: #fff!important;
  padding: 3.125rem 1.875rem;
  color: #3e3e3e!important;
  border: solid 3px #0e6eb8;
  width: 100%;
  text-align: center;
  font-size: 1.625rem;
}
.btn-submit:hover{
  background-color: #0e6eb8!important;
  border: solid 3px #0e6eb8;
  color: #fff!important;
  transition: all .3s;
}

/* 再診断ボタン */
.btn-again{
  background-color: #fff!important;
  padding: 1.25rem 1.875rem;
  color: #3e3e3e!important;
  border: solid 3px #0e6eb8;
  width: 100%;
}
.btn-again:hover{
  background-color: #0e6eb8!important;
  border: solid 3px #0e6eb8;
  color: #fff!important;
  transition: all .3s;
}

/* footer */
.footer-logo{
  max-width: 25px;
}
.footer-wrap {
  padding: 0 1rem;
  width: 100%;
  background-color:#0e6eb8;
}
.footer-menu{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem 0;
  flex-direction: row;
}
.footer-menu ul{
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}
.copyright{
  font-size: 0.75rem;
  padding: 1rem 0;
  color: #fff;
}