@charset "UTF-8";
/*=====
  Common
=====*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
html {
  scroll-behavior: smooth;
  scroll-padding-top: 150px;
}

@media screen and (max-width: 960px) {
  html {
    scroll-padding-top: 0px;
  }
}
body {
  font-family: "Noto Sans JP", sans-serif;
  max-width: 1920px;
  margin: auto;
  position: relative;
}

a {
  text-decoration: none;
  transition: 0.3s;
  color: inherit;
}

a:hover {
  opacity: 0.75;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.font-mincho {
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
}

.font-noto {
  font-family: "Noto Sans JP", sans-serif;
}

:root {
  --main: #1a6a95;
  --sub: #149ac4;
  --sub2: #9d7300;
}

.color-main {
  color: var(--main);
}

.color-sub {
  color: var(--sub);
}

.button {
  background: var(--main);
  background: transparent linear-gradient(0deg, #1a6a95 0%, #2c85ba 100%);
  color: #fff;
  padding: 0.5rem 1rem;
  width: -moz-fit-content;
  width: fit-content;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
}
.button .icon {
  margin-right: 0.5rem;
}

.button::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.button:hover {
  opacity: 1;
}

.button:hover::before {
  opacity: 0.25;
}

.sp-only {
  display: none;
}

@media screen and (max-width: 768px) {
  .sp-only {
    display: initial;
  }
}
/*=====
  header
=====*/
header.header {
  position: sticky;
  top: 0;
  z-index: 997;
  background: #fff;
  color: var(--main);
  width: 100%;
}
header.header .container {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  height: 150px;
  margin: auto;
  padding-right: 1%;
  position: relative;
}
header.header .logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
header.header .logo h1 {
  display: none;
}
header.header .header-nav {
  display: flex;
  justify-content: center;
  align-items: center;
}
header.header .header-nav .nav-links {
  display: flex;
  align-items: flex-end;
  gap: 1.5rem;
}
header.header .header-nav .nav-links__item a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  font-size: 0.9rem;
}
header.header .header-nav .nav-links__item span {
  color: #94bdc6;
  font-size: 0.7rem;
}
header.header .contacts {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
header.header .contacts .tel.button {
  background: #fff;
  color: var(--main);
  font-size: 1rem;
  font-weight: bold;
  margin: initial;
  margin-bottom: 0.5rem;
}
header.header .contacts .tel.button .icon {
  width: 16px;
  margin-top: 3px;
}
header.header .contacts .mail.button {
  font-size: 1rem;
  margin: initial;
}
header.header .contacts .mail.button .icon {
  width: 16px;
  margin-top: 2px;
}
header.header .sp-hamburger {
  display: none;
  position: absolute;
  z-index: 1001;
  top: 10px;
  right: 10px;
  display: none;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10%;
  width: min(15vw, 60px);
  aspect-ratio: 1/1;
}
header.header .sp-hamburger .line {
  height: 1px;
  width: 30%;
  background-color: #fff;
  content: "";
  transition: 0.3s;
}
header.header .sp-hamburger.active .line {
  background-color: var(--main);
}
header.header .sp-hamburger.active .line:nth-child(1) {
  position: absolute;
  top: 50%;
  bottom: 50%;
  width: 40%;
  transform: rotate(-45deg);
}
header.header .sp-hamburger.active .line:nth-child(2) {
  opacity: 0;
}
header.header .sp-hamburger.active .line:nth-child(3) {
  position: absolute;
  top: 50%;
  bottom: 50%;
  width: 40%;
  transform: rotate(45deg);
}
header.header .sp-nav {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: -120%;
  width: 80vw;
  height: 100vh;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
  transition: 0.3s;
}
header.header .sp-nav .nav-links {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}
header.header .sp-nav .nav-links__item {
  font-size: 1.1rem;
}
header.header .sp-nav .nav-links__item a {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
header.header .sp-nav .nav-links__item span {
  color: #94bdc6;
  font-size: 0.7rem;
}
header.header .sp-nav.active {
  right: 0;
}
header.header .overlay {
  display: none;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.75;
}
header.header .overlay.active {
  display: block;
}

body.no-scroll {
  overflow: hidden;
  height: 100%;
}

@media screen and (max-width: 1075px) {
  header.header .header-nav .nav-links {
    gap: 1.25rem;
  }
  header.header .header-nav .nav-links__item a {
    font-size: clamp(0.7rem, -0.9842rem + 2.807vw, 0.9rem);
  }
  header.header .header-nav .nav-links__item span {
    font-size: 0.625rem;
  }
}
@media screen and (max-width: 960px) {
  header.header {
    position: absolute;
    background-color: rgba(255, 255, 255, 0);
  }
  header.header .container {
    height: 70px;
  }
  header.header .logo {
    position: absolute;
    width: min(25vw, 120px);
  }
  header.header .header-nav {
    display: none;
  }
  header.header .contacts {
    display: none;
  }
  header.header .sp-hamburger {
    display: flex;
  }
}
/*=====
  mv
=====*/
section.mv {
  position: relative;
}
section.mv .sp-img {
  display: none;
}
section.mv .container {
  position: absolute;
  top: 5%;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
section.mv .copy {
  color: #fff;
  font-size: clamp(1.5rem, 0.6304rem + 4.3478vw, 4rem);
  font-weight: 500;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.4);
}
section.mv .copy .row {
  display: flex;
  align-items: center;
  margin-bottom: 2rem;
}
section.mv .copy .row .img1 {
  height: clamp(1.75rem, 0.6196rem + 5.6522vw, 5rem);
}
section.mv .copy .row .img2 {
  height: clamp(1.75rem, 0.6196rem + 5.6522vw, 5rem);
}

@media screen and (max-width: 960px) {
  section.mv .pc-img {
    height: 70vh;
    -o-object-fit: cover;
       object-fit: cover;
  }
  section.mv .container {
    top: 3rem;
    width: 90%;
    margin: auto;
  }
  section.mv .copy {
    font-size: clamp(1.2rem, 0.3rem + 4.5vw, 3rem);
  }
  section.mv .copy .row {
    margin-bottom: 1rem;
  }
}
@media screen and (max-width: 768px) {
  section.mv .pc-img {
    display: none;
  }
  section.mv .sp-img {
    display: block;
    width: 100%;
  }
}
/*=====
  about
=====*/
section.about {
  color: var(--main);
  padding: 5rem 0;
  background: url(../img/about-bg.jpg) no-repeat center center/cover;
}
section.about .container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
section.about .section-title {
  font-size: 3.5rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
}
section.about .section-title::before {
  display: inline-block;
  content: "";
  background-color: var(--main);
  height: 1px;
  width: 15%;
  margin-right: 1rem;
}
section.about .description {
  font-size: 1.5rem;
  margin-bottom: 3rem;
  text-align: justify;
}
section.about .item {
  position: relative;
  margin-bottom: 5rem;
}
section.about .item h3 {
  position: absolute;
  z-index: 1;
  top: 0;
  background: transparent linear-gradient(97deg, #865911 0%, #eaad05 46%, #be8b06 61%, #432d09 100%) 0% 0% no-repeat padding-box;
  color: #fff;
  text-shadow: 0px 0px 6px #805001;
  font-weight: 400;
  line-height: 1;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1.25rem;
}
section.about .item p {
  position: relative;
  top: 2rem;
  background: rgba(255, 255, 255, 0.5);
  padding: 3rem 1rem 1rem;
  margin-bottom: 2rem;
  box-shadow: 0px 0px 10px rgba(139, 204, 226, 0.5);
  text-align: justify;
}

@media screen and (max-width: 960px) {
  section.about .section-title {
    font-size: 2rem;
  }
  section.about .description {
    font-size: 1.25rem;
  }
  section.about .item h3 {
    left: 0;
    right: 0;
    margin: auto;
  }
}
@media screen and (max-width: 768px) {
  section.about .section-title::before {
    display: none;
  }
}
/*=====
  efficacy
=====*/
section.efficacy {
  background: url(../img/efficacy-bg.jpg) no-repeat;
  background-size: cover;
  padding: 5rem 0;
}
section.efficacy .container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
section.efficacy .section-title {
  font-size: 3.5rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 2rem;
}
section.efficacy .description {
  font-size: 1.25rem;
  text-align: center;
  margin-bottom: 3rem;
}
section.efficacy .description .bg-red {
  color: #fff;
  background: transparent linear-gradient(91deg, #9d7301 0%, #e2a605 45%, #9d7301 100%) 0% 0% no-repeat padding-box;
  padding: 0.2rem;
}
section.efficacy .efficacy-items {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 5rem;
}
section.efficacy .efficacy-items__item {
  width: calc(25% - 1rem);
}
section.efficacy .disease .section-title {
  margin-bottom: 3rem;
}
section.efficacy .disease .disease-items__item {
  background: rgba(255, 255, 255, 0.75);
  width: 90%;
  margin: auto;
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 3rem;
}
section.efficacy .disease .disease-items__item .title {
  background: transparent linear-gradient(136deg, #041143 0%, #1453aa 47%, #030f3c 100%) 0% 0% no-repeat padding-box;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 1rem;
  font-size: 2rem;
  width: 20%;
  height: 100%;
  min-height: 7rem;
}
section.efficacy .disease .disease-items__item .column {
  font-size: 1.5rem;
}

@media screen and (max-width: 960px) {
  section.efficacy .section-title {
    font-size: 2rem;
  }
  section.efficacy .description {
    font-size: 1rem;
    line-height: 1.75;
  }
  section.efficacy .efficacy-items {
    flex-wrap: wrap;
    max-width: 600px;
    margin: auto;
    margin-bottom: 4rem;
  }
  section.efficacy .efficacy-items__item {
    width: calc(50% - 1rem);
  }
  section.efficacy .disease .section-title {
    font-size: 2rem;
    margin-bottom: 2rem;
  }
  section.efficacy .disease .disease-items__item {
    width: 100%;
    flex-direction: column;
    gap: 0;
  }
  section.efficacy .disease .disease-items__item .title {
    font-size: 1.5rem;
    padding: 0.5rem;
    width: 100%;
    min-height: initial;
    margin-bottom: 1rem;
  }
  section.efficacy .disease .disease-items__item .title br {
    display: none;
  }
  section.efficacy .disease .disease-items__item .column {
    font-size: 1.25rem;
    margin-bottom: 0;
    width: 100%;
  }
}
/*=====
  flow
=====*/
section.flow-and-feature {
  background: url(../img/flow-bg.jpg) no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
section.flow-and-feature .underbar {
  display: flex;
  justify-content: center;
  margin: 0.5rem 0;
  margin-bottom: 4rem;
}
section.flow-and-feature .underbar::before {
  display: block;
  content: "";
  width: 3rem;
  height: 4px;
  background-color: #9d7300;
}
section.flow-and-feature .underbar::after {
  display: block;
  content: "";
  width: 3rem;
  height: 4px;
  background-color: #e4a806;
}

section.flow {
  color: #fff;
  padding: 5rem 0;
}
section.flow .container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
section.flow .section-title {
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  color: #fff;
  text-shadow: 0px 0px 8px #1a6a95;
}
section.flow .flex {
  display: flex;
  justify-content: center;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
}
section.flow .flex-item {
  width: calc(16.6% - 2rem);
  display: flex;
  flex-direction: column;
}
section.flow .flex-item__number {
  font-size: 2rem;
  background: transparent linear-gradient(107deg, #865911 0%, #eaad05 46%, #be8b06 64%, #432d09 100%);
  width: 4rem;
  height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: 100%;
  margin: auto;
  margin-bottom: 0.5rem;
}
section.flow .flex-item__title {
  text-align: center;
  font-size: 1.25rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}
section.flow .flex-item__text {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  flex-grow: 1;
  font-size: 0.9rem;
  text-align: justify;
  margin-bottom: 1.5rem;
}
@media screen and (max-width: 1200px) {
  section.flow .flex {
    flex-wrap: wrap;
    row-gap: 4rem;
  }
  section.flow .flex-item {
    width: 28%;
  }
  section.flow .flex-item__text {
    margin-bottom: 0.5rem;
  }
}
@media screen and (max-width: 960px) {
  section.flow .flex {
    flex-wrap: wrap;
    row-gap: 4rem;
  }
  section.flow .flex-item {
    width: 45%;
  }
  section.flow .flex-item__text {
    margin-bottom: 0.5rem;
  }
}
@media screen and (max-width: 768px) {
  section.flow .section-title {
    font-size: 2rem;
  }
  section.flow .flex {
    flex-wrap: wrap;
    row-gap: 4rem;
  }
  section.flow .flex-item {
    width: 100%;
  }
  section.flow .flex-item__text {
    margin-bottom: 1rem;
    text-align: center;
  }
  section.flow .flex-item__img {
    width: 100%;
    max-width: 360px;
    margin: auto;
  }
}
/*=====
  feature
=====*/
section.feature {
  padding: 5rem 0;
}
section.feature .container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
section.feature .section-title {
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
  color: #fff;
  text-shadow: 0px 0px 8px #1a6a95;
}
section.feature .underbar {
  margin-bottom: 1rem;
}
section.feature .feature01 {
  width: 85%;
  margin-right: auto;
  margin-bottom: 3rem;
}
section.feature .feature01 .sp-img {
  display: none;
}
section.feature .feature02 {
  width: 85%;
  margin-left: auto;
  margin-bottom: 3rem;
}
section.feature .feature02 .sp-img {
  display: none;
}

@media screen and (max-width: 960px) {
  section.feature .feature01 {
    width: 100%;
  }
  section.feature .feature02 {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  section.feature .section-title {
    font-size: 2rem;
  }
  section.feature .underbar {
    margin-bottom: 3rem;
  }
  section.feature .feature01 {
    width: 100%;
  }
  section.feature .feature01 .pc-img {
    display: none;
  }
  section.feature .feature01 .sp-img {
    display: initial;
  }
  section.feature .feature02 {
    width: 100%;
  }
  section.feature .feature02 .pc-img {
    display: none;
  }
  section.feature .feature02 .sp-img {
    display: initial;
  }
}
section.plan-number {
  background: rgba(255, 255, 255, 0.7);
  padding: 5rem 0;
}
section.plan-number .container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
section.plan-number .section-title {
  text-align: center;
  color: #fff;
  background-color: var(--main);
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5rem 1rem;
  margin: auto;
  margin-bottom: 2rem;
}
section.plan-number .description {
  text-align: center;
  margin-bottom: 2rem;
}
section.plan-number .flex {
  display: flex;
  justify-content: center;
  gap: 5%;
  margin-bottom: 3rem;
  color: #577789;
}
/*suda 20240918*/
section.plan-number .document-flex {
	max-width: 90%;
	margin: auto;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}
section.plan-number .document-flex .document {
	width: 30%;
}
/*suda 20240918*/
section.plan-number .document p {
  text-align: center;
  margin-bottom: 1rem;
}
section.plan-number .document img {
  margin: auto;
}

@media screen and (max-width: 768px) {
  section.plan-number .flex {
    flex-direction: column;
    font-size: 0.8rem;
  }
	/*suda 20240918*/
	section.plan-number .document-flex {
		max-width: 90%;
		flex-direction: column;
		gap:2rem;
	}
	section.plan-number .document-flex .document {
		width: 80%;
	}
	/*suda 20240918*/
}
/*=====
  Q&A
=====*/
section.QnA {
  padding: 5rem 0;
  color: #1a6a95;
}
section.QnA .container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
section.QnA .section-title {
  text-align: center;
  font-size: 3rem;
  font-weight: 600;
}
section.QnA .underbar {
  display: flex;
  justify-content: center;
  margin: 0.5rem 0;
  margin-bottom: 4rem;
}
section.QnA .underbar::before {
  display: block;
  content: "";
  width: 3rem;
  height: 4px;
  background-color: #9d7300;
}
section.QnA .underbar::after {
  display: block;
  content: "";
  width: 3rem;
  height: 4px;
  background-color: #e4a806;
}
section.QnA .qna-items .item {
  text-align: justify;
  margin-bottom: 2.5rem;
}
section.QnA .qna-items .item .question {
  font-size: 1.2rem;
  display: flex;
  align-items: center;
}
section.QnA .qna-items .item .question::before {
  flex-shrink: 0;
  display: inline-block;
  content: "";
  background: url(../img/QnA-Q.svg) no-repeat;
  width: 3rem;
  height: 3rem;
  background-size: contain;
  vertical-align: middle;
  margin-right: 1rem;
}
section.QnA .qna-items .item .bar {
  height: 1px;
  max-width: 100%;
  background-color: #bfdbe1;
  margin-bottom: 1rem;
  margin-left: 4rem;
}
section.QnA .qna-items .item .answer {
  display: flex;
}
section.QnA .qna-items .item .answer::before {
  flex-shrink: 0;
  display: inline-block;
  content: "";
  background: url(../img/QnA-A.svg) no-repeat;
  width: 3rem;
  height: 3rem;
  background-size: contain;
  vertical-align: middle;
  margin-right: 1rem;
}

@media screen and (max-width: 960px) {
  section.QnA .qna-items .item .question::before {
    width: 2rem;
    height: 2rem;
  }
  section.QnA .qna-items .item .answer::before {
    width: 2rem;
    height: 2rem;
  }
}
@media screen and (max-width: 768px) {
  section.QnA .section-title {
    font-size: 2rem;
  }
  section.QnA .qna-items .item .question {
    font-size: 1rem;
  }
  section.QnA .qna-items .item .question::before {
    width: 2rem;
    height: 2rem;
  }
  section.QnA .qna-items .item .answer {
    font-size: 0.9rem;
  }
  section.QnA .qna-items .item .answer::before {
    width: 2rem;
    height: 2rem;
  }
}
/*=====
  price
=====*/
section.price {
  padding: 5rem 0;
  background: url(../img/price-bg.jpg) no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  color: #012438;
}
section.price .container {
  width: 60%;
  max-width: 650px;
  margin: 0 auto 0 5%;
}
section.price .section-title {
  color: #9d7300;
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 3rem;
}
section.price .price-item {
  background: rgba(255, 255, 255, 0.9);
  border: #9d7300 1px solid;
  margin-bottom: 3rem;
  padding: 1rem;
}
section.price .price-item .head {
  font-size: 1.5rem;
  font-weight: 600;
  color: #9d7300;
  text-align: center;
  border-bottom: #9d7300 1px solid;
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
}
section.price .price1 {
	display: flex;
	flex-direction: column;
	gap:1.5rem;
}
section.price .price1 .flex {
  display: flex;
  align-items: center;
	border-bottom: 1px solid #ccc;
}
section.price .price1 .flex .content {
  width: 60%;
}
section.price .price1 .flex .content span {
	font-size: 0.85rem;
}
section.price .price1 .flex .price {
  width: 40%;
  font-size: 1rem;
  font-weight: bold;
}
section.price .price1 .flex .annotation {
  font-size: 0.8rem;
}
section.price .price2 .content {
  max-width: 500px;
  margin: auto;
}
section.price .price2 .row {
  display: flex;
}
section.price .price2 .row .th {
  width: 70%;
  display: flex;
  align-items: center;
}
section.price .price2 .row .th::after {
  background-image: linear-gradient(to right, rgba(1, 36, 56, 0.5) 2px, transparent 2px);
  background-size: 6px 1px;
  background-repeat: repeat-x;
  background-position: left bottom;
  content: "";
  flex-grow: 1;
  display: block;
  height: 1px;
  margin-left: 1rem;
  margin-right: 1rem;
}
section.price .description .head {
  color: #9d7300;
  border-top: #9d7300 1px solid;
  border-bottom: #9d7300 1px solid;
  padding: 0.5rem 1rem;
  margin-bottom: 0.5rem;
  font-size: 1.25rem;
  font-weight: 600;
}
section.price .description p {
  text-align: justify;
}

@media screen and (max-width: 960px) {
  section.price .container {
    width: 90%;
    max-width: 1200px;
    margin: auto;
  }
}
@media screen and (max-width: 960px) {
  section.price .section-title {
    font-size: 2rem;
    text-align: center;
  }
  section.price .price1 .flex {
    flex-direction: column;
  }
  section.price .price1 .flex .content {
    width: 100%;
    margin-bottom: 2rem;
  }
  section.price .price1 .flex .price {
    width: 100%;
    text-align: center;
  }
  section.price .price2 .row {
    justify-content: space-between;
  }
  section.price .price2 .row .th {
    width: auto;
  }
  section.price .price2 .row .th::after {
    display: none;
  }
}
/*=====
  info
=====*/
section.info {
  padding: 5rem 0;
  background: url(../img/info-bg.jpg) no-repeat;
  background-size: cover;
}
section.info .container {
  width: 90%;
  max-width: 1200px;
  margin: auto;
}
section.info .logo img {
  width: 340px;
  max-width: 100%;
  margin: auto;
  margin-bottom: 3rem;
}
section.info .flex {
  display: flex;
  align-items: center;
  gap: 5%;
}
section.info .table {
  width: 30%;
  min-width: 350px;
  color: #012438;
  display: grid;
  grid-template-columns: auto repeat(6, 1fr) auto;
  margin-bottom: 1rem;
  font-size: 0.9rem;
}
section.info .table .row {
  display: contents;
}
section.info .table .row:not(:last-child) .cell {
  border-bottom: 1px solid rgba(1, 36, 56, 0.5);
}
section.info .table .cell {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.5rem 0.5rem;
}
section.info .table .row:not(:first-child) .cell:not(.th) {
  color: #149ac4;
}
section.info .buttons {
  width: 30%;
}
section.info .buttons .button {
  width: 100%;
  height: 3rem;
}
section.info .buttons .tel {
  margin-bottom: 1rem;
  font-size: 1.5rem;
}
section.info .buttons .tel .icon {
  width: 1.25rem;
  margin-right: 0.75rem;
  margin-top: 2px;
}
section.info .map {
  width: 30%;
}
section.info .map .wrapper {
  width: 100%;
  height: 100%;
}
section.info .map iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 960px) {
  section.info .flex {
    flex-direction: column;
  }
  section.info .table {
    width: 100%;
    max-width: 400px;
    min-width: initial;
    margin-bottom: 3rem;
    font-size: 0.7rem;
  }
  section.info .buttons {
    width: 100%;
    margin-bottom: 3rem;
  }
  section.info .map {
    width: 100%;
    height: 300px;
  }
}
/*=====
  footer
=====*/
footer.footer {
  background: var(--sub);
  color: #fff;
  text-align: center;
  font-size: 0.8rem;
  padding: 3rem 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
footer.footer .poricy {
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 960px) {
  footer.footer {
    margin-bottom: 70px;
  }
}
.scroll-top {
  display: none;
  position: fixed;
  bottom: 5%;
  right: 5%;
  z-index: 99;
  opacity: 0;
  transition: 0.5s;
  pointer-events: none;
}
.scroll-top a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  background: var(--main);
  border-radius: 100%;
}
.scroll-top a .triangle {
  display: block;
  width: 50%;
  height: 50%;
  -webkit-clip-path: polygon(100% 60%, 100% 75%, 50% 45%, 0 75%, 0 60%, 50% 25%);
          clip-path: polygon(100% 60%, 100% 75%, 50% 45%, 0 75%, 0 60%, 50% 25%);
  background: #fff;
}
.scroll-top a::before {
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.scroll-top a:hover {
  opacity: 1;
}
.scroll-top a:hover::before {
  opacity: 0.25;
}

.scroll-top.visible {
  opacity: 1;
  pointer-events: auto;
}

@media screen and (max-width: 960px) {
  .scroll-top {
    display: initial;
    bottom: calc(5% + 70px);
    right: 5%;
  }
}
.sp-fixed-buttons {
  display: none;
  background: var(--sub);
  color: #fff;
  border-top: rgba(255, 255, 255, 0.5) 1px solid;
  position: fixed;
  z-index: 996;
  top: initial;
  bottom: 0;
  left: 0;
  right: 0;
  justify-content: center;
  align-items: center;
}
.sp-fixed-buttons .button {
  background: var(--sub);
  width: 33%;
  height: 70px;
  border-right: rgba(255, 255, 255, 0.5) 1px solid;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 0.8rem;
  padding: 0.75rem;
}
.sp-fixed-buttons .button:last-child {
  border-right: none;
}
.sp-fixed-buttons .button .icon {
  width: 16px;
  margin: 0;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 960px) {
  .sp-fixed-buttons {
    display: flex;
  }
}/*# sourceMappingURL=style.css.map */