/* カラー変更 */ :root {  --content-width: 1300px;  --main-color: #E68700;  --sub-color: #282B4F;  --pale-color: #3B418E;}/* コンテンツレイアウト */body {  font-family: "Zen Old Mincho", "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;    line-height: 1.8;}.kaku{    font-family: "Noto Sans JP", sans-serif;}* {  -webkit-box-sizing: border-box;  box-sizing: border-box;  word-break: break-all;  border-spacing: 0;  border-collapse: collapse;  text-indent: initial;}a:hover{    opacity: .6;    transition: all 0.3s;}section {  padding: 60px 0;}@media (max-width: 767px) {  section {    padding: 30px 0;  }}.home section:first-of-type {  padding-top: 60px;}@media (max-width: 767px) {  .home section:first-of-type {    padding-top: 30px;  }}.container {  padding-right: calc(30px / 2);  padding-left: calc(30px / 2);}@media (min-width: 767px) {  .container {    margin: 0 auto;    max-width: var(--content-width);  }}.row {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -ms-flex-wrap: wrap;  flex-wrap: wrap;  margin-top: 30px;  margin-bottom: 0;  margin-right: calc(-1 * 30px / 2);  margin-left: calc(-1 * 30px / 2);  justify-content: space-evenly;}.row.offset_2 {  justify-content: space-evenly;}@media (max-width: 767px) {  .row {    display: block;    margin-top: 0;    margin-left: 0;    margin-right: 0;  }  .row.sp-2row {    display: flex;  }}@media (min-width: 767px) {  .container {    margin: 0 auto;    max-width: var(--content-width);  }}.reverse {  -webkit-box-orient: horizontal;  -webkit-box-direction: reverse;  -ms-flex-direction: row-reverse;  flex-direction: row-reverse;}.row .span_1 {  width: calc(100% / 12 * 1);}.row .span_2 {  width: calc(100% / 12 * 2);}.row .span_3 {  width: calc(100% / 12 * 3);}.row .span_4 {  width: calc(100% / 12 * 4);}.row .span_5 {  width: calc(100% / 12 * 5);}.row .span_6 {  width: calc(100% / 12 * 6);}.row .span_7 {  width: calc(100% / 12 * 7);}.row .span_8 {  width: calc(100% / 12 * 8);}.row .span_9 {  width: calc(100% / 12 * 9);}.row .span_10 {  width: calc(100% / 12 * 10);}.row .span_11 {  width: calc(100% / 12 * 11);}.row .span_12 {  width: 100%;}.row > .col {  margin-top: 30px;  margin-left: 0;  padding-right: calc(48px / 2);  padding-left: calc(48px / 2);}@media (max-width: 767px) {  .row > .col {    margin-top: 20px;    margin-left: 0;    margin-right: 0;    padding-right: calc(30px / 2);    padding-left: calc(30px / 2);    width: 100%;  }  .row.sp-2row > .col {    width: 50%;  }}@media (max-width: 767px) {  .row .span_1 {    width: auto;  }  .row > .col:not(:first-child) {    margin-top: 20px;  }}/* ぱんくず */.bread_wrap {  margin-top: 0;  margin-bottom: 0;}.bread {  overflow: hidden;  margin: 0;}.bread ul {  margin: 0 auto;  float: none;}@media (max-width: 767px) {  .bread ul {    padding: 15px 0;  }}.bread ul li {  list-style: none;  position: relative;  float: left;  margin-right: 20px;  padding-right: calc(20px + 9px);}@media (max-width: 767px) {  .bread ul li {    margin-right: 15px;    padding-right: calc(15px + 9px);  }}.bread ul li a {  padding: 0;  text-decoration: none;  color: #1b1b1b;}.bread ul li a:hover {  color: #1b1b1b;  text-decoration: none;}.bread ul li:after {  content: '>';  display: block;  position: absolute;  top: 0;  right: 0;  bottom: 0;  margin: auto;}.bread ul li:last-child {  padding-right: 0;  margin-right: 0;}.bread ul li:last-child:after {  content: none;}/* 画像のフィックス */figure {  margin: 0;  text-align: center;}img {  vertical-align: middle;  max-width: 100%;  height: auto;  object-fit: cover;}figure img {  width: inherit;}/* 投稿 */.article_list {  padding: 30px;  border: 1px solid #FF4E41;  position: relative;  overflow: hidden;}@media (max-width: 767px) {  .article_list {    padding: 20px;  }}.article_list:first-child {  margin-top: 0;}.article_list:nth-child(n+2) {  margin-top: 30px;}.article_detail {  background: rgba(234, 0, 0, 0.05);  padding: 4%;  margin-bottom: 4%;  font-size: 1.2rem;}.article_detail .span_12 {  margin: 2% 0;}.article_button {  margin-top: 30px;  text-align: right;}@media (max-width: 767px) {  .article_button {    margin-top: 20px;  }}.more {  display: inline-block;  overflow: hidden;  margin: auto;}.more.btn_ss a, .more.btn_ss span {  padding: 0.3em 2.1em 0.3em 1.4em;}.more.btn_s a, .more.btn_s span {  padding: 0.5em 2.1em 0.5em 1.4em;}.more.btn_m a, .more.btn_m span {  padding: 0.5em 2.1em 0.5em 1.4em;}.more a, .more span {  display: inline-block;  letter-spacing: normal;  color: #FF4E41;  border: 1px solid #FF4E41;  padding: 0.9em 1.6em;  margin-bottom: 1px;  text-decoration: none;}.more a:after, .more span:after {  border-color: #FF4E41;}.more a:hover, .more span:hover {  color: #333;  border-color: #333;}.more a:hover:after, .more span:hover:after {  border-color: #333;}.more a.add_arrow, .more span.add_arrow {  padding-right: 1.9em;}.add_arrow {  display: block;  position: relative;}.add_arrow:after {  content: "";  display: block;  position: absolute;  top: 50%;  right: 5%;  margin: auto;  width: 6px;  height: 6px;  border-top: 1px solid #fff;  border-right: 1px solid #fff;  -webkit-transform: translate(0, -50%) rotate(45deg);  transform: translate(0, -50%) rotate(45deg);  -webkit-transition: 0.2s;  transition: 0.2s;}.add_arrow:hover:after {  right: 3%;  border-color: #fff;}.more {  display: inline-block;  overflow: hidden;  margin: auto;}.more a {  display: inline-block;  letter-spacing: normal;  border: 1px solid #FF4E41;  color: #FF4E41;  padding: 0.3em 1.3em 0.3em 1em;  margin-bottom: 1px;  text-decoration: none;  font-size: 1.2rem;}.pager {  overflow: hidden;  margin-bottom: 5%;}.pager .pager_prev {  float: left;}.pager .pager_prev a {  display: block;  position: relative;  padding-left: 15px;  text-decoration: none;}.pager .pager_prev a:before, .pager .pager_prev a:after {  content: "";  display: block;  position: absolute;  left: 2px;  margin: auto;  width: 8px;  height: 1px;  background: #FF4E41;  -webkit-transition: .2s;  transition: .2s;}.pager .pager_prev a:before {  -webkit-transform: translateY(-50%) rotate(-45deg);  transform: translateY(-50%) rotate(-45deg);  top: calc(50% - 2px);}.pager .pager_prev a:after {  -webkit-transform: translateY(-50%) rotate(-135deg);  transform: translateY(-50%) rotate(-135deg);  top: calc(50% + 3px);}.pager .pager_prev a:hover {  text-decoration: underline;}.pager .pager_prev a:hover:before {  left: 0;}.pager .pager_prev a:hover:after {  left: 0;}.pager .pager_next {  float: right;}.pager .pager_next a {  display: block;  position: relative;  padding-right: 15px;  text-decoration: none;}.pager .pager_next a:before, .pager .pager_next a:after {  content: "";  display: block;  position: absolute;  right: 2px;  margin: auto;  width: 8px;  height: 1px;  background: #FF4E41;  -webkit-transform-origin: center;  transform-origin: center;  -webkit-transition: .2s;  transition: .2s;}.pager .pager_next a:before {  -webkit-transform: translateY(-50%) rotate(45deg);  transform: translateY(-50%) rotate(45deg);  top: calc(50% - 2px);}.pager .pager_next a:after {  -webkit-transform: translateY(-50%) rotate(135deg);  transform: translateY(-50%) rotate(135deg);  top: calc(50% + 3px);}.pager .pager_next a:hover {  text-decoration: underline;}.pager .pager_next a:hover:before {  right: 0;}.pager .pager_next a:hover:after {  right: 0;}.news-item {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between;  -webkit-box-align: start;  -ms-flex-align: start;  align-items: flex-start;  padding: 10px 20px;  border: 1px solid #FF4E41;  border-radius: 15px;  background: #fff;  line-height: 1.625;}@media (max-width: 767px) {  .news-item {    padding: 10px 15px;    border-radius: 8px;    line-height: 1.625;  }}.news-item:nth-child(n+2) {  margin-top: 20px;}@media (max-width: 767px) {  .news-item:nth-child(n+2) {    margin-top: 15px;  }}.news-item time {  width: 110px;}.news-item a {  -webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  color: #FF4E41;}.news-item a:hover {  text-decoration: underline;  opacity: .7;}/* コンタクトフォーム */.inquiry {  width: 960px;  margin: 0 auto;}@media (max-width: 960px) {  .inquiry {    width: auto;  }}.inquiry input[type="text"], .inquiry input[type="url"], .inquiry input[type="email"], .inquiry input[type="tel"], .inquiry input[type="date"], .inquiry input[type="number"], .inquiry select, .inquiry textarea {  width: 100%;  padding: 5px;  color: #000;}.submit {  display: block;  text-align: center;  margin: 30px auto 0;}.button, .inquiry .wpcf7-submit {  display: inline-block;  min-width: 0px;  margin: 0;  padding: 1em 1em;  border: 0;  border-radius: 4px;  line-height: 1;  background: #f18200;  color: #fff;  text-align: center;  text-decoration: none;  -webkit-appearance: none;  -moz-appearance: none;  appearance: none;  transition: .3s;}.button:hover, .inquiry .wpcf7-submit:hover {  background: #ced4d2;  color: #383637;}.wpcf7-spinner {  display: none;}.required {  color: #c00;}/* Slider */.mv {  position: relative;}.mv-image {  position: relative;height: 54vw;}.slider02 .mv-image, .slider03 .slide-image {  padding: 0 5px;}.mv-image span {  font-size: 3.6rem;  align-items: center;  line-height: 1.4;  font-weight: normal;  color: #fff;}.mv-image figure img {  width: 100%;}.mv-image div {  position: absolute;  bottom: 10%;  left: 5%;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  width: 26%;}.mainbtn img {  width: 70%;}.main_bnr{    position: absolute;    bottom: 40%;    left: 5%;    max-width: 30%;}.catch {  font-size: max(10vw, 20px);  position: absolute;  right: 2%;  bottom: 0;  line-height: 1.4;}.catch .sub {  font-size: max(2vw, 14px);    text-align: right;}.catch .sub span {  font-size: max(4vw, 18px)}@media (max-width: 1024px) {  .mv-image span {    font-size: 2.2rem;  }  .mv-image div {    bottom: 10%;    text-align: right;  }  .reasonbox {    width: 40%;    margin-bottom: 50px;  }}@media screen and (max-width: 767px) {  .reason01 .masui_deco p {    position: absolute;    top: 38%;    left: 50%;    transform: translate(-50%, -50%);    text-align: center;    font-size: 18px !important;    font-weight: 600;    color: #FFFFFF;    width: 100%;  }  .reason01 .masui_deco {    position: absolute;    top: -100px;    left: 0;    background: url("../images/reason01_deco.png")no-repeat top center;    background-size: contain;    width: 135px;    height: 135px;  }  .reason01 .masui_box .img {    width: 100%;  }  .reason01 .masui_ttl {    font-size: 18px;    margin-bottom: 50px;    font-weight: 400;    letter-spacing: 0.1em;    line-height: 1.6;    padding-left: 0;  }  .reason01 .masui_ttl span {    display: block;    font-size: 24px;  }  .reason01 .masui_box {    position: relative;    background: #F9F5EE;    padding: 40px 20px;    margin-top: 60px;  }  .reason01 .masui_box .txt {    width: 100%;  }  .reason02 .oneguidebox {    border: 1px solid #FE6900;    padding: 30px;    background: #FFFFFF;    max-width: 1300px;    margin: 50px auto;  }  .reason02 .reason02_wrap .txt {    width: 100%;  }  .reason02 .reason02_wrap .img {    width: 100%;  }  .reason02 .reason_ttl {    font-size: 24px;    text-align: center;    margin-bottom: 50px;    font-weight: 600;    color: #282B4F;  }  .oneguidebox .oneguide_ttl {    text-align: center;    font-size: 24px;    font-weight: 500;    margin-bottom: 50px;    letter-spacing: 0.1em;  }  .reason03 .flex .txt {    width: 100%;    margin: 10px;  }  .reason03 .reason_ttl {    font-size: 24px;    text-align: center;    margin-bottom: 50px;    font-weight: 600;    color: #282B4F;  }  .reason03 .flex .img {    width: 100%;  }  .reason04 .reason_ttl {    font-size: 24px;    text-align: center;    margin-bottom: 50px;    font-weight: 600;    color: #282B4F;  }  .reason04 .flex .img {    width: 100%;  }  .reason04 .flex .txt {    width: 100%;  }  .reason04 .reason04_subttl {    font-size: 20px !important;    margin-bottom: 30px;    color: #6384B7;  }  section .sub_txt {    font-size: 24px;    font-weight: 600;    text-align: center;    color: #223770;    padding: 30px 30px;    background: #F1EFEA;    letter-spacing: 0.1em;  }  .medical .center_ttl {    font-size: 24px;    line-height: 1.6;    letter-spacing: 0.1em;    font-weight: 600;    margin-bottom: 50px;    text-align: center;    color: #282B4F;  }  .medical .med_box {    width: 90%;  }}.oneguidebox .txt a {  color: #333333 !important;}.oneguidebox .txt a:hover {  text-decoration: underline !important;}@media (max-width: 767px) {    .mv-image {  position: relative;height: 120vw;}    .hero .slider{  height: 120vw;}/*  ①スライド画像  表示する画像を定義*/.hero .slider .image:nth-of-type(1){  background-image: url("../images/sp-main.png");}.hero .slider .image:nth-of-type(2){  animation-delay: 4s;  background-image: url("../images/sp-main02.png");}    .hero .slider .image:nth-of-type(2){  animation-delay: 8s;  background-image: url("../images/sp-main03.png");}  .mv-image span {    font-size: 1.6rem;  }    .main_bnr{    position: absolute;    bottom: 40%;    left: 5%;    max-width: 40%;}  .mv-image div {    right: 4px;    bottom: 3%;    width: 36%;  }  .flex .reasonbox {    width: 100%;    margin-bottom: 50px;  }}/* 見出し */h2.heading-1 {  position: relative;  word-wrap: break-word;  font-weight: normal;  margin: 0;  padding: 10px 0;  font-size: max(4vw , 2.4rem);  text-align: center;    letter-spacing: .1em;}h2.heading-1 span {  font-size: 2rem;  display: block;}h2.heading-2 {  position: relative;  word-wrap: break-word;  font-weight: normal;  margin: 0;  padding: 10px 0;  font-size: max(6vw , 4rem);  text-align: center;    letter-spacing: .1em;    color: #282B4F;}.ttl_sub{    text-align: center;    font-size: max(2vw , 18px);    margin-bottom: 30px;}.treatment{    padding: 50px 3%;    background: url("../images/treatment_bg.png") no-repeat center top /cover;}.inner1550{    max-width: 1550px;    margin: 0 auto;}.inner1670{    max-width: 1670px;    margin: 0 auto;}.inner1800{    max-width: 1800px;    margin: 0 auto;}.flex{    display: flex;}.treatment .flex{    justify-content: center;    gap: 30px 50px;    padding:  50px 0;}.treatment_txt{    width: calc(40% - 25px);}.treatment_img{    width: calc(60% - 25px);}.treatment .ttl{    font-size: max(1.8vw , 20px);    font-weight: 600;    margin-bottom: 30px;}.treatment_txt p{    font-size: max(1vw , 18px);    letter-spacing: 0.1em;    line-height: 1.8;    margin-bottom: 30px;}p.heading-2{    position: relative;  word-wrap: break-word;  margin: 0;  font-size: max(6vw , 3.2rem);  letter-spacing: .1em;}.rev{    flex-direction: row-reverse;}.counseling{    padding: 100px 3%;    background: url("../images/counseling_bg.png") no-repeat center / cover;}.counseling h2.heading-1:first-letter{    color: #E68700;}.border_bottom{    padding-bottom: 20px;    position: relative;}.border_bottom::before{    content: "";    position: absolute;    bottom: 0;    left: 50%;    transform: translateX(-50%);    height: 1px;    width: 80%;    background: #FFFFFF;}.counseling .heading-1{    margin-bottom: 50px;}.flex_couseling{    padding: 50px 0;    max-width: 1250px;    margin: 0 auto;}.flex_couseling ul{    display: flex;    justify-content: center;    gap: 20px;}.facility{    padding: 80px 3%;}.facility .ttl {  font-size: max(1.8vw , 20px);  font-weight: 600;  margin-bottom: 30px;}.facility .flex{    gap: 30px 70px;    padding: 50px 0;    align-items: center;}.facility_txt{    width: calc(70% - 35px);}.facility_img{    width: calc(30% - 35px);}.facility_bg{    padding: 50px 3%;    position: relative;}.facility_bg .facility_txt{    padding-left: 8vw;}.facility_bg::before{    content: "";    height: 100%;    max-width: 95%;    width: 100%;     background-image: linear-gradient(0deg, rgba(8, 9, 16, 1), rgba(40, 43, 79, 1));    position: absolute;    left: -3%;    top: 0;    z-index: -1;}.treatment_ill{    padding: 50px 0;}.message{    padding: 80px 3%;    background: url("../images/message_bg.png") no-repeat center / cover;}.message .heading-2{    margin-bottom: 30px;    color: #282B4F}.message .heading-2 span.sub{    font-size: max(1.4vw , 28px);    display: block;}.message .ttl_sub{    text-align: left;    color: #282B4F;}.message .flex{    gap: 30px 60px;}.message_txt{    width: calc(55% - 30px);}.message_img{    width: calc(45% - 30px);}.message .btn{    max-width: 380px;    padding-top: 50px;}.trouble{    padding: 80px 3%;    background: #00317C;}.trouble .heading-1{   font-size: max(6vw , 3.2rem); }.trouble h2.heading-1:first-letter{    color: #E68700;}.trouble .heading-2 span{    display: block;}.trouble_check{    max-width: 1250px;    margin: 0 auto;    padding: 30px 0;}.trouble_check li{    font-size: max(1.4vw , 15px);    position: relative;    background: #FFFFFF;    text-align: center;    padding: 10px;    margin-bottom: 20px;}.trouble_check li::before{    content: "";    position: absolute;    left: 20px;    top: 50%;    transform: translateY(-50%);    background: url("../images/check_icon.png") no-repeat center / contain;    width: 30px;    height: 30px;}.trouble .flex{    gap:30px 60px;}.trouble ul.flex li{    width: calc((100% - 120px) / 3);    padding: 15px 15px 80px;    position: relative;    background: linear-gradient(-45deg, #A78B5B 0%, #A78B5B 35%, #947C51 35%, #947C51 100%);}.trouble .ttl{    font-size: max(1.6vw , 20px);    padding: 10px 0;    margin-bottom: 10px;    border-bottom: 1px solid #FFFFFF;}.u_name{    position: absolute;    bottom: 10px;    left: 50%;    transform: translateX(-50%);    font-size: max(2.8vw , 28px);    color: #B9A683;    text-align: center;    width: 100%;}.trouble_btn{    max-width: 1100px;    width: 80%;    margin: 0 auto;    padding: 50px 0;}.type2 span {  display: inline !important;  font-size: 3.8rem !important;}h2.heading-1 .t20 {  font-size: 30px !important;}h2.heading-1.type2:before {  content: '';  position: absolute;  top: 100%;  left: calc(50vw - 50%);  width: 0;  height: 0;}h2.heading-1.black {  color: #000;  background: none;}h3.heading-3 {  position: relative;  font-size: 30px;  text-align: center;  letter-spacing: 2px;  margin: 20px 0;  line-height: 1;}h3.heading-3 span {  font-size: 1.2rem;}h3.heading-3.type2 {  display: table;  margin: 0 auto;}h3.heading-3.type2:before {  content: '';  display: block;  margin: auto auto 0;  background: #000;  position: absolute;  top: -10px;  right: 0;  width: 100%;  height: 3px;}h3.heading-3.type2:after {  content: '';  display: block;  background: #000;  bottom: -10px;  right: 0;  position: absolute;  width: 100%;  height: 3px;  margin: auto auto 0;}@media (max-width: 767px) {  h2.heading-1 span {    font-size: 1.1rem;  }  .type2 span {    display: inline !important;    font-size: 1.8rem !important;  }  h3.heading-3 {    font-size: 1.4rem;  }  h2.heading-1 .t20 {    font-size: 16px !important;  }  .content-items .maker_ttl {    font-size: 20px;    margin-bottom: 2rem;  }  .content-items .maker_box {    padding: 1rem;  }  .content-items .maker_box .txt {    width: 100%;    font-size: 16px;    line-height: 1.6;    letter-spacing: 0.1em;  }  .content-items .maker_box .img {    width: 100%;    text-align: center;  }}@media (max-width: 480px) {  h2.heading-2 {    font-size: 1.6rem;  }}/* ボタン */.btn-1 {  color: #1b1b1b;  display: block;  width: 200px;  margin: 0 auto 40px;  height: auto;  padding: 16px 10px;  text-align: center;  border: var(--sub-color) 1px solid;  background: #fff;  -webkit-transition: all 0.2s ease-out;  transition: all 0.2s ease-out;}.btn-1.left {  float: left;}.btn-1.right {  float: right;}.btn-1:hover {  color: #fff;  background: var(--sub-color);}/* テーブル */.table-compare {  width: 100%;}.table-compare td, .table-compare th {  border: 1px solid var(--sub-color);  padding: 0.7em;  text-align: center;}@media (max-width: 480px) {  .table-compare td, .table-compare th {    padding: 0.7em .3em;  }}.table-compare thead th {  background: var(--main-color);  color: #fff;}.table-compare tbody th {  background: var(--pale-color);  color: #fff;}.table-schedule {  width: 100%;    border-bottom: 2px solid #FFFFFF;    border-top: 2px solid #FFFFFF;}.table-schedule td, .table-schedule th {  padding: 0.6em 0.4em;  text-align: center;}@media (max-width: 480px) {  .table-schedule td, .table-schedule th {    padding: 0.7em .3em;  }}.table-schedule thead th {  color: #FFFFFF;    border-bottom: 1px solid #FFFFFF;}.table-schedule tbody th {  color: #FFFFFF;}.table-schedule tbody td {  color: #E68700;}.table-schedule tbody tr:first-child th {padding-top: 30px;}.table-schedule tbody tr:first-child td {padding-top: 30px;}.table-schedule tbody tr:nth-child(4) th {padding-bottom: 30px;}.table-schedule tbody tr:nth-child(4) td {padding-bottom: 30px;}.table-default {  width: 100%;}.table-default td, .table-default th {  padding: 0.7em 1em;  border: 1px solid #FFFFFF;  vertical-align: middle;}.table-default th {  background: var(--pale-color);  color: #fff;}.table-default th.ttl {  background: #223770;}.table-default2 {  width: 100%;  max-width: 1000px;  margin: 0 auto;}.table-default2 td, .table-default2 th {  padding: 0.7em 1em;  border: 1px solid #282B4F;  vertical-align: middle;}.table-default2 th {  background: #EBECF6;}.table-default2 td {  background: #FFFFFF;}@media (max-width: 768px) {  .scroll {    width: 100%;    border-collapse: collapse;    white-space: nowrap;    overflow-x: scroll;  }}/* 流れ */span.bg {  background: var(--main-color);  color: #fff;  padding: 8px;  display: block;  margin-right: 5px;}.indent {  margin-left: 2em;  text-indent: -2em;  border-bottom: 1px solid #707070;}.indent span.bg {  display: inline;}.frame {  border: 1px solid #F26A38;  padding: 1em 0;  position: relative;  display: flex;  background: #fff;}.frame > .col {  padding-right: calc(30px / 2);  padding-left: calc(30px / 2);}.span_6 .frame, .span_4 .frame {  margin-top: 30px;}@media (max-width: 767px) {  .span_6 .frame, .span_4 .frame {    margin-top: 20px;  }  .frame {    display: block;  }  .frame .span_2, .frame .span_3, .frame .span_4, .frame .span_5, .frame .span_6, .frame .span_7, .frame .span_8, .frame .span_9, .frame .span_10 {    width: 100% !important;  }}.frame.arrow:after {  border-color: #707070;  border-style: solid;  border-width: 30px 1px;  content: '';  position: absolute;  right: 50%;  bottom: -61px;  z-index: -1;}.frame.arrow.end:after {  display: none;}/* ページトップ */.pagetop {  position: fixed;  bottom: 98px;  right: 5%;  z-index: 100;}@media (max-width: 767px) {  .pagetop {    bottom: 74px;  }}.pagetop a {  overflow: hidden;  text-indent: 100%;  white-space: nowrap;  display: inline-block;  position: relative;  width: 70px;  height: 70px;  padding: 0;  border-radius: 50%;  background: var(--main-color);}@media (max-width: 767px) {  .pagetop a {    width: 50px;    height: 50px;  }}.pagetop a:after {  content: "";  display: block;  position: absolute;  top: 50%;  left: 50%;  margin: auto;  width: 10px;  height: 10px;  border-top: 2px solid #fff;  border-left: 2px solid #fff;  -webkit-transform: translate(-50%, -20%) rotate(45deg);  transform: translate(-50%, -20%) rotate(45deg);  -webkit-transition: .2s;  transition: .2s;}/* バナーエリア */.bnr {  margin: -15px;  padding: 0;  list-style: none;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -ms-flex-wrap: wrap;  flex-wrap: wrap;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;}@media (max-width: 767px) {  .bnr {    margin: -10px;  }}.bnr li {  padding: 15px;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  max-width: 250px;}@media (max-width: 767px) {  .bnr li {    padding: 10px;  }}.bnr li a img {  margin: 0 auto;}/* ヘッダー */header {  position: absolute;  top: 0;  z-index: 10;  width: 100%;}.header-wrap {  position: relative;  margin-right: auto;  margin-left: auto;  width: auto;  min-height: 77px;  padding: 20px 40px 0;  text-align: center;}@media (max-width: 480px) {  .header-wrap:after {    border: none;  }  .header-wrap:before {    border: none;  }}@media (max-width: 767px) {  .header-wrap {    overflow: hidden;    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-align: center;    -ms-flex-align: center;    align-items: center;    width: 100%;    height: 100%;    min-height: 0;    margin-top: 0;    z-index: 999;    padding: 15px;  }}@media (max-width: 480px) {  .header-wrap {    padding: 10px 15px 10px 10px;  }}.header-main {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between;  width: 100%;    gap: 3vw;    align-items: center;}.header-main img{    max-width: 100%;    width: auto;}.header-info {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  justify-content: end;  flex-wrap: wrap-reverse}@media (max-width: 767px) {  .header-main {    display: -webkit-box;    display: -ms-flexbox;    display: flex;    -webkit-box-align: center;    -ms-flex-align: center;    align-items: flex-start;    -webkit-box-pack: justify;    -ms-flex-pack: justify;    width: 100%;  }}.header-head:not(.title) {  line-height: 1;  margin: 0;  flex: none;  max-width: 32vw;    display: flex;    align-items: center;}@media (max-width: 767px) {  .header-head:not(.title) {    margin: 0 auto 0 0;    padding: 0;    text-align: left;    width: 100%;  }}@media (max-width: 767px) {  .header-head:not(.title) {    width: 80%;    max-width: 100%;  }}@media (max-width: 767px) {  .header-head:not(.title) img {    height: auto;    width: auto;  }}.header-text {  text-align: center;  border: 1px solid #fff;    display: flex;    align-items: center;    justify-content: center;    white-space: nowrap;    padding: 1.4vw 1vw;    background: #FFFFFF;    font-size: max(0.9vw , 14px);}.header-head {  text-align: left;}.header-head a {  display: inline-block;}.header-info{    display: flex;    flex-direction: column;    gap: 20px;    justify-content: flex-start;    text-align: center;    color: #FFFFFF;    width: 38%;  max-width: 330px;}.header-parking{    padding: 5px 10px;    background: rgba(0,0,0,0.20);    display: flex;    align-items: center;    justify-content: center;    gap:10px;}.header-access{    padding: 5px 10px;    background: rgba(0,0,0,0.20);    display: flex;    align-items: center;    justify-content: center;    gap:10px;}.header-copy:not(.title) {  color: #1b1b1b;  font-size: 1rem;  font-weight: normal;  line-height: 1.2;  margin: 0 0 20px 0;  padding: 4px 0;  border-bottom: 1px solid rgba(0, 0, 0, 0.1);  text-align: left;  position: relative;}@media (max-width: 767px) {  .header-copy:not(.title) {    display: none;  }}.tel-text {  font-size: 20px;  display: inline-block;  font-family: 'Kosugi Maru', sans-serif;  color: var(--main-color);}.header-btn {  color: #fff;  display: flex;  justify-content: flex-start;}.header-tel {}.header-btn img {  width: auto;  height: auto;  cursor: pointer;  background: var(--main-col);  padding: 24px;}.header-btn .header-tel img {  width: auto;  height: auto;  padding: 0;}.header-btn .header-tel a {  position: relative;  margin: 0;  cursor: pointer;  background: none;  line-height: 1rem;  width: auto;  padding: 0;}.header-btn .header-tel span::before {  white-space: pre-wrap;  content: "";  position: absolute;  display: block;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  width: 100%;}.header-btn .header-web img {  width: auto;  height: auto;  padding: 0;}.header-btn .header-web a {  position: relative;  margin: 0;  cursor: pointer;  background: none;  line-height: 1rem;  width: auto;  padding: 0;}.header-btn .header-web span::before {  white-space: pre-wrap;  content: "";  position: absolute;  display: block;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  width: 100%;}.header-btn a {  position: relative;  margin: 0;  cursor: pointer;  background: var(--sub-color);  line-height: 1rem;  width: 220px;  padding: 25px;}.header-btn span:before {  white-space: pre-wrap;  content: "WEB予約\A 24時間受付中";  position: absolute;  display: block;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  width: 100%;  font-size: max(1.4vw, 20px);}.header-btn a span {  line-height: 2rem;}.header-btn a {  color: #fff;}.header-btn-area{    display: flex;    flex-direction: column;    gap:10px;}@media (max-width: 767px) {    .header-head    {        flex-direction: column;        gap: 5px;    }  .header-btn {    position: fixed;    right: 5px;  }  .header-btn img {    width: auto;    height: 60px;    cursor: pointer;    background: var(--main-color);    padding: 20px 15px;  }}.header-btn > span {  display: block;  position: absolute;  right: 0;  left: 0;  bottom: -6px;  font-size: 10px;  line-height: 1;}@media (min-width: 769px) {  .header-btn img:hover {    -webkit-transition: opacity 0.2s ease-out;    transition: opacity 0.2s ease-out;    opacity: 0.7;  }}.nav {  position: fixed;  min-height: 100%;  width: 100%;  top: 0;  right: -100%;  z-index: 30000;  cursor: pointer;}.nav__wrap {  position: absolute;  top: 0;  right: 0;  width: 480px;  height: 100vh;  padding-bottom: 30px;  overflow: auto;  background: #E68700;  ;}@media (max-width: 767px) {  .nav__wrap {    width: 100%;    height: 100vh;    padding-bottom: 70px;    overflow-y: scroll;  }}.nav__btn {  position: relative;  -webkit-appearance: none;  -moz-appearance: none;  appearance: none;  display: block;  width: 26px;  height: 27px;  margin: 18px 20px 0 auto;  padding: 0;  border: none;  outline: none;  background: url(../images/close.png);  background-size: cover;  cursor: pointer;}@media (max-width: 767px) {  .nav__btn {    position: absolute;    right: 20px;    top: 20px;    width: 50px;    height: 50px;    margin: 0;  }}.nav__btn:hover {  -webkit-transition: opacity 0.2s ease-out;  transition: opacity 0.2s ease-out;  opacity: 0.7;  filter: alpha(opacity=70);  -ms-filter: "alpha(opacity=percentage(70))";  zoom: 1;}.nav__items {  margin: auto;  width: 400px;}@media (max-width: 767px) {  .nav__items {    margin-top: 0;    padding-top: 50px;    width: 310px;  }}.nav__items ul {  list-style: none;  padding: 15px 0 0 0;}.nav__items ul li a {  display: block;  padding: 10px;  font-size: 1rem;  color: #FFFFFF;  border-bottom: 1px solid #fff;}@media (max-width: 767px) {  .nav__items ul li a {    background-size: 100% auto;  }}@media (min-width: 769px) {  .nav__items ul li a:hover {    -webkit-transition: opacity 0.2s ease-out;    transition: opacity 0.2s ease-out;    opacity: 0.7;    filter: alpha(opacity=70);    -ms-filter: "alpha(opacity=percentage(70))";    zoom: 1;  }}.nav__items ul li a.has_under ul.sub-menu {  padding-top: 0;  margin-right: 10px;  margin-left: 30px;}.nav__items ul li a.has_under ul.sub-menu li a {  background: #fff;  color: #fff;  font-size: 2rem;}.nav__items ul ul {  margin-top: 0;  padding-top: 0;}.nav__items ul ul li a {  border-bottom: 1px dotted #fff;  text-indent: 1em;}/* グローバルメニュー */.menu {  position: relative;  width: 100%;  background-color: #444;}.menu > ul > li > a {  padding: 20px;  display: block;  letter-spacing: .2em;}.menu ul li ul {  z-index: 100;  display: none;}.menu ul li:hover ul {  padding: 0;  display: block;}.menu {  background: linear-gradient(var(--main-color) 50%, var(--sub-color) 50%);}.menu li:hover {  background: var(--sub-color);}.menu ul {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: justify;  -ms-flex-pack: justify;  justify-content: space-between;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  margin: auto;  width: 100%;  max-width: var(--content-width);  list-style: none;}.menu li {  position: relative;  -webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  font-weight: bold;  line-height: 1;}.menu li:after {  content: "";  display: block;  position: absolute;  top: 0;  right: 0;  bottom: 0;  background-color: #FFF;  width: 1px;}.menu li:first-child {  margin-left: 0;}.menu ul li:first-child:before {  content: "";  display: block;  position: absolute;  top: 0;  left: 0;  bottom: 0;  background-color: #FFF;  width: 1px;}.menu ul > li a {  display: block;  color: #fff;}.menu ul li:first-child {  margin-left: 0;}.menu ul li a:visited {  color: #FFF;}/* Submenu */.menu > ul li ul {  position: absolute;  top: 55px;  left: 0;  background: var(--main-color);}.menu > ul li ul li {  display: block;}li.second-level {  padding: 20px;}li.second-level:hover {  background: var(--sub-color);}ul li.second-level:first-child:before {  background: none;}ul li.second-level:after {  background: none;}@media (max-width: 767px) {  .menu {    display: none;  }}/* グローバルメニュー　別パターン */.header_nav ul {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  margin: 0 auto;  padding: 0;  width: 100%;  max-width: 1000px;  list-style: none;}.header_nav li {  position: relative;  -webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  padding: 0 8px;  font-weight: bold;  line-height: 1;}.header_nav ul li a {  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  background-color: var(--main-color);  border-radius: 50%;  width: 100px;  height: 100px;  color: #fff;}.header_nav ul li a:hover {  opacity: 0.7;}.gnav{    padding: 25px 3% 30px;    background: #857564;    position: relative;    width: 100%;}.gnav::before{    content: "";    position: absolute;    bottom: 10px;    left: 0;    height: 1px;    width: 100%;    background: #FFFFFF;}.navi{    max-width: 1550px;    margin: 0 auto;    padding: 0 3%;}.navi ul{    display: flex;    justify-content: space-between;    gap: 2vw;    margin: 0;    padding: 0;    }.navi ul li{    list-style: none;}.navi ul a{    font-size: max(1vw , 18px);    color: #FFFFFF;    white-space: nowrap;}.navi ul li a:hover{   text-decoration: underline;}/* フッター */.footer {  padding: 60px 0 0;  background: #282B4F;    color: #FFFFFF;    margin-top: 100px;}.logo_flex{    display: flex;    justify-content: center;    gap: 30px;    flex-wrap: wrap;    align-items: center;    max-width: 760px;    margin: 0 auto;}.logo_flex .header-text{    color: #333333;}.footer-info {  display: flex;  flex-direction: column;  gap: 20px;  justify-content: flex-start;  text-align: center;    padding-top: 30px;}.footer-info .header-parking , .footer-info .header-access{    max-width: 330px;    margin: 0 auto;    width: 100%;    background: #535572;}@media (max-width: 767px) {  .footer {    padding: 30px 0 0;  }}.footer-info__data {  -webkit-box-flex: 1;  -ms-flex: 1;  flex: 1;  padding: 0 calc(30px / 2);  color: #fff;  text-align: left;}@media (max-width: 767px) {  .footer-info__data {    margin-top: 20px;    text-align: center;  }}.footer-info__name img {  margin: auto;  width: auto !important;}.footer-info__adress {  margin-top: 5px;  line-height: 1.5em;}.footer-info__tel {  margin-top: 5px;}.footer-info__tel a {  color: #fff;}.footer__copy {  padding: 20px 0;  line-height: 1.42857;  text-align: center;  margin: 0;}@media (max-width: 767px) {  .footer__copy {    padding: 20px 0;    line-height: 1.66667;  }}.footer-info__data .footer-info__tel {  margin-bottom: 0;}.footer_map{    position: relative;}.map_btn{    max-width: 300px;    position: absolute;    top: 10%;    right: 5%;    z-index: 1;}/* フローティング */#reservation {  background: rgba(35, 40, 30, 0.7);  position: fixed;  bottom: 0;  left: 0;  width: 100%;  z-index: 20002;}#reservation ul {  -webkit-box-sizing: border-box;  box-sizing: border-box;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  margin: 0 auto;  padding: 20px;  list-style: none;  width: 100%;  max-width: var(--content-width);}@media (max-width: 767px) {  #reservation ul {    padding: 5px;  }}#reservation ul li {  margin: 0 5% 0 0;  border-radius: 3px;  width: 100%;  position: relative;}#reservation ul li:last-child {  margin: 0;}#reservation ul li a {  background: var(--main-color);  color: #fff;  padding: 10px;  display: -webkit-box;  display: -ms-flexbox;  display: flex;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;  -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  font-size: 1.5rem;  border-radius: 3px;}#reservation ul li.mobile_tel_btn a {  font-size: 16px;}@media (max-width: 480px) {  #reservation ul li.mobile_tel_btn a {    pointer-events: auto;  }}/* トグル */summary {  display: block;  list-style: none;}summary::-webkit-details-marker {  display: none;}.toggle-wrap {  margin-bottom: 20px;}.toggle-wrap:last-child {  margin-bottom: 0;}.toggle_inner {  cursor: pointer;  display: flex;  flex-direction: row;  justify-content: space-between;  align-items: center;  font-weight: bold;  color: var(--main-color);  background: #e1e1e1;  line-height: 1.5rem;}.toggle_inner span.qa {  padding: 10px 20px;  background: var(--main-color);  color: #fff;  margin-right: 5px;}.icon {  display: block;  position: relative;  width: 24px;  margin-left: 6px;  flex-shrink: 0;  transform-origin: center 43%;  transition: transform 0.4s;  margin: 20px;}.icon:before {  left: 0;  transform: rotate(45deg);}.icon:after {  right: 0;  transform: rotate(-45deg);}.icon:before, .icon:after {  content: "";  position: absolute;  display: block;  width: 15px;  height: 3px;  background-color: var(--main-color);}.toggle-content p {  padding: 20px 20px 20px 40px;  background: #FFF;  margin: 0;}details[open] .icon {  transform: rotate(180deg);}/* 汎用クラス */.bg-red {  background-color: #fe266d !important;}.bg-blue {  background-color: #1646b1 !important;}.bg-green {  background-color: #5fcf32 !important;}.bg-orange {  background-color: #ffa204 !important;}.text-red {  color: #db2d2d !important;}.text-blue {  color: #2420db !important;}.text-green {  color: #6ddb20 !important;}.text-orange {  color: #db9620 !important;}.text-pink {  color: #db20b2 !important;}.text-black {  color: #000000 !important;}.text-white {  color: #FFFFFF !important;}.mt0 {  margin-top: 0px !important;}.mb0 {  margin-bottom: 0px !important;}.pb0 {  padding-bottom: 0px !important;}.pt0 {  padding-top: 0px !important;}.pall30 {  padding: 30px !important;}.mt10 {  margin-top: 10px !important;}.mt20 {  margin-top: 20px !important;}.mt30 {  margin-top: 30px !important;}.mt40 {  margin-top: 40px !important;}.mt50 {  margin-top: 50px !important;}.mt60 {  margin-top: 60px !important;}.mr10 {  margin-right: 10px !important;}.mr20 {  margin-right: 20px !important;}.mr30 {  margin-right: 30px !important;}.mr40 {  margin-right: 40px !important;}.mr50 {  margin-right: 50px !important;}.mr60 {  margin-right: 60px !important;}.mb10 {  margin-bottom: 10px !important;}.mb20 {  margin-bottom: 20px !important;}.mb30 {  margin-bottom: 30px !important;}.mb40 {  margin-bottom: 40px !important;}.mb50 {  margin-bottom: 50px !important;}.mb60 {  margin-bottom: 60px !important;}.ml10 {  margin-left: 10px !important;}.ml20 {  margin-left: 20px !important;}.ml30 {  margin-left: 30px !important;}.ml40 {  margin-left: 40px !important;}.ml50 {  margin-left: 50px !important;}.ml60 {  margin-left: 60px !important;}.pt10 {  padding-top: 10px !important;}.pt20 {  padding-top: 20px !important;}.pt30 {  padding-top: 30px !important;}.pt40 {  padding-top: 40px !important;}.pt50 {  padding-top: 50px !important;}.pt60 {  padding-top: 60px !important;}.pr10 {  padding-right: 10px !important;}.pr20 {  padding-right: 20px !important;}.pr30 {  padding-right: 30px !important;}.pr40 {  padding-right: 40px !important;}.pr50 {  padding-right: 50px !important;}.pr60 {  padding-right: 60px !important;}.pb10 {  padding-bottom: 10px !important;}.pb20 {  padding-bottom: 20px !important;}.pb30 {  padding-bottom: 30px !important;}.pb40 {  padding-bottom: 40px !important;}.pb50 {  padding-bottom: 50px !important;}.pb60 {  padding-bottom: 60px !important;}.pl10 {  padding-left: 10px !important;}.pl20 {  padding-left: 20px !important;}.pl30 {  padding-left: 30px !important;}.pl40 {  padding-left: 40px !important;}.pl50 {  padding-left: 50px !important;}.pl60 {  padding-left: 60px !important;}.text-bold {  font-weight: bold !important;}.text-center {  text-align: center !important;}.text-right {  text-align: right !important;}.text-left {  text-align: left !important;}.text-xlarge {  font-size: 2.0rem !important;}.text-large {  font-size: 2.6rem !important;}@media (max-width: 1025px) {  .pc-only {    display: none !important;  }  .text-xlarge {    font-size: 1.8rem;  }  .text-large {    font-size: 1.3rem !important;  }}@media (min-width: 767px) {  .sp-only {    display: none !important;  }}@media (max-width: 767px) {  .pc-tab-only {    display: none !important;  }}@media (min-width: 767px) and (max-width: 1024px) {  .tablet-hide {    display: none !important;  }}@media (min-width: 1024px) {  .tablet-only {    display: none !important;  }}/* 背景ありコンテンツ */.content-items .row {  justify-content: center;}.bg-01 {  overflow: hidden;  position: relative;  background: url("../images/content-01-bg.png") no-repeat center;  background-size: cover;  padding: 10vw 0 14vw;}.bg-03 {  overflow: hidden;  position: relative;  background: url("../images/content-03-bg.png") no-repeat center;  background-size: cover;}.bg-04 {  overflow: hidden;  position: relative;  background: url("../images/content-04-bg.png") no-repeat center;  background-size: cover;}.bg-05 {  overflow: hidden;  position: relative;  background: url("../images/content-05-bg.png") no-repeat center;  background-size: cover;}.bg-07 {  position: relative;}.bg-07:after {  content: "";  overflow: hidden;  position: absolute;  background: url("../images/content-07-bg.png") no-repeat center;  background-size: cover;  top: 0;  right: 0;  z-index: -2;  height: 100%;  width: 100%;}.bg-10 {  overflow: hidden;  position: relative;  background: url("../images/content-10-bg.png") no-repeat center;  background-size: cover;}.bg-11 {  overflow: hidden;  position: relative;  background: url("../images/content-11-bg.png") no-repeat center;  background-size: cover;}.bg-12 {  overflow: hidden;  position: relative;  background: url("../images/content-12-bg.png") no-repeat center;  background-size: cover;}.bg-12 {  background: #f2f2f2;}.bg-13 {  overflow: hidden;  position: relative;  background: url("../images/content-12-bg.png") no-repeat center;  background-size: cover;  margin-bottom: 50px;}.content-02-bg {  position: relative;  overflow: hidden;  padding: 60px 0 100px;}.content-02-bg:after {  content: "";  position: absolute;  left: 0;  top: 0;  overflow: hidden;  background: url("../images/content-02-bg.png") no-repeat center;  background-size: cover;  height: 944px;  width: 100%;  z-index: -1;}.bg-white {  background: rgba(255, 255, 255, 0.81);  padding: 20px 0;  display: block;  border: 1px solid #fff;}.bg-white p {  padding: 0 40px;}@media (max-width: 767px) {  .content-02-bg:after {    background: url("../images/content-02-spbg.png") no-repeat center;    background-size: cover;  }  .content-02-bg {    padding: 60px 0;  }  .bg-white p {    padding: 0;  }}.content05-wrap {  padding: 0 !important;  margin: 0 !important;}.greeting {  margin-top: 125px !important;  position: relative;  z-index: 3;}.greeting p {  padding-right: 30px}.greeting:after {  content: "";  position: absolute;  background: #fff;  top: -40px;  right: 0;  width: 110%;  height: 110%;  z-index: -1;  border: 1px solid #070707;}@media (max-width: 767px) {  .greeting {    margin-top: 20px !important;    position: relative;    z-index: 3;    padding: 10px 0  }  .greeting p {    padding-right: 0  }  .greeting:after {    content: "";    position: absolute;    background: #fff;    top: 0;    right: 0;    width: 100%;    height: 100%;    z-index: -1;    border: 1px solid #070707;  }}.address {  text-align: center;  line-height: 1.5rem;}.tel {  font-size: 1.6rem;  text-align: center;  line-height: 1.5rem;  color: var(--main-color);  font-weight: bold;}.tel span {  position: relative;}.tel span:before {  content: "";  position: absolute;  left: -40px;  top: 0;  overflow: hidden;  background: url("../images/phone.png") no-repeat center;  height: 30px;  width: 30px;}.route {  text-align: center;  line-height: 1.5rem;  background: var(--main-color);  font-weight: bold;  margin: 0;  color: #fff;  padding: 10px 0;}.route span {  position: relative;  font-size: 14px;  padding-left: 15px;}.route span:before {  content: "";  position: absolute;  left: -20px;  top: -5px;  overflow: hidden;  background: url("../images/Icon ionic-md-train.png") no-repeat center;  height: 30px;  width: 25px;}.require {  padding: 0 5px;  background: #E68700;  color: #FFFFFF;  display: block;  height: fit-content;}.disc {  font-size: 14px;  line-height: 1.5rem;}.sub_ttl {  display: block;  text-align: center;  font-size: 28px;  margin-bottom: 10px;  font-weight: 600;}.al_ce {  align-items: center;  display: grid;  justify-content: center;}.triangle1 {  width: 0;  height: 0;  border-left: 30px solid #333;  border-top: 30px solid transparent;  border-bottom: 30px solid transparent;}@media screen and (max-width: 767px) {  .triangle1 {    width: 0;    height: 0;    border-left: 30px solid transparent;    border-right: 30px solid transparent;    border-top: 30px solid #333;  }}.casetxt {  text-align: center;  font-size: 20px;  font-weight: 600;  background: #1646b1;  color: #fff;}#page-top a {  display: flex;  justify-content: center;  align-items: center;  width: 80px;  height: 80px;  color: #fff;  text-align: center;  text-transform: uppercase;  text-decoration: none;  font-size: 0.6rem;  transition: all 0.3s;}#page-top a:hover {  opacity: 0.6;}/*リンクを右下に固定*/#page-top {  position: fixed;  right: 10px;  bottom: 10px;  z-index: 2;  /*はじめは非表示*/  opacity: 0;  transform: translateX(100px);}/*　左の動き　*/#page-top.LeftMove {  animation: LeftAnime 0.5s forwards;}@keyframes LeftAnime {  from {    opacity: 0;    transform: translateX(100px);  }  to {    opacity: 1;    transform: translateX(0);  }}/*　右の動き　*/#page-top.RightMove {  animation: RightAnime 0.5s forwards;}@keyframes RightAnime {  from {    opacity: 1;    transform: translateX(0);  }  to {    opacity: 1;    transform: translateX(100px);  }}.maker_box {  padding: 30px;  border: 1px solid #FE6900;}.maker_ttl {  font-size: 26px;  font-weight: 600;  text-align: center;  margin-bottom: 30px;  line-height: 1.8;  letter-spacing: 0.1em;}.maker_box .flex {  align-items: center;}.flex {  display: flex;  flex-wrap: wrap;  justify-content: space-evenly;}.maker_box .txt {  width: 70%;  font-size: 18px;  line-height: 1.6;  letter-spacing: 0.1em;}.maker_box .img {  width: 20%;  text-align: center;}.reason01 {  background: url("../images/reason01_bg.png")no-repeat top center;  background-size: cover;}.reasonNm {  text-align: center;  font-size: 28px;  margin-bottom: 30px;  font-style: normal;  font-weight: 600;  letter-spacing: 0.1em;}.reasonNm span {  font-size: 60px;}.reason_ttl {  font-size: 38px;  text-align: center;  margin-bottom: 50px;  font-weight: 600;  color: #282B4F;}.reason_txt {  font-size: 18px;  text-align: center;  letter-spacing: 0.1em;  line-height: 1.6;  margin-bottom: 50px;}.reasonimg {  margin-bottom: 50px;}.reasonbox {  width: 24%;  margin-bottom: 50px;}.reasonbox_img {  width: 100%;}.bgb {  background: #223770;  color: #FFFFFF;  text-align: center;  padding: 20px 0;  font-size: 20px;  font-weight: 600;  letter-spacing: 0.1em;}.bg_area{    background: #E9E9ED;    padding: 50px 3%;}.masui_box {  position: relative;  background: #F9F5EE;  padding: 60px;  margin-top: 60px;}.masui_ttlbox {  display: flex;  align-items: center;  justify-content: space-between;}.masui_deco {  position: absolute;  top: -80px;  left: 0;  background: url("../images/reason01_deco.png")no-repeat top center;  background-size: contain;  width: 205px;  height: 205px;}.masui_deco p {  position: absolute;  top: 50%;  left: 50%;  transform: translate(-50%, -50%);  text-align: center;  font-size: 24px !important;  font-weight: 600;  color: #FFFFFF;}.masui_ttl {  font-size: 18px;  margin-bottom: 50px;  font-weight: 400;  letter-spacing: 0.1em;  line-height: 1.6;  padding-left: 200px;}.masui_ttl span {  display: block;  font-size: 38px;}.masui_box .txt {  width: 50%;}.masui_box .img {  width: 42%;}.txt p {  font-size: 18px;  line-height: 1.6;  letter-spacing: 0.1em;}.reason02 {  background: url("../images/reason02_bg.png")no-repeat top center;  background-size: contain;  padding: 3% 0;}.reason02_wrap {  max-width: calc(1600px + 6%);  padding: 3%;  margin: 0 auto;}.reason02_wrap .txt {  width: 40%;}.reason02_wrap .img {  width: 45%;}.oneguidebox {  border: 1px solid #FE6900;  padding: 50px;  background: #FFFFFF;  max-width: 1300px;  margin: 50px auto}.oneguide_ttl {  text-align: center;  font-size: 38px;  font-weight: 500;  margin-bottom: 50px;  letter-spacing: 0.1em;}.oneguidebox .img {  width: 30%;}.oneguidebox .txt {  width: 60%;}.reason03 {  background: url("../images/reason03_bg.png") no-repeat top center;  padding: 3% 0;  background-size: cover;}.reason03 .txt {  width: 40%;  margin: 50px;}.reason03 .img {  width: 45%;}.reason04 {  background: url("../images/reason04_bg.png") no-repeat top center;  background-size: contain;  padding: 3% 0;}.reason_ttl p {  text-align: center;  letter-spacing: 0.1em;  line-height: 1.6;}.reason04_subttl {  font-size: 28px !important;  margin-bottom: 30px;  color: #6384B7;}.reason04 .txt {  width: 45%;}.reason04 .img {  width: 45%;}.sub_txt {  font-size: 28px;  font-weight: 600;  text-align: center;  color: #223770;  padding: 80px 30px;  background: #F1EFEA;  letter-spacing: 0.1em;}.center_ttl {  font-size: 38px;  line-height: 1.6;  letter-spacing: 0.1em;  font-weight: 600;  margin-bottom: 50px;  text-align: center;  color: #282B4F;}.medical {  padding: 3% 0;}.medicaltxt {  font-size: 18px;  line-height: 1.6;  letter-spacing: 0.1em;  max-width: 900px;  margin: 30px auto;}.medical_subttl {  font-size: 28px;  text-align: center;  padding: 30px 0;  position: relative;  margin-bottom: 50px;  color: #282B4F;}.medical_subttl::before {  content: "";  width: 10vw;  height: 3px;  background: #2D2928;  position: absolute;  top: 0;  left: 50%;  transform: translateX(-50%);}.medical_subttl::after {  content: "";  width: 10vw;  height: 3px;  background: #2D2928;  position: absolute;  bottom: 0;  left: 50%;  transform: translateX(-50%);}.med_box {  width: 24%;}.med_img {  margin-bottom: 30px;}.med_boxttl {  font-size: 24px;  text-align: center;  margin-bottom: 30px;  font-weight: 600;  letter-spacing: 0.1em;  color: #282B4F;}.med_box p {  font-size: 18px;  letter-spacing: 0.1em;  line-height: 1.6;}.access_txt {  max-width: 800px;  padding: 4vw;  background: #EBECF6;  text-align: center;  margin: 30px auto 0;  width: 100%;}footer .row {  align-items: center;}/* スライダー全体 */.slider{  position: absolute;  top: 0;  left: 0;  overflow: hidden;  width: 100%;  height: 54vw;  z-index: -1;}/* スライダー画像 */.slider .image{  position: absolute;  z-index: 1;  top: 0;  left: 0;  width: 100%;  height: 100%;  opacity: 0;  background-repeat: no-repeat;  background-position: center center;  background-size: cover;}/*  ①スライド画像  表示する画像を定義*/.slider .image:nth-of-type(1){  background-image: url("../images/main.png");}.slider .image:nth-of-type(2){  animation-delay: 4s;  background-image: url("../images/main02.png");}.slider .image:nth-of-type(3){  animation-delay: 8s;  background-image: url("../images/main03.png");}/*  ②アニメーション設定  animation-durationのみ変更*/.slider .image{  animation-name: anime;  animation-delay: 0;  animation-iteration-count: infinite;  animation-duration: 12s;  /* ①で設定したanimation-delayを合計を挿入 */}/* アニメーション定義 */@keyframes anime {  0% {    opacity: 0;  }  50% {    opacity: 1;  }  100% {    opacity: 0;  }}@media screen and (max-width: 767px) {    .treatment_txt {  width: 100%;}    .treatment_img {  width: 100%;}    .flex_couseling ul {  flex-wrap: wrap;}    .flex_couseling ul li    {        width: calc(50% - 20px);    }    .facility_txt {  width: 100%;}    .facility_img {  width: 100%;}    .facility_bg .facility_txt {  padding-left: 0;}    .facility_bg::before {  content: "";  height: 80%;  max-width: 106%;        width: 106%;}    .facility {  padding: 80px 3% 0;}    .facility_bg {  padding: 50px 3% 0;  position: relative;}    .message_txt {  width: 100%;}    .message_img {  width: 100%;}    .trouble_check li::before{    width: 16px;    height: 16px;    left: 5px;}    .trouble ul.flex li {  width: 100%;}    .map_btn {  max-width: 240px;  top: 86%;  right: 20%;  z-index: 1;}    .content-bg h2.heading-1    {        font-size: max(4vw , 1.8rem);    }}.h2_ttl{    background: url("../images/u_main_bg.png") no-repeat center / cover;    text-align: center;    font-size: max(2.4vw , 20px);    display: flex;    align-items: center;    justify-content: center;    height: max(30vw , 400px);    color: #FFFFFF;    flex-direction: column;    padding-top: 8vw}.h2_ttl span{    font-size: max(1.2vw , 18px);    display: block;}.h2_ttl span:first-letter{    color: #E68700;}.sec{    padding: 80px 3% 50px;}.h3_ttl{    text-align: center;    font-size: max(2.4vw , 24px);    margin-bottom: 30px;    padding-bottom: 20px;    border-top: 1px solid #333333;    padding-top: 20px;}h4.ttl{    font-size: max(1.8vw, 20px);    color: #282B4F;  margin-bottom: 30px;}.name{    padding-top: 50px;}.sec .flex{    gap: 30px 50px;    justify-content: space-between;}.flex_txt{    width: calc(60% - 25px);}.flex_img{    width: calc(40% - 25px);}.bg-sec{    padding: 60px 3%;    background: #282B4F;}.flex-2{    width: calc(50% - 25px);}.bg-sec .flex-2{    background: #353859;    color: #FFFFFF;    padding: 2vw;}h5.ttl{    padding-bottom: 10px;    margin-bottom: 15px;    border-bottom: 1px solid #FFFFFF;}.flex.career p{    width: calc(50% - 25px);}.clinic_sec .logo_flex .header-text {  color: #FFFFFF;}.clinic_sec .header-text {  background: #282B4F;}.clinic_sec .table-schedule tbody th {  color: #282B4F;}.clinic_sec .table-schedule {  width: 100%;  border-bottom: 2px solid #282B4F;  border-top: 2px solid #282B4F;}.clinic_sec .table-schedule thead th {  color: #282B4F;  border-bottom: 1px solid #282B4F;}/*==================================================スライダーのためのcss===================================*//*画像の横幅を100%にしてレスポンシブ化*/.gallery img{	width: 80%;	height: auto;	vertical-align: bottom;/*画像の下にできる余白を削除*/    margin: 0 auto;}/*メイン画像下に余白をつける*/.gallery{	margin:0 0 5px 0;}.gallery li{list-style:none;}/*矢印の設定*//*戻る、次へ矢印の位置*/.slick-prev, .slick-next {    position: absolute;/*絶対配置にする*/	z-index: 3;    top: 42%;    cursor: pointer;/*マウスカーソルを指マークに*/    outline: none;/*クリックをしたら出てくる枠線を消す*/    border-top: 3px solid #E68700;/*矢印の色*/    border-right: 3px solid #E68700;/*矢印の色*/    height: 25px;    width: 25px;}.slick-prev {/*戻る矢印の位置と形状*/    left:2.5%;    transform: rotate(-135deg);}.slick-next {/*次へ矢印の位置と形状*/    right:2.5%;    transform: rotate(45deg);}/*選択するサムネイル画像の設定*/.choice-btn li{	cursor: pointer;	outline: none;	background:#333;list-style:none;}.choice-btn li img{	opacity: 0.4;/*選択されていないものは透過40%*/}.choice-btn li.slick-current img{	opacity: 1;/*選択されているものは透過しない*/}@media (max-width: 767px) {    .flex_txt {  width: 100%;}    .flex_img {  width: 100%;}    .flex-2 {  width: 100%;}    .flex.career p {  width: 100%;}    .container {  padding: 0;}}.flow{    background: #E9E9ED}.stage_inner{    max-width: 1540px;    margin: 0 auto;}.stage_wrap{    margin-bottom: 120px;    position: relative;}.stage_inner .stage_wrap:nth-child(1)::before{    content: "";    position: absolute;    bottom: -87px;    left: 50%;    transform: translateX(-50%);    background: url("../images/flow_arrow01.png") no-repeat center / contain;    width: calc(74 / 1920* 100vw);    max-width: 74px;    height: calc(67 / 1920* 100vw);    max-height: 67px;}.stage_inner .stage_wrap:nth-child(2)::before{    content: "";    position: absolute;    bottom: -87px;    left: 50%;    transform: translateX(-50%);    background: url("../images/flow_arrow02.png") no-repeat center / contain;    width: calc(74 / 1920* 100vw);    max-width: 74px;    height: calc(67 / 1920* 100vw);    max-height: 67px;}.stage_ttl{    display: flex;    gap: 30px;    align-items: center;    justify-content: flex-start;    margin-bottom: 30px;}.stage_num{    background: #282B4F;    color: #FFFFFF;    font-size: max(1vw , 20px);    width: 250px;    text-align: center;    padding: 5px 20px;    border-radius: 10px;    letter-spacing: .1em;}.stage_ttl h4.h4{    font-size: max(1.2vw , 24px);}.stage_inner .stage_wrap:nth-child(3) .stage_num{    background: #E68700;}.stage_inner .stage_wrap:nth-child(3) .stage_ttl h4.h4{    color: #E68700;}.stage_inner .stage_wrap:nth-child(3) p{    color: #E68700;}@media (max-width: 767px) {    .stage_ttl{    flex-wrap: wrap;}    .stage_ttl h4.h4    {        width: 100%;    }    .stage_inner .stage_wrap:nth-child(1)::before{    content: "";    position: absolute;    bottom: -67px;    left: 50%;    transform: translateX(-50%);    background: url("../images/flow_arrow01.png") no-repeat center / contain;    width: calc(74 / 900* 100vw);    max-width: 74px;    height: calc(67 / 900* 100vw);    max-height: 67px;}.stage_inner .stage_wrap:nth-child(2)::before{    content: "";    position: absolute;    bottom: -67px;    left: 50%;    transform: translateX(-50%);    background: url("../images/flow_arrow02.png") no-repeat center / contain;    width: calc(74 / 900* 100vw);    max-width: 74px;    height: calc(67 / 900* 100vw);    max-height: 67px;}}.flow_wrap{    background: #E9E9ED;    padding: 30px 3vw;    margin-bottom: 100px;    position: relative;}.flow_wrap:last-child{    margin-bottom: 0;}.flow_wrap::before{    content: "";    position: absolute;    bottom: -60px;    left: 50%;    transform: translateX(-50%);    background: url("../images/flow_arrow.png") no-repeat center / contain;    width: 54px;    height: 20px;}.flow_wrap:last-child::before{    display: none;}.flow_ttl{    display: flex;    flex-wrap: wrap;    gap: 20px 30px;    align-items: center;    justify-content: flex-start;    margin-bottom: 30px;}.flow_ttl .ttl{    margin-bottom: 0;}.flow_num{    width: calc(73 / 1920* 100vw);    max-width:  73px;    height: calc(74 / 1920* 100vw);    max-height: 74px;    background: url("../images/num_bg.png") no-repeat center / contain;    text-align: center;    display: flex;    align-items: center;    justify-content: center;    color: #FFFFFF;    font-size: max(1vw , 20px);    min-height: 50px;    min-width: 50px;}.price{    max-width: 1180px;    margin: 0 auto;    display: flex;    flex-wrap: wrap;    text-align: center;}.price dt{    width: 50%;    background: #282B4F;    padding: 10px;    color: #FFFFFF;}.price dd{    width: 50%;    padding: 10px;    border: 1px solid #333333;}.price span{    font-size: 14px;}@media (max-width: 767px) {    .price dt {  width: 100%;}    .price dd {  width: 100%;}}.cp_qa03 .cp_actab {  position: relative;  width: 100%;  margin: 0 0 1em 0;  color: #1b2538;}.cp_qa03 .cp_actab input {  display: none;}/* 質問 */.cp_qa03 .cp_actab label {  font-weight: bold;  line-height: 1.6em;  position: relative;  display: block;  margin: 0 0 0 0;  cursor: pointer;  text-indent: 1em;  background: #535572;    color: #FFFFFF;    padding: 20px 36px 20px 10px;    font-size: max(1.2vw , 20px);}.cp_qa03 .cp_actab label::before {  content: 'Q';  font-family: serif;  font-size: 1.5em;    margin-right: 20px;}.cp_qa03 .cp_actab label:hover {  transition: all 0.3s;}/* --質問の＋アイコン */.cp_qa03 .cp_actab label::after {  position: absolute;  top: 0;  right: 0;  content: '+';  font-size: 1.6em;  font-weight: bold;  line-height: 2em;  display: inline-block;  width: 2em;  height: 2em;  transition: transform 0.3s;}/* 答え */.cp_qa03 .cp_actab .cp_actab-content {  position: relative;  overflow: hidden;  max-height: 0;  padding: 0 0 0 2.5em;  transition: max-height 0.2s;}.cp_qa03 .cp_actab .cp_actab-content::before {  position: absolute;  content: 'A';  font-family: serif;  font-size: 1.5em;  margin: 0.4em 0 0 -1em;  padding: 0;}.cp_qa03 .cp_actab .cp_actab-content p {  margin: 1em 1em 1em 0;}/* 質問を開いた時の仕様 *//* --答えの高さ */.cp_qa03 .cp_actab input:checked ~ .cp_actab-content {  max-height: 40em;  padding: 30px 20px 30px 50px;    background: #E9E9ED;}/* 質問をクリックした時のアイコンの動き */.cp_qa03 .cp_actab input:checked ~ label {}/* 質問をクリックした時の+の動き */.cp_qa03 .cp_actab input[type=checkbox]:checked + label::after {  transform: rotateZ(45deg);  transform-origin: 50% 50%;}.implant_bg{    position: relative;}.implant_bg::before{    content: "";    position: absolute;    left: 0;    top: 0;    background: url("../images/implant_deco.png") no-repeat center / contain;    width: calc(745 / 1920* 100vw);    max-width: 745px;    height: calc(275 / 1920* 100vw);    max-height: 275px;    z-index: -1;}.impalant_treatment{    background: url("../images/implant_treatment_bg.png")no-repeat center / cover;}.implant_treatment_ttl{    position: relative;    margin-bottom: 30px;}.treatment_ttl{    font-size: max(5vw , 30px);    text-align: center;    color: #282B4F;    line-height: 1;    letter-spacing: 0.1em;}.treatment_ttl:first-letter{    color: #E68700}.implant_treatment_ttl p.sub{    font-size: max(1.4vw , 20px);    position: absolute;    bottom: 20px;    left: 50%;    transform: translateX(-50%);    width: 100%;}.treatment_flex_txt{    width: 60%;}.l_ttl{    font-size: max(1.2vw , 20px);    margin-bottom: 30px;    padding-left: 20px;    position: relative;    line-height: 1;}.l_ttl::before{    content: "";    position: absolute;    left: 0;    top: 0;    height: 100%;    width: 9px;    background: #282B4F;}.bg_area .flex{    margin-bottom: 50px;}.bg_d_blue{    background: #282B4F;    padding: 50px 30px 30px;    position: relative;    margin-top: 100px;}.bg_g_blue{    background: #A78B5B;    padding: 50px 30px 30px;    position: relative;    margin-top: 100px;}.bg_d_blue .treatment_ttl , .bg_g_blue .treatment_ttl{    position: absolute;    top: -5vw;    right: 50px;    line-height: 1.4;    letter-spacing: .2em;}@media (max-width: 767px) {    .trouble_check li {  padding: 10px 10px 10px 25px;}    .bg_d_blue .treatment_ttl, .bg_g_blue .treatment_ttl {  top: -8vw;}    .treatment_flex_txt {  width: 100%;}    .bg_area .flex    {        gap: 30px 50px;    }    .bg_d_blue .trouble_check, .bg_g_blue .trouble_check {  padding: 0;}}.case_bg{    background: #E9E9ED;    padding: 50px 5vw;}.case_wrap{    margin-bottom: 50px;}.case_wrap:last-child{    margin-bottom: 0;}.case_ttl{    text-align: center;    font-size: max(1.6vw , 20px);    padding-bottom: 20px;    margin-bottom: 30px;    position: relative;}.case_ttl::before{    content: "";    left: 0;    bottom: 0;    height: 1px;    width: 100%;    background: #333333;    position: absolute;}.case_wrap img {  margin: 0 auto;  display: block;}.fadeUpTrigger{opacity: 0;}.fadeUp {    animation-name: fadeUpAnime;    animation-duration:2s;    animation-fill-mode:forwards;    opacity: 0;}@keyframes fadeUpAnime{from {    opacity: 0;    transform: translateY(100px);}to {    opacity: 1;    transform: translateY(0);}}
/* 隠しテキスト用H1（画面には表示せず、検索エンジン・音声読み上げには読ませる） */
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}
