@charset "UTF-8";
/* Reset
----------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  zoom: 1;
  /* hasLayout in IE */
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font: inherit;
  font-size: 100%;
  font-weight: normal;
  font-style: normal;
  vertical-align: baseline;
  background: transparent;
  -webkit-text-size-adjust: 100%;
  word-break: break-all;
}

p {
  max-height: 100%;
}

header, menu, nav, footer,
section, article, aside,
details, summary,
figure, figcaption {
  display: block;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

q, blockquote {
  quotes: none;
}

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none;
}

img {
  max-width: 100%;
  font-size: 0;
  line-height: 0;
  vertical-align: bottom;
  height: auto;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  color: #553618;
}

a:focus {
  outline: none;
}

a img {
  border: none;
}

button,
input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
}

textarea {
  overflow: auto;
}

label {
  cursor: pointer;
}

.clearfix:after {
  display: block;
  visibility: hidden;
  content: ".";
  clear: both;
  height: 0;
  font-size: 0;
  line-height: 0;
}

* html .clearfix {
  zoom: 1;
}

*:first-child + html .clearfix {
  zoom: 1;
}

a {
  text-decoration: none;
  color: #4e433b;
}

a:hover {
  opacity: 0.7;
  cursor: pointer;
  transition: 0.4s ease;
}

a[href^="tel:"] {
  pointer-events: auto;
}

strong {
  font-weight: normal;
}

ul, ol {
  list-style-type: none;
}

body {
  position: relative;
  width: 100%;
  font-family: "noto sans jp", sans-serif;
  box-sizing: border-box;
  color: #49412D;
}

.wrapper {
  position: relative;
  overflow: hidden;
}

.sp {
  display: none;
}

br.between {
  display: none;
}

.inner {
  position: relative;
  width: 1280px;
  max-width: 100%;
  padding: 0 20px;
  margin: 0 auto;
  box-sizing: border-box;
}

.sec_text {
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: justify;
  color: #49412D;
}

@media screen and (max-width: 767px) {
  a:hover {
    opacity: 1;
    transition: none;
  }
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
  .inner {
    padding: 0 5.5vw;
  }
  .sec_text {
    font-size: 4vw;
  }
  .cont_text {
    font-size: 4vw;
  }
}
.header {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100px;
  position: absolute;
  z-index: 5;
}
.header .header_left {
  padding: 0 0 0 10px;
}
.header .header_left a {
  display: flex;
  align-items: center;
}
.header .page_title {
  margin-bottom: 10px;
  font-size: 13px;
  letter-spacing: 0.2em;
}
.header .clinic_name {
  font-family: "noto serif jp", serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.header .header_right {
  display: flex;
  height: 100px;
}
.header .menu_box {
  display: flex;
}
.header .reserve_btn {
  width: 281px;
  margin-right: 60px;
}
.header .reserve_btn img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.header .tel_btn {
  width: 261px;
  height: 100px;
}
.header .tel_btn a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 15px 0 5px 45px;
  box-sizing: border-box;
  background: #F8F5EE;
  font-size: 16px;
  color: #BE923C;
  letter-spacing: 0.01em;
}
.header .tel_btn a .num {
  font-size: 28px;
  line-height: 1.2;
  color: #335D74;
}
.header .tel_btn a:before {
  content: "";
  position: absolute;
  left: 21px;
  top: 48px;
  width: 16px;
  height: 16px;
  background: url(../images/header_icon_tel.webp) center/contain no-repeat;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .header .header_right {
    display: none;
  }
  .header .timetable {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header {
    display: block;
    padding: 0;
    height: 19vw;
    box-sizing: border-box;
  }
  .header .header_left {
    overflow: hidden;
    padding: 0.5vw 0 0 1.5vw;
  }
  .header .header_left .title {
    display: flex;
    flex-direction: column;
  }
  .header .header_left a {
    display: flex;
    align-items: start;
  }
  .header .textbox {
    display: flex;
    align-items: start;
  }
  .header .logo {
    width: 14vw;
    height: 14vw;
  }
  .header .logo img {
    width: 100%;
  }
  .header .page_title {
    margin-bottom: 1.3vw;
    font-size: 3.2vw;
    letter-spacing: 0;
  }
  .header .clinic_name {
    width: 46vw;
    height: 10vw;
    padding-top: 1vw;
  }
  .header .clinic_name img {
    width: 100%;
  }
  .header .header_right {
    display: none;
  }
}

.ham {
  position: absolute;
  z-index: 1001;
  top: 0px;
  right: 0;
  width: 100px;
  height: 100px;
  background: #fff;
  transition: all 0.4s;
}
.ham a {
  display: block;
  width: 100%;
  height: 100%;
  background: #BE923C;
  font-size: 12px;
  text-align: center;
}
.ham a:hover {
  opacity: 1;
}
.ham .menu_text {
  position: absolute;
  top: 15px;
  width: 100%;
  color: #fff;
  text-align: center;
}
.ham .menu_border {
  position: absolute;
  left: 0;
  right: 0;
  width: 50%;
  height: 2px;
  margin: 0 auto;
  background: #fff;
  transition: 0.4s;
}
.ham .menu_border:nth-of-type(1) {
  top: 30px;
}
.ham .menu_border:nth-of-type(2) {
  top: 50px;
}
.ham .menu_border:nth-of-type(3) {
  top: 70px;
}
.ham a.active span:nth-of-type(1) {
  top: 38px;
  transform: rotate(45deg);
}
.ham a.active span:nth-of-type(2) {
  display: none;
}
.ham a.active span:nth-of-type(3) {
  top: 38px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .ham {
    position: fixed;
    z-index: 1001;
    top: 0px;
    right: 0;
    width: 17vw;
    height: 17vw;
    background: #fff;
    transition: all 0.4s;
  }
  .ham a {
    display: block;
    width: 100%;
    height: 100%;
    background: #BE923C;
    font-size: 3.7vw;
    text-align: center;
  }
  .ham .menu_text {
    position: absolute;
    top: 1.3vw;
    width: 100%;
    color: #fff;
    text-align: center;
  }
  .ham .menu_border {
    position: absolute;
    left: 0;
    right: 0;
    width: 50%;
    height: 1px;
    margin: 0 auto;
    background: #fff;
    transition: 0.4s;
  }
  .ham .menu_border:nth-of-type(1) {
    top: 4vw;
  }
  .ham .menu_border:nth-of-type(2) {
    top: 8vw;
  }
  .ham .menu_border:nth-of-type(3) {
    top: 12vw;
  }
  .ham a.active span:nth-of-type(1) {
    top: 12vw;
    transform: rotate(45deg);
  }
  .ham a.active span:nth-of-type(2) {
    display: none;
  }
  .ham a.active span:nth-of-type(3) {
    top: 12vw;
    transform: rotate(-45deg);
  }
}

.copy_header {
  position: fixed;
  left: 0;
  top: -100px;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 100px;
  background: rgba(255, 255, 255, 0.9);
  transition: 0.4s;
}
.copy_header.show {
  top: 0;
}
.copy_header .header_left {
  padding: 0 0 0 10px;
}
.copy_header .header_left a {
  display: flex;
  align-items: center;
}
.copy_header .clinic_name {
  font-family: "noto serif jp", serif;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.1em;
}
.copy_header .menu_box {
  display: flex;
  margin-right: 100px;
}
.copy_header .reserve_btn {
  height: 100px;
}
.copy_header .reserve_btn img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.copy_header .tel_btn {
  width: 261px;
  height: 100px;
}
.copy_header .tel_btn a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 15px 0 5px 45px;
  box-sizing: border-box;
  background: #F8F5EE;
  font-size: 16px;
  color: #BE923C;
  letter-spacing: 0.01em;
}
.copy_header .tel_btn a .num {
  font-size: 28px;
  line-height: 1.2;
  color: #335D74;
}
.copy_header .tel_btn a:before {
  content: "";
  position: absolute;
  left: 21px;
  top: 48px;
  width: 16px;
  height: 16px;
  background: url(../images/header_icon_tel.webp) center/contain no-repeat;
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .copy_header .header_left {
    width: 240px;
    padding: 0 0 0 5px;
    margin-right: 5px;
  }
}
@media screen and (max-width: 767px) {
  .copy_header {
    display: none;
  }
}

.copy_ham {
  position: fixed;
  z-index: 1001;
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
  background: #fff;
  transition: all 0.4s;
}
.copy_ham.show {
  top: 0;
}
.copy_ham a {
  display: block;
  width: 100%;
  height: 100%;
  background: #BE923C;
  font-size: 12px;
  text-align: center;
}
.copy_ham a:hover {
  opacity: 1;
}
.copy_ham .menu_text {
  position: absolute;
  top: 15px;
  width: 100%;
  color: #fff;
  text-align: center;
}
.copy_ham .menu_border {
  position: absolute;
  left: 0;
  right: 0;
  width: 50%;
  height: 1px;
  margin: 0 auto;
  background: #fff;
  transition: 0.4s;
}
.copy_ham .menu_border:nth-of-type(1) {
  top: 30px;
}
.copy_ham .menu_border:nth-of-type(2) {
  top: 50px;
}
.copy_ham .menu_border:nth-of-type(3) {
  top: 70px;
}
.copy_ham a.active span:nth-of-type(1) {
  top: 45px;
  transform: rotate(45deg);
}
.copy_ham a.active span:nth-of-type(2) {
  display: none;
}
.copy_ham a.active span:nth-of-type(3) {
  top: 45px;
  transform: rotate(-45deg);
}
@media screen and (max-width: 767px) {
  .copy_ham {
    display: none;
  }
}

.ham_sitemap {
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #BE923C;
  overflow: scroll;
  opacity: 0;
  visibility: hidden;
  transition: all 0.4s;
}
.ham_sitemap.active {
  opacity: 1;
  visibility: visible;
}
.ham_sitemap .sitemap_inner {
  width: 1280px;
  max-width: 100%;
  padding: 160px 20px 80px;
  margin: 0 auto;
  box-sizing: border-box;
}
.ham_sitemap .link_text {
  position: relative;
  padding-left: 1.5em;
  margin-bottom: 30px;
}
.ham_sitemap .link_text:before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 12px;
  height: 15px;
  background: url(../images/ham_arrow.webp) center/contain no-repeat;
}
.ham_sitemap .link_text a {
  letter-spacing: 0.1em;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 20px;
}
.ham_sitemap .sitemap01 {
  margin-bottom: 30px;
}
.ham_sitemap .sitemap01 .list {
  display: flex;
}
.ham_sitemap .sitemap01 .item {
  position: relative;
  width: 25%;
  padding-left: 1.5em;
  margin-bottom: 20px;
  box-sizing: border-box;
}
.ham_sitemap .sitemap01 .item:before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 12px;
  height: 15px;
  background: url(../images/ham_arrow.webp) center/contain no-repeat;
}
.ham_sitemap .sitemap01 .item a {
  letter-spacing: 0.1em;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 17px;
}
.ham_sitemap .sitemap02 {
  padding-left: 70px;
}
.ham_sitemap .sitemap02 .list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.ham_sitemap .sitemap02 .item {
  position: relative;
  width: 25%;
  margin-bottom: 30px;
  box-sizing: border-box;
}
.ham_sitemap .sitemap02 .item:before {
  content: "";
  position: absolute;
  left: -20px;
  top: 10px;
  width: 12px;
  height: 15px;
  background: url(../images/ham_arrow.webp) center/contain no-repeat;
}
.ham_sitemap .sitemap02 .item a {
  display: flex;
  align-items: center;
  letter-spacing: 0.1em;
  color: #fff;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 20px;
}
.ham_sitemap .sitemap02 .item img {
  padding-right: 10px;
}
@media screen and (max-width: 767px) {
  .ham_sitemap {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: scroll;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s;
  }
  .ham_sitemap.active {
    opacity: 1;
    visibility: visible;
  }
  .ham_sitemap .sitemap_inner {
    width: 1280px;
    max-width: 100%;
    padding: 21.3vw 2.7vw;
    margin: 0 auto;
    box-sizing: border-box;
  }
  .ham_sitemap .link_text {
    position: relative;
    padding-left: 0;
    margin-bottom: 0;
  }
  .ham_sitemap .link_text:before {
    top: 5.6vw;
  }
  .ham_sitemap .link_text a {
    display: block;
    width: 100%;
    height: 100%;
    letter-spacing: 0.1em;
    padding: 4vw 0 4vw 4vw;
    box-sizing: border-box;
    color: #fff;
    font-size: 4.4vw;
  }
  .ham_sitemap .text {
    padding: 4vw 0 4vw 4vw;
    margin-bottom: 0;
    font-size: 4.4vw;
    color: #fff;
  }
  .ham_sitemap .sitemap01 {
    margin-bottom: 0;
  }
  .ham_sitemap .sitemap01 .list {
    top: 5.6vw;
  }
  .ham_sitemap .sitemap01 .item {
    position: relative;
    width: 100%;
    padding-left: 0;
    margin-bottom: 0;
    box-sizing: border-box;
  }
  .ham_sitemap .sitemap01 .item:before {
    top: 5.6vw;
  }
  .ham_sitemap .sitemap01 .item a {
    display: block;
    width: 100%;
    height: 100%;
    letter-spacing: 0.1em;
    padding: 4vw 0 4vw 4vw;
    box-sizing: border-box;
    color: #fff;
    font-size: 4.4vw;
  }
  .ham_sitemap .sitemap02 {
    margin-bottom: 0;
  }
  .ham_sitemap .sitemap02 .list {
    display: flex;
    flex-wrap: wrap;
  }
  .ham_sitemap .sitemap02 .item {
    position: relative;
    width: 50%;
    margin-bottom: 5.5vw;
    box-sizing: border-box;
    text-align: center;
  }
  .ham_sitemap .sitemap02 .item:before {
    top: 1.6vw;
  }
  .ham_sitemap .sitemap02 .item a {
    display: block;
    align-items: center;
    letter-spacing: 0.1em;
    color: #fff;
    font-size: 4vw;
  }
  .ham_sitemap .sitemap02 .item img {
    width: 15.4vw;
    height: 15.4vw;
    padding-right: 0;
    padding-bottom: 2.7vw;
  }
  .ham_sitemap .nav_contact {
    margin-bottom: 5.5vw;
    text-align: center;
  }
  .ham_sitemap .nav_contact .text01 {
    margin-bottom: 5.5vw;
    font-size: 5.8vw;
    letter-spacing: 0.1em;
  }
  .ham_sitemap .nav_contact .text02 {
    margin-bottom: 5.5vw;
    font-size: 4.4vw;
    letter-spacing: 0.1em;
  }
  .ham_sitemap .nav_contact .reserve_btn {
    width: 100%;
    margin-bottom: 5.5vw;
  }
  .ham_sitemap .nav_contact .reserve_btn img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .ham_sitemap .nav_contact .tel_btn {
    width: 100%;
    margin-bottom: 5.5vw;
  }
  .ham_sitemap .nav_contact .tel_btn img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .ham_sitemap .nav_contact .timetable {
    width: 100%;
  }
  .ham_sitemap .nav_contact .timetable img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.mainvisual {
  position: relative;
  height: 904px;
  background: url(../images/m_bg01.webp) center/cover no-repeat;
}
.mainvisual::before {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: -40px;
  left: 0;
  width: 100%;
  height: 17.1vw;
  background: url(../images/sec01_bg_wave.webp) center/contain no-repeat;
}
.mainvisual .logo {
  margin-bottom: 20px;
  text-align: center;
}
.mainvisual .clinic_name {
  text-align: center;
}
.mainvisual .text {
  padding-top: 302px;
  padding-right: 50vw;
  margin-bottom: 20px;
  text-align: center;
}
.mainvisual .text02 {
  position: absolute;
  z-index: 2;
  margin-bottom: 20px;
  left: 0;
  right: 0;
  padding-right: 50vw;
  text-align: center;
}
.mainvisual .text03 {
  position: absolute;
  z-index: 2;
  bottom: -60px;
  left: 0;
  right: 0;
  padding-left: 50vw;
  text-align: center;
}
.mainvisual .blog_sec {
  position: absolute;
  z-index: 2;
  left: -50px;
  bottom: -100px;
  width: 750px;
  padding: 30px 80px 20px;
  border-radius: 0 30px 0 0;
  box-sizing: border-box;
  background: #1b4164;
}
.mainvisual .blog_sec .flex {
  display: flex;
  align-items: center;
}
.mainvisual .blog_sec .sec_title {
  padding-right: 70px;
  color: #fff;
}
.mainvisual .blog_sec .list {
  padding-left: 30px;
  border-left: 1px solid #fff;
  color: #fff;
}
.mainvisual .blog_sec .item a {
  display: flex;
  color: #fff;
}
.mainvisual .blog_sec .item:not(:last-of-type) {
  margin-bottom: 20px;
}
.mainvisual .blog_sec .date {
  margin-right: 20px;
}
.mainvisual .blog_sec .more {
  text-align: right;
}
.mainvisual .blog_sec .more a {
  border-bottom: 1px solid #fff;
  font-size: 14px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .mainvisual {
    position: relative;
    height: 170vw;
    background: url(../images/m_bg01_sp.webp) center/cover no-repeat;
  }
  .mainvisual::before {
    display: none;
  }
  .mainvisual .logo {
    text-align: center;
    width: 40vw;
    margin: 0 auto 2.7vw;
  }
  .mainvisual .logo img {
    width: 100%;
  }
  .mainvisual .clinic_name {
    position: relative;
    text-align: center;
    width: 90%;
    margin: 0 auto 5.5vw;
  }
  .mainvisual .clinic_name img {
    width: 86.1vw;
    height: 21.2vw;
  }
  .mainvisual .text {
    width: 73.3vw;
    max-width: 80%;
    padding-top: 27vw;
    padding-left: initial;
    padding-right: initial;
    margin: 0 auto;
    text-align: center;
  }
  .mainvisual .text img {
    width: 100%;
  }
  .mainvisual .text02 {
    padding-top: 102vw;
    width: 85%;
    margin: 0 auto;
    padding-right: initial;
    text-align: center;
  }
  .mainvisual .text02 img {
    width: 100%;
  }
  .mainvisual .text03 {
    width: 70.4vw;
    position: absolute;
    z-index: 3;
    right: 5.3vw;
    bottom: 11.3vw;
    padding-left: 28vw;
  }
  .mainvisual .text03 img {
    width: 100%;
  }
  .mainvisual .blog_sec {
    position: absolute;
    left: 0;
    bottom: -13.8vw;
    width: 80vw;
    padding: 2.7vw;
    border-radius: 0 30px 0 0;
    box-sizing: border-box;
    background: #1b4164;
  }
  .mainvisual .blog_sec .flex {
    display: block;
  }
  .mainvisual .blog_sec .sec_title {
    padding-right: 0;
    margin-bottom: 2.7vw;
    color: #fff;
    font-size: 4.4vw;
  }
  .mainvisual .blog_sec .list {
    padding-top: 2.7vw;
    padding-left: 0;
    margin-bottom: 1.3vw;
    border-left: 0;
    border-top: 1px solid #fff;
  }
  .mainvisual .blog_sec .item a {
    display: flex;
    color: #fff;
  }
  .mainvisual .blog_sec .item:not(:last-of-type) {
    margin-bottom: 2.7vw;
  }
  .mainvisual .blog_sec .date {
    width: 30%;
    margin-right: 0;
    font-size: 3.4vw;
  }
  .mainvisual .blog_sec .item_text {
    width: 70%;
    font-size: 3.4vw;
  }
  .mainvisual .blog_sec .more a {
    font-size: 3.2vw;
  }
}

.sec01 {
  position: relative;
  padding: 80px 0;
  background-color: #F4F6F8;
}
.sec01 .fukidashi_list {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
.sec01 .fukidashi_item.fukidashi_item01 {
  padding-top: 60px;
  margin-right: 30px;
}
.sec01 .fukidashi_item.fukidashi_item02 {
  margin-right: 30px;
}
.sec01 .sec01_box {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.sec01 .sec01_image {
  width: 39.4vw;
}
.sec01 .sec01_image img {
  width: 100%;
}
.sec01 .sec01_title_text {
  margin: 0 auto;
  text-align: center;
  padding-bottom: 75px;
}
.sec01 .sec01_title_text img {
  width: 100%;
}
.sec01 .lead_text {
  margin-bottom: 20px;
  font-size: 27px;
  letter-spacing: 0.1em;
  text-align: center;
}
.sec01 .sec_title {
  position: relative;
  margin-bottom: 20px;
  font-size: 65px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #0071bc;
  text-align: center;
}
.sec01 .sec_title:before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -120px;
  width: 147px;
  height: 50px;
  margin: 0 auto;
  background: url(../images/sec02_kazari01.webp) center/contain no-repeat;
}
.sec01 .time_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
}
.sec01 .time_flex .text01 {
  margin-right: 20px;
  font-size: 35px;
  letter-spacing: 0.1em;
}
.sec01 .time_flex .text02 {
  font-size: 28px;
}
.sec01 .join_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;
}
.sec01 .join_flex .text {
  padding: 5px 20px;
  border-radius: 10px;
  background: #0071bc;
  font-size: 25px;
  letter-spacing: 0.1em;
  color: #fff;
}
.sec01 .join_flex .text.text01 {
  margin-right: 30px;
}
.sec01 .sec_text {
  width: 603px;
  max-width: 90%;
  margin: 0 auto;
}
.sec01 .sec01_banner {
  margin: 0 auto;
  display: flex;
  justify-content: space-evenly;
  align-items: baseline;
}
.sec01 .banner_logo img {
  width: 100%;
}
.sec01 .banner_logo:first-of-type {
  padding-right: 20px;
}
@media screen and (max-width: 1150px) and (min-width: 768px) {
  .sec01 .illust01 {
    position: absolute;
    left: 50px;
    top: 380px;
    width: 170px;
    height: 173px;
    background: url(../images/sec02_illust01.webp) center/70% no-repeat;
  }
  .sec01 .illust02 {
    position: absolute;
    right: 50px;
    top: 420px;
    width: 140px;
    height: 162px;
    background: url(../images/sec02_illust02.webp) center/70% no-repeat;
  }
  .sec01 .illust03 {
    position: absolute;
    right: -10px;
    top: 280px;
    width: 187px;
    height: 111px;
    background: url(../images/sec02_illust03.webp) center/60% no-repeat;
  }
  .sec01 .sec_title {
    font-size: 5.8vw;
  }
  .sec01 .text_box {
    max-width: 70vw;
  }
  .sec01 .banner_logo:first-of-type {
    padding-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec01 {
    padding: 43.8vw 0 13.8vw;
  }
  .sec01 .sec01_title_text {
    margin: 0 auto;
    text-align: center;
    padding-bottom: initial;
  }
  .sec01 .fukidashi_list {
    position: relative;
    display: block;
    justify-content: center;
    margin-bottom: 8vw;
  }
  .sec01 .fukidashi_item.fukidashi_item01 {
    padding-top: 4.2vw;
    margin-left: 19.2vw;
    margin-right: 0;
    width: 46.6vw;
  }
  .sec01 .fukidashi_item.fukidashi_item01 img {
    width: 100%;
  }
  .sec01 .fukidashi_item.fukidashi_item02 {
    position: absolute;
    left: initial;
    right: 2vw;
    top: 18vw;
    margin-right: 0;
    width: 28.8vw;
  }
  .sec01 .fukidashi_item.fukidashi_item02 img {
    width: 100%;
  }
  .sec01 .fukidashi_item.fukidashi_item03 {
    position: absolute;
    right: 10vw;
    top: 46vw;
    margin-right: 0;
    width: 31.7vw;
  }
  .sec01 .fukidashi_item.fukidashi_item03 img {
    width: 100%;
  }
  .sec01 .sec01_box {
    display: flex;
    flex-direction: column;
    align-items: start;
  }
  .sec01 .lead_text {
    margin-bottom: 2.7vw;
    font-size: 5.5vw;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .sec01 .sec_title {
    position: relative;
    margin-bottom: 2.7vw;
    font-size: 8vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    color: #0071bc;
    text-align: center;
  }
  .sec01 .sec_title:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -33.3vw;
    width: 27.7vw;
    height: 9.4vw;
    margin: 0 auto;
    background: url(../images/sec02_kazari01.webp) center/contain no-repeat;
  }
  .sec01 .time_flex {
    display: block;
    margin-bottom: 5.5vw;
    text-align: center;
  }
  .sec01 .time_flex .text01 {
    margin-right: 0;
    font-size: 8vw;
    letter-spacing: 0.1em;
  }
  .sec01 .time_flex .text02 {
    font-size: 6.4vw;
  }
  .sec01 .join_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 8vw;
  }
  .sec01 .join_flex .text {
    padding: 1.3vw 4vw;
    border-radius: 10px;
    background: #0071bc;
    font-size: 5.5vw;
    letter-spacing: 0.1em;
    color: #fff;
  }
  .sec01 .join_flex .text.text01 {
    margin-right: 5.5vw;
  }
  .sec01 .sec_text {
    padding-top: 3vw;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
  }
  .sec01 .sec01_banner {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: baseline;
  }
  .sec01 .banner_logo {
    padding-bottom: 3vw;
  }
  .sec01 .banner_logo:first-of-type {
    padding-right: initial;
  }
}

.sec01_link {
  padding-top: 70px;
  margin-bottom: 70px;
}
.sec01_link .flexbox {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding-right: 40px;
}
.sec01_link .flexbox .link:nth-of-type(1) {
  margin-right: clamp(54px, 7.03vw, 90px);
}
@media screen and (max-width: 767px) {
  .sec01_link {
    padding-top: 4.2vw;
    margin-bottom: 20.7vw;
  }
  .sec01_link .flexbox {
    display: block;
    padding-right: initial;
    text-align: center;
  }
  .sec01_link .flexbox .link {
    margin: 0 auto;
    padding-right: 9vw;
  }
  .sec01_link .flexbox .link img {
    width: 70vw;
  }
  .sec01_link .flexbox .link:nth-of-type(1) {
    margin-right: initial;
  }
  .sec01_link .flexbox .link:nth-of-type(1) img {
    margin-bottom: 13.8vw;
  }
}

.sec02 {
  position: relative;
  margin-bottom: 100px;
}
.sec02 .sec_head {
  overflow: hidden;
  position: relative;
  padding-bottom: 110px;
}
.sec02 .sec_head .sec_title {
  padding-top: 110px;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 41px;
  letter-spacing: 0.2em;
  color: #534741;
  text-align: center;
}
.sec02 .sec_head:before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 110px;
  right: 0;
  left: 0;
  margin: auto;
  width: 976px;
  height: 396px;
  background: url(../images/sp_sec02_text2.webp) center/contain no-repeat;
}
.sec02 .sec_head .sec02_gb_img {
  position: relative;
}
.sec02 .sec_head .sec02_gb_img:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding-left: 100vw;
  width: 604px;
  height: 201px;
  background: url(../images/sec02_clinic.webp) center/contain no-repeat;
}
.sec02 .inner {
  width: 1280px;
  padding: 0 20px;
  margin: 0 auto;
}
.sec02 .textbox {
  width: 630px;
}
.sec02 .point_header {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.sec02 .num {
  width: 106px;
  margin-right: 30px;
}
.sec02 .num img {
  width: 100%;
}
.sec02 .point_title {
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 36px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #4d4d4d;
}
.sec02 .point_upper {
  display: flex;
  align-items: center;
}
.sec02 .point01 {
  margin-bottom: 100px;
}
.sec02 .point01 .point_upper {
  margin-bottom: 80px;
}
.sec02 .point01 .textbox {
  margin-right: 40px;
}
.sec02 .point01 .point_image {
  position: relative;
}
.sec02 .point01 .point_bubble {
  position: absolute;
  top: 25px;
  right: 55px;
  width: 204px;
  height: 204px;
}
.sec02 .point01 .link_btn {
  padding-top: 20px;
  width: 312px;
  margin-left: auto;
  margin: 0 auto;
}
.sec02 .point01 .point_lower {
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
}
.sec02 .point01 .lower_cont {
  width: 530px;
  max-width: 48%;
}
.sec02 .point01 .cont_header {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
.sec02 .point01 .head_image {
  position: absolute;
  left: 0;
  top: -30px;
  margin-right: 20px;
}
.sec02 .point01 .cont_title {
  position: relative;
  padding-left: 160px;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #4d4d4d;
}
.sec02 .point02 {
  margin-bottom: 100px;
}
.sec02 .point02 .point_upper {
  flex-direction: row-reverse;
  margin-bottom: 80px;
}
.sec02 .point02 .point_image {
  position: relative;
  margin-right: 30px;
}
.sec02 .point02 .point_bubble {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 25px;
  right: 32px;
  width: 204px;
  height: 204px;
  border-radius: 50%;
  text-align: center;
  background: linear-gradient(90deg, rgba(216, 211, 232, 0.7), rgba(255, 255, 255, 0.7) 70%);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #534741;
}
.sec02 .point02 .point_lower {
  position: relative;
  padding: 20px 40px 80px;
  background: #fff;
}
.sec02 .point02 .point_lower:before {
  content: "";
  position: absolute;
  right: 380px;
  bottom: 20px;
  width: 161px;
  height: 17px;
  background: url(../images/text_child.webp) center/contain no-repeat;
}
.sec02 .point02 .lower_image {
  position: absolute;
  left: 30px;
  top: -30px;
  max-width: 48%;
}
.sec02 .point02 .lower_textbox {
  width: 500px;
  max-width: 48%;
  margin-left: auto;
}
.sec02 .point02 .lower_title {
  padding-bottom: 10px;
  border-bottom: 1px solid #EE7E00;
  margin-bottom: 10px;
  font-size: 30px;
  letter-spacing: 0.1em;
}
.sec02 .point03 {
  margin-bottom: 100px;
}
.sec02 .point03 .point_upper {
  margin-bottom: 30px;
}
.sec02 .point03 .textbox {
  margin-right: 30px;
}
.sec02 .point03 .point_image {
  position: relative;
}
.sec02 .point03 .point_bubble {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 25px;
  right: 32px;
  width: 204px;
  height: 204px;
  border-radius: 50%;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.7);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #534741;
}
.sec02 .point03 .clinic_list {
  display: flex;
  justify-content: space-between;
  width: 1200px;
  max-width: 100%;
  margin: 0 auto 80px;
}
.sec02 .point03 .clinic_item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 262px;
  height: 262px;
  border-radius: 50%;
  text-align: center;
}
.sec02 .point03 .item_text01 {
  margin-bottom: 10px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.sec02 .point03 .item_icon {
  margin-bottom: 10px;
}
.sec02 .point03 .item_text02 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.sec02 .point03 .clinic_item:nth-of-type(1) {
  background: #EDEDDE;
}
.sec02 .point03 .clinic_item:nth-of-type(1) .item_text02 {
  color: #8DA666;
}
.sec02 .point03 .clinic_item:nth-of-type(2) {
  background: #ECF6FD;
}
.sec02 .point03 .clinic_item:nth-of-type(2) .item_text02 {
  color: #707E98;
}
.sec02 .point03 .clinic_item:nth-of-type(3) {
  background: #FCEDF4;
}
.sec02 .point03 .clinic_item:nth-of-type(3) .item_text02 {
  color: #BE7E99;
}
.sec02 .point03 .clinic_item:nth-of-type(4) {
  background: #F5F0E1;
}
.sec02 .point03 .clinic_item:nth-of-type(4) .item_text02 {
  color: #918000;
}
.sec02 .point03 .lower_title {
  position: relative;
  margin-bottom: 150px;
  font-size: 30px;
  letter-spacing: 0.2em;
  text-align: center;
}
.sec02 .point03 .lower_title .color {
  font-size: 38px;
  color: #D16B4D;
}
.sec02 .point03 .lower_title:before {
  content: "";
  position: absolute;
  bottom: -100px;
  left: 0;
  right: 0;
  width: 243px;
  height: 78px;
  margin: 0 auto;
  background: url(../images/text_family.webp) center/contain no-repeat;
}
.sec02 .point03 .lower_list {
  position: relative;
  display: flex;
  justify-content: center;
  width: 1225px;
  max-width: 100%;
  margin: 0 auto;
}
.sec02 .point03 .lower_list:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -30px;
  width: 100%;
  height: 260px;
  background: #F9E4D9;
}
.sec02 .point03 .lower_item {
  position: relative;
  z-index: 2;
  width: 340px;
  max-width: 30%;
}
.sec02 .point03 .lower_item .item_title {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  font-size: 31px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #D16B4D;
  text-align: center;
}
.sec02 .point03 .lower_item .item_image {
  margin-bottom: 10px;
}
.sec02 .point03 .lower_item .item_text {
  padding: 0 30px;
}
.sec02 .point03 .lower_item:not(:last-of-type) {
  margin-right: 40px;
}
.sec02 .point04 {
  margin-bottom: 0px;
}
.sec02 .point04 .point_upper {
  flex-direction: row-reverse;
  margin-bottom: 80px;
}
.sec02 .point04 .point_image {
  position: relative;
  margin-right: 30px;
}
.sec02 .point04 .point_bubble {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 33px;
  left: 54px;
  width: 204px;
  height: 204px;
  border-radius: 50%;
  text-align: center;
  background: linear-gradient(90deg, rgba(237, 177, 120, 0.7), rgba(255, 255, 255, 0.7) 70%);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #534741;
}
.sec02 .point04 .clinic_list {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  width: 1200px;
  max-width: 100%;
  margin: 0 auto 80px;
}
.sec02 .point04 .clinic_item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 262px;
  height: 262px;
  border-radius: 50%;
  text-align: center;
  margin: 10px 0px;
}
.sec02 .point04 .item_text01 {
  margin-bottom: 10px;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.sec02 .point04 .item_icon {
  margin-bottom: 10px;
}
.sec02 .point04 .item_text02 {
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.2;
}
.sec02 .point04 .clinic_item:nth-of-type(1) {
  background: #b8d4ca;
}
.sec02 .point04 .clinic_item:nth-of-type(1) .item_text02 {
  color: #006837;
}
.sec02 .point04 .clinic_item:nth-of-type(2) {
  background: #ecce9c;
}
.sec02 .point04 .clinic_item:nth-of-type(2) .item_text02 {
  color: #8c6239;
}
.sec02 .point04 .clinic_item:nth-of-type(3) {
  background: #e4b19b;
}
.sec02 .point04 .clinic_item:nth-of-type(3) .item_text02 {
  color: #d06a28;
}
.sec02 .point04 .clinic_item:nth-of-type(4) {
  background: #c9dcea;
}
.sec02 .point04 .clinic_item:nth-of-type(4) .item_text02 {
  color: #527ea9;
}
.sec02 .point04 .lower_title {
  position: relative;
  margin-bottom: 150px;
  font-size: 30px;
  letter-spacing: 0.2em;
  text-align: center;
  color: #4d4d4d;
}
.sec02 .point04 .lower_title v .color {
  font-size: 38px;
  color: #f88987;
}
.sec02 .point04 .lower_title:before {
  content: "";
  position: absolute;
  bottom: -100px;
  left: 0;
  right: 0;
  width: 423px;
  height: 78px;
  margin: 0 auto;
  background: url(../images/text_family.webp) center/contain no-repeat;
}
.sec02 .point04 .lower_list {
  position: relative;
  display: flex;
  justify-content: center;
  width: 1225px;
  max-width: 100%;
  margin: 0 auto;
}
.sec02 .point04 .lower_list:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -30px;
  width: 100%;
  height: 260px;
  background: #fbf1f0;
}
.sec02 .point04 .lower_item {
  position: relative;
  z-index: 2;
  width: 340px;
  max-width: 30%;
}
.sec02 .point04 .lower_item .item_title {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100px;
  font-size: 31px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #f88987;
  text-align: center;
}
.sec02 .point04 .lower_item .item_image {
  margin-bottom: 10px;
}
.sec02 .point04 .lower_item .item_text {
  text-align: center;
}
.sec02 .point04 .lower_item:not(:last-of-type) {
  margin-right: 40px;
}
.sec02 .point04 .point_image {
  position: relative;
  z-index: 2;
  margin-right: 30px;
}
.sec02 .point04 .image_text {
  position: absolute;
  right: -10px;
  bottom: -70px;
  padding: 20px;
  background: rgba(101, 155, 183, 0.72);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}
.sec02 .point04 .textbox {
  position: relative;
  z-index: 2;
}
.sec02 .point05 .point_upper {
  bottom: 80px;
}
.sec02 .point05 .point_lower .lower_list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 1225px;
  max-width: 100%;
  margin: 0 auto;
  padding-top: 80px;
}
.sec02 .point05 .lower_item_upper {
  width: 31%;
  padding-bottom: 40px;
}
.sec02 .point05 .lower_item_upper .item_title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 26px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #2E5280;
  text-align: center;
}
.sec02 .point05 .lower_item_upper .item_image {
  margin-bottom: 10px;
}
.sec02 .point05 .lower_item_upper .item_text {
  padding: 0 30px;
  padding-bottom: 20px;
  text-align: center;
  height: 25px;
}
.sec02 .point05 .lower_item_upper:not(:last-of-type) {
  margin-right: 20px;
}
.sec02 .point05 .lower_item {
  width: 31%;
  padding-bottom: 40px;
}
.sec02 .point05 .lower_item .item_title {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 27px;
  font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #2E5280;
  text-align: center;
}
.sec02 .point05 .lower_item .item_image {
  margin-bottom: 10px;
}
.sec02 .point05 .lower_item .item_text {
  padding: 0 30px;
  padding-bottom: 20px;
  text-align: center;
  height: 25px;
}
.sec02 .point05 .lower_item:not(:last-of-type) {
  margin-right: 20px;
}
.sec02 .point05 .textbox {
  margin-right: 30px;
}
.sec02 .point05 .point_image {
  position: relative;
  z-index: 2;
}
.sec02 .point05 .image_text {
  position: absolute;
  left: -10px;
  bottom: -30px;
  padding: 20px;
  background: rgba(228, 174, 74, 0.72);
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.2;
  color: #fff;
  text-align: center;
}
.sec02 .point05 .textbox {
  position: relative;
  z-index: 2;
}
.sec02 .point05 .point_bubble {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 1vw;
  right: 4vw;
  width: 204px;
  height: 204px;
  border-radius: 50%;
  text-align: center;
  background-color: rgba(255, 255, 255, 0.7);
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.6;
  color: #534741;
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  .sec02 .sec_head {
    overflow: hidden;
    position: relative;
    padding-bottom: 8.4vw;
  }
  .sec02 .sec_head .sec_title {
    padding-top: 110px;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 41px;
    letter-spacing: 0.2em;
    color: #534741;
    text-align: center;
  }
  .sec02 .sec_head:before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 6vw;
    right: 0;
    left: 0;
    margin: auto;
    width: 76.25vw;
    height: 396px;
    background: url(../images/sp_sec02_text2.webp) center/contain no-repeat;
  }
  .sec02 .sec_head .sec02_gb_img {
    position: relative;
  }
  .sec02 .sec_head .sec02_gb_img:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: 0 auto;
    padding-left: 130vw;
    width: 22.8vw;
    height: 15.7vw;
    background: url(../images/sec02_clinic.webp) center/contain no-repeat;
  }
  .sec02 .num {
    width: 10vw;
    margin-right: 1.5vw;
  }
  .sec02 .num img {
    width: 100%;
  }
  .sec02 .point_title {
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: 0.01em;
  }
  .sec02 .point01 {
    margin-bottom: 6vw;
  }
  .sec02 .point01 .head_image {
    width: 11.9vw;
  }
  .sec02 .point01 .cont_title {
    height: 95px;
    padding-left: 13vw;
    font-size: 18px;
  }
  .sec02 .point01 .point_bubble {
    position: absolute;
    top: 2.6vw;
    right: 1.6vw;
    width: 19.6vw;
    height: 19.6vw;
  }
  .sec02 .point02 {
    margin-bottom: 6vw;
  }
  .sec02 .point02 .point_bubble {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 1vw;
    right: 2vw;
    width: 16.6vw;
    height: 16.6vw;
    border-radius: 50%;
    text-align: center;
    background: linear-gradient(90deg, rgba(216, 211, 232, 0.7), rgba(255, 255, 255, 0.7) 70%);
    font-size: 1.5vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #534741;
  }
  .sec02 .point02 .point_lower {
    position: relative;
    padding: 20px 40px 80px;
    background: #fff;
  }
  .sec02 .point02 .point_lower:before {
    content: "";
    position: absolute;
    right: 25%;
    bottom: 20px;
    width: 161px;
    height: 17px;
    background: url(../images/text_child.webp) center/contain no-repeat;
  }
  .sec02 .point02 .lower_image {
    position: absolute;
    left: 10px;
    top: -30px;
    max-width: 48%;
  }
  .sec02 .point02 .lower_textbox {
    width: 500px;
    max-width: 48%;
    margin-left: auto;
  }
  .sec02 .point03 {
    margin-bottom: 6vw;
  }
  .sec02 .point03 .point_bubble {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 2vw;
    left: 24vw;
    width: 16.6vw;
    height: 16.6vw;
    border-radius: 50%;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.7);
    font-size: 1.7vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #534741;
  }
  .sec02 .point03 .clinic_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20.8vw;
    height: 20.8vw;
    border-radius: 50%;
    text-align: center;
  }
  .sec02 .point03 .item_text01 {
    margin-bottom: 10px;
    font-size: 1.5vw;
    letter-spacing: 0.1em;
    line-height: 1.2;
  }
  .sec02 .point03 .item_icon {
    margin-bottom: 10px;
  }
  .sec02 .point03 .item_text02 {
    font-size: 2vw;
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .sec02 .point03 .lower_item .item_title {
    font-size: 2.6vw;
  }
  .sec02 .point03 .lower_item .item_text {
    padding: 0;
  }
  .sec02 .point03 .lower_item:not(:last-of-type) {
    margin-right: 20px;
  }
  .sec02 .point04 .point_bubble {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 9vw;
    left: 2vw;
    width: 16.6vw;
    height: 16.6vw;
    border-radius: 50%;
    text-align: center;
    background: linear-gradient(90deg, rgba(237, 177, 120, 0.7), rgba(255, 255, 255, 0.7) 70%);
    font-size: 1.7vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #534741;
  }
  .sec02 .point04 .point_lower .item_title {
    font-size: 31px;
  }
  .sec02 .point04 .clinic_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20.8vw;
    height: 20.8vw;
    border-radius: 50%;
    text-align: center;
  }
  .sec02 .point04 .item_text01 {
    margin-bottom: 10px;
    font-size: 1.5vw;
    letter-spacing: 0.1em;
    line-height: 1.2;
  }
  .sec02 .point04 .item_icon {
    margin-bottom: 10px;
  }
  .sec02 .point04 .item_text02 {
    font-size: 2vw;
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .sec02 .point04 .lower_item .item_title {
    font-size: 2.6vw;
  }
  .sec02 .point04 .lower_item .item_text {
    padding: 0;
  }
  .sec02 .point04 .lower_item:not(:last-of-type) {
    margin-right: 20px;
  }
  .sec02 .point05 .point_bubble {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 1vw;
    right: 4vw;
    width: 16.6vw;
    height: 16.6vw;
    border-radius: 50%;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.7);
    font-size: 1.7vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #534741;
  }
  .sec02 .point05 .point_lower .item_title {
    font-size: 31px;
  }
  .sec02 .point05 .clinic_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 20.8vw;
    height: 20.8vw;
    border-radius: 50%;
    text-align: center;
  }
  .sec02 .point05 .item_text01 {
    margin-bottom: 10px;
    font-size: 1.5vw;
    letter-spacing: 0.1em;
    line-height: 1.2;
  }
  .sec02 .point05 .item_icon {
    margin-bottom: 10px;
  }
  .sec02 .point05 .item_text02 {
    font-size: 2vw;
    font-weight: 600;
    letter-spacing: 0.1em;
  }
  .sec02 .point05 .lower_item .item_title {
    font-size: 2.6vw;
  }
  .sec02 .point05 .lower_item .item_text {
    padding: 0;
  }
  .sec02 .point05 .lower_item:not(:last-of-type) {
    margin-right: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec02 {
    position: relative;
    margin-bottom: 20.7vw;
  }
  .sec02 .sec_head {
    overflow: hidden;
    position: relative;
    padding-bottom: 6vw;
  }
  .sec02 .sec_head img {
    width: auto;
    height: 100%;
  }
  .sec02 .sec_head .sec_title {
    padding-top: 110px;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 41px;
    letter-spacing: 0.2em;
    color: #534741;
    text-align: center;
  }
  .sec02 .sec_head:before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 8vw;
    left: 0vw;
    right: 0vw;
    width: 95.2vw;
    height: 43.2vw;
    background: url(../images/sp_sec02_text2.webp) center/contain no-repeat;
  }
  .sec02 .sec_head .sec02_gb_img {
    position: relative;
    height: 77.6vw;
  }
  .sec02 .sec_head .sec02_gb_img:after {
    content: "";
    position: absolute;
    bottom: 4vw;
    right: 0vw;
    padding-left: 70vw;
    margin: 0 auto;
    width: 63.4vw;
    height: 21vw;
    background: url(../images/sp_sec02_clinic.webp) center/contain no-repeat;
  }
  .sec02 .inner {
    width: 100%;
    padding: 0 5.5vw;
  }
  .sec02 .sec_title {
    width: 90%;
    margin: 0 auto 13.8vw;
    text-align: center;
  }
  .sec02 .textbox {
    width: 100%;
  }
  .sec02 .point_header {
    display: flex;
    align-items: center;
    margin-bottom: 5.5vw;
  }
  .sec02 .num {
    width: 18vw;
    min-width: 18vw;
    margin-right: 5.5vw;
  }
  .sec02 .num img {
    width: 100%;
  }
  .sec02 .point_title {
    font-size: 5.5vw;
    letter-spacing: 0.1em;
  }
  .sec02 .point_upper {
    display: block;
  }
  .sec02 .point_image {
    width: 100%;
  }
  .sec02 .point_image img {
    width: 100%;
  }
  .sec02 .point01 {
    margin-bottom: 10.3vw;
  }
  .sec02 .point01 .point_upper {
    margin-bottom: 13.8vw;
  }
  .sec02 .point01 .point_image {
    margin-right: 0;
    margin-bottom: 2.7vw;
  }
  .sec02 .point01 .point_bubble {
    position: absolute;
    top: 2.6vw;
    right: 1.6vw;
    width: 38.6vw;
    height: 38.6vw;
  }
  .sec02 .point01 .point_lower {
    display: block;
    padding: 0;
  }
  .sec02 .point01 .lower_cont {
    width: 100%;
    max-width: 100%;
  }
  .sec02 .point01 .cont_header {
    display: block;
    align-items: center;
    margin-bottom: 13.8vw;
  }
  .sec02 .point01 .head_image {
    position: static;
    width: 27.7vw;
    margin: 0 auto 2.7vw;
    text-align: center;
  }
  .sec02 .point01 .head_image img {
    width: 100%;
  }
  .sec02 .point01 .link_btn {
    padding-top: 5.3vw;
    width: 83.2vw;
    text-align: center;
  }
  .sec02 .point01 .cont_title {
    position: relative;
    padding-left: 0;
    font-size: 4.8vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .sec02 .point01 .lower_cont.cont01 {
    margin-bottom: 13.8vw;
    /*.cont_title {

        &:before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -8vw;
            width: 40vw;
            height: 4vw;
            margin: 0 auto;
            background: url(../images/text_treatment.webp) center /contain no-repeat;
        }
    } */
  }
  .sec02 .point01 .lower_cont.cont02 {
    /*.cont_title {

        &:before {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -8vw;
            width: 40vw;
            height: 5.4vw;
            margin: 0 auto;
            background: url(../images/text_prevention.webp) center /contain no-repeat;
        }
    } */
  }
  .sec02 .point02 {
    margin-bottom: 10.3vw;
  }
  .sec02 .point02 .point_upper {
    margin-bottom: 8vw;
  }
  .sec02 .point02 .point_image {
    margin-right: 0;
    margin-bottom: 2.7vw;
  }
  .sec02 .point02 .point_bubble {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 4vw;
    right: 2vw;
    width: 38.6vw;
    height: 38.6vw;
    border-radius: 50%;
    text-align: center;
    background: linear-gradient(90deg, rgba(216, 211, 232, 0.7), rgba(255, 255, 255, 0.7) 70%);
    font-size: 3.4vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #534741;
  }
  .sec02 .point02 .textbox {
    margin-right: 0;
  }
  .sec02 .point02 .point_lower {
    position: relative;
    display: flex;
    flex-direction: column-reverse;
    padding: 5.5vw 5.5vw 10.6vw;
    background: #fff;
  }
  .sec02 .point02 .point_lower:before {
    content: "";
    position: absolute;
    right: 2.7vw;
    bottom: 2.7vw;
    width: 42.9vw;
    height: 4.5vw;
    background: url(../images/text_child.webp) center/contain no-repeat;
  }
  .sec02 .point02 .lower_image {
    position: static;
    max-width: 100%;
  }
  .sec02 .point02 .lower_textbox {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-bottom: 2.7vw;
  }
  .sec02 .point02 .lower_title {
    padding-bottom: 2.7vw;
    border-bottom: 1px solid #EE7E00;
    margin-bottom: 10px;
    font-size: 5.5vw;
    letter-spacing: 0.1em;
  }
  .sec02 .point03 {
    margin-bottom: 10.3vw;
  }
  .sec02 .point03 .point_upper {
    margin-bottom: 8vw;
  }
  .sec02 .point03 .point_image {
    margin-right: 0;
    margin-bottom: 2.7vw;
  }
  .sec02 .point03 .point_bubble {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 2vw;
    left: 45vw;
    width: 38.6vw;
    height: 38.6vw;
    border-radius: 50%;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.7);
    font-size: 4vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #534741;
  }
  .sec02 .point03 .clinic_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto 13.8vw;
  }
  .sec02 .point03 .clinic_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40vw;
    height: 40vw;
    border-radius: 50%;
    text-align: center;
  }
  .sec02 .point03 .item_text01 {
    margin-bottom: 2.7vw;
    font-size: 3.2vw;
    letter-spacing: 0.1em;
    line-height: 1.2;
  }
  .sec02 .point03 .item_icon {
    margin-bottom: 2.7vw;
  }
  .sec02 .point03 .item_icon img {
    width: 15vw;
  }
  .sec02 .point03 .item_text02 {
    font-size: 3.8vw;
    line-height: 1.2;
  }
  .sec02 .point03 .clinic_item:nth-of-type(1) {
    margin-bottom: 5.5vw;
  }
  .sec02 .point03 .clinic_item:nth-of-type(2) {
    margin-bottom: 5.5vw;
  }
  .sec02 .point03 .clinic_item:nth-of-type(3) {
    background: #FCEDF4;
  }
  .sec02 .point03 .clinic_item:nth-of-type(3) .item_text02 {
    color: #BE7E99;
  }
  .sec02 .point03 .clinic_item:nth-of-type(4) {
    background: #F5F0E1;
  }
  .sec02 .point03 .clinic_item:nth-of-type(4) .item_text02 {
    color: #918000;
  }
  .sec02 .point03 .lower_title {
    position: relative;
    margin-bottom: 25vw;
    font-size: 5.5vw;
    letter-spacing: 0.2em;
    text-align: center;
  }
  .sec02 .point03 .lower_title .color {
    font-size: 6.4vw;
    color: #D16B4D;
  }
  .sec02 .point03 .lower_title:before {
    content: "";
    position: absolute;
    bottom: -16vw;
    left: 0;
    right: 0;
    width: 40vw;
    height: 12.8vw;
    margin: 0 auto;
    background: url(../images/text_family.webp) center/contain no-repeat;
  }
  .sec02 .point03 .lower_list {
    position: relative;
    display: block;
  }
  .sec02 .point03 .lower_list:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -30px;
    width: 100%;
    height: 95%;
    background: #F9E4D9;
  }
  .sec02 .point03 .lower_item {
    position: relative;
    z-index: 2;
    width: 90%;
    max-width: 90%;
    margin: 0 auto;
  }
  .sec02 .point03 .lower_item .item_title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    margin-bottom: 2.7vw;
    font-size: 5.5vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #D16B4D;
    text-align: center;
  }
  .sec02 .point03 .lower_item .item_image {
    margin-bottom: 2.7vw;
    text-align: center;
  }
  .sec02 .point03 .lower_item .item_text {
    padding: 0 5.5vw;
    font-size: 4vw;
    text-align: center;
  }
  .sec02 .point03 .lower_item:not(:last-of-type) {
    margin-right: auto;
    margin-bottom: 8vw;
  }
  .sec02 .point04 .point_upper {
    margin-bottom: initial;
  }
  .sec02 .point04 .point_image {
    margin-right: 0;
    margin-bottom: 2.7vw;
  }
  .sec02 .point04 .point_bubble {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 17vw;
    left: 9vw;
    width: 38.6vw;
    height: 38.6vw;
    border-radius: 50%;
    text-align: center;
    background: linear-gradient(90deg, rgba(237, 177, 120, 0.7), rgba(255, 255, 255, 0.7) 70%);
    font-size: 4vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #534741;
  }
  .sec02 .point04 .image_text {
    position: absolute;
    right: -2.7vw;
    bottom: -2.7vw;
    padding: 2.7vw;
    background: rgba(101, 155, 183, 0.72);
    font-size: 4.4vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.2;
    color: #fff;
    text-align: center;
  }
  .sec02 .point04 .clinic_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto 13.8vw;
  }
  .sec02 .point04 .clinic_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 43vw;
    height: 43vw;
    border-radius: 50%;
    text-align: center;
  }
  .sec02 .point04 .item_text01 {
    margin-bottom: 2.7vw;
    font-size: 3.2vw;
    letter-spacing: 0.1em;
    line-height: 1.2;
  }
  .sec02 .point04 .item_icon {
    margin-bottom: 2.7vw;
  }
  .sec02 .point04 .item_icon img {
    width: 15vw;
  }
  .sec02 .point04 .item_text02 {
    font-size: 3.8vw;
    line-height: 1.2;
  }
  .sec02 .point04 .clinic_item:nth-of-type(1) {
    margin-bottom: 5.5vw;
  }
  .sec02 .point04 .clinic_item:nth-of-type(2) {
    margin-bottom: 5.5vw;
  }
  .sec02 .point04 .clinic_item:nth-of-type(3) {
    background: #e4b19b;
  }
  .sec02 .point04 .clinic_item:nth-of-type(3) .item_text02 {
    color: #d06a28;
  }
  .sec02 .point04 .clinic_item:nth-of-type(4) {
    background: #c9dcea;
  }
  .sec02 .point04 .clinic_item:nth-of-type(4) .item_text02 {
    color: #527ea9;
  }
  .sec02 .point04 .lower_title {
    position: relative;
    margin-bottom: 25vw;
    font-size: 5.5vw;
    letter-spacing: 0.2em;
    text-align: center;
  }
  .sec02 .point04 .lower_title .color {
    font-size: 6.4vw;
    color: #D16B4D;
  }
  .sec02 .point04 .lower_title:before {
    content: "";
    position: absolute;
    bottom: -16vw;
    left: 0;
    right: 0;
    width: 72vw;
    height: 12.8vw;
    margin: 0 auto;
    background: url(../images/text_family.webp) center/contain no-repeat;
  }
  .sec02 .point04 .lower_list {
    position: relative;
    display: block;
  }
  .sec02 .point04 .lower_list:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -30px;
    width: 100%;
    height: 95%;
    background: #F9E4D9;
  }
  .sec02 .point04 .lower_item {
    position: relative;
    z-index: 2;
    width: 90%;
    max-width: 90%;
    margin: 0 auto;
  }
  .sec02 .point04 .lower_item .item_title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    margin-bottom: 2.7vw;
    font-size: 5.5vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #D16B4D;
    text-align: center;
  }
  .sec02 .point04 .lower_item .item_image {
    margin-bottom: 2.7vw;
    text-align: center;
  }
  .sec02 .point04 .lower_item .item_text {
    padding: 0 5.5vw;
    font-size: 4vw;
    text-align: center;
  }
  .sec02 .point04 .lower_item:not(:last-of-type) {
    margin-right: auto;
    margin-bottom: 8vw;
  }
  .sec02 .point05 {
    margin-bottom: 10.3vw;
    margin-top: 10.3vw;
  }
  .sec02 .point05 .point_upper {
    margin-bottom: 8vw;
  }
  .sec02 .point05 .point_image {
    margin-right: 0;
    margin-bottom: 2.7vw;
  }
  .sec02 .point05 .point_bubble {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 18vw;
    right: 4vw;
    width: 38.6vw;
    height: 38.6vw;
    border-radius: 50%;
    text-align: center;
    background-color: rgba(255, 255, 255, 0.7);
    font-size: 4vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #534741;
  }
  .sec02 .point05 .clinic_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 1200px;
    max-width: 100%;
    margin: 0 auto 13.8vw;
  }
  .sec02 .point05 .clinic_item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40vw;
    height: 40vw;
    border-radius: 50%;
    text-align: center;
  }
  .sec02 .point05 .item_text01 {
    margin-bottom: 2.7vw;
    font-size: 3.2vw;
    letter-spacing: 0.1em;
    line-height: 1.2;
  }
  .sec02 .point05 .item_icon {
    margin-bottom: 2.7vw;
  }
  .sec02 .point05 .item_icon img {
    width: 15vw;
  }
  .sec02 .point05 .item_text02 {
    font-size: 3.8vw;
    line-height: 1.2;
  }
  .sec02 .point05 .clinic_item:nth-of-type(1) {
    margin-bottom: 5.5vw;
  }
  .sec02 .point05 .clinic_item:nth-of-type(2) {
    margin-bottom: 5.5vw;
  }
  .sec02 .point05 .clinic_item:nth-of-type(3) {
    background: #FCEDF4;
  }
  .sec02 .point05 .clinic_item:nth-of-type(3) .item_text02 {
    color: #BE7E99;
  }
  .sec02 .point05 .clinic_item:nth-of-type(4) {
    background: #F5F0E1;
  }
  .sec02 .point05 .clinic_item:nth-of-type(4) .item_text02 {
    color: #918000;
  }
  .sec02 .point05 .lower_title {
    position: relative;
    margin-bottom: 25vw;
    font-size: 5.5vw;
    letter-spacing: 0.2em;
    text-align: center;
  }
  .sec02 .point05 .lower_title .color {
    font-size: 6.4vw;
    color: #D16B4D;
  }
  .sec02 .point05 .lower_title:before {
    content: "";
    position: absolute;
    bottom: -16vw;
    left: 0;
    right: 0;
    width: 40vw;
    height: 12.8vw;
    margin: 0 auto;
    background: url(../images/text_family.webp) center/contain no-repeat;
  }
  .sec02 .point05 .lower_list {
    position: relative;
    display: block;
  }
  .sec02 .point05 .lower_list:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -30px;
    width: 100%;
    height: 95%;
    background: #F9E4D9;
  }
  .sec02 .point05 .lower_item {
    position: relative;
    z-index: 2;
    width: 90%;
    max-width: 90%;
    margin: 0 auto;
  }
  .sec02 .point05 .lower_item .item_title {
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    margin-bottom: 2.7vw;
    font-size: 5.5vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #D16B4D;
    text-align: center;
  }
  .sec02 .point05 .lower_item .item_image {
    margin-bottom: 2.7vw;
    text-align: center;
  }
  .sec02 .point05 .lower_item .item_text {
    padding: 0 5.5vw;
    font-size: 4vw;
    text-align: center;
  }
  .sec02 .point05 .lower_item:not(:last-of-type) {
    margin-right: auto;
    margin-bottom: 8vw;
  }
}

.sec03 {
  overflow: hidden;
  padding: 125px 0 40px;
  position: relative;
}
.sec03:before {
  content: "menu";
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 34px;
  letter-spacing: 0.2em;
  color: #3E8C9A;
}
.sec03 .sec_title {
  position: relative;
  margin-bottom: 100px;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: clamp(30px, 0.3908vw, 48px);
  font-weight: 600;
  letter-spacing: 0.2em;
  text-align: center;
}
.sec03 .adult {
  padding-bottom: 100px;
}
.sec03 .adult .menu_header {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto 100px;
  background-color: #BEA882;
  position: relative;
}
.sec03 .adult .menu_header:after {
  content: "";
  position: absolute;
  right: -100px;
  top: -40px;
  width: clamp(432px, 56.25vw, 725px);
  height: clamp(290px, 37.73vw, 483px);
  background: url(../images/sec03_adult_image.webp) center/contain no-repeat;
}
.sec03 .adult .menu_header .textbox {
  width: 48%;
  max-width: 48%;
  padding-left: 25px;
  padding-bottom: 45px;
  box-sizing: border-box;
}
.sec03 .adult .menu_header .lead_text {
  padding-top: 70px;
  font-size: 21px;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 25px;
}
.sec03 .adult .menu_header .menu_title {
  padding-bottom: 30px;
  font-size: clamp(32px, 3.906vw, 50px);
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  color: #fff;
}
.sec03 .adult .menu_header .menu_title_text {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  color: #fff;
  margin-bottom: 40px;
}
.sec03 .cont {
  width: 1150px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
.sec03 .cont .imagebox {
  width: 48%;
  min-width: 48%;
  max-width: 48%;
}
.sec03 .cont .textbox {
  width: 48%;
}
.sec03 .cont .cont_head {
  display: flex;
  align-items: flex-end;
  padding-bottom: 5px;
  margin-bottom: 15px;
}
.sec03 .cont .cont_head .cont_subtext {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 18px;
  letter-spacing: 0.01em;
}
.sec03 .cont .cont_head .cont_title {
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: clamp(30px, 3.75vw, 48px);
  letter-spacing: 0.01em;
}
.sec03 .cont .cont_text {
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
}
.sec03 .cont01 {
  margin-bottom: 100px;
  position: relative;
}
.sec03 .cont01::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -30px;
  right: clamp(-60px, -4.687vw, -38px);
  background: url(../images/sec03_adult_cont01_bg.webp) center/contain no-repeat;
  width: clamp(319px, 39.843vw, 510px);
  height: clamp(146px, 18.281vw, 234px);
}
.sec03 .cont01 .textbox {
  margin-right: 50px;
}
.sec03 .cont01 .cont_head {
  border-bottom: 1px solid #bea882;
}
.sec03 .cont01 .cont_head .box_text {
  position: relative;
}
.sec03 .cont01 .cont_head .box_text::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -4px;
  right: clamp(-162px, -12.656vw, -101px);
  background: url(../images/sec03_adult_cont01_icon.webp) center/contain no-repeat;
  width: clamp(119px, 14.843vw, 190px);
  height: clamp(96px, 11.953vw, 153px);
}
.sec03 .cont02 {
  margin-bottom: 120px;
  flex-direction: row-reverse;
  position: relative;
}
.sec03 .cont02::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -30px;
  left: clamp(-80px, -6.25vw, -50px);
  background: url(../images/sec03_adult_cont02_bg.webp) center/contain no-repeat;
  width: clamp(324px, 40.468vw, 518px);
  height: clamp(146px, 18.203vw, 233px);
}
.sec03 .cont02 .textbox {
  margin-left: 50px;
}
.sec03 .cont02 .cont_head {
  border-bottom: 1px solid #bea882;
}
.sec03 .cont02 .cont_head .box_text {
  position: relative;
}
.sec03 .cont02 .cont_head .box_text::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -4px;
  right: clamp(-162px, -12.656vw, -101px);
  background: url(../images/sec03_adult_cont02_icon.webp) center/contain no-repeat;
  width: clamp(86px, 10.781vw, 138px);
  height: clamp(86px, 10.781vw, 138px);
}
.sec03 .cont03 {
  margin-bottom: 100px;
  position: relative;
}
.sec03 .cont03::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -60px;
  right: clamp(-40px, -3.125vw, -25px);
  background: url(../images/sec03_adult_cont03_bg.webp) center/contain no-repeat;
  width: clamp(324px, 40.468vw, 518px);
  height: clamp(163px, 20.312vw, 260px);
}
.sec03 .cont03 .textbox {
  margin-right: 50px;
}
.sec03 .cont03 .cont_head {
  border-bottom: 1px solid #bea882;
}
.sec03 .cont03 .cont_head .box_text {
  position: relative;
}
.sec03 .cont03 .cont_head .box_text::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: -4px;
  right: clamp(-162px, -12.656vw, -101px);
  background: url(../images/sec03_adult_cont03_icon.webp) center/contain no-repeat;
  width: clamp(112px, 13.906vw, 178px);
  height: clamp(114px, 14.296vw, 183px);
}
.sec03 .adult_check_box {
  width: 100%;
  background-color: #e1a597;
  padding: 50px 50px 30px;
  margin-bottom: 40px;
  box-sizing: border-box;
  position: relative;
}
.sec03 .adult_check_box::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: -47px;
  left: 80px;
  background: url(../images/text_check.webp) center/contain no-repeat;
  width: 198px;
  height: 82px;
}
.sec03 .adult_check_box .bg_image01 {
  position: absolute;
  z-index: 0;
  top: 0;
  left: clamp(438px, 54.687vw, 700px);
  width: clamp(253px, 31.562vw, 404px);
  height: clamp(183px, 22.89vw, 293px);
}
.sec03 .adult_check_box .bg_image02 {
  position: absolute;
  z-index: 0;
  bottom: 0;
  left: clamp(75px, 9.375vw, 120px);
  width: clamp(361px, 45.156vw, 578px);
  height: clamp(164px, 20.312vw, 268px);
}
.sec03 .adult_check_box .subtitle {
  width: 1010px;
  max-width: 100%;
  margin: 0 auto;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: clamp(17px, 2.109vw, 27px);
  letter-spacing: 0.1em;
  color: #534741;
}
.sec03 .adult_check_box .title {
  width: 1010px;
  max-width: 100%;
  margin: 0 auto;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: clamp(23px, 2.812vw, 36px);
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.5;
  color: #fff;
  margin-bottom: 50px;
}
.sec03 .adult_check_box .gridbox {
  position: relative;
  z-index: 1;
  width: 1010px;
  max-width: 100%;
  margin: 0 auto 65px;
  display: grid;
  -moz-column-gap: 30px;
       column-gap: 30px;
  grid-template-columns: repeat(4, 1fr);
  box-sizing: border-box;
}
.sec03 .adult_check_box .gridbox .item {
  width: 228px;
  height: 153px;
  border-radius: 15px;
  background-color: #fff;
  padding: 15px;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 18px;
  letter-spacing: 0.01em;
  line-height: 1.6;
  text-align: center;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(2),
.sec03 .adult_check_box .gridbox .item:nth-of-type(4) {
  margin-top: 30px;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(1) {
  color: #a67c1d;
  position: relative;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(1)::before {
  content: "";
  position: absolute;
  top: -10px;
  left: -20px;
  background: url(../images/check_kazari01.webp) center/contain no-repeat;
  width: 88px;
  height: 37px;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(2) {
  color: #d7636d;
  position: relative;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(2)::before {
  content: "";
  position: absolute;
  bottom: -10px;
  right: 10px;
  background: url(../images/check_kazari02.webp) center/contain no-repeat;
  width: 62px;
  height: 52px;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(3) {
  color: #d79745;
  position: relative;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(3)::before {
  content: "";
  position: absolute;
  top: -30px;
  right: -10px;
  background: url(../images/check_kazari03.webp) center/contain no-repeat;
  width: 128px;
  height: 56px;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(4) {
  color: #d75814;
  position: relative;
}
.sec03 .adult_check_box .gridbox .item:nth-of-type(4)::before {
  content: "";
  position: absolute;
  bottom: 5px;
  right: 0px;
  background: url(../images/check_kazari04.webp) center/contain no-repeat;
  width: 87px;
  height: 41px;
}
.sec03 .adult_check_box .text {
  position: relative;
  z-index: 1;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 32px;
  font-weight: 200;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: center;
}
.sec03 .adult_check_box .text .t_backwhite {
  padding: 8px;
  background-color: #fff;
  color: #db6745;
}
.sec03 .child .menu_header {
  width: 1280px;
  max-width: 100%;
  margin: 0 auto 100px;
  background-color: #8ABBB5;
  position: relative;
}
.sec03 .child .menu_header:after {
  content: "";
  position: absolute;
  right: -100px;
  top: -40px;
  width: clamp(432px, 56.25vw, 725px);
  height: clamp(290px, 37.73vw, 483px);
  background: url(../images/sec03_child_image.webp) center/contain no-repeat;
}
.sec03 .child .menu_header .textbox {
  width: 48%;
  max-width: 48%;
  padding-left: 25px;
  padding-bottom: 45px;
  box-sizing: border-box;
}
.sec03 .child .menu_header .lead_text {
  padding-top: 70px;
  font-size: 21px;
  letter-spacing: 0.1em;
  color: #fff;
  margin-bottom: 25px;
}
.sec03 .child .menu_header .menu_title {
  padding-bottom: 30px;
  font-size: clamp(32px, 3.906vw, 50px);
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  color: #fff;
}
.sec03 .child .menu_header .menu_title_text {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  color: #fff;
  margin-bottom: 40px;
}
.sec03 .cont04 {
  margin-bottom: 100px;
}
.sec03 .cont04 .imagebox {
  width: 43%;
  min-width: 43%;
  max-width: 43%;
}
.sec03 .cont04 .textbox {
  width: 56%;
  margin-left: 50px;
}
.sec03 .cont04 .cont_head .box_text {
  position: relative;
}
.sec03 .cont04 .cont_head .box_text::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 15px;
  right: -195px;
  background: url(../images/sec03_child_cont01_icon.webp) center/contain no-repeat;
  width: 168px;
  height: 66px;
}
.sec03 .cont05 {
  margin-bottom: 100px;
}
.sec03 .cont05 .imagebox {
  width: 43%;
  min-width: 43%;
  max-width: 43%;
}
.sec03 .cont05 .textbox {
  width: 56%;
  margin-left: 50px;
}
.sec03 .cont05 .cont_head .box_text {
  position: relative;
}
.sec03 .cont05 .cont_head .box_text::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 15px;
  right: -195px;
  background: url(../images/sec03_child_cont02_icon.webp) center/contain no-repeat;
  width: 168px;
  height: 66px;
}
.sec03 .cont06 {
  margin-bottom: 100px;
}
.sec03 .cont06 .imagebox {
  width: 43%;
  min-width: 43%;
  max-width: 43%;
}
.sec03 .cont06 .textbox {
  width: 56%;
  margin-left: 50px;
}
.sec03 .cont06 .cont_head .box_text {
  position: relative;
}
.sec03 .cont06 .cont_head .box_text::before {
  content: "";
  position: absolute;
  z-index: -1;
  bottom: 15px;
  right: -195px;
  background: url(../images/sec03_child_cont03_icon.webp) center/contain no-repeat;
  width: 168px;
  height: 66px;
}
.sec03 .adult_case {
  width: 1190px;
  max-width: 100%;
  margin: 0 auto 60px;
  box-sizing: border-box;
  position: relative;
  /*---- tab　デザイン ----*/
  /*---- タブの切り替え start ----*/
}
.sec03 .adult_case::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/text_adult_case.webp) center/contain no-repeat;
  width: 166px;
  height: 126px;
}
.sec03 .adult_case .title {
  margin-left: 65px;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 40px;
  font-weight: 300;
  color: #956c5e;
  padding-top: 80px;
  margin-bottom: 70px;
}
.sec03 .adult_case .databox {
  width: 1122px;
  max-width: 100%;
  margin: 0 auto;
  padding: 60px;
  background-color: #eee9dd;
  box-sizing: border-box;
}
.sec03 .adult_case .comparison {
  display: flex;
  margin: 0 auto;
  margin-bottom: 20px;
}
.sec03 .adult_case .left_box {
  width: 48%;
  margin: 0 20px;
  padding-bottom: 20px;
  text-align: center;
}
.sec03 .adult_case .right_box {
  width: 48%;
  margin: 0 20px;
  padding-bottom: 20px;
  text-align: center;
}
.sec03 .adult_case .before_box {
  height: 53px;
  border-radius: 10px;
  margin-bottom: 20px;
  background-color: #8E796E;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 34px;
  letter-spacing: 0.2em;
  color: #fff;
}
.sec03 .adult_case .after_box {
  height: 53px;
  border-radius: 10px;
  margin-bottom: 20px;
  background-color: #B86769;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 34px;
  letter-spacing: 0.2em;
  color: #fff;
}
.sec03 .adult_case .dbox {
  position: relative;
}
.sec03 .adult_case .dbox::before {
  content: "";
  position: absolute;
  right: -10px;
  bottom: -30px;
  width: 216px;
  height: 179px;
  background: url(../images/sec04_adult_message.webp) center/contain no-repeat;
}
.sec03 .adult_case .dline {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
  background-color: #fff;
}
.sec03 .adult_case .dline:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.5);
}
.sec03 .adult_case .term {
  width: 23%;
  padding: 20px;
  color: #8E796E;
  text-align: center;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
}
.sec03 .adult_case .data {
  width: 77%;
  padding: 20px;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
}
.sec03 .adult_case .data_m {
  padding: 20px;
  padding-right: 210px;
}
.sec03 .adult_case .tabs {
  width: 1122px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.sec03 .adult_case .tab_label {
  min-width: 216px;
  max-width: 216px;
  height: 70px;
  color: #956c5e;
  background-color: white;
  border: 1px solid #bea882;
  box-sizing: border-box;
  font-weight: bold;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
  padding: 5px 0;
  margin: 0 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  margin-bottom: 30px;
}
.sec03 .adult_case .tab_label:hover {
  opacity: 0.75;
}
.sec03 .adult_case .tab_content {
  flex: 100%;
  display: none;
  overflow: hidden;
}
.sec03 .adult_case input[name=tab_switch] {
  display: none;
}
.sec03 .adult_case .tabs input:checked + .tab_label {
  min-width: 216px;
  max-width: 216px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  color: white;
  border: solid 2px #bea882;
  background-color: #bea882;
  box-sizing: border-box;
}
.sec03 .adult_case .tabs input:checked + .tab_label::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 15px 0 15px;
  border-color: #bea882 transparent transparent transparent;
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  transition: all 0.3s ease 0s;
}
.sec03 .adult_case #tab01:checked ~ #tab01_content,
.sec03 .adult_case #tab02:checked ~ #tab02_content,
.sec03 .adult_case #tab03:checked ~ #tab03_content,
.sec03 .adult_case #tab04:checked ~ #tab04_content {
  display: block;
}
.sec03 .adult_case .tab_content {
  position: relative;
  animation: fadeIn 1s ease;
}
.sec03 .child_case {
  width: 1190px;
  max-width: 100%;
  margin: 0 auto 60px;
  box-sizing: border-box;
  position: relative;
  /*---- tab　デザイン ----*/
  /*---- タブの切り替え start ----*/
}
.sec03 .child_case::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background: url(../images/text_child_case.webp) center/contain no-repeat;
  width: 166px;
  height: 126px;
}
.sec03 .child_case .title {
  margin-left: 65px;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 40px;
  font-weight: 300;
  color: #47826c;
  padding-top: 80px;
  margin-bottom: 70px;
}
.sec03 .child_case .databox {
  width: 1122px;
  max-width: 100%;
  margin: 0 auto;
  padding: 60px;
  background-color: #d5dedb;
  box-sizing: border-box;
}
.sec03 .child_case .comparison {
  display: flex;
  margin: 0 auto;
  margin-bottom: 20px;
}
.sec03 .child_case .left_box {
  width: 48%;
  margin: 0 20px;
  padding-bottom: 20px;
  text-align: center;
}
.sec03 .child_case .right_box {
  width: 48%;
  margin: 0 20px;
  padding-bottom: 20px;
  text-align: center;
}
.sec03 .child_case .before_box {
  height: 53px;
  border-radius: 10px;
  margin-bottom: 20px;
  background-color: #bea882;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 34px;
  letter-spacing: 0.2em;
  color: #fff;
}
.sec03 .child_case .after_box {
  height: 53px;
  border-radius: 10px;
  margin-bottom: 20px;
  background-color: #dc7c66;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 34px;
  letter-spacing: 0.2em;
  color: #fff;
}
.sec03 .child_case .dbox {
  position: relative;
}
.sec03 .child_case .dbox::before {
  content: "";
  position: absolute;
  right: -10px;
  bottom: -30px;
  width: 216px;
  height: 179px;
  background: url(../images/sec04_message.webp) center/contain no-repeat;
}
.sec03 .child_case .dline {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  box-sizing: border-box;
  background-color: #fff;
}
.sec03 .child_case .dline:nth-child(even) {
  background-color: rgba(255, 255, 255, 0.5);
}
.sec03 .child_case .term {
  width: 23%;
  padding: 20px;
  color: #47826c;
  text-align: center;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
}
.sec03 .child_case .data {
  width: 77%;
  padding: 20px;
  border-bottom: 1px solid #ccc;
  box-sizing: border-box;
}
.sec03 .child_case .data_m {
  padding: 20px;
  padding-right: 210px;
}
.sec03 .child_case .c_tabs {
  width: 1122px;
  max-width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.sec03 .child_case .c_tab_label {
  min-width: 216px;
  max-width: 216px;
  height: 70px;
  color: #47826c;
  background-color: white;
  border: 1px solid #47826c;
  box-sizing: border-box;
  font-weight: bold;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
  padding: 5px 0;
  margin: 0 25px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  margin-bottom: 30px;
}
.sec03 .child_case .c_tab_label:hover {
  opacity: 0.75;
}
.sec03 .child_case .c_tab_content {
  flex: 100%;
  display: none;
  overflow: hidden;
}
.sec03 .child_case input[name=tab_c_switch] {
  display: none;
}
.sec03 .child_case .c_tabs input:checked + .c_tab_label {
  min-width: 216px;
  max-width: 216px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  color: white;
  border: solid 2px #8abbb5;
  background-color: #8abbb5;
  box-sizing: border-box;
}
.sec03 .child_case .c_tabs input:checked + .c_tab_label::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 15px 0 15px;
  border-color: #8abbb5 transparent transparent transparent;
  display: block;
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -10px;
  transition: all 0.3s ease 0s;
}
.sec03 .child_case #c_tab01:checked ~ #c_tab01_content,
.sec03 .child_case #c_tab02:checked ~ #c_tab02_content,
.sec03 .child_case #c_tab03:checked ~ #c_tab03_content {
  display: block;
}
.sec03 .child_case .c_tab_content {
  position: relative;
  animation: fadeIn 1s ease;
}
@media screen and (max-width: 1159px) and (min-width: 870px) {
  .sec03 .adult_check_box {
    padding: 50px clamp(31px, 3.906vw, 50px) 30px;
  }
  .sec03 .adult_check_box .text {
    position: relative;
    z-index: 1;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: clamp(20px, 2.5vw, 32px);
    font-weight: 200;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: center;
  }
}
@media screen and (max-width: 1159px) and (min-width: 768px) {
  .sec03 .adult_check_box {
    padding: 50px clamp(31px, 3.906vw, 50px) 30px;
  }
  .sec03 .adult_check_box .gridbox {
    position: relative;
    z-index: 1;
    width: 490px;
    max-width: 100%;
    -moz-column-gap: 30px;
         column-gap: 30px;
    row-gap: 30px;
    grid-template-columns: repeat(2, 1fr);
  }
  .sec03 .adult_check_box .text {
    position: relative;
    z-index: 1;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: clamp(20px, 2.5vw, 32px);
    font-weight: 200;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: center;
  }
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  .sec03 .adult_case .databox {
    padding: 3vw;
  }
  .sec03 .child_case .databox {
    padding: 3vw;
  }
}
@media screen and (max-width: 1280px) and (min-width: 1025px) {
  .sec03 .adult_case .tabs {
    justify-content: center;
  }
  .sec03 .adult_case .data_m {
    padding: 20px;
    padding-right: 20.5vw;
  }
  .sec03 .child_case .tabs {
    justify-content: center;
  }
  .sec03 .child_case .data_m {
    padding: 20px;
    padding-right: 20.5vw;
  }
}
@media screen and (max-width: 1024px) and (min-width: 768px) {
  .sec03 .adult_case .tabs {
    justify-content: center;
  }
  .sec03 .adult_case .tab_label {
    height: 67.5px;
    font-size: 2.5vw;
    margin: 1vw 1vw 3vw;
  }
  .sec03 .adult_case .tabs input:checked + .tab_label {
    height: 77.5px;
    font-size: 2.5vw;
  }
  .sec03 .adult_case .dbox {
    position: relative;
  }
  .sec03 .adult_case .dbox::before {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -30px;
    width: 19.7vw;
    height: 16.3vw;
    background: url(../images/sec04_message.webp) center/contain no-repeat;
  }
  .sec03 .adult_case .data_m {
    padding: 20px;
    padding-right: 19.5vw;
  }
  .sec03 .child_case .tabs {
    justify-content: center;
  }
  .sec03 .child_case .tab_label {
    height: 67.5px;
    font-size: 2.5vw;
    margin: 1vw 1vw 3vw;
  }
  .sec03 .child_case .tabs input:checked + .tab_label {
    height: 77.5px;
    font-size: 2.5vw;
  }
  .sec03 .child_case .dbox {
    position: relative;
  }
  .sec03 .child_case .dbox::before {
    content: "";
    position: absolute;
    right: -10px;
    bottom: -30px;
    width: 19.7vw;
    height: 16.3vw;
    background: url(../images/sec04_message.webp) center/contain no-repeat;
  }
  .sec03 .child_case .data_m {
    padding: 20px;
    padding-right: 19.5vw;
  }
}
@media screen and (max-width: 767px) {
  .sec03 {
    padding: 8vw 0 13.8vw;
    position: relative;
  }
  .sec03:before {
    content: "menu";
    position: absolute;
    top: -2.6vw;
    left: 50%;
    transform: translateX(-50%);
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 7vw;
    letter-spacing: 0.2em;
    color: #3E8C9A;
  }
  .sec03 .lead_text {
    position: relative;
    margin-left: 0;
    margin-bottom: 13.8vw;
    font-size: 4.8vw;
    letter-spacing: 0.1em;
  }
  .sec03 .lead_text:before {
    content: "";
    position: absolute;
    left: 0;
    top: -16vw;
    max-width: 75%;
    width: 80vw;
    height: 11.4vw;
    background: url(../images/text_greeting.webp) center/contain no-repeat;
  }
  .sec03 .sec_title {
    position: relative;
    margin-bottom: 8vw;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 6.4vw;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-align: center;
  }
  .sec03 .adult {
    box-sizing: border-box;
    padding-bottom: 0;
  }
  .sec03 .adult .menu_header {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 13.8vw;
    background-color: #BEA882;
    position: relative;
  }
  .sec03 .adult .menu_header:after {
    display: none;
  }
  .sec03 .adult .menu_header .textbox {
    width: 100%;
    max-width: 100%;
    padding-left: initial;
    padding-bottom: initial;
    padding: 0 5.5vw 4.2vw;
    box-sizing: border-box;
  }
  .sec03 .adult .menu_header .lead_text {
    width: 100%;
    max-width: 100%;
    margin-left: initial;
    margin-bottom: initial;
    padding-top: 6.6vw;
    font-size: 4.2vw;
    letter-spacing: 0.2em;
    line-height: 1.8;
    color: #fff;
    text-align: center;
  }
  .sec03 .adult .menu_header .menu_title {
    margin-left: initial;
    padding-bottom: 5.3vw;
    font-size: 7.4vw;
    letter-spacing: 0.2em;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    color: #fff;
    text-align: center;
  }
  .sec03 .adult .menu_header .menu_title_text {
    width: initial;
    max-width: initial;
    margin-left: inherit;
    margin-bottom: initial;
    padding-bottom: 4.2vw;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
    color: #fff;
  }
  .sec03 .adult .menu_header .box_image {
    text-align: center;
    margin-bottom: 4.2vw;
  }
  .sec03 .adult .menu_header .box_image img {
    width: 100%;
  }
  .sec03 .cont {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    display: block;
  }
  .sec03 .cont .imagebox {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .sec03 .cont .cont_image {
    margin: 0 auto 4.2vw;
  }
  .sec03 .cont .cont_image img {
    width: 100%;
  }
  .sec03 .cont .textbox {
    width: 100%;
  }
  .sec03 .cont .cont_head {
    display: flex;
    align-items: flex-end;
    padding-bottom: 1.33vw;
    margin-bottom: 4vw;
  }
  .sec03 .cont .cont_head .cont_subtext {
    width: -moz-fit-content;
    width: fit-content;
    font-size: 3.75vw;
    letter-spacing: 0.1em;
  }
  .sec03 .cont .cont_head .cont_title {
    width: -moz-fit-content;
    width: fit-content;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 6.3vw;
    letter-spacing: 0.01em;
  }
  .sec03 .cont .cont_text {
    font-size: 4vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
  }
  .sec03 .cont01 {
    margin-bottom: 20.7vw;
    position: relative;
  }
  .sec03 .cont01::before {
    display: none;
  }
  .sec03 .cont01 .textbox {
    margin-right: initial;
  }
  .sec03 .cont01 .cont_head {
    border-bottom: 1px solid #bea882;
  }
  .sec03 .cont01 .cont_head .box_text {
    position: relative;
  }
  .sec03 .cont01 .cont_head .box_text::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 0vw;
    right: -21.4svw;
    background: url(../images/sec03_adult_cont01_icon.webp) center/contain no-repeat;
    width: 25.33vw;
    height: 20.4vw;
  }
  .sec03 .cont01 .cont_image {
    position: relative;
  }
  .sec03 .cont01 .cont_image::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -4.2vw;
    right: -15vw;
    background: url(../images/sec03_adult_cont01_bg.webp) center/contain no-repeat;
    width: 88.4vw;
    height: 40.56vw;
  }
  .sec03 .cont02 {
    margin-bottom: 20.7vw;
    flex-direction: row-reverse;
    position: relative;
  }
  .sec03 .cont02::before {
    display: none;
  }
  .sec03 .cont02 .textbox {
    margin-left: initial;
  }
  .sec03 .cont02 .cont_head {
    border-bottom: 0.27vw solid #bea882;
  }
  .sec03 .cont02 .cont_head .box_text {
    position: relative;
  }
  .sec03 .cont02 .cont_head .box_text::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 1vw;
    right: -20.4svw;
    width: 18.4vw;
    height: 18.4vw;
  }
  .sec03 .cont02 .cont_image {
    position: relative;
  }
  .sec03 .cont02 .cont_image::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -4.2vw;
    left: -4.2vw;
    background: url(../images/sec03_adult_cont02_bg.webp) center/contain no-repeat;
    width: 89.78vw;
    height: 40.38vw;
  }
  .sec03 .cont03 {
    margin-bottom: 20.7vw;
    position: relative;
  }
  .sec03 .cont03::before {
    display: none;
  }
  .sec03 .cont03 .textbox {
    margin-right: initial;
  }
  .sec03 .cont03 .cont_head {
    border-bottom: 0.27vw solid #bea882;
  }
  .sec03 .cont03 .cont_head .box_text {
    position: relative;
  }
  .sec03 .cont03 .cont_head .box_text::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 1.2vw;
    right: -15vw;
    width: 23.73vw;
    height: 24.4vw;
  }
  .sec03 .cont03 .cont_image {
    position: relative;
  }
  .sec03 .cont03 .cont_image::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -4.2vw;
    right: -4vw;
    background: url(../images/sec03_adult_cont03_bg.webp) center/contain no-repeat;
    width: 89.78vw;
    height: 45.06vw;
  }
  .sec03 .adult_check_box {
    width: 100%;
    padding: 10vw 0 4.2vw;
    margin-bottom: 40px;
    box-sizing: border-box;
    position: relative;
  }
  .sec03 .adult_check_box::before {
    content: "";
    position: absolute;
    z-index: 1;
    top: -12.53vw;
    left: 8vw;
    background: url(../images/text_check.webp) center/contain no-repeat;
    width: 44.88vw;
    height: 18.58vw;
  }
  .sec03 .adult_check_box .bg_image01 {
    position: absolute;
    z-index: 0;
    top: 0;
    left: initial;
    right: 0;
    width: 53.86vw;
    height: 39.06vw;
  }
  .sec03 .adult_check_box .bg_image02 {
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 77.06vw;
    height: 35.73vw;
  }
  .sec03 .adult_check_box .subtitle {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 5.5vw;
    font-size: 5.3vw;
    letter-spacing: 0.1em;
  }
  .sec03 .adult_check_box .title {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 5.5vw;
    font-size: 6.4vw;
    font-weight: 300;
    letter-spacing: 0.1em;
    line-height: 1.3;
    margin-bottom: 13.8vw;
  }
  .sec03 .adult_check_box .gridbox {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 13.8vw;
    padding: 0 9vw;
    display: grid;
    -moz-column-gap: initial;
         column-gap: initial;
    row-gap: 8vw;
    grid-template-columns: repeat(1, 1fr);
    box-sizing: border-box;
  }
  .sec03 .adult_check_box .gridbox .item {
    width: 60.8vw;
    height: 40.8vw;
    border-radius: 4vw;
    background-color: #fff;
    padding: 4vw;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 5.2vw;
    letter-spacing: 0.01em;
    line-height: 1.8;
    text-align: center;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(2),
  .sec03 .adult_check_box .gridbox .item:nth-of-type(4) {
    margin-top: initial;
    margin-left: 10vw;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(1) {
    position: relative;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(1)::before {
    content: "";
    position: absolute;
    top: -2.6vw;
    left: -5.3vw;
    width: 23.46vw;
    height: 9.86vw;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(2) {
    position: relative;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(2)::before {
    content: "";
    position: absolute;
    bottom: -2.6vw;
    right: 2.6vw;
    width: 16.53vw;
    height: 13.86vw;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(3) {
    position: relative;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(3)::before {
    content: "";
    position: absolute;
    top: -7.6vw;
    left: -5.3vw;
    right: initial;
    width: 34.13vw;
    height: 14.93vw;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(4) {
    position: relative;
  }
  .sec03 .adult_check_box .gridbox .item:nth-of-type(4)::before {
    content: "";
    position: absolute;
    bottom: 1.33vw;
    right: 0;
    width: 23.2vw;
    height: 10.93vw;
  }
  .sec03 .adult_check_box .text {
    position: relative;
    z-index: 1;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: initial;
    margin: 0 auto;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 5.7vw;
    font-weight: 500;
    letter-spacing: 0em;
    line-height: 2.3;
    text-align: center;
    padding-bottom: 40vw;
  }
  .sec03 .adult_check_box .text .t_backwhite {
    padding: 2.43vw;
    background-color: #fff;
    color: #db6745;
  }
  .sec03 .child {
    box-sizing: border-box;
    padding-bottom: 0;
  }
  .sec03 .child .menu_header {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 13.8vw;
    background-color: #8ABBB5;
    position: relative;
  }
  .sec03 .child .menu_header:after {
    display: none;
  }
  .sec03 .child .menu_header .textbox {
    width: 100%;
    max-width: 100%;
    padding-left: initial;
    padding-bottom: initial;
    padding: 0 5.5vw 4.2vw;
    box-sizing: border-box;
  }
  .sec03 .child .menu_header .lead_text {
    width: 100%;
    max-width: 100%;
    margin-left: initial;
    margin-bottom: initial;
    padding-top: 6.6vw;
    font-size: 4.2vw;
    letter-spacing: 0.2em;
    line-height: 1.8;
    color: #fff;
    text-align: center;
  }
  .sec03 .child .menu_header .lead_text:before {
    display: none;
  }
  .sec03 .child .menu_header .menu_title {
    margin-left: initial;
    padding-bottom: 5.3vw;
    font-size: 7.4vw;
    letter-spacing: 0.2em;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    color: #fff;
    text-align: center;
  }
  .sec03 .child .menu_header .menu_title_text {
    width: initial;
    max-width: initial;
    margin-left: inherit;
    margin-bottom: initial;
    padding-bottom: 4.2vw;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
    color: #fff;
  }
  .sec03 .child .menu_header .box_image {
    text-align: center;
    margin-bottom: 4.2vw;
  }
  .sec03 .child .menu_header .box_image img {
    width: 100%;
  }
  .sec03 .cont04 {
    margin-bottom: 13.8vw;
  }
  .sec03 .cont04 .imagebox {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .sec03 .cont04 .textbox {
    width: 100%;
    margin-left: initial;
  }
  .sec03 .cont04 .cont_head .box_text {
    position: relative;
  }
  .sec03 .cont04 .cont_head .box_text::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: -52vw;
    width: 44.8vw;
    height: 17.6vw;
  }
  .sec03 .cont05 {
    margin-bottom: 13.8vw;
  }
  .sec03 .cont05 .imagebox {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .sec03 .cont05 .textbox {
    width: 100%;
    margin-left: initial;
  }
  .sec03 .cont05 .cont_head .box_text {
    position: relative;
  }
  .sec03 .cont05 .cont_head .box_text::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: -52vw;
    width: 44.8vw;
    height: 17.6vw;
  }
  .sec03 .cont06 {
    margin-bottom: 13.8vw;
  }
  .sec03 .cont06 .imagebox {
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }
  .sec03 .cont06 .textbox {
    width: 100%;
    margin-left: initial;
  }
  .sec03 .cont06 .cont_head .box_text {
    position: relative;
  }
  .sec03 .cont06 .cont_head .box_text::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 0;
    right: -52vw;
    width: 44.8vw;
    height: 17.6vw;
  }
  .sec03 .adult_case {
    width: 100%;
    max-width: 100%;
    margin: 0 auto 13.8vw;
    box-sizing: border-box;
    position: relative;
    /*---- tab　デザイン ----*/
    /*---- タブの切り替え start ----*/
  }
  .sec03 .adult_case::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 44.2vw;
    height: 33.6vw;
  }
  .sec03 .adult_case .title {
    margin-left: 32.33vw;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 5.8vw;
    padding-top: 13.8vw;
    margin-bottom: 10.8vw;
  }
  .sec03 .adult_case .databox {
    width: 100%;
    margin: 0 auto;
    padding: 4vw;
    box-sizing: border-box;
  }
  .sec03 .adult_case .comparison {
    display: flex;
    margin: 0 auto;
    margin-bottom: 4vw;
  }
  .sec03 .adult_case .left_box {
    width: 49%;
    margin: 0 2vw;
    padding-bottom: 2vw;
    text-align: center;
  }
  .sec03 .adult_case .right_box {
    width: 49%;
    margin: 0 2vw;
    padding-bottom: 2vw;
    text-align: center;
  }
  .sec03 .adult_case .before_box {
    height: 7.2vw;
    border-radius: 2.6vw;
    margin-bottom: 4.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 4vw;
    letter-spacing: 0.2em;
  }
  .sec03 .adult_case .after_box {
    height: 7.2vw;
    border-radius: 2.6vw;
    margin-bottom: 4.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 4vw;
    letter-spacing: 0.2em;
  }
  .sec03 .adult_case .dbox {
    position: relative;
  }
  .sec03 .adult_case .dbox::before {
    display: none;
  }
  .sec03 .adult_case .dline {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
  }
  .sec03 .adult_case .dline:nth-child(even) {
    background-color: rgba(255, 255, 255, 0.5);
  }
  .sec03 .adult_case .term {
    width: 100%;
    padding: 4vw 4vw 2vw;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    text-align: left;
    border-bottom: 0px solid #ccc;
    box-sizing: border-box;
  }
  .sec03 .adult_case .data {
    width: 100%;
    padding: 0 4vw 4vw;
    border-bottom: 1px solid #ccc;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    box-sizing: border-box;
  }
  .sec03 .adult_case .tabs {
    display: flex;
    flex-wrap: wrap;
  }
  .sec03 .adult_case .tab_label {
    width: 38.5vw;
    min-width: initial;
    max-width: initial;
    height: 12.2vw;
    font-weight: bold;
    position: relative;
    z-index: 1;
    cursor: pointer;
    flex: initial;
    padding: 5px 0;
    margin: 0 3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4vw;
    margin-bottom: 6vw;
    box-sizing: border-box;
  }
  .sec03 .adult_case .tab_label:hover {
    opacity: 0.75;
  }
  .sec03 .adult_case .tab_content {
    flex: 100%;
    display: none;
    overflow: hidden;
  }
  .sec03 .adult_case input[name=tab_switch] {
    display: none;
  }
  .sec03 .adult_case .tabs input:checked + .tab_label {
    width: 38.5vw;
    min-width: initial;
    max-width: initial;
    height: 12.2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4vw;
    color: white;
    border: solid 2px #bea882;
    background-color: #bea882;
  }
  .sec03 .adult_case .tabs input:checked + .tab_label::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #bea882 transparent transparent transparent;
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    transition: all 0.3s ease 0s;
  }
  .sec03 .adult_case #tab01:checked ~ #tab01_content,
  .sec03 .adult_case #tab02:checked ~ #tab02_content,
  .sec03 .adult_case #tab03:checked ~ #tab03_content,
  .sec03 .adult_case #tab04:checked ~ #tab04_content {
    display: block;
  }
  .sec03 .adult_case .tab_content {
    position: relative;
    animation: fadeIn 1s ease;
  }
  .sec03 .child_case {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
    /*---- tab　デザイン ----*/
    /*---- タブの切り替え start ----*/
  }
  .sec03 .child_case::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 44.2vw;
    height: 33.6vw;
  }
  .sec03 .child_case .title {
    margin-left: 32.33vw;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 5.8vw;
    padding-top: 13.8vw;
    margin-bottom: 10.8vw;
  }
  .sec03 .child_case .databox {
    width: 100%;
    margin: 0 auto;
    padding: 4vw;
    box-sizing: border-box;
  }
  .sec03 .child_case .comparison {
    display: flex;
    margin: 0 auto;
    margin-bottom: 4vw;
  }
  .sec03 .child_case .left_box {
    width: 49%;
    margin: 0 2vw;
    padding-bottom: 2vw;
    text-align: center;
  }
  .sec03 .child_case .right_box {
    width: 49%;
    margin: 0 2vw;
    padding-bottom: 2vw;
    text-align: center;
  }
  .sec03 .child_case .before_box {
    height: 7.2vw;
    border-radius: 2.6vw;
    margin-bottom: 4.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 4vw;
    letter-spacing: 0.2em;
  }
  .sec03 .child_case .after_box {
    height: 7.2vw;
    border-radius: 2.6vw;
    margin-bottom: 4.5vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 4vw;
    letter-spacing: 0.2em;
  }
  .sec03 .child_case .dbox {
    position: relative;
  }
  .sec03 .child_case .dbox::before {
    display: none;
  }
  .sec03 .child_case .dline {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    box-sizing: border-box;
  }
  .sec03 .child_case .dline:nth-child(even) {
    background-color: rgba(255, 255, 255, 0.5);
  }
  .sec03 .child_case .term {
    width: 100%;
    padding: 4vw 4vw 2vw;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    text-align: left;
    border-bottom: 0px solid #ccc;
    box-sizing: border-box;
  }
  .sec03 .child_case .data {
    width: 100%;
    padding: 0 4vw 4vw;
    border-bottom: 1px solid #ccc;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    box-sizing: border-box;
  }
  .sec03 .child_case .c_tabs {
    display: flex;
    flex-wrap: wrap;
  }
  .sec03 .child_case .c_tab_label {
    width: 38.5vw;
    min-width: initial;
    max-width: initial;
    height: 12.2vw;
    font-weight: bold;
    position: relative;
    z-index: 1;
    cursor: pointer;
    flex: initial;
    padding: 5px 0;
    margin: 0 3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4vw;
    margin-bottom: 6vw;
    box-sizing: border-box;
  }
  .sec03 .child_case .c_tab_label:hover {
    opacity: 0.75;
  }
  .sec03 .child_case .c_tab_content {
    flex: 100%;
    display: none;
    overflow: hidden;
  }
  .sec03 .child_case input[name=tab_c_switch] {
    display: none;
  }
  .sec03 .child_case .c_tabs input:checked + .c_tab_label {
    width: 38.5vw;
    min-width: initial;
    max-width: initial;
    height: 12.2vw;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 4vw;
    color: white;
    border: solid 2px #8abbb5;
    background-color: #8abbb5;
  }
  .sec03 .child_case .c_tabs input:checked + .c_tab_label::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #8abbb5 transparent transparent transparent;
    display: block;
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    transition: all 0.3s ease 0s;
  }
  .sec03 .child_case #c_tab01:checked ~ #c_tab01_content,
  .sec03 .child_case #c_tab02:checked ~ #c_tab02_content,
  .sec03 .child_case #c_tab03:checked ~ #c_tab03_content {
    display: block;
  }
  .sec03 .child_case .c_tab_content {
    position: relative;
    animation: fadeIn 1s ease;
  }
}

/*
.sec04 {
    padding-bottom: 80px;
    position: relative;

    &:before {
        content: "CASE";
        position: absolute;
        top: -40px;
        left: 50%;
        transform: translateX(-50%);
        font-family: $mincho;
        font-size: 34px;
        letter-spacing: .2em;
        color: #3E8C9A;
    }

    .sec_titile_box {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-bottom: 80px;

        .logo {
            padding-right: 20px;
        }
        .title_text {
            text-align: left;
            padding-bottom: 10px;
        }
    }

    .sec_title {
        position: relative;
        //margin-bottom: 80px;
        font-family: $mincho;
        font-size: 48px;
        font-weight: 500;
        letter-spacing: .2em;
        text-align: center;
    }

    .databox {
        width: 1122px;
        max-width: 100%;
        margin: 0 auto;
        padding: 60px;
        background-color: #EEEAE7;
        box-sizing: border-box;
    }
    .comparison {
        display: flex;
        margin: 0 auto;
        margin-bottom: 20px;
    }
    .left_box {
        width: 48%;
        margin: 0 20px;
        padding-bottom: 20px;
        text-align: center;

    }
    .right_box {
        width: 48%;
        margin: 0 20px;
        padding-bottom: 20px;
        text-align: center;
    }
    .before_box {
        height: 53px;
        border-radius: 10px;
        margin-bottom: 20px;
        background-color: #8E796E;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: $mincho;
        font-size: 34px;
        letter-spacing: .2em;
        color: #fff;
    }

    .after_box {
        height: 53px;
        border-radius: 10px;
        margin-bottom: 20px;
        background-color: #B86769;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: $mincho;
        font-size: 34px;
        letter-spacing: .2em;
        color: #fff;
    }

    .dbox {
        position: relative;

        &::before {
            content: "";
            position: absolute;
            right:  -10px;
            bottom: -30px;
            width:  216px;
            height: 179px;
            background: url(../images/sec04_message.webp) center /contain no-repeat;
        }
    }
    .dline {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        box-sizing: border-box;
        background-color: #fff;
    }
    .dline:nth-child(even) {
        background-color: rgba(255, 255, 255, 0.5);
    }


    .term {
        width: 23%;
        padding: 20px;
        color: #8E796E;
        text-align: center;
        //background-color: #f1f1f1;
        border-bottom: 1px solid #ccc;
        box-sizing: border-box;
    }
    .data {
        width: 77%;
        padding: 20px;
        //background-color: #fff;
        border-bottom: 1px solid #ccc;
        box-sizing: border-box;
    }
    .data_m {
        padding: 20px;
        padding-right: 210px;
    }

    .tabs {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .tab_label {
        min-width: 260px;
        max-width: 260px;
        height: 77.5px;
        //color: #3E8C9A;
        //border: solid 2px #3E8C9A;
        color: #fff;
        background-color: #3E8C9A;

        font-weight: bold;
        position: relative;
        z-index: 1;
        cursor: pointer;
        flex: 1;
        padding: 5px 0;
        margin: 0 25px;

        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 22px;

        margin-bottom: 30px;
    }

    .tab_label:hover {
        opacity: 0.75;
    }

    .tab_content {
        flex: 100%;
        display: none;
        overflow: hidden;
    }

    input[name="tab_switch"] {
        display: none;
    }

    .tabs input:checked + .tab_label {
        min-width: 260px;
        max-width: 260px;
        height: 87.5px;
        display: flex;
        justify-content: center;
        align-items: center;
        font-size: 22px;
        //color: #fff;
        //background-color: #3E8C9A;
        color:  #3E8C9A;
        border: solid 2px #3E8C9A;
        background-color: #fff;
        box-sizing: border-box;
    }
    .tabs input:checked + .tab_label::after {
        content: '';
        width: 0;
        height: 0;

        border-style: solid;
        border-width: 15px 15px 0 15px;
        border-color: #3E8C9A transparent transparent transparent;
        display: block;
        position: absolute;
        top: 100%;
        left: 50%;
        margin-left: -10px;
        transition: all 0.3s ease 0s;
    }

    #tab01:checked ~ #tab01_content,
    #tab02:checked ~ #tab02_content,
    #tab03:checked ~ #tab03_content,
    #tab04:checked ~ #tab04_content,
    #tab05:checked ~ #tab05_content,
    #tab06:checked ~ #tab06_content,
    #tab07:checked ~ #tab07_content {
        display: block;
    }

    .tab_content{
        position: relative;
        animation: fadeIn 1s ease;
    }
    .tab_content:nth-of-type(5) {
        .databox {
            .comparison {
                .left_box, .right_box {
                    padding-bottom: 0;
                    img {
                        margin-bottom: 20px;
                    }
                }
            }
        }
    }

    @media screen and (max-width: 1279px) and (min-width: 768px) {


        .sec_title {
            font-size: 5.4vw;
            letter-spacing: 0.1em;
        }

        .databox {
            padding: 3vw;
        }

    }
    @media screen and (max-width: 1280px) and (min-width: 1025px) {
        .tabs {
            justify-content: center;
        }
        .data_m {
            padding: 20px;
            padding-right: 20.5vw;
        }
    }
    @media screen and (max-width: 1024px) and (min-width: 768px) {

        .tabs {
            justify-content: center;
        }
        .tab_label {
            height: 67.5px;
            font-size: 2.5vw;
            margin: 1vw 1vw 3vw;
        }
        .tabs input:checked + .tab_label {
            height: 77.5px;
            font-size: 2.5vw;
        }

        .dbox {
            position: relative;

            &::before {
                content: "";
                position: absolute;
                right:  -10px;
                bottom: -30px;
                width:  19.7vw;
                height: 16.3vw;
                background: url(../images/sec04_message.webp) center /contain no-repeat;
            }
        }
        .data_m {
            padding: 20px;
            padding-right: 19.5vw;
        }

    }
    @media screen and (max-width: 767px) {
        padding: 8vw 0 13.8vw;
        position: relative;

        &:before {
            content: "case";
            position: absolute;
            top: -1.6vw;
            left: 50%;
            transform: translateX(-50%);
            font-family: $mincho;
            font-size: 7vw;
            letter-spacing: .2em;
            color: #3E8C9A;
        }

        .sec_titile_box {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 10.9vw;

            .logo {
                padding-right: 4vw;
            }
            .title_text {
                text-align: left;

                padding-bottom: 10px;

                .pic_text {
                    width: 85vw;
                    img {
                        width: 100%;
                    }
                }
            }
        }
        .sec_title {
            position: relative;
            font-family: $mincho;
            font-size: 6.4vw;
            font-weight: 500;
            letter-spacing: .1em;
            text-align: center;
        }



        .databox {
            width: 100%;
            margin: 0 auto;
            padding: 4vw;
            background-color: #EEEAE7;
            box-sizing: border-box;
        }
        .comparison {
            display: flex;
            margin: 0 auto;
            margin-bottom: 4vw;
        }
        .left_box {
            width: 49%;
            margin: 0 2vw;
            padding-bottom: 2vw;
            text-align: center;

        }
        .right_box {
            width: 49%;
            margin: 0 2vw;
            padding-bottom: 2vw;
            text-align: center;
        }
        .before_box {
            height: 7.2vw;
            border-radius: 2.6vw;
            margin-bottom: 4.5vw;
            background-color: #8E796E;
            display: flex;
            justify-content: center;
            align-items: center;
            font-family: $mincho;
            font-size: 4vw;
            letter-spacing: .2em;
            color: #fff;
        }

        .after_box {
            height: 7.2vw;
            border-radius: 2.6vw;
            margin-bottom: 4.5vw;
            background-color: #B86769;
            display: flex;
            justify-content: center;
            align-items: center;
            font-family: $mincho;
            font-size: 4vw;
            letter-spacing: .2em;
            color: #fff;
        }

        .dbox {
            position: relative;

            &::before {
                display: none;
            }
        }
        .dline {
            display: flex;
            flex-wrap: wrap;
            width: 100%;
            box-sizing: border-box;
            background-color: #fff;
        }
        .dline:nth-child(even) {
            background-color: rgba(255, 255, 255, 0.5);
        }


        .term {
            width: 100%;
            padding: 4vw 4vw 2vw;
            color: #8E796E;
            font-size: 4.2vw;
            letter-spacing: .1em;
            text-align: left;
            //background-color: #f1f1f1;
            border-bottom: 0px solid #ccc;
            box-sizing: border-box;
        }
        .data {
            width: 100%;
            padding: 0 4vw 4vw;
            //background-color: #fff;
            border-bottom: 1px solid #ccc;
            font-size: 4.2vw;
            letter-spacing: .1em;
            box-sizing: border-box;
        }


        .tabs {
            display: flex;
            flex-wrap: wrap;
        }

        .tab_label {
            width: 38.5vw;
            min-width: initial;
            max-width: initial;
            height: 12.2vw;
            //color: #3E8C9A;
            //border: solid 2px #3E8C9A;
            color: #fff;
            background-color: #3E8C9A;

            font-weight: bold;
            position: relative;
            z-index: 1;
            cursor: pointer;
            flex: initial;
            padding: 5px 0;
            margin: 0 3vw;

            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 4vw;

            margin-bottom: 6vw; //60px;
            box-sizing: border-box;
        }

        .tab_label:hover {
            opacity: 0.75;
        }

        .tab_content {
            flex: 100%;
            display: none;
            overflow: hidden;
        }

        input[name="tab_switch"] {
            display: none;
        }

        .tabs input:checked + .tab_label {
            width: 38.5vw;
            min-width: initial;
            max-width: initial;
            height: 12.2vw;
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 4vw;
            color:  #3E8C9A;
            border: solid 2px #3E8C9A;
            background-color: #fff;
        }
        .tabs input:checked + .tab_label::after {
            content: '';
            width: 0;
            height: 0;

            border-style: solid;
            border-width: 10px 10px 0 10px;
            border-color: #3E8C9A transparent transparent transparent;
            display: block;
            position: absolute;
            top: 100%;
            left: 50%;
            margin-left: -10px;
            transition: all 0.3s ease 0s;
        }

        #tab01:checked ~ #tab01_content,
        #tab02:checked ~ #tab02_content,
        #tab03:checked ~ #tab03_content,
        #tab04:checked ~ #tab04_content,
        #tab05:checked ~ #tab05_content,
        #tab06:checked ~ #tab06_content,
        #tab07:checked ~ #tab07_content {
            display: block;
        }

        .tab_content{
            position: relative;
            animation: fadeIn 1s ease;
        }
    }
} */
.sec05 {
  padding: 80px 0;
  background-color: #F4F6F8;
}
.sec05 .sec_title {
  padding-top: 45px;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 43px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
  color: #534741;
}
.sec05 .sec_text {
  padding: 65px 0;
  font-size: 25px;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: center;
  color: #534741;
}
.sec05 .box {
  background-color: #fff;
  padding: 50px;
}
.sec05 .suresmile {
  position: relative;
}
.sec05 .suresmile::before {
  content: "";
  position: absolute;
  z-index: 1;
  right: 150px;
  top: -100px;
  width: 146px;
  height: 146px;
  border-radius: 50%;
  background-color: #D2916C;
}
.sec05 .suresmile:after {
  content: "";
  position: absolute;
  z-index: 1;
  right: 0px;
  top: -100px;
  width: 146px;
  height: 146px;
  border-radius: 50%;
  background-color: #EA7367;
}
.sec05 .suresmile_text {
  font-size: 28px;
  font-weight: 600;
  color: #139AC2;
  padding-right: 80px;
  text-align: center;
}
.sec05 .text_soudan {
  position: absolute;
  z-index: 2;
  right: 150px;
  top: -50px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 146px;
  height: 164px;
}
.sec05 .text_bunseki {
  position: absolute;
  z-index: 2;
  right: 0px;
  top: -50px;
  display: flex;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 146px;
  height: 164px;
}
.sec05 .small {
  margin-bottom: -25px;
  font-size: 21px;
  font-weight: 400;
  color: #fff;
}
.sec05 .large {
  font-size: 36px;
  font-weight: 400;
  color: #FAEC21;
}
.sec05 .text_center {
  text-align: right;
}
.sec05 .sec06_bunkatu {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
}
.sec05 .annotation {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-right: 40px;
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
  position: relative;
}
.sec05 .annotation::before {
  content: "";
  position: absolute;
  top: 0px;
  right: -270px;
  background: url(../images/text_koujo.webp) center/contain no-repeat;
  width: 300px;
  height: 48px;
}
.sec05 .hr_bar {
  margin-bottom: 60px;
}
.sec05 .dt_left {
  padding: 20px 100px 20px;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 28px;
}
.sec05 .dt_left:nth-of-type(2) {
  color: #BEA882;
}
.sec05 .dt_left:nth-of-type(3) {
  color: #335D74;
}
.sec05 .dbox {
  display: flex;
  width: 70%;
  margin: 0 auto;
}
.sec05 .d_left {
  width: 77%;
  font-size: 24px;
  position: relative;
  line-height: 1.2;
  padding-bottom: 40px;
}
.sec05 .d_left::before {
  content: "";
  position: absolute;
  top: 18px;
  right: 0;
  height: 0;
  width: 30%;
  border: dotted 1px #543b14;
}
.sec05 .d_left span {
  font-size: 17px;
}
.sec05 .d_left_sub {
  font-size: 24px;
  position: relative;
  line-height: 1.2;
  padding-bottom: 0;
}
.sec05 .d_left_sub::before {
  content: "";
  position: absolute;
  top: 18px;
  right: 0;
  height: 0;
  width: 30%;
  border: dotted 1px #543b14;
}
.sec05 .d_left_sub_1 {
  width: 60%;
  position: relative;
}
.sec05 .d_left_sub_1::before {
  display: none;
}
.sec05 .d_right {
  width: 23%;
  font-size: 24px;
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  align-items: center-end;
}
.sec05 .d_right .color {
  color: #F5751E;
}
.sec05 .d_right .small {
  font-size: 17px;
  letter-spacing: 0.01em;
  color: #000;
}
.sec05 .d_right_sub {
  width: 40%;
}
.sec05 .comment {
  padding-top: 40px;
  text-align: right;
  font-size: 15px;
  color: #534741;
}
.sec05 .plus_cost {
  position: relative;
  display: block;
  font-size: 15px;
  padding-left: 1em;
}
.sec05 .plus_cost:before {
  position: absolute;
  content: "※";
  left: 0;
  top: 0;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  .sec05 .sec_title {
    font-size: 5.2vw;
    letter-spacing: 0.02em;
  }
  .sec05 .suresmile {
    padding-top: 6vw;
  }
  .sec05 .text_soudan {
    position: absolute;
    z-index: 2;
    top: -7.5vw;
  }
  .sec05 .text_bunseki {
    position: absolute;
    z-index: 2;
    top: -7vw;
  }
  .sec05 .sec06_bunkatu {
    width: 80vw;
    display: flex;
    flex-wrap: wrap;
  }
  .sec05 .dbox {
    display: flex;
    width: 83vw;
    margin: 0 auto;
  }
  .sec05 .d_left::before {
    width: 20%;
  }
}
@media screen and (max-width: 1174px) and (min-width: 768px) {
  .sec05 .annotation {
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin: 0 auto;
    margin-right: 268px;
    padding-right: 40px;
    display: flex;
    justify-content: flex-start;
    margin-bottom: 30px;
    position: relative;
  }
  .sec05 .annotation::before {
    content: "";
    position: absolute;
    top: 0;
    right: -270px;
    background: url(../images/text_koujo.webp) center/contain no-repeat;
    width: 300px;
    height: 48px;
  }
}
@media screen and (max-width: 767px) {
  .sec05 {
    padding: 13.8vw 0;
  }
  .sec05 .sec_title {
    padding-top: 0;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 5.8vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-align: center;
    color: #534741;
  }
  .sec05 .sec_text {
    padding: 7vw 0 14.3vw;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: center;
    color: #534741;
  }
  .sec05 .box {
    background-color: #fff;
    padding: 3vw;
  }
  .sec05 .suresmile {
    position: relative;
  }
  .sec05 .suresmile::before {
    content: "";
    position: absolute;
    z-index: 1;
    right: initial;
    left: 14vw;
    top: -12.2vw;
    width: 26.4vw;
    height: 26.4vw;
    border-radius: 50%;
    background-color: #D2916C;
  }
  .sec05 .suresmile:after {
    content: "";
    position: absolute;
    z-index: 1;
    right: 14vw;
    top: -12.2vw;
    width: 26.4vw;
    height: 26.4vw;
    border-radius: 50%;
    background-color: #EA7367;
  }
  .sec05 .suresmile_text {
    padding-top: 16vw;
    font-size: 6.9vw;
    font-weight: 600;
    color: #139AC2;
    padding-right: initial;
    text-align: center;
    padding-bottom: 6.2vw;
  }
  .sec05 .text_soudan {
    position: absolute;
    z-index: 2;
    right: initial;
    left: 8vw;
    top: -19.2vw;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 38.9vw;
    height: 43.7vw;
  }
  .sec05 .text_bunseki {
    position: absolute;
    z-index: 2;
    right: 8vw;
    top: -19.2vw;
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    width: 38.9vw;
    height: 43.7vw;
  }
  .sec05 .small {
    margin-bottom: -25px;
    font-size: 4vw;
    font-weight: 400;
    color: #fff;
  }
  .sec05 .large {
    font-size: 6.9vw;
    font-weight: 400;
    color: #FAEC21;
  }
  .sec05 .sec06_bunkatu {
    display: flex;
    align-items: center;
    justify-content: space-evenly;
  }
  .sec05 .sec06_bunkatu img {
    width: 100%;
  }
  .sec05 .annotation {
    display: flex;
    justify-content: left;
    font-size: 3.7vw;
    letter-spacing: 0.1em;
    margin: 16vw 0 4vw;
    position: relative;
  }
  .sec05 .annotation::before {
    content: "";
    position: absolute;
    top: -14vw;
    right: 2vw;
    background: url(../images/text_koujo.webp) center/contain no-repeat;
    width: 80vw;
    height: 10.66vw;
  }
  .sec05 .hr_bar {
    margin-bottom: 8vw;
  }
  .sec05 .dt_left {
    padding: 5.3vw 0;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 6.4vw;
  }
  .sec05 .dt_left:nth-of-type(2) {
    color: #BEA882;
  }
  .sec05 .dt_left:nth-of-type(3) {
    color: #335D74;
  }
  .sec05 .dbox {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 4.2vw;
  }
  .sec05 .dbox:nth-of-type(3) {
    padding-bottom: 0vw;
  }
  .sec05 .d_left {
    width: 90%;
    font-size: 4.2vw;
    position: relative;
    line-height: 1.2;
    padding-bottom: initial;
  }
  .sec05 .d_left::before {
    display: none;
  }
  .sec05 .d_left span {
    font-size: 3.4vw;
  }
  .sec05 .d_right {
    width: 98%;
    font-size: 4.2vw;
    position: relative;
  }
  .sec05 .d_right::before {
    content: "";
    position: absolute;
    top: 2.8vw;
    right: 25vw;
    height: 0;
    width: 30%;
    border: dotted 1px #534741;
  }
  .sec05 .d_right_sub::before {
    display: none;
  }
  .sec05 .d_right .color {
    color: #F5751E;
  }
  .sec05 .d_right .small {
    font-size: 3.2vw;
    color: #000;
  }
  .sec05 .d_right .text_center {
    text-align: right;
  }
  .sec05 .comment {
    padding-top: 4.2vw;
    text-align: right;
    font-size: 15px;
    color: #534741;
  }
}

.sec06 {
  overflow: hidden;
  padding: 80px 0;
  background-color: #335D74;
}
.sec06 .sec06_box {
  display: flex;
  justify-content: space-around;
  align-items: center;
}
.sec06 .sec06_title_text {
  margin: 0 auto;
  text-align: center;
  padding: 70px 0;
}
.sec06 .sec_text {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  color: #fff;
}
.sec06 .sec06_banner {
  display: flex;
  justify-content: space-around;
  align-items: baseline;
}
.sec06 .banner_logo:first-of-type {
  padding-right: 20px;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  .sec06 .text_box {
    max-width: 70vw;
  }
}
@media screen and (max-width: 767px) {
  .sec06 {
    padding: 6vw 0;
    /*.sec_text {
        width: 55.7vw;
        max-width: 100%;
        margin: 0 auto;
        padding-left: 2vw;
        font-size: 4.2vw;
        letter-spacing: .1em;
        line-height: 1.6;
        color: #fff;
        box-sizing: border-box;
    } */
  }
  .sec06 .sec06_title_text {
    margin: 0 auto;
    text-align: center;
    padding: 8vw 0 4vw;
  }
  .sec06 .sec06_title_text img {
    width: 100%;
  }
  .sec06 .sec06_image {
    margin: 0 auto;
    padding-bottom: 2vw;
  }
  .sec06 .sec06_image img {
    width: 100%;
  }
  .sec06 .text_box {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding-bottom: 5vw;
  }
  .sec06 .sec_text {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding-left: 2vw;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    line-height: 1.6;
    color: #fff;
    box-sizing: border-box;
  }
  .sec06 .sec06_banner {
    display: flex;
    flex-direction: column;
    align-items: baseline;
  }
  .sec06 .banner_logo {
    padding-bottom: 4.2vw;
  }
  .sec06 .banner_logo img {
    width: 100%;
  }
  .sec06 .banner_logo:first-of-type {
    padding-right: initial;
  }
}

.sec07 {
  margin-bottom: 160px;
  background-color: #fff;
}
.sec07 .sec_title {
  padding: 115px 0 40px;
  text-align: center;
}
.sec07 .pointlist {
  display: flex;
  justify-content: space-between;
}
.sec07 .point {
  width: 340px;
  max-width: 33%;
  padding: 10px;
  box-sizing: border-box;
}
.sec07 .point_title {
  display: flex;
  align-items: flex-end;
  height: 124px;
  margin: 0 auto;
  padding-bottom: 10px;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.6;
  text-align: justify;
  color: #534741;
}
.sec07 .point_title01 {
  position: relative;
}
.sec07 .point_title01:before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0px;
  bottom: 10px;
  width: 94px;
  height: 174px;
  background: url(../images/sec07_point01.webp) left/contain no-repeat;
}
.sec07 .point_title02 {
  position: relative;
}
.sec07 .point_title02:before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0px;
  bottom: 10px;
  width: 115px;
  height: 174px;
  background: url(../images/sec07_point02.webp) left/contain no-repeat;
}
.sec07 .point_title03 {
  position: relative;
}
.sec07 .point_title03:before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 0px;
  bottom: 10px;
  width: 110px;
  height: 174px;
  background: url(../images/sec07_point03.webp) left/contain no-repeat;
}
.sec07 .point_text {
  padding-top: 20px;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.8;
  text-align: justify;
  color: #534741;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  .sec07 {
    position: relative;
  }
  .sec07 .point_title {
    height: 18.6vw;
    font-size: 2.2vw;
  }
  .sec07 .point_title01:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0vw;
    bottom: 3.2vw;
  }
  .sec07 .point_title02 {
    position: relative;
  }
  .sec07 .point_title02:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0vw;
    bottom: 3.2vw;
  }
  .sec07 .point_title03 {
    position: relative;
  }
  .sec07 .point_title03:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 0vw;
    bottom: 3.2vw;
  }
}
@media screen and (max-width: 767px) {
  .sec07 {
    margin-bottom: 13.8vw;
  }
  .sec07 .sec_title {
    /*
    position: relative;
    margin-bottom: 80px;
    font-family: $mincho;
    font-size: 52px;
    font-weight: 500;
    letter-spacing: .2em;
    text-align: center; */
    padding: 10vw 0;
    text-align: center;
    margin: 0 auto;
    width: 81.6vw;
  }
  .sec07 .sec_title img {
    width: 100%;
  }
  .sec07 .pointlist {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }
  .sec07 .point {
    width: 100%;
    max-width: 100%;
    padding: 2.6vw;
    box-sizing: border-box;
  }
  .sec07 .point_title {
    height: initial;
    padding-left: 5.3vw;
    padding-bottom: 3vw;
    font-size: 5.3vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.6;
    text-align: justify;
    color: #534741;
  }
  .sec07 .point_title01 {
    position: relative;
    padding-top: 6vw;
  }
  .sec07 .point_title01:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 5.3vw;
    bottom: 0vw;
    width: 21.1vw;
    height: 34vw;
    background: url(../images/sec07_point01.webp) left/contain no-repeat;
  }
  .sec07 .point_title02 {
    position: relative;
    padding-top: 15vw;
    padding-bottom: 4vw;
  }
  .sec07 .point_title02:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 5.3vw;
    bottom: 0vw;
    width: 22.1vw;
    height: 29vw;
    background: url(../images/sec07_point02.webp) left/contain no-repeat;
  }
  .sec07 .point_title03 {
    position: relative;
    padding-top: 15vw;
  }
  .sec07 .point_title03:before {
    content: "";
    position: absolute;
    z-index: 0;
    left: 5.3vw;
    bottom: 0vw;
    width: 23.2vw;
    height: 40vw;
    background: url(../images/sec07_point03.webp) left/contain no-repeat;
  }
  .sec07 .point_image img {
    width: 100%;
  }
  .sec07 .point_text {
    padding-top: 5.3vw;
    font-size: 4.2vw;
    font-weight: 400;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: justify;
    color: #534741;
  }
}

.sec08 {
  position: relative;
  background-color: #F4F6F8;
  padding-bottom: 507px;
}
.sec08:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 507px;
  background: url(../images/staff_photo.webp) center/cover no-repeat;
}
.sec08 .inner {
  padding-bottom: 100px;
}
.sec08 .sec_title {
  position: relative;
  z-index: 2;
  padding-top: 80px;
  margin-bottom: 80px;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 35px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-align: left;
  font-feature-settings: "palt";
  padding-left: 60px;
}
.sec08 .sec_title:before {
  content: "";
  position: absolute;
  z-index: -1;
  left: -50px;
  top: 0px;
  width: 777px;
  height: 500px;
  background: url(../images/sec08_bg.webp) center/contain no-repeat;
}
.sec08 .framebox {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: start;
  margin-bottom: 20px;
}
.sec08 .sec_text {
  position: relative;
  z-index: 2;
  max-width: 55%;
  width: 620px;
  position: relative;
  z-index: 2;
  margin-right: 80px;
  letter-spacing: 0.1em;
  line-height: 2;
  text-align: justify;
  color: #000;
}
.sec08 .imagebox {
  position: relative;
  width: 403px;
}
.sec08 .sec_image {
  position: relative;
  z-index: 2;
  margin-bottom: 20px;
}
.sec08 .sec_image img {
  width: 100%;
}
.sec08 .image_text {
  position: relative;
  text-align: center;
  color: #4d4d4d;
}
.sec08 .image_text .small {
  font-size: 18px;
  letter-spacing: 0.2em;
  vertical-align: middle;
}
.sec08 .image_text .large {
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.2em;
  vertical-align: middle;
}
.sec08 .box {
  width: 1100px;
  max-width: 100%;
  padding: 30px;
  box-sizing: border-box;
  background: #fff;
}
.sec08 .bottom_box {
  width: 1100px;
  max-width: 100%;
  padding: 30px;
  margin: 0 auto;
  box-sizing: border-box;
  background: #fff;
}
.sec08 .box {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.sec08 .box_left {
  width: 50%;
}
.sec08 .box_right {
  width: 45%;
}
.sec08 .list_title {
  position: relative;
  padding-left: 30px;
  font-size: 22px;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #534741;
}
.sec08 .list_title:before {
  content: "";
  position: absolute;
  bottom: -10px;
  right: 0;
  width: 100%;
  height: 1px;
  background: #543b14;
}
.sec08 .row {
  display: flex;
}
.sec08 .row:not(:last-of-type) {
  margin-bottom: 10px;
}
.sec08 .term, .sec08 .desc {
  letter-spacing: 0.1em;
}
.sec08 .term {
  min-width: 150px;
}
.sec08 .item {
  letter-spacing: 0.1em;
}
.sec08 .item:not(:last-of-type) {
  margin-bottom: 10px;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  .sec08 .sec_title {
    z-index: 2;
    padding-left: 5.5vw;
    letter-spacing: 0.1em;
  }
  .sec08 .box {
    max-width: 100%;
    padding: 4.2vw 0.5vw;
    box-sizing: border-box;
    background: #fff;
  }
  .sec08 .bottom_box {
    max-width: 100%;
    padding: 2.2vw 2.2vw 0;
    margin: 0 auto;
    box-sizing: border-box;
    background: #fff;
  }
  .sec08 .box_right {
    width: 50%;
  }
  .sec08 .term {
    min-width: 13vw;
  }
  .sec08 .term, .sec08 .desc {
    letter-spacing: 0.01em;
  }
}
@media screen and (max-width: 767px) {
  .sec08 {
    padding-bottom: 88vw;
  }
  .sec08:before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 78.1vw;
    background: url(../images/sp_staff_photo.webp) center/cover no-repeat;
  }
  .sec08 .inner {
    padding-bottom: initial;
  }
  .sec08 .sec_title {
    position: relative;
    margin: 0 auto;
    padding-top: 17.3vw;
    margin-bottom: 6vw;
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 5.8vw;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-align: left;
    padding-left: initial;
  }
  .sec08 .sec_title:before {
    content: "";
    position: absolute;
    left: -46.6vw;
    top: -1.6vw;
    width: 133.8vw;
    height: 88.5vw;
    background: url(../images/sp_sec08_bg.webp) center/contain no-repeat;
  }
  .sec08 .framebox {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: start;
    margin-bottom: 5.3vw;
  }
  .sec08 .sec_text {
    padding-top: 5.3vw;
    max-width: 100%;
    width: 100%;
    position: relative;
    z-index: 2;
    margin-right: initial;
    font-size: 4.2vw;
    letter-spacing: 0.1em;
    line-height: 2;
    text-align: justify;
    color: #000;
  }
  .sec08 .imagebox {
    position: relative;
    width: 100%;
  }
  .sec08 .sec_image {
    margin-bottom: 5.3vw;
  }
  .sec08 .image_text {
    position: relative;
    text-align: center;
    color: #4d4d4d;
  }
  .sec08 .image_text .small {
    font-size: 4.8vw;
    letter-spacing: 0.2em;
    vertical-align: middle;
  }
  .sec08 .image_text .large {
    font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
    font-size: 6.4vw;
    font-weight: 500;
    letter-spacing: 0.2em;
    vertical-align: middle;
  }
  .sec08 .box {
    width: 100%;
    max-width: 100%;
    padding: 8vw;
    box-sizing: border-box;
    background: #fff;
  }
  .sec08 .bottom_box {
    width: 100%;
    max-width: 100%;
    padding: 4vw;
    margin: 0 auto;
    box-sizing: border-box;
    background: #fff;
  }
  .sec08 .box {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 8vw 0 3vw;
  }
  .sec08 .box_left {
    width: 100%;
    margin-bottom: 2.6vw;
  }
  .sec08 .box_right {
    width: 100%;
  }
  .sec08 .list_title {
    position: relative;
    padding-left: initial;
    font-size: 4.8vw;
    font-weight: 600;
    letter-spacing: 0.1em;
    color: #534741;
  }
  .sec08 .list_title:before {
    content: "";
    position: absolute;
    bottom: -10px;
    right: 0;
    width: 100%;
    height: 1px;
    background: #543b14;
  }
  .sec08 .row {
    display: flex;
  }
  .sec08 .row:not(:last-of-type) {
    margin-bottom: 2.6vw;
  }
  .sec08 .term, .sec08 .desc {
    letter-spacing: 0.1em;
    font-size: 3.7vw;
  }
  .sec08 .term {
    min-width: 24vw;
  }
  .sec08 .item {
    letter-spacing: 0.1em;
  }
  .sec08 .item:not(:last-of-type) {
    margin-bottom: 0vw;
  }
}

.sec09 {
  box-sizing: border-box;
}
.sec09 .inner {
  position: relative;
  padding: 100px 20px;
}
.sec09 .sec_title {
  position: relative;
  padding: 20px 0;
  margin-bottom: 100px;
  font-family: "Yu Mincho", "YuMincho", "noto serif jp", serif;
  font-size: 48px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  background-color: #C49A6D;
}
.sec09 .dlist {
  width: 1060px;
  max-width: 100%;
  margin: 0 auto 10px;
}
.sec09 .row {
  display: flex;
  align-items: center;
  width: 800px;
  padding: 10px 0;
  margin: 0 auto;
  max-width: 100%;
  border-top: 1px solid #ccc;
}
.sec09 .term {
  display: flex;
  justify-content: center;
  text-align: center;
  width: 280px !important;
  padding: 40px 0;
  font-size: 20px !important;
  letter-spacing: 0.12em;
  align-items: center;
}
.sec09 .description {
  max-width: 500px;
  padding: 40px 0;
  box-sizing: border-box;
  font-size: 20px;
}
.sec09 .row:nth-of-type(1) .radiolist {
  display: block;
}
.sec09 .row:nth-of-type(1) .radioitem {
  display: block;
  align-items: center;
  padding-bottom: 20px !important;
}
.sec09 .row:nth-of-type(1) label {
  padding: 0 0 0 10px;
  font-size: 20px;
  vertical-align: middle;
  line-height: 1.2;
}
.sec09 .row:nth-of-type(1) label span {
  line-height: 2;
  font-size: 16px;
}
.sec09 .row:nth-of-type(1) input {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}
.sec09 .row:nth-of-type(2) input,
.sec09 .row:nth-of-type(3) input,
.sec09 .row:nth-of-type(4) input,
.sec09 .row:nth-of-type(5) input,
.sec09 .row:nth-of-type(6) input,
.sec09 .row:nth-of-type(7) input {
  width: 412px;
  height: 50px;
  font-size: 18px;
}
.sec09 textarea {
  width: 500px !important;
  height: 150px !important;
  font-size: 18px;
}
.sec09 .comm {
  font-size: 18px;
  letter-spacing: 0.01em;
}
.sec09 .g-recaptcha {
  width: 300px;
  margin: 0 auto 20px;
}
.sec09 .warning {
  margin: 0 0 20px;
  font-size: 24px;
  text-align: center;
}
.sec09 .submit_btn {
  width: 180px;
  margin: 0 auto;
  text-align: center;
  background: #fff;
}
.sec09 .submit_btn input {
  width: 100%;
  padding: 10px 0;
  font-size: 20px;
  color: #fff;
  background: #C49A6D;
  text-shadow: none !important;
}
.sec09 .submit_btn input:hover {
  opacity: 0.7;
  transition: 0.4s;
  cursor: pointer;
}
.sec09 .submit {
  display: none;
}
.sec09 .mfp_err {
  color: #EA7367;
}
.sec09 form#mailformpro dl dd {
  border-top: none;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.5em;
  text-align: left;
}
.sec09 form#mailformpro dl dt {
  float: none;
  width: 100%;
  font-size: 16px;
  padding: 0;
  text-align: left;
  border-top: none;
  margin: 0;
}
@media screen and (max-width: 1100px) and (min-width: 768px) {
  .sec09 .inner {
    padding: 13.8vw 5.5vw;
  }
  .sec09 .inner:before {
    content: "";
    position: absolute;
    right: 20px;
    top: 50px;
    width: 200px;
  }
  .sec09 .term {
    min-width: 260px;
    max-width: 260px;
  }
  .sec09 .description {
    width: calc(100% - 260px);
    padding: 40px 0 40px 20px;
  }
  .sec09 .row:nth-of-type(1) label {
    padding: 0 0 0 10px;
    font-size: 16px;
    vertical-align: middle;
  }
  .sec09 textarea {
    width: 412px !important;
  }
}
@media screen and (max-width: 767px) {
  .sec09 .inner {
    width: 100%;
    padding: 17vw 5.5vw;
    box-sizing: border-box;
  }
  .sec09 .sec_title {
    position: relative;
    margin-bottom: 13.8vw;
    font-size: 6.4vw;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .sec09 .dlist {
    width: 100%;
    margin: 0 auto 13.8vw;
  }
  .sec09 .row {
    display: block;
  }
  .sec09 .term {
    display: flex;
    justify-content: start;
    text-align: left;
    width: 100%;
    padding: 2.7vw 0;
    font-size: 5.5vw;
    letter-spacing: 0.12em;
    align-items: center;
  }
  .sec09 .description {
    padding: 0.5vw 2.7vw 5.5vw;
    box-sizing: border-box;
    font-size: 4.4vw;
  }
  .sec09 .row:nth-of-type(1) .radiolist {
    display: block;
  }
  .sec09 .row:nth-of-type(1) .radioitem {
    width: 100%;
    margin-bottom: 2.7vw;
    padding-bottom: 2.4vw !important;
  }
  .sec09 .row:nth-of-type(1) label {
    padding: 0 0 0 5.5vw;
    font-size: 4.4vw;
    vertical-align: middle;
  }
  .sec09 .row:nth-of-type(1) label span {
    font-size: 3.7vw;
  }
  .sec09 .row:nth-of-type(1) input {
    width: 4.4vw;
    height: 4.4vw;
    vertical-align: middle;
  }
  .sec09 .row:nth-of-type(2) input,
  .sec09 .row:nth-of-type(3) input,
  .sec09 .row:nth-of-type(4) input,
  .sec09 .row:nth-of-type(5) input,
  .sec09 .row:nth-of-type(6) input,
  .sec09 .row:nth-of-type(7) input,
  .sec09 .row:nth-of-type(8) input {
    width: 100%;
    height: 8.3vw;
    font-size: 18px;
    box-sizing: border-box;
  }
  .sec09 textarea {
    width: 100% !important;
    height: 40vw !important;
    font-size: 4.4vw;
    box-sizing: border-box;
  }
  .sec09 .g-recaptcha {
    display: flex;
    justify-content: center;
    width: 83.3vw;
    margin: 0 auto 5.5vw;
  }
  .sec09 .warning {
    margin: 0 0 5.5vw;
    font-size: 4.2vw;
    text-align: center;
  }
  .sec09 .submit_btn {
    width: 50vw;
    margin: 0 auto;
    text-align: center;
    background: #fff;
  }
  .sec09 .submit_btn input {
    width: 100%;
    padding: 2.7vw 0;
    font-size: 4.4vw;
    color: #fff;
    background: #C49A6D;
    text-shadow: none !important;
  }
  .sec09 .submit_btn input:hover {
    opacity: 0.7;
    transition: 0.4s;
    cursor: pointer;
  }
  .sec09 .mfp_element_all {
    max-width: 100%;
  }
}

.thanks_sec {
  padding: 200px 0;
}
.thanks_sec .sec_title {
  margin-bottom: 100px;
  font-size: 35px;
  text-align: center;
}
.thanks_sec .sec_text {
  font-size: 20px;
  line-height: 3;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .thanks_sec {
    padding: 55.5vw 5.5vw 33.3vw;
    box-sizing: border-box;
  }
  .thanks_sec .sec_title {
    margin-bottom: 13.8vw;
    font-size: 8.3vw;
    text-align: center;
  }
  .thanks_sec .sec_text {
    font-size: 4.4vw;
    line-height: 3;
    text-align: center;
  }
}

.footer .upper {
  padding: 100px 20px;
  background: #fff;
}
.footer .logo {
  margin-right: 30px;
}
.footer .f_header {
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer .h_text {
  margin-bottom: 10px;
  letter-spacing: 0.1em;
}
.footer .address_text {
  margin-bottom: 20px;
  font-size: 20px;
  letter-spacing: 0.15em;
  text-align: center;
  margin-bottom: 50px;
}
.footer .flexbox {
  display: flex;
  justify-content: center;
}
.footer .left {
  margin-right: 30px;
}
.footer .left .tel_btn {
  margin-bottom: 30px;
}
.footer .tel_btn {
  text-align: center;
}
.footer .web_btn {
  text-align: center;
  padding-bottom: 20px;
}
.footer .lower {
  display: flex;
}
.footer .map {
  width: 70%;
  min-height: 560px;
}
.footer .map iframe {
  width: 100%;
  height: 100%;
}
.footer .access {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 30%;
  padding: 50px;
  box-sizing: border-box;
  background: #688099;
}
.footer .access_title {
  margin-bottom: 50px;
  text-align: center;
}
.footer .guidance {
  font-size: 16px;
  color: #fff;
  padding-bottom: 10px;
}
.footer .by {
  display: flex;
  align-items: center;
  width: 90%;
}
.footer .by:not(:last-of-type) {
  margin-bottom: 30px;
}
.footer .by_icon {
  width: 100px;
  text-align: center;
  margin: 0 auto;
}
.footer .by_text {
  width: calc(100% - 100px);
  color: #fff;
  text-align: left;
  font-size: 18px;
  letter-spacing: 0.1em;
}
.footer .copy {
  padding: 20px 0;
  font-size: 19px;
  letter-spacing: 0.2em;
  text-align: center;
  color: #534741;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  .footer .map {
    width: 60%;
  }
  .footer .access {
    width: 40%;
    padding: 30px;
  }
}
@media screen and (max-width: 767px) {
  .footer {
    margin-bottom: 80px;
  }
  .footer .upper {
    padding: 0vw 2.7vw 0vw;
  }
  .footer .logo {
    text-align: center;
    margin-right: 0;
    padding-bottom: 5vw;
  }
  .footer .logo img {
    max-width: 90%;
  }
  .footer .f_header {
    margin: 0 auto;
    display: flex;
  }
  .footer .h_text {
    font-size: 3.4vw;
    margin-bottom: 2.7vw;
    letter-spacing: 0.1em;
    text-align: center;
  }
  .footer .clinic_name {
    text-align: left;
  }
  .footer .clinic_name img {
    width: 90%;
  }
  .footer .flexbox {
    display: flex;
    flex-direction: column-reverse;
    justify-content: center;
  }
  .footer .left {
    margin-right: 0;
    margin-bottom: 5.5vw;
    margin: 0 auto;
    width: 90%;
  }
  .footer .address_text {
    width: 82vw;
    margin: 0 auto 5.5vw;
    font-size: 4.4vw;
    letter-spacing: 0.1em;
    text-align: left;
  }
  .footer .tel_btn {
    text-align: center;
  }
  .footer .tel_btn img {
    width: 100%;
  }
  .footer .web_btn {
    text-align: center;
    padding-bottom: 20px;
  }
  .footer .web_btn img {
    width: 100%;
  }
  .footer .timetable {
    padding-top: 6vw;
  }
  .footer .timetable img {
    width: 100%;
  }
  .footer .lower {
    display: flex;
    flex-direction: column;
  }
  .footer .map {
    width: 100%;
    height: 80vw;
  }
  .footer .map iframe {
    width: 100%;
    height: 100%;
  }
  .footer .access {
    width: 100%;
    padding: 10.6vw 5.5vw;
  }
  .footer .access_title {
    width: 55.5vw;
    margin: 0 auto 8vw;
  }
  .footer .guidance {
    font-size: 4.2vw;
    padding-bottom: 2.6vw;
  }
  .footer .by {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0 auto;
  }
  .footer .by:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  .footer .by_icon {
    width: 25vw;
    text-align: center;
  }
  .footer .by_icon img {
    width: 13.8vw;
  }
  .footer .by_icon_train {
    width: 25vw;
    text-align: center;
  }
  .footer .by_icon_train img {
    width: 10.8vw;
  }
  .footer .by_text {
    width: calc(100% - 25vw);
    color: #fff;
    text-align: left;
    font-size: 4.4vw;
    letter-spacing: 0.1em;
  }
  .footer .copy {
    padding: 2.7vw 0;
    font-size: 3.4vw;
    letter-spacing: 0.2em;
    text-align: center;
    color: #534741;
  }
}

@media screen and (max-width: 767px) {
  .sp_fixed {
    position: fixed;
    z-index: 100;
    left: 0;
    bottom: -3px;
    width: 100%;
    height: 76px;
    display: flex;
    box-sizing: border-box;
  }
  .sp_fixed .tel_cont {
    width: 50%;
    text-align: center;
  }
  .sp_fixed .tel_cont a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 5px 0 0;
    box-sizing: border-box;
    background: #f6f0e7;
    color: #2d0000;
  }
  .sp_fixed .tel_cont a:hover {
    opacity: 1;
    transition: none;
  }
  .sp_fixed .tel_cont .btn_inner {
    position: relative;
    width: 187px;
    margin: 0 auto;
  }
  .sp_fixed .tel_cont .tel_text01 {
    position: relative;
    z-index: 3;
    padding-top: 5px;
    margin: 0 0 3px;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    color: #C49A6D;
  }
  .sp_fixed .tel_cont .tel_text02 {
    position: relative;
    padding-left: 15px;
    font-size: 19px;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #C49A6D;
  }
  .sp_fixed .tel_cont .tel_text02:before {
    content: "";
    position: absolute;
    left: 10px;
    top: 5px;
    width: 13px;
    height: 15px;
    background: url(../images/fixed_tel.webp) center/contain no-repeat;
  }
  .sp_fixed .reserve_btn {
    width: 50%;
    text-align: center;
    position: relative;
  }
  .sp_fixed .reserve_btn:before {
    content: "";
    position: absolute;
    z-index: 5;
    left: 0;
    bottom: 14px;
    width: 54.5px;
    height: 50.5px;
    background: url(../images/fixed_web_kazari01.webp) center/contain no-repeat;
  }
  .sp_fixed .reserve_btn:after {
    content: "";
    position: absolute;
    z-index: 5;
    right: 8px;
    top: 26px;
    width: 23px;
    height: 27px;
    background: url(../images/fixed_web_kazari02.webp) center/contain no-repeat;
  }
  .sp_fixed .reserve_btn a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    padding: 5px 0 0;
    box-sizing: border-box;
    background: #335D74;
    color: #fff;
  }
  .sp_fixed .reserve_btn a:hover {
    opacity: 1;
    transition: none;
  }
  .sp_fixed .reserve_btn .btn_inner {
    position: relative;
    width: 187px;
    margin: 0 auto;
  }
  .sp_fixed .reserve_btn .btn_inner img {
    position: absolute;
    left: 15px;
    top: 25px;
    display: inline-block;
  }
  .sp_fixed .reserve_btn .btn_inner:before {
    content: "";
    position: absolute;
    right: 0;
    bottom: -10px;
    width: 51px;
    height: 53px;
    background: url(../images/fixed_bg.webp) center/contain no-repeat;
  }
  .sp_fixed .reserve_btn .reserve_text01 {
    margin: 0;
    padding-left: 16px;
    font-size: 15px;
    letter-spacing: 0em;
    color: #FAEC21;
  }
  .sp_fixed .reserve_btn .reserve_text01 span {
    font-size: 20px;
    letter-spacing: 0;
    color: #FAEC21;
  }
  .sp_fixed .reserve_btn .reserve_text02 {
    padding-left: 37px;
    font-family: "noto serif jp", serif;
    font-size: 18px;
    letter-spacing: 0em;
  }
}/*# sourceMappingURL=style07.css.map */