/*
Version: 1.4
*/

/* Reset & Base
-------------------------------------------------------------- */
* { border: 0; font-family: inherit; font-size: 100%; font-style: inherit; font-weight: inherit; margin: 0; outline: 0; padding: 0; box-sizing: border-box; word-wrap: break-word; }
ol, ul { list-style: none; }
table { border-collapse: separate; border-spacing: 0; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
a { display: inline-block; }
input[type="submit"] { -webkit-appearance: none; }

p { text-align: left; }
strong { font-weight: bold; }
em { font-style: italic; }
blockquote { display: block; padding: 2em; }
img, video { max-width: 100%; height: auto; vertical-align: bottom; }
iframe { max-width: 100%; }

/* 
* common
-------------------------------------------------------------- */
.sp { display: none; }

a { text-decoration: none; }
a:link, a:visited { color: inherit; }
a:hover { text-decoration: none; }
a:hover { opacity: .6; }

.t_left { text-align: left; }
.t_right { text-align: right; }
.t_center { text-align: center; }

.flex { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
small, .small {font-size: 77%;}

html {
  -webkit-text-size-adjust:100%;
  text-align: center;
  line-height: 1.5;
  font-size: 1.11vw;
  font-family: "Noto Sans JP", sans-serif;
  font-style: normal;
}
@media screen and (min-width: 1440px) {
  html {
    font-size: 16px;
  }
}

.container {
  max-width: 1120px;
  width: 77.78%;
  margin-left: auto;
  margin-right: auto;
}

.btn01 {
  border-radius: 1.25rem;
  background: linear-gradient(90deg, #342EBF 0%, #181559 100%);
  padding: 0.63rem 2.5rem;
  color: #FFF !important;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.cta01 {
  background: #EAAE00;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  padding: 1.56rem;
  display: flex;
  flex-direction: column;
  width: 45.63rem;
  margin: auto;
}
.cta01 .upper {
  width: 100%;
  border-bottom: 1px solid #FFF;
}
.cta01 .upper .txt1 {
  color: #1A3786;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.4;
  text-align: center;
  margin-bottom: .6rem;
}
.cta01 .upper .txt2 {
  color: #1A3786;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  margin-bottom: .6rem;
}
.cta01 .lower {
  width: 100%;
  align-items: center;
  padding-top: .6rem;
}




/* 
* header
-------------------------------------------------------------- */
header .container {
  padding: 2.06rem 0 1.94rem;
}
header .flex {
  align-items: center;
}
header .logo {
  width: 17.5rem;
  text-align: left;
}
header .content {
  width: 50%;
  padding-right: 1rem;
  justify-content: flex-end;
}
.tel {
  color: #1A3786;
  font-size: 0.94rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: center;
  margin-right: 2.75rem;
}
.tel span {
  font-size: 1.88rem;
  font-weight: 900;
  line-height: 1.40;
  display: block;
}

.menu {
  background: #1A3786;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.25);
  letter-spacing: 0.05em;
}
.menu.fixed {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
.menu ul {
  display: flex;
  justify-content: space-around;
  padding: 1rem 0;
}
.menu li {
  width: 25%;
  color: #FFF;
}

/* 
* breadcrumb
-------------------------------------------------------------- */
.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  font-size: .8rem;
  margin-bottom: 5.33rem;
}
.breadcrumb li:not(:last-child)::after {
  content: '>';
  margin: 0 1em;
}


/* 
* top
-------------------------------------------------------------- */
.mv {
  max-height: 600px;
  position: relative;
  overflow: hidden;
}
.mv .container {
  position: absolute;
  height: 100%;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.mv .txt01 {
  position: absolute;
  left: 0;
  top: 5.56rem;
  color: #FFF;
  font-size: 1.5rem;
  font-weight: 900;
  line-height: 1.4;
}
.mv .txt02 {
  position: absolute;
  left: 0;
  top: 10rem;
  color: #FFF;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.4;
  text-align: left;
}
.mv .txt02 strong {
  font-size: 3.13rem;
}
.mv .cta01 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 2.19rem;
}

.catch01 {
  padding: 3.75rem 0;
  color: #1A3786;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.8;
}

.sec01 {
  background: url(../images/img_bg01.jpg) no-repeat center/cover;
  padding: 3.75rem 0;
}
.sec01 .ttl01 {
  color: #EAAE00;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  margin-bottom: 1.44rem;
}
.sec01 .txt01 {
  color: #FFF;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.sec02 {
  background: url(../images/img_bg02.svg) #E9E9E9 no-repeat top/cover;
  padding: 6.25rem 0 7.5rem;
}
.sec02 .ttl01 {
  color: #1A3786;
  text-align: center;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 0.69rem;
}
.sec02 .txt01 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 71.43%;
  display: block;
  margin: 0 auto 5.94rem;
}
.insec01 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.insec01:not(:last-of-type) {
  margin-bottom: 5rem;
}
.insec01 .img01 {
  width: 44.64%;
}
.insec01 .content {
  width: 50%;
}
.insec01 .ttl02 {
  color: #1A3786;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  text-align: left;
  margin-bottom: 1.88rem;
}
.insec01 .txt02 {
  font-size: 1.13rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.sec03 {
  background: url(../images/img_bg03.jpg) no-repeat center/cover;
  padding: 3.75rem 0 5.31rem;
}
.sec03 .ttl01 {
  color: #EAAE00;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  margin-bottom: 1.44rem;
}
.sec03 .txt01 {
  color: #FFF;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 71.43%;
  display: block;
  margin: 0 auto 5.63rem;
}
.list02 {
  display: flex;
  justify-content: space-between;
  margin-bottom: 5rem;
}
.list02 .insec02 {
  background: #FFF;
  width: 30.36%;
}
.list02 .insec02 .ttl01 {
  background: #1A3786;
  color: #FFF;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  padding-left: 2.5rem;
  margin: 1.25rem 6.25rem 1.25rem 0;
}
.list02 .insec02 .ttl02 {
  color: #1A3786;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  text-align: left;
  margin: 0 2.5rem 0.81rem;
}
.list02 .insec02 .txt01 {
  color: #000;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  display: block;
  width: 76.47%;
}
.sec03 .txt02 {
  color: #FFF;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.8;
}
.sec03 .txt02 strong {
  background: linear-gradient(transparent 1.98rem, #EAAE00 0);
  /* 複数行でも行ごとに背景を“複製” */
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.catch02 {
  background: url(../images/img_bg04.svg) no-repeat top center / 100% auto;
  padding: 10rem 0 4.63rem;
}
.catch02 .txt01 {
  color: #2AB0E7;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  margin-bottom: 0.25rem;
}
.catch02 .txt02 {
  color: #1A3786;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 1.94rem;
}
.catch02 .txt03 {
  color: #000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.sec04 {
  background: #E9F4FF;
  padding: 8.5rem 0 3.44rem;
}
.sec04 .ttl01 {
  color: #1A3786;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  margin-bottom: 4.06rem;
}
.insec03 {
  width: 100%;
  background: #FFF;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  padding: 1.88rem 2.5rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.insec03:not(:last-of-type) {
  margin-bottom: 3.75rem;
}
.insec03 .no {
  color: #FFF;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  width: 5rem;
  height: 5rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #1A3786;
  margin-right: 2.5rem;
}
.insec03 .ttl02 {
  color: #1A3786;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  width: 18.75rem;
}
.insec03 .ttl02 span {
  display: block;
  color: #000;
  font-size: 1.13rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: -0.31rem;
}
.insec03 .txt01 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 28.75rem;
  padding-right: 2.5rem;
  border-right: 1px solid;
}
.insec03 .price {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 10rem;
}
.sec04 .txt03 {
  font-size: 1.13rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-top: 3.13rem;
}

.catch03 {
  padding: 4.5rem 0;
}
.catch03 .txt01 {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.sec05 {
  background: url(../images/img_bg05.jpg) no-repeat top center / 100% auto;
  padding: 4.75rem 0 7.5rem;
}
.sec05 .ttl01 {
  color: #FFF;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 2.44rem;
}
.sec05 .ttl01 .s1 {
  font-size: 2rem;
  line-height: 1.4;
}
.sec05 .ttl01 .s2 {
  color: #EAAE00;
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.4;
}
.sec05 .ttl01 .s3 {
  color: #EAAE00;
  font-size: 2rem;
  font-weight: 900;
  line-height: 1.4;
}
.sec05 .txt01 {
  color: #FFF;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin: 0 auto 4.38rem;
  width: 71.43%;
}
.list04 {
  display: flex;
  justify-content: space-between;
}
.list04 .insec04 {
  background: #FFF;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  padding: 2.5rem 2.5rem 7rem;
  width: 30.36%;
}
.list04 .insec04:nth-of-type(1) {
  background: url(../images/img_bg_no1.svg) #FFF no-repeat right 2.5rem bottom 1.63rem / 5.88rem;
}
.list04 .insec04:nth-of-type(2) {
  background: url(../images/img_bg_no2.svg) #FFF no-repeat right 2.5rem bottom 1.63rem / 6.56rem;
}
.list04 .insec04:nth-of-type(3) {
  background: url(../images/img_bg_no3.svg) #FFF no-repeat right 2.5rem bottom 1.63rem / 6.63rem;
}
.list04 .insec04 .ttl02 {
  color: #1A3786;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  padding-bottom: 1.13rem;
  border-bottom: 2px solid;
  margin-bottom: 1.31rem;
}
.list04 .insec04 .txt02 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.wrap_cta01 {
  background: url(../images/img_bg06.jpg) no-repeat center top / cover;
  padding: 5rem 0 7.5rem;
}
.wrap_cta01 .txt01 {
  color: #1A3786;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 3.88rem;
}

.sec06 {
  padding: 7.5rem 0 8.75rem;
}
.sec06 .ttl01 {
  color: #1A3786;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 7.06rem;
}
.sec06 .ttl01 span {
  display: block;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  margin-bottom: 0.63rem;
}
.list05 {
  margin-bottom: 8.13rem;
}
.insec06 {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.insec06:nth-of-type(2n) {
  flex-direction: row-reverse;
}
.insec06:not(:last-of-type) {
  margin-bottom: 4.38rem;
}
.insec06 .img01 {
  width: 44.64%;
}
.insec06 .content {
  width: 50%;
}
.insec06 .ttl02 {
  color: #1A3786;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  margin-bottom: 1.75rem;
  text-align: left;
}
.insec06 .txt02 {
  font-size: 1.13rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.catch04 {
  background: #E9F4FF;
  padding: 7.5rem 0 4.5rem;
}
.catch04 .logo {
  width: 30.5rem;
  margin-bottom: 3.75rem;
}
.catch04 .txt01 {
  display: block;
  color: #1A3786;
  text-align: center;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 2.38rem;
}
.catch04 .txt02 {
  color: #000;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 71.43%;
  margin: auto;
}

.massage01 {
  background: url(../images/img_bg07.jpg) no-repeat center / cover;
  padding: 4.38rem 0;
}
.massage01 .txt01 {
  color: #FFF;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 75%;
  margin: auto;
}
.massage01 .txt01:not(:last-of-type) {
  margin-bottom: 2em;
}

.sec_profile {
  background: #E9F4FF;
  padding: 7.5rem 0 6.88rem;
}
.sec_profile .ttl01 {
  color: #1A3786;
  font-size: 1.75rem;
  font-weight: 900;
  line-height: 1.6;
  margin: 0 auto 1.81rem;
  width: 75%;
  text-align: left;
}
.sec_profile .txt01 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 75%;
  margin: auto;
}
.sec_profile .txt01:not(:last-of-type) {
  margin-bottom: 2em;
}

.contact {
  padding: 7.5rem 11.25rem;
}
.contact .ttl01 {
  color: #1A3786;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 4.38rem;
}
.contact .form01 {
  width: 50%;
  margin: auto;
}
.contact .form01 .txt01 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  margin-bottom: 0.63rem;
}
.contact .form01 input:not([type="submit"]),
.contact .form01 textarea {
  width: 100%;
  border-radius: 0.63rem;
  background: #F5F5F5;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .05em;
  padding: 1rem;
  margin-bottom: 3.13rem;
}
.contact .form01 input[type="submit"] {
  border-radius: 10rem;
  background: #1A3786;
  color: #FFF;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
  width: 16.88rem;
  padding: 0.69rem;
  cursor: pointer;
}

.thanks {
  padding: 7.5rem 0 17.5rem;
  max-width: 800px;
}
.thanks .ttl01 {
  text-align: center;
  color: #1A3786;

  font-size: 2.25rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1.8;
  margin-bottom: 4.38rem;
}
.thanks .txt01 {
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

/* 
* footer
-------------------------------------------------------------- */
footer {
  background: #183983;
  padding: 1.88rem 0;
}
footer .copy {
  color: #FFF;
  font-size: 0.88rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
}

/* 
* for SP
-------------------------------------------------------------- */
@media screen and (max-width: 640px) {
  .pc { display: none; }
  .sp { display: block; }

  html {
    font-size: 4.07vw; /* 16px */
  }
  body {
    margin-top: 0 !important;
  }
  .container {
    width: 89.82%;
  }
  .cta01 {
    padding: 1.81rem 1.06rem 1.63rem;
    width: 100%;
  }
  .cta01 .upper .txt1 {
  }
  .cta01 .upper .txt2 {
    font-size: 0.75rem;
  }
  .cta01 .tel {
    width: 100%;
    font-size: 0.94rem;
    margin-bottom: 0.81rem;
  }
  .cta01 .tel span {
    font-size: 1.88rem;
  }
  
  header .container {
    width: 94.91%;
    padding: 1.25rem 0;
  }
  header .logo {
    width: 10.69rem;
    font-size: 0.67rem;
    text-align: center;
  }
  header .content {
    padding-right: 11vw;
  }
  
  .hamburger {
    width: 12vw;
    height: 12vw;
    position: fixed;
    top: 0;
    right: 0;
    padding: 4.27vw;
    background: #1A3786;
    z-index: 20;
    opacity: 1 !important;
  }
  .hamburger span {
    display: block;
    width: 4vw;
    height: 2px;
    background-color: #FFF;
    transition: .5s all;
  }
  .hamburger span:not(:last-child) {
    margin-bottom: 1.33vw;
  }
  .hamburger.open span:nth-child(1) {
    transform: translateY(calc(2px + 1.33vw)) rotate(45deg);
  }
  .hamburger.open span:nth-child(2) {
    opacity: 0;
  }
  .hamburger.open span:nth-child(3) {
    transform: translateY(calc(-2px - 1.33vw)) rotate(-45deg);
  }
  
  .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10;
    display: none;
  }
  .menu.open {
    display: block;
  }
  .menu ul {
    flex-direction: column;
    align-items: center;
    padding: 4rem 1rem;
  }
  .menu li {
    width: 100%;
  }
  .menu li:not(:last-of-type) {
    margin-bottom: 2rem;
  }
  
  .tel {
    font-size: 0.62rem;
    margin-right: 0;
    white-space: nowrap;
  }
  .tel span {
    font-size: 1.2rem;
  }
  
  .mv {
    overflow: visible;
    max-height: none;
  }
  .mv .txt01 {
    position: absolute;
    top: 2.75rem;
  }
  .mv .txt02 {
    font-size: 1.88rem;
    text-align: left;
  }
  .mv .txt02 strong {
    font-size: 2.63rem;
    top: 9.31rem;
  }
  .mv .cta01 {
    bottom: -2.75rem;
  }
  
  .catch01 {
    padding: 5.56rem 0 3.44rem;
    font-size: 1.75rem;
  }
  
  .sec01 {
    background-image: url(../images/sp/img_bg01.jpg);
    padding: 3.75rem 0 5.38rem;
  }
  .sec01 .ttl01 {
    font-size: 1.63rem;
    margin-bottom: 3.06rem;
  }
  
  .sec02 {
    background: url(../images/sp/img_bg02_01.svg) no-repeat top left / 100vw auto, url(../images/sp/img_bg02_02.svg) no-repeat bottom right / 100vw auto, #E9E9E9;
    padding: 4.06rem 0 5.81rem;
  }
  .sec02 .ttl01 {
    font-size: 1.75rem;
    margin-bottom: 1.25rem;
  }
  .sec02 .txt01 {
    width: 100%;
    margin-bottom: 4.38rem;
  }
  .insec01 {
    flex-direction: column;
  }
  .insec01 .img01,
  .insec01 .content {
    width: 100%;
  }
  .insec01 .img01 {
    margin-bottom: 2.38rem;
  }
  .insec01 .ttl02 {
    font-size: 1.63rem;
    margin-bottom: 2.13rem;
  }
  .insec01:not(:last-of-type) {
    margin-bottom: 3.44rem;
  }
  
  .sec03 {
    background-image: url(../images/sp/img_bg03.jpg);
    padding: 3.75rem 0 5rem;
  }
  .sec03 .ttl01 {
    font-size: 1.63rem;
    margin-bottom: 2.81rem;
  }
  .sec03 .txt01 {
    width: 100%;
    margin-bottom: 1.88rem;
  }
  .list02 {
    flex-direction: column;
  }
  .list02 .insec02 {
    width: 100%;
    padding-bottom: 5.31rem;
  }
  .list02 .insec02:not(:last-of-type) {
    margin-bottom: 2.5rem;
  }
  
  .catch02 {
    background-image: url(../images/sp/img_bg04.svg);
    padding: 8.75rem 0 4.38rem;
  }
  .catch02 .txt01 {
    margin-bottom: 1.56rem;
  }
  .catch02 .txt02 {
    font-size: 1.75rem;
    margin-bottom: 3.75rem
  }
  
  .sec04 {
    padding: 5rem 0 7rem;
  }
  .sec04 .ttl01 {
    margin-bottom: 4.13rem;
  }
  .insec03:not(:last-of-type) {
    margin-bottom: 3.75rem;
  }
  .insec03 {
    flex-wrap: wrap;
    padding: 3.75rem 2.13rem 3.13rem;
  }
  .insec03 .no {
    width: 3rem;
    height: 3rem;
    font-size: 1rem;
    margin-right: 1.88rem;
  }
  .insec03 .ttl02 {
    width: auto;
    font-size: 1.63rem;
    width: 12.81rem;
  }
  .insec03 .txt01 {
    width: 100%;
    padding: 0;
    border-right: 0;
    border-bottom: 1px solid;
    margin: 4.38rem 0 1.88rem;
    padding-bottom: 3.31rem;
  }
  .insec03 .price {
    width: 100%;
    text-align: center;
  }
  
  .catch03 {
    padding: 4.38rem 0;
  }

  .sec05 {
    background-image: url(../images/sp/img_bg05.svg);
    padding: 3.94rem 0 7.5rem;
  }
  .sec05 .ttl01 {
    font-size: 1.51rem;
    margin-bottom: 3.63rem;
  }
  .sec05 .ttl01 .s1 {
    font-size: 1.35rem;
  }
  .sec05 .ttl01 .s2 {
    font-size: 2.69rem;
  }
  .sec05 .ttl01 .s3 {
    font-size: 1.35rem;
  }
  .sec05 .txt01 {
    width: 100%;
    margin-bottom: 4.38rem;
  }
  
  .list04 {
    flex-direction: column;
  }
  .list04 .insec04:not(:last-of-type) {
    margin-bottom: 2.5rem;
  }
  .list04 .insec04 {
    width: 100%;
  }
  
  .wrap_cta01 {
    background-image: url(../images/sp/img_bg06.jpg);
    padding: 5.31rem 0 6.25rem;
  }
  .wrap_cta01 .txt01 {
    font-size: 1.75rem;
    margin-bottom: 3.31rem;
  }
  
  .sec06 {
    padding: 5rem 0 6.25rem;
  }
  .sec06 .ttl01 {
    margin-bottom: 2.88rem;
  }
  .list05 {
    margin-bottom: 5.63rem;
  }
  .insec06:not(:last-of-type) {
    margin-bottom: 5.63rem;
  }
  .insec06,
  .insec06:nth-of-type(2n) {
    flex-direction: column;
  }
  .insec06 .img01,
  .insec06 .content {
    width: 100%;
  }
  .insec06 .img01 {
    margin-bottom: 2.5rem;
  }
  
  .catch04 {
    padding: 5rem 0 4.38rem;
  }
  .catch04 .logo {
    width: 18.75rem;
    margin-bottom: 2.81rem;
  }
  .catch04 .txt01 {
    font-size: 1.75rem;
    margin-bottom: 2.19rem;
  }
  .catch04 .txt02 {
    width: 100%;
    text-align: center;
  }
  
  .massage01 {
    padding: 4.38rem 0;
    background-image: url(../images/sp/img_bg07.jpg);
  }
  .massage01 .txt01 {
    width: 100%;
  }
  
  .sec_profile {
    padding: 6.25rem 0 6.88rem;
  }
  .sec_profile .ttl01 {
    width: 100%;
    margin-bottom: 3.13rem;
  }
  .sec_profile .txt01 {
    width: 100%;
  }
  
  .contact {
    padding: 6.25rem 0 12.31rem;
  }
  .contact .ttl01 {
    font-size: 1.75rem;
    margin-bottom: 5rem;
  }
  .contact .form01 {
    width: 88.67%;
  }
  
  .thanks {
    padding: 5rem 0;
  }
  .thanks .ttl01 {
    font-size: 2rem;
  }
}