@charset "UTF-8";
body {
  min-width: 1100px;
  max-width: 2000px;
  margin: 0 auto;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1em;
}

.wrapper {
  overflow-x: hidden;
  width: 100%;
}
.wrapper * {
  box-sizing: border-box;
}

a {
  text-decoration: none;
}
a:hover img {
  opacity: 0.8;
  transition: all 0.3s;
}

p {
  margin: 0;
}

img {
  vertical-align: bottom;
}

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

a.note_link {
  display: block;
  position: absolute;
}
a.note_link:hover {
  background: rgba(255, 255, 255, 0.5);
  transition: all 0.3s;
}

header {
  background: #f2f2f2;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 1000;
}
header ul {
  width: 1190px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-flow: row wrap;
}
header li {
  height: 100%;
  position: relative;
}
header li::after {
  content: "";
  display: block;
  width: 1px;
  height: 28px;
  background: #ccc;
  position: absolute;
  top: 17px;
  right: 0;
}
header li:last-child {
  margin-left: 21px;
}
header li:last-child a {
  padding: 0;
}
header li:last-child::after {
  display: none;
}
header a {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 10px;
}

/* giza */

.gizayy {
  background: url(../img/gizayy.png) no-repeat center 0;
  height: 25px;
}

.gizabb {
  background: url(../img/gizabb.png) no-repeat center 0;
  height: 25px;
}

.gizabb2 {
  background: url(../img/gizabb2.png) no-repeat center 0;
  height: 25px;
}

.gizaby {
  background: url(../img/gizaby.png) no-repeat center 0;
  height: 25px;
}

.gizayb {
  background: url(../img/gizayb.png) no-repeat center 0;
  height: 25px;
}

#fv {
  height: 592px;
  padding: 37px 0 0;
  position: relative;
  z-index: 9;
}
#fv .bg {
  position: absolute;
  width: 2000px;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
}
#fv h1 {
  width: 902px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#fv h1 .note_link {
  width: 20px;
  height: 18px;
  top: 326px;
  left: 298px;
}

#reason {
  background: url(../img/bg01.jpg) no-repeat center 0;
  height: 3239px;
  padding: 180px 0 0;
  position: relative;
  z-index: 2;
}
#reason #link01 {
  position: absolute;
  top: 500px;
}
#reason h2 {
  width: 913px;
  margin: 0 auto 18px;
  position: relative;
}
#reason h2 .note_link {
  color: #ff0;
  font-size: 12px;
  top: 676px;
  left: 300px;
}
#reason h3 {
  width: 621px;
  margin: 0 auto 78px;
}
#reason ul {
  width: 889px;
  margin: 0 auto;
}
#reason ul li:nth-child(odd) a {
  margin: -65px 0 0 43px;
}
#reason ul li:nth-child(even) a {
  margin: -65px 0 0 536px;
  color: #050505;
  font-size: 11px;
  font-weight: 600;
  top: 78px;
  right: 18px;
}
#reason ul li:nth-child(1) {
  margin-bottom: 78px;
}
#reason ul li:nth-child(2) {
  margin-bottom: 93px;
  position: relative;
}
#reason ul li:nth-child(2) p .note_link {
  width: 20px;
  height: 18px;
  top: 235px;
  left: -417px;
  z-index: 10;
}
#reason ul li:nth-child(3) {
  margin-bottom: 112px;
}
#reason ul li:nth-child(4) {
  margin-bottom: 87px;
}
#reason ul li:nth-child(5) {
  margin-bottom: 56px;
}
#reason ul a {
  display: block;
  cursor: pointer;
}
#reason .md-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.7;
  z-index: 9999;
}
#reason .md-contents {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: calc((90vh - 60px) * 2);
  max-width: 1000px;
  height: auto;
  max-height: calc(90vh - 60px);
  overflow: visible;
  transform: translate(-50%, -50%);
  z-index: 10000;
}
#reason .md-contents.w440 {
  width: calc((90vh - 60px) * 2.27);
}
#reason .md-inner {
  background: #213a70;
  position: static;
}
#reason .md-xmark {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 40px;
  height: 40px;
  z-index: 9999;
  cursor: pointer;
  filter: drop-shadow(0px 0px 4px rgba(0, 0, 0, 0.4));
}
#reason .md-xmark span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 3px;
  background-color: #fff;
  border-radius: 4px;
  transform-origin: center;
}
#reason .md-xmark span:nth-of-type(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
#reason .md-xmark span:nth-of-type(2) {
  bottom: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

.phil {
  background: url(../img/bg02.jpg) no-repeat center 0;
  height: 2885px;
  padding: 190px 0 0;
  position: relative;
}
.phil #link02 {
  position: absolute;
  top: 1000px;
}
.phil h2 {
  width: 908px;
  margin: 0 auto 227px;
  transform: translateX(10px);
}
.phil .inner {
  background: url(../img/phil_bg.png) no-repeat center 0;
  width: 911px;
  height: 1563px;
  margin: 0 auto;
  position: relative;
}
.phil .img01 {
  width: 753px;
  margin: 0 auto -231px;
  position: relative;
  top: -200px;
}
.phil h3 {
  width: 983px;
  margin: 0 0 0 -35px;
  position: relative;
  z-index: 2;
}
.phil .img02 {
  width: 798px;
  margin: 0 auto;
}
.phil .img03 {
  width: 455px;
  margin: 54px auto 24px;
}
.phil ul {
  width: 811px;
  margin: 0 auto 55px;
}
.phil ul li:not(:last-child) {
  margin-bottom: 15px;
}
.phil .img04 {
  width: 763px;
  margin: 0 auto;
}
.phil .img05 {
  width: 723px;
  margin: 42px auto 0;
}

.about {
  background: #213a70;
  padding: 123px 0 56px;
  position: relative;
}
.about #link03 {
  position: absolute;
  top: 0px;
}
.about h2 {
  width: 828px;
  margin: 0 auto 32px;
}
.about ul {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  width: 1007px;
  margin: 0 auto 55px;
  gap: 10px 0;
}
.about li {
  width: 247px;
}
.about li:nth-last-child(-n + 2) {
  width: 501px;
  margin-top: 26px;
}
.about p {
  width: 900px;
  margin: 0 auto;
}

#point {
  background: url(../img/bg03.jpg) no-repeat center 0;
  height: 4407px;
  padding: 144px 0 0;
  position: relative;
}
#point.bg03 {
  background: url(../img/bg03_plg.png) no-repeat center 0;
  height: 4430px;
  padding: 144px 0 0;
  position: relative;
}
#point.bg03gg {
  background: url(../img/bg03_ggk2.jpg) no-repeat center 0;
  height: 4407px;
  padding: 144px 0 0;
  position: relative;
}
#point.bg03go {
  background: url(../img/bg03_go.png) no-repeat center 0;
  height: 4430px;
  padding: 144px 0 0;
  position: relative;
}

#point #link04 {
  position: absolute;
  top: 22px;
}
#point h2 {
  width: 735px;
  margin: 0 auto;
}
#point .txt {
  width: 806px;
  margin: 37px auto 47px;
}
#point .img01 {
  width: 905px;
  margin: 0 auto 56px;
}
#point .inner {
  background: url(../img/aga_inner.png) no-repeat center 0;
  width: 920px;
  height: 731px;
  margin: 0 auto 67px;
  padding: 47px 0 0;
  filter: drop-shadow(4px 8px 13px rgba(58, 44, 0, 0.3));
}
#point .inner h3 {
  width: 646px;
  margin: 0 auto;
}
#point .inner .txt02 {
  width: 779px;
  margin: 29px auto 45px;
}
#point .inner .img02 {
  width: 797px;
  margin: 0 auto;
}
#point ul {
  width: 854px;
  margin: 0 auto 40px;
  display: flex;
  flex-flow: row wrap;
  gap: 35px 0;
}
#point .price {
  width: 1051px;
  margin: 0 auto;
  transform: translateX(-60px);
}

#point.prot {
  background: url(../img/bg-prot.png) no-repeat center 0;
  height: 6000px;
  padding: 100px 0 0;
  position: relative;
}

#point .imgprot img {
  margin: 0px auto;
  padding: 60px 0 0;
}

#point.prot.goo {
  background: url(../img/bg-prot_goo.png) no-repeat center 0;
  height: 6000px;
  padding: 100px 0 0;
  position: relative;
}

#point.prot.goo2 {
  background: url(../img/bg-prot_goo2.png) no-repeat center 0;
  height: 6020px;
  padding: 100px 0 0;
  position: relative;
}

#point.prot2 {
  background: url(../img/bg-prot_frb.png) no-repeat center 0;
  height: 6020px;
  padding: 100px 0 0;
  position: relative;
}

#case {
  background: #f2f2f2 url(../img/bg04.jpg) no-repeat center 0;
  padding-bottom: 66px;
  position: relative;
}
#case #link05 {
  position: absolute;
  top: -180px;
}
#case h2 {
  width: 799px;
  margin: 0 auto -179px;
  position: relative;
  top: -179px;
  transform: translateX(-36px);
}
#case h2 .note_link {
  width: 15px;
  height: 10px;
  top: 315px;
  left: 380px;
}

#case .case {
  width: 900px;
  margin: 0 auto 50px;
  border: 4px solid #050505;
}
#case .img {
  width: 900px;
  margin: -4px 0 0 -4px;
}
#case dt {
  width: 403px;
  margin: 37px auto -40px;
  position: relative;
}
#case dt::after,
#case dt::before {
  content: "";
  display: block;
  width: 16px;
  height: 1px;
  background: #050505;
  position: absolute;
  top: 40px;
  right: 26px;
  transition: all 0.3s;
}
#case dt::after {
  transform: rotate(90deg);
}
#case dt.active::after {
  transform: rotate(0);
}
#case dd {
  background: url(../img/r_bg.png) repeat-y center 0/100%;
  padding: 77px 0 20px;
}
#case dd .img {
  display: none;
  width: 806px;
  margin: 0 auto;
}
#case dd.active {
  padding-bottom: 72px;
}

/*# 治療効果　20250202reコンパクト */

#case .case.re {
  width: 800px;
  margin: 0 auto 50px;
  border: 4px solid #050505;
  background: #fff;
}
#case .re .img {
  width: 800px;
  margin: -4px 0 0 -3px;
}
#case .re dt {
  width: 253px;
  margin: 10px auto -80px;
  position: relative;
}
#case .re dt::after,
#case .re dt::before {
  content: "";
  display: block;
  width: 16px;
  height: 1px;
  background: #050505;
  position: absolute;
  top: 21px;
  right: 24px;
  transition: all 0.3s;
}
#case .re dt::after {
  transform: rotate(90deg);
}
#case .re dt.active::after {
  transform: rotate(0);
}
#case .re dd {
  background: url(../img/r_bg.png) repeat-y center 0/100%;
  padding: 90px 0 0;
}
#case .re dd .img {
  display: none;
  width: 715px;
  margin: 15px auto;
}
#case .re dd.active {
  padding-bottom: 20px;
}

#step {
  background: url(../img/bg05.jpg) no-repeat center 0;
  height: 3265px;
}

#step.prot {
  background: url(../img/bg05_goo.png) no-repeat center 0;
  height: 3265px;
}

#step.protgg {
  background: url(../img/bg05_ggk2.jpg) no-repeat center 0;
  height: 3265px;
}

#step h2 {
  width: 654px;
  margin: 0 auto -135px;
  position: relative;
  top: -20px;
  transform: translateX(-133px);
}
#step .inner {
  width: 1000px;
  margin: 0 auto;
}
#step ul {
  margin: 0 auto 19px 95px;
  position: relative;
  z-index: 2;
}
#step li {
  margin-bottom: 48px;
}
#step li img {
  max-width: initial;
}
#step li:nth-child(1) {
  margin-bottom: 15px;
}
#step li:last-child {
  margin-bottom: 0;
}
#step .img {
  margin: 0 0 0 52px;
}
#step .btn {
  margin: 19px 0 0 85px;
}

#cost .headline {
  background: url(../img/bg06.jpg) no-repeat center 0;
  padding: 60px 0 0;
  height: 454px;
}
#cost h2 {
  width: 694px;
  margin: 0 auto;
}
#cost .bg {
  background: url(../img/bg07.jpg) repeat center 0;
  height: 1680px;
}
#cost .inner {
  width: 1000px;
  margin: 0 auto;
  padding: 49px 0 0;
}
#cost .txt {
  width: 791px;
  margin: 31px auto 86px;
}
#cost .check {
  width: 922px;
  margin: 0 auto;
}
#cost .txt02 {
  width: 845px;
  margin: 62px auto 0;
}
#cost .second {
  background: url(../img/bg08.jpg) repeat-y center 0;
  padding: 65px 0 66px;
}
#cost .second .img {
  width: 918px;
  margin: 0 auto;
}
#cost .second .txt03 {
  width: 910px;
  margin: 32px auto 42px;
}
#cost .second .btn {
  width: 566px;
  margin: 0 auto;
}

.system {
  background: url(../img/bg09.jpg) no-repeat center 0;
  padding: 230px 0 0;
  height: 1962px;
}
.system .inner {
  background: url(../img/system_inner.png) no-repeat center 0/100%;
  width: 1001px;
  height: 1604px;
  margin: 0 auto;
}
.system h2 {
  width: 894px;
  margin: 0 auto -161px;
  position: relative;
  top: -185px;
}
.system .txt01 {
  width: 840px;
  margin: 0 auto 38px;
}
.system .img {
  width: 864px;
  margin: 0 auto 38px;
}
.system .txt02 {
  width: 899px;
  margin: 0 auto 108px;
}
.system .movie ul {
  width: 896px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.system .movie li {
  width: 432px;
}
.system .movie li p {
  width: fit-content;
  width: -moz-fit-content;
  margin: 0 auto 15px;
}
.system .movie li div {
  background: #000;
  width: 432px;
  height: 250px;
  border-radius: 5px;
  padding: 8px;
}
.system .movie video {
  width: 416px;
  height: 234px;
}

#achieve {
  background: url(../img/bg10.jpg) no-repeat center 0;
  padding: 26px 0 0;
  height: 1506px;
  position: relative;
}
#achieve #link_note {
  position: absolute;
  top: 0;
}
#achieve h2 {
  width: 884px;
  margin: 0 auto -36px;
  position: relative;
}
#achieve h2 .note_link {
  width: 23px;
  height: 14px;
  top: 34px;
  left: 488px;
}
#achieve .inner {
  background: #fff;
  width: 900px;
  border-radius: 21px;
  margin: 0 auto;
  padding: 0 0 65px;
  border: 4px solid #000;
  position: relative;
  z-index: 2;
}
#achieve .img {
  position: relative;
  top: -24px;
  width: 764px;
  margin: 0 auto 30px;
}
#achieve .img .note_link {
  width: 25px;
  height: 24px;
  top: 361px;
  left: 272px;
}
#achieve .txt {
  width: 756px;
  margin: 0 auto;
  position: relative;
}
#achieve .txt .note_link {
  width: 39px;
  height: 24px;
  top: 35px;
  left: 351px;
}

#doc {
  background: url(../img/bg11.jpg) no-repeat center 0;
  padding: 82px 0 0;
  height: 2922px;
  position: relative;
}
#doc #link06 {
  position: absolute;
  top: 0;
}
#doc h2 {
  width: 260px;
  margin: 0 auto 38px;
}
#doc .dir {
  width: 828px;
  margin: 0 auto 52px;
}
#doc .message h3 {
  width: 711px;
  margin: 0 auto -103px;
  transform: translateX(-20px);
}
#doc .message .inner {
  background: url(../img/doc_inner.png) no-repeat center 0/100%;
  width: 901px;
  height: 1883px;
  margin: 0 auto;
  padding: 55px 0 0;
  position: relative;
  z-index: 2;
}
#doc .message .txt01 {
  width: 724px;
  margin: 0 auto;
}
#doc .message .txt02 {
  width: 817px;
  margin: 77px auto 24px;
}
#doc .message .txt03 {
  width: 823px;
  margin: 0 auto;
}
#doc .message .txt04 {
  width: 819px;
  margin: 90px auto -30px;
}
#doc .message .txt05 {
  width: 609px;
  margin: 0 auto;
}

#access {
  background: #213a70;
  padding: 85px 0 102px;
  position: relative;
}
#access #link07 {
  position: absolute;
  top: 0;
}
#access h2 {
  width: 252px;
  margin: 0 auto 69px;
}
#access .inner {
  width: 1000px;
  margin: 0 auto;
}
#access .map {
  position: absolute;
}
#access .tokyo {
  position: relative;
  width: 916px;
  margin: 0 auto;
  margin-bottom: 131px;
}
#access .tokyo .map {
  left: 0;
  top: 312px;
}
#access .osaka {
  position: relative;
  width: 916px;
  margin: 0 auto;
  margin-bottom: 131px;
}
#access .osaka .map {
  left: 0;
  top: 312px;
}
#access .web {
  display: flex;
  align-items: center;
  gap: 0 190px;
  width: 916px;
  margin: 0 auto;
}

#form_area {
  background: #000;
  padding: 140px 0 140px;
}
#form_area.confirm {
  padding-bottom: 135px;
}
#form_area.confirm h2 {
  width: 424px;
  margin-bottom: 82px;
}
#form_area.confirm h4 {
  text-align: center;
  color: #fff;
  line-height: 45px;
  letter-spacing: 0.08em;
  margin-bottom: 50px;
}
#form_area.confirm .error_messe {
  text-align: center;
  color: #fff;
  line-height: 45px;
  letter-spacing: 0.08em;
  margin-bottom: 50px;
}
#form_area.confirm .inner {
  background: #fff;
  width: 900px;
  margin: 0 auto 82px;
  padding: 30px 40px 5px 50px;
  border-radius: 5px;
}
#form_area.confirm table {
  width: 100%;
  color: #050505;
}
#form_area.confirm table tr:nth-last-of-type(1) th::after {
  content: none;
}
#form_area.confirm table th {
  font-weight: 700;
  padding-bottom: 40px;
}
#form_area.confirm table th::after {
  color: #fff;
}
#form_area.confirm table td {
  padding-bottom: 30px;
  padding-left: 1em;
  line-height: 1.4em;
}
#form_area.thanks {
  height: calc(100vh - 190px);
}
#form_area.thanks h2 {
  width: 407px;
  margin-bottom: 60px;
}
#form_area.thanks .txt {
  text-align: center;
  color: #fff;
  font-size: 18px;
  line-height: 45px;
  letter-spacing: 0.08em;
  margin-bottom: 45px;
}
#form_area.thanks .btn {
  width: 312px;
  margin: 0 auto;
}
#form_area h2 {
  width: 837px;
  margin: 0 auto 82px;
}
#form_area table {
  width: 900px;
  margin: 0 auto 60px;
  border: none;
  border-collapse: collapse;
  color: #fff;
}
#form_area tr {
  display: block;
  width: 100%;
}
#form_area tr:nth-last-of-type(2) th::after {
  content: none;
}
#form_area th {
  font-weight: 500;
  text-align: left;
  width: 380px;
  position: relative;
  font-size: 20px;
  vertical-align: top;
  padding: 35px 0;
}
#form_area th::after {
  content: "必須";
  display: inline-block;
  background: #c1272d;
  width: 49px;
  height: 26px;
  padding: 5px 0 0;
  margin: -2px 0 0 5px;
  font-size: 14px;
  letter-spacing: 0.08em;
  font-weight: 400;
  text-align: center;
  border-radius: 2px;
}
#form_area th em {
  font-style: normal;
  display: block;
  font-size: 15px;
  position: absolute;
  margin-top: 1em;
}
#form_area td {
  width: 520px;
  position: relative;
  font-size: 20px;
  padding: 25px 0;
}
#form_area td.note {
  width: 100%;
  padding-top: 0;
  margin: -10px 0 0;
  display: block;
}
#form_area td.note span {
  font-size: 15px;
}
#form_area td.note_2 {
  padding-bottom: 60px;
}
#form_area input[type="name"],
#form_area input[type="tel"],
#form_area input[type="email"] {
  background: #fff;
  width: 520px;
  height: 50px;
  border-radius: 5px;
  font-size: 20px;
  padding: 0 20px;
  border: 1px solid #ccc;
  outline: none;
}
#form_area textarea {
  width: 520px;
  height: 256px;
  font-size: 24px;
  padding: 20px;
  border: 1px solid #ccc;
  outline: none;
  border-radius: 5px;
}
#form_area select {
  -webkit-appearance: none;
  appearance: none;
  background: #fff;
  width: 250px;
  height: 50px;
  border-radius: 5px;
  font-size: 20px;
  line-height: 20px;
  padding: 2px 0 2px 24px;
  border: 1px solid #ccc;
  outline: none;
}
#form_area .sel_box {
  position: relative;
  width: 250px;
  height: 100%;
}
#form_area .sel_box::after {
  content: "";
  display: block;
  background: url(../img/arw.png) no-repeat center 0/100%;
  width: 21px;
  height: 11px;
  position: absolute;
  top: 20px;
  right: 10px;
}
#form_area .place td > div,
#form_area .sex td > div {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
}
#form_area .place input,
#form_area .sex input {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
#form_area .place label,
#form_area .sex label {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  background: #fff;
  width: 255px;
  height: 50px;
  border-radius: 5px;
  color: #000;
  font-size: 24px;
  letter-spacing: 0.04em;
  padding: 0 0 0 20px;
}
#form_area .place span,
#form_area .sex span {
  display: block;
  margin: 5px 0 0;
  font-size: 20px;
  line-height: 38px;
  letter-spacing: 0.08em;
}
#form_area .place .formError .formErrorContent,
#form_area .sex .formError .formErrorContent {
  left: -20px;
  top: -15px;
}
#form_area .email span {
  display: block;
  margin: 5px 0 0;
  font-size: 20px;
  line-height: 38px;
  letter-spacing: 0.08em;
}
#form_area .treat th,
#form_area .method th {
  padding-top: 20px;
}
#form_area .treat td,
#form_area .method td {
  padding: 20px 0 0 36px;
}
#form_area .treat label,
#form_area .method label {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  margin-bottom: 29px;
}
#form_area .treat label span,
#form_area .method label span {
  display: block;
  width: 100%;
  font-size: 16px;
  margin: 10px 0 0 30px;
}
#form_area .treat input,
#form_area .method input {
  width: 22px;
  height: 22px;
  margin-right: 19px;
  border: 1px solid #ccc;
}
#form_area .reserve {
  display: flex;
}
#form_area .reserve td {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-align-items: center;
  align-items: center;
}
#form_area .reserve .mon,
#form_area .reserve .day,
#form_area .reserve .time {
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  margin-bottom: 20px;
}
#form_area .reserve .mon .sel_box,
#form_area .reserve .day .sel_box,
#form_area .reserve .time .sel_box {
  width: 230px;
  margin-right: 3px;
}
#form_area .reserve .mon select,
#form_area .reserve .day select,
#form_area .reserve .time select {
  width: 230px;
  margin-right: 8px;
  padding-left: 15px;
}
#form_area .reserve .mon {
  margin-right: 10px;
}
#form_area .reserve .time {
  width: 100%;
  margin-bottom: 0;
  padding-left: 10px;
}
#form_area .reserve .time .sel_box {
  width: 320px;
  margin: 0 0 0 23px;
}
#form_area .reserve .time select {
  width: 320px;
}
#form_area .reserve span {
  font-size: 20px;
}
#form_area .other th::after {
  content: none;
}

.agreement {
  width: 900px;
  height: 200px;
  background: #fff;
  margin: 0 auto 65px;
  padding: 36px 20px 15px 36px;
  border-radius: 5px;
}
.agreement .inner {
  overflow-y: scroll;
  height: 100%;
}
.agreement h6 {
  font-size: 20px;
  margin-bottom: 10px;
}
.agreement p {
  font-size: 17px;
  line-height: 38px;
  margin-bottom: 1em;
  font-weight: 600;
  padding-right: 20px;
}

.form_btn {
  border: none;
  outline: none;
  text-indent: -999em;
  cursor: pointer;
}
.form_btn:hover {
  opacity: 0.8;
  transition: all 0.3s;
}

.form_btn_area {
  display: flex;
  justify-content: center;
  gap: 0 20px;
}

#btn_confirm {
  background: url(../img/btn_confirm.png) no-repeat center 0/100%;
  width: 362px;
  height: 79px;
  display: block;
  margin: 0 auto;
}

#btn_send {
  background: url(../img/btn_send.png) no-repeat center 0/100%;
  width: 312px;
  height: 79px;
  display: block;
}

#btn_back {
  background: url(../img/btn_back.png) no-repeat center 0/100%;
  width: 312px;
  height: 79px;
  display: block;
}

footer {
  height: 190px;
  padding: 40px 0 0;
}
footer a {
  display: block;
  width: 322px;
  margin: 0 auto 18px;
}
footer small {
  display: block;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-align: center;
}

.formError .formErrorContent {
  position: relative;
  width: 100%;
  min-width: 110px;
  background: #c23232;
  color: #fff;
  padding: 5px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.6em;
}
.formError .formErrorContent::after {
  content: "";
  display: block;
  background: #c23232;
  height: 17.3205080757px;
  width: 20px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  bottom: -10px;
  left: 5px;
} /*# sourceMappingURL=style.css.map */

/* スキャビジョン */
.sca img {
  width: 1140px;
  margin: 0 auto;
  transform: translateX(0px);
}

.video-container {
  position: relative;
  width: 1142px;
  height: 418px;
  margin: 0 auto;
}

.video {
  position: absolute;
  display: flex;
  gap: 84px;
  top: 210px;
  left: 221px;
}

.video video:hover {
  transform: scale(1.03);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  cursor: pointer;
}

.video-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  justify-content: center;
  align-items: center;
}

.modal-content {
  position: relative;
  width: 80%;
  max-width: 800px;
}

.video-modal video {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.close {
  position: absolute;
  top: -50px;
  right: 0;
  font-size: 60px;
  color: #fff;
  cursor: pointer;
}

/* 髪の総合病院　選ばれる理由 */

.gen img {
  width: 1140px;
  margin: 0 auto;
}

#reason .column {
  display: flex;
  width: 954px;
  padding-left: 12px;
  margin: 0 auto 40px;
  gap: 12px;
}
