@charset "utf-8";/* CSS Document */* {  margin: 0;  padding: 0}button, input, optgroup, select, textarea {  -webkit-appearance: none;  appearance: none;  vertical-align: middle;  color: inherit;  font: inherit;  background: transparent;  padding: 0;  margin: 0;  border-radius: 0;  text-align: inherit;  text-transform: inherit}img {  width: 100%;  height: auto;}a {  text-decoration: none;}a:hover {  opacity: 0.8;}ul, li {  list-style: none;}body {  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;  font-size: 18px;  color: #333333;}#header {  position: absolute;  width: 100%;  z-index: 99;}section {  line-height: 0;}.blue {  color: #023888;  font-weight: bold;}.flex {  display: flex;  flex-wrap: wrap;  justify-content: space-between;}.header-inner {  display: flex;  justify-content: space-between;  align-items: center;}.h-logo {  margin-left: 5%;  width: 40%;}.h-logo h1 {  margin-right: 20px;}.h-contact {  width: 50%;  margin-right: 155px;  margin-top: 17px;  ;  line-height: 0;  display: flex;  justify-content: flex-end;}.drawer {  width: 300px;  height: 100vh;  -webkit-transform: translateX(300px);  -ms-transform: translateX(300px);  transform: translateX(300px);  -webkit-transition: .5s;  transition: .5s;  background-color: #ffffff;  z-index: 15;  overflow: auto;  overscroll-behavior-y: contain;  visibility: hidden}.drawer[aria-hidden=false] {  -webkit-transform: translateY(0);  -ms-transform: translateY(0);  transform: translateY(0);  visibility: visible}.drawer_position {  position: fixed;  top: 0;  right: 0}.drawer__inner {  padding-bottom: 100px}.drawer__top {  width: 100%;  height: 175px;  position: -webkit-sticky;  position: sticky;  top: 0;  background-color: var(--base);  z-index: 1}.drawer__item {  border-bottom: 1px solid #333333;}.drawer__item:first-of-type {  border-top: 1px solid #333333;}.drawer__link {  height: 55px;  display: -webkit-box;  display: -webkit-flex;  display: -ms-flexbox;  display: flex;  -webkit-box-align: center;  -webkit-align-items: center;  -ms-flex-align: center;  align-items: center;  -webkit-box-pack: justify;  -webkit-justify-content: space-between;  -ms-flex-pack: justify;  justify-content: space-between;  font-weight: bold;  letter-spacing: .06em;  padding-right: 20px;  padding-left: 20px;  color: #333333;}.drawer__link_sub {  padding-left: 40px}.drawer__button-wrapper {  max-width: 260px;  width: 100%;  display: -webkit-box;  display: -webkit-flex;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -webkit-justify-content: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-column-gap: 20px;  -moz-column-gap: 20px;  column-gap: 20px;  margin: 30px auto 0}.is-drawer-active {  overflow: hidden}@media(hover: hover)and (pointer: fine) {  .drawer__link {    -webkit-transition: background-color .4s, color .4s;    transition: background-color .4s, color .4s  }  .drawer__link:hover, .drawer__link:focus {    opacity: 0.8;  }}.drawer-bg {  width: 100vw;  height: 100vh;  position: fixed;  top: 0;  right: 0;  bottom: 0;  overflow: hidden;  background-color: #000;  visibility: hidden;  opacity: 0;  z-index: 5}.is-drawer-active {  height: 100%;  overflow: hidden}.is-drawer-active .drawer-bg {  visibility: visible;  opacity: .8;  -webkit-transition: .3s;  transition: .3s}.hamburger {  width: 140px;  height: 140px;  display: -webkit-box;  display: -webkit-flex;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -webkit-justify-content: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: end;  -webkit-align-items: flex-end;  -ms-flex-align: end;  align-items: flex-end;  z-index: 30;  background-color: #023888;  padding-bottom: clamp(1.875rem, .4088263822rem + .9699321048vw, 1.5rem);  position: fixed;  right: 15px;  top: 17px;  border: none;}.hamburger[aria-expanded=true] .hamburger__line {  background-color: rgba(0, 0, 0, 0)}.hamburger[aria-expanded=true] .hamburger__line::before {  -webkit-transform: translateY(calc(clamp(0.5rem, 0.2202958293rem + 0.5819592629vw, 0.875rem) * -1)) rotate(150deg);  -ms-transform: translateY(calc(clamp(0.5rem, 0.2202958293rem + 0.5819592629vw, 0.875rem) * -1)) rotate(150deg);  transform: translateY(calc(clamp(0.5rem, 0.2202958293rem + 0.5819592629vw, 0.875rem) * -1)) rotate(150deg)}.hamburger[aria-expanded=true] .hamburger__line::after {  -webkit-transform: translateY(clamp(0.5rem, 0.2669131911rem + 0.4849660524vw, 0.8125rem)) rotate(-150deg);  -ms-transform: translateY(clamp(0.5rem, 0.2669131911rem + 0.4849660524vw, 0.8125rem)) rotate(-150deg);  transform: translateY(clamp(0.5rem, 0.2669131911rem + 0.4849660524vw, 0.8125rem)) rotate(-150deg)}.hamburger__line {  width: clamp(1.650625rem, 1.3rem + 1.8031037827vw, 2.8125rem);  height: 3px;  display: inline-block;  position: absolute;  top: calc(50% - clamp(.4375rem, .1111784675rem + .6789524733vw, .875rem));  left: 50%;  -webkit-transform: translate(-50%, -50%);  -ms-transform: translate(-50%, -50%);  transform: translate(-50%, -50%);  -webkit-transition: .5s all;  transition: .5s all;  background-color: #ffffff;}.hamburger__line::before {  content: "";  width: 100%;  height: 3px;  display: inline-block;  position: absolute;  top: clamp(.5rem, .2202958293rem + .5819592629vw, .875rem);  left: 0;  -webkit-transition: -webkit-transform .5s;  transition: -webkit-transform .5s;  transition: transform .5s;  transition: transform .5s, -webkit-transform .5s;  background-color: #ffffff;}.hamburger__line::after {  content: "";  width: 100%;  height: 3px;  display: inline-block;  position: absolute;  bottom: clamp(.5rem, .2202958293rem + .5819592629vw, .875rem);  left: 0;  -webkit-transition: -webkit-transform .5s;  transition: -webkit-transform .5s;  transition: transform .5s;  transition: transform .5s, -webkit-transform .5s;  background-color: #ffffff;}.hamburger__menu {  color: #ffffff;  font-size: clamp(0.5rem, .4353176528rem + 1.0019398642vw, 1rem);  font-weight: 900;}@media(hover: hover)and (pointer: fine) {  .hamburger:hover {    opacity: 0.9;  }}.contact {  background-image: url("../img/contact-bg.jpg");  background-repeat: no-repeat;  background-size: 100%;  aspect-ratio: 16 / 7.1;  display: flex;  align-items: flex-end;}.contact-bunner {  max-width: 1220px;  width: 70%;  margin: 0 auto 5%;  flex-wrap: nowrap;}.contact-tel {  margin-right: 30px;}.trouble {  margin-bottom: 150px;}.reason {  margin-bottom: 120px;}.mouthpiece {  position: relative;}.mouthpiece-btn {  position: absolute;  transform: translate(-50%, -50%);  top: 43.3%;  left: 50%;  text-align: center;}.comparison {  margin-bottom: 100px;}.flow {  margin-bottom: 150px;}.greeting {  margin-bottom: 130px;}.deduction {  position: relative;  text-align: center;  margin: 100px auto;}.deduction-btn {  position: absolute;  transform: translate(-50%, -50%);  bottom: 5%;  left: 50%;  text-align: center;}.qa {  background-color: #f3f3f3;  padding-bottom: 150px;}.qa-ttl {  padding-bottom: 100px;  margin-top: 150px;}.accordion {  margin-inline: auto;  margin-top: 30px;  max-width: 1550px;  position: relative;  width: 95%;}.accordion-container {  margin-top: 50px;}.accordion-title {  cursor: pointer;  font-size: 40px;  text-align: left;  display: flex;  align-items: center;}.accordion-title span {  display: block;  width: 80px;  height: 87px;  text-align: center;  font-size: 60px;  font-weight: normal;  background-color: #023888;  color: #ffffff;  line-height: 1.2;  margin-right: 30px;}.accordion-content {  display: none;  padding: 5% 10%;  margin-top: 30px;  background-color: #ffffff;  position: relative;}.accordion-content .answer {  position: absolute;  top: 0;  left: 0;  display: block;  width: 80px;  height: 87px;  text-align: center;  font-size: 60px;  font-weight: normal;  background-color: #e5e157;  color: #000000;  line-height: 1.2;  margin-right: 30px;}.accordion-content p {  font-size: 24px;  line-height: 1.5;  text-align: left;  color: #333333;}.accordion-item {  color: #ffffff;  margin-bottom: 20px;}.icon-q {  position: absolute;  left: 1%;  bottom: -3%;}.accordion-item .accordion-title {  background: linear-gradient(to right, #3472d0, #c8b8cc);}/* 矢印 */.accordion-title {  position: relative;}/* 縦線 */.accordion-title::before {  background: #ffffff; /* 線の色 */  content: "";  height: 2px; /* 線の太さ */  position: absolute;  right: 25px;  top: 50%; /* 線の位置を縦中央に */  transform: rotate(90deg); /* 線を縦に */  transition: transform .3s ease-in-out;  width: 30px; /* 線の幅 */}/* 横線 */.accordion-title::after {  background: #ffffff; /* 線の色 */  content: "";  height: 2px; /* 線の太さ */  position: absolute;  right: 25px;  top: 50%; /* 線の位置を縦中央に */  transition: opacity .3s ease-in-out;  width: 30px; /* 線の幅 */}/* 縦線(クリック後) */.accordion-title.open::before {  transform: rotate(180deg);}/* 横線(クリック後) */.accordion-title.open::after {  opacity: 0;}.accordion02 {  text-align: center;}.accordion02 .accordion-item {  border: solid 1px #023888;}.accordion02 .accordion-title {  justify-content: center;  padding: 15px 0;}.accordion02 .bg-pink {  background-color: #fef3ff;  font-size: 18px;  padding: 40px 90px;  margin-top: 50px;}.risk {  max-width: 1550px;  width: 95%;  margin: 100px auto;}.risk-ttl {  font-size: 40px;  border-top: solid 1px #023888;  border-bottom: solid 1px #023888;  padding: 30px 0;  margin-bottom: 70px;  text-align: center;}.risk-box {  background-color: #f3f3f3;  margin: 0 auto;  max-width: 1040px;  width: 90%;  height: 240px;  padding: 30px 120px;  overflow-y: scroll;  text-align: center;}.risk-text {  margin-top: 50px;  text-align: left;  line-height: 2;}.footer-inner {  padding: 65px 20px 130px;  text-align: center;}.f-logo {  margin-bottom: 100px;}.f-flex {  align-items: flex-end;  max-width: 1550px;  width: 95%;  margin: 0 auto;}.f-text {  font-size: 20px;  margin-bottom: 65px;}.f-left {  width: 50%;  text-align: center;}.f-right {  width: 50%;  text-align: center;}.f-bunner {  display: flex;  justify-content: center;}.of-bnr {  margin-top: 100px;}#page_top {  position: fixed;  right: 50px;  bottom: 80px;  z-index: 999;}#page_top a {  position: relative;  display: block;}.f-map {  height: 430px;  line-height: 0;}.cpylight {  font-size: 16px;  padding: 45px 0;  text-align: center;}.sp {  display: none;}@media (max-width: 1280px) {  .h-logo {    margin-top: 10px;  }  .h-contact {    margin-right: 95px;  }  .h-contact img {    height: 80px;  }  .hamburger {    width: 80px;    height: 80px;    padding-bottom: 0.8rem;  }  .risk-box {    padding: 30px;  }  .mouthpiece-btn img {    width: 70%;  }  .deduction-btn img {    width: 70%;  }  .accordion-title {    font-size: 18px;  }  .accordion-content p {    font-size: 18px;  }  .risk-ttl {    font-size: 20px;  }  .f-left {    width: 100%;  }  .f-right {    width: 100%;    margin-top: 50px;  }}@media (max-width: 480px) {  body {    font-size: 16px;  }  .sp {    display: block;  }  .pc {    display: none;  }  .hamburger {    width: 60px;    height: 60px;    padding-bottom: 0.6rem;    right: 10px;    top: 10px;  }  .h-logo {    margin-left: 3%;    width: 65%;  }  .drawer__top {    height: 95px;  }  .contact {    background-image: url(../img/sp/contact-bg.jpg);    aspect-ratio: 7.7 / 16;  }  .contact-bunner {    flex-wrap: wrap;    width: 80%;    margin-bottom: 15%;  }  .contact-tel {    margin-right: 0;    margin-bottom: 10px;  }  .trouble {    margin-bottom: 50px;  }  .reason {    margin-bottom: 50px;  }  .mouthpiece-btn {    top: 26.3%;    width: 70%;  }  .mouthpiece-btn img {    width: 100%;  }  .js-scrollable {    margin-top: 50px;  }  .js-scrollable img {    max-width: 900px;    margin: 0 30px;  }  .deduction {    width: 90%;  }  .deduction-btn {    left: 55%;    bottom: -15px;    width: 100%;  }  .deduction-btn img {    width: 90%;  }  .risk-box {    width: 80%;  }  .accordion02 .accordion-title {    padding: 10px 30px;    font-size: 20px;    text-align: center;  }  .accordion-title::before {    right: 10px;    width: 20px;  }  .accordion-title::after {    right: 10px;    width: 20px;  }  .accordion-content p {    font-size: 16px;  }  .accordion02 .bg-pink {    font-size: 16px;    padding: 20px;  }  .accordion-title {    font-size: 20px;    line-height: 2;    align-items: flex-start;    padding-right: 30px;  }  .accordion-title span {    font-size: 30px;    width: auto;    height: auto;    padding: 5px 10px 10px;    margin-right: 15px;  }  .accordion-content .answer {    font-size: 30px;    width: auto;    height: auto;    padding: 5px 10px 10px;  }  .accordion-content p {    padding-left: 7%;  }  .accordion02 .accordion-content p {    padding-left: 5%;  }  .f-bunner {    flex-wrap: wrap;  }  .h-web {    margin-top: 20px;  }  #page_top {    right: 20px;  }}.f-logo img{    max-width: 470px;}