@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Caveat&family=Zen+Maru+Gothic:wght@500;700&display=swap');

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: #394669;
  font-size: 0.9rem;
	font-family: "Noto Sans JP", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, sans-serif;
  font-weight: 500;
  letter-spacing: 1px;
  line-height: 1.5;
  overflow-x: hidden;
  position: relative;
}

.d_font{
	font-family: 'Zen Maru Gothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

@media screen and (min-width: 375px) {
  body {
    font-size: 1rem;
  }
}
a {
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  text-decoration: none;
  cursor: pointer;
  transition: 0.4s;
}
a:hover {
  outline-width: 0;
  text-decoration: none;
}
img {
  max-width: 100%;
  border-style: none;
  vertical-align: initial;
  object-fit: contain;
}
ul,ol,li {
  margin: 0;
  padding: 0;
  list-style-type: none;
}
h1,h2,h3,h4,h5,h6,p,figure {
  margin: 0;
  font-weight: 500;
}


/*naviここから*/
header {
  background:#394669;
  position: relative;
}

  @media (max-width: 991.98px) {
    header .navbar .container {
      padding: 0px 10px; } }
  @media (min-width: 992px) {
    header .navbar .container {
      padding: 0px 10px; } }
  
  
  
  @media (max-width: 991.98px) {
    header .navbar-brand {
      max-width: 200px;
      padding: 0; } }
  @media (max-width: 376px) {
    header .navbar-brand {
      max-width: 100px;
      padding: 0; } }  
	 
  @media (min-width: 992px) {
    header .navbar-brand {
      max-width: 230px; } }
  header .navbar-toggler {
    position: fixed;
    top: 10px;
    right: 8px;
    max-width: 54px;
    padding: 0;
    z-index: 99; }
  @media (min-width: 992px) {
    header #Navber {
      justify-content: flex-end; } 
    
	header .navbar-toggler {
    max-width: 62px;
    }
  
  }
.nav {
  display: flex;
  flex-wrap: wrap;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }

.nav-link {
  display: block;
  padding: 0.5rem 1rem;
  text-decoration: none;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .nav-link {
      transition: none; } }
  .nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default; }

.nav-tabs {
  border-bottom: 1px solid #dee2e6; }
  .nav-tabs .nav-link {
    margin-bottom: -1px;
    background: none;
    border: 1px solid transparent; }
    .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
      border-color: #e9ecef #e9ecef #dee2e6;
      isolation: isolate; }
    .nav-tabs .nav-link.disabled {
      color: #6c757d;
      background-color: transparent;
      border-color: transparent; }
  .nav-tabs .nav-link.active,
  .nav-tabs .nav-item.show .nav-link {
    color: #495057;
    background-color: #fff;
    border-color: #dee2e6 #dee2e6 #fff; }
  .nav-tabs .dropdown-menu {
    margin-top: -1px; }

.nav-pills .nav-link {
  background: none;
  border: 0; }
.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: #fff;
  background-color: #0d6efd; }

.nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center; }

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center; }

.tab-content > .tab-pane {
  display: none; }
.tab-content > .active {
  display: block; }

.navbar {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-top: 0;
  padding-bottom: 0;
}
  .navbar > .container,
  .navbar > .container-fluid,
  .navbar > .container-sm,
  .navbar > .container-md,
  .navbar > .container-lg,
  .navbar > .container-xl,
  .navbar > .container-xxl {
    display: flex;
    flex-wrap: inherit;
    align-items: center;
    justify-content: space-between; }

.navbar-brand {
  padding-top: 0;
  padding-bottom: 0;
  margin-right: 1rem;
  font-size: 1.25rem;
  text-decoration: none;
  white-space: nowrap; }

.navbar-nav {
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none; }
  .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0; }
  .navbar-nav .dropdown-menu {
    position: static; }

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem; }

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center; }

.navbar-toggler {
  padding: 0.25rem 0.75rem;
  font-size: 1.25rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  transition: box-shadow 0.15s ease-in-out; }
  @media (prefers-reduced-motion: reduce) {
    .navbar-toggler {
      transition: none; } }
  .navbar-toggler:hover {
    text-decoration: none; }
  .navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 0.25rem; }

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%; }

.navbar-nav-scroll {
  max-height: var(--bs-scroll-height, 75vh);
  overflow-y: auto; }

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-sm .navbar-nav {
      flex-direction: row; }
      .navbar-expand-sm .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-sm .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-sm .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-sm .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-sm .navbar-toggler {
     /* display: none;*/ } }
@media (min-width: 768px) {
  .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-md .navbar-nav {
      flex-direction: row; }
      .navbar-expand-md .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-md .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-md .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-md .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-md .navbar-toggler {
      /*display: none;*/ } }
@media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-lg .navbar-nav {
      flex-direction: row; }
      .navbar-expand-lg .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-lg .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-lg .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-lg .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-lg .navbar-toggler {
      /*display: none;*/ } }
@media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-xl .navbar-nav {
      flex-direction: row; }
      .navbar-expand-xl .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-xl .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-xl .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-xl .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-xl .navbar-toggler {
      /*display: none;*/ } }
@media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start; }
    .navbar-expand-xxl .navbar-nav {
      flex-direction: row; }
      .navbar-expand-xxl .navbar-nav .dropdown-menu {
        position: absolute; }
      .navbar-expand-xxl .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .navbar-expand-xxl .navbar-nav-scroll {
      overflow: visible; }
    .navbar-expand-xxl .navbar-collapse {
      display: flex !important;
      flex-basis: auto; }
    .navbar-expand-xxl .navbar-toggler {
      /*display: none;*/ } }
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start; }
  .navbar-expand .navbar-nav {
    flex-direction: row; }
    .navbar-expand .navbar-nav .dropdown-menu {
      position: absolute; }
    .navbar-expand .navbar-nav .nav-link {
      padding-right: 0.5rem;
      padding-left: 0.5rem; }
  .navbar-expand .navbar-nav-scroll {
    overflow: visible; }
  .navbar-expand .navbar-collapse {
    display: flex !important;
    flex-basis: auto; }
  .navbar-expand .navbar-toggler {
    /*display: none; */}

.navbar-light .navbar-brand {
  color: rgba(51, 51, 51, 0.9); }
  .navbar-light .navbar-brand:hover, .navbar-light .navbar-brand:focus {
    color: rgba(51, 51, 51, 0.9); }
.navbar-light .navbar-nav .nav-link {
  color: rgba(51, 51, 51, 0.55); }
  .navbar-light .navbar-nav .nav-link:hover, .navbar-light .navbar-nav .nav-link:focus {
    color: rgba(51, 51, 51, 0.7); }
  .navbar-light .navbar-nav .nav-link.disabled {
    color: rgba(51, 51, 51, 0.3); }
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link.active {
  color: rgba(51, 51, 51, 0.9); }
.navbar-light .navbar-toggler {
  color: rgba(51, 51, 51, 0.55);
  border-color: rgba(51, 51, 51, 0.1); }
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2851, 51, 51, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.navbar-light .navbar-text {
  color: rgba(51, 51, 51, 0.55); }
  .navbar-light .navbar-text a,
  .navbar-light .navbar-text a:hover,
  .navbar-light .navbar-text a:focus {
    color: rgba(51, 51, 51, 0.9); }

.navbar-dark .navbar-brand {
  color: #fff; }
  .navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus {
    color: #fff; }
.navbar-dark .navbar-nav .nav-link {
  color: rgba(255, 255, 255, 0.55); }
  .navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus {
    color: rgba(255, 255, 255, 0.75); }
  .navbar-dark .navbar-nav .nav-link.disabled {
    color: rgba(255, 255, 255, 0.25); }
.navbar-dark .navbar-nav .show > .nav-link,
.navbar-dark .navbar-nav .nav-link.active {
  color: #fff; }
.navbar-dark .navbar-toggler {
  color: rgba(255, 255, 255, 0.55);
  border-color: rgba(255, 255, 255, 0.1); }
.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); }
.navbar-dark .navbar-text {
  color: rgba(255, 255, 255, 0.55); }
  .navbar-dark .navbar-text a,
  .navbar-dark .navbar-text a:hover,
  .navbar-dark .navbar-text a:focus {
    color: #fff; }
#gn_btn{
  z-index:999;
}
#gn_btn:hover,#gn_btn:active,#gn_btn:focus{
  opacity:1 !important;
}
#gn_btn .n_open{
  display:none;	
}
#gn_btn .n_close{
  display:block;
}
#gn_btn.collapsed .n_open{
  display:block;	
}
#gn_btn.collapsed .n_close{
  display:none;
}
#navbarSupportedContent{
  overflow-y: scroll;
  height:100%;
  max-height: 100%;
  z-index: 998;
  background:#2a2269;
  color:#fff;
  text-align:center;	
}
#navbarSupportedContent a{
  text-decoration:none;
  color:#fff;
}
#navbarSupportedContent > ul{
  list-style:none;
  color:#a47166;
  height:100vh;
  margin:0;
  padding:0;
}
#navbarSupportedContent li{
  padding:0.4rem 0;
	font-size:1rem;
}
#navbarSupportedContent > ul > li > ul{
  padding:1rem;
  background-color:#f8efed;
  list-style:none;
  margin:0;
  padding:0;
  color:#000;
}
#navbarSupportedContent > ul > li > ul li{
  border-top: solid 1px #b7b7b7;
}
#navbarSupportedContent > ul > li > ul li:first-child{
  border: none;
}
#navbarSupportedContent > ul > li > ul > li a{
  color:#a47166;
}
#navbarSupportedContent > ul > li.has-child{
  position: relative;
}
#navbarSupportedContent > ul > li.has-child > a.collapsed::before{
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
#navbarSupportedContent > ul > li.has-child > a::before{
  display: inline-block;
  margin-right: 0.5em;
  vertical-align: 0.255em;
  content: "";
  border-bottom: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-top: 0;
  border-left: 0.3em solid transparent;
}

.bg-header{
	background:#394669;
}
/*naviここまで*/

/* ============= フッター ================ */
footer {
  background:#394669;
  color: #fff;
	padding-bottom:120px;
}
.footer_link li {
  font-size: 0.8rem;
	border-radius:0 !important;
}





/* ============= common class ================ */
.inner {
  width: calc(100% - 2rem);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  position: relative;
  z-index: 1;
}
.inner::before{
  content: '';
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  z-index: 1;
}
.en {
  font-family: 'Caveat', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.marker {
  background:linear-gradient(transparent 60%, rgba(255,235,130,0.54) 60%);
}
main {
  overflow: hidden;
	min-height:80vh;
}
section {
  position: relative;
}
.section_title {
  margin-bottom: 0.5em;
  color: #0c2366;
  font-weight: 700;
  font-size: 175%;
  line-height: 1.25;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}
.section_title .main {
  width: 100%;
  margin-bottom: 0.4em;
  letter-spacing: 1.5px;
  display: inline-block;
  position: relative;
	font-family: 'Zen Maru Gothic', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (min-width: 576px){
  .section_title {
    font-size: 220%;
  }
  .section_title .main {
    width: 11em;
  }
}
.section_title .main::before,
.section_title .main::after {
  content: '';
  width: 1.45em;
  height: 2.35em;
  display: block;
  position: absolute;
  top: 0;
}
.section_title .main::before {
  border-right: 2px solid #0c2366;
  left: -1.45em;
  transform: skewX(30deg);
}
.section_title .main::after {
  border-left: 2px solid #0c2366;
  right: -1.45em;
  transform: skewX(-30deg);
}
.section_title .small {
  font-weight: 500;
  font-size: 60%;
}
.section_title .en {
  padding: 0 0.1em;
  margin: 0.5em 0;
  background: linear-gradient(to left, #aadaea 0%, #eaaae5 57%, #7a7fdf 100%);
  -webkit-background-clip: text;
  color: transparent;
  font-size: 85%;
  text-align: center;
  display: inline-block;
}
.box {
  background-color: #fff;
  border: 8px solid rgba(173,178,197,0.42);
  border-radius: 20px;
}
@media screen and (min-width: 768px){
  .box {
    border-width: 16px;
  }
}

/*------------------------------------------------------
  #sec_kv
-------------------------------------------------------*/
#sec_kv {
  padding: 2.8125em 0 7em 0;
  position: relative;
}
#sec_kv::before {
  content: '';
  width: 100%;
  height: 150vh;
  background: #e8ffff url(../img/kv_bg.jpg) center top/150% no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#sec_kv h1 img {
  width: 100%;
  /*max-width: 820px;*/
  margin: 0 auto;
  display: block;
}
#sec_kv .btn {
  width: 100%;
  margin: 0 auto;
  background-color: #00d4dc;
  border: 7px solid #75f9fe;
  border-radius: 22px;
  box-shadow: 0 0 18px rgba(2,124,129,0.5);
  color: #fff;
  font-size: 120%;
  font-weight: 700;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 360px){
  #sec_kv .btn {
    width: 80%;
  }
}
@media screen and (min-width: 768px){
  #sec_kv {
    padding-bottom: 12.5em;
  }
  #sec_kv::before {
    background-size: 120%;
  }
  #sec_kv .btn {
    max-width: 604px;
    font-size: 225%;
  }
}
@media screen and (min-width: 1200px){
  #sec_kv::before {
    background-size: 100%;
  }
}
/*------------------------------------------------------
  sec_feature
-------------------------------------------------------*/
#sec_feature {
  background: url(../img/feature_bg.png) center top/ 100% no-repeat;
  padding: 6em 0 16vw;
  margin-top: -6em;
  position: relative;
}
#sec_feature::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f1f5fe;
  display: block;
  position: absolute;
  top: 6em;
  left: 0;
  z-index: -1;
}
#sec_feature .box {
  height: 100%;
  padding: 2em 1em 1.5em;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
#sec_feature .box::after {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
}
#sec_feature .box1::after {
  width: 5em;
  height: 8em;
  background: url(../img/feature_box1.png) center/contain no-repeat;
  top: -1.5em;
  left: -0.5em;
}
#sec_feature .box2::after {
  width: 6em;
  height: 6em;
  background: url(../img/feature_box2.png) center/contain no-repeat;
  top: -3.5em;
  right: -1em;
}
#sec_feature .box h3 {
  color: #0c2366;
  font-size: 115%;
  font-weight: 500;
  text-align: center;
  letter-spacing: 1.7px;
  line-height: 1.984;
}
#sec_feature .box h3 strong {
  font-size: 125%;
  font-weight: 700;
}
#sec_feature .box p {
  font-size: 100%;
  line-height: 2;
}
@media screen and (max-width: 767px){
  #sec_feature .row {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 576px){
  #sec_feature {
    padding-top: 10em;
    margin-top: -14em;
  }
  #sec_feature::before {
    top: 14em;
  }
  #sec_feature .box {
    padding: 2em 1.5em 1.5em;
  }
  #sec_feature .box h3 {
    font-size: 126.25%;
  }
  #sec_feature .box p {
    font-size: 112.5%;
  }
}
@media screen and (min-width: 768px){
  #sec_feature .box {
    padding: 2em 1.875em 1em;
  }
  #sec_feature .box1::after {
    width: 8em;
    height: 9em;
    top: -4.5em;
    left: 0em;
  }
  #sec_feature .box2::after {
    width: 8em;
    height: 8em;
    top: -5em;
    right: -1.5em;
  }
}
@media screen and (min-width: 1200px){
  #sec_feature {
    padding-top: 14em;
    margin-top: -14em;
  }
  #sec_feature::before {
    top: 20em;
  }
  #sec_feature .box {
    padding: 3.5625em 1.875em 2.5em;
  }
  #sec_feature .box1::after {
    width: 10.8125em;
    height: 14.25em;
    top: -6.5em;
    left: 1em;
  }
  #sec_feature .box2::after {
    width: 10.875em;
    height: 10.4375em;
    top: -8em;
    right: -1em;
  }
}
@media screen and (min-width: 1440px){
  #sec_feature {
    padding-top: 15vw;
    margin-top: -18vw;
  }
  #sec_feature::before {
    top: 24vw;
  }
}

/*------------------------------------------------------
  sec_symptom
-------------------------------------------------------*/
#sec_symptom {
  background: url(../img/symptom_bg.png) center top/ 100% no-repeat;
  padding: 5em 0 12em;
  margin-top: -19vw;
  color: #fff;
  position: relative;
}
#sec_symptom::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #394669;
  display: block;
  position: absolute;
  top: 6em;
  left: 0;
  z-index: -1;
}
#sec_symptom > .inner {
  padding-top: 2em;
  background: url(../img/symptom_title_bg.png) center top/100% no-repeat;
  z-index: 0;
}
#sec_symptom .section_title {
  margin-top: 1em;
  color: #eaafff;
}
#sec_symptom .section_title .main::before,
#sec_symptom .section_title .main::after {
  border-color: #eaafff;
}
#sec_symptom .symptoms .symptom {
  position: relative;
}
#sec_symptom .symptoms .symptom  p {
  width: 100%;
  font-size: 85%;
  font-weight: 700;
  text-align: center;
  letter-spacing: 1.7px;
  position: absolute;
  top: 62%;
  left: 0;
}
#sec_symptom .insomnia p {
  width: 100%;
  font-size: 130%;
  letter-spacing: 1.5px;
  line-height: 1.54;
  text-align: center;
}
#sec_symptom .insomnia p strong {
  color: #eaafff;
  font-size: 120%;
}

#sec_symptom .insomnia p strong.u_line {
  padding-bottom: 5px;
  background: url(../img/waveline.png) left bottom/24px repeat-x;
}
#sec_symptom .insomnia img {
  width: 50%;
  display: block;
}
@media screen and (min-width: 360px){
  #sec_symptom .symptoms .symptom  p {
    font-size: 90%;
  }
}
@media screen and (max-width: 767px){
  #sec_symptom .symptoms {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 576px){
  #sec_symptom {
    padding-top: 7em;
  }
  #sec_symptom::before {
    top: 10em
  }
  #sec_symptom .insomnia p {
    font-size: 160%;
  }
  #sec_symptom .insomnia img {
    width: 36.5%;
  }
}
@media screen and (min-width: 768px){
  #sec_symptom {
    padding-top: 10em;
  }
  #sec_symptom > .inner {
    padding-top: 0;
    background-position: center top;
    background-size: 100%;
  }
  #sec_symptom .section_title {
    margin-top: 0;
  }
  #sec_symptom .symptoms .symptom  p {
    font-size: 100%;
  }
  #sec_symptom .insomnia p {
    width: auto;
  }
  #sec_symptom .insomnia img {
    width: 25%;
    margin: 0 3%;
  }
}
@media screen and (min-width: 992px){
  #sec_symptom {
    padding-top: 13em;
  }
  #sec_symptom::before {
    top: 16em
  }
  #sec_symptom .symptoms .symptom  p {
    font-size: 125%;
  }
  #sec_symptom .insomnia img {
    width: 36.5%;
    margin: 0;
  }
}
@media screen and (min-width: 1200px){
  #sec_symptom {
    padding-top: 15em;
  }
  #sec_symptom::before {
    top: 18em
  }
}
@media screen and (min-width: 1440px){
  #sec_symptom {
    padding-top: 18vw;
    margin-top: -24vw;
  }
}
/*------------------------------------------------------
  sec_why
-------------------------------------------------------*/
#sec_why {
  background: url(../img/why_bg.png) center top/ 100% no-repeat;
  padding: 4em 0 12em;
  margin-top: -15em;
  position: relative;
}
#sec_why::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f1f5fe;
  display: block;
  position: absolute;
  top: 6em;
  left: 0;
  z-index: -1;
}
#sec_why .box {
  padding: 3em 1em 2em;
  margin-top: 7.5em;
}
#sec_why .box_title {
  margin-bottom: 0.7em;
  font-size: 130%;
  font-weight: 500;
  text-align: center;
} 
#sec_why .box_title strong {
  font-size: 125%;
  font-weight: 700;
}
#sec_why .box_image {
  width: 20em;
  margin: -10em auto 0;
  display: block;
}
#sec_why .box p {
  font-size: 100%;
  line-height: 2;
}
#sec_why .box p strong {
  font-weight: 500;
}
#sec_why .table_title {
  font-size: 100%;
  text-align: center;
}
#sec_why .table_title img {
  width: 9em;
  display: inline-block;
}
#sec_why table {
  position: relative;
  z-index: 1;
}
#sec_why table::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #fff;
  border: 1px solid #0c2366;
  border-radius: 20px;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  pointer-events: none;
  z-index: -1;
}
#sec_why table th,#sec_why table td {
  padding: 1em;
  font-size: 75%;
  font-weight: 500;
  line-height: 2.2;
  display: block;
}
#sec_why table th {
  
  border-bottom: 1px dotted #0c2366;
  text-align: center;
}
#sec_why table tr:not(:last-child) td {
  border-bottom: 1px dotted #0c2366;
}
@media screen and (min-width: 576px){
  #sec_why {
    padding-top: 5em;
  }
  #sec_why .box_title {
    font-size: 160%;
  }
}
@media screen and (min-width: 768px){
  #sec_why {
    padding-top: 7em;
    margin-top: -14em;
  }
  #sec_why .box {
    padding: 4.7em 2.2em 2.2em;
  }
  #sec_why .box p {
    font-size: 112.5%;
  }
  #sec_why table th,#sec_why table td {
    font-size: 87.5%;
    display: table-cell;
  }
  #sec_why table th {
    width: 12em;
    border-right: 1px dotted #0c2366;
    vertical-align: middle;
  }
  #sec_why table tr:last-child th {
    border-bottom: 0;
  }
}
@media screen and (min-width: 992px){
  #sec_why {
    margin-top: -20em;
  }
}
@media screen and (min-width: 1200px){
  #sec_why {
    padding-top: 12vw;
  }
}
/*------------------------------------------------------
  insomnia_type
-------------------------------------------------------*/
#sec_insomnia_type {
  background: url(../img/insomnia_type_bg.png) center top/ 100% no-repeat;
  padding: 16vw 0 12em;
  margin-top: -10em;
  color: #fff;
  position: relative;
}
#sec_insomnia_type::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #394669;
  display: block;
  position: absolute;
  top: 6em;
  left: 0;
  z-index: -1;
}
#sec_insomnia_type > .inner {
  padding-top: 2em;
  background: url(../img/symptom_title_bg.png) center top/100% no-repeat;
  z-index: 0;
}
#sec_insomnia_type .section_title {
  margin-top: 1em;
  color: #eaafff;
}
#sec_insomnia_type .section_title .main::before,
#sec_insomnia_type .section_title .main::after {
  border-color: #eaafff;
}
#sec_insomnia_type .type {
  padding: 0;
  position: relative;
}
#sec_insomnia_type .type img {
  width: 100%;
}
#sec_insomnia_type .type .text_wrap {
  font-size: clamp(62%,2.8vw,77%);
  display: flex;
  flex-direction: column;
  align-items: center;
  position: absolute;
  top: 18.5em;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#sec_insomnia_type .type4 .text_wrap {
  top: 20em;
}
#sec_insomnia_type .type_title {
  padding: 0 1em;
  margin-bottom: 0.5em;
  background: linear-gradient(to right, #eaaae5 0%, #7a7fdf 100%);
  -webkit-background-clip: text;
  color: transparent;
  font-size: 180%;
  font-weight: 700;
  text-align: center;
}
#sec_insomnia_type .type_title small {
  font-size: 60%;
}
#sec_insomnia_type .type p {
  font-size: 112.5%;
  text-align: center;
  letter-spacing: 1.7px;
  line-height: 1.6;
}
#sec_insomnia_type .prescription p {
  width: 100%;
  font-size: 130%;
  letter-spacing: 1.5px;
  line-height: 1.54;
  text-align: center;
}
#sec_insomnia_type .prescription p strong {
  color: #eaafff;
  font-size: 120%;
}

#sec_insomnia_type .prescription p strong.u_line {
  padding-bottom: 5px;
  background: url(../img/waveline.png) left bottom/24px repeat-x;
}
#sec_insomnia_type .prescription img {
  width: 50%;
  display: block;
}
#sec_insomnia_type .prescription .img6 {
  width: 25%;
}
@media screen and (min-width: 576px){
  #sec_insomnia_type .prescription p {
    font-size: 160%;
  }
  #sec_insomnia_type .prescription img {
    width: 36.5%;
  }
}
@media screen and (max-width: 767px){
  #sec_insomnia_type .row {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px){
  #sec_insomnia_type > .inner {
    padding-top: 0;
    background-position: center top;
    background-size: 100%;
  }
  #sec_insomnia_type .section_title {
    margin-top: 0;
  }
  #sec_insomnia_type .type .text_wrap {
    font-size: 75%;
  }
  #sec_insomnia_type .prescription p {
    width: auto;
    padding-bottom: 1.5em;
  }
  #sec_insomnia_type .prescription .img5 {
    width: 25%;
    margin-right: -5%;
  }
  #sec_insomnia_type .prescription .img6 {
    width: 12%;
    margin-left: 2%;
  }
}
@media screen and (min-width: 992px){
  #sec_insomnia_type .type .text_wrap {
    font-size: 100%;
  }
}
@media screen and (min-width: 1440px){
  #sec_insomnia_type {
    padding-top: 14vw;
    padding-bottom: 6vw;
  }
  #sec_insomnia_type::before {
    top: 10vw;
  }
}

/*------------------------------------------------------
  medicine_type
-------------------------------------------------------*/
#sec_medicine_type {
  background: url(../img/medicine_type_bg.png) center top/ 100% no-repeat;
  padding: 16vw 0 5vw;
  margin-top: -14em;
  position: relative;
}
#sec_medicine_type::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f6e8f7;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
  z-index: -1;
}
#sec_medicine_type .box {
  /*height: 100%;*/
  padding: 1.5em 1em 0;
  border-width: 11px;
  display: flex;
  flex-direction: column;
}
#sec_medicine_type .box_title {
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
  border-bottom: 3px dotted #0c2366;
  font-size: 130%;
  font-weight: 700;
  text-align: center;
  letter-spacing: 1.7px;
}
#sec_medicine_type .box_title1 {
  color: #7a7fdf;
}
#sec_medicine_type .box_title2 {
  color: #dda1e4;
}
#sec_medicine_type .box_title3 {
  color: #8acce2;
}
#sec_medicine_type .box_title small {
  margin-top: 0.2em;
  color: #0c2366;
  font-size: 60%;
  font-weight: 500;
  display: inline-block;
}
#sec_medicine_type .box p {
  font-size: 87.5%;
}
#sec_medicine_type .box .strong {
  margin-bottom: 1.2em;
  font-size: 85%;
  font-weight: 700;
  text-align: center;
  position: relative;
}
#sec_medicine_type .box .strong::before,
#sec_medicine_type .box .strong::after {
  content: '';
  width: 1em;
  height: 1em;
  background: url(../img/icon_apostrophe.png) center/contain no-repeat;
  display: block;
  position: absolute;
}
#sec_medicine_type .box .strong::before {
  top: 0;
  left: 0;
  transform: scale(-1,-1);
}
#sec_medicine_type .box .strong::after {
  bottom: 0;
  right: 0;
}
#sec_medicine_type .box img {
  width: 40%;
  margin: 0 auto;
  display: block;
}
@media screen and (min-width: 576px){
  #sec_medicine_type .box .strong::before,
  #sec_medicine_type .box .strong::after {
    width: 1.5em;
    height: 1.5em;
  }
  #sec_medicine_type .box_title {
    font-size: 150%;
  }
  #sec_medicine_type .box_title small {
    font-size: 65%;
  }
  #sec_medicine_type .box .strong {
    font-size: 100%;
  }
}
@media screen and (max-width: 767px){
  #sec_medicine_type .row {
    max-width: 400px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 768px){
  #sec_medicine_type {
    margin-top: -15em;
  }
  #sec_medicine_type .box .strong::before,
  #sec_medicine_type .box .strong::after {
    width: 1em;
    height: 1em;
  }
  #sec_medicine_type .box_title {
    font-size: 120%;
  }
  #sec_medicine_type .box_title small {
    font-size: 55%;
    white-space: nowrap;
  }
  #sec_medicine_type .box img {
    margin-top: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 991px) {
  #sec_medicine_type .box .strong {
    font-size: 80%;
    white-space: nowrap;
  }
  
  #sec_medicine_type .box .strong::before {
    left: -1em;
  }
  #sec_medicine_type .box .strong::after {
    right: -1em;
  }
  #sec_medicine_type .box img {
    width: 50%;
  }
}
@media screen and (min-width: 992px){
  #sec_medicine_type {
    margin-top: -16em;
  }
  #sec_medicine_type .box_title {
    font-size: 150%;
  }
  #sec_medicine_type .box_title small {
    font-size: 65%;
  }
}
@media screen and (min-width: 1200px){
  #sec_medicine_type {
    padding-top: 12vw;
    margin-top: -17em;
  }
  #sec_medicine_type .box {
    padding: 1.5em 1.125em 0;
  }
}
@media screen and (min-width: 1440px){
  #sec_medicine_type {
    margin-top: -11vw;
  }
}
/*------------------------------------------------------
  sec_medicine
-------------------------------------------------------*/
#sec_medicine {
  background: url(../img/medicine_bg.png) center top/ 100% no-repeat;
  padding: 23vw 0 0;
  margin-top: 0;
  position: relative;
}
#sec_medicine::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f1f5fe;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
  z-index: -1;
}
#sec_medicine .box {
  padding: 11.25em 1em 2em;
  margin-top: 8.75em;
}
#sec_medicine .box .box_title {
  margin: 1em 0 1.5em;
  font-size: 100%;
}
#sec_medicine .box .box_title span {
  padding: 0.2em 0.5em;
  border: 1px solid #0c2366;
  border-radius: 1.5em;
  font-size: 130%;
  font-weight: 700;
  letter-spacing: 1.7px;
  display: inline-block;
  position: relative;
}
@media screen and (min-width: 768px){
  #sec_medicine .box .box_title span {
    font-size: 160%;
  }
}
#sec_medicine .box .box_title span::before,
#sec_medicine .box .box_title span::after {
  content: '';
  width: 0;
  height: 0;
  border-bottom: 15px solid #fff;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  display: inline-block;
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#sec_medicine .box .box_title span::before {
  border-bottom: 15px solid #0c2366;
  top: -15px
}
#sec_medicine .box img {
  width: 11.5em;
  margin: -18em auto 0;
  display: block;
}
#sec_medicine .box p {
  line-height: 2;
}
#sec_medicine .box dl {
  padding: 0.5em;
  margin: 0;
}
#sec_medicine .box dl + dl {
  border-top: 3px dotted #0c2366;
}
#sec_medicine .box dt {
  padding: 0.1em 0.750em;
  margin-right: 1em;
  background-color: #0c2366;
  border-radius: 2em;
  color: #fff4bb;
  font-weight: 500;
  display: inline-block;
  flex-shrink: 0;
}
#sec_medicine .box dd {
  display: inline;
}
@media screen and (min-width: 768px){
  #sec_medicine .box dl {
    display: flex;
    align-items: center;
  }
}
#sec_medicine .box h4 {
  margin-bottom: 0.2em;
  font-size: 87.5%;
  font-weight: 500;
}
#sec_medicine .box h4::before {
  content: '■';
  display: inline;
}
#sec_medicine .box ol {
  margin-left: 2em;
}
#sec_medicine .box ol li {
  list-style-type: decimal;
  line-height: 2;
}
@media screen and (min-width: 768px){
  #sec_medicine .box {
    padding: 11.25em 2.5em 2em;
  }
  #sec_medicine .box .box_title span {
    font-size: 200%;
  }
}

/*------------------------------------------------------
  sec_price
-------------------------------------------------------*/
#sec_price {
  background: url(../img/price_bg.png) center top/ 100% no-repeat;
  padding: 14vw 0 20vw;
  margin-top: 0;
  position: relative;
}
#sec_price::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f8edfe;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
  z-index: -1;
}
#sec_price .section_title .main {
  padding-top: 0.5em;
}
#sec_price .intro {
  color: #1a2e6c;
  font-size: 95%;
  font-weight: 700;
  line-height: 2;
}
#sec_price .intro strong {
  padding: 0em 0.75em;
  background-color: #1a2e6c;
  border-radius: 1.5em;
  color: #f8edfe;
  display: inline-block;
  line-height: 1.7;
}
#sec_price .box {
  padding: 2.5em 0.75em 2em;
  border-width: 11px;
  font-size: 85%;
  position: relative;
}
#sec_price .box h3 {
  margin-bottom: 0.5em;
  font-size: 200%;
  font-weight: 700;
  text-align: center;
}
#sec_price .box .exclusing_tax {
  border-bottom: 3px dotted #1a2e6c;
  font-size: 150%;
  font-weight: 700;
  text-align: center;
}
#sec_price .box .exclusing_tax strong {
  font-size: 165%;
}
#sec_price .box .exclusing_tax small {
  font-size: 65%;
  font-weight: 700;
}
#sec_price .box .included_tax {
  font-size: 144%;
  text-align: center;
}
#sec_price .box .included_tax small {
  font-size: 52%;
  font-weight: 500;
}
#sec_price .box .box_image {
  
  display: block;
  position: absolute;
}
#sec_price .box .box_image1 {
  width: 6em;
  top: -2em;
  left: -3em;
}
#sec_price .box .box_image2 {
  width: 7em;
  top: -2em;
  right: -3em;
}
#sec_price .plus {
  width: 100%;
  height: 100%;
  font-size: 145%;
  font-weight: 700;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
#sec_price .card {
  height: 100%;
  background-color: #1a2e6c;
  border-color: #1a2e6c;
  border-radius: 40px;
  font-size: 85%;
}
#sec_price .card-title {
  padding: 1em;
  margin-bottom: 0;
  background-color: #1a2e6c;
  border-radius: 40px 40px 0 0;
  color: #fff;
  font-size: 140%;
  font-weight: 700;
  text-align: center;
}
#sec_price .card img {
  width: 7.5em;
  margin: 0 auto 0.5em;
  display: block;
}
#sec_price .card .card-body {
  padding: 1.5em 0.5em;
  background-color: #fff;
  border-radius: 0 0 40px 40px;
}
#sec_price .card .card-body .delivery span {
  padding: 0.2em 1em;
  margin-bottom: 1em;
  background-color: #b6d3e9;
  border-radius: 1.5em;
  text-align: center;
  display: inline-block;
  position: relative;
}
#sec_price .card .card-body .delivery span::before {
  content: '';
  width: 0;
  height: 0;
  border-top: 10px solid #b6d3e9;
  border-right: 8px solid transparent;
  border-left: 8px solid transparent;
  display: inline-block;
  position: absolute;
  bottom: -9px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
#sec_price .card .card-body table {
  width: 90%;
  margin: 0 auto;
}
#sec_price .card .card-body table th {
  border-right: 1px solid #1a2e6c;
  font-size: 125%;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  vertical-align: middle;
}
#sec_price .card .card-body table tr:not(:last-child) th {
  border-bottom: 1px solid #1a2e6c;
}
#sec_price .card .card-body table th small {
  font-size: 70%;
}
#sec_price .card .card-body table td {
  padding: 0.5em 1em;
  font-size: 70%;
}
#sec_price .card .card-body table tr:not(:last-child) td {
  border-bottom: 1px solid #1a2e6c;
}

@media screen and (min-width: 576px){
  #sec_price .box .box_image1 {
    width: 8em;
    left: -4em;
  }
  #sec_price .box .box_image2 {
    width: 9em;
    right: -4em;
  }
  #sec_price .card .card-body table {
    width: 85%;
  }
}
@media screen and (min-width: 576px) and (max-width: 767px) {
  #sec_price .box3 {
    padding: 2em 5em;
  }
}
@media screen and (max-width: 767px){
  #sec_price .box {
    margin: 0 auto;
  }
  #sec_price .box1,#sec_price .box2 {
    max-width: 330px;
 }
  #sec_price .box3 {
    max-width: 500px;
  }
}
@media screen and (min-width: 768px){
  #sec_price .intro {
    font-size: 100%;
  }
  #sec_price .card-title {
    white-space: nowrap;
		height: 4.5rem;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
  }
}
@media screen and (min-width: 992px){
  #sec_price .intro {
    font-size: 140%;
  }
  #sec_price .box {
    font-size: 100%;
  }
  #sec_price .card {
    font-size: 100%;
  }
  #sec_price .card-title {
    font-size: 150%;
    white-space: nowrap;
		
		/**/
		height: calc(6.875rem * 1);
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
		/**/
		
		
  }
  #sec_price .card .card-body .delivery {
    font-size: 100%;
  }
  #sec_price .card .card-body table {
    width: 75%;
  }
}
/*------------------------------------------------------
  sec_flow
-------------------------------------------------------*/
#sec_flow {
  background: url(../img/flow_bg.png) center top/ 100% no-repeat;
  padding: 16vw 0 18vw;
  margin-top: -19vw;
  position: relative;
}
#sec_flow::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #fff;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
  z-index: -1;
}
#sec_flow .box {
  padding: 1em;
}
#sec_flow .box img {
  width: 8em;
  display: block;
  flex-shrink: 0;
}
#sec_flow .text {
  font-size: 70%;
}
#sec_flow .box .box_title {
  font-size: 200%;
  font-weight: 700;
  line-height: 1.37;
}
#sec_flow .box p {
  font-size: 155%;
  font-weight: 700;
  line-height: 1.56;
}
@media screen and (max-width: 767px) {
  #sec_flow .row {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 992px){
  #sec_flow .box img {
    width: 11em;
  }
  #sec_flow .text {
    font-size: 100%;
  }
}
/*------------------------------------------------------
  sec_faq
-------------------------------------------------------*/
#sec_faq {
  background: url(../img/faq_bg.png) center top/ 100% no-repeat;
  padding: 16vw 0 10vw;
  margin-top: -19vw;
  position: relative;
}
#sec_faq::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f1f5fe;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
  z-index: -1;
}
#sec_faq .section_title .main {
  padding-top: 0.5em;
}
#sec_faq .box {
  padding: 1.5em 0.25em 1em;
  border-color: #fff;
  border-radius: 40px;
  font-size: 80%;
}
#sec_faq .box p {
  font-size: 140%;
  font-weight: 700;
  line-height: 1.85;
}
#sec_faq .box a {
  padding: 1em 3em 1em 2em;
  background-color: #1a2e6c;
  border-radius: 2em;
  color: #fff;
  font-size: 140%;
  font-weight: 700;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
#sec_faq .box a img {
  width: 1em;
  display: inline-block;
  position: absolute;
  right: 1em;
}
@media screen and (min-width: 768px){
  #sec_faq .box {
    border-radius: 60px;
  }
}
@media screen and (min-width: 992px){
  #sec_faq .box {
    font-size: 100%;
  }
}
/*------------------------------------------------------
  sec_guideline
-------------------------------------------------------*/
#sec_guideline {
  background: url(../img/guideline_bg.png) center top/ 100% no-repeat;
  padding: 16vw 0 10vw;
  margin-top: -19vw;
  position: relative;
}
#sec_guideline::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f8edfe;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
  z-index: -1;
}
#sec_guideline .contents {
  width: 87%;
  max-width: 830px;
  padding: 1.5em 1em;
  margin: 0 auto;
  background-color: #50a1c3;
}
#sec_guideline .row {
  counter-reset: guideline 0;
}
#sec_guideline .row li {
  font-size: 80%;
  position: relative;
}
#sec_guideline .row li::before {
  counter-increment: guideline 1;
  content: "その" counter(guideline);
  width: 6.2em;
  padding: 0.5em 1.5em;
  background-color: #1a2e6c;
  border-radius: 50%;
  color: #fff;
  font-size: 90%;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}
#sec_guideline .group {
  height: 100%;
  padding: 5em 1em 1em;
  background-color: #fff;
  border-radius: 20px;
  font-size: 70%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}
#sec_guideline .group::before {
  content: '';
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid #1a2e6c;
  border-radius: 20px;
  position: absolute;
  top: 2px;
  left: 2px;
  z-index: 1;
  display: block;
  pointer-events: none;
}
#sec_guideline .group p {
  font-size: 10px;
  letter-spacing: 0.5px;
  line-height: 1.38;
}
#sec_guideline .group p.vertical {
  margin: 0 auto 0.5em;
  font-size: 140%;
  font-weight: 700;
  line-height: 1.4;
  /*writing-mode: vertical-rl;*/
	text-align:center;
}
@media screen and (min-width: 768px){
  #sec_guideline .row li {
    font-size: 100%;
  }
  #sec_guideline .group {
    font-size: 75%;
  }
  #sec_guideline .group p {
    height: 7em;
    margin-top: auto;
    font-size: 81.25%;
  }
  #sec_guideline .group p.vertical {
    height: auto;
    background-color: transparent;
  }
	#sec_guideline .group p.vertical {
		font-size: 124%;
	}
}
@media screen and (min-width: 992px){
  #sec_guideline .contents {
    padding: 2em 1.5em;
  }
  #sec_guideline .row li::before {
    top: 1.5em
  }
  #sec_guideline .group {
    font-size: 100%;
  }
 
}

/*------------------------------------------------------
  sec_doctor
-------------------------------------------------------*/
#sec_doctor {	
	padding: 5rem 0;
	background:#f1f5fe;
}
#sec_doctor::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f1f5fe;
  display: block;
  position: absolute;
  /*top: 20vw;
  left: 0;
  z-index: -1;*/
}
#sec_doctor .section_title .main {
  padding-top: 0.5em;
}
#sec_doctor .box {
  padding: 1.5em 0.25em 1em;
  border-color: #fff;
  border-radius: 40px;
}
#sec_doctor .box p {
  font-weight: 700;
  line-height: 1.85;
}

#sec_doctor .position_title{
	font-size:1rem;
}

#sec_doctor .position_title{
	font-size:0.75rem;
}

#sec_doctor .doctor_name{
	font-size:1.5rem;
}

@media screen and (min-width: 768px){
  #sec_doctor .doctor_name{
		font-size:2rem;
	}

	#sec_doctor .d_text{
		font-size:1rem;
	}
}


@media screen and (min-width: 768px){
  #sec_doctor .box {
    border-radius: 60px;
  }
}
@media screen and (min-width: 992px){
  #sec_doctor .box {
    font-size: 100%;
  }
}



/*用法用量展開ボタン*/
.button_01 {
	display: inline-block;
	position: relative;
	padding: 10px 50px 10px 20px;
	border: 1px solid #dee2e6;
	text-decoration: none;
	color: #212529;
	transition: all 0.3s ease;
	background-color: #ffffff;
	border-radius: 4px;
	max-width: 100%;
	text-align:center;
}

.button_01:hover {
	background-color: #f8f9fa;
	border-color: #ced4da;
}

.cta-small-text {
	font-size: 0.75rem;
	display: block;
	margin-bottom: 2px;
	color: #6c757d;
}

.cta-main-text {
	font-size: 1rem;
	font-weight: 500;
}

.cta-icon {
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

/*下部固定ボタン*/
.fixed-banner a{
	padding:0;
}

@media (max-width: 767.98px) {
  .fixed-banner {
    position: fixed;
    bottom: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    width: 100%; } }
@media (min-width: 768px) {
  .fixed-banner {
    position: fixed;
    bottom: 0;
    z-index: 10;
    display: flex;
    justify-content: center;
    width: 100%; } }
@media (min-width: 768px) {
  .fixed-banner >  div{
	max-width:520px;
  }
}
@media (min-width: 992px) {
  .fixed-banner >  div{
	max-width:650px;
  }
}


/*------------------------------------------------------
  sec_kasou
-------------------------------------------------------*/
#sec_kasou {
  position: relative;
	background-color: #f1f5fe;
	padding-top:2.5rem;
}



.sec_kasou_guideline::before {
  /*content: '';*/
  width: 100%;
  /*height: 100%;*/
  background-color: #f8edfe;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
  z-index: -1;
}
.sec_kasou_guideline .contents {
  width: 87%;
  max-width: 830px;
  padding: 1.5em 1em;
  margin: 0 auto;
  background-color: #50a1c3;
}
.sec_kasou_guideline .row {
  counter-reset: guideline 0;
}
.sec_kasou_guideline .row li {
  font-size: 80%;
  position: relative;
}
.sec_kasou_guideline .row li::before {
  counter-increment: guideline 1;
  content: "その" counter(guideline);
  width: 6.2em;
  padding: 0.5em 1.5em;
  background-color: #1a2e6c;
  border-radius: 50%;
  color: #fff;
  font-size: 90%;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  display: inline-block;
  position: absolute;
  top: 1em;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 1;
}
.sec_kasou_guideline .group {
  height: 100%;
  padding: 5em 1em 1em;
  background-color: #fff;
  border-radius: 20px;
  font-size: 70%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  position: relative;
}
.sec_kasou_guideline .group::before {
  content: '';
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid #1a2e6c;
  border-radius: 20px;
  position: absolute;
  top: 2px;
  left: 2px;
  z-index: 1;
  display: block;
  pointer-events: none;
}
.sec_kasou_guideline .group p {
  font-size: 10px;
  letter-spacing: 0.5px;
  line-height: 1.38;
}
.sec_kasou_guideline .group p.vertical {
  margin: 0 auto 0.5em;
  font-size: 140%;
  font-weight: 700;
  line-height: 1.4;
  /*writing-mode: vertical-rl;*/
	text-align:center;
}
@media screen and (min-width: 768px){
  .sec_kasou_guideline .row li {
    font-size: 100%;
  }
  .sec_kasou_guideline .group {
    font-size: 75%;
  }
  .sec_kasou_guideline .group p {
    height: 7em;
    margin-top: auto;
    font-size: 81.25%;
  }
  .sec_kasou_guideline .group p.vertical {
    height: auto;
    background-color: transparent;
  }
	.sec_kasou_guideline .group p.vertical {
		font-size: 124%;
	}
}
@media screen and (min-width: 992px){
  .sec_kasou_guideline .contents {
    padding: 2em 1.5em;
  }
  .sec_kasou_guideline .row li::before {
    top: 1.5em
  }
  .sec_kasou_guideline .group {
    font-size: 100%;
  }
 
}

/*------------------------------------------------------
  下層Q&A
-------------------------------------------------------*/
.sec_kasou_faq {
  position: relative;
}
.sec_kasou_faq::before {
  content: '';
  width: 100%;
  height: 100%;
  background-color: #f1f5fe;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
  z-index: -1;
}
.sec_kasou_faq .box {
  padding: 11.25em 1em 2em;
  margin-top: 8.75em;
}
.sec_kasou_faq .box .box_title {
  margin: 1em 0 1.5em;
  font-size: 100%;
}
.sec_kasou_faq .box .box_title span {
  padding: 0.2em 0.5em;
  border: 1px solid #0c2366;
  border-radius: 1.5em;
  font-size: 130%;
  font-weight: 700;
  letter-spacing: 1.7px;
  display: inline-block;
  position: relative;
}
@media screen and (min-width: 768px){
  .sec_kasou_faq .box .box_title span {
    font-size: 160%;
  }
}
.sec_kasou_faq .box .box_title span::before,
.sec_kasou_faq .box .box_title span::after {
  content: '';
  width: 0;
  height: 0;
  border-bottom: 15px solid #fff;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  display: inline-block;
  position: absolute;
  top: -14px;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.sec_kasou_faq .box .box_title span::before {
  border-bottom: 15px solid #0c2366;
  top: -15px
}
.sec_kasou_faq .box img {
  width: 11.5em;
  margin: -18em auto 0;
  display: block;
}
.sec_kasou_faq .box p {
  line-height: 2;
}
.sec_kasou_faq .box dl {
  padding: 0.5em;
  margin: 0;
}
.sec_kasou_faq .box dl + dl {
  border-top: 3px dotted #0c2366;
}
.sec_kasou_faq .box dt {
  padding: 0.1em 0.750em;
  margin-right: 1em;
  background-color: #0c2366;
  border-radius: 2em;
  color: #fff4bb;
  font-weight: 500;
  display: inline-block;
  flex-shrink: 0;
}
.sec_kasou_faq .box dd {
  display: inline;
}
@media screen and (min-width: 768px){
  .sec_kasou_faq .box dl {
    display: flex;
    align-items: center;
  }
}
.sec_kasou_faq .box h4 {
  margin-bottom: 0.2em;
  font-size: 87.5%;
  font-weight: 500;
}
.sec_kasou_faq .box h4::before {
  content: '■';
  display: inline;
}
.sec_kasou_faq .box ol {
  margin-left: 2em;
}
.sec_kasou_faq .box ol li {
  list-style-type: decimal;
  line-height: 2;
}
@media screen and (min-width: 768px){
  .sec_kasou_faq .box {
    padding: 11.25em 2.5em 2em;
  }
  .sec_kasou_faq .box .box_title span {
    font-size: 200%;
  }
}


/*------------------------------------------------------
  下層用（テスト環境から移設）
-------------------------------------------------------*/

.text-section p{
	margin-bottom:1rem;
}

/* テーブル */
.legal-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5rem;
}

.legal-table th, 
.legal-table td {
  padding: 0.8rem;
  border-bottom: 1px solid #adb2c542;
}

.legal-table th {
  width: 30%;
  background-color: #adb2c542;
  font-weight: 500;
  text-align: left;
}


.table-org th , .table-org td{
	text-align:center;
	vertical-align:middle;
}

.table-org thead th{
	background:#0c2366;
	color:#fff;
}

.table-org tbody th{
	background:#0c2366;
	color:#fff;
}

/* セクションタイトル */
.section-title {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  color: #0c2366;
  font-weight: 600;
}

.section-title-2 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
  color: #0c2366;
  font-weight: 600;
	border-left: 4px solid #0c2366;
	padding-left:0.75rem;
}

.section-title-3 {
  font-size: 1.25rem;
  margin-bottom: 1rem;
  color: #0c2366;
  font-weight: 600;
	padding-left:0.75rem;
}


/* セクションコンテンツ */
.section-content {
  margin-bottom: 1.5rem;
}

/* テキスト装飾 */
.text-emphasis {
  font-weight: 500;
  color: #0c2366;
  margin-bottom: 0.8rem;
}

.text-note {
  font-size: 0.9rem;
  color: #0c2366;
  font-weight: 500;
  margin-top: 0.5rem;
}

.contact-email {
  font-size: 1.2rem;
  color: #0c2366;
  font-weight: 500;
  margin-bottom: 0.8rem;
}


/* レスポンシブ対応 */
@media (max-width: 768px) {
  .kasou_title {
    font-size: 1.2rem;
  }
  
  .legal-table th,
  .legal-table td {
    display: block;
    width: 100%;
  }
  
  .legal-table th {
    border-bottom: none;
  }
}


/* リスト */
.numbered-list {
  list-style-type: decimal;
  padding-left: 1.5rem;
  margin-bottom: 1.5rem;
}

.numbered-list li {
  list-style-type: decimal !important;
}

.bullet-list {
  list-style-type: disc !important;
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.bullet-list li {
  list-style-type: disc !important;

}

.numbered-list > li,
.bullet-list > li {
  margin-bottom: 0.5rem;
	
}

.sec_price{
	font-size:0.9rem;
}

.sec_price td .fw-bold{
	font-size:1.125rem;
}

.sec_price .small{
	font-size: 0.75em;
}



/* タブのカスタムスタイル */
.nav-link {
	color: #666;
	border: 1px solid #ddd;
	padding: 8px 16px;
	border-radius: 4px;
	font-size: 14px;
	background-color: #f8f9fa;
	white-space: nowrap;
	text-align: left;
	transition: all 0.3s ease;
}

.nav-link.active {
	background-color: #0c2366;
	border-color: #0c2366;
	color: white;
}

.nav-link:hover {
	background-color: #e6e9f0;
	border-color: #0c2366;
	color: #0c2366;
}

.nav-link i {
	font-size: 12px;
	margin-right: 5px;
}

@media (max-width: 768px) {
	.nav-link {
		font-size: 12px;
		padding: 6px 12px;
	}
	
	.nav-link i {
		font-size: 10px;
	}
}