@charset "UTF-8";
/*============================================
start reset.css
============================================*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/**
 * Correct the line height in all browsers.
 * Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure {
  border: 0;
  font-size: 100%;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

ol, ul {
  list-style: none;
}

li, dd {
  list-style-type: none;
}

header, footer, nav, section, article, aside, figure, figcaption, main {
  display: block;
}

/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
  font-size: 2em;
}

/**
* Remove the gray background on active links in IE 10.
*/
a {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  background-color: transparent;
}

b,
strong {
  font-weight: bolder;
}

img {
  border-style: none;
  max-width: 100%;
  height: auto;
}

/**
* Change the font styles in all browsers.
* Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

/*============================================
end reset.css
============================================*/

html {
  font-size: 62.5%;
}

body {
  font-family: "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-size: 1.6em;
  font-weight: 500;
  color: #555;
}

a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

p {
  line-height: 1.5;
  margin-bottom: 1.5rem;
}

/*============================================
common
============================================*/
.wrap {
    width: 80%;
    max-width: 1000px;
    margin: 0 auto;
}

.flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex-half {
  width: 45%;
}

.flex-onethird {
  width: 30%;
}

.flex-type {
  width: 23%;
}
.space-aroud {

}

.title-heading2 {
  color: #5998c1;
  font-size: 4.5rem;
  text-align: center;
  margin-bottom: 5rem;
}

.width30 {
  width: 30%;
}
.width35 {
  width: 35%;
}
.width40 {
  width: 40%;
}
.width45 {
  width: 45%;
}
.width50 {
  width: 50%;
}
.width55 {
  width: 55%;
}
.width60 {
  width: 60%;
}
.width65 {
  width: 65%;
}
.width70 {
  width: 70%;
}

.mb10 {
  margin-bottom: 1rem;
}

.mb15 {
  margin-bottom: 1.5rem;
}

.mb20 {
  margin-bottom: 2rem;
}

.mb25 {
  margin-bottom: 2.5rem;
}

.mb30 {
  margin-bottom: 3rem;
}

.mb35 {
  margin-bottom: 3.5rem;
}

.mb40 {
  margin-bottom: 4rem;
}

.mb45 {
  margin-bottom: 4.5rem;
}

.mb50 {
  margin-bottom: 5rem;
}

.under-yellow {
  background: linear-gradient(transparent 50%, #ffff00 50%);
}

.bold {
  font-weight: 600;
}

.txt-center {
  text-align: center;
}

/*============================================
header
============================================*/
.top-header {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2rem 0 0;
}

.logo-header {
  max-width: 250px;
}

.tel-header {
  max-width: 260px;
}

.text-tel {
  font-size: 1.3rem;
  color: #707070;
  margin-bottom: 0.5rem;
  text-align: center;
}
/*============================================
counseling
============================================*/
.counseling {
  margin: 0 auto;
  padding: 10rem 0;
}

.counseling:last-of-type {
  margin: 0 auto;
  padding: 10rem 0;
}

.counseling .flex {
  justify-content: space-around;
}

.counseling-last {
  margin: 0 auto;
  padding: 5rem 0 10rem;
}

.counseling-last .flex {
  justify-content: space-around;
}

.flex-picture-counseling {
  width: 60%;
}

.flex-content-counseling {
  width: 35%;
}

.list-worries {
  position: relative;
  margin-top: 2rem;
}

.list-worries li {
  font-size: 1.7rem;
  line-height: 1.8;
  padding-bottom: 1rem;
  padding-left: 3rem;
  margin-bottom: 2rem;
  font-weight:600;
  border-bottom: dotted 2px #87CEFA;
}

.list-worries li::before {
  position: absolute;
  content: url(../image/checkbox.png);
  display: inline-block;
  width: 5px;
  height: 5px;
  left: 0;
}

.box-counseling {
  background: #f5f5f5;
  padding: 6rem 0;
}

.inner-box-counseling {
  width: 80%;
  margin: 0 auto;
}

.textarea-counseling {
  text-align: center;
  margin-bottom: 4rem;
}

.box-cta {
  background: #ffffff;
  padding: 2rem;
}

.tel-number {
  position: relative;
  font-size: 3rem;
  line-height: 1.6;
  padding-left: 5rem;
  padding-bottom: 1.7rem;
}

.tel-number::before {
  position: absolute;
  display: inline-block;
  left: 0;
  width: 2rem;
}

.title-heading2-counseling {
  color: #5998c1;
  font-size: 4rem;
  text-align: center;
  margin-bottom: 2rem;
  line-height: 1.25;
}

.title-heading3-counseling {
  font-size: 2.4rem;
  text-align: center;
  padding: 1.5rem 0 1rem;
}
.cta-btn {
  max-width: 320px;
}
.box-cta-container .box-cta.flex {
  justify-content: center;
  gap: 20px;
  padding: 4em 7em 0;
}

/*============================================
itero
============================================*/
.itero {
  padding: 8rem 0;
  background: #f5f5f5;
}

.title-heading2-itero {
  color: #5998c1;
  text-align: center;
  margin-bottom: 4rem;
  line-height: 1.25;
  font-size: 2.5vw;
}

.flex-content-itero {
  width: 50%;
}

.flex-picture-itero {
  width: 50%;  
}

.list-itero {
  margin-top: 4rem;
  border-left: thick solid #5998c1;
  padding-left: 10px;
}

.list-itero li {
  color: #5998c1;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.7;
}

.image-itero {
  position: relative;
}

.image-itero img {
  position: absolute;
  top: -15rem;
  right: 0;
  width: 80%;
}

/*============================================
worries
============================================*/
.worries {
  margin: 0 auto;
  padding: 10rem 0rem;
}

.inner-worries {
  margin: 0 auto;
  max-width: 750px;
}

.picture-worries {
  margin: 0 auto;
  margin-top: 4rem;
  width: 80%;
}

/*============================================
type
============================================*/
.type {
  margin: 0 auto;
  padding: 10rem 0;
  background-color: #f5f5f5;
  position: relative;
}

.type-inner {
  margin: 0 auto;
  max-width: 750px;
}

.type-inner img {
  margin-bottom: 3rem;
  width: 90%;
}
/*============================================
reason
============================================*/
.reason {
  margin: 0 auto;
  padding: 10rem 0rem 18rem;
}

.reason .title-heading2 {
  margin-bottom: 8rem;
}

.reason .flex:nth-of-type(odd) {
  flex-direction: row-reverse;
}

.inner-reason {
  margin: 0 auto;
  max-width: 750px;
}

.title-heading3-reason {
  color: #5998c1;
  font-weight: 600;
  font-size: 2.2rem;
  padding: 1rem;
  margin-bottom: 2rem;
  text-align: center;
  line-height: 1.3;
}

.element-reason {
  margin-bottom: 11.5rem;
}

.element-reason:last-of-type {
  margin-bottom: 0;
}

.flex-picture-reason {
  width: 55%;
}

.flex-content-reason {
  position: relative;
  width: 40%;
}

.text-content-reason {
  background-color: #ffffff;
  z-index: 100;
}

.text-reason {

}
.figure {
  display:block;
  width:40px;
  height:40px;
  margin:1em auto;
  line-height:40px;
  background:#5998c1;
  border-radius:100%;
  color:#fff;
  font-size:2rem;
  font-weight:bold;
  text-decoration:none;
  text-align:center;
}

/*============================================
menu
============================================*/
.menu {
  margin: 0 auto;
  padding-bottom: 2rem;
  background-color: #f5f5f5;
}

.title-menu {
  margin-bottom: 3rem;
}

.flex-content-menu {
  width: 45%;
  margin-bottom: 5rem;
}

.title-heading3-menu {
  color: #5998c1;
  font-size: 2.5rem;
  text-align: center;
  margin: 2rem 0;
}

/*============================================
treatment
============================================*/
.treatment {
  position: relative;
  background: url(../image/dot.png);
  background-repeat: repeat;
  background-size: 15%;
  padding: 10rem 0 5rem;
}

.treatment .flex:nth-of-type(even) {
  flex-direction: row-reverse;
}

.inner-treatment {
  margin: 0 auto;
  max-width: 750px;
}

.flex-picture-treatment {
  width: 40%;
  text-align: center;
}

.flex-content-treatment {
  width: 55%;
}

.title-heading3-treatment {
  color: #5998c1;
  font-size: 2.5rem;
  text-align: center;
  margin: 2rem 0;
}

.element-treatment {
  margin-bottom: 5rem;
}

/*============================================
costs
============================================*/
.costs {
  position: relative;
  background-repeat: repeat;
  background-size: 15%;
  padding: 6rem 0 0;
}

.text-sub-costs {
  margin: 0 auto;
  margin-top: 2rem;
}

.text-sub-costs p {
  font-size: 1.3rem;
  margin: 0 auto;
}


table {
  margin: 20px auto;
  width: 100%;
}
.tbl-r02 th {
  background: #f5f5f5;
  color: #505050;
  padding: 10px;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.5;
}
.tbl-r02 td {
  background: #fff;
  padding: 10px;
  font-weight: 500;
  font-size: 1.4rem;
  line-height: 1.5;
}
 


.info-box-costs {
  margin-top: 3rem;
  background: #f5f5f5;
  padding: 2rem;
}

.title-heading3-costs {
  font-size: 3.5rem;
  color: #5998c1;
  text-align: center;
  margin: 4.5rem 0 2.8rem;
}

.inbox-costs {
  background: #5998c1;
}

.text-inbox-costs {
  font-size: 2rem;
  color: #5998c1;
  font-weight: 600;
  text-align: center;
}

.info-area-costs {
  width: 80%;
  margin: 0 auto;
}

.picture-costs {
  margin-bottom: 2rem;
}

.text2-sub-costs {
  color: #505050;
  font-size: 1.5rem;
  margin-bottom: 0.8rem;
}

/*============================================
qanda
============================================*/
.qanda {
  margin: 0 auto;
  padding: 10rem 0rem 5rem;
}

/*============================================
faq
============================================*/
.p-top__faq {
  background: #FAFAFA;
}
.p-top__faq .l-container {
  max-width: 1186px;
}

.item-qanda {
  background: #fff;
}
.item-qanda + .item-qanda {
  margin-top: 2.8rem;
}

.text-question {
  position: relative;
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1;
  padding: 1em 1em 0.8em 2.6em;
  border-bottom: 0.5px solid rgba(112, 112, 112, 0.5);
}
.text-question span {
  display: inline-block;
  position: absolute;
  top: 1rem;
  left: 0;
  width: 3.2rem;
  height: 3.2rem;
  font-size: 2.5rem;
  font-weight: 600;
  text-align: center;
  color: #fff;
  background: #5998c1;
  padding-top: 0.15em;
}

.text-answer {
  padding: 2rem;
  line-height: calc(26 / 16);
}

/*============================================
feature
============================================*/
.feature {

}


/*============================================
form
============================================*/
.contactform {
  margin: 0 auto;
  padding: 5rem 0rem 10rem;
}

.Form {
  margin-top: 80px;
  margin-left: auto;
  margin-right: auto;
  max-width: 720px;
}

.Form-Item {
  border-top: 1px solid #ddd;
  padding-top: 16px;
  padding-bottom: 16px;
  width: 100%;
  display: flex;
  align-items: center;
}

.Form-Item:nth-child(5) {
  border-bottom: 1px solid #ddd;
}
.Form-Item-Label {
  width: 100%;
  max-width: 248px;
  font-weight: bold;
  font-size: 16px;
}

.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}

.Form-Item-Label-Required {
  margin-right: 8px;
  padding-top: 2px;
  padding-bottom: 2px;
  width: 40px;
  display: inline-block;
  text-align: center;
  background: crimson;
  color: #fff;
  font-size: 13px;
}

.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 45px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #fcfcfc;
  font-size: 15px;
}

.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #fcfcfc;
  font-size: 18px;
}

.Form-Btn {
  border-radius: 6px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #ff8399;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}

/*============================================
footer
============================================*/
.footer {
  padding: 8rem 0 2rem;
  background-color: #5998c1;
}

.flex-content-footer {
  width: 47%;
}

.flex-hour-footer {
  width: 47%;
}

.text-hour-footer {
  font-size: 1.4rem;
  color: #fff;
}

.name-footer {
  font-size: 2.5rem;
  letter-spacing: 0.3rem;
  color: #ffffff;
}

.address-footer {
  font-size: 1.5rem;
  color: #ffffff;
}

.tel-footer {
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
}

.text-footer {
  font-size: 1.4rem;
  color: #fff;
}

.copylight {
  margin: 1rem;
  text-align: center;
}

.text-copylight {
  color: #fff;
  font-size: 1.2rem;
}

hr {
  border-top: 1px solid #fff;
}

.box-cta img:hover {
  opacity: 0.7;
}

.annotation {
  margin-bottom: 3rem;
}

.scroll-box {
  width: 100%;
  height: 250px;
  border: 1px solid #707070;
  overflow-y: scroll;
  padding: 2rem;
}

.scroll-box ul li {
  font-size: 1.45rem;
  margin-bottom: 0.2rem;
  line-height: 1.4;
}

.p-top__first-time__map {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  width: calc(100vw - 15px);
  margin: 0 calc(50% - 50vw);
}
.p-top__first-time__map .streetView, .p-top__first-time__map .map {
  position: relative;
  width: 50%;
  height: 43.4rem;
}
.p-top__first-time__map .streetView iframe,
.p-top__first-time__map .map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/*============================================
メディアスクリーン　PC SP切り替え
============================================*/
@media screen and (min-width:768px) {
  .pc{
    display: block!important;
    max-width: 1200px;
    margin: 0 auto 2rem;
  }
  .sp{
    display: none!important;
  }
}

@media screen and (max-width:767px) {
  .pc{
    display: none!important;
  }
  .sp{
    display: block!important;
    margin: 0 auto!important;
  }
}


/*============================================
メディアスクリーン　1201
============================================*/

@media screen and (min-width: 1201px) {
  .area-flex-btn {
    width: 46%;
    text-align: center;
  }

  .area-flex-btn img {
    width: 100%;
  }

  .area-flex-tel {
    width: 46%;
    text-align: center;
  }
  .area-flex-tel img {
    width: 100%;
  }

  .title-heading2-itero {
    font-size: 2vw;
  }

}






/*============================================
メディアスクリーン　1200
============================================*/
@media screen and (max-width: 1200px) {
  .box-cta {
    background: #ffffff;
    padding: 2rem;
  }

  .wrap {
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.inner-box-counseling {
  width: 95%;
  margin: 0 auto;
}

.counseling-last {
  margin: 0 auto;
  padding: 5rem 0 5rem;
}

.contactform {
  margin: 0 auto;
  padding: 5rem 0rem 8rem;
}

.type {
  padding: 9rem 0 6rem;
}

.worries {
  padding: 9rem 0 6rem;
}

.area-flex-btn {
  width: 46%;
  text-align: center;
}

.area-flex-btn img {
  width: 100%;
}

.area-flex-tel {
  width: 46%;
  text-align: center;
}
.area-flex-tel img {
  width: 100%;
}
}


/*============================================
メディアスクリーン　767
============================================*/
@media screen and (max-width: 767px) {
  .wrap {
    width: 93%;
    max-width: 1000px;
    margin: 0 auto;
}

.flex {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex-half {
  width: 45%;
}

.flex-onethird {
  width: 32%;
}

.space-aroud {

}

.title-heading2 {
  color: #5998c1;
  font-size: 8vw;
  text-align: center;
  margin-bottom: 3rem;
  line-height: 1.4;
}

.mb50 {
  margin-bottom: 3.5rem;
}

.under-yellow {
  background: linear-gradient(transparent 50%, #ffff00 50%);
}

.bold {
  font-weight: 600;
}

.txt-center {
  text-align: center;
}




  .top-header {
    width: 98%;
    margin: 0 auto;
    padding: 1rem 0 0.5rem;
  }

  .flex-logo {
    width: 48%;
  }

  .flex-tel {
    width: 48%;
  }
  
  .logo-header {
    width: 48%;
    max-width: 250px;
  }
  
  .tel-header {
    width: 100%;
    max-width: 260px;
  }



  .counseling {
    margin: 0 auto;
    padding: 5rem 0;
  }

  .counseling:last-of-type {
    margin: 0 auto;
    padding: 3rem 0;
  }
  
  .counseling-last {
    margin: 0 auto;
    padding: 5rem 0 10rem;
  }

  .flex-picture-counseling {
    width: 100%;
  }
  
  .flex-content-counseling {
    width: 100%;
  } 
  
  .list-worries {
    position: relative;
    margin-top: 2rem;
  }
  
  .list-worries li {
    font-size: 1.7rem;
    line-height: 1.8;
    padding-bottom: 1rem;
    padding-left: 3rem;
    margin-bottom: 2rem;
    font-weight:600;
    border-bottom: dotted 2px #87CEFA;
  }
  
  .list-worries li::before {
    position: absolute;
    content: url(../image/checkbox.png);
    display: inline-block;
    width: 5px;
    height: 5px;
    left: 0;
  }
  
  .box-counseling {
    background: #f5f5f5;
    padding: 5rem 0 1.5rem;
  }
  
  .inner-box-counseling {
    width: 88%;
    margin: 0 auto;
  }
  
  .textarea-counseling {
    text-align: center;
    margin-bottom: 4rem;
  }
  
  .box-cta {
    background: #ffffff;
    padding: 1.2rem 0.5rem;
    padding-bottom: 0;
  }

  .area-flex-btn {
    width: 100%;
    text-align: center;
  }
  .area-flex-tel {
    width: 100%;
    text-align: center;
  }
  
  .tel-number {
    position: relative;
    font-size: 3rem;
    line-height: 1.6;
    padding-left: 5rem;
    padding-bottom: 1.7rem;
  }
  
  .tel-number::before {
    position: absolute;
    display: inline-block;
    left: 0;
    width: 2rem;
  }
  
  .title-heading2-counseling {
    color: #5998c1;
    text-align: center;
    font-size: 8vw;
    text-align: center;
    margin-bottom: 3rem;
    line-height: 1.25;
  }
  
  .title-heading3-counseling {
    font-size: 5.2vw;
    text-align: center;
    padding: 1.5rem 0 1rem;
  }
  .cta-btn {
    width: 100%;
  }
  .cta-btn:first-of-type {
    margin-bottom: 2.2rem;
  }  

  .itero {
    padding: 5rem 0;
    background: #f5f5f5;
    margin: 0 auto;
  }

  .flex-content-itero {
    width: 100%;
  }

  .flex-picture-itero {
    width: 95%;  
    margin: 0 auto;
  }
  
  .title-heading2-itero {
    color: #5998c1;
    font-size: 2.2rem;
    text-align: center;
    margin-bottom: 2rem;
    line-height: 1.25;
  }
  
  .list-itero {
    margin-top: 4rem;
    border-left: thick solid #5998c1;
    padding-left: 10px;
  }
  
  .list-itero li {
    color: #5998c1;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1.7;
  }
  
  .image-itero {
    position: relative;
  }

  .itero .sp {
    margin-top: 2rem;
    text-align: center;
  }

  .itero .sp img {
    position: relative;
    width: 80%;
  }

  .worries {
    margin: 0 auto;
    padding: 3rem 0rem;
  }
  
  .inner-worries {
    margin: 0 auto;
    max-width: 750px;
  }
  
  .picture-worries {
    margin: 0 auto;
    margin-top: 4rem;
    width: 80%;
  }
  
  /*============================================
  type
  ============================================*/
  .type {
    margin: 0 auto;
    padding: 5rem 0;
    background-color: #f5f5f5;
    position: relative;
  }
  
  .type-inner {
    margin: 0 auto;
    max-width: 750px;
  }
  
  .type-inner img {
    margin-bottom: 3rem;
    width: 100%;
  }

  /*============================================
  reason
  ============================================*/
  .reason {
    margin: 0 auto;
    padding: 5rem 0rem;
  }

  .reason .title-heading2 {
    margin-bottom: 4rem;
  }
  
  .inner-reason {
    width: 93%;
    max-width: 1000px;
    margin: 0 auto;
  }
  
  .title-heading3-reason {
    color: #5998c1;
    font-weight: 600;
    font-size: 2.2rem;
    padding: 1rem;
    margin-bottom: 2rem;
    text-align: center;
    line-height: 1.3;
  }
  
  .element-reason {
    margin-bottom: 3rem;
  }
  
  .element-reason:last-of-type {
    margin-bottom: 0;
  }
  
  .flex-picture-reason {
    width: 100%;
  }
  
  .flex-content-reason {
    position: relative;
    width: 100%;
  }
  
  .text-content-reason {
    background-color: #ffffff;
    z-index: 100;
  }
  
  .text-reason {
  }
  .figure {
    display:block;
    width:40px;
    height:40px;
    margin:1.22rem auto 0.7rem;
    line-height:40px;
    background:#5998c1;
    border-radius:100%;
    color:#fff;
    font-size:2rem;
    font-weight:bold;
    text-decoration:none;
    text-align:center;
  }
  
  /*============================================
menu
============================================*/
.menu {
  margin: 0 auto;
  padding-bottom: 0;
  background-color: #f5f5f5;
}

.title-menu {
  margin-bottom: 3rem;
}

.flex-content-menu {
  width: 100%;
  margin-bottom: 3rem;
}

.title-heading3-menu {
  color: #5998c1;
  font-size: 7vw;
  text-align: center;
  margin: 1.4rem 0;
}

/*============================================
treatment
============================================*/
.treatment {
  position: relative;
  background: url(../image/dot.png);
  background-repeat: repeat;
  background-size: 15%;
  padding: 6rem 0;
}

.inner-treatment {
  margin: 0 auto;
  max-width: 750px;
}

.flex-picture-treatment {
  width: 100%;
  text-align: center;
}

.flex-content-treatment {
  width: 100%;
}

.title-heading3-treatment {
  color: #5998c1;
  font-size: 6vw;
  text-align: center;
  margin: 2rem 0;
}

.element-treatment {
  margin-bottom: 0;
}

.info-box-costs {
  margin-top: 3rem;
  background: #f5f5f5;
  padding: 1rem;
}

.title-heading3-costs {
  font-size: 8vw;
  color: #5998c1;
  text-align: center;
  margin: 4.5rem 0 2.8rem;
}

.info-area-costs {
  width: 90%;
  margin: 0 auto;
}

.qanda {
  margin: 0 auto;
  padding: 6rem 0rem 2rem;
}

.counseling-last {
  margin: 0 auto;
  padding: 5rem 0 2rem;
}

.contactform {
  margin: 0 auto;
  padding: 5rem 0rem 5rem;
}

.footer {
  padding: 3rem 0 2rem;
  background-color: #5998c1;
}

.flex-content-footer {
  width: 100%;
}

.flex-hour-footer {
  width: 100%;
}

.text-hour-footer {
  font-size: 1.4rem;
  color: #fff;
}

.name-footer {
  font-size: 2.5rem;
  letter-spacing: 0.3rem;
  color: #ffffff;
  text-align: center;
}

.address-footer {
  font-size: 1.5rem;
  color: #ffffff;
}

.tel-footer {
  font-size: 1.8rem;
  font-weight: 500;
  color: #fff;
}

.text-footer {
  font-size: 1.4rem;
  color: #fff;
}

.copylight {
  margin: 1rem;
  text-align: center;
}

.text-copylight {
  color: #fff;
  font-size: 1.2rem;
}

.hr {
  border-top: 1px solid #fff;
}

.p-top__first-time__map {
  display: block;
  width: 100vw;
}
.p-top__first-time__map .streetView, .p-top__first-time__map .map {
  width: 100%;
  height: 264px;
}
}


/*============================================
メディアスクリーン　640
============================================*/

@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
    width: 100%;
  }
  .tbl-r02 th,
  .tbl-r02 td {
    border-bottom: none;
    display: block;
    width: 100%;
    text-align: center;
  }
  .tbl-r02 th {
    font-weight: 600;
  }

  .box-cta-container .box-cta.flex {
    gap: 0;
    padding: 2em 2em 0;
  }
}


/*============================================
メディアスクリーン　560
============================================*/

@media screen and (max-width: 560px) {
.flex-type {
  width: 43%;
}
}

/*============================================
メディアスクリーン　480
============================================*/

@media screen and (max-width: 480px) {
  .Form {
    margin-top: 40px;
  }
  .Form-Item {
    padding-left: 14px;
    padding-right: 14px;
    padding-top: 16px;
    padding-bottom: 16px;
    flex-wrap: wrap;
  }

  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }

  .Form-Item-Label.isMsg {
    margin-top: 0;
  }

  .Form-Item-Label-Required {
    border-radius: 4px;
    padding-top: 4px;
    padding-bottom: 4px;
    width: 32px;
    font-size: 10px;
  }

  .Form-Item-Input {
    margin-left: 0;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }

  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }

  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 180px;
    font-size: 1.8rem;
  }
  
}