@charset "utf-8";
*, *::before, *::after  {
   box-sizing: border-box;
}
:root:focus-within {
   scroll-behavior: smooth;
}
@media screen and (min-width: 751px) {
   html {
      scroll-padding-top: 54px;
   }
}
body {
   margin: 0;
   padding: 0;
   font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
   background-color: #00B9E7;
   letter-spacing : 0.2em;
}
header {
   padding: 20px 4% 10px;
   position: fixed;
   top: 0;
   width: 100%;
   background-color: transparent;
   display: flex;
   align-items: center;
   background-color: #00B9E7;
   z-index: 100;
    }
header h1 {
   margin: 0; padding: 0;
   font-size: 20px;
}

header a { 
   text-decoration: none;
   color: #fff;
}
header nav {
   margin: 0 0 0 auto;
}
header ul {
   list-style: none;
   margin: 0;
   display: flex;
}
header li {
   margin: 0 0 0 15px;
   font-size: 14px;
}

header h2 {
   margin: 0;
   font-size: 30px;
   font-weight: normal;
   color: #fff;
}
h3{
   font-size:18px;
}
header .pc-nav li {
   font-size: min(1.6vw, 14px);
}

.sp-nav {
   display: none;
}

footer{
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
  margin:0 0 4%;
      text-align: center;
      font-size: 15px;
      font-weight: 500;
      line-height: 2;
      color:#162A5F;
}
footer a{
   display: inline-block;
   margin: .25em .5em;
   color:#162A5F;
}

.main_pc{
     width: 90%;
     margin: 80px auto 40px;
}

.main_pc img{
  width:100%;
}

@media screen and (min-width: 751px) {
 .main_sp{
   display: none;
}
footer a{
   margin: .25em 1em;
}
}

@media screen and (max-width: 750px) {
h3{
   font-size:14px;
}

header {
   background-color: transparent;

    }

   .pc-nav {
      display: none;
   }
   .sp-nav {
      z-index: 1;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      display: block;
      width: 100%;
      background: rgba(0, 0, 0, .8);
      opacity: 0;
      transform: translateY(-100%);
      transition: all .2s ease-in-out;
   }
   #hamburger {
      position: relative;
      display: block;
      width: 50px;
      height: 50px;
      margin: 0 0 0 auto;
   }
   #hamburger span img{
      width: 100%;
   }
   /*#hamburger {
      position: relative;
      display: block;
      width: 30px;
      height: 25px;
      margin: 0 0 0 auto;
   }
   #hamburger span {
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 100%;
      height: 2px;
      background-color: #fff;
      transform: translateY(-50%);
   }
   #hamburger::before {
      content: '';
      display: block;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #fff;
   }
   #hamburger::after {
      content: '';
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 70%;
      height: 2px;
      background-color: #fff;
   }*/
   /*スマホメニュー*/
   .sp-nav ul {
      padding: 0;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 100%;
   }
   .sp-nav li {
      margin: 0;
      padding: 0;
   }
   .sp-nav li span {
      font-size: 15px;
      color: #fff;
   }
   .sp-nav li a, .sp-nav li span {
      display: block;
      padding: 20px 0;
   }
   /*-閉じるアイコンー*/
   .sp-nav .close {
      position: relative;
      padding-left: 20px;
   }
   .sp-nav .close::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #fff;
      transform: rotate( 45deg );
   }
   .sp-nav .close::after {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      display: block;
      width: 16px;
      height: 1px;
      background: #fff;
      transform: rotate( -45deg );
   }
   .toggle {
      transform: translateY( 0 );
      opacity: 1;
   }
   .main-visual {
      padding: 0 4%;
   }
   h2 {
      line-height: 1.6;
      text-align: center;
   }
.main_sp{
     width: 100%;
     margin: 0 auto;
}

.main_sp img{
  width:100%;
}
.main_pc{
   display: none;
}

  footer{
  margin:30px 0 80px;
      text-align: center;
      font-size: 11px;
      font-weight: 600;
      line-height: 2;
      color:#162A5F;
}
}

.footer-sns {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
   padding-bottom: 5rem;
}
.footer-sns a {
   display: inline-flex;
   width: calc(86.67% + 2rem);
   max-width: 430px;
   padding: .5em 1em;
   margin: .25rem 1rem;
   align-items: center;
   justify-content: space-between;
   text-align: center;
   background-color: #fff;
   border: 1px solid #707070;
   border-radius: 10px;
   color: #000;
   text-decoration: none;
   font-weight: 700;
   font-size: 26px;
   letter-spacing: 0;
}
.footer-sns a i {
   display: block;
   width: .8125em;
   height: .8125em;
}
.footer-sns a i img {
   display: block;
   width: 100%;
}
.footer-sns a span {
   display: block;
   width: calc(100% - 1em);
}
.fixed-trial-btn {
   position: fixed;
   right: 2rem;
   bottom: 2rem;
   z-index: 100;
}
.fixed-trial-btn a {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 5em;
   height: 5em;
   border-radius: 50%;
   background-color: #e50065;
   color: #fff;
   font-weight: 700;
   text-decoration: none;
   line-height: 1.4;
   font-size: 24px;
   font-size: min(2.4vw,24px);
}
@media (hover:hover) {
   .footer-sns a {
      transition: background-color .3s ease-in-out;
   }
   .footer-sns a:hover {
      background-color: rgba(255,255,255,0.8);
   }
   .fixed-trial-btn a {
      transition: transform .3s ease-in-out;
   }
   .fixed-trial-btn a:hover {
      transform: scale(1.1) rotate(5deg);
   }
}
@media screen and (max-width: 750px) {
   .footer-sns a {
      font-size: 5.33vw;
      font-size: min(5.33vw, 26px);
   }
   .fixed-trial-btn {
      right: 10px;
      bottom: 10px;
   }
   .fixed-trial-btn a {
      font-size: 3.6vw;
   }
}

.main-Contents {
   letter-spacing: 0;
   color: #162A5F;
}
.main-Contents img {
   max-width: 100%;
}
#home-main {
   margin: 0 auto;
}
#home-main img {
   display: block;
   width: 100%;
}
#home-main .logo {
   margin-bottom: 8%;
}
#home-main .grandopen {
   color: #e50065;
   font-weight: 700;
   font-size: 28px;
   font-size: 2.6vw;
   margin: 0;
}
#home-main .time {
   color: #162A5F;
   font-size: 18px;
   font-size: 1.8vw;
   margin: 0;
}
#home-main .open img {
   display: block;
   width: 100%;
}
.home-sec:focus {
   outline: none;
}
.home-sec {
   margin: 180px auto 0;
}
.home-sec h2 {
   font-size: 36px;
   font-size: min(3.6vw,36px);
   margin-bottom: 1.5em;
   text-align: center;
}
#cta {
   background-color: #fff;
}
#cta.home-sec h2 {
   margin: 0;
   line-height: 1.2;
}
#cta h2 .sub {
   display: block;
   margin-top: .6em;
   padding: .5em;
   background-color: #e50065;
   color: #fff;
}
#cta h2 .num {
   font-size: 120%;
}
#cta h2 .ib {
   display: inline-block;
}
#cta .info p {
   margin: 0 0 1em;
}
#cta .link {
   text-align: right;
}
#cta .link a {
   display: inline-flex;
   column-gap: .5em;
   align-items: center;
   color: #e50065;
   font-size: 105%;
   font-weight: 700;
   text-decoration: none;
}
#cta .link a i {
   position: relative;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   width: 1.2em;
   height: 1.2em;
   background-color: #e50065;
   border-radius: 50%;
   font-style: normal;
   transition: transform .3s ease-in-out;
}
#cta .link a i::before {
   content: "\025b6";
   color: #fff;
   font-size: 50%;
}
@media (hover:hover) {
   #cta .link a:hover {
      text-decoration: underline;
   }
   #cta .link a:hover i {
      transform: scale(1.1);
   }
}
.about-lead {
   font-weight: 700;
   line-height: 2.4;
   font-size: 18px;
}
.about-lead > p:last-child {
   font-size: 130%;
   margin-bottom: 0;
}
.about-outline {
   margin: 100px auto 0;
   padding: 2rem 3rem;
   background-color: rgba(255,255,255,0.74);
}
.about-outline h3 {
   text-align: center;
}
.about-outline ul {
   list-style: none;
   padding: 0;
   margin: 0;
   line-height: 1.8;
}
.about-outline ul > li {
   padding-left: 1.5em;
   border-left: 4px solid #162A5F;
   font-weight: 700;
}
.about-outline ul > li + li {
   margin-top: 2em;
}
.about-outline ul > li p {
   margin: 1em 0 0;
   padding-left: 1em;
   text-indent: -1em;
   font-size: 85%;
}
.about-outline ul > li p + p {
   margin-top: 0;
}
.about-outline .red {
   color: #e50065;
}
#recommend {
   position: relative;
}
#recommend > * {
   position: relative;
   z-index: 5;
}
#recommend.home-sec h2 {
   text-align: left;
   text-shadow: 0 0 5px #fff;
}
.recommend-list,
.recommend-msg {
   font-weight: 700;
}
.recommend-list {
   padding: 0;
   list-style: none;
   line-height: 1.6;
}
.recommend-list > li + li {
   margin-top: .8em;
}
.recommend-list p {
   max-width: 30em;
   margin: 0;
   padding: .2em 1.25em;
   color: #000;
   background-color: #fff;
   border-radius: 100vh;
   border: 1px solid #ddd;
}
.recommend-list > li > p:nth-of-type(2) {
   background-color: #00ADE3;
   color: #fff;
   border-color: #00ADE3;
   margin-top: .4em;
   margin-left: 4em;
}
.recommend-msg  {
   margin: 2em 0 0;
   font-size: 160%;
   color: #fff;
}
#recommend > .recommend-bg {
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   pointer-events: none;
   z-index: 1;
}
.costs {
   background-color: #fff;
   padding: 2rem;
}
.costs ul {
   padding: 0;
   margin: 0;
   list-style: none;
   line-height: 1.4;
   font-weight: 700;
   font-size: 85%;
}
.costs .running ul > li,
.costs .option ul > li {
   display: flex;
   flex-wrap: wrap;
}
.costs ul > li + li {
   margin-top: .8em;
   padding-top: .8em;
   border-top: 1px solid rgba(0, 185, 231, 0.25);
}
.costs .running ul > li > span:first-child {
   width: 4em;
   white-space: nowrap;
}
.costs .running ul > li > span:nth-child(2) {
   width: calc(100% - 10em);
}
.costs .running ul > li > span:last-child {
   width: 6em;
   text-align: right;
}
.costs .option ul > li > span:first-child {
   width: 2em;
   white-space: nowrap;
}
.costs .option ul > li > span:nth-child(2) {
   width: calc(100% - 8em);
}
.costs .option ul > li > span:last-child {
   width: 6em;
   text-align: right;
}
.costs-note {
   text-align: right;
   font-size: 85%;
}
.trial-btn,
.contact-btn {
   text-align: center;
   padding: 2rem 0;
}
.trial-btn a,
.contact-btn a {
   display: block;
   margin: 0 auto;
   width: 88%;
   max-width: 500px;
   border-radius: .5rem;
   text-decoration: none;
   font-weight: 700;
   transition: background-color .3s ease-in-out, border .3s ease-in-out, color .3s ease-in-out;
}
.trial-btn a {
   padding: 1em;
   background-color: #e50065;
   color: #fff;
}
.contact-btn {
   padding-top: 0;
}
.contact-btn a {
   background-color: #fff;
   padding: .8em 1em;
   color: #333;
   border: 1px solid #707070;
}
@media (hover:hover) {
   .trial-btn a:hover {
      background-color: #c60000;
   }
   .contact-btn a:hover {
      border-color: #fff;
      background-color: rgba(255,255,255,0.5);
   }
}
#access {
   background-color: #fff;
}
.access-wrap .gmap {
   position: relative;
   padding-bottom: 75%;
}
.access-wrap .gmap iframe {
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
}
.access-wrap .ph figcaption,
.access-wrap .info p {
   font-weight: 700;
   line-height: 1.8;
}
.access-wrap .ph {
   margin: 0;
   padding: 0;
}
.access-wrap .ph figcaption {
   margin-top: .5em;
}
@media print,screen and (min-width: 751px) {
   .only-sp {
      display: none;
   }
   .main-Contents {
      margin: calc(80px + 6%) 0 4%;
   }
   #home-main {
      width: 88%;
      display: flex;
      justify-content: space-between;
      flex-direction: row-reverse;
   }
   .home-sec {
      width: 88%;
   }
   #access.home-sec {
      width: auto;
      padding: 80px 10%;
   }
   #home-main .lead,
   #home-main .main {
      width: 48%;
   }
   #cta {
      padding: 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
   #cta > * {
      width: calc(50% - 1rem);
   }
   #cta h2 .main {
      font-size: 54px;
      font-size: min(5vw,54px);
   }
   #cta h2 .sub {
      font-size: 24px;
      font-size: min(2.2vw,24px);
   }
   #cta .info p {
      font-size: 22px;
      font-size: min(1.8vw,22px);
   }
   #about {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
   }
   .about-heading {
      max-width: 40%;
      display: flex;
      flex-direction: column;
      justify-content: center;
   }
   #about.home-sec .about-heading h2 {
      margin: auto 0;
      padding: 1em 0;
   }
   .about-heading .img {
      margin-top: auto;
      margin-bottom: 0;
   }
   .about-lead {
      max-width: 56%;
      font-size: 90%;
   }
   .about-outline {
      width: 100%;
   }
   .about-outline h3 {
      font-size: 22px;
   }
   #recommend {
      padding: 4rem 1.5rem 12rem 3rem;
   }
   .recommend-msg {
      text-shadow: 0 0 5px #007e1d;
   }
   #recommend > .recommend-bg {
      height: 100%;
   }
   .recommend-bg img {
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center top
   }
   .costs {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
   }
   .costs .initial {
      width: 100%;
      margin-bottom: 2em;
   }
   .costs .running,
   .costs .option {
      width: 48%;
      max-width: 550px;
   }
   #free-trial.home-sec h2 {
      font-size: 28px;
      font-size: min(3vw,28px);
   }
   .trial-btn {
      font-size: 24px;
      font-size: min(2.8vw,24px);
   }
   .access-wrap {
      display: flex;
      justify-content: space-between;
   }
   .access-wrap .map {
      width: 58%;
   }
   .access-wrap .gmap {
      position: relative;
   }
   .access-wrap .info {
      width: 38%;
      font-size: 16px;
      font-size: min(1.4vw, 16px);
   }
}
@media print,screen and (min-width: 1180px) {
   #home-main {
      width: 80%;
   }
   .home-sec {
      width: 80%;
   }
   #access.home-sec {
      width: auto;
   }
   .about-lead {
      font-size: 100%;
   }
   #recommend {
      font-size: 18px;
      font-size: min(2vw,18px);
   }
   .costs ul {
      font-size: 100%;
   }
}
@media screen and (max-width: 750px) {
   .only-pc {
      display: none;
   }
   .main-Contents {
      margin: 24% auto 12%;
   }
   #home-main {
      width: 88%;
      text-align: center;
   }
   #home-main .lead {
      margin-bottom: 20%;
   }
   #home-main .grandopen {
      font-size: 5.8vw;
   }
   #home-main .time {
      font-size: 3.7vw;
   }
   .home-sec {
      margin-top: 12%;
      font-size: 3.46vw;
   }
   #cta.home-sec,
   #plan.home-sec {
      width: 88%;
   }
   .home-sec h2 {
      font-size: 5.33vw;
   }
   #cta {
      padding: 4%;
   }
   #cta h2 .main {
      font-size: 9.6vw;
   }
   #cta h2 .sub {
      padding: .5em .25em;
      font-size: 4.26vw;
   }
   #cta .info {
      margin-top: 4%;
   }
   #cta .info p {
      font-size: 3.73vw;
   }
   .about-lead {
      padding: 2% 6% 0;
      font-size: 3.73vw;
   }
   .about-outline {
      width: 88%;
      padding: 1rem;
      margin: 10% auto 0;
   }
   .about-outline h3 {
      font-size: 4.26vw;
   }
   .about-outline ul > li {
      padding-left: 1em;
      border-left: 2px solid #162A5F;
   }
   .about-outline ul > li + li {
      margin-top: 1.5em;
   }
   #recommend {
      font-size: 3.73vw;
   }
   #recommend h2 {
      display: flex;
      align-items: center;
      justify-content: center;
      width: 55%;
      margin-left: auto;
      height: 54.36vw;
   }
   .recommend-list {
      width: 88%;
      margin: 0 auto;
   }
   .recommend-list p {
      max-width: none;
      margin: 0 2.5em 0 0;
      padding: .4em 1.5em;
   }
   .recommend-list > li > p:nth-of-type(2) {
      margin: .4em 0 0 2.5em;
      background-color: #1b98be;
   }
   .recommend-msg  {
      width: 88%;
      margin-left: auto;
      margin-right: auto;
      font-size: 120%;
      color: #fff;
      text-align: center;
   }
   .costs {
      padding: 1rem;
   }
   .costs .running,
   .costs .option {
      margin-top: 12%;
   }
   .trial-btn {
      padding: 2em 0;
      font-size: 4.8vw;
   }
   #access {
      padding: 6%;
   }
   .access-wrap .info {
      margin-top: 6%;
   }
}

#otherservice {
   text-align: center;
}
.otherservice-block {
   margin: 0 auto;
   text-align: left;
   background-color: #fff;
}
.otherservice-block .title {
   padding: 0 0 0 .75rem;
   margin: 0 0 1.5rem;
   text-align: left;
   line-height: 1.2;
   border-left: 4px solid #152a5f;
}
.otherservice-block .price {
   display: flex;
   flex-wrap: wrap;
   font-weight: 700;
   margin: 0;
}
.otherservice-block .price dt,
.otherservice-block .price dd {
   margin: 0;
   padding: 1.25em .75em;
}
.otherservice-block .price dt:nth-of-type(n+2),
.otherservice-block .price dd:nth-of-type(n+2) {
   border-top: 1px solid #cfedf9;
}
.otherservice-block .price dt {
   width: calc(100% - 8em);
   padding-right: 1em;
}
.otherservice-block .price dd {
   width: 8em;
}
.otherservice-block .thumb {
   display: flex;
   flex-wrap: wrap;
}
.otherservice-block .thumb > * {
   width: 50%;
}
.otherservice-block .note {
   margin: .5em 0 0;
   font-size: .875rem;
   text-align: right;
}
#otherservice .msg {
   margin: 1.6em 0 0;
   font-weight: 700;
   line-height: 1.33;
}
#otherservice .btn {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   margin-top: 50px;
}
#otherservice .btn a {
   display: inline-flex;
   width: calc(86.67% + 2rem);
   max-width: 420px;
   padding: .25em 1em;
   margin: .25rem 1rem;
   align-items: center;
   justify-content: space-between;
   text-align: center;
   border: 1px solid #fff;
   background-color: #fff;
   border-radius: 10px;
   color: #000;
   text-decoration: none;
   font-weight: 700;
   font-size: 26px;
   letter-spacing: 0;
   transition: background-color .3s ease-in-out;
}
#otherservice .btn a i {
   display: block;
   width: .8125em;
   height: .8125em;
}
#otherservice .btn a i img {
   display: block;
   width: 100%;
}
#otherservice .btn a span {
   display: block;
   width: calc(100% - 1em);
}
@media print, screen and (min-width: 751px) {
   .otherservice-block {
      padding: 2.5rem 2.5rem 2.5rem 3.5rem;
      display: flex;
      justify-content: space-between;
   }
   .otherservice-block + .otherservice-block {
      margin-top: 40px;
   }
   .otherservice-block .col {
      width: 49%
   }
   .otherservice-block .title {
      margin-left: -1rem;
      font-size: 27px;
      font-size: min(2.7vw, 27px);
   }
   .otherservice-block .desc {
      font-size: 20px;
      font-size: min(2vw, 20px);
   }
   .otherservice-block.acupuncture .desc {
      max-width: 17em;
   }
   .otherservice-block .thumb {
      max-width: 300px;
   }
   .otherservice-block.pilates .col {
      width: 56%;
   }
   .otherservice-block.pilates .col:nth-of-type(even) {
      width: 42%;
   }
   .otherservice-block.pilates .thumb {
      margin-left: auto;
      padding-top: 1rem;
   }
   #otherservice .msg {
      font-size: 30px;
      font-size: min(3vw, 30px);
   }
}
@media screen and (max-width: 750px) {
   .otherservice-block {
      width: 88%;
      padding: 4%;
   }
   .otherservice-block + .otherservice-block {
      margin-top: 6%;
   }
   .otherservice-block .title {
      margin-bottom: .5em;
   }
   #otherservice .msg {
      font-size: min(4.8vw, 24px);
   }
   #otherservice .btn {
      margin-top: 6%;
   }
   #otherservice .btn a {
      font-size: 5.33vw;
      font-size: min(5.33vw, 26px);
   }
}
@media (any-hover: hover) {
   #otherservice .btn a:hover {
      background-color: rgba(255,255,255,0.5);
   }
}

.footer-banner {
   padding-top: 1rem;
   margin-bottom: 3.5rem;
}
.footer-banner .bnr {
   display: flex;
   width: calc(86.67% + 1rem);
   margin: 0 auto;
   color: #fff;
   text-decoration: none;
   background-color: #09122e;
   transition: opacity .3s ease-in-out;
}
.footer-banner .bnr img {
   max-width: 100%;
}
.footer-banner .bnr .logo,
.footer-banner .bnr .text {
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
}
.footer-banner .bnr .logo > span {
   display: block;
}
.footer-banner .bnr .text {
   text-align: center;
   font-weight: 700;
   line-height: 1.3;
}
.footer-banner .bnr .text p {
   margin: 0;
}
.footer-banner .bnr .ph img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: left center;
}
.footer-banner .bnr .text .place {
   text-decoration: underline;
}
@media print, screen and (min-width: 751px) {
   .footer-banner .bnr .logo,
   .footer-banner .bnr .ph {
      width: 19%;
   }
   .footer-banner .bnr .logo > span {
      max-width: 132px;
   }
   .footer-banner .bnr .text {
      width: 62%;
      padding: 0 1rem;
   }
   .footer-banner .bnr .text .sub {
      margin-bottom: .5rem;
      font-size: 18px;
      font-size: min(1.8vw, 18px);
   }
   .footer-banner .bnr .text .main {
      margin-bottom: .375rem;
      font-size: 30px;
      font-size: min(3vw, 30px);
   }
   .footer-banner .bnr .text .place {
      font-size: 20px;
      font-size: min(2vw, 20px);
   }
}
@media print, screen and (min-width: 1180px) {
   .footer-banner .bnr {
      width: 80%;
   }
}
@media screen and (max-width: 750px) {
   .footer-banner .bnr {
      flex-wrap: wrap;
   }
   .footer-banner .bnr .logo {
      width: 100%;
   }
   .footer-banner .bnr .logo > span {
      max-width: 80px;
      width: 20%;
   }
   .footer-banner .bnr .text {
      align-items: flex-start;
      padding: 0 0 1rem 1.25rem;
      width: 70%;
      text-align: left;
   }
   .footer-banner .bnr .text .sub {
      margin-bottom: .375rem;
      font-size: 12px;
      font-size: min(3.2vw, 16px);
   }
   .footer-banner .bnr .text .main {
      margin-bottom: .25rem;
      font-size: 18px;
      font-size: min(4.8vw, 22px);
   }
   .footer-banner .bnr .text .place {
      font-size: 14px;
      font-size: min(3.73vw, 18px);
   }
   .footer-banner .bnr .ph {
      width: 35%;
      margin-left: -5%;
   }
}
@media (any-hover: hover) {
   .footer-banner a.bnr:hover {
      opacity: .75;
   }
   .footer-banner a.bnr:hover .text .place {
      text-decoration: none;
   }
}