/*

  クマ取り手術　tl-customize.css

================================================================
*/

/* pc/spでの非表示切替
--------------------------------------------------------------*/
.pcn {
  display: none;
}

.spn {
  display: inline-block;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .pcn {
    display: inline-block;
  }

  .spn {
    display: none;
  }
}

/*

  メインビジュアル

--------------------------------------------------------------*/
/* 共通
--------------------------------------------------------------*/
.tl-mv {
  overflow: hidden;
  width: 100%;
  height: 700px;
  margin-top: -18px;
  background-repeat: no-repeat;
  background-size: 2000px auto;
  background-position: top center;
  line-height: 1.0;
}

.tl-mv .inner {
  position: relative;
  height: 100%;
}

.tl-mv h1 {
  position: absolute;
  top: 20px;
  font-weight: 400;
  font-size: 15px;
  color: #fff;
  letter-spacing: .1em;
  z-index: 2;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-mv {
    padding: 0 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-mv {
    overflow: visible;
    margin-top: -10px;
    padding: 0;
    background-size: 100% auto;
  }

  .tl-mv h1 {
    top: 3vw;
    left: 4vw;
    font-size: 3vw;
  }
}

/* 親MV
--------------------------------------------------------------*/
.tl-mv.parent {
  background-image: url(../img/parent/mv_pc.jpg);
}

.tl-mv.parent ul {
  display: flex;
  gap: 0 15px;
  position: absolute;
  bottom: 25px;
  left: 0;
  font-size: 14px;
  color: #6F5437;
  z-index: 2;
  max-width: 65%;
}

.tl-mv.parent ul li {
  position: relative;
  z-index: 0;
  flex: 1;
  padding: 20% 15px 15px 15px;
  border-radius: 0 30px 0 30px;
  box-shadow: 3px 3px 16px rgba(63, 48, 31, .2);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  text-align: center;
  background: #fff;
}

.tl-mv.parent ul li p.title {
  overflow-wrap: break-word;
  margin-bottom: 5px;
  padding: 5px;
  background-color: rgba(215, 181, 146, .2);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .05em;
}

.tl-mv.parent ul li p.txt {
  font-weight: 500;
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
}

.tl-mv.parent ul li:nth-child(1)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 370 / 198;
  background: url(../img/parent/mv_li01_rev2.png) no-repeat top center / contain
}

.tl-mv.parent ul li:nth-child(2)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 370 / 198;
  background: url(../img/parent/mv_li02_rev2.png) no-repeat top center / contain;
}

.tl-mv.parent ul li:nth-child(3)::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  aspect-ratio: 370 / 198;
  background: url(../img/parent/mv_li03_rev2.png) no-repeat top center / contain;
}

.tl-mv.parent .popup {
  position: absolute;
  bottom: 150px;
  right: -10px;
  width: 300px;
  height: 322px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../img/parent/mv_popup.png);
  z-index: 2;
}

.tl-mv.parent .popup p {
  text-align: center;
  font-weight: 400;
  color: #fff;
  line-height: 1.8;
  padding:0 30px;
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-15%);
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-mv.parent {
    background-image: url(../img/parent/mv_sp.jpg);
  }

  .tl-mv.parent .inner {
    display: flex;
    align-items: flex-end;
    padding-bottom: 3vw;
  }

  .tl-mv.parent ul {
    max-width: 100%;
    white-space: pre-wrap;
    padding: 0 5vw;
    font-size: 3.5vw;
    z-index: 2;
    overflow-x: auto;
  }

  .tl-mv.parent ul li {
    display: flex;
    flex-direction: column;
    min-width: 50%;
    padding: 32% 15px 15px 15px;
    position: relative;
    box-shadow: none;
    text-align: center;
    font-size: 3.2vw;
  }

  .tl-mv.parent ul li p.title {
    margin-bottom: 1vw;
    padding: 1vw 1vw;
    font-weight: 600;
    letter-spacing: 0;
  }

  .tl-mv.parent ul li p.txt {
    font-size: 3vw;
  }

  .tl-mv.parent ul li:nth-child(1) {}

  .tl-mv.parent ul li:nth-child(2) {}

  .tl-mv.parent ul li:nth-child(3) {}

  .tl-mv.parent ul li:nth-child(4) {}

  .tl-mv.parent ul li:last-child:after {
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    right: -4vw;
    width: 4vw;
    height: 4vw;
  }

  .tl-mv.parent .popup {
    top: 10vw;
    bottom: auto;
    right: 4vw;
    width: 40vw;
    height: 45vw;
  }

  .tl-mv.parent .popup p {
    font-size: 2.5vw;
    padding: 0px 20px;
    transform: translateY(-20%);
  }
}

/* 子MV
--------------------------------------------------------------*/
.tl-mv.child {
  height: 660px;
}

.tl-mv.child.menu27 {
  background-image: url(../img/child/27/mv_pc.jpg);
}

.tl-mv.child.menu1162 {
  background-image: url(../img/child/-1162/mv_pc2.png);
}

.tl-mv.child.menu1184 {
  background-image: url(../img/child/1184/mv_pc.png);
}

.tl-mv.child.menu28 {
  background-image: url(../img/child/28/mv_pc.png);
}

.tl-mv.child.menu1163 {
  background-image: url(../img/child/1163/mv_pc.png);
}

.tl-mv.child.menu1611 {
  background-image: url(../img/child/1611/mv_pc.png);
}

.tl-mv.child.menu1018 {
  background-image: url(../img/child/1018/mv_pc.png);
}

.tl-mv.child.menu1735 {
  background-image: url(../img/child/1735/mv_pc.png);
}


.tl-mv.child .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.tl-mv.child figure {
  width: 590px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-mv.child {
    height: 145vw;
  }

  .tl-mv.child.menu27 {
    background-image: url(../img/child/27/mv_sp.jpg);
  }

  .tl-mv.child.menu1162 {
    background-image: url(../img/child/-1162/mv_sp2.png);
  }

  .tl-mv.child.menu1184 {
    background-image: url(../img/child/1184/mv_sp.png);
  }

  .tl-mv.child.menu28 {
    background-image: url(../img/child/28/mv_sp.png);
  }
  .tl-mv.child.menu28 figure{
    padding-right:20px;
  }

  .tl-mv.child.menu1163 {
    background-image: url(../img/child/1163/mv_sp.png);
  }
  .tl-mv.child.menu1163 figure{
    padding-right:20px;
  }

  .tl-mv.child.menu1611 {
    background-image: url(../img/child/1611/mv_sp.png);
  }

  .tl-mv.child.menu1018 {
    background-image: url(../img/child/1018/mv_sp.png);
  }
  .tl-mv.child.menu1018 figure{
    padding-right:20px;
  }

  .tl-mv.child.menu1735 {
    background-image: url(../img/child/1735/mv_sp.png);
  }

  .tl-mv.child .inner {
    justify-content: flex-end;
    padding-bottom: 5vw;
  }

  .tl-mv.child figure {
    width: 100%;
  }
}

/*

  親：コンテンツ内共通

--------------------------------------------------------------*/
/* h2
--------------------------------------------------------------*/
.h2-common {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
  color: #905941;
}

.h2-common .en {
  margin-bottom: 15px;
  font-weight: 500;
  font-size: 48px;
}

.h2-common h2 {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .05em;
  line-height: 1.4;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .h2-common {
    margin-bottom: 7vw;
  }

  .h2-common .en {
    margin-bottom: 2.5vw;
    letter-spacing: .2em;
    font-size: 3.5vw;
  }

  .h2-common h2 {
    padding: 0 15px;
    line-height: 1.4;
    font-size: 5.2vw;
  }
}

/*

  親：tl-parent-01

--------------------------------------------------------------*/
.tl-parent-01 {
  padding: 80px 0 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-01 .box {
  position: relative;
  width: 100%;
}

.tl-parent-01 .box figure {
  width: 590px;
}

.tl-parent-01 .box>div {
  position: absolute;
  bottom: -20px;
  right: 0;
  width: 590px;
  padding: 60px 80px;
  border: 1px solid #E3DED2;
  background-color: #F9F7F2;
  z-index: 2;
}

.tl-parent-01 .box>div h2 {
  margin-bottom: 40px;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
  letter-spacing: .05em;
}

.tl-parent-01 .box>div ul {
  position: relative;
  margin-top: 0;
}

.tl-parent-01 .box>div ul li {
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
  font-weight: 400;
  font-size: 16px;
}

.tl-parent-01 .box>div ul li+li {
  margin-top: 20px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-01 {
    padding: 5vw 0 0;
  }

  .tl-parent-01 .box {
    display: flex;
    flex-direction: column-reverse;
  }

  .tl-parent-01 .box figure {
    width: 100%;
  }

  .tl-parent-01 .box>div {
    position: static;
    width: 100%;
    margin-bottom: 10vw;
    border: none;
    padding: 0 10vw;
  }

  .tl-parent-01 .box>div h2 {
    line-height: 1.6;
    margin-bottom: 7vw;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-parent-01 .box>div ul {
    margin-top: 0;
  }

  .tl-parent-01 .box>div ul li {
    background-size: 3.5vw auto;
    font-size: 3.5vw;
  }

  .tl-parent-01 .box>div ul li+li {
    margin-top: 4vw;
  }
}

/*

  親：tl-parent-02

--------------------------------------------------------------*/
.tl-parent-02 {
  padding: 80px 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-02 .box {
  width: 740px;
  margin: 0 auto;
}

.tl-parent-02 .box figure img {
  width: 630px;
  height: auto;
  margin: 0 auto;
}

.tl-parent-02 .box .txt {
  margin-top: 20px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-02 {
    padding: 10vw 0;
  }

  .tl-parent-02 .box {
    width: 100%;
  }

  .tl-parent-02 .box figure img {
    width: 100%;
  }

  .tl-parent-02 .box .txt {
    margin-top: 5vw;
    padding: 0 7vw;
    font-size: 3.4vw;
    line-height: 1.9;
  }

  .tl-parent-02 .parts-require {
    padding: 0 5vw;
  }
}

/*

  親：tl-parent-03

--------------------------------------------------------------*/
.tl-parent-03 {
  padding: 80px 0;
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 2000px auto;
  background-image: url(../img/parent/03_bg.jpg);
  background-color: #F0E2D6;
  line-height: 1.0;
}

.tl-parent-03 .h2-common figure {
  margin-bottom: 10px;
}

.tl-parent-03 .h2-common img {
  width: 215px;
  height: auto;
}

.tl-parent-03 .h2-common h2 {
  font-size: 30px;
}

.tl-parent-03 .box {
  width: 100%;
  padding: 60px;
  background-color: #F9F7F2;
}

.tl-parent-03 .box>ul>li {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding: 50px 0;
}

.tl-parent-03 .box>ul>li .left {
  width: 430px;
}

.tl-parent-03 .box>ul>li figure {
  width: 100%;
}

.tl-parent-03 .box>ul>li .right {
  flex: 1;
  margin-left: 60px;
}

.tl-parent-03 .box>ul>li>div h3 {
  line-height: 1.8;
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: .1em;
}

.tl-parent-03 .box>ul>li>div h3 span {
  display: block;
  margin-top: 10px;
  font-size: 80%;
}

.tl-parent-03 .box>ul>li>div .txt {
  padding-top: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.tl-parent-03 .box>ul>li>div .reco {
  display: flex;
  align-items: flex-start;
  margin-top: 20px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
  color: #905941;
}

.tl-parent-03 .box>ul>li>div .reco span {
  white-space: nowrap;
  margin-right: 30px;
  padding-bottom: 6px;
  border-bottom: 1px solid #905941;
}

.tl-parent-03 .box>ul>li>div .reco ul li+li {
  margin-top: 5px;
}

.tl-parent-03 .box>ul>li>div a {
  line-height: 1.4;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: auto;
  margin-top: 30px;
  padding: 8px 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 500;
  font-size: 16px;
  color: #fff;
}

.tl-parent-03 .box>ul>li>div a+a {
  margin-left: 10px;
}

.tl-parent-03 .box>ul>li:nth-child(even) {
  flex-direction: row-reverse;
}

.tl-parent-03 .box>ul>li:nth-child(even) .right {
  margin-left: 0;
  margin-right: 60px;
}

.tl-parent-03 .box>ul>li+li {
  border-top: 1px solid #eee;
}

.tl-parent-03 .box>ul>li:first-child {
  padding-top: 0;
}

.tl-parent-03 .box>ul>li:last-child {
  padding-bottom: 0;
}

.tl-parent-03 .note {
  width: 820px;
  margin: 0 auto;
  margin-top: 30px;
  padding: 10px 15px;
  border: 1px solid #6F5437;
}

.tl-parent-03 .note div {
  position: relative;
  padding: 20px 60px;
  background-color: #F9F7F2;
}

.tl-parent-03 .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-parent-03 .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-parent-03 .note div p {
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.tl-parent-03 .note div p span {
  color: #905941;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-03 .box {
    padding: 50px 30px;
  }

  .tl-parent-03 .box>ul>li figure {
    width: 300px;
  }

  .tl-parent-03 .box>ul>li .right {
    margin-left: 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-03 {
    padding: 10vw 4vw;
    background-size: 300vw auto;
  }

  .tl-parent-03 .h2-common figure {
    margin-bottom: 2vw;
  }

  .tl-parent-03 .h2-common img {
    width: 40vw;
  }

  .tl-parent-03 .h2-common h2 {
    text-align: center;
    font-size: 5.2vw;
    line-height: 1.5;
  }

  .tl-parent-03 .box {
    padding: 4vw;
  }

  .tl-parent-03 .box>ul>li {
    flex-direction: column;
    padding: 0;
  }

  .tl-parent-03 .box>ul>li .left {
    width: 100%;
    padding-top: 20vw;
  }

  .tl-parent-03 .box>ul>li figure {
    width: 100%;
  }

  .tl-parent-03 .box>ul>li .right {
    width: 100%;
    margin-top: 5vw;
    margin-left: 0;
    padding: 0 3vw;
    padding-bottom: 10vw;
  }

  .tl-parent-03 .box>ul>li>div h3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin-bottom: 0;
    text-align: center;
    font-size: 4.8vw;
  }

  .tl-parent-03 .box>ul>li+li .left {
    padding-top: 25vw;
  }

  .tl-parent-03 .box>ul>li+li div h3 {
    top: 5vw;
  }

  .tl-parent-03 .box>ul>li:nth-child(3) .left {
    padding-top: 25vw;
  }

  .tl-parent-03 .box>ul>li>div h3 span {
    margin-top: 0;
    font-size: 70%;
  }

  .tl-parent-03 .box>ul>li>div .txt {
    font-size: 3.4vw;
    line-height: 1.9;
  }

  .tl-parent-03 .box>ul>li>div .reco {
    flex-direction: column;
    align-items: center;
    margin-top: 5vw;
    font-size: 3.4vw;
  }

  .tl-parent-03 .box>ul>li>div .reco span {
    margin-right: 0;
    margin-bottom: 3vw;
    padding: 0;
    padding-bottom: 2vw;
    font-weight: 500;
  }

  .tl-parent-03 .box>ul>li>div .reco ul li {
    text-align: center;
  }

  .tl-parent-03 .box>ul>li>div .reco ul li+li {
    margin-top: 2vw;
  }

  .tl-parent-03 .box>ul>li>div a {
    width: 100%;
    height: 12vw;
    margin-top: 7vw;
    font-size: 3.5vw;
  }

  .tl-parent-03 .box>ul>li>div a+a {
    margin-top: 3.5vw;
    margin-left: 0;
  }

  .tl-parent-03 .box>ul>li:nth-child(even) {
    flex-direction: column;
  }

  .tl-parent-03 .box>ul>li:nth-child(even) .right {
    margin-right: 0;
  }

  .tl-parent-03 .note {
    width: 100%;
    margin-top: 5vw;
    padding: 2vw;
  }

  .tl-parent-03 .note div {
    padding: 4vw 5vw;
  }

  .tl-parent-03 .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-parent-03 .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-parent-03 .note div p {
    text-align: left;
    font-size: 3.4vw;
  }
}

/*

  親：tl-parent-04

--------------------------------------------------------------*/
.tl-parent-04 {
  padding: 60px 0;
  background-color: #DDBA9E;
  line-height: 1.0;
}

.tl-parent-04 .h2-common h2 {
  font-size: 30px;
  color: #fff;
}

.tl-parent-04 .box {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  padding: 40px 0;
  background-color: #F9F7F2;
}

.tl-parent-04 .box .read {
  position: relative;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.6;
}

.tl-parent-04 .box .read:before {
  pointer-events: none;
  content: '';
  position: absolute;
  left: -30px;
  bottom: 0;
  width: 2px;
  height: 70%;
  border-radius: 10px;
  background-color: #66492C;
  transform: rotateZ(-20deg);
}

.tl-parent-04 .box .read:after {
  pointer-events: none;
  content: '';
  position: absolute;
  right: -28px;
  bottom: 0;
  width: 2px;
  height: 70%;
  border-radius: 10px;
  background-color: #66492C;
  transform: rotateZ(20deg);
}

.tl-parent-04 .box a {
  display: block;
  width: 530px;
  height: 60px;
  margin-top: 20px;
  padding: 4px;
  border-radius: 10px;
  background-color: #DD9969;
  font-weight: 500;
  font-size: 16px;
  color: #fff;
}

.tl-parent-04 .box a span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  border: 1px solid #fff;
  border-radius: 8px;
}

.tl-parent-04 .box a span i {
  position: relative;
}

.tl-parent-04 .box a span i:before {
  pointer-events: none;
  content: '●';
  position: absolute;
  top: 0;
  left: -30px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-04 {
    padding: 7vw 4vw;
  }

  .tl-parent-04 .h2-common h2 {
    text-align: center;
    font-size: 5.2vw;
    line-height: 1.5;
  }

  .tl-parent-04 .box {
    padding: 4vw;
  }

  .tl-parent-04 .box .read {
    position: relative;
    text-align: center;
    font-size: 3.4vw;
  }

  .tl-parent-04 .box .read:before {
    left: -3vw;
  }

  .tl-parent-04 .box .read:after {
    right: calc(-3vw + 2px);
  }

  .tl-parent-04 .box a {
    width: 100%;
    height: 13vw;
    margin-top: 5vw;
    padding: .8vw;
    border-radius: 2vw;
    font-size: 3.5vw;
  }

  .tl-parent-04 .box a span {
    border-radius: calc(2vw - 2px);
  }

  .tl-parent-04 .box a span i:before {
    left: -6vw;
  }
}

/*

  親：tl-parent-05

--------------------------------------------------------------*/
.tl-parent-05 {
  padding: 80px 0px;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-05 .box {
  width: 740px;
  margin: 0 auto;
}

.tl-parent-05 .box figure img {
  width: 630px;
  height: auto;
  margin: 0 auto;
}

.tl-parent-05 .box .txt {
  margin-top: 20px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-05 {
    padding: 10vw 0;
  }

  .tl-parent-05 .box {
    width: 100%;
  }

  .tl-parent-05 .box figure img {
    width: 100%;
  }

  .tl-parent-05 .box .txt {
    margin-top: 5vw;
    padding: 0 7vw;
    font-size: 3.4vw;
    line-height: 1.9;
  }
}

/*

  親：tl-parent-06

--------------------------------------------------------------*/
.tl-parent-06 {
  padding: 80px 0;
  background-color: #F0E2D6;
  line-height: 1.0;
}

.tl-parent-06 .h2-common h2 {
  font-size: 30px;
  line-height: 1.4;
}

.tl-parent-06 ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 60px;
}

.tl-parent-06 ul li {
  position: relative;
  width: 48.5%;
  margin-top: 60px;
  padding: 70px 40px 40px;
  background-color: #fff;
}

.tl-parent-06 ul li:nth-child(-n+2) {
  margin-top: 0;
}

.tl-parent-06 ul li h3 {
  margin-bottom: 30px;
  font-weight: 600;
  font-size: 24px;
  color: #905941;
}

.tl-parent-06 ul li h3 span {
  position: relative;
}

.tl-parent-06 ul li h3 span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  right: -60px;
  width: 50px;
  height: 1px;
  background-color: #AC8777;
}

.tl-parent-06 ul li .txt {
  padding-top: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.tl-parent-06 ul li .txt span {
  text-decoration: underline;
}

.tl-parent-06 ul li .txt a {
  text-decoration: underline;
  color: #dd9969;
  transition: .2s;
}

.tl-parent-06 ul li .txt a:hover {
  text-decoration: none;
}

.tl-parent-06 ul li figure {
  position: absolute;
  top: -30px;
  right: 40px;
}

.tl-parent-06 ul li figure img {
  width: 140px;
  height: auto;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-06 ul {
    padding: 0 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-06 {
    padding: 10vw 4vw;
  }

  .tl-parent-06 .h2-common h2 {
    text-align: center;
    font-size: 5.2vw;
    line-height: 1.5;
  }

  .tl-parent-06 ul {
    flex-direction: column;
    margin-top: 20vw;
    padding: 0;
  }

  .tl-parent-06 ul li {
    width: 100%;
    margin-top: 15vw;
    padding: 10vw 7vw 5vw;
  }

  .tl-parent-06 ul li:nth-child(-n+2) {
    margin-top: 15vw;
  }

  .tl-parent-06 ul li:first-child {
    margin-top: 0;
  }

  .tl-parent-06 ul li h3 {
    margin-bottom: 7vw;
    font-size: 4.8vw;
  }

  .tl-parent-06 ul li h3 span:after {
    right: -15vw;
    width: 10vw;
  }

  .tl-parent-06 ul li .txt {
    font-size: 3.4vw;
  }

  .tl-parent-06 ul li figure {
    top: -10vw;
    right: 5vw;
  }

  .tl-parent-06 ul li figure img {
    width: 30vw;
  }
}

/*

  親：tl-parent-07

--------------------------------------------------------------*/
.tl-parent-07 {
  padding: 80px 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-07 .h2-common h2 {
  font-size: 30px;
}

.tl-parent-07 ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tl-parent-07 ul li+li {
  margin-top: 60px;
}

.tl-parent-07 ul li figure {
  width: 560px;
}

.tl-parent-07 ul li>div {
  flex: 1;
  margin-right: 60px;
}

.tl-parent-07 ul li>div .no {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 20px;
  color: #AC8777;
}

.tl-parent-07 ul li>div .no span {
  position: relative;
}

.tl-parent-07 ul li>div .no span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  right: -60px;
  width: 50px;
  height: 1px;
  background-color: #AC8777;
}

.tl-parent-07 ul li>div h3 {
  margin-bottom: 30px;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: .1em;
  line-height: 1.4;
}

.tl-parent-07 ul li>div .txt {
  padding-top: 0;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.tl-parent-07 ul li:nth-child(even) {
  flex-direction: row-reverse;
}

.tl-parent-07 ul li:nth-child(even)>div {
  margin-right: 0;
  margin-left: 60px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-07 ul {
    padding: 0 30px;
  }

  .tl-parent-07 ul li {
    align-items: flex-start;
  }

  .tl-parent-07 ul li figure {
    width: 400px;
  }

  .tl-parent-07 ul li>div {
    margin-right: 30px;
  }

  .tl-parent-07 ul li>div h3 {
    line-height: 1.5;
  }

  .tl-parent-07 ul li:nth-child(even)>div {
    margin-left: 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-07 {
    padding: 10vw 0;
  }

  .tl-parent-07 .h2-common h2 {
    text-align: center;
    font-size: 5.2vw;
    line-height: 1.5;
  }

  .tl-parent-07 ul {
    padding: 0;
  }

  .tl-parent-07 ul li {
    flex-direction: column;
  }

  .tl-parent-07 ul li+li {
    margin-top: 10vw;
  }

  .tl-parent-07 ul li figure {
    width: 100%;
  }

  .tl-parent-07 ul li>div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7vw;
    padding: 0 7vw;
  }

  .tl-parent-07 ul li>div .no {
    margin-bottom: 2vw;
    font-size: 4vw;
  }

  .tl-parent-07 ul li>div .no span:after {
    right: -12vw;
    width: 10vw;
  }

  .tl-parent-07 ul li>div h3 {
    margin-bottom: 5vw;
    font-size: 4.8vw;
  }

  .tl-parent-07 ul li>div .txt {
    font-size: 3.4vw;
    line-height: 1.9;
  }

  .tl-parent-07 ul li:nth-child(even) {
    flex-direction: column;
  }

  .tl-parent-07 ul li:nth-child(even)>div {
    margin-left: 0;
  }
}

/*

  親：tl-parent-08

--------------------------------------------------------------*/
.tl-parent-08 {
  padding: 80px 0 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-08 ul {
  display: flex;
}

.tl-parent-08 ul li {
  position: relative;
  width: 23.8%;
}

.tl-parent-08 ul li+li {
  margin-left: 1.6%;
}

.tl-parent-08 ul li figure {
  margin-bottom: 20px;
}

.tl-parent-08 ul li h3 {
  font-weight: 500;
  font-size: 16px;
}

.tl-parent-08 ul li dl {
  margin-top: 20px;
  font-weight: 400;
  font-size: 12px;
}

.tl-parent-08 ul li dl dt {
  margin-bottom: 5px;
  font-weight: 500;
  font-size: 13px;
}

.tl-parent-08 ul li dl dd {
  line-height: 1.7;
}

.tl-parent-08 ul li dl dd+dt {
  margin-top: 15px;
}

.tl-parent-08 ul li .anker {
  margin-top: 30px;
  text-align: center;
}

.tl-parent-08 ul li .anker a {
  position: relative;
  display: inline-block;
  padding-bottom: 10px;
  border-bottom: 1px solid #595757;
  font-weight: 500;
  font-size: 16px;
}

.tl-parent-08 ul li .anker a:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  left: -30px;
  width: 15px;
  height: 100%;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100% auto;
  background-image: url(../img/common/icon_anker.svg);
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-08 ul {
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0 30px;
  }

  .tl-parent-08 ul li {
    width: 48%;
    margin-top: 30px;
  }

  .tl-parent-08 ul li+li {
    margin-left: 0;
  }

  .tl-parent-08 ul li:nth-child(-n+2) {
    margin-top: 0;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-08 {
    padding: 10vw 0;
  }

  .tl-parent-08 ul {
    overflow-x: scroll;
    flex-wrap: unset;
    padding: 0 0 3vw 4vw;
  }

  .tl-parent-08 ul li {
    flex-shrink: 0;
    width: 60vw;
    margin-top: 0;
  }

  .tl-parent-08 ul li+li {
    margin-left: 3vw;
  }

  .tl-parent-08 ul li:last-child:after {
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    right: -4vw;
    width: 4vw;
    height: 4vw;
  }

  .tl-parent-08 ul li figure {
    margin-bottom: 3.5vw;
  }

  .tl-parent-08 ul li h3 {
    text-align: center;
    font-size: 3.8vw;
  }

  .tl-parent-08 ul li dl {
    margin-top: 5vw;
    font-size: 3vw;
  }

  .tl-parent-08 ul li dl dt {
    margin-bottom: 1vw;
    font-size: 3.2vw;
  }

  .tl-parent-08 ul li dl dd+dt {
    margin-top: 4vw;
  }

  .tl-parent-08 ul li .anker {
    margin-top: 7vw;
    margin-right: 2vw;
  }

  .tl-parent-08 ul li .anker a {
    padding-bottom: 2vw;
    font-size: 3.5vw;
  }

  .tl-parent-08 ul li .anker a:before {
    left: -7vw;
    width: 3vw;
  }
}

/*

  親：tl-parent-09

--------------------------------------------------------------*/
.tl-parent-09 {
  padding: 120px 0 80px 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-09 .box {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 80px 0;
  border: 1px solid #AC8777;
}

.tl-parent-09 .h2-common {
  position: absolute;
  top: -25px;
  left: 0;
  width: 100%;
  text-align: center;
}

.tl-parent-09 .h2-common .en {
  padding: 0 30px;
  background-color: #F9F7F2;
}

.tl-price-table {
  width: 800px;
  font-weight: 400;
  font-size: 16px;
}

.tl-price-table tr+tr {
  border-top: 1px solid #D8D5D0;
}

.tl-price-table th {
  padding: 20px;
  text-align: left;
  font-weight: 400;
}

.tl-price-table td {
  padding: 20px;
  text-align: right;
}

.tl-price-table td span {
  display: inline-block;
  margin-right: 10px;
}

.tl-price-table tr:first-child th,
.tl-price-table tr:first-child td {
  padding-top: 0;
}

.tl-price-table tr:last-child th,
.tl-price-table tr:last-child td {
  padding-bottom: 0;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-09 {
    padding-left: 30px;
    padding-right: 30px;
  }

  .tl-parent-09 .box {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-09 {
    padding: 10vw 4vw;
  }

  .tl-parent-09 .box {
    padding: 5vw;
  }

  .tl-parent-09 .h2-common {
    top: -3vw;
  }

  .tl-parent-09 .h2-common .en {
    padding: 0 5vw;
  }

  .tl-price-table {
    width: 100%;
    font-size: 3.4vw;
    line-height: 1.5;
  }

  .tl-price-table th {
    padding: 3vw 0;
  }

  .tl-price-table td {
    padding: 3vw;
  }

  .tl-price-table td span {
    margin-right: 2vw;
    font-size: 3vw;
  }
}

/*

  親：tl-parent-10

--------------------------------------------------------------*/
.tl-parent-10 {
  padding: 80px 0;
  background-color: #fff;
  line-height: 1.0;
}

.tl-parent-10 .h2-common h2 {
  font-size: 30px;
}

.tl-parent-10 .box {
  overflow-x: scroll;
}

.tl-parent-10 table {
  width: 100%;
  font-weight: 400;
  font-size: 15px;
  line-height: 1.5;
}

.tl-parent-10 table th {
  width: 20%;
  vertical-align: middle;
  padding: 15px;
  white-space: nowrap;
  border: 1px solid #ccc;
}

.tl-parent-10 table th.fixed01 {
  position: sticky;
  left: 0;
  background: #F1EFEA;
  font-weight: 500;
}

.tl-parent-10 table th.toph {
  background-color: #fff;
}

.tl-parent-10 table th.fixed01:before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
}

.tl-parent-10 table td {
  width: 200px;
  vertical-align: middle;
  padding: 15px;
  border: 1px solid #ccc;
  text-align: center;
}

.tl-parent-10 table td .bunsyo {
  display: inline-block;
  text-align: left;
}

.tl-parent-10 table td figure {
  margin-bottom: 10px;
  text-align: center;
}

.tl-parent-10 table td figure img {
  width: auto;
  height: 50px;
}

.tl-parent-10 table tr:first-child td {
  background-color: #F1EFEA;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.3;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-10 .box {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-10 {
    padding: 10vw 4vw;
  }

  .tl-parent-10 .h2-common h2 {
    text-align: center;
    font-size: 5.2vw;
    line-height: 1.5;
  }

  .tl-parent-10 .box {
    padding: 0;
  }

  .tl-parent-10 table {
    width: 200vw;
    font-size: 3.2vw;
  }

  .tl-parent-10 table th {
    width: 40vw;
    padding: 3vw;
  }

  .tl-parent-10 table td {
    width: 40vw;
    padding: 3vw;
  }

  .tl-parent-10 table tr:first-child td {
    background-color: #F1EFEA;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.3;
  }
}

/*

  親：tl-parent-11

--------------------------------------------------------------*/
.tl-parent-11 {
  padding: 80px 0 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-11 .read {
  margin-top: 30px;
  padding-top: 0;
  font-weight: 400;
  font-size: 13px;
}

.tl-parent-11 ul {
  display: flex;
  flex-wrap: wrap;
}

.tl-parent-11 ul li {
  position: relative;
  width: 23.8%;
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #D8D5D0;
  background-color: #fff;
}

.tl-parent-11 ul li+li {
  margin-left: 1.6%;
}

.tl-parent-11 ul li:nth-child(4n+1) {
  margin-left: 0;
}

.tl-parent-11 ul li:nth-child(-n+4) {
  margin-top: 0;
}

.tl-parent-11 ul li figure {
  position: relative;
}

.tl-parent-11 ul li figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #fff;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-parent-11 ul li .txt {
  margin-top: 10px;
  line-height: 1.7;
  font-weight: 400;
  font-size: 15px;
}

.tl-parent-11 ul li .title {
  padding-top: 10px;
  text-align: center;
  font-weight: 500;
  font-size: 15px;
}

.tl-parent-11 ul li:nth-child(1) figure:before {
  content: '01';
}

.tl-parent-11 ul li:nth-child(2) figure:before {
  content: '02';
}

.tl-parent-11 ul li:nth-child(3) figure:before {
  content: '03';
}

.tl-parent-11 ul li:nth-child(4) figure:before {
  content: '04';
}

.tl-parent-11 ul li:nth-child(5) figure:before {
  content: '05';
}

.tl-parent-11 ul li:nth-child(6) figure:before {
  content: '06';
}

.tl-parent-11 ul li:nth-child(7) figure:before {
  content: '07';
}

.tl-parent-11 ul li:nth-child(8) figure:before {
  content: '08';
}

.tl-parent-11 ul li:nth-child(9) figure:before {
  content: '09';
}

.tl-parent-11 ul li:nth-child(10) figure:before {
  content: '10';
}

.tl-parent-11 ul li+li:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  left: -30px;
  width: 34px;
  height: 9px;
  margin-top: -30px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url(../img/common/icon_flow.svg);
  z-index: 2;
}

.sub-txt {
  padding: 3vw 4vw;
  text-align: center;
  font-size: 17px;
  font-weight: bolder;
  line-height: 1.5;
}

.br-sp {
  display: none;
}

.tl-parent-11 .br-sp-11 {
  display: none;
}

.tl-parent-11 .btn-detail-03 {
  display: block;
  max-width: fit-content;
  background-color: #dd9969;
  border: 1px solid #dd9969;
  border-radius: 100px;
  margin: 25px auto 0;
  padding: 5px 30px;
  color: #fff;
  font-size: 13px;
}

}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-11 ul {
    padding: 0 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-11 {
    padding: 10vw 0;
  }

  .tl-parent-11 h2 {
    text-align: center;
    line-height: 1.5;
  }

  .tl-parent-11 .read {
    margin-top: 5vw;
    font-size: 3vw;
  }

  .tl-parent-11 ul {
    overflow-x: scroll;
    flex-wrap: unset;
    padding: 0 0 3vw 4vw;
  }

  .tl-parent-11 ul li {
    flex-shrink: 0;
    width: 60vw;
    margin-top: 0;
    padding: 3vw;
  }

  .tl-parent-11 ul li+li {
    margin-left: 3vw;
  }

  .tl-parent-11 ul li:nth-child(4n+1) {
    margin-left: 3vw;
  }

  .tl-parent-11 ul li:first-child {
    margin-left: 0;
  }

  .tl-parent-11 ul li:last-child:after {
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    right: -4vw;
    width: 4vw;
    height: 4vw;
  }

  .tl-parent-11 ul li figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-parent-11 ul li .txt {
    margin-top: 2vw;
    font-size: 3.3vw;
  }

  .tl-parent-11 ul li .title {
    padding-top: 2vw;
    font-size: 3.3vw;
  }

  .tl-parent-11 ul li+li:before {
    left: -6vw;
    width: 8vw;
    height: 3vw;
    margin-top: -10vw;
    background-size: 100% auto;
  }

  .tl-parent-11 .br-sp-11 {
    display: inline;
  }

  .tl-parent-11 .sub-txt {
    padding: 3vw 4vw;
    text-align: center;
    font-size: 13.5px;
    font-weight: bolder;
    line-height: 1.5;
  }



}

/*

  親：tl-parent-12

--------------------------------------------------------------*/
.tl-parent-12 {
  padding: 80px 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-faq {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
}

.tl-faq dt {
  position: relative;
  padding: 15px 0;
  padding-left: 55px;
  cursor: pointer;
}

.tl-faq dt:before {
  pointer-events: none;
  content: 'Q';
  position: absolute;
  top: 10px;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #D4C9C5;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 18px;
  color: #fff;
  z-index: 2;
}

.tl-faq dt:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  right: 20px;
  width: 0;
  height: 0;
  margin-top: -6px;
  border-style: solid;
  border-width: 6px 6px 0 6px;
  border-color: #351C0C transparent transparent transparent;
  z-index: 2;
  transition: .2s;
}

.tl-faq dd {
  display: none;
  padding: 0 50px;
  padding-bottom: 30px;
  font-size: 15px;
  line-height: 1.8;
}

.tl-faq dd+dt {
  border-top: 1px solid #D8D5D0;
}

.tl-faq dt.active:after {
  transform: rotateZ(180deg);
}

.tl-faq dd .flex {
  display: flex;
  justify-content: space-between;
}

.tl-faq dd .flex img {
  width: 300px;
  margin-left: 30px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-12 .box {
    padding: 0 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-12 {
    padding: 10vw 4vw;
  }

  .tl-parent-12 .box {
    padding: 0;
  }

  .tl-parent-12 h2 {
    line-height: 1.5;
    text-align: center;
  }

  .tl-faq {
    font-size: 3.4vw;
  }

  .tl-faq dt {
    padding: 3vw 10vw;
    line-height: 1.6;
  }

  .tl-faq dt:before {
    top: 3.2vw;
    width: 6vw;
    height: 6vw;
    font-size: 3.5vw;
  }

  .tl-faq dt:after {
    right: 3vw;
    margin-top: -1.5vw;
    border-width: 1.5vw 1.5vw 0 1.5vw;
  }

  .tl-faq dd {
    padding: 0 0 0 10vw;
    padding-bottom: 7vw;
    font-size: 3.4vw;
  }

  .tl-faq dd .flex {
    flex-direction: column;
  }

  .tl-faq dd .flex img {
    width: 100%;
    margin-top: 5vw;
    margin-left: 0;
  }
}

/*

  子：tl-child-01

--------------------------------------------------------------*/
.tl-child-01 {
  padding: 40px 0;
  background-color: #DD9969;
  text-align: center;
  line-height: 1.0;
}

.tl-child-01 .txt {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: 500;
  font-size: 18px;
  color: #fff;
}

.tl-child-01 .txt span {
  position: relative;
  margin-top: 10px;
  font-size: 26px;
}

.tl-child-01 .txt span:before,
.tl-child-01 .txt span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -5px;
  width: 2px;
  height: 120%;
  background-color: #fff;
}

.tl-child-01 .txt span:before {
  left: -20px;
  transform: rotateZ(-20deg);
}

.tl-child-01 .txt span:after {
  right: -20px;
  transform: rotateZ(20deg);
}

.tl-child-01 ul {
  display: flex;
  justify-content: space-between;
  width: 1000px;
  margin: 0 auto;
  margin-top: 20px;
  font-weight: 500;
  font-size: 18px;
}

.tl-child-01 ul li {
  width: 49%;
  padding: 4px;
  border-radius: 10px;
  background-color: #fff;
}

.tl-child-01 ul li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 60px;
  width: 100%;
  border-radius: 8px;
  border: 1px solid #DD9969;
  color: #DD9969;
}

.tl-child-01 ul li a span {
  position: relative;
  display: flex;
  align-items: center;
}

.tl-child-01 ul li a i {
  margin-left: 10px;
  padding: 10px;
  border-radius: 2px;
  background-color: rgba(200, 114, 52, .15);
  font-size: 13px;
}

.tl-child-01 ul li.tel a em {
  font-size: 140%;
}

.tl-child-01 ul li.tel a {
  pointer-events: none;
}

.tl-child-01 ul li.tel a span {
  padding-left: 30px;
}

.tl-child-01 ul li.tel a span:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  letter-spacing: 0;
  width: 18px;
  height: 18px;
  margin-top: -7px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../img/child/icon_tel.png);
}

.tl-child-01 ul li.web a span {
  padding-left: 40px;
}

.tl-child-01 ul li.web a span:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  letter-spacing: 0;
  width: 28px;
  height: 20px;
  margin-top: -8px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../img/child/icon_web.png);
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-01 {
    padding: 10vw 0;
  }

  .tl-child-01 .txt {
    font-size: 3.5vw;
    line-height: 1.4;
  }

  .tl-child-01 .txt span {
    width: 100%;
    padding: 0 15px;
    margin-top: 3vw;
    font-size: 115%;
    line-height: 1.5;
  }

  .tl-child-01 .txt span:before,
  .tl-child-01 .txt span:after {
    bottom: 0;
    height: 80%;
  }

  .tl-child-01 .txt span:before {
    left: 15px;
    transform: rotateZ(-20deg);
  }

  .tl-child-01 .txt span:after {
    right: 15px;
    transform: rotateZ(20deg);
  }

  .tl-child-01 ul {
    flex-direction: column;
    padding: 0 4vw;
    width: 100%;
    margin-top: 5vw;
    font-size: 3.5vw;
  }

  .tl-child-01 ul li {
    width: 100%;
    padding: .5vw;
    border-radius: 2vw;
  }

  .tl-child-01 ul li+li {
    margin-top: 3vw;
  }

  .tl-child-01 ul li a {
    padding: 0 15px;
    height: 13vw;
    border-radius: 1.5vw;
    font-size: 3.6vw;
  }

  .tl-child-01 ul li a i {
    margin-left: 2vw;
    padding: 1.5vw;
    border-radius: .5vw;
    font-size: 3.2vw;
  }

  .tl-child-01 ul li.tel a em {
    font-size: 160%;
  }

  .tl-child-01 ul li.tel a {
    pointer-events: auto;
  }

  .tl-child-01 ul li.tel a span {
    padding-left: 6.5vw;
  }

  .tl-child-01 ul li.tel a span:before {
    width: 4.5vw;
    height: 4.5vw;
    margin-top: -2.25vw;
  }

  .tl-child-01 ul li.web a span {
    padding-left: 8.5vw;
  }

  .tl-child-01 ul li.web a span:before {
    width: 6.5vw;
    height: 4.7vw;
    margin-top: -2vw;
  }
}

/*

  子：tl-child-01　理由

--------------------------------------------------------------*/
.tl-child-02 {
  padding: 80px 0;
  line-height: 1.0;
}

.tl-child-02 .h2-common h2 {
  font-size: 30px;
  line-height: 1.4;
}

.tl-child-02 ul {
  display: flex;
}

.tl-child-02 ul li {
  width: 32%;
  margin-top: 30px;
  padding: 5px;
  border: 1px solid #D8D5D0;
  background-color: #fff;
}

.tl-child-02 ul li+li {
  margin-left: 2%;
}

.tl-child-02 ul li:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-02 ul li:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-02 ul li>div {
  position: relative;
  padding: 20px;
  border: 1px dashed #CAC0B5;
}

.tl-child-02 ul li>div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: 1px;
  right: 1px;
  width: 13px;
  height: 14px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../img/child/icon_tips.png);
}

.tl-child-02 ul li>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-02 ul li>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #fff;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-02 ul li:nth-child(1)>div figure:before {
  content: '01';
}

.tl-child-02 ul li:nth-child(2)>div figure:before {
  content: '02';
}

.tl-child-02 ul li:nth-child(3)>div figure:before {
  content: '03';
}

.tl-child-02 ul li>div .txt {
  text-align: center;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
}

.tl-child-02 ul li>div .txt span {
  color: #905941;
}

.tl-child-02 .movie {
  width: 560px;
  height: 315px;
  margin: 0 auto;
  margin-top: 50px;
}

.tl-child-02 .movie iframe {
  width: 100%;
  height: 100%;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-02 {
    padding: 10vw 4vw;
  }

  .tl-child-02 .h2-common h2 {
    text-align: center;
    font-size: 5.2vw;
    line-height: 1.5;
  }

  .tl-child-02 ul {
    flex-direction: column;
  }

  .tl-child-02 ul li {
    width: 100%;
    margin-top: 3vw;
    padding: 1vw;
  }

  .tl-child-02 ul li+li {
    margin-top: 3vw;
    margin-left: 0;
  }

  .tl-child-02 ul li:nth-child(-n+3) {
    margin-top: 3vw;
  }

  .tl-child-02 ul li:first-child {
    margin-top: 0;
  }

  .tl-child-02 ul li>div {
    display: flex;
    align-items: center;
    padding: 3vw;
  }

  .tl-child-02 ul li>div:after {
    bottom: 1vw;
    right: 1vw;
    width: 4vw;
    height: 4.5vw;
    background-size: 100% auto;
    background-position: bottom right;
  }

  .tl-child-02 ul li>div figure {
    width: 45vw;
    margin-bottom: 0;
  }

  .tl-child-02 ul li>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-02 ul li>div .txt {
    flex: 1;
    margin-left: 5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-02 .movie {
    width: 100%;
    aspect-ratio: 1 / .5625;
    height: auto;
    margin-top: 5vw;
  }
}

/*

  子：tl-child-01　ピックアップ

--------------------------------------------------------------*/
.tl-child-03 {
  padding: 80px 0;
  background-color: #F0E2D6;
  line-height: 1.0;
}

.tl-child-03 .pickup>li {
  padding: 60px 80px;
  background-color: #fff;
}

.tl-child-03 .pickup>li+li {
  margin-top: 30px;
}

.tl-child-03 .pickup>li h3 {
  position: relative;
  margin-bottom: 30px;
  border: 1px solid rgba(144, 89, 65, .3);
  text-align: center;
}

.tl-child-03 .pickup>li h3:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 20px;
  height: 3px;
  background-color: #905941;
}

.tl-child-03 .pickup>li h3:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 3px;
  height: 20px;
  background-color: #905941;
}

.tl-child-03 .pickup>li h3 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 12px 20px 17px;
}

.tl-child-03 .pickup>li h3 span:before {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 20px;
  height: 3px;
  background-color: #905941;
}

.tl-child-03 .pickup>li h3 span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 3px;
  height: 20px;
  background-color: #905941;
}

.tl-child-03 .pickup>li h3 span i {
  font-weight: 500;
  font-size: 30px;
  line-height: 1.5;
  color: #905941;
}

.tl-child-03 .pickup>li .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tl-child-03 .pickup>li .flex figure {
  width: 430px;
}

.tl-child-03 .pickup>li .flex>div {
  flex: 1;
  margin-left: 60px;
}

.tl-child-03 .pickup>li .flex>div .txt {
  font-weight: 400;
  line-height: 1.9;
}

.tl-child-03 .pickup>li .flex>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-03 .pickup>li .flex>div .txt .heikin {
  display: block;
  margin-top: 10px;
  font-size: 80%;
  color: #B18A72;
}

.tl-child-03 .pickup>li .col3 {
  display: flex;
  justify-content: space-between;
}

.tl-child-03 .pickup>li .col3 li {
  width: 32%;
}

.tl-child-03 .pickup>li .flat {
  margin-top: 30px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
}

.tl-child-03 .note {
  width: 580px;
  margin: 0 auto;
  margin-top: 30px;
  padding: 10px 15px;
  border: 1px solid #6F5437;
}

.tl-child-03 .note div {
  position: relative;
  display: flex;
  align-items: center;
  padding: 20px 40px;
  background-color: #F9F7F2;
}

.tl-child-03 .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-child-03 .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-child-03 .note div figure {
  width: 105px;
}

.tl-child-03 .note div p {
  flex: 1;
  margin-left: 20px;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.tl-child-03 .note div p span {
  display: block;
  font-size: 120%;
  color: #905941;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-03 {
    padding: 10vw 4vw;
  }

  .tl-child-03 .pickup>li {
    padding: 3vw 3vw 5vw;
  }

  .tl-child-03 .pickup>li+li {
    margin-top: 7vw;
  }

  .tl-child-03 .pickup>li h3 {
    margin-bottom: 5vw;
  }

  .tl-child-03 .pickup>li h3 span {
    padding: 2vw 5vw;
  }

  .tl-child-03 .pickup>li h3 span i {
    font-size: 5.2vw;
  }

  .tl-child-03 .pickup>li .flex {
    flex-direction: column;
  }

  .tl-child-03 .pickup>li .flex figure {
    width: 100%;
  }

  .tl-child-03 .pickup>li .flex>div {
    width: 100%;
    margin-top: 5vw;
    margin-left: 0;
  }

  .tl-child-03 .pickup>li .flex>div .txt {
    padding: 0 3vw;
    font-weight: 400;
    font-size: 3.4vw;
    line-height: 1.9;
  }

  .tl-child-03 .pickup>li .flex>div a {
    display: flex;
    width: 60vw;
    height: 12vw;
    margin: 0 auto;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-03 .pickup>li .flex>div .txt .heikin {
    margin-top: 3vw;
    font-size: 90%;
  }

  .tl-child-03 .pickup>li .col3 {
    flex-direction: column;
  }

  .tl-child-03 .pickup>li .col3 li {
    width: 100%;
  }

  .tl-child-03 .pickup>li .col3 li+li {
    margin-top: 3vw;
  }

  .tl-child-03 .pickup>li .flat {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.2vw;
  }

  .tl-child-03 .note {
    width: 100%;
    margin-top: 5vw;
    padding: 2vw;
  }

  .tl-child-03 .note div {
    padding: 4vw 5vw;
  }

  .tl-child-03 .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-child-03 .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-child-03 .note div figure {
    width: 20vw;
  }

  .tl-child-03 .note div p {
    margin-left: 5vw;
    text-align: left;
    font-size: 3.5vw;
    line-height: 1.6;
  }

  .tl-child-03 .note div p span {
    display: inline;
    font-size: 100%;
  }
}

/*

  子：tl-parent.child　こんなお悩みありませんか？

--------------------------------------------------------------*/
.tl-parent-01.child .box>div ul:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -90px;
  left: -50px;
  width: 14px;
  height: 54px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
  background-image: url(../img/child/icon_arrow_bottom.png);
  z-index: 2;
}

.tl-parent-01.child .box>div ul li {
  background-position: top 5px left;
  line-height: 1.5;
}

.tl-parent-01.child .box>div ul li+li {
  margin-top: 15px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-01.child .box>div ul:after {
    bottom: -87vw;
    left: 50%;
    width: 3vw;
    height: 12vw;
    margin-left: -1.5vw;
  }

  .tl-parent-01.child .box>div ul li {
    background-position: top 1vw left;
  }

  .tl-parent-01.child .box>div ul li+li {
    margin-top: 3vw;
  }
}

/*

  子：tl-child-04　こんなお悩みありませんか？

--------------------------------------------------------------*/
.tl-child-04 {
  padding: 30px 0 80px;
  background: linear-gradient(180deg, transparent 0%, transparent 300px, #F0E2D6 300px, #F0E2D6 100%);
}

.tl-child-04 .box {
  position: relative;
  width: 900px;
  margin: 0 auto;
  margin-top: 70px;
  padding: 40px 80px 60px 80px;
  background-color: #fff;
}

.tl-child-04 .box h3 {
  margin-bottom: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
}

.tl-child-04 .box figure img {
  margin: 0 auto;
}

.tl-child-04 .box .txt {
  margin-top: 30px;
  line-height: 1.9;
  font-weight: 400;
}

.tl-child-04 .box .title {
  width: 100%;
  text-align: center;
}

.tl-child-04 .box .title span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: auto;
  padding: 10px 20px;
  border-radius: 3px;
  background-color: #905941;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
}

.tl-child-04 .box2 {
  margin-top: 60px;
}

.tl-child-04 .box2 ul li {
  font-weight: 400;
}

.tl-child-04 .box2 ul li h3 {
  margin-bottom: 20px;
  padding-left: 15px;
  padding-bottom: 5px;
  border-left: 3px solid #905941;
  border-bottom: 1px solid #AC8777;
  font-weight: 500;
  font-size: 22px;
  color: #905941;
}

.tl-child-04 .box2 ul li .txt {
  padding-top: 0;
  line-height: 1.9;
}

.tl-child-04 .box2 ul li.flex01 .imgflex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.tl-child-04 .box2 ul li.flex01 figure {
  width: 48%;
}

.tl-child-04 .box2 ul li.flex01>div {
  width: 100%;
  text-align: center;
}

.tl-child-04 .box2 ul li.flex01>div .txt {
  text-align: left;
}

.tl-child-04 .box2 ul li.flex01>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-04 .box2 ul li+li {
  margin-top: 60px;
}

.tl-child-04 .box2 .flex02 {
  display: flex;
  flex-wrap: wrap;
}

.tl-child-04 .box2 .flex02>div {
  width: 32%;
  margin-top: 30px;
  padding: 30px;
  background-color: #F9F7F2;
}

.tl-child-04 .box2 .flex02>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-04 .box2 .flex02>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #F9F7F2;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-04 .box2 .flex02>div:nth-child(1) figure:before {
  content: '01';
}

.tl-child-04 .box2 .flex02>div:nth-child(2) figure:before {
  content: '02';
}

.tl-child-04 .box2 .flex02>div:nth-child(3) figure:before {
  content: '03';
}

.tl-child-04 .box2 .flex02>div+div {
  margin-left: 2%;
}

.tl-child-04 .box2 .flex02>div:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-04 .box2 .flex02>div:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-04 .box2 .flex02>div h4 {
  margin-bottom: 5px;
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  color: #905941;
}

.tl-child-04 .box2 .flex03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 80px;
  background-color: #F9F7F2;
}

.tl-child-04 .box2 .flex03 p {
  width: 49%;
  margin-top: 10px;
  padding: 20px;
  border: 1px solid #EEEEEE;
  border-radius: 6px;
  background-color: #fff;
  line-height: 1.4;
}

.tl-child-04 .box2 .flex03 p span {
  display: inline-block;
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top 4px left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
}

.tl-child-04 .box2 .flex03 p:nth-child(-n+2) {
  margin-top: 0;
}

.box-button-04 {
  display: block;
  text-align: center;
  margin-top: 20px;
  background-color: #dd9969;
  color: #fff;
  font-size: 23px;
  border-radius: 50px;
  font-weight: 500;
  padding: 5px;
  box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.5);
}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-04 {
    padding: 7vw 4vw 10vw;
    background: linear-gradient(180deg, transparent 0%, transparent 50vw, #F0E2D6 50vw, #F0E2D6 100%);
  }

  .tl-child-04 .box {
    width: 100%;
    margin-top: 12vw;
    padding: 5vw 3vw;
    background-color: #fff;
  }

  .tl-child-04 .box h3 {
    margin-bottom: 5vw;
    font-size: 5.2vw;
  }

  .tl-child-04 .box .txt {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.4vw;
  }

  .tl-child-04 .box .title {
    margin: 0 auto 3vw auto;
  }

  .tl-child-04 .box .title span {
    width: 90%;
    height: auto;
    padding: 10px 20px;
    border-radius: 1vw;
    font-size: 3.8vw;
    line-height: 1.5;
    color: #fff;
  }

  .tl-child-04 .box2 {
    margin-top: 10vw;
  }

  .tl-child-04 .box2 ul li h3 {
    margin-bottom: 3vw;
    padding-left: 3.5vw;
    padding-bottom: 1.5vw;
    text-align: left;
    font-size: 4.8vw;
  }

  .tl-child-04 .box2 ul li .txt {
    padding: 0 1.5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-04 .box2 ul li.flex01 .imgflex {
    flex-direction: column;
    margin-bottom: 5vw;
  }

  .tl-child-04 .box2 ul li.flex01 figure {
    width: 100%;
  }

  .tl-child-04 .box2 ul li.flex01 figure+figure {
    margin-top: 5vw;
  }

  .tl-child-04 .box2 ul li.flex01>div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7vw;
    text-align: center;
  }

  .tl-child-04 .box2 ul li.flex01>div a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-04 .box2 ul li+li {
    margin-top: 10vw;
  }

  .tl-child-04 .box2 .flex02 {
    flex-direction: column;
  }

  .tl-child-04 .box2 .flex02>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    padding: 3vw;
  }

  .tl-child-04 .box2 .flex02>div figure {
    width: 45vw;
    margin-bottom: 0;
  }

  .tl-child-04 .box2 .flex02>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-04 .box2 .flex02>div+div {
    margin-top: 3vw !important;
    margin-left: 0;
  }

  .tl-child-04 .box2 .flex02>div h4 {
    width: 40vw;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.6;
    font-size: 4.2vw;
  }

  .tl-child-04 .box2 .flex02>div .txt {
    width: 100%;
    margin-top: 3vw;
  }

  .tl-child-04 .box2 .flex03 {
    padding: 3vw;
  }

  .tl-child-04 .box2 .flex03 p {
    width: 100%;
    margin-top: 1vw;
    padding: 3vw;
    border-radius: 1.5vw;
    font-size: 3.5vw;
  }

  .tl-child-04 .box2 .flex03 p span {
    padding-left: 1.7em;
    background-position: left top 1vw;
    background-size: auto 3.5vw;
  }

  .tl-child-04 .box2 .flex03 p:nth-child(-n+2) {
    margin-top: 1vw;
  }

  .box-button-04 {
    display: block;
    text-align: center;
    margin-top: 20px;
    background-color: #dd9969;
    color: #fff;
    font-size: 14px;
    border-radius: 50px;
    font-weight: 500;
    padding: 5px;
    box-shadow: 2px 3px 3px 0px rgba(0, 0, 0, 0.5);
  }

}

/*

  子：tl-child-05　注意＆ドクター

--------------------------------------------------------------*/
.tl-child-05 {
  padding: 80px 0 60px;
}

.tl-child-05 .box01 {
  width: 740px;
  margin: 0 auto;
  margin-bottom: 80px;
}

.tl-child-05 .box01 h2 {
  margin-bottom: 20px;
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
}

.tl-child-05 .box01 h2 span {
  display: inline-block;
  padding-left: 50px;
  background-repeat: no-repeat;
  background-size: 40px 40px;
  background-position: left center;
  background-image: url(../img/child/icon_atten.png);
}

.tl-child-05 .box01 .movie {
  width: 560px;
  height: 315px;
  margin: 0 auto;
  margin-bottom: 30px;
}

.tl-child-05 .box01 .movie iframe {
  width: 100%;
  height: 100%;
}

.tl-child-05 .box01 .txt {
  font-weight: 400;
  line-height: 1.9;
}

.tl-child-05 .box02 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tl-child-05 .box02 .left {
  position: absolute;
  top: -30px;
  left: 0;
}

.tl-child-05 .box02 figure {
  position: relative;
}

.tl-child-05 .box02 figure:before {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -30px;
  right: 50px;
  width: 360px;
  height: 107px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../img/child/name.png);
}

.tl-child-05 .box02 figure img {
  width: 600px;
  height: auto;
}

.tl-child-05 .box02 .right {
  width: 600px;
  padding: 70px 80px 70px 150px;
  border: 1px solid #E3DED2;
}

.tl-child-05 .box02 .right h2 {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 30px;
  line-height: 1.7;
  color: #905941;
}

.tl-child-05 .box02 .right .txt {
  padding-top: 0;
  font-weight: 400;
  line-height: 2.0;
}

.tl-child-05 .box02 .note {
  width: 820px;
  margin: 0 auto;
  margin-top: 30px;
  padding: 10px 10px;
  border: 1px solid #6F5437;
}

.tl-child-05 .box02 .note div {
  position: relative;
  padding: 20px 60px;
  background-color: #fff;
}

.tl-child-05 .box02 .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F9F7F2;
}

.tl-child-05 .box02 .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F9F7F2;
}

.tl-child-05 .box02 .note div p {
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
}

.tl-child-05 .box02 .note div p span {
  color: #905941;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-05 {
    padding: 0vw 0 10vw;
  }

  .tl-child-05 .box01 {
    width: 100%;
    margin-bottom: 10vw;
    padding: 0 4vw;
  }

  .tl-child-05 .box01 h2 {
    margin-bottom: 5vw;
    font-size: 5.2vw;
  }

  .tl-child-05 .box01 h2 span {
    padding-left: 10vw;
    background-size: 7vw 7vw;
  }

  .tl-child-05 .box01 .movie {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / .5625;
    margin-bottom: 3vw;
  }

  .tl-child-05 .box01 .txt {
    padding: 0 3vw;
    font-size: 3.4vw;
  }

  .tl-child-05 .box02 {
    flex-direction: column;
    justify-content: center;
  }

  .tl-child-05 .box02 .left {
    position: static;
  }

  .tl-child-05 .box02 figure:before {
    bottom: 5vw;
    right: 7vw;
    width: 60vw;
    height: 20vw;
    z-index: 2;
  }

  .tl-child-05 .box02 figure img {
    object-fit: cover;
    object-position: top;
    width: 100%;
    height: 70vw;
  }

  .tl-child-05 .box02 .right {
    width: 100%;
    margin-top: 5vw;
    padding: 0 7vw;
    border: none;
  }

  .tl-child-05 .box02 .right h2 {
    margin-bottom: 3vw;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-child-05 .box02 .right .txt {
    font-size: 3.4vw;
    line-height: 1.9;
  }

  .tl-child-05 .box02 .note {
    width: 90vw;
    margin-top: 5vw;
    padding: 2vw;
  }

  .tl-child-05 .box02 .note div {
    padding: 3vw 5vw;
  }

  .tl-child-05 .box02 .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-child-05 .box02 .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-child-05 .box02 .note div p {
    text-align: center;
    line-height: 1.7;
    font-size: 4vw;
  }
}

/*

  子：tl-parent.child　症例写真

--------------------------------------------------------------*/
.tl-parent-08.child {
  padding: 80px 0;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-08.child {
    padding: 10vw 0;
  }
}

/*

  子：tl-parent.child　術後経過

--------------------------------------------------------------*/
.tl-parent-11.child {
  padding: 0 0 80px;
}

.tl-parent-11.child h3 {
  margin-top: 15px;
  margin-bottom: 10px;
  text-align: center;
  font-weight: 500;
  font-size: 16px;
}

.tl-parent-11.child h3+p {
  padding-top: 0;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-11.child {
    padding: 0 0 10vw;
  }

  .tl-parent-11.child h3 {
    margin-top: 3vw;
    margin-bottom: 3vw;
    font-size: 3.8vw;
  }


}

/*

  子：tl-parent.child　施術詳細・ダウンタイム

--------------------------------------------------------------*/
.tl-parent-10.child .box table {
  width: 100%;
}

.tl-parent-10.child table tr:first-child td {
  background-color: transparent;
}

.tl-parent-10.child table th.fixed01::before {
  display: none;
}

.tl-parent-10.child table td {
  text-align: left;
}

.tl-parent-10.child table tr:first-child td {
  font-weight: 400;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-10.child table th.fixed01 {
    position: static;
    white-space: wrap;
    width: 40%;
  }

  .tl-parent-10.child table th {
    width: auto;
  }
}

/*

  パーツ：限定解除要件

--------------------------------------------------------------*/
.parts-require {
  margin-top: 20px;
}

.parts-require table {
  width: 100%;
  line-height: 1.6;
  font-weight: 400;
  font-size: 13px;
}

.parts-require table tr+tr {
  border-top: 1px solid #eee;
}

.parts-require table th {
  white-space: nowrap;
  padding: 5px 0;
  text-align: left;
  vertical-align: top;
}

.parts-require table td {
  padding: 5px 0;
  padding-left: 30px;
}

.parts-require table tr:first-child th,
.parts-require table tr:first-child td {
  padding-top: 0;
}

.parts-require table tr:last-child th,
.parts-require table tr:last-child td {
  padding-bottom: 0;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .parts-require {
    margin-top: 3vw;
  }

  .parts-require table {
    font-size: 3vw;
  }

  .parts-require table th {
    padding: 1.5vw 0;
  }

  .parts-require table td {
    padding: 1.5vw 0;
    padding-left: 5vw;
  }
}

/* 2025.01.12 */
/*

  子：tl-child-06　裏ハムラ適応の方

--------------------------------------------------------------*/
.tl-child-06 {
  padding: 80px 0;
  background-color: #F9F7F2;
}

.tl-child-06 .flex {
  display: flex;
  align-items: center;
}

.tl-child-06 .flex figure {
  width: 340px;
}

.tl-child-06 .flex .box {
  flex: 1;
  margin-left: 60px;
}

.tl-child-06 .flex .box h2 {
  position: relative;
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .05em;
  color: #905941;
}

.tl-child-06 .flex .box h2 span {
  position: relative;
  display: inline-block;
  padding-right: 30px;
  background-color: #F9F7F2;
  z-index: 2;
}

.tl-child-06 .flex .box h2:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #E3DED2;
}

.tl-child-06 .flex .box>div {
  padding: 20px 30px;
  background-color: #fff;
}

.tl-child-06 .flex .box>div ul {
  line-height: 1.5;
  font-weight: 400;
}

.tl-child-06 .flex .box>div ul li {
  padding-left: 1.5em;
  background-position: top 5px left;
  background-repeat: no-repeat;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
}

.tl-child-06 .flex .box>div ul li+li {
  margin-top: 10px;
}

.tl-child-06 .flex .box>div ul li span {
  color: #905941;
}

.tl-child-06 .sp-txt-6 {
  display: none;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-06 {
    padding: 10vw 6vw;
  }

  .tl-child-06 .flex {
    flex-direction: column-reverse;
  }

  .tl-child-06 .flex figure {
    width: 100%;
    margin-top: 5vw;
  }

  .tl-child-06 .flex .box {
    width: 100%;
    margin-left: 0;
  }

  .tl-child-06 .flex .box h2 {
    margin-bottom: 3.5vw;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-child-06 .flex .box h2 span {
    padding-left: 5vw;
    padding-right: 5vw;
  }

  .tl-child-06 .flex .box>div {
    width: 100%;
    padding: 5vw;
  }

  .tl-child-06 .flex .box>div ul li {
    font-size: 3.4vw;
    background-position: top 1vw left;
  }

  .tl-child-06 .flex .box>div ul li+li {
    margin-top: 2vw;
  }

  .tl-child-06 .sp-txt-6 {
    display: block;
  }
}

/*

  子：tl-child-07　膨らみ溝の成り立ち

--------------------------------------------------------------*/
.tl-child-07 {
  padding: 80px 0;
  background-color: #F0E2D6;
}

.tl-child-07 .flex {
  display: flex;
  align-items: center;
}

.tl-child-07 .flex figure {
  width: 640px;
}

.tl-child-07 .flex .box {
  flex: 1;
  margin-left: 60px;
}

.tl-child-07 .flex .box h2 {
  position: relative;
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .05em;
  color: #905941;
}

.tl-child-07 .flex .box p {
  padding-top: 0;
  font-weight: 400;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-07 {
    padding: 10vw 5vw;
  }

  .tl-child-07 .flex {
    flex-direction: column-reverse;
  }

  .tl-child-07 .flex figure {
    width: 100%;
    margin-top: 5vw;
  }

  .tl-child-07 .flex .box {
    margin-left: 0;
  }

  .tl-child-07 .flex .box h2 {
    margin-bottom: 3.5vw;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-child-07 .flex .box p {
    font-size: 3.4vw;
  }
}

/*

  子：tl-child-08　膨らみ溝の成り立ち

--------------------------------------------------------------*/
.tl-child-08 {
  margin-bottom: 80px;
}

.tl-child-08 .box {
  padding: 10px;
  background-color: #fff;
}

.tl-child-08 .box .boxin {
  padding: 50px 0;
  border: 1px dashed #CAC0B5;
  text-align: center;
}

.tl-child-08 .box .boxin .note {
  width: 740px;
  margin: 0 auto;
  margin-bottom: 30px;
  padding: 5px 10px;
  border: 1px solid #6F5437;
}

.tl-child-08 .box .boxin .note div {
  position: relative;
  padding: 10px 60px;
  background-color: #fff;
}

.tl-child-08 .box .boxin .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

.tl-child-08 .box .boxin .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

.tl-child-08 .box .boxin .note div p {
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  color: #905941;
}

.tl-child-08 .box .boxin figure {
  display: inline-block;
  width: 740px;
}

.tl-child-08 .box .boxin .txt {
  font-weight: 400;
}

.tl-child-08 .box .boxin a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-08 {
    margin-bottom: 10vw;
    padding: 0 3vw;
  }

  .tl-child-08 .box {
    padding: 2vw;
  }

  .tl-child-08 .box .boxin {
    padding: 5vw 0;
  }

  .tl-child-08 .box .boxin .note {
    width: 82vw;
    margin-bottom: 5vw;
    padding: 2vw;
  }

  .tl-child-08 .box .boxin .note div {
    padding: 2vw 3vw;
  }

  .tl-child-08 .box .boxin .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-child-08 .box .boxin .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-child-08 .box .boxin .note div p {
    text-align: center;
    line-height: 1.7;
    font-size: 4vw;
  }

  .tl-child-08 .box .boxin figure {
    width: 100%;
  }

  .tl-child-08 .box .boxin .txt {
    padding: 0 5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-08 .box .boxin a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }
}


/*

  子：tl-child-13　裏evoリフト

--------------------------------------------------------------*/
.tl-child-13 {
  padding: 80px 0;
  background-color: #F9F7F2;
}

.tl-child-13 .flex {
  display: flex;
  align-items: center;
}

.tl-child-13 .flex figure {
  width: 640px;
}

.tl-child-13 .flex .box {
  flex: 1;
  margin-left: 60px;
}

.tl-child-13 .flex .box h2 {
  position: relative;
  margin-bottom: 20px;
  font-size: 29px;
  font-weight: 500;
  letter-spacing: .05em;
  color: #905941;
}

.tl-child-13 .flex .box p {
  padding-top: 0;
}

.text-contents {
  font-family: 'Noto Serif JP';
}

.text-contents {
  font-size: 29px;
}

.text-sub-contents span {
  font-weight: 900;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-13 {
    padding: 5vw 5vw;
  }

  .tl-child-13 .flex {
    flex-direction: column-reverse;
  }

  .tl-child-13 .flex figure {
    width: 100%;
    margin-top: 5vw;
  }

  .tl-child-13 .flex .box {
    margin-top: -10vw;
    margin-left: 0;
  }

  .tl-child-13 .flex .box h2 {
    margin-bottom: -5px;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-child-13 .flex .box p {
    font-size: 3.4vw;
  }

  .text-contents {
    font-family: 'Noto Serif JP';
    margin-top: 20px;
  }

  .text-sub-contents span {
    font-weight: 900;
  }
}

/*

  子：tl-child-14　膨らみ溝の成り立ち

--------------------------------------------------------------*/
.tl-child-14 {
  margin-top: 80px
}

.tl-child-14 {
  margin-bottom: 80px;
}

.tl-child-14 .box {
  padding: 10px;
  background-color: #fff;
}

.tl-child-14 .box .boxin {
  padding: 50px 0;
  border: 1px dashed #CAC0B5;
  text-align: center;
}

.tl-child-14 .box .boxin .note {
  width: 740px;
  margin: 0 auto;
  margin-bottom: 30px;
  padding: 5px 10px;
  border: 1px solid #6F5437;
}

.tl-child-14 .box .boxin .note div {
  position: relative;
  padding: 10px 60px;
  background-color: #fff;
}

.tl-child-14 .box .boxin .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

.tl-child-14 .box .boxin .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

.tl-child-14 .box .boxin .note div p {
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  color: #905941;
}

.tl-child-14 .box .boxin figure {
  display: inline-block;
  width: 740px;
}

.tl-child-14 .box .boxin .txt {
  padding: 30px 0 0;
  font-weight: 400;
}

.tl-child-14 .box .boxin a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-14 .br-pc14 {
  display: inline;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-14 {
    margin-top: 9vw;
  }

  .tl-child-14 {
    margin-bottom: 10vw;
    padding: 0 3vw;
  }

  .tl-child-14 .box {
    padding: 2vw;
  }

  .tl-child-14 .box .boxin {
    padding: 5vw 0;
  }

  .tl-child-14 .box .boxin .note {
    width: 82vw;
    margin-bottom: 5vw;
    padding: 2vw;
  }

  .tl-child-14 .box .boxin .note div {
    padding: 2vw 3vw;
  }

  .tl-child-14 .box .boxin .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-child-14 .box .boxin .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-child-14 .box .boxin .note div p {
    text-align: center;
    line-height: 1.7;
    font-size: 3.5vw;
  }

  .tl-child-14 .box .boxin figure {
    width: 100%;
  }

  .tl-child-14 .box .boxin .txt {
    padding: 0 5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-14 .box .boxin a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-14 .box .boxin .txt {
    padding: 10px 15px;
    text-align: center;
  }

  .tl-child-14 .br-pc14 {
    display: none;
  }

}


/*

  親：tl-parent-15 裏evoリフト法　悩み

--------------------------------------------------------------*/
.tl-parent-15 {
  padding: 80px 0 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-15 .box {
  position: relative;
  width: 100%;
}

.tl-parent-15 .box figure {
  width: 590px;
}

.tl-parent-15 .box>div {
  position: absolute;
  bottom: -20px;
  right: 0;
  width: 590px;
  padding: 60px 80px;
  border: 1px solid #E3DED2;
  background-color: #F9F7F2;
  z-index: 2;
}

.tl-parent-15 .box>div h2 {
  margin-bottom: 40px;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
  letter-spacing: .05em;
}

.tl-parent-15 .box>div ul {
  position: relative;
  margin-top: 0;
}

.tl-parent-15 .box>div ul li {
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
  font-weight: 400;
  font-size: 16px;
}

.tl-parent-15 .box>div ul li+li {
  margin-top: 20px;
}

.tl-parent-15 .text-15 {
  text-align: center;
  font-size: 18px;
  font-weight: 400;
  line-height: 27px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-15 {
    padding: 0;
    margin-top: 35px;
  }

  .tl-parent-15 .box {
    display: flex;
    flex-direction: column-reverse;
  }

  .tl-parent-15 .box figure {
    width: 100%;
  }

  .tl-parent-15 .box>div {
    position: static;
    width: 100%;
    margin-bottom: 10vw;
    border: none;
    padding: 0 10vw;
  }

  .tl-parent-15 .box>div h2 {
    margin-bottom: 7vw;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-parent-15 .box>div ul {
    margin-top: 0;
  }

  .tl-parent-15 .box>div ul li {
    background-size: 3.5vw auto;
    font-size: 3.5vw;
  }

  .tl-parent-15 .box>div ul li+li {
    margin-top: 4vw;
  }

  .tl-parent-15 .text-15 {
    text-align: center;
    font-size: 14.5px;
    font-weight: 400;
    line-height: 27px;
  }

}

/*

/*

  子：tl-child-16　裏evoリフトで解決

--------------------------------------------------------------*/
.tl-child-16 {
  padding: 80px 0 80px;
  background: linear-gradient(180deg, transparent 0%, transparent 300px, #F0E2D6 300px, #F0E2D6 100%);
}

.tl-child-16 .box {
  position: relative;
  width: 900px;
  margin: 0 auto;
  margin-top: 70px;
  padding: 40px 80px 60px 80px;
  background-color: #fff;
}

.tl-child-16 .box h3 {
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
}

.tl-child-16 .box figure img {
  margin: 0 auto;
}

.tl-child-16 .box .txt {
  margin-top: 30px;
  line-height: 1.9;
  font-weight: 400;
}

.tl-child-16 .box .title {
  position: absolute;
  top: -23px;
  left: 0;
  width: 100%;
  text-align: center;
}

.tl-child-16 .box .title span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  padding: 0 20px;
  border-radius: 3px;
  background-color: #905941;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
}

.tl-child-16 .box2 {
  margin-top: 60px;
}

.tl-child-16 .box2 ul li {
  font-weight: 400;
}

.tl-child-16 .box2 ul li h3 {
  margin-bottom: 20px;
  padding-left: 15px;
  padding-bottom: 5px;
  border-left: 3px solid #905941;
  border-bottom: 1px solid #AC8777;
  font-weight: 500;
  font-size: 22px;
  color: #905941;
}

.tl-child-16 .box2 ul li .txt {
  padding-top: 0;
  line-height: 1.9;
}

.tl-child-16 .box2 ul li.flex01 .imgflex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.tl-child-16 .box2 ul li.flex01 figure {
  width: 48%;
}

.tl-child-16 .box2 ul li.flex01>div {
  width: 100%;
  text-align: center;
}

.tl-child-16 .box2 ul li.flex01>div .txt {
  text-align: left;
}

.tl-child-16 .box2 ul li.flex01>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-16 .box2 ul li+li {
  margin-top: 60px;
}

.tl-child-16 .box2 .flex02 {
  display: flex;
  flex-wrap: wrap;
}

.tl-child-16 .box2 .flex02>div {
  width: 32%;
  margin-top: 30px;
  padding: 30px;
  background-color: #F9F7F2;
}

.tl-child-16 .box2 .flex02>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-16 .box2 .flex02>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #F9F7F2;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-16 .box2 .flex02>div:nth-child(1) figure:before {
  content: '01';
}

.tl-child-16 .box2 .flex02>div:nth-child(2) figure:before {
  content: '02';
}

.tl-child-16 .box2 .flex02>div:nth-child(3) figure:before {
  content: '03';
}

.tl-child-16 .box2 .flex02>div+div {
  margin-left: 2%;
}

.tl-child-16 .box2 .flex02>div:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-16 .box2 .flex02>div:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-16 .box2 .flex02>div h4 {
  margin-bottom: 5px;
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  color: #905941;
}

.tl-child-16 .box2 .flex03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 80px;
  background-color: #F9F7F2;
}

.tl-child-16 .box2 .flex03 p {
  width: 49%;
  margin-top: 10px;
  padding: 20px;
  border: 1px solid #EEEEEE;
  border-radius: 6px;
  background-color: #fff;
  line-height: 1.4;
}

.tl-child-16 .box2 .flex03 p span {
  display: inline-block;
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top 4px left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
}

.tl-child-16 .box2 .flex03 p:nth-child(-n+2) {
  margin-top: 0;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-16 {
    padding: 7vw 4vw;
    background: linear-gradient(180deg, transparent 0%, transparent 50vw, #F0E2D6 50vw, #F0E2D6 100%);
  }

  .tl-child-16 .box {
    width: 100%;
    margin-top: 12vw;
    padding: 10vw 3vw 5vw;
    background-color: #fff;
  }

  .tl-child-16 .box h3 {
    margin-top: -5vw;
    font-size: 5.2vw;
  }

  .tl-child-16 .box .txt {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.4vw;
  }

  .tl-child-16 .box .title {
    top: -7.5vw;
  }

  .tl-child-16 .box .title span {
    width: 80%;
    height: 15vw;
    padding: 0 20px;
    border-radius: 1vw;
    font-size: 3.8vw;
    line-height: 1.5;
    color: #fff;
  }

  .tl-child-16 .box2 {
    margin-top: 10vw;
  }

  .tl-child-16 .box2 ul li h3 {
    margin-bottom: 3vw;
    padding-left: 3.5vw;
    padding-bottom: 1.5vw;
    text-align: left;
    font-size: 4.8vw;
  }

  .tl-child-16 .box2 ul li .txt {
    padding: 0 1.5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-16 .box2 ul li.flex01 .imgflex {
    flex-direction: column;
    margin-bottom: 5vw;
  }

  .tl-child-16 .box2 ul li.flex01 figure {
    width: 100%;
  }

  .tl-child-16 .box2 ul li.flex01 figure+figure {
    margin-top: 5vw;
  }

  .tl-child-16 .box2 ul li.flex01>div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7vw;
    text-align: center;
  }

  .tl-child-16 .box2 ul li.flex01>div a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-16 .box2 ul li+li {
    margin-top: 10vw;
  }

  .tl-child-16 .box2 .flex02 {
    flex-direction: column;
  }

  .tl-child-16 .box2 .flex02>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    padding: 3vw;
  }

  .tl-child-16 .box2 .flex02>div figure {
    width: 45vw;
    margin-bottom: 0;
  }

  .tl-child-04 .box2 .flex02>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-16 .box2 .flex02>div+div {
    margin-top: 3vw !important;
    margin-left: 0;
  }

  .tl-child-16 .box2 .flex02>div h4 {
    width: 40vw;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.6;
    font-size: 4.2vw;
  }

  .tl-child-16 .box2 .flex02>div .txt {
    width: 100%;
    margin-top: 3vw;
  }

  .tl-child-16 .box2 .flex03 {
    padding: 3vw;
  }

  .tl-child-16 .box2 .flex03 p {
    width: 100%;
    margin-top: 1vw;
    padding: 3vw;
    border-radius: 1.5vw;
    font-size: 3.5vw;
  }

  .tl-child-16 .box2 .flex03 p span {
    padding-left: 1.7em;
    background-position: left top 1vw;
    background-size: auto 3.5vw;
  }

  .tl-child-16 .box2 .flex03 p:nth-child(-n+2) {
    margin-top: 1vw;
  }
}

/*

/*

  子：tl-child-17　裏evoリフト

--------------------------------------------------------------*/
.tl-child-17 {
  padding: 80px 0;
  background-color: #F9F7F2;
}

.tl-child-17 .flex {
  display: flex;
  align-items: center;
}

.tl-child-17 .flex figure {
  width: 640px;
}

.tl-child-17 .flex .box {
  flex: 1;
  margin-left: 60px;
}

.tl-child-17 .flex .box h2 {
  position: relative;
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .05em;
  color: #905941;
}

.tl-child-17 .flex .box p {
  padding-top: 0;
}

.main-text {
  text-align: center;
  margin: 0 305px 70px 305px;
  padding: 10px 50px;
  background-color: #DD9969;
  color: #fff;
  font-weight: 900;
  font-size: 20px;
  border-radius: 10px;
}

.text-contents-first {
  font-family: 'Noto Serif JP';
}

.text-sub-contents span {
  font-weight: 900;
}



/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-17 {
    padding: 5vw 5vw;
  }

  .tl-child-17 .flex {
    flex-direction: column-reverse;
    margin-bottom: 25px;
  }

  .tl-child-17 .flex figure {
    width: 100%;
    margin-top: 5vw;
  }

  .tl-child-17 .flex .box {
    margin-top: -10vw;
    margin-left: 0;
  }

  .tl-child-17 .flex .box h2 {
    margin-bottom: 3.5vw;
    text-align: center;
    font-size: 5.2vw;
    margin-top: 40px;
  }

  .tl-child-17 .flex .box p {
    font-size: 3.4vw;
  }


  .tl-child-17 .main-text {
    text-align: center;
    margin: 12px 0px 15px 0px;
    padding: 12px 20px;
    background-color: #DD9969;
    color: #fff;
    font-weight: 800;
    font-size: 16px;
    border-radius: 2vw;
  }

  .text-contents-first {
    font-family: 'Noto Serif JP';
    margin-top: 27px;
  }

  .text-sub-contents span {
    font-weight: 900;
  }



}

/*

/*

  子：tl-child-18　CPF再配置

--------------------------------------------------------------*/
.tl-child-18 {
  padding: 80px 0 40px;
  background-color: #F0E2D6;
}

.tl-child-18 .flex {
  display: flex;
  align-items: center;
  justify-content: center;
}

.tl-child-18 .flex figure {
  width: 640px;
}

.tl-child-18 .flex .box {
  flex: 1;
  margin-left: 60px;
}

.tl-child-18 .flex .box h2 {
  position: relative;
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .05em;
  color: #905941;
}

.tl-child-18 .flex .box p {
  padding-top: 0;
}

.main-text {
  text-align: center;
  margin: 0 305px 70px 305px;
  padding: 10px 50px;
  background-color: #DD9969;
  color: #fff;
  font-weight: 900;
  font-size: 20px;
  border-radius: 10px;
}

.text-contents-first {
  font-family: 'Noto Serif JP';
}

.text-sub-contents span {
  font-weight: 900;
}

.text-contents-second {
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  margin-top: 30px;
}

.tl-child-18 .imgflex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.br-sp3 {
  display: none;
}

.sub-contents-18 {
  display: flex;
  border: 3px solid #dd9969;
  /* 枠線の色 */
  align-items: center;
  align-items: stretch;
  margin-top: 30px;
}

.main-list-18 {
  background-color: #dd9969;
  /* 左側の濃い紫 */
  color: white;
  font-size: 20px;
  font-weight: bold;
  padding: 60px;
  width: 40%;
  /* 左の幅を調整 */
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}

.list-18 {

  background-color: #F0E2D6;
  /* 右側の薄い紫 */
  list-style: none;
  padding: 20px;
  margin: 0;
  width: 70%;
  /* 右の幅を調整 */
}

.list-sub-18 {
  font-size: 18px;
  margin-bottom: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.main-text-2 {
  margin-top: 40px;
  text-align: center;

  padding: 20px 50px;
  background-color: #DD9969;
  color: #fff;
  font-weight: 900;
  font-size: 23px;
  border-radius: 10px;
}

.main-text-18-cpf {
  text-align: center;
  margin: 0 auto 40px;
  padding: 10px 50px;
  background-color: #DD9969;
  color: #fff;
  font-weight: 900;
  font-size: 20px;
  border-radius: 10px;
  width: 100%;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-18 {
    padding: 5vw 5vw;
    background-color: #F9F7F2;
  }

  .tl-child-18 .flex {
    flex-direction: column-reverse;
    margin-bottom: 25px;
  }

  .tl-child-18 .flex figure {
    width: 100%;
    margin-top: 5vw;
  }

  .tl-child-18 .flex .box {
    margin-top: -10vw;
    margin-left: 0;
  }

  .tl-child-18 .flex .box h2 {
    margin-bottom: 3.5vw;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-child-18 .flex .box p {
    font-size: 3.4vw;
  }

  .main-text-18-cpf {
    text-align: center;
    margin: 0 auto 20px;
    padding: 10px 50px;
    background-color: #DD9969;
    color: #fff;
    font-weight: 900;
    font-size: 15px;
    border-radius: 10px;
    width: 100%;
  }


  .main-text {
    text-align: center;
    margin: 12px 0px 17px 0px;
    padding: 12px 20px;
    background-color: #DD9969;
    color: #fff;
    font-weight: 800;
    font-size: 17px;
    border-radius: 2vw;
  }

  .text-contents-first {
    font-family: 'Noto Serif JP';
    margin-top: 27px;
  }

  .text-sub-contents span {
    font-weight: 900;
  }

  .text-contents-second {
    margin-top: 30px;
    margin-bottom: 15px;
    font-size: 18px;
  }

  .tl-child-18 .imgflex {
    flex-direction: column;
  }

  .br-sp3 {
    display: inline;
  }

  .tl-child-18 .main-text-2 {
    margin-top: 40px;
    text-align: center;
    padding: 20px 10px;
    background-color: #DD9969;
    color: #fff;
    font-weight: 900;
    font-size: 20px;
    border-radius: 10px;
  }

  .tl-child-18 .sub-contents-18 {
    display: flex;
    border: 3px solid #dd9969;
    align-items: center;
    align-items: stretch;
    margin-top: 30px;
    flex-direction: column;
  }

  .tl-child-18 .main-list-18 {
    background-color: #dd9969;
    color: white;
    font-size: 20px;
    font-weight: bold;
    width: 100%;
    padding: 20px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .tl-child-18 .list-18 {

    background-color: #F0E2D6;
    /* 右側の薄い紫 */
    list-style: none;
    padding: 20px;
    margin: 0;
    width: 100%;
    /* 右の幅を調整 */
  }



  .list-sub-18 {
    font-size: 15px;
    margin-bottom: 13px;
    display: flex;
    align-items: center;
    gap: 10px;
  }

}

/*

/*

  子：tl-child-19　CPFについて　
--------------------------------------------------------------*/

.tl-child-19 {
  padding: 10px 0 30px;
  line-height: 1.0;
}

.tl-child-19 .h2-common h2 {
  font-size: 25px;
}

.tl-child-19 ul {
  display: flex;
}

.tl-child-19 ul li {
  width: 32%;
  margin-top: 30px;
  padding: 5px;
  border: 1px solid #D8D5D0;
  background-color: #fff;
}

.tl-child-19 ul li+li {
  margin-left: 2%;
}

.tl-child-19 ul li:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-19 ul li:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-19 ul li>div {
  position: relative;
  padding: 20px;
  border: 1px dashed #CAC0B5;
}

.tl-child-19 ul li>div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: 1px;
  right: 1px;
  width: 13px;
  height: 14px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url(../img/child/icon_tips.png);
}

.tl-child-19 ul li>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-19 ul li>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #fff;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-19 ul li:nth-child(1)>div figure:before {
  content: '01';
}

.tl-child-19 ul li:nth-child(2)>div figure:before {
  content: '02';
}

.tl-child-19 ul li:nth-child(3)>div figure:before {
  content: '03';
}

.tl-child-19 ul li>div .txt {
  text-align: center;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
}

.tl-child-19 ul li>div .txt span {
  color: #905941;
}

.tl-child-19 .movie {
  width: 560px;
  height: 315px;
  margin: 0 auto;
  margin-top: 50px;
}

.tl-child-19 .movie iframe {
  width: 100%;
  height: 100%;
}

.title-sub {
  font-size: 25px;
  text-align: center;
  font-family: 'Noto Serif JP';
}

.title-main {
  font-size: 35px;
  background-color: #DD9969;
  padding: 10px 50px;
  margin-top: -20px;
  color: #fff;
  border-radius: 10px;

  text-align: center;
  font-weight: 500;

}

.tl-child-19 .flex-container {
  display: flex;
  /* 横並びにする */
  justify-content: space-between;
  /* 均等に配置 */
  align-items: center;
  /* 縦方向の中央揃え */
  /* gap: 20px; /* 要素間のスペースを調整 */
  margin-top: 35px;
  margin-bottom: -30px;
}

/* 各アイテムが均等な幅を持つように */
.flex-item {
  flex: 1;
  /* 均等にスペースを分ける */
}

/* 画像の最大幅を指定して比率を維持 */
.flex-item img {
  max-width: 100%;
  height: auto;
}


.flex-10 {
  display: flex;
  margin-top: 60px;
  align-items: center;
}

.text-sub-ver {
  font-size: 23px;
}

.box-10 {
  margin-left: 60px;
  font-size: 23px;
  text-align: center;
  font-weight: 500;
  line-height: 1.5;
}

.img-pic {
  height: 330px;
  width: auto;
}

.br-sp {
  display: none;
}

.br-sp {
  display: block;
}

.tl-child-19 .img-pic .box-10 {
  flex: 1;

}

.tl-child-19 .main-19 {
  margin-top: 70px;
  font-weight: 500;
  letter-spacing: 2px;
  text-align: center;
  display: flex;
  justify-content: center;
  font-size: 32px;
  font-family: 'Noto Serif JP', serif;
  color: #905941;
  align-items: center;
}


.tl-child-19 .main-19::before,
.tl-child-19 .main-19::after {
  content: "";
  flex: 1;
  height: 1px;
  /* 線の太さ */
  background-color: #905941;
  /* 線の色 */
  margin: 0 10px;
  /* 文字との間隔 */
  flex-grow: 1;
}


.tl-child-19 .sub-19 {
  text-align: center;
  font-size: 23px;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: -50px;
  line-height: 35px;
}

.tl-child-19 .sub-19 .sub-19sub {
  font-size: 30px;
  line-height: 50px;
}

.sub-19-2 {
  text-align: center;
  margin-top: 80px;
  padding-top: 30p;
  line-height: 0px;

}




/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-19 {
    padding: 0vw 4vw 6vw;
    background-color: #F0E2D6;
    margin-top: -45px;
  }

  .tl-child-19 .h2-common h2 {
    text-align: center;
    font-size: 19px;
    line-height: 1.5;
  }

  .tl-child-19 ul {
    flex-direction: column;
  }

  .tl-child-19 ul li {
    width: 100%;
    margin-top: 3vw;
    padding: 1vw;
  }

  .tl-child-19 ul li+li {
    margin-top: 3vw;
    margin-left: 0;
  }

  .tl-child-19 ul li:nth-child(-n+3) {
    margin-top: 3vw;
  }

  .tl-child-19 ul li:first-child {
    margin-top: 0;
  }

  .tl-child-19 ul li>div {
    display: flex;
    align-items: center;
    padding: 3vw;
  }

  .tl-child-19 ul li>div:after {
    bottom: 1vw;
    right: 1vw;
    width: 4vw;
    height: 4.5vw;
    background-size: 100% auto;
    background-position: bottom right;
  }

  .tl-child-19 ul li>div figure {
    width: 45vw;
    margin-bottom: 0;
  }

  .tl-child-19 ul li>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-19 ul li>div .txt {
    flex: 1;
    margin-left: 5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-19 .movie {
    width: 100%;
    aspect-ratio: 1 / .5625;
    height: auto;
    margin-top: 5vw;
  }

  .title-main {
    font-size: 23px;
    background-color: #DD9969;
    padding: 10px 20px;
    margin-top: -20px;
    color: #fff;
    border-radius: 10px;
    font-family: 'Noto Serif JP';
    text-align: center;
    font-weight: 500;

  }

  .tl-child-19 .flex-container {
    flex-direction: column;
    /* 縦並びに変更 */
    align-items: center;
    /* 中央揃え */
  }

  .tl-child-19 .flex-item {
    width: 100%;
    /* 横幅を100%に */
    text-align: center;
    /* テキストを中央揃え */

  }

  .tl-child-19 .img-pic-19 {
    max-width: 100%;
    /* 画像の幅を調整 */
    height: auto;
    padding: 10px 10px 30px;
    background-color: #fff;

  }

  .flex-10 {
    flex-direction: column;
    margin-top: 0px;
    align-items: center;
  }

  .img-pic {
    height: auto;
    width: auto;
  }

  .box-10 {
    margin: 20px 10px 10px 10px;
    font-size: 16px;
    text-align: center;
    font-weight: 500;
    line-height: 1.5;
  }

  .br-sp {
    display: block;
  }

  .br-sp {
    display: none;
  }

  .text-sub-ver {
    font-size: 16px;
    margin-bottom: 11vw;
  }


  .tl-child-19 .main-19 {
    padding: 40px 0 0;
    font-weight: 500;
    letter-spacing: 2px;
    text-align: center;
    display: flex;
    justify-content: center;
    font-size: 20px;
    font-family: 'Noto Serif JP', serif;
    color: #905941;
    align-items: center;
  }


  .tl-child-19 .main-19::before,
  .tl-child-19 .main-19::after {
    content: "";
    flex: 1;
    height: 1px;
    /* 線の太さ */
    background-color: #905941;
    /* 線の色 */
    margin: 0 10px;
    /* 文字との間隔 */
    flex-grow: 1;
  }

  .tl-child-19 .sub-19 {
    text-align: center;
    font-size: 17px;
    font-weight: 500;
    margin-bottom: -50px;
    line-height: 25px;
  }

  .sub-19-2 {
    text-align: center;
    padding-top: 30p;
    line-height: 17px;

  }


}

/*

  子：tl-child-20　目袋外側理由

--------------------------------------------------------------*/
.tl-child-20 {
  padding: 30px 0 40px;
  background: linear-gradient(360deg, transparent 0%, transparent 300px, #F0E2D6 300px, #F0E2D6 100%);
}

.tl-child-20 .box {
  position: relative;
  width: 900px;
  margin: 0 auto;
  margin-top: 70px;
  padding: 10px 80px 20px 80px;
  background-color: #fff;
}

.tl-child-20 .box h3 {
  margin-bottom: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
}

.tl-child-20 .box figure img {
  margin: 0 auto;
}

.tl-child-20 .box .txt {
  margin-top: 30px;
  line-height: 1.9;
  font-weight: 400;
}

.tl-child-20 .box .title {
  position: absolute;
  top: -23px;
  left: 0;
  width: 100%;
  text-align: center;
}

.tl-child-20 .box .title span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  padding: 0 50px;
  border-radius: 3px;
  background-color: #905941;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
}

.tl-child-20 .box2 {
  margin-top: 60px;
}

.tl-child-20 .box2 ul li {
  font-weight: 400;
}

.tl-child-20 .box2 ul li h3 {
  margin-bottom: 20px;
  padding-left: 15px;
  padding-bottom: 5px;
  border-left: 3px solid #905941;
  border-bottom: 1px solid #AC8777;
  font-weight: 500;
  font-size: 22px;
  color: #905941;
}

.tl-child-20 .box2 ul li .txt {
  padding-top: 0;
  line-height: 1.9;
}

.tl-child-20 .box2 ul li.flex01 .imgflex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.tl-child-20 .box2 ul li.flex01 figure {
  width: 48%;
}

.tl-child-20 .box2 ul li.flex01>div {
  width: 100%;
  text-align: center;
}

.tl-child-20 .box2 ul li.flex01>div .txt {
  text-align: left;
}

.tl-child-20 .box2 ul li.flex01>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-20 .box2 ul li+li {
  margin-top: 60px;
}

.tl-child-20 .box2 .flex02 {
  display: flex;
  flex-wrap: wrap;
}

.tl-child-20 .box2 .flex02>div {
  width: 32%;
  margin-top: 30px;
  padding: 30px;
  background-color: #F9F7F2;
}

.tl-child-20 .box2 .flex02>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-20 .box2 .flex02>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #F9F7F2;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-20 .box2 .flex02>div:nth-child(1) figure:before {
  content: '01';
}

.tl-child-20 .box2 .flex02>div:nth-child(2) figure:before {
  content: '02';
}

.tl-child-20 .box2 .flex02>div:nth-child(3) figure:before {
  content: '03';
}

.tl-child-20 .box2 .flex02>div+div {
  margin-left: 2%;
}

.tl-child-20 .box2 .flex02>div:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-20 .box2 .flex02>div:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-20 .box2 .flex02>div h4 {
  margin-bottom: 5px;
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  color: #905941;
}

.tl-child-20 .box2 .flex03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 80px;
  background-color: #F9F7F2;
}

.tl-child-20 .box2 .flex03 p {
  width: 49%;
  margin-top: 10px;
  padding: 20px;
  border: 1px solid #EEEEEE;
  border-radius: 6px;
  background-color: #fff;
  line-height: 1.4;
}

.tl-child-20 .box2 .flex03 p span {
  display: inline-block;
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top 4px left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
}

.tl-child-20 .box2 .flex03 p:nth-child(-n+2) {
  margin-top: 0;
}

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

.ser20 {
  text-align: center;
  font-weight: 400;
  font-size: 20px;
  margin-top: 20px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-20 {
    padding: 7vw 4vw 0vw;
    background-color: #F0E2D6;
  }

  .tl-child-20 .box {
    width: 100%;
    margin-top: 12vw;
    padding: 10vw 3vw 5vw;
    background-color: #fff;
  }

  .tl-child-20 .box h3 {
    margin-top: -30px;
    margin-bottom: 5vw;
    font-size: 20px;
  }

  .tl-child-20 .box .txt {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.4vw;
  }

  .tl-child-20 .box .title {
    top: -7.5vw;
  }

  .tl-child-20 .box .title span {
    width: 90%;
    padding: 0 10px;
    border-radius: 1vw;
    font-size: 17px;
    line-height: 1.5;
    color: #fff;
  }

  .tl-child-20 .box2 {
    margin-top: 10vw;
  }

  .tl-child-20 .box2 ul li h3 {
    margin-bottom: 3vw;
    padding-left: 3.5vw;
    padding-bottom: 1.5vw;
    text-align: left;
    font-size: 4.8vw;
  }

  .tl-child-20 .box2 ul li .txt {
    padding: 0 1.5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-20 .box2 ul li.flex01 .imgflex {
    flex-direction: column;
    margin-bottom: 5vw;
  }

  .tl-child-20 .box2 ul li.flex01 figure {
    width: 100%;
  }

  .tl-child-20 .box2 ul li.flex01 figure+figure {
    margin-top: 5vw;
  }

  .tl-child-20 .box2 ul li.flex01>div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7vw;
    text-align: center;
  }

  .tl-child-20 .box2 ul li.flex01>div a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-20 .box2 ul li+li {
    margin-top: 10vw;
  }

  .tl-child-20 .box2 .flex02 {
    flex-direction: column;
  }

  .tl-child-20 .box2 .flex02>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    padding: 3vw;
  }

  .tl-child-20 .box2 .flex02>div figure {
    width: 45vw;
    margin-bottom: 0;
  }

  .tl-child-04 .box2 .flex02>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-20 .box2 .flex02>div+div {
    margin-top: 3vw !important;
    margin-left: 0;
  }

  .tl-child-20 .box2 .flex02>div h4 {
    width: 40vw;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.6;
    font-size: 4.2vw;
  }

  .tl-child-20 .box2 .flex02>div .txt {
    width: 100%;
    margin-top: 3vw;
  }

  .tl-child-20 .box2 .flex03 {
    padding: 3vw;
  }

  .tl-child-20 .box2 .flex03 p {
    width: 100%;
    margin-top: 1vw;
    padding: 3vw;
    border-radius: 1.5vw;
    font-size: 3.5vw;
  }

  .tl-child-20 .box2 .flex03 p span {
    padding-left: 1.7em;
    background-position: left top 1vw;
    background-size: auto 3.5vw;
  }

  .tl-child-20 .box2 .flex03 p:nth-child(-n+2) {
    margin-top: 1vw;
  }

  .ser20 {
    text-align: center;
    font-weight: 400;
    font-size: 14px;
    margin-top: 20px;
  }

}


/*

 *   子：tl-child-21　CPF再配置について

--------------------------------------------------------------*/
.tl-child-21 {
  padding: 0px 0 80px;
  background-color: #F0E2D6;
}

.tl-child-21 .box {
  position: relative;
  width: 900px;
  margin: 0 auto;
  margin-top: 70px;
  padding: 40px 80px 60px 80px;
  background-color: #fff;
}

.tl-child-21 .box h3 {
  margin-bottom: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
}

.tl-child-21 .box figure img {
  margin: 0 auto;
}

.tl-child-21 .box .txt {
  margin-top: 30px;
  line-height: 1.9;
  font-weight: 400;
}

.tl-child-21 .box .title {
  position: absolute;
  top: -23px;
  left: 0;
  width: 100%;
  text-align: center;
}

.tl-child-21 .box .title span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  padding: 0 20px;
  border-radius: 3px;
  background-color: #905941;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
}

.tl-child-21 .box2 {
  margin-top: 60px;
}

.tl-child-21 .box2 ul li {
  font-weight: 400;
}

.tl-child-21 .box2 ul li h3 {
  padding-top: 30px;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 17px;
  border-bottom: 1px solid #AC8777;
  font-weight: 500;
  font-size: 32px;
  color: #905941;
  letter-spacing: 2px;
  font-family: 'Noto Serif JP', serif;
}

.tl-child-21 .box2 ul li .txt {
  padding-top: 0;
  line-height: 1.9;
}

.tl-child-21 .box2 ul li.flex01 .imgflex {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.tl-child-21 .box2 ul li.flex01 figure {
  width: 100%;
}

.tl-child-21 .box2 ul li.flex01>div {
  width: 100%;
  text-align: center;
}

.tl-child-21 .box2 ul li.flex01>div .txt {
  text-align: left;
}

.tl-child-21 .box2 ul li.flex01>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-21 .box2 ul li+li {
  margin-top: 60px;
}

.tl-child-21 .box2 .flex02 {
  display: flex;
  flex-wrap: wrap;
}

.tl-child-21 .box2 .flex02>div {
  width: 32%;
  margin-top: 30px;
  padding: 30px;
  background-color: #F9F7F2;
}

.tl-child-21 .box2 .flex02>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-21 .box2 .flex02>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #F9F7F2;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-21 .box2 .flex02>div:nth-child(1) figure:before {
  content: '01';
}

.tl-child-21 .box2 .flex02>div:nth-child(2) figure:before {
  content: '02';
}

.tl-child-21 .box2 .flex02>div:nth-child(3) figure:before {
  content: '03';
}

.tl-child-21 .box2 .flex02>div+div {
  margin-left: 2%;
}

.tl-child-21 .box2 .flex02>div:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-21 .box2 .flex02>div:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-21 .box2 .flex02>div h4 {
  margin-bottom: 5px;
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  color: #905941;
}

.tl-child-21 .box2 .flex03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 80px;
  background-color: #F9F7F2;
}

.tl-child-21 .box2 .flex03 p {
  width: 49%;
  margin-top: 10px;
  padding: 20px;
  border: 1px solid #EEEEEE;
  border-radius: 6px;
  background-color: #fff;
  line-height: 1.4;
}

.tl-child-21 .box2 .flex03 p span {
  display: inline-block;
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top 4px left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
}

.tl-child-21 .box2 .flex03 p:nth-child(-n+2) {
  margin-top: 0;
}

.triangle {
  padding: 0 20px;
  font-size: 30px;
}


.txt-21 {
  text-align: center;
  font-size: 20px;
  font-weight: 600;
}

.txt-21 .br-sp4 {
  display: none;
}

.tl-child-21 .img-pic21 {
  max-width: 100%;
  margin-bottom: 10px;
}

.txt-sub-21 {
  text-align: center;
  font-size: 22px;
  margin-bottom: 15px;
  display: flex;
  position: relative;
  text-align: center;
  line-height: px;
  gap: 20px;
  line-height: 31px;
  margin-top: 23px;
}

.tex-sub-no {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  /* 丸のサイズ */
  height: 30px;
  /* 丸のサイズ */
  background-color: #dd9969;
  /* 背景色（画像に近い紫） */
  color: white;
  /* 文字色 */
  font-size: 18px;
  /* 文字の大きさ */
  font-weight: bold;
  /* 太字 */
  border-radius: 50%;
  /* 丸くする */
  text-align: center;
}

.txt-sub-point21 {
  font-weight: 800;
}

.txt-sub2-21 {
  text-align: left;
  margin-bottom: 50px;
}

.tl-child-21 .txt-sub3-21 {
  background-color: #dd9969;
  color: #fff;
  padding: 5px 0;
  margin-bottom: 20px;
}





/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-21 {
    padding: 7vw 4vw 7vw;
    background: #F9F7F2;
  }

  .tl-child-21 .box {
    width: 100%;
    margin-top: 12vw;
    padding: 10vw 3vw 5vw;
    background-color: #fff;
  }

  .tl-child-21 .box h3 {
    margin-bottom: 5vw;
    font-size: 5.2vw;
  }

  .tl-child-21 .box .txt {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.4vw;
  }

  .tl-child-21 .box .title {
    top: -7.5vw;
  }

  .tl-child-21 .box .title span {
    width: 80%;
    height: 15vw;
    padding: 0 20px;
    border-radius: 1vw;
    font-size: 3.8vw;
    line-height: 1.5;
    color: #fff;
  }

  .tl-child-21 .box2 {
    margin-top: 10vw;
  }

  .tl-child-21 .box2 ul li h3 {
    margin-bottom: 3vw;
    padding-bottom: 1.5vw;
    text-align: center;
    font-size: 6vw;
  }

  .tl-child-21 .box2 ul li .txt {
    padding: 0 1.5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-21 .box2 ul li.flex01 .imgflex {
    flex-direction: column;
    margin-bottom: 5vw;
  }

  .tl-child-21 .box2 ul li.flex01 figure {
    width: 100%;
  }

  .tl-child-21 .box2 ul li.flex01 figure+figure {
    margin-top: 5vw;
  }

  .tl-child-21 .box2 ul li.flex01>div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7vw;
    text-align: center;
  }

  .tl-child-21 .box2 ul li.flex01>div a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-21 .box2 ul li+li {
    margin-top: 10vw;
  }

  .tl-child-21 .box2 .flex02 {
    flex-direction: column;
  }

  .tl-child-21 .box2 .flex02>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    padding: 3vw;
  }

  .tl-child-21 .box2 .flex02>div figure {
    width: 45vw;
    margin-bottom: 0;
  }

  .tl-child-21 .box2 .flex02>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-21 .box2 .flex02>div+div {
    margin-top: 3vw !important;
    margin-left: 0;
  }

  .tl-child-21 .box2 .flex02>div h4 {
    width: 40vw;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.6;
    font-size: 4.2vw;
  }

  .tl-child-21 .box2 .flex02>div .txt {
    width: 100%;
    margin-top: 3vw;
  }

  .tl-child-21 .box2 .flex03 {
    padding: 3vw;
  }

  .tl-child-21 .box2 .flex03 p {
    width: 100%;
    margin-top: 1vw;
    padding: 3vw;
    border-radius: 1.5vw;
    font-size: 3.5vw;
  }

  .tl-child-21 .box2 .flex03 p span {
    padding-left: 1.7em;
    background-position: left top 1vw;
    background-size: auto 3.5vw;
  }

  .tl-child-21 .box2 .flex03 p:nth-child(-n+2) {
    margin-top: 1vw;
  }

  .ser-21 {
    text-align: center;
    margin-top: -60px;
  }

  .triangle {
    transform: rotate(90deg);
    /* 90度回転 */
    display: inline-block;
    /* インライン要素の回転を正しく適用 */
  }

  .txt-21 {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
  }

  .txt-21 .br-sp4 {
    display: inline;
  }


  .txt-sub-21 {
    text-align: center;
    font-size: 19px;
    margin-bottom: 15px;
    display: flex;
    position: relative;
    text-align: center;
    line-height: px;
    gap: 10px;
    line-height: 30px;
    margin-top: 23px;
  }

  .txt-sub-point21 {
    font-weight: 800;
  }


  .txt-sub2-21 {
    text-align: left;
    margin-bottom: 50px;
    font-size: 13px;
  }

  .tl-child-21 .txt-sub3-21 {
    background-color: #dd9969;
    color: #fff;
    padding: 5px 0;
    margin-bottom: 20px;
  }

  .tl-child-21 .txt-sub4-21 {
    text-align: left;
    margin-bottom: -25px;
    font-size: 13px;
  }

}




/*

  親：tl-parent-11

--------------------------------------------------------------*/
.tl-parent-22 {
  padding: 80px 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-22 .read {
  margin-top: 30px;
  padding-top: 0;
  font-weight: 400;
  font-size: 13px;
}

.tl-parent-22 ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.tl-parent-22 ul li {
  position: relative;
  width: 23.8%;
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #D8D5D0;
  background-color: #fff;
}

.tl-parent-22 ul li+li {
  margin-left: 1.6%;
}

.tl-parent-22 ul li:nth-child(4n+1) {
  margin-left: 0;
}

.tl-parent-22 ul li:nth-child(-n+4) {
  margin-top: 0;
}

.tl-parent-22 ul li figure {
  position: relative;
}

.tl-parent-22 ul li figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #fff;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-parent-22 ul li .txt {
  margin-top: 10px;
  line-height: 1.7;
  font-weight: 400;
  font-size: 15px;
}

.tl-parent-22 ul li .title {
  padding-top: 10px;
  text-align: center;
  font-weight: 500;
  font-size: 15px;
}

.tl-parent-22 ul li:nth-child(1) figure:before {
  content: '01';
}

.tl-parent-22 ul li:nth-child(2) figure:before {
  content: '02';
}

.tl-parent-22 ul li:nth-child(3) figure:before {
  content: '03';
}

.tl-parent-22 ul li:nth-child(4) figure:before {
  content: '04';
}

.tl-parent-22 ul li:nth-child(5) figure:before {
  content: '05';
}

.tl-parent-22 ul li:nth-child(6) figure:before {
  content: '06';
}

.tl-parent-22 ul li:nth-child(7) figure:before {
  content: '07';
}

.tl-parent-22 ul li:nth-child(8) figure:before {
  content: '08';
}

.tl-parent-22 ul li:nth-child(9) figure:before {
  content: '09';
}

.tl-parent-22 ul li:nth-child(10) figure:before {
  content: '10';
}

.tl-parent-22 ul li+li:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 50%;
  left: -30px;
  width: 34px;
  height: 9px;
  margin-top: -30px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url(../img/common/icon_flow.svg);
  z-index: 2;
}

.sub-txt {
  padding: 3vw 4vw;
  text-align: center;
  font-size: 17px;
  font-weight: bolder;
  line-height: 1.5;
}

.br-sp {
  display: none;
}

}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  .tl-parent-11 ul {
    padding: 0 30px;
  }
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-22 {
    padding: 10vw 0;
    background-color: #F0E2D6;
  }

  .tl-parent-22 h2 {
    text-align: center;
    line-height: 1.5;
  }

  .tl-parent-22 .read {
    margin-top: 5vw;
    font-size: 3vw;
  }

  .tl-parent-22 ul {
    overflow-x: scroll;
    flex-wrap: unset;
    padding: 0 0 3vw 4vw;
    justify-content: flex-start;
  }

  .tl-parent-22 ul li {
    flex-shrink: 0;
    width: 60vw;
    margin-top: 0;
    padding: 3vw;
  }

  .tl-parent-22 ul li+li {
    margin-left: 3vw;
  }

  .tl-parent-22 ul li:nth-child(4n+1) {
    margin-left: 3vw;
  }

  .tl-parent-22 ul li:first-child {
    margin-left: 0;
  }

  .tl-parent-22 ul li:last-child:after {
    pointer-events: none;
    content: '';
    position: absolute;
    top: 0;
    right: -4vw;
    width: 4vw;
    height: 4vw;
  }

  .tl-parent-11 ul li figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-parent-22 ul li .txt {
    margin-top: 2vw;
    font-size: 3.3vw;
  }

  .tl-parent-22 ul li .title {
    padding-top: 2vw;
    font-size: 3.3vw;
  }

  .tl-parent-22 ul li+li:before {
    left: -6vw;
    width: 8vw;
    height: 3vw;
    margin-top: -10vw;
    background-size: 100% auto;
  }

  .sub-txt {
    padding: 3vw 4vw;
    text-align: center;
    font-size: 15px;
    font-weight: bolder;
    line-height: 1.5;
  }

}

.br-sp5 {
  display: inline;
}

/*


  子：tl-child-23　膨らみ溝の成り立ち

--------------------------------------------------------------*/
.tl-child-23 {
  margin-bottom: 80px;
}

.tl-child-23 .box {
  padding: 10px;
  background-color: #fff;
}

.tl-child-23 .box .boxin {
  padding: 50px 0;
  border: 1px dashed #CAC0B5;
  text-align: center;
}

.tl-child-23 .box .boxin .note {
  margin-top: 30px;
  width: 740px;
  margin: 40px auto;
  margin-bottom: 10px;
  padding: 5px 10px;
  border: 1px solid #6F5437;
}

.tl-child-23 .box .boxin .note div {
  position: relative;
  padding: 10px 30px;
  background-color: #fff;
}

.tl-child-23 .box .boxin .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

.tl-child-23 .box .boxin .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

.tl-child-23 .box .boxin .note div p {
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.8;
  color: #905941;
}

.tl-child-23 .box .boxin figure {
  display: inline-block;
  width: 740px;
}

.tl-child-23 .box .boxin .txt {
  font-weight: 400;
}

.tl-child-23 .box .boxin a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-23 {
    margin-bottom: 0vw;
    padding: 0 3vw;
    background-color: #F0E2D6;
  }

  .tl-child-23 .box {
    padding: 2vw;
  }

  .tl-child-23 .box .boxin {
    padding: 2vw 0;
  }

  .tl-child-23 .box .boxin .note {
    width: 82vw;
    margin-bottom: 5vw;
    padding: 2vw;
  }

  .tl-child-23 .box .boxin .note div {
    padding: 2vw 3vw;
  }

  .tl-child-23 .box .boxin .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-child-23 .box .boxin .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-child-23 .box .boxin .note div p {
    text-align: center;
    line-height: 1.7;
    font-size: 3.5vw;
  }

  .tl-child-23 .box .boxin figure {
    width: 100%;
  }

  .tl-child-23 .box .boxin .txt {
    padding: 0 5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-23 .box .boxin a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-23 .inner {
    padding-bottom: 40px;
  }

  .tl-child-23 .ser-23 {}

  .br-sp5 {
    display: none;
  }

}


/*

 *   子：tl-child-21　CPF再配置について

--------------------------------------------------------------*/
.tl-child-24 {
  padding: 0px 0 80px;
  background-color: #F0E2D6;
}

.tl-child-24 .box {
  position: relative;
  width: 900px;
  margin: 0 auto;
  margin-top: 70px;
  padding: 40px 80px 60px 80px;
  background-color: #fff;
}

.tl-child-24 .box h3 {
  margin-bottom: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
}

.tl-child-24 .box figure img {
  margin: 0 auto;
}

.tl-child-24 .box .txt {
  margin-top: 30px;
  line-height: 1.9;
  font-weight: 400;
}

.tl-child-24 .box .title {
  position: absolute;
  top: -23px;
  left: 0;
  width: 100%;
  text-align: center;
}

.tl-child-24 .box .title span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  padding: 0 20px;
  border-radius: 3px;
  background-color: #905941;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
}

.tl-child-24 .box2 {
  margin-top: 60px;
}

.tl-child-24 .box2 ul li {
  font-weight: 400;
}

.tl-child-24 .box2 ul li h3 {
  padding-top: 30px;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 17px;
  border-bottom: 1px solid #AC8777;
  font-weight: 500;
  font-size: 32px;
  color: #905941;
  letter-spacing: 2px;
  font-family: 'Noto Serif JP', serif;
}

.tl-child-24 .box2 ul li .txt {
  padding-top: 0;
  line-height: 1.9;
}

.tl-child-24 .box2 ul li.flex01 .imgflex {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.tl-child-24 .box2 ul li.flex01 figure {
  width: 100%;
}

.tl-child-24 .box2 ul li.flex01>div {
  width: 100%;
  text-align: center;
}

.tl-child-24 .box2 ul li.flex01>div .txt {
  text-align: left;
}

.tl-child-24 .box2 ul li.flex01>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-24 .box2 ul li+li {
  margin-top: 60px;
}

.tl-child-24 .box2 .flex02 {
  display: flex;
  flex-wrap: wrap;
}

.tl-child-24 .box2 .flex02>div {
  width: 32%;
  margin-top: 30px;
  padding: 30px;
  background-color: #F9F7F2;
}

.tl-child-24 .box2 .flex02>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-24 .box2 .flex02>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #F9F7F2;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-24 .box2 .flex02>div:nth-child(1) figure:before {
  content: '01';
}

.tl-child-24 .box2 .flex02>div:nth-child(2) figure:before {
  content: '02';
}

.tl-child-24 .box2 .flex02>div:nth-child(3) figure:before {
  content: '03';
}

.tl-child-24 .box2 .flex02>div+div {
  margin-left: 2%;
}

.tl-child-24 .box2 .flex02>div:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-24 .box2 .flex02>div:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-24 .box2 .flex02>div h4 {
  margin-bottom: 5px;
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  color: #905941;
}

.tl-child-24 .box2 .flex03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 80px;
  background-color: #F9F7F2;
}

.tl-child-24 .box2 .flex03 p {
  width: 49%;
  margin-top: 10px;
  padding: 20px;
  border: 1px solid #EEEEEE;
  border-radius: 6px;
  background-color: #fff;
  line-height: 1.4;
}

.tl-child-24 .box2 .flex03 p span {
  display: inline-block;
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top 4px left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
}

.tl-child-24 .box2 .flex03 p:nth-child(-n+2) {
  margin-top: 0;
}

.triangle {
  padding: 0 20px;
  font-size: 30px;
}


.txt-24 {
  text-align: center;
  font-size: 20px;
  font-weight: 600;
}

.txt-24 .br-sp4 {
  display: none;
}

.tl-child-24 .img-pic21 {
  max-width: 100%;
  margin-bottom: 10px;
}

.txt-sub-24 {
  text-align: center;
  font-size: 22px;
  margin-bottom: 15px;
  display: flex;
  position: relative;
  text-align: center;
  line-height: px;
  gap: 20px;
  line-height: 31px;
  margin-top: 23px;
}

.tex-sub-no {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30px;
  /* 丸のサイズ */
  height: 30px;
  /* 丸のサイズ */
  background-color: #dd9969;
  /* 背景色（画像に近い紫） */
  color: white;
  /* 文字色 */
  font-size: 18px;
  /* 文字の大きさ */
  font-weight: bold;
  /* 太字 */
  border-radius: 50%;
  /* 丸くする */
  text-align: center;
}

.txt-sub-point24 {
  font-weight: 800;
}

.txt-sub2-24 {
  text-align: left;
  font-size: 20px;
  font-weight: 400;
}

.tl-child-24 .txt-sub3-24 {
  background-color: #dd9969;
  color: #fff;
  padding: 5px 0;
  margin-bottom: 20px;
}

.tl-child-24 .ser-24 {
  padding-top: 30px;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 17px;
  border-bottom: 1px solid #AC8777;
  font-weight: 500;
  font-size: 32px;
  color: #905941;
  letter-spacing: 2px;
  font-family: 'Noto Serif JP', serif;
}

.tl-child-24 .img-24 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 50px;
  margin-bottom: 90px;
  margin-top: 50px;
}

.tl-child-24 .picture {
  flex: 1;
  /* 均等な幅にする */
  max-width: 50%;
  /* 画像が大きくなりすぎないように調整 */
}

.tl-child-24 .txt-sub-24 {
  flex: 1;
  /* 均等な幅にする */
  max-width: 50%;
  /* テキストブロックの最大幅を調整 */
}

.tl-child-24 .br-pc14 {
  display: none;
}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-24 {
    padding: 7vw 4vw 7vw;
    background: #F0E2D6;
  }

  .tl-child-21 .box {
    width: 100%;
    margin-top: 12vw;
    padding: 10vw 3vw 5vw;
    background-color: #fff;
  }

  .tl-child-24 .box h3 {
    margin-bottom: 5vw;
    font-size: 5.2vw;
  }

  .tl-child-24 .box .txt {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.4vw;
  }

  .tl-child-24 .box .title {
    top: -7.5vw;
  }

  .tl-child-24 .box .title span {
    width: 80%;
    height: 15vw;
    padding: 0 20px;
    border-radius: 1vw;
    font-size: 3.8vw;
    line-height: 1.5;
    color: #fff;
  }

  .tl-child-24 .box2 {
    margin-top: 10vw;
  }

  .tl-child-24 .box2 ul li h3 {
    margin-bottom: 3vw;
    padding-bottom: 1.5vw;
    text-align: center;
    font-size: 6vw;
  }

  .tl-child-24 .box2 ul li .txt {
    padding: 0 1.5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-24 .box2 ul li.flex01 .imgflex {
    flex-direction: column;
    margin-bottom: 5vw;
  }

  .tl-child-24 .box2 ul li.flex01 figure {
    width: 100%;
  }

  .tl-child-24 .box2 ul li.flex01 figure+figure {
    margin-top: 5vw;
  }

  .tl-child-24 .box2 ul li.flex01>div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7vw;
    text-align: center;
  }

  .tl-child-24 .box2 ul li.flex01>div a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-24 .box2 ul li+li {
    margin-top: 10vw;
  }

  .tl-child-24 .box2 .flex02 {
    flex-direction: column;
  }

  .tl-child-24 .box2 .flex02>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    padding: 3vw;
  }

  .tl-child-24 .box2 .flex02>div figure {
    width: 45vw;
    margin-bottom: 0;
  }

  .tl-child-24 .box2 .flex02>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-24 .box2 .flex02>div+div {
    margin-top: 3vw !important;
    margin-left: 0;
  }

  .tl-child-24 .box2 .flex02>div h4 {
    width: 40vw;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.6;
    font-size: 4.2vw;
  }

  .tl-child-24 .box2 .flex02>div .txt {
    width: 100%;
    margin-top: 3vw;
  }

  .tl-child-24 .box2 .flex03 {
    padding: 3vw;
  }

  .tl-child-24 .box2 .flex03 p {
    width: 100%;
    margin-top: 1vw;
    padding: 3vw;
    border-radius: 1.5vw;
    font-size: 3.5vw;
  }

  .tl-child-24 .box2 .flex03 p span {
    padding-left: 1.7em;
    background-position: left top 1vw;
    background-size: auto 3.5vw;
  }

  .tl-child-24 .box2 .flex03 p:nth-child(-n+2) {
    margin-top: 1vw;
  }

  .ser-24 {
    text-align: center;
    margin-top: -60px;
  }

  .triangle {
    transform: rotate(90deg);
    /* 90度回転 */
    display: inline-block;
    /* インライン要素の回転を正しく適用 */
  }

  .txt-24 {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
  }

  .txt-24 .br-sp4 {
    display: inline;
  }


  .txt-sub-24 {
    text-align: center;
    font-size: 19px;
    margin-bottom: 15px;
    display: flex;
    position: relative;
    text-align: center;
    line-height: px;
    gap: 10px;
    line-height: 30px;
    margin-top: 23px;
  }

  .txt-sub-point24 {
    font-weight: 800;
  }


  .txt-sub2-24 {
    text-align: left;
    font-size: 13px;
    text-align: center;
  }

  .tl-child-24 .txt-sub3-24 {
    background-color: #dd9969;
    color: #fff;
    padding: 5px 0;
    margin-bottom: 20px;
  }

  .tl-child-24 .txt-sub4-24 {
    text-align: left;
    margin-bottom: -25px;
    font-size: 13px;
  }

  .tl-child-24 .img-24 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0px;
    margin-bottom: 10px;
    flex-direction: column;
  }

  .tl-child-24 .picture {
    flex: 1;
    /* 均等な幅にする */
    max-width: 100%;
    /* 画像が大きくなりすぎないように調整 */
  }

  .tl-child-24 .txt-sub-24 {
    flex: 1;
    /* 均等な幅にする */
    max-width: 100%;
    /* テキストブロックの最大幅を調整 */
  }

  .tl-child-24 .ser-24 {
    padding-top: 30px;
    text-align: center;
    margin-bottom: 20px;
    padding-bottom: 17px;
    border-bottom: 1px solid #AC8777;
    font-weight: 500;
    font-size: 20px;
    color: #905941;
    letter-spacing: 2px;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: -20px;
  }

  .tl-child-24 .br-pc14 {
    display: inline;
  }


}


/*

 *    子：tl-child-25　ピックアップ

--------------------------------------------------------------*/
.tl-child-25 {
  padding: 20px 0;

  line-height: 1.0;
}

.tl-child-25 .pickup>li {
  padding: 60px 80px;
  background-color: #fff;
}

.tl-child-25 .pickup>li+li {
  margin-top: 30px;
}

.tl-child-25 .pickup>li h3 {
  position: relative;
  margin-bottom: 30px;
  border: 1px solid rgba(144, 89, 65, .3);
  text-align: center;
}

.tl-child-25 .pickup>li h3:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 20px;
  height: 3px;
  background-color: #905941;
}

.tl-child-25 .pickup>li h3:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 3px;
  height: 20px;
  background-color: #905941;
}

.tl-child-25 .pickup>li h3 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 12px 20px 17px;
}

.tl-child-25 .pickup>li h3 span:before {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 20px;
  height: 3px;
  background-color: #905941;
}

.tl-child-25 .pickup>li h3 span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 3px;
  height: 20px;
  background-color: #905941;
}

.tl-child-25 .pickup>li h3 span i {
  font-weight: 500;
  font-size: 30px;
  line-height: 1.5;
  color: #905941;
}

.tl-child-25 .pickup>li .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tl-child-25 .pickup>li .flex figure {
  width: 430px;
}

.tl-child-25 .pickup>li .flex>div {
  flex: 1;
  margin-left: 60px;
}

.tl-child-25 .pickup>li .flex>div .txt {
  font-weight: 400;
  line-height: 1.9;
}

.tl-child-25 .pickup>li .flex>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-25 .pickup>li .flex>div .txt .heikin {
  display: block;
  margin-top: 10px;
  font-size: 80%;
  color: #B18A72;
}

.tl-child-25 .pickup>li .col3 {
  display: flex;
  justify-content: space-between;
}

.tl-child-25 .pickup>li .col3 li {
  width: 32%;
}

.tl-child-25 .pickup>li .flat {
  margin-top: 30px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
}

.tl-child-25 .note {
  width: 580px;
  margin: 0 auto;
  margin-top: 30px;
  padding: 10px 15px;
  border: 1px solid #6F5437;
}

.tl-child-25 .note div {
  position: relative;
  display: flex;
  align-items: center;
  padding: 20px 40px;
  background-color: #F9F7F2;
}

.tl-child-25 .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-child-03 .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-child-25 .note div figure {
  width: 105px;
}

.tl-child-25 .note div p {
  flex: 1;
  margin-left: 20px;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.tl-child-25 .note div p span {
  display: block;
  font-size: 120%;
  color: #905941;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-25 {
    padding: 10vw 4vw;
  }

  .tl-child-25 .pickup>li {
    padding: 3vw 3vw 5vw;
  }

  .tl-child-25 .pickup>li+li {
    margin-top: 7vw;
  }

  .tl-child-25 .pickup>li h3 {
    margin-bottom: 5vw;
  }

  .tl-child-25 .pickup>li h3 span {
    padding: 2vw 5vw;
  }

  .tl-child-25 .pickup>li h3 span i {
    font-size: 5.2vw;
  }

  .tl-child-25 .pickup>li .flex {
    flex-direction: column;
  }

  .tl-child-25 .pickup>li .flex figure {
    width: 100%;
  }

  .tl-child-25 .pickup>li .flex>div {
    width: 100%;
    margin-top: 5vw;
    margin-left: 0;
  }

  .tl-child-25 .pickup>li .flex>div .txt {
    padding: 0 3vw;
    font-weight: 400;
    font-size: 3.4vw;
    line-height: 1.9;
  }

  .tl-child-25 .pickup>li .flex>div a {
    display: flex;
    width: 60vw;
    height: 12vw;
    margin: 0 auto;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-25 .pickup>li .flex>div .txt .heikin {
    margin-top: 3vw;
    font-size: 90%;
  }

  .tl-child-25 .pickup>li .col3 {
    flex-direction: column;
  }

  .tl-child-25 .pickup>li .col3 li {
    width: 100%;
  }

  .tl-child-25 .pickup>li .col3 li+li {
    margin-top: 3vw;
  }

  .tl-child-25 .pickup>li .flat {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.2vw;
  }

  .tl-child-25 .note {
    width: 100%;
    margin-top: 5vw;
    padding: 2vw;
  }

  .tl-child-25 .note div {
    padding: 4vw 5vw;
  }

  .tl-child-25 .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-child-25 .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-child-25 .note div figure {
    width: 20vw;
  }

  .tl-child-25 .note div p {
    margin-left: 5vw;
    text-align: left;
    font-size: 3.5vw;
    line-height: 1.6;
  }

  .tl-child-25 .note div p span {
    display: inline;
    font-size: 100%;
  }
}

/*


/*

  親：tl-parent-26

--------------------------------------------------------------*/
.tl-parent-26 {
  margin-top: 0px;
  padding: 70px 0 0;
  background-color: #F0E2D6;
  line-height: 1.0;
}

.tl-parent-26 .box {
  position: relative;
  width: 100%;
}

.tl-parent-26 .box figure {
  width: 590px;
}

.tl-parent-26 .box>div {
  position: absolute;
  bottom: -20px;
  right: 0;
  width: 590px;
  padding: 60px 80px;
  border: 1px solid #E3DED2;
  background-color: #F9F7F2;
  z-index: 2;
}

.tl-parent-26 .box>div h2 {
  margin-bottom: 40px;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
  letter-spacing: .05em;
}

.tl-parent-26 .box>div ul {
  position: relative;
  margin-top: 0;
}

.tl-parent-26 .box>div ul li {
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
  font-weight: 400;
  font-size: 16px;
}

.tl-parent-26 .box>div ul li+li {
  margin-top: 20px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-parent-26 {
    padding: 5vw 0 0;
  }

  .tl-parent-26 .box {
    display: flex;
    flex-direction: column-reverse;
  }

  .tl-parent-26 .box figure {
    width: 100%;
  }

  .tl-parent-26 .box>div {
    position: static;
    width: 100%;
    margin-bottom: 10vw;
    border: none;
    padding: 0 10vw;
    background-color: #F0E2D6;
  }

  .tl-parent-26 .box>div h2 {
    margin-bottom: 7vw;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-parent-26 .box>div ul {
    margin-top: 0;
  }

  .tl-parent-26 .box>div ul li {
    background-size: 3.5vw auto;
    font-size: 3.5vw;
  }

  .tl-parent-26 .box>div ul li+li {
    margin-top: 4vw;
  }


}

/*

  子：tl-child-27　こんなお悩みありませんか？

--------------------------------------------------------------*/
.tl-child-27 {
  padding: 30px 0 80px;
  background-color: #F0E2D6;
}

.tl-child-27 .box {
  position: relative;
  width: 900px;
  margin: 0 auto;
  margin-top: 70px;
  padding: 40px 80px 60px 80px;
  background-color: #fff;
}

.tl-child-27 .box h3 {
  margin-bottom: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
}

.tl-child-27 .box figure img {
  margin: 0 auto;
}

.tl-child-27 .box .txt {
  margin-top: 30px;
  line-height: 1.9;
  font-weight: 400;
}

.tl-child-27 .box .title {
  position: absolute;
  top: -23px;
  left: 0;
  width: 100%;
  text-align: center;
}

.tl-child-27 .box .title span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  padding: 0 20px;
  border-radius: 3px;
  background-color: #905941;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
}

.tl-child-27 .box2 {
  margin-top: 60px;
}

.tl-child-27 .box2 ul li {
  font-weight: 400;
}

.tl-child-27 .box2 ul li h3 {
  margin-bottom: 20px;
  padding-left: 15px;
  padding-bottom: 5px;
  border-left: 3px solid #905941;
  border-bottom: 1px solid #AC8777;
  font-weight: 500;
  font-size: 22px;
  color: #905941;
}

.tl-child-27 .box2 ul li .txt {
  padding-top: 0;
  line-height: 1.9;
}

.tl-child-27 .box2 ul li.flex01 .imgflex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.tl-child-27 .box2 ul li.flex01 figure {
  width: 48%;
}

.tl-child-27 .box2 ul li.flex01>div {
  width: 100%;
  text-align: center;
}

.tl-child-27 .box2 ul li.flex01>div .txt {
  text-align: left;
}

.tl-child-27 .box2 ul li.flex01>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-27 .box2 ul li+li {
  margin-top: 60px;
}

.tl-child-27 .box2 .flex02 {
  display: flex;
  flex-wrap: wrap;
}

.tl-child-27 .box2 .flex02>div {
  width: 32%;
  margin-top: 30px;
  padding: 30px;
  background-color: #F9F7F2;
}

.tl-child-27 .box2 .flex02>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-27 .box2 .flex02>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #F9F7F2;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-27 .box2 .flex02>div:nth-child(1) figure:before {
  content: '01';
}

.tl-child-27 .box2 .flex02>div:nth-child(2) figure:before {
  content: '02';
}

.tl-child-27 .box2 .flex02>div:nth-child(3) figure:before {
  content: '03';
}

.tl-child-27 .box2 .flex02>div+div {
  margin-left: 2%;
}

.tl-child-27 .box2 .flex02>div:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-27 .box2 .flex02>div:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-27 .box2 .flex02>div h4 {
  margin-bottom: 5px;
  text-align: center;
  font-weight: 500;
  font-size: 20px;
  color: #905941;
}

.tl-child-27 .box2 .flex03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 80px;
  background-color: #F9F7F2;
}

.tl-child-27 .box2 .flex03 p {
  width: 49%;
  margin-top: 10px;
  padding: 20px;
  border: 1px solid #EEEEEE;
  border-radius: 6px;
  background-color: #fff;
  line-height: 1.4;
}

.tl-child-27 .box2 .flex03 p span {
  display: inline-block;
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top 4px left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
}

.tl-child-27 .box2 .flex03 p:nth-child(-n+2) {
  margin-top: 0;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-27 {
    padding: 7vw 4vw 10vw;
    background: linear-gradient(180deg, transparent 0%, transparent 50vw, #F0E2D6 50vw, #F0E2D6 100%);
  }

  .tl-child-27 .box {
    width: 100%;
    margin-top: 12vw;
    padding: 10vw 3vw 5vw;
    background-color: #fff;
  }

  .tl-child-27 .box h3 {
    margin-bottom: 5vw;
    font-size: 5.2vw;
  }

  .tl-child-27 .box .txt {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.4vw;
  }

  .tl-child-27 .box .title {
    top: -13.5vw;
  }

  .tl-child-27 .box .title span {
    width: 80%;
    display: block;
    margin:0 auto;
    height:auto;
    padding: 10px 20px;
    border-radius: 1vw;
    font-size: 3.8vw;
    line-height: 1.5;
    color: #fff;
  }

  .tl-child-27 .box2 {
    margin-top: 10vw;
  }

  .tl-child-27 .box2 ul li h3 {
    margin-bottom: 3vw;
    padding-left: 3.5vw;
    padding-bottom: 1.5vw;
    text-align: left;
    font-size: 4.8vw;
  }

  .tl-child-27 .box2 ul li .txt {
    padding: 0 1.5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-27 .box2 ul li.flex01 .imgflex {
    flex-direction: column;
    margin-bottom: 5vw;
  }

  .tl-child-27 .box2 ul li.flex01 figure {
    width: 100%;
  }

  .tl-child-27 .box2 ul li.flex01 figure+figure {
    margin-top: 5vw;
  }

  .tl-child-27 .box2 ul li.flex01>div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7vw;
    text-align: center;
  }

  .tl-child-27 .box2 ul li.flex01>div a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-27 .box2 ul li+li {
    margin-top: 10vw;
  }

  .tl-child-27 .box2 .flex02 {
    flex-direction: column;
  }

  .tl-child-27 .box2 .flex02>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    padding: 3vw;
  }

  .tl-child-27 .box2 .flex02>div figure {
    width: 45vw;
    margin-bottom: 0;
  }

  .tl-child-27 .box2 .flex02>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-27 .box2 .flex02>div+div {
    margin-top: 3vw !important;
    margin-left: 0;
  }

  .tl-child-27 .box2 .flex02>div h4 {
    width: 40vw;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.6;
    font-size: 4.2vw;
  }

  .tl-child-27 .box2 .flex02>div .txt {
    width: 100%;
    margin-top: 3vw;
  }

  .tl-child-27 .box2 .flex03 {
    padding: 3vw;
  }

  .tl-child-27 .box2 .flex03 p {
    width: 100%;
    margin-top: 1vw;
    padding: 3vw;
    border-radius: 1.5vw;
    font-size: 3.5vw;
  }

  .tl-child-27 .box2 .flex03 p span {
    padding-left: 1.7em;
    background-position: left top 1vw;
    background-size: auto 3.5vw;
  }

  .tl-child-27 .box2 .flex03 p:nth-child(-n+2) {
    margin-top: 1vw;
  }
}



/*




  子：tl-child-01　ピックアップ

--------------------------------------------------------------*/
.tl-child-28 {
  padding: 80px 0;
  background-color: #F0E2D6;
  line-height: 1.0;
}

.tl-child-28 .pickup>li {
  padding: 60px 80px;
  background-color: #fff;
}

.tl-child-28 .pickup>li+li {
  margin-top: 30px;
}

.tl-child-28 .pickup>li h3 {
  position: relative;
  margin-bottom: 30px;
  border: 1px solid rgba(144, 89, 65, .3);
  text-align: center;
}

.tl-child-28 .pickup>li h3:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 20px;
  height: 3px;
  background-color: #905941;
}

.tl-child-28 .pickup>li h3:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 3px;
  height: 20px;
  background-color: #905941;
}

.tl-child-28 .pickup>li h3 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 12px 20px 17px;
}

.tl-child-28 .pickup>li h3 span:before {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 20px;
  height: 3px;
  background-color: #905941;
}

.tl-child-28 .pickup>li h3 span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 3px;
  height: 20px;
  background-color: #905941;
}

.tl-child-28 .pickup>li h3 span i {
  font-weight: 500;
  font-size: 30px;
  line-height: 1.5;
  color: #905941;
}

.tl-child-28 .pickup>li .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tl-child-28 .pickup>li .flex figure {
  width: 430px;
}

.tl-child-28 .pickup>li .flex>div {
  flex: 1;
  margin-left: 60px;
}

.tl-child-28 .pickup>li .flex>div .txt {
  font-weight: 400;
  line-height: 1.9;
}

.tl-child-28 .pickup>li .flex>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-28 .pickup>li .flex>div .txt .heikin {
  display: block;
  margin-top: 10px;
  font-size: 80%;
  color: #B18A72;
}

.tl-child-28 .pickup>li .col3 {
  display: flex;
  justify-content: space-between;
}

.tl-child-28 .pickup>li .col3 li {
  width: 32%;
}

.tl-child-28 .pickup>li .flat {
  margin-top: 30px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
  text-align: center;
}

.tl-child-28 .note {
  width: 580px;
  margin: 0 auto;
  margin-top: 30px;
  padding: 10px 15px;
  border: 1px solid #6F5437;
}

.tl-child-28 .note div {
  position: relative;
  display: flex;
  align-items: center;
  padding: 20px 40px;
  background-color: #F9F7F2;
}

.tl-child-28 .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-child-28 .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-child-28 .note div figure {
  width: 105px;
}

.tl-child-28 .note div p {
  flex: 1;
  margin-left: 20px;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.tl-child-28 .note div p span {
  display: block;
  font-size: 120%;
  color: #905941;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-28 {
    padding: 10vw 4vw;
  }

  .tl-child-28 .pickup>li {
    padding: 3vw 3vw 5vw;
  }

  .tl-child-28 .pickup>li+li {
    margin-top: 7vw;
  }

  .tl-child-28 .pickup>li h3 {
    margin-bottom: 5vw;
  }

  .tl-child-28 .pickup>li h3 span {
    padding: 2vw 5vw;
  }

  .tl-child-28 .pickup>li h3 span i {
    font-size: 5.2vw;
  }

  .tl-child-28 .pickup>li .flex {
    flex-direction: column;
  }

  .tl-child-28 .pickup>li .flex figure {
    width: 100%;
  }

  .tl-child-28 .pickup>li .flex>div {
    width: 100%;
    margin-top: 5vw;
    margin-left: 0;
  }

  .tl-child-28 .pickup>li .flex>div .txt {
    padding: 0 3vw;
    font-weight: 400;
    font-size: 3.4vw;
    line-height: 1.9;
  }

  .tl-child-28 .pickup>li .flex>div a {
    display: flex;
    width: 60vw;
    height: 12vw;
    margin: 0 auto;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-28 .pickup>li .flex>div .txt .heikin {
    margin-top: 3vw;
    font-size: 90%;
    text-align: center;
  }

  .tl-child-28 .pickup>li .col3 {
    flex-direction: column;
  }

  .tl-child-28 .pickup>li .col3 li {
    width: 100%;
  }

  .tl-child-28 .pickup>li .col3 li+li {
    margin-top: 3vw;
  }

  .tl-child-28 .pickup>li .flat {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3vw;
  }

  .tl-child-28 .note {
    width: 100%;
    margin-top: 5vw;
    padding: 2vw;
  }

  .tl-child-28 .note div {
    padding: 4vw 5vw;
  }

  .tl-child-28 .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-child-28 .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-child-28 .note div figure {
    width: 20vw;
  }

  .tl-child-28 .note div p {
    margin-left: 5vw;
    text-align: left;
    font-size: 3.5vw;
    line-height: 1.6;
  }

  .tl-child-28 .note div p span {
    display: inline;
    font-size: 100%;
  }
}

/*
 


  子：tl-child-29　膨らみ溝の成り立ち

--------------------------------------------------------------*/
.tl-child-29 {
  padding: 80px 0;
  background-color: #F0E2D6;
}

.tl-child-29 .flex {
  display: flex;
  align-items: center;
}

.tl-child-29 .flex figure {
  width: 640px;
}

.tl-child-29 .flex .box {
  flex: 1;
  margin-left: 60px;
}

.tl-child-29 .flex .box h2 {
  position: relative;
  margin-bottom: 20px;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: .05em;
  color: #905941;
}

.tl-child-29 .flex .box p {
  padding-top: 0;
  font-weight: 400;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-29 {
    padding: 10vw 5vw;
  }

  .tl-child-29 .flex {
    flex-direction: column-reverse;
  }

  .tl-child-29 .flex figure {
    width: 100%;
    margin-top: 5vw;
  }

  .tl-child-29 .flex .box {
    margin-left: 0;
  }

  .tl-child-29 .flex .box h2 {
    margin-bottom: 3.5vw;
    text-align: center;
    font-size: 5.2vw;
  }

  .tl-child-29 .flex .box p {
    font-size: 3.4vw;
  }
}

/*

/*
 


  子：tl-child-30　表ミッドフェイスリフトとは？

--------------------------------------------------------------*/
.tl-child-30 {
  width: 100%;
  background-image: url(../img/child/1163/03-01.png);
  /* position: relative; */
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100%;
}

.tl-child-30 .inner-30 {}

.tl-child-30 .h2-main {
  background-color: #fff;
  padding: 70px 50px;
  width: 100%;
  max-width: 800px;
  align-items: center;
  position: relative;
  margin: 0 auto;
  margin-bottom: -423px;
}

.tl-child-30 .main-30 {
  text-align: center;
  background-color: #905941;
  padding: 10px;
  color: #fff;
  font-family: 'Noto Serif JP', serif;
  font-size: 22px;
  font-weight: 500;
  border-radius: 7px;
}

.tl-child-30 .txt-30 {
  text-align: center;
  font-weight: 400;
  line-height: 33px;
  padding: 40px 0 0 0;
}

.tl-child-30 .txt-color {
  color: #905941;
  font-weight: 600;
}

.tl-child-30 .container-30 {
  display: flex;
  justify-content: space-between;
  /* 左右に配置 */
  align-items: center;
  /* 上下中央に揃える */
  padding: 0 20px;
  /* 左右の余白 */
  box-sizing: border-box;
  flex: 1;
  /* 真ん中のコンテンツを広げる */
}


.tl-child-30 .left-text {
  width: 45%;
  writing-mode: vertical-rl;
  /* 縦書き */
  white-space: nowrap;
  /* 改行を防ぐ */
  font-size: 24px;
  /* 文字サイズ調整 */
  letter-spacing: 0.1em;
  /* 文字間のスペースを調整 */
  transform: rotate(180deg);
}

.tl-child-30 .right-text {
  width: 45%;
  writing-mode: vertical-rl;
  /* 縦書き */
  white-space: nowrap;
  /* 改行を防ぐ */
  font-size: 24px;
  /* 文字サイズ調整 */
  letter-spacing: 0.1em;
  /* 文字間のスペースを調整 */
}

.left-text-30 {
  line-height: 40p;
  position: relative;
  right: -613.5px;
  bottom: -263px;
  font-size: 120px;
  font-weight: 600;
  gap: 50p;
  color: #905941 0.5;
  color: rgba(144, 90, 65, 0.07);
}

.left-text-30-2 {
  line-height: 40p;
  position: relative;
  right: -148px;
  bottom: 367.5px;
  font-size: 120px;
  font-weight: 600;
  gap: 50p;
  color: #905941 0.5;
  color: rgba(144, 90, 65, 0.07);
}

.tl-child-30 .main-contents-30 {
  position: relative;
  width: 100vw;
  height: 500px;
}

.tl-child-30 .img-30 {
  height: auto;
  max-width: 550px;
  display: flex;
  justify-content: center;
  /* margin-right: 310px; */
  margin-left: auto;
  align-items: center;
  /* position: relative; */
  /* top: 40px; */
  /* right: 300px; */
  position: absolute;
  bottom: 40px;
  right: clamp(16px, 100vw, 300px);
  width: min(40%, 550px);
}

.tl-child-30 .img-30 {
  display: block;
  /* PCでは表示 */
}

.tl-child-30 .img-30sp {
  display: none;
  /* スマホでは非表示 */
}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-30 {
    padding: 0vw 6vw;
    margin-top: -10vw;
    width: 100%;

    background-image: none;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;

  }

  .tl-child-30 .inner-30 {
    width: 100%;
    margin: 0 auto;

    max-width: 100%;
    /* ← 親幅に収める */
    overflow: hidden;
    /* ← 子要素のはみ出し防止 */
  }


  .tl-child-30 .img-30 {
    display: none;
    /* スマホではPC画像を非表示 */
  }

  .tl-child-30 .img-30sp {
    display: block;
    /* スマホでは非表示 */
    width: 100%;
    margin-top: 50px;
  }


  .tl-child-30 .main-contents-30 {
    width: 100%;
    height: auto;
    margin-bottom: 30px;
  }

}

/*


 


  子：tl-child-31　evoリフト法との違い

--------------------------------------------------------------*/
.tl-child-31 {
  margin-top: 50px;
}

.main-31 {
  text-align: center;
  font-size: 25px;
  font-family: 'Noto Serif JP', serif;
  color: #905941;
  border-bottom: 1px solid #AC8777;
  padding-bottom: 7px;
  font-weight: 550;
}

.tl-child-31 .sub-31 {
  padding: 32px 0 10px;
  font-size: 20px;
  font-weight: 600;
}

.sub-txt-31-box {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 20px;
}

.tl-child-31 .sub-32 {
  margin-top: 65px;
  padding: 32px 0 10px;
  font-size: 20px;
  font-weight: 600;
}

.tl-child-31 .container-31 {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
}

.container-31 figure {
  flex: 1;
  /* 均等な幅にする */
  max-width: 40%;
  /* 画像の最大幅を制限 */
  text-align: center;
  /* 画像を中央揃え */

}

.container-31 img {
  width: 100%;
  /* 画像を親要素にフィット */
  height: auto;
  /* 縦横比を維持 */
}

.sub-txt-31 {

  /* テキストブロックの最大幅を調整 */
  text-align: left;
  /* テキストの位置調整 */
  font-size: 17px;
  font-weight: 500;
  margin-top: 20px;
}

.tl-child-31 .contents-2 {
  display: flex;
  flex-direction: column;
  align-items: center;

}

.tl-child-31 .contents-2-txt {
  margin-top: 20px;
  text-align: center;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 1.5px;
  line-height: 2.2;

}

.tl-child-31 .txt-color {
  color: #905941;
  font-weight: 800;
  font-size: 18px;

  letter-spacing: 2p;
  padding: 2px;
}

.tl-child-31 .img-31 {
  width: 900px;
  margin-top: 10px;
}

.tl-child-31 .sub2-txt-31 {
  background-color: #DD9969;
  color: #fff;
  padding: 7px;
  font-size: 23px;
  font-weight: 500;
  width: 70%;
}

.tl-child-31 .contents-2-txt2 {
  background-color: #DD9969;
  color: #fff;
  padding: 7px;
  font-size: 23px;
  margin-top: 35px;
  font-weight: 500;
}

.tl-child-31 .img-32-2 {
  display: block;
  /* PCでは表示 */
}

.tl-child-31 .img-32-3 {
  display: none;
  /* スマホでは非表示 */
}

.tl-child-31 .pc-31 {
  display: block;
}

.tl-child-31 .pc-txt-32 {
  display: block;
}

.tl-child-31 .sp-txt-32 {
  display: none;
}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .tl-child-31 {
    padding: 10vw 6vw;
    margin-top: -25px;
    margin-bottom: 30px;
  }

  .sub-32 {
    margin-top: 5px;
    padding: 32px 0 10px;
    font-size: 20px;
    font-weight: 600;
    margin-top: -10px;
  }


  .tl-child-31 .main-31 {
    text-align: center;
    font-size: 19px;
    font-family: 'Noto Serif JP', serif;
    color: #905941;
    border-bottom: 1px solid #AC8777;
    padding-bottom: 7px;
    font-weight: 550;
  }


  .tl-child-31 .container-31 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-direction: column;
  }

  .container-31 figure {
    flex: 1;
    max-width: 100%;
    text-align: center;
  }

  .sub-txt-31 {
    max-width: 100%;
    text-align: left;
    font-size: 15px;
    font-weight: 500;
    margin-top: -10px;
  }

  .tl-child-31 .sub2-txt-31 {
    background-color: #DD9969;
    color: #fff;
    padding: 7px;
    font-size: 18px;
    /* line-height: 0; */
    text-align: center;
    width: 100%;
  }


  .tl-child-31 .img-32-2 {
    display: none;
    /* スマホではPC画像を非表示 */
  }

  .tl-child-31 .img-32-3 {
    display: block;
    /* スマホではスマホ用画像を表示 */
  }


  .tl-child-31 .contents-2-txt {
    margin-top: 20px;
    text-align: left;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 1.5px;
    line-height: 2.2;
    max-width: 100%;
  }

  .tl-child-31 .contents-2-txt2 {
    background-color: #DD9969;
    color: #fff;
    padding: 7px;
    font-size: 18px;
    margin-top: 15px;
    font-weight: 500;
    width: 100%;
    text-align: center;
  }

  .tl-child-31 .txt-color {
    color: #905941;
    font-weight: 800;
    font-size: 15px;
    letter-spacing: 2p;
    padding: 2px;
  }

  .tl-child-31 .pc-txt-32 {
    display: none;

  }

  .tl-child-31 .pc-31 {
    display: none;
  }

  .tl-child-31 .sp-txt-32 {
    display: block;
  }

  .tl-child-31 .sub-32 {
    margin-top: 5px;
    padding: 32px 0 10px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
  }

  .tl-child-31 .sub-31 {
    padding: 32px 0 10px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
  }


}

/*


/*

  子：tl-child-32　こんなお悩みありませんか？

--------------------------------------------------------------*/
.tl-child-32 {
  margin-top: 50px;
  padding: 30px 0 80px;
  background-color: #F0E2D6;
}

.tl-child-32 .box {
  position: relative;
  width: 900px;
  margin: 0 auto;
  margin-top: 70px;
  padding: 40px 80px 60px 80px;
  background-color: #fff;
}

.tl-child-32 .box h3 {
  margin-bottom: 30px;
  text-align: center;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
}

.tl-child-32 .box figure img {
  margin: 0 auto;
}

.tl-child-32 .box .txt {
  margin-top: 30px;
  line-height: 1.9;
  font-weight: 400;
}

.tl-child-32 .box .title {
  position: absolute;
  top: -23px;
  left: 0;
  width: 100%;
  text-align: center;
}

.tl-child-32 .box .title span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 46px;
  padding: 0 20px;
  border-radius: 3px;
  background-color: #905941;
  font-weight: 400;
  font-size: 20px;
  color: #fff;
}

.tl-child-32 .box2 {
  margin-top: 60px;
}

.tl-child-32 .box2 ul li {
  font-weight: 400;
}

.tl-child-32 .box2 ul li h3 {
  margin-bottom: 20px;
  padding-left: 15px;
  padding-bottom: 5px;
  border-left: 3px solid #905941;
  border-bottom: 1px solid #AC8777;
  font-weight: 500;
  font-size: 22px;
  color: #905941;
}

.tl-child-32 .box2 ul li .txt {
  padding-top: 0;
  line-height: 1.9;
}

.tl-child-32 .box2 ul li.flex01 .imgflex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.tl-child-32 .box2 ul li.flex01 figure {
  width: 48%;
}

.tl-child-32 .box2 ul li.flex01>div {
  width: 100%;
  text-align: center;
}

.tl-child-32 .box2 ul li.flex01>div .txt {
  text-align: left;
}

.tl-child-32 .box2 ul li.flex01>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-32 .box2 ul li+li {
  margin-top: 60px;
}

.tl-child-32 .box2 .flex02 {
  display: flex;
  flex-wrap: wrap;
}

.tl-child-32 .box2 .flex02>div {
  width: 32%;
  margin-top: 30px;
  padding: 30px;
  background-color: #F9F7F2;
}

.tl-child-32 .box2 .flex02>div figure {
  position: relative;
  margin-bottom: 10px;
}

.tl-child-32 .box2 .flex02>div figure:before {
  pointer-events: none;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  border-radius: 100%;
  background-color: #F9F7F2;
  font-family: 'Lato', sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #AC8777;
  z-index: 2;
}

.tl-child-32 .box2 .flex02>div:nth-child(1) figure:before {
  content: '01';
}

.tl-child-32 .box2 .flex02>div:nth-child(2) figure:before {
  content: '02';
}

.tl-child-32 .box2 .flex02>div:nth-child(3) figure:before {
  content: '03';
}

.tl-child-32 .box2 .flex02>div+div {
  margin-left: 2%;
}

.tl-child-32 .box2 .flex02>div:nth-child(-n+3) {
  margin-top: 0;
}

.tl-child-32 .box2 .flex02>div:nth-child(3n+1) {
  margin-left: 0;
}

.tl-child-32 .box2 .flex02>div h4 {
  margin-bottom: 5px;
  text-align: center;
  font-weight: 500;
  font-size: 16px;
  color: #905941;
}

.tl-child-32 .box2 .flex03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 50px 80px;
  background-color: #F9F7F2;
}

.tl-child-32 .box2 .flex03 p {
  width: 49%;
  margin-top: 10px;
  padding: 20px;
  border: 1px solid #EEEEEE;
  border-radius: 6px;
  background-color: #fff;
  line-height: 1.4;
}

.tl-child-32 .box2 .flex03 p span {
  display: inline-block;
  padding-left: 1.5em;
  background-repeat: no-repeat;
  background-position: top 4px left;
  background-size: 16px auto;
  background-image: url(../img/common/icon_list_trouble.svg);
}

.tl-child-32 .box2 .flex03 p:nth-child(-n+2) {
  margin-top: 0;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-32 {
    padding: 2vw 4vw;

    margin-top: -40px;
  }

  .tl-child-32 .box {
    width: 100%;
    margin-top: 12vw;
    padding: 10vw 3vw 5vw;
    background-color: #fff;
  }

  .tl-child-32 .box h3 {
    margin-bottom: 5vw;
    font-size: 5.2vw;
  }

  .tl-child-32 .box .txt {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.4vw;
  }

  .tl-child-32 .box .title {
    top: -7.5vw;
  }

  .tl-child-32 .box .title span {
    width: 80%;
    height: 15vw;
    padding: 0 20px;
    border-radius: 1vw;
    font-size: 3.8vw;
    line-height: 1.5;
    color: #fff;
  }

  .tl-child-32 .box2 {
    margin-top: 10vw;
  }

  .tl-child-32 .box2 ul li h3 {
    margin-bottom: 3vw;
    padding-left: 3.5vw;
    padding-bottom: 1.5vw;
    text-align: left;
    font-size: 4.8vw;
  }

  .tl-child-32 .box2 ul li .txt {
    padding: 0 1.5vw;
    text-align: left;
    font-size: 3.4vw;
  }

  .tl-child-32 .box2 ul li.flex01 .imgflex {
    flex-direction: column;
    margin-bottom: 5vw;
  }

  .tl-child-32 .box2 ul li.flex01 figure {
    width: 100%;
  }

  .tl-child-32 .box2 ul li.flex01 figure+figure {
    margin-top: 5vw;
  }

  .tl-child-32 .box2 ul li.flex01>div {
    width: 100%;
    margin-right: 0;
    margin-bottom: 7vw;
    text-align: center;
  }

  .tl-child-32 .box2 ul li.flex01>div a {
    width: 60vw;
    height: 12vw;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-32 .box2 ul li+li {
    margin-top: 10vw;
  }

  .tl-child-32 .box2 .flex02 {
    flex-direction: column;
    gap: 20px;
  }

  .tl-child-32 .box2 .flex02>div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0;
    padding: 3vw;
    flex-direction: column;
  }

  .tl-child-32 .box2 .flex02>div figure {
    width: 45vw;
    margin-bottom: 0;
    width: 100%;
    text-align: center;
    overflow: hidden;
  }

  .tl-child-32 .box2 .flex02>div figure:before {
    top: -3vw;
    left: -3vw;
    width: 10vw;
    height: 10vw;
    font-size: 3.5vw;
  }

  .tl-child-32 .box2 .flex02>div+div {
    margin-top: 3vw !important;
    margin-left: 0;
  }

  .tl-child-32 .box2 .flex02>div h4 {
    width: -40vw;
    margin-bottom: 0;
    text-align: center;
    line-height: 1.6;
    font-size: 4vw;
    margin-top: 2vw;
  }

  .tl-child-32 .box2 .flex02>div .txt {
    width: 100%;
    margin-top: 3vw;
  }

  .tl-child-32 .box2 .flex03 {
    padding: 3vw;
  }

  .tl-child-32 .box2 .flex03 p {
    width: 100%;
    margin-top: 1vw;
    padding: 3vw;
    border-radius: 1.5vw;
    font-size: 3.5vw;
  }

  .tl-child-32 .box2 .flex03 p span {
    padding-left: 1.7em;
    background-position: left top 1vw;
    background-size: auto 3.5vw;
  }

  .tl-child-32 .box2 .flex03 p:nth-child(-n+2) {
    margin-top: 1vw;
  }

  .tl-child-31 .sub-32 {
    margin-top: 55px;
    padding: 32px 0 10px;
    font-size: 20px;
    font-weight: 600;
  }
}

/*

/*

  子：tl-child-34　ピックアップ

--------------------------------------------------------------*/
.tl-child-34 {
  padding: 20px 0 80px;
  background-color: #F0E2D6;
  line-height: 1.0;
}

.tl-child-34 .pickup>li {
  padding: 60px 80px;
  background-color: #F9F7F2;
}

.tl-child-34 .pickup>li+li {
  margin-top: 30px;
}

.tl-child-34 .pickup>li h3 {
  position: relative;
  margin-bottom: 30px;
  border: 1px solid rgba(144, 89, 65, .3);
  text-align: center;
}

.tl-child-34 .pickup>li h3:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 20px;
  height: 3px;
  background-color: #905941;
}

.tl-child-34 .pickup>li h3:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -2px;
  left: -2px;
  width: 3px;
  height: 20px;
  background-color: #905941;
}

.tl-child-34 .pickup>li h3 span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 12px 20px 17px;
}

.tl-child-34 .pickup>li h3 span:before {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 20px;
  height: 3px;
  background-color: #905941;
}

.tl-child-34 .pickup>li h3 span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -2px;
  right: -2px;
  width: 3px;
  height: 20px;
  background-color: #905941;
}

.tl-child-34 .pickup>li h3 span i {
  font-weight: 500;
  font-size: 30px;
  line-height: 1.5;
  color: #905941;
}


.tl-child-34 .pickup>li .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.tl-child-34 .pickup>li::before {
  position: absolute;
  top: 50px;
  left: 65px;
  background-color: #F9F7F2;
  color: #AC8777;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 10px;
  border-radius: 100%;
  z-index: 10;
}

.tl-child-34 .pickup>li:nth-of-type(1)::before {
  content: "01";
}

.tl-child-34 .pickup>li:nth-of-type(2)::before {
  content: "02";
}

.tl-child-34 .pickup>li:nth-of-type(3)::before {
  content: "03";
}

.tl-child-34 .pickup>li:nth-of-type(4)::before {
  content: "04";
}

.tl-child-34 .pickup>li .flex figure {
  width: 430px;
}

.tl-child-34 .pickup>li .flex>div {
  margin-left: 60px;
}

.tl-child-34 .pickup>li .flex>div .txt {
  font-weight: 400;
  line-height: 1.9;
}

.tl-child-34 .pickup>li .flex>div a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 45px;
  margin-top: 20px;
  padding: 0 30px;
  border-radius: 100px;
  background-color: #DD9969;
  font-weight: 400;
  color: #fff;
}

.tl-child-34 .pickup>li .flex>div .txt .heikin {
  display: block;
  margin-top: 10px;
  font-size: 80%;
  color: #B18A72;
}

.tl-child-34 .pickup>li .col3 {
  display: flex;
  justify-content: space-between;
}

.tl-child-34 .pickup>li .col3 li {
  width: 32%;
}

.tl-child-34 .pickup>li .flat {
  margin-top: 30px;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.7;
}

.tl-child-34 .note {
  width: 580px;
  margin: 0 auto;
  margin-top: 30px;
  padding: 10px 15px;
  border: 1px solid #6F5437;
}

.tl-child-34 .note div {
  position: relative;
  display: flex;
  align-items: center;
  padding: 20px 40px;
  background-color: #F9F7F2;
}

.tl-child-34 .note div:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-child-34 .note div:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -11px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #F0E2D6;
}

.tl-child-34 .note div figure {
  width: 105px;
}

.tl-child-34 .note div p {
  flex: 1;
  margin-left: 20px;
  text-align: center;
  font-weight: 400;
  font-size: 16px;
  line-height: 1.8;
}

.tl-child-34 .note div p span {
  display: block;
  font-size: 120%;
  color: #905941;
}

.tl-child-34 .contents-34 {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 40px;
  color: #905941;
}

.tl-child-34 .main-34 {
  margin-bottom: 15px;
  font-weight: 500;
  font-size: 48px;
  font-family: 'Lato', sans-serif;
}

.tl-child-34 .sub-34 {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .05em;
  font-family: 'Noto Serif JP', serif;
}

.tl-child-34 .triangle-34 {
  text-align: center;
  font-size: 30px;
  margin: 20px;
}

.tl-child-34 .txt-34-sub1 {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;

  flex-direction: column;
}

.tl-child-34 .txt-34-sub2 {
  font-size: 22px;
  margin-top: 20px;
  font-size: 22px;
  margin-top: 20px;
  background-color: #905941;
  padding: 10px;
  width: 900px;
  color: #fff;
  font-weight: 600;
}

.tl-child-34 .txt-34 {
  margin-bottom: 15px;
  font-weight: 500;
  font-size: 48px;
  font-family: 'Lato', sans-serif;
}


.tl-child-34 .txt-34 {
  font-size: 19px;
  line-height: 1.5;
  font-weight: 500;
  margin-top: 20px;
}

.tl-child-34 .sp-txt34 {
  display: block;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .tl-child-34 {
    padding: 10vw 4vw;
  }

  .tl-child-34 .pickup>li {
    padding: 3vw 3vw 5vw;
  }

  .tl-child-34 .pickup>li+li {
    margin-top: 7vw;
  }

  .tl-child-34 .pickup>li h3 {
    margin-bottom: 5vw;
  }

  .tl-child-34 .pickup>li h3 span {
    padding: 2vw 5vw;
  }

  .tl-child-34 .pickup>li h3 span i {
    font-size: 5.2vw;
  }

  .tl-child-34 .pickup>li .flex {
    flex-direction: column;
  }

  .tl-child-34 .pickup>li .flex figure {
    width: 100%;
  }

  .tl-child-34 .pickup>li .flex>div {
    width: 100%;
    margin-top: 5vw;
    margin-left: 0;
  }

  .tl-child-34 .pickup>li .flex>div .txt {
    padding: 0 3vw;
    font-weight: 400;
    font-size: 3.4vw;
    line-height: 1.9;
  }

  .tl-child-34 .pickup>li .flex>div a {
    display: flex;
    width: 60vw;
    height: 12vw;
    margin: 0 auto;
    margin-top: 5vw;
    padding: 0 5vw;
    font-size: 3.6vw;
  }

  .tl-child-34 .pickup>li .flex>div .txt .heikin {
    margin-top: 3vw;
    font-size: 90%;
  }

  .tl-child-34 .pickup>li .col3 {
    flex-direction: column;
  }

  .tl-child-34 .pickup>li .col3 li {
    width: 100%;
  }

  .tl-child-34 .pickup>li .col3 li+li {
    margin-top: 3vw;
  }

  .tl-child-34 .pickup>li .flat {
    margin-top: 5vw;
    padding: 0 4vw;
    font-size: 3.2vw;
  }

  .tl-child-34 .note {
    width: 100%;
    margin-top: 5vw;
    padding: 2vw;
  }

  .tl-child-34 .note div {
    padding: 4vw 5vw;
  }

  .tl-child-34 .note div:before {
    top: calc(-2vw - 1px);
  }

  .tl-child-34 .note div:after {
    bottom: calc(-2vw - 1px);
  }

  .tl-child-34 .note div figure {
    width: 20vw;
  }

  .tl-child-34 .note div p {
    margin-left: 5vw;
    text-align: left;
    font-size: 3.5vw;
    line-height: 1.6;
  }

  .tl-child-34 .note div p span {
    display: inline;
    font-size: 100%;
  }

  .tl-child-34 .pickup>li::before {
    position: absolute;
    top: 1px;
    left: 2px;
    background-color: #F9F7F2;
    color: #AC8777;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 10px;
    border-radius: 100%;
    z-index: 10;
  }


  .tl-child-34 .txt-34-sub3 {
    width: 900px;
    line-height: 1.5;
    font-size: 18px;
    font-weight: 500;
  }

  .tl-child-34 .txt-34-sub1 {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    max-width: 100%;
  }

  .tl-child-34 .txt-34-sub2 {
    font-size: 22px;
    margin-top: 20px;
    font-size: 22px;
    margin-top: 20px;
    background-color: #905941;
    padding: 10px;
    color: #fff;
    font-weight: 600;
    max-width: 100%;
  }

  .tl-child-34 .txt-34-sub3 {
    line-height: 1.5;
    font-size: 18px;
    font-weight: 500;
    max-width: 100%;
  }

  .tl-child-34 .txt-34 {
    font-size: 17px;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 13px;
    text-align: center;
  }

  .tl-child-34 .main-34 {
    margin-bottom: 15px;
    font-weight: 500;
    font-size: 18px;
    font-family: 'Lato', sans-serif;
  }

  .tl-child-34 .txt-34 {
    font-size: 14px;
    line-height: 1.5;
    font-weight: 500;
    margin-top: 13px;
    text-align: left;

  }

  .tl-child-34 .sp-txt34 {
    display: none;
  }

}


/*

/*

  親：tl-parent-35

--------------------------------------------------------------*/
.tl-parent-35 {
  padding: 50px 0 0;
  background-color: #F9F7F2;
  line-height: 1.0;
}

.tl-parent-35 .container-35 {}

.tl-parent-35 .before-after {
  display: flex;
  justify-content: space-around;
  margin-bottom: 20px;
  gap: 50px
}

.tl-parent-35 .box-txt-35 {
  text-align: center;

  background-color: #DD9969;
  padding: 10px;
  color: #FFF;
  font-weight: 600;
}

.tl-parent-35 .sub-txt-35 {

  margin-bottom: 10px;
  font-weight: 500;
  font-size: 17px;
}

.tl-parent-35 .sub-txt-35-2 {
  font-size: 12px;
  margin-top: -25px;
}

.tl-parent-35 .main-35 {
  margin-top: 20px;
  font-weight: 500;
  font-size: 48px;
  font-family: Lato, sans-serif;
}

.tl-parent-35 .sub-35 {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .05em;
  font-family: 'Noto Serif JP', serif;
}

.tl-parent-35 .sp-txt35 {
  display: none;
}

.case-35 {
  background: #fff;
  padding: 30px;
  margin-bottom: 30px;

}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .tl-parent-35 {
    padding: 10vw 4vw 0vw;
  }

  .tl-parent-35 .before-after {
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    gap: 10px
  }

  .tl-parent-35 .container-35 {}

  .tl-parent-35 .main-35 {

    font-weight: 500;
    font-size: 18px;
    font-family: Lato, sans-serif;
  }

  .tl-parent-35 .sub-txt-35 {
    text-align: center;
    margin-bottom: 10px;
    font-weight: 500;
    font-size: 17px;
    margin-top: 10px;
  }

  .tl-parent-35 .box-txt-35 {
    text-align: center;
    background-color: #DD9969;
    padding: 7px;
    color: #FFF;
    font-weight: 600;
  }

  .tl-parent-35 .sp-txt35 {
    display: block;
  }

  .tl-parent-35 .sub-35 {
    text-align: center;
    font-weight: 500;
    font-size: 19px;
    letter-spacing: .05em;
    font-family: 'Noto Serif JP', serif;
    margin-top: 10px;
  }

  .tl-parent-35 .sub-txt-35-2 {
    font-size: 12px;
    margin-top: -18px;

  }




}


/*

  親：tl-child-36

--------------------------------------------------------------*/

.tl-child-36 {
  padding: 80px 80px;
  background: #f0e2d6;
}

.tl-child-36 .inner-36 {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.tl-child-36 .flex-36 {
  display: flex;
  align-items: center;
}

.tl-child-36 .img-36 {
  width: 100%;
  max-width: 340px;
  height: auto;
}

.tl-child-36 .box-36 {
  flex: 1;
  margin-left: 70px;
}

.box-sub-36 {
  font-size: 30px;
  color: #905941;
  font-family: 'Noto Serif JP', serif;
  margin-bottom: 20px;
}

.tl-child-36 .list-36 {
  background-color: #fff;
  padding: 20px 30px;
}

.tl-child-36 .list-36 li {
  background-image: url(../img/common/icon-36.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 24px;
  line-height: 1.6;
  background-size: 18px;
  background-position: 0px 5px;
}





/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .tl-child-36 {
    padding: 10vw 6vw;
  }


  .tl-child-36 .flex-36 {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
  }

  .tl-child-36 .box-36 {
    flex: 1;
    margin-left: 0px;
  }

  .box-sub-36 {
    font-size: 25px;
    color: #905941;
    font-family: 'Noto Serif JP', serif;
    margin-bottom: 20px;
    text-align: center;
    font-weight: 500;
  }

  .tl-child-36 .list-36 {
    background-color: #fff;
    padding: 20px 30px;
    margin-bottom: 20px;
  }


  .tl-child-36 .img-36 {
    width: 100%;
    max-width: 400px;
    height: auto;
  }

}

/*

  親：tl-child-37

--------------------------------------------------------------*/

.tl-child-37 {
  padding: 80px 80px 0px;
}


.inner-37 {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;

}


.img-37 {
  width: 50%;
}

.box-37 {
  position: relative;
  width: 100%;
}

.tl-child-37 .box2-37 ul {
  display: flex;
  flex-direction: column;
  font-size: 17px;
  font-weight: 400;
  line-height: 2.5;
}

.main-37 {
  margin-bottom: 40px;
  font-weight: 500;
  font-size: 30px;
  color: #905941;
  letter-spacing: .05em;
  font-family: 'Noto Serif JP', serif;
}

.box2-37 {
  position: absolute;
  bottom: -10px;
  right: -7px;
  position: absolute;
  border: 1px solid #E3DED2;
  padding: 60px 80px;
  background-color: #F9F7F2;
}



.inner-37 .box2-37 li {
  background-image: url(../img/common/icon-37.png);
  background-repeat: no-repeat;
  background-position: left center;
  padding-left: 24px;
  background-size: 18px;

}



/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .tl-child-37 {
    padding: 0;
    margin-bottom: 570px;
    margin-top: 20px;
  }

  .box-37 {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
  }

  .main-37 {
    margin-bottom: 40px;
    font-weight: 500;
    font-size: 26px;
    color: #905941;
    letter-spacing: .05em;
    font-family: 'Noto Serif JP', serif;
    text-align: center;

  }


  .box2-37 {
    padding: 0px 0px;
    background-color: #F9F7F2;
    position: absolute;
    top: -10px;
    right: 3px;
    padding: 10vw 6vw;
    border: 0px solid #E3DED2;
  }

  .img-37 {
    width: 100%;
    position: absolute;
    top: 360px;
  }


  .inner-37 .box2-37 li {
    background-image: url(../img/common/icon-37.png);
    background-repeat: no-repeat;
    background-position: left center;
    padding-left: 24px;
    background-size: 18px;

  }

}

/*

親：.tl-child-38

--------------------------------------------------------------*/

.tl-child-38 {
  padding: 60px 80px;
}

.tl-child-38 .inner-36 {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.tl-child-38 .box-38 {
  position: relative;
  width: 900px;
  margin: 0 auto;
  margin-top: 70px;
  padding: 40px 80px 60px 80px;
  background-color: #fff;
}


.tl-child-38 .main-title38 {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #905941;
  width: 70%;
  top: -10px;
  left: 0;
  color: #fff;
  padding: 8px;
  font-size: 20px;
  font-weight: 400;
  margin: 0 auto;
  position: absolute;
  top: -25px;
  left: 130px;
}

.tl-child-38 .title-38 {
  text-align: center;
  margin-bottom: 10px;
  font-size: 30px;
  color: #905941;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
}

.tl-child-38 .img-38 {
  width: 80%;
  display: block;
  margin: 0 auto;
  width: 100%;
}

.tl-child-38 .sub-txt-38 {
  margin-top: 20px;
  font-weight: 400;
}

.sub2-txt-38 {
  font-weight: 400;
}

/*

親：.tl-child-39

--------------------------------------------------------------*/

.tl-child-39 {
  padding: 20px 0px;
}

.inner-36 {}



.box-39 {
  background-color: #dd9969;
  color: #fff;
  text-align: center;
  padding: 45px 0 110px;
  width: 1100;

}

.main-title39 {
  font-family: 'Noto Serif JP', serif;
  font-size: 30px;
}

.sub-title39 {
  font-family: 'Noto Serif JP', serif;
  margin-top: -20px;

}

.box2-39 {
  max-width: 1100px;
  width: 80%;
  margin: 0 auto;
  background-color: #fff;
  padding: 60px;
  position: relative;
  top: -60px;
  border-radius: 20px 0px;
}

.box-title {
  border-bottom: 1px solid rgba(17, 25, 82, .1);
  text-align: center;
  font-size: 30px;
  margin-bottom: 20px;
  padding-bottom: 20px;
  font-family: 'Noto Serif JP', serif;
  color: #905941;
  font-weight: 500;
}

.box39 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}

.box39-txt {
  flex: 1;
  font-weight: 400;
}

.img-39 {
  height: auto;
  max-width: 470px;
}

.box39-txt-main {
  text-align: center;
  margin-bottom: 20px;
  font-size: 23px;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
}



/*

親：.tl-child-40

--------------------------------------------------------------*/

.tl-child-40 {
  padding: 60px 80px;
}

.inner-40 {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  padding: 50px;
}


.box-40 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

.img-40 {
  height: auto;
  max-width: 400px;
}

.box-40 figure {

  display: flex;
  justify-content: center;
  /* ← 画像を中央寄せ */
  align-items: center;
  flex: 1;
}

.sub-txt-40 {
  flex: 1;
  font-size: 16px;
  font-weight: 400;
}


.main-title-40 {
  text-align: center;
  background-color: #905941;
  margin-bottom: 30px;
  color: #fff;
  padding: 5px;
  font-weight: 400;
  font-size: 20px;

}


/*

親：.tl-child-41

--------------------------------------------------------------*/

.tl-child-41 {
  background: #f0e2d6;
  margin-bottom: 10px;
  padding: 10px 80px 50px;
}

.h2-41 {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
  color: #905941;
}

.sub-41 {
  margin-bottom: -15px;
  font-weight: 500;
  font-size: 48px;
}

.sub2-41 {
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .05em;
  font-family: 'Noto Serif JP', serif;
}

/*

親：.tl-child-42

--------------------------------------------------------------*/

.tl-child-42 {
  padding: 60px 80px;
  background: #f0e2d6;
}

.inner-42 {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  background-color: #fff;
  padding: 50px;
}

.main-42 {
  text-align: center;
  font-size: 20px;
  font-family: 'Noto Serif JP', serif;
  color: #905941;
  font-weight: 500;
  margin-bottom: 10px;
}

.sub-42 {
  text-align: center;
  background-color: #905941;
  color: #fff;
  font-size: 27px;
  font-weight: 500;
  margin-top: 10px;
  font-family: 'Noto Serif JP', serif;
  padding: 3px;
  width: 60%;
  margin: 0 auto;
}

.recommend-txt {
  text-align: center;
  font-size: 17px;
  font-weight: 400;
}

.pic42 {
  font-size: 27px;
  background-color: #dd9969;
  color: #FFF;
  padding: 3px 6px;
  font-weight: 500;
  margin: 0 3px;
}


/*

親：.脂肪注入

--------------------------------------------------------------*/



html {
  scroll-behavior: smooth;
}

.what {
  padding: 80px 80px;
  background: #F9F7F2;
}

.secition-inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.sub-title {
  color: #000;
  font-family: Inter;
  font-size: 20.616px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  margin: 0;
}

.what-maintitle {
  color: #000;
  font-family: "Noto Serif KR";
  font-size: 32.724px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  margin: 0;
}

.box-what {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  margin-top: 50px;
  margin-bottom: 70px;
}

.what-img {
  width: 48%;
  height: auto;
  flex-shrink: 0;
  align-self: flex-end;
  margin-left: 40px;
}

.subbox-what {
  border: 1.56px solid #E3DED2;
  background: #F9F7F2;
  padding: 50px;
  box-sizing: border-box;
  align-self: flex-start;
  position: absolute;
  width: 50%;
  right: 30px;
  bottom: -70px;
}

.whatbox-title {
  color: #000;
  font-family: Miama;
  font-size: 20.616px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: center;
}

.whatbox-txt {
  color: #000;
  font-family: "Noto Serif KR";
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 38px;
  letter-spacing: 0.57px;
  text-align: center;
  margin-top: 30px;
}

.pc-line-block {
  display: none;
}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .what {
    padding: 5vw 5vw;
    background: #F9F7F2;
    margin-bottom: 240px;
  }

  .sub-title {
    color: #000;
    font-family: Inter;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: center;
    margin: 0;
    margin-top: 10px;
  }

  .subbox-what {
    border: 1.56px solid #E3DED2;
    background: #F9F7F2;
    padding: 20px;
    box-sizing: border-box;
    align-self: flex-start;
    position: absolute;
    width: 100%;
    right: auto;
    bottom: auto;
    top: 100%;
  }


  .what-maintitle {
    color: #000;

    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: center;
    margin: 0;
    margin-bottom: -30px;
    font-family: "Noto Serif jp";
  }

  .whatbox-txt {
    color: #000;
    font-family: sans-serif;
    font-style: normal;
    font-weight: 700;
    line-height: 38px;
    letter-spacing: 0.57px;
    text-align: center;
    margin-top: 20px;
    font-size: 3.4vw;
    line-height: 2.5;
    text-align: left;
  }


  .what-img {
    width: 100%;
    height: auto;
    flex-shrink: 0;
    /* align-self: flex-end; */
    /* margin-left: 40px; */
    margin: 0;
  }

  .pc-line-block {
    display: block;
  }

}

/*

親：.脂肪注入種類

--------------------------------------------------------------*/

.type {
  padding: 0px 0px;
  background: #F9F7F2;
}

.type-sub-title {
  color: #FFF;
  font-family: "Noto Serif jp";
  font-size: 20.977px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-align: center;
  letter-spacing: 1px;
}

.type-title-box {
  background: #DD9969;
  padding: 40px 40px 90px;
}

.type-list {
  text-align: center;
  font-size: 25px;
  position: relative;
  z-index: 1;
  display: inline-block
}


.type-list::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  /* 文字の下に帯 */
  width: 100%;
  height: 12px;
  /* 線の太さ */
  background-color: rgba(221, 153, 105, 0.4);
  z-index: -1;
}


.type-title {
  text-align: center;
  font-family: "Noto Serif jp";
  color: #fff;
  font-weight: 400;
  font-size: 27px;
  margin: 10px;
}

.type-box1 {
  background-color: #fff;
  padding: 50px;
  border-radius: 50px 0 50px 0;
  box-shadow: 5px 5px 5.5px 0px rgba(0, 0, 0, 0.25);
}

.type-box {
  display: flex;
  flex-direction: column;
  gap: 80px;
  margin-top: -65px;
  padding: 0px 60px 90px;

}


.box-title {
  text-align: center;
  border-bottom: solid 1px;
  line-height: 3;
  font-size: 22px;
}

.type-contents {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  /* width: 50%; */
  padding: 30px;
}


.type-img {
  width: 35%;
}


.type-txt-contents {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.type-txt {
  margin-bottom: 25px;
}

.button {
  background-color: #DD9969;
  border: 0px;
  padding: 10px;
  display: flex;
  align-items: center;
  width: 80%;
  margin: 0 auto;
  justify-content: center;
  color: #fff;
  font-size: 12px;
  box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.3);
}

.pc-line-block {
  display: block;
}

.pc-line-block2 {
  display: block;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .type-sub-title {
    color: #FFF;
    font-family: "Noto Serif jp";
    font-size: 3.4vw;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-align: center;
    letter-spacing: 1px;
  }

  .type-title {
    text-align: center;
    font-family: "Noto Serif jp";
    color: #fff;
    font-weight: 400;
    font-size: 6vw;
    margin: 10px;
  }

  .type-box {
    display: flex;
    flex-direction: column;
    gap: 80px;
    margin-top: -65px;
    padding: 0vw 5vw 18vw 5vw;

  }

  .type-list {
    text-align: center;
    font-size: 20px;
    position: relative;
    z-index: 1;
    display: inline-block;
    font-weight: 400;
  }

  .type-list::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 3px;
    /* 文字の下に帯 */
    width: 100%;
    height: 8px;
    /* 線の太さ */
    background-color: rgba(221, 153, 105, 0.4);
    z-index: -1;
  }

  .type-box1 {
    background-color: #fff;
    padding: 30px;
    border-radius: 30px 0 30px 0;
    box-shadow: 5px 5px 5.5px 0px rgba(0, 0, 0, 0.25);

  }

  .type-contents {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    /* width: 50%; */
    /* padding: 30px; */
    padding: 0px;
    flex-direction: column;

  }

  .type-img {
    width: 100%;
  }

  .box-title {
    text-align: center;
    border-bottom: solid 1px;
    line-height: 1.5;
    font-size: 20px;
  }

  .button {
    background-color: #DD9969;
    border: 0px;
    padding: 10px;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 0 auto;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    text-align: center;
    font-weight: 500;
  }

  .pc-line-block {
    display: none;
  }

  .pc-line-block2 {
    display: none;
  }

  .type-txt {
    font-size: 3.4vw;
    margin-bottom: -3px;
    font-weight: 500;
    line-height: 2;
  }


}


/*

親：.コンデンスリッチが適応な方

--------------------------------------------------------------*/


.adaptation {
  padding: 80px 80px;
  background: #f0e2d6;
  margin-top: -16px;
}

.adaptation-box {
  justify-content: space-around;
  display: flex;
  align-items: center;
}


.adaptation-title {
  font-size: 25px;
  font-family: "Noto Serif jp";
  color: #905941;
  font-weight: 500;
  margin-bottom: 12px;
}


.adaptation-txt {
  background-color: #fff;
  padding: 15px;
}

.txt1 {
  margin-bottom: 5px;
}


.worries {
  padding: 80px;
  background: #F9F7F2;
}


.worries-txt-box {
  /* width: 48%; */
  display: flex;
  flex-direction: column;
  align-items: center;
  background: #F9F7F2;
  flex-shrink: 0;
  padding: 40px 60px;
  justify-content: center;
  border: 1px solid #E3DED2;
  position: absolute;
  bottom: -30px;
  right: 70px;
  width: 45%;
  height: 90%;
}

.worries-title {
  color: #905941;
  font-family: "Noto Serif jp";
  font-size: 26px;
  font-style: normal;
  font-weight: 400;
  line-height: 53.407px;
  text-align: center;
}


.worries-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 30px;
}

ul {
  list-style: none;
  padding-left: 0;
  /* 左のインデントも消す場合 */
}

.worries-box {
  display: flex;

  position: relative;
}

.sp-linebreak2 {
  display: none;
}

.only-sp {
  display: inline;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .adaptation {
    /* padding: 80px 80px; */
    padding: 13vw 5vw;
    background: #f0e2d6;
    margin-top: 0px;
  }

  .adaptation-box {
    justify-content: space-around;
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    gap: 20px;
  }

  .adaptation-title {
    font-size: 6vw;
    font-family: "Noto Serif jp";
    color: #905941;
    font-weight: 500;
    margin-bottom: 12px;
    text-align: center;
  }

  .txt1 {
    margin-bottom: 5px;
    font-size: 3.4vw;
    font-weight: 400;
  }

  .sp-linebreak2 {
    display: inline;
  }

  .only-sp {
    display: none;
  }


  .worries {
    /* padding: 80px; */
    padding: 0vw 0vw;
    background: #F9F7F2;
    margin-bottom: 250px;
  }

  .worries-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 10px;
    /* text-align: center; */
    font-size: 14px;
    font-weight: 400;

  }

  .worries-title {
    color: #905941;
    font-family: "Noto Serif jp";
    font-size: 6vw;
    font-style: normal;
    font-weight: 400;
    line-height: 53.407px;
    text-align: center;
  }


  .worries-txt-box {

    display: flex;
    flex-direction: column;
    align-items: center;
    background: #F9F7F2;
    flex-shrink: 0;
    padding: 5vw;
    justify-content: center;
    border: 1px solid #E3DED2;
    position: absolute;
    bottom: auto;
    right: auto;
    width: 100%;
    height: 100%;
    top: 100%;
  }


}


/*

親：.コンデンスリッチが適応な方

--------------------------------------------------------------*/


.what-01 {
  padding: 100px 80px;
  background: #F0E2D6;
}

.secition-whatinner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
  position: relative;
}



.what-title {
  text-align: center;
  background: #DD9969;
  padding: 10px;
  /* align-items: center; */
  font-size: 22px;
  color: #fff;
  font-weight: 600;
  font-family: "Noto Serif jp";
  width: 75%;
  margin: 0 auto;
  position: absolute;
  left: 120px;
  top: -25px;
}

.what-box {
  background-color: #fff;
  padding: 50px;
}

.what-txt {
  margin: 10px;
  line-height: 1.8;
  text-align: center;
}

.flow-box {
  margin-top: 50px;
  border: 1px solid #DD9969;
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  /* gap: 20px; */
}

.flow-title {
  font-size: 50px;
  font-weight: 600;
  color: #DD9969;
}

.flow-txt {
  font-family: "Noto Serif jp";
  color: #DD9969;
  font-size: 19px;
  margin-bottom: 20px;
}

.what-02 {
  padding: 30px 80px;
  background: #F0E2D6;
}

.what-point {
  color: #DD9969;
  font-size: 30px;
  font-weight: 600;
}

.clinic-point {
  background: #F0E2D6;
  padding: 60px 80px;
}

.clinic-point-title {
  text-align: center;
  background: #DD9969;
  padding: 10px;
  /* align-items: center; */
  font-size: 22px;
  color: #fff;
  font-weight: 600;
  font-family: "Noto Serif jp";
  width: 75%;
  margin: 0 auto;
}


.clinic-point-txt {
  margin-top: 30px;
  text-align: center;
  font-size: 17px;
  line-height: 2;
}

.sp-txt {
  display: none;
}

.sp-linebreak3 {
  display: inline;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .what-01 {
    padding: 22vw 5vw 10vw;
    background: #F0E2D6;
  }

  .what-title {
    text-align: center;
    background: #DD9969;
    padding: 10px 20px;
    /* align-items: center; */
    font-size: 16px;
    color: #fff;
    font-weight: 600;
    font-family: "Noto Serif jp";
    width: 90%;
    margin: 0 auto;
    position: absolute;
    left: 18px;
    top: -35px;
  }


  .what-box {
    background-color: #fff;
    padding: 3vw 5vw;
  }

  .what-txt {
    margin: 10px;
    line-height: 2.2;
    text-align: left;
    font-size: 3.4vw;
    font-weight: 400;
  }


  .flow-box {
    margin-top: 20px;
    border: 1px solid #DD9969;
    padding: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* gap: 20px; */
  }

  .flow-title {
    font-size: 15px;
    font-weight: 600;
    color: #DD9969;
  }

  .flow-txt {
    font-family: "Noto Serif jp";
    color: #DD9969;
    font-size: 21px;
    margin-bottom: 10px;
  }

  .what-02 {
    padding: 18vw 5vw 5vw;
    /* padding: 30px 80px; */
    background: #F0E2D6;
  }

  .sp-txt {
    display: block;
  }

  .what-point {
    color: #DD9969;
    font-size: 25px;
    font-weight: 600;
  }

  .clinic-point {
    background: #F0E2D6;
    /* padding: 60px 80px; */
    padding: 10vw 5vw;
  }

  .clinic-point-title {
    text-align: center;
    background: #DD9969;
    padding: 10px;
    /* align-items: center; */
    font-size: 18px;
    color: #fff;
    font-weight: 600;
    font-family: "Noto Serif jp";
    width: 90%;
    margin: 0 auto;
  }

  .clinic-point-txt {
    margin-top: 23px;
    text-align: left;
    /* font-size: 17px; */
    line-height: 2;
    font-size: 3.4vw;
    font-weight: 400;
  }

  .sp-linebreak3 {
    display: none;
  }

}

/*

親：.コンデンスリッチ症例

--------------------------------------------------------------*/


.case {

  background: #F9F7F2;
}

.secition-case-inner {

  width: 100%;
  margin: 0 auto;
}

.case-box {
  text-align: center;
  background-color: #DD9969;
  padding: 60px;
  display: flex;
  justify-content: center;
  flex-direction: column;
  justify-content: center;
  gap: 0px;

}

.case-txt {
  color: #fff;
  font-family: "Noto Serif jp";
  font-size: 28px;
}

.case-title {
  text-align: center;
  font-family: "Noto Serif jp";
  color: #fff;
  font-weight: 400;
  font-size: 27px;
  margin: 10px;
}


.case-contents {
  padding: 80px;
  background: #F9F7F2;
}

.grid-container {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  /* max-width: 500px; */
  /* margin: auto; */
  margin: 0 auto;

}


.case-img {
  width: 80%;
  height: auto;
  display: block;
  margin: 0 auto;
}


.img-txt {
  text-align: center;
  margin-bottom: 30px;
  background-color: #DD9969;
  width: 80%;
  margin: 0 auto 40px;
  color: #fff;
  padding: 10px 0;
}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .case-box {
    text-align: center;
    background-color: #DD9969;
    padding: 5vw;
    display: flex;
    justify-content: center;
    flex-direction: column;
    justify-content: center;
    gap: 0px;
  }

  .case-txt {
    color: #fff;
    font-family: "Noto Serif jp";
    font-size: 18px;
  }

  .case-title {
    text-align: center;
    font-family: "Noto Serif jp";
    color: #fff;
    font-weight: 400;
    font-size: 6vw;
    margin: 0px;
  }

  .case-contents {
    padding: 5vw;
    background: #F9F7F2;
  }

  .grid-container {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    /* max-width: 500px; */
    /* margin: auto; */
    margin: 0 auto;
  }

  .case-img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  .img-txt {
    text-align: center;
    margin-bottom: 30px;
    background-color: #DD9969;
    width: 100%;
    margin: 0 auto 40px;
    color: #fff;
    padding: 10px 0;
    font-weight: 500;
  }

  .adaptation-02 {
    padding: 10vw 5vw;
    background: #f0e2d6;
    margin-top: -0px;
  }

  .adaptation-box {
    justify-content: space-around;
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
    gap: 20px;
  }

  .adaptation-txt-02 {
    background-color: #fff;
    padding: 10px 20px;
  }

}

}



.adaptation-02 {
  padding: 80px 80px;
  background: #f0e2d6;
  margin-top: -16px;
}


/*

親：.ナノリッチとは

--------------------------------------------------------------*/

.adaptation-02 {
  padding: 80px 80px;
  background: #f0e2d6;
  margin-top: -16px;
  padding: 10vw 5vw;
}

.what-03 {
  padding: 80px 80px 30px;
  background: #F0E2D6;
}


.what-03-point-txt {
  color: #DD9969;
  font-size: 18px;
  font-weight: 600;
}


.what-txt-03 {
  margin: 20px 0 1px;
  line-height: 1.8;
  text-align: center;
}

.what-03-point-txt02 {
  color: #DD9969;
  font-weight: 600;
  font-size: 22px;
}

.clinic-point-box {
  display: flex;
  align-items: center;
  background-color: #Fff;
  /* padding: 50px 0; */
  padding: 60px;
  margin-top: 50px;
  gap: 40px;
  flex: 1;
  justify-content: center;
}

.clinic-point-box-txt {
  font-size: 17px;
  flex: 1;
  text-align: center;
}

.adaptation-txt-02 {
  background-color: #fff;
  padding: 7px 100px 7px 15px;
}

.arrow {
  background: #F0E2D6;
  padding: 0px 80px 0px;
  margin-bottom: -55px;
}

.arrow-txt {
  text-align: center;
  text-align: center;
  background: #DD9969;
  color: #fff;
  padding: 20px 0 50px;
  font-size: 20px;
  font-weight: 600;
  clip-path: polygon(0 0, 100% 0, 100% 50%, 50% 75%, 0 50%);
  width: 50%;
  margin: 0 auto;
}


.clinic-point02 {
  background: #F0E2D6;
  padding: 1px 80px 80px;

}

.clinic-point-box02 {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 50px 20px;
  margin-top: 20px;
  /* 0だと要素の間が詰まる */
  flex: 1;
  justify-content: space-evenly;
  gap: 20px;
}

.clinic-point-box-img {
  /* width: 10%; */
  /* max-width: 100%; */
  flex: 1;
  /* width: 50px; */
  /* max-width: none; */
  /* min-width: 0; */
  display: block;
  flex: 0 0 auto;
  width: 40%;
}

.pic-txt {
  color: #DD9969;
  font-weight: 600;
}

.clinic-point-txt-02 {
  text-align: center;
  margin-top: 60px;
  font-size: 18px;
}


.clinic-point-txt-03 {
  color: #DD9969;
  font-weight: 600;
  font-size: 22px;
}

.clinic-point-txt {
  margin-top: 23px;
  text-align: center;
  font-size: 17px;
  line-height: 2;
  /* font-size: 3.4vw; */
  font-weight: 400;
}

.flow-box2 {
  margin-top: 50px;
  /* border: 1px solid #DD9969; */
  padding: 40px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #fff;
}

.flow-img2 {
  border: 1px solid #DD9969;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {


  .what-03 {
    padding: 22vw 5vw 10vw;
    background: #F0E2D6;
  }

  .what-txt-03 {
    margin: 20px 0 1px;
    line-height: 1.8;
    text-align: center;
    font-size: 3.4vw;
    font-weight: 400;
  }

  .what-03-point-txt02 {
    color: #DD9969;
    font-weight: 600;
    font-size: 4.3vw;
  }

  .what-03-point-txt {
    color: #DD9969;
    font-size: 4.3vw;
    font-weight: 600;
  }

  .clinic-point-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #Fff;
    /* padding: 50px 0; */
    padding: 5vw;
    margin-top: 20px;
    gap: 20px;
    flex: 1;
    justify-content: center;
  }



  .clinic-point-box-img {
    /* width: 10%; */
    /* max-width: 100%; */
    flex: 1;
    /* width: 50px; */
    /* max-width: none; */
    /* min-width: 0; */
    display: block;
    flex: 0 0 auto;
    width: 100%;
  }

  .clinic-point-txt-02 {
    text-align: center;
    margin-top: 25px;
    font-size: 3.4vw;
    font-weight: 400;
  }

  .clinic-point-txt-03 {
    color: #DD9969;
    font-weight: 600;
    font-size: 4.3vw;
  }

  .pic-txt {
    color: #DD9969;
    font-weight: 600;
    font-size: 4.3vw;
  }


  .clinic-point-box-txt {
    font-size: 3.4vw;
    flex: 1;
    text-align: center;
    font-weight: 400;
  }

  .clinic-point-txt {
    margin-top: 23px;
    text-align: center;
    /* font-size: 17px; */
    line-height: 2;
    font-size: 3.4vw;
    font-weight: 400;
  }

  .adaptation-txt-02 {
    /* width: 110%; */
    background-color: #fff;
    /* margin: 0 auto; */
    padding: 10px 25px;
  }

  .arrow-txt {
    text-align: center;
    text-align: center;
    background: #DD9969;
    color: #fff;
    padding: 20px 0 70px;
    font-size: 5vw;
    font-weight: 600;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 50% 75%, 0 50%);
    width: 100%;
    margin: 0 auto;
  }

  .flow-box2 {
    margin-top: 50px;
    /* border: 1px solid #DD9969; */
    padding: 10vw 5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
  }

  .flow-box2 {
    margin-top: 30px;
    /* border: 1px solid #DD9969; */
    padding: 10vw 5vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
  }

}


/* 共通クラス */

.sub-txt-01 {
  text-align: center;
  font-size: 48px;
  font-weight: 500;
  margin: 0;
  font-family: 'Lato', sans-serif;
}

.main-txt {
  text-align: center;
  margin: 0;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 16px;
}

.inner {
  max-width: 1100px;
  width: 100%;
  margin: 0 auto;
}

.text-contents-01 {
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
}

.text-color {
  color: #905941;
}

.nav-list {
  list-style: none;
  padding-left: 0;
}

/* 脱脂術とは-01 */

.contents-01 {
  padding: 80px 80px;
  background: #f9f7f2;
}

.what-img {
  height: auto;
  width: 50%;
  position: relative;
  left: 30px;
}

.text-box {
  margin-bottom: 40px;
}

.contents-box {
  display: flex;
  align-items: end;
  justify-content: space-around;
  /* gap: 40px; */
  margin-bottom: 80px;
}

.text-container {
  border: solid 0.5px;
  padding: 100px 40px;
  position: relative;
  right: 40px;
  top: 30px;
  background: #f9f7f2;
}

.sp-line {
  display: none
}

.pc-line {
  display: inline;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .contents-01 {
    padding: 7vw 0vw;
  }

  .sub-txt-01 {
    text-align: center;
    font-size: 3.5vw;
    font-weight: 500;
    margin: 0;
    font-family: 'Lato', sans-serif;
  }

  .main-txt {
    text-align: center;
    margin: 0;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 5.2vw;
  }

  .sp-line {
    display: inline
  }

  .contents-box {
    display: flex;
    align-items: end;
    justify-content: space-around;
    /* gap: 40px; */
    margin-bottom: 0px;
    flex-direction: column;
  }

  .what-img {
    height: auto;
    width: 100%;
    position: relative;
    left: 0px;
  }

  .text-container {
    border: solid 0px;
    padding: 20px 10px;
    position: relative;
    right: 0px;
    top: 00px;
    background: #f9f7f2;
    margin: 4vw;
    text-align: center;
  }

  .pc-line {
    display: none;
  }

}

/* 脱脂術が適応な方-02 */

.contents-02 {
  padding: 100px 80px;
  background: #f0e2d6;
}

.contents-02-box {
  display: flex;
  align-items: center;
}

.text-box-02 {
  margin-left: 60px;
  flex: 1;
}

.nav-list {
  background-color: #fff;
  padding: 20px;
  line-height: 2;
  font-weight: 400;
}

.text-color-02 {
  color: #905941;
  font-family: "Noto Serif KR";
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 25px;
  letter-spacing: 1.5px;
}

.ul {
  list-style-image: url("../img/icon-02.png");
  /* アイコン画像のパスを指定 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .contents-02 {
    padding: 7vw 4vw;
    background: #f0e2d6;
  }

  .contents-02-box {
    display: flex;
    align-items: center;
    flex-direction: column-reverse;
  }

  .text-box-02 {
    margin-left: 0px;
    flex: 1;
  }

  .text-color-02 {
    color: #905941;
    font-family: "Noto Serif KR";
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 5.2vw;
    letter-spacing: 1.5px;
    text-align: center;
  }

  .nav-list {
    background-color: #fff;
    padding: 13px;
    line-height: 2;
    font-weight: 400;
    font-size: 3.6vw;
    margin-bottom: 20px;
  }

}


/* 脱脂術はこんな方にお勧めです-03 */

.contents-03 {
  padding: 0px 0px 30px;
  background: #f9f7f2;
}

.contents-03-box {
  background: #f0e2d6;
  padding: 50px;
  display: grid;
  grid-template-columns: 1fr fr;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  justify-content: space-between;
  gap: 20px;
  font-weight: 400;
  position: relative;
  top: -60px;
  border-radius: 10px;
  box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.3);
}

.contents-03-box-txt {
  background: #fff;
  padding: 20px;
  width: 75%;
  border-radius: 10px;
  margin-left: 60px;
}

.contents-03-box-txt::before {

  content: "✔";
  color: #dd9969;
  font-size: 16px;
  position: absolute;
  top: 10;
  left: 1;
}

.contents-03-sub {
  margin-left: 20px;
}


.txt-contents-03 {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
  font-size: 25px;
  margin-bottom: 13px;
  background-color: #dd9969;
  color: #fff;
  padding: 50px 0 90px;
}

.sub-txt-03 {
  padding: 0;
  font-size: 15px;
  margin-top: 5px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .contents-03 {
    padding: 0px 0px 10px;
    background: #f9f7f2;
  }


  .txt-contents-03 {
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-weight: 500;
    font-size: 5.2vw;
    margin-bottom: 13px;
    background-color: #dd9969;
    color: #fff;
    padding: 7vw 4vw;
  }

  .contents-03-box {
    grid-template-columns: 1fr;
    position: relative;
    top: -30px;
    border-radius: 10px;
    box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.3);
    margin: 0 4vw;
    padding: 20px 15px;
  }

  .contents-03-box-txt {
    background: #fff;
    padding: 20px;
    width: 100%;
    border-radius: 10px;
    margin-left: 0px;
  }


}


/* 施術の流れ-04 */

.contents-04 {
  padding: 80px 80px;
  background: #f0e2d6;
}

.flow-box-06 {
  display: flex;
  justify-content: space-around;
  gap: 30px;
  list-style: none;
  padding-left: 0;
  overflow-x: visible;
  /* 横スクロールを有効に */
}

.flow-contents {
  background: #fff;
  padding: 20px;
  min-width: 250px;
  /* ← 横スクロールのための幅を確保 */
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 0%;
  position: relative;
  /* ← ::before 用 */
  z-index: 1;
}

.flow-contents:nth-child(1)::before {
  content: "1";
}

.flow-contents:nth-child(2)::before {
  content: "2";
}

.flow-contents:nth-child(3)::before {
  content: "3";
}

.flow-contents:nth-child(4)::before {
  content: "4";
}

.flow-contents:nth-child(5)::before {
  content: "5";
}

.flow-contents::before {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #f0e2d6;
  color: #905941;
  padding: 1px 10px;
  border-radius: 50%;
  font-weight: bold;
  z-index: 1000;
}

.flow-txt-06 {
  font-size: 15px;
  margin-top: 13px;
  font-weight: 400;
}

.flow-img {
  border: solid 0.5px;
  position: relative !important;
  /* ← これが必要！ */
  z-index: 1 !important;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {


  .contents-04 {
    padding: 7vw 4vw;
    background: #f0e2d6;
  }

  .flow-box-06 {
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    /* iOS向けスムーズスクロール */
    scroll-snap-type: x mandatory;
  }

  .flow-contents {
    min-width: 250px;
    flex-shrink: 0;
    width: 50%;
    scroll-snap-align: start;
    /* 任意: ピタッと止まる */

  }

}

/* 症例写真-05 */

.contents-05 {
  padding: 80px 80px;
  background: #f9f7f2;
}

.case-box-05 {
  display: flex;
  justify-content: space-around;
}

.case-txt-05 {
  text-align: center;
  background: #dd9969;
  color: #fff;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .contents-05 {
    padding: 7vw 4vw;
    background: #f9f7f2;
  }

  .case-box-05 {
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    gap: 20px;
  }

}



/* 脂肪注入-06 */
.contents-06 {
  padding: 80px 80px;
  background: #f0e2d6;
}

.h3-title {
  text-align: center;
  background: #dd9969;
  width: 70%;
  padding: 10px;
  margin: 0 auto;
  color: #fff;
  font-weight: 500;
  position: relative;
  top: 20px;
}

.contents-06-txt {
  text-align: left;
  font-weight: 400;
  font-size: 16px;
  background: #fff;
  padding: 50px 20px 40px;
}

.text-box-06 {
  margin-top: 60px;
  margin-bottom: 20px;
}

.txt-img-06 {

  width: 35%;
}


.contents-06-txt-box {
  display: flex;
  justify-content: space-around;
  padding: 40px;
  background: #fff;
  align-items: center;
}


.button-06 {
  background-color: #905941;
  border: 0px;
  padding: 10px;
  display: flex;
  align-items: center;
  width: 80%;
  margin: 50px auto 20px;
  justify-content: center;
  font-weight: 500;
  color: #fff;
  font-size: 22px;
  box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.3);
  border-radius: 50px;

}

.sub-txt-06 {
  text-align: center;
  font-size: 48px;
  font-weight: 500;
  margin: 0;
  font-family: 'Lato', sans-serif;
  margin-top: 50px;
}

.case-box-06 {
  display: flex;
  justify-content: space-around;
}

.case-img-06 {
  width: 36%;
  height: auto;

}

.flow-contents-06 {
  background: #fff;
  padding: 20px;
  width: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  z-index: 1;
}

.flow-contents-06:nth-child(1)::before {
  content: "1";
}

.flow-contents-06:nth-child(2)::before {
  content: "2";
}

.flow-contents-06:nth-child(3)::before {
  content: "3";
}

.flow-contents-06::before {
  position: absolute;
  top: 10px;
  left: 10px;
  background: #f0e2d6;
  color: #905941;
  padding: 1px 10px;
  border-radius: 50%;
  font-weight: bold;
  z-index: 1000;
}

.flow-img-06 {
  border: solid 0.5px;
  width: 100%;
  position: relative !important;
  /* ← これが必要！ */
  z-index: 1 !important;
}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {


  .contents-06 {
    padding: 7vw 4vw;
    background: #f0e2d6;
  }

  .h3-title {
    text-align: center;
    background: #dd9969;
    width: 90%;
    padding: 10px;
    margin: 0 auto;
    color: #fff;
    font-weight: 500;
    position: relative;
    top: 20px;
  }

  .contents-06-txt-box {
    display: flex;
    justify-content: space-around;
    padding: 30px;
    background: #fff;
    align-items: center;
    flex-direction: column;
  }

  .txt-img-06 {
    width: 100%;
  }

  .contents-06-txt-box {
    display: flex;
    justify-content: space-around;
    padding: 35px 20px;
    background: #fff;
    align-items: center;
    flex-direction: column;
  }

  .contents-06-txt {
    text-align: left;
    font-weight: 400;
    font-size: 16px;
    background: #fff;
    padding: 20px 0px;
  }

  .flow-contents-06 {
    background: #fff;
    padding: 20px;
    min-width: 250px;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
  }

  .sub-txt-06 {
    text-align: center;
    font-size: 3.5vw;
    font-weight: 500;
    margin: 0;
    font-family: 'Lato', sans-serif;
    margin-top: 50px;
  }

  .case-box-06 {
    display: flex;
    justify-content: space-around;
    flex-direction: column;
    gap: 30px;
  }

  .case-img-06 {
    width: 100%;
    height: auto;
  }

  .button-06 {
    background-color: #905941;
    border: 0px;
    padding: 10px;
    display: flex;
    align-items: center;
    width: 100%;
    margin: 10px auto 0px;
    justify-content: center;
    font-weight: 500;
    color: #fff;
    font-size: 15px;
    box-shadow: 2px 3px 5px 0px rgba(0, 0, 0, 0.3);
    border-radius: 50px;
  }

  .flow-img-06 {
    border: solid 0.5px;
    width: 100%;
    position: relative !important;
    /* ← これが必要！ */
    z-index: 1 !important;
  }

}

/* 料金表-09 */

.tl-price-table-09 {
  font-weight: 400;
  text-align: center;

  line-height: 1.5;
}




/* 共通クラス */

.n-inner {
  margin: 0 auto;
  max-width: 1100px;
  width: 100%;
}

.h2-title {
  color: #905941;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 49.293px;
  /* 154.04% */
  letter-spacing: 2.88px;
}

.n-contents-txt {
  color: #000;
  font-family: "Noto Serif Bengali";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 32.571px;
  /* 203.571% */
  letter-spacing: 2.72px;
  margin-left: 50px;
}

.txt-point {
  color: #dd9969;
  font-weight: 800;
  font-size: 18px;
}

.pc-line {
  display: inline;
}

.sp-line-n {
  display: none;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {
  .pc-line {
    display: none;
  }

  .sp-line-n {
    display: inline;
  }

  .h2-title {
    color: #905941;
    text-align: center;
    font-family: "Noto Serif JP", serif;
    font-size: 5.2vw;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
    /* 154.04% */
    letter-spacing: 2.88px;
  }
}



/* 涙袋ができる要因 */

.n-contents01 {
  padding: 80px;
  background: #f9f7f2;
}

.n-sub-txt {
  color: #905941;
  text-align: center;
  font-family: Hurricane;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 3.457px;
  padding-top: 0px;
}

.n-contents01-box {
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-top: 50px;
  gap: 0px;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {


  .n-contents01 {
    padding: 7vw 4vw;
    background: #f9f7f2;
  }

  .n-sub-txt {
    color: #905941;
    text-align: center;
    font-family: Hurricane;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 3.457px;
  }

  .n-contents01-box {
    display: flex;
    align-items: center;
    justify-content: space-around;
    margin-top: 20px;
    gap: 0px;
    flex-direction: column;
  }

  .n-contents-txt {
    color: #000;
    font-family: "Noto Serif Bengali";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 32.571px;
    letter-spacing: 2.72px;
    margin: 10px;
    font-family: "Noto Serif", sans-serif;
    font-weight: 400;
  }

}

/* 膨らみとくびれを形成するためには */

.n-contents02 {
  padding: 50px 80px 80px;
  background: #f9f7f2;
}

.n-contents02-container {
  margin-top: 0px;
  background-color: #fff;
  padding: 10px 50px 50px;

}

.n-contents02-title {
  text-align: center;
  background-color: #dd9969;
  margin-top: 20px;
  padding: 10px;
  color: #fff;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 1.5px;
}

.n-contents03-title {
  text-align: center;
  background-color: #dd9969;
  margin-top: 70px;
  padding: 10px;
  color: #fff;
  font-size: 20px;
  font-family: "Noto Serif JP", serif;
  letter-spacing: 1.5px;
}

.triangle-01 {
  padding: 10px 50px;
  margin: 20px auto;
}

.n-contents-txt02 {
  color: #000;
  font-family: "Noto Serif Bengali";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 32.571px;
  letter-spacing: 2.72px;
  padding: 50px 70px;
  text-align: center;
}

.img-box-02 {
  display: flex;
  gap: 30px;
  justify-content: center;
  width: 100%
}

.img-box-02 img {
  max-width: 100%;
  width: 100% height: auto;
  display: block;
  box-sizing: border-box;
  padding: 0 10px;
  /* 少し余白を加えるとよりキレイ */
}




/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .n-contents02 {
    padding: 7vw 4vw;
    background: #f9f7f2;
  }

  .n-contents02-container {
    margin-top: 0px;
    background-color: #fff;
    padding: 0px 10px 20px;
  }

  .n-contents-txt02 {
    color: #000;
    font-family: "Noto Serif Bengali";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 32.571px;
    letter-spacing: 2.72px;
    padding: 20px;
    text-align: left;
    font-family: "Noto Serif", sans-serif;
    font-weight: 400;
  }

  .n-contents-txt02 {
    color: #000;
    font-family: "Noto Serif Bengali";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 27.571px;
    letter-spacing: 2.72px;
    padding: 20px;
    text-align: left;
    font-family: "Noto Serif", sans-serif;
    font-weight: 400;
  }

  .img-box-02 {
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-direction: column;
  }

  .triangle-02 {
    transform: rotate(90deg);
    width: 10%;
    margin: 0 auto;
  }

  .n-contents03-title {
    text-align: center;
    background-color: #dd9969;
    margin-top: 50px;
    padding: 10px;
    color: #fff;
    font-size: 20px;
    font-family: "Noto Serif JP", serif;
    letter-spacing: 1.5px;
  }

  .triangle-01 {}

}

/* 施術の種類 1*/

.n-contents03 {
  background: #f0e2d6;
  padding: 0 0 80px;
}

.n-contents03-box {
  background-color: #dd9969;
  padding: 60px 0;
  border-radius: 60px 0;
}

.n-contents-title03 {
  text-align: center;
  color: #fff;
  font-size: 30px;
  font-family: "Noto Serif JP", serif;
}

.n-sub-txt-03 {
  color: #fff;
  text-align: center;
  font-family: Hurricane;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 3.457px;
  padding-top: 0px;
}

.n-contents03-container {
  background-color: #fff;
  padding: 50px;
  width: 80%;
  margin: 50px auto;
  box-shadow: 3px 4px 8px rgba(0, 0, 0, 0.3);
}

.treatment-title {
  background-color: #dd9969;
  padding: 20px;
  text-align: center;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  margin-bottom: 50px;
  font-size: 20px;
}

.treatment-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-bottom: 70px;
  position: relative;
}

.treatment-box-txt {
  color: #000;
  font-family: "Noto Serif Bengali";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 32.571px;
  letter-spacing: 2.72px;
  text-align: center;
}

.treatment-box::before {
  position: absolute;
  font-size: 20px;
  background-color: #dd9969;
  color: #fff;
  padding: 0.1px 11px;
  border-radius: 100%;
  font-weight: bold;
  z-index: 2;
  top: -10px;
  left: 250px;
}

.treatment-box img {
  position: relative;
  z-index: 1;
}

.number-01::before {
  content: "1";
  /* 表示する文字 */
  top: -10px;
  left: 250px;
}

.number-02::before {
  content: "2";
  top: -18px;
  left: 320px;
}

.number-03::before {
  content: "1";
  top: -18px;
  left: 320px;
}

.n-contents03-container-02 {
  background-color: #fff;
  padding: 50px;
  width: 80%;
  margin: 50px auto 0;
  box-shadow: 3px 4px 8px rgba(0, 0, 0, 0.3);
}


/* 施術の種類２ */

.n-contents04 {
  background: #f0e2d6;
  padding: 0 0 80px;
}


/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .n-contents03-box {
    background-color: #dd9969;
    padding: 40px 4.2vw;
    border-radius: 60px 0;
  }

  .n-contents-title03 {
    text-align: center;
    color: #fff;
    font-size: 5.2vw;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
  }

  .n-sub-txt-03 {
    color: #fff;
    text-align: center;
    font-family: Hurricane;
    font-size: 3.2vw;
    font-style: normal;
    font-weight: 400;
    letter-spacing: 3.457px;
  }

  .n-inner-03 {
    padding: 7vw 4vw;
  }

  .n-contents03-container {
    background-color: #fff;
    padding: 20px;
    width: 100%;
    margin: 0px auto;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  }

  .n-contents03-container-02 {
    background-color: #fff;
    padding: 20px;
    width: 100%;
    margin: 50px auto 0;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.3);
  }

  .treatment-title {
    background-color: #dd9969;
    padding: 20px;
    text-align: center;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 50px;
    font-size: 4.2vw;
  }

  .img-n03 {
    border: solid 0.7px;
  }

  .number-01::before {
    content: "1";
    top: -17px;
    left: -3px;
  }

  .number-02::before {
    content: "2";
    top: -20px;
    left: -10px;
  }

  .treatment-box-txt {
    color: #000;
    font-family: "Noto Serif Bengali";
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 25.571px;
    letter-spacing: 2.72px;
    text-align: left;
    font-family: "Noto Serif", sans-serif;
    font-weight: 400;
  }

  .number-03::before {
    content: "1";
    top: -17px;
    left: -10px;
  }

  .treatment-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-bottom: 60px;
    position: relative;
  }

  .n-contents03 {
    background: #f0e2d6;
    padding: 0 0 20px;
    letter-spacing: 2px;
  }

}

@media screen and (max-width: 768px) {
  .n-contents04 {
    background: #f0e2d6;
    padding: 0 0 20px;
  }
}



/* 症例写真 */

.n-contents05 {
  padding: 80px;
  background: #f9f7f2;
}

.n-img05-01 {
  width: 60%;
  margin: 0 auto;
}

.n-img05-02 {
  width: 60%;
  margin: 0 auto;
}

.img-box05 {
  display: flex;
  flex-direction: column;
  gap: 60px;
}



/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .n-contents05 {
    padding: 7vw 4vw;
    background: #f9f7f2;
  }

  .img-box05 {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }

  .n-img05-01 {
    width: 100%;
    margin: 0 auto;
  }

  .n-img05-02 {
    width: 100%;
    margin: 0 auto;
  }
}




/* セット価格 */

.n-contents06 {
  padding: 80px;
  background: #f0e2d6;
}

.n-contents06-box {
  background-color: #dd9969;
  padding: 30px;
  width: 70%;
  margin: 0 auto;
  text-align: center;
}

.n-contents06-subtitle {
  background: #fff;
  padding: 10px;
  text-align: center;
  font-size: 25px;
  font-family: "Noto Serif JP", serif;
  color: #dd9969;
  width: 75%;
  margin: 0 auto;
}

.n-contents06-title {
  text-align: center;
  font-size: 60px;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  margin-top: 23px;
  position: relative;
  display: inline-block;
}

.n-contents06-title::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  width: 100%;
  height: 15px;
  background-color: rgba(255, 255, 255, 0.4);
}

.n-contents06-title::before {
  content: "Special Set Price";
  position: absolute;
  top: 90%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 80px;
  color: rgba(255, 255, 255, 0.08);
  white-space: nowrap;
  z-index: 0;
  pointer-events: none;
  letter-spacing: 8px;
}

.point06 {
  position: relative;
  display: inline-block;
  z-index: 1;
}

.dots {
  display: flex;
  /* justify-content: center; */
  gap: 55px;
  /* margin-bottom: 10px; */
  position: relative;
  left: 18px;
  top: 18px;
}

.dot {
  width: 10px;
  height: 10px;
  background-color: rgba(255, 255, 255, 1);
  /* 好きな色に変更可 */
  border-radius: 50%;
}

.txt06 {
  text-align: center;
  margin-top: 10px;
}

.price-contents {
  text-align: center;
  background: #fff;
  padding: 30px;
  width: 80%;
  margin: 30px auto;
  display: flex;
  flex-direction: column;
  gap: 35px;
}

.price {
  background-color: #dd9969;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-size: 30px;
}

.price-txt {
  border: solid 1px #dd9969;
  padding: 20px;
  font-weight: 400;
}



/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .n-contents06 {
    padding: 7vw 4vw;
  }

  .n-contents06-box {
    background-color: #dd9969;
    padding: 20px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  .n-contents06-subtitle {
    background: #fff;
    padding: 10px;
    text-align: center;
    font-size: 5.2vw;
    font-family: "Noto Serif JP", serif;
    color: #dd9969;
    width: 100%;
    margin: 0 auto;
    font-weight: 500;
  }

  .n-contents06-title {
    text-align: center;
    font-size: 38px;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    margin-top: 10px;
    position: relative;
    display: inline-block;
  }

  .dots {
    display: flex;
    /* justify-content: center; */
    gap: 30px;
    /* margin-bottom: 10px; */
    position: relative;
    left: 16px;
    top: 12px;
  }

  .dot {
    width: 8px;
    height: 8px;
    background-color: rgba(255, 255, 255, 1);
    border-radius: 50%;
  }

  .n-contents06-title::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 11px;
    background-color: rgba(255, 255, 255, 0.4);
  }

  .n-contents06-title::before {
    content: "Special Set Price";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 38px;
    color: rgba(255, 255, 255, 0.08);
    white-space: nowrap;
    z-index: 0;
    pointer-events: none;
    letter-spacing: 3px;
  }

  .txt06 {
    text-align: center;
    margin-top: 10px;
    font-size: 12px;
  }

  .price-contents {
    text-align: center;
    background: #fff;
    padding: 20px;
    width: 100%;
    margin: 30px auto;
    display: flex;
    flex-direction: column;
    gap: 50px;
    padding: 30px 30px 57px;
  }

  .price {
    background-color: #dd9969;
    color: #fff;
    font-family: "Noto Serif JP", serif;
    font-size: 5.5vw;
    padding: 10px;
  }

  .price-txt {
    border: solid 1px #dd9969;
    padding: 20px;
    font-size: 13px;
    font-weight: 400;
  }


}



/* 料金表 */

.price-list-box-01 {
  margin-top: 35px;
  display: flex;
  gap: 30px;
  justify-content: center;
}

.price-list-box {
  margin-top: 35px;
  display: flex;
  gap: 30px;
  justify-content: center;
}

.price-sub-txt {
  font-size: 11px;
  font-family: "Noto Serif", sans-serif;
  font-weight: 400;
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 1024px) {
  /* 調整不要 */
}

/* ------------------------------------------------------- sp */
@media screen and (max-width: 768px) {

  .price-list-09 {
    font-size: 3vw;
  }

  .price-list-box-01 {
    margin-top: 5px;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-direction: column;
  }


  .price-list-box {
    margin-top: 35px;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-direction: column;
  }

  .price-09 {
    font-size: 3.5vw;
  }

  .price-sub-txt {
    font-size: 8px;
  }




}



/* ナノリッチはこんな人におすすめ */

.nano-contents01 {
  background: #f0e2d6;
  padding: 60px 80px;
}

.nano-inner {
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
}

.nano-sub-title {
  text-align: center;
  border-bottom: solid 0.5px #905941;
  line-height: 2;
  color: #905941;
  font-size: 20px;
  width: 20%;
  margin: 0 auto;
}

.nano-sub-title02 {
  text-align: center;
  border-bottom: solid 0.5px #905941;
  line-height: 2;
  color: #905941;
  font-size: 20px;
  width: 20%;
  margin: 0 auto;
  margin: 80px auto 0;
}

.nano-contents-title {
  text-align: center;
  margin-top: 15px;
  font-size: 27px;
  color: #905941;
  font-family: "Noto Serif JP";
}

.box-layout01 {
  display: flex;
  flex-direction: column;
  gap: 25px;
  max-width: 540px;
}

.box-layout02 {
  display: flex;
  gap: 50px;
  max-width: 2000px;
  width: 120%;
  height: 95px;
}

.recommend-box {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  align-items: center;
}

.sub-txt-nano {
  font-family: 'Lato';
  margin: 5px 0;
  font-size: 15px;
  font-weight: 500;
}

.recommend-txt-box01 {
  background: #fff;
  padding: 20px;
  text-align: center;
  width: 120%;
  box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.25);
}

.recommend-txt-box02 {
  text-align: center;
  background: #fff;
  padding: 15px;
  width: 200%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.25);
}

.recommend-txt-box03 {
  text-align: center;
  background: #fff;
  padding: 15px;
  width: 200%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.25);
}

.nano-img {
  margin: 0 30px;
  border-radius: 100%;
  border: solid 1px #fff;
  padding: 20px;
}

.main-txt-nano {
  font-family: initial;
  font-size: 18px;
  font-weight: 550;
}


/* ナノリッチとは */

.nano-contents02 {
  background: #f9f7f2;
  padding: 60px 80px;
}

.nano-contents02-title {
  text-align: center;
  background: #dd9969;
  padding: 10px;
  font-size: 22px;
  color: #fff;
  font-family: "Noto Serif JP";
}

.nano-contents02-txt {
  text-align: center;
  margin-top: 22px;
  line-height: 2;
  letter-spacing: 1px;
  font-weight: 500;

}

.color-nano {
  color: #dd9969;

  font-weight: 700;
  font-size: 19px;
}

.nano-contents02-box {
  padding: 35px;
  background: #fff;
  margin-top: 30px;
}

.nano-contents-nav {
  display: flex;
  justify-content: space-around;
  gap: 30px;
}

.contents02-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.nano-sub-txt-box {
  border: solid 1.5px #dd9969;
  padding: 20px 0 0;
  box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.35);
}

.nano-img-list {
  width: 60%;
  margin: 0 auto 23px;
}

.nano-txt-01 {
  color: #fff;
  margin-bottom: 15px;
}

.nano-txt-02 {
  margin-bottom: 15px;
}

.nano-txt-03 {
  margin-bottom: 15px;
  background: #dd9969;

  color: #fff;
  font-weight: 700;
}

.nano-txt-contents {
  margin-bottom: 20px;
}

.nano-img-triangle {
  margin-top: 80px;
}

.nano-none {
  color: #fff;
}

.details-list {
  display: flex;
  display: flex;
  justify-content: space-around;
  margin-top: 25px;
  align-items: center;
  border: solid 1.5px #dd9969;
  box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.35);
}

.details-item {
  display: flex;
  gap: 10px;
}

.nano-point-color {
  color: #905941;
  font-family: "Noto Serif Bengali";
  font-size: 19px;
  font-style: normal;
  font-weight: 700;
}

.point-sub-txt {
  text-align: center;
  margin-top: 30px;
}

.point-nanocontents-img {
  display: block;
  margin: 0 auto;
  width: 40%;
}

.clinic-point-title-01 {
  text-align: center;
  background: #dd9969;
  color: #fff;
  padding: 18px;
  font-size: 22px;
  margin-top: 55px;
  font-family: "Noto Serif JP";
}

.clinic-point-box01 {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 50px;
  margin-top: 50px;
  /* gap: 40px; */

  justify-content: space-around;
}

.point-color-o {
  color: #dd9969;
  font-family: "Noto Serif Bengali";
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
}

.clinic-point-contents-02-box {
  display: flex;
  align-items: center;
  background: #fff;
  padding: 30px;
  justify-content: space-evenly;
  margin: 50px 0;
}

.arrow-02 {
  background: #f0e2d6;
  padding: 0px 80px 0px;
  margin-bottom: -25px;
}

.nano-details-list01 {
  width: 40%;
}

.nano-details-list02 {
  width: 15%;
}

.nano-details-list03 {
  width: 35%;
}

.nano-details-list04 {
  width: 15%;
}

.details-list {
  display: flex;
  display: flex;
  justify-content: space-around;
  padding: 20px;
  margin-top: 25px;
  align-items: center;
  border: solid 1.5px #dd9969;
  box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.35);
}

.details-txt {
  font-size: 12px;
  font-weight: 500;
}

.details-item {
  display: flex;
  gap: 10px;
  align-items: center;
}

.arrow02 {
  background: #F0E2D6;
  padding: 0px 80px 0px;
  margin: 80px 0 10px;
}


/* スマホ画面　脂肪注入 */

@media screen and (max-width: 768px) {
  .nano-contents01 {
    padding: 10vw 5vw;
  }

  .nano-sub-title {
    text-align: center;
    border-bottom: solid 0.5px #905941;
    line-height: 2;
    color: #905941;
    font-size: 3.4vw;
    width: 60%;
    margin: 0 auto;
  }

  .nano-contents-title {
    text-align: center;
    margin-top: 15px;
    font-size: 5.2vw;
    color: #905941;
    font-family: "Noto Serif JP";
  }

  .recommend-box {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
    align-items: center;
    flex-direction: column-reverse;
    gap: 30px;
  }

  .nano-img {
    margin: 0 30px;
    border-radius: 100%;
    border: solid 1px #fff;
    padding: 20px;
    width: 80%;
  }

  .recommend-txt-box01 {
    background: #fff;
    padding: 20px;
    text-align: center;
    width: 100%;
    box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.25);
  }

  .recommend-txt-box02 {
    text-align: center;
    background: #fff;
    padding: 15px;
    width: 222%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.25);
  }

  .recommend-txt-box03 {
    text-align: center;
    background: #fff;
    padding: 15px;
    width: 222%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.25);
  }

  .box-layout02 {
    display: flex;
    gap: 25px;
    /* max-width: 2000px; */
    width: 45%;
    height: auto;
    flex-direction: column;
  }

  .nano-contents02 {
    background: #f9f7f2;
    padding: 10vw 5vw;
  }

  .nano-contents-nav {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: 3px;
    padding: 0 16px;
  }

  .nano-contents02-box {
    padding: 18px;
    background: #fff;
    margin-top: 30px;
  }

  .contents02-list {
    min-width: 80%;
    flex-shrink: 0;
    scroll-snap-align: start;
    background-color: #fff;
    border-radius: 8px;
    padding: 10px;
    box-shadow: 2px 2px 8px rgba(0, 0, 0, 0);
  }

  .nano-img-triangle {}

  .nano-sub-txt-box {
    border: solid 1.5px #dd9969;
    padding: 30px 40px;
    box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0);
  }

  .nano-img-list {
    width: 100%;
    max-width: 150px;
    margin-bottom: 23px;
  }

  .details-list {
    gap: 10px;
    display: flex;
    /* display: flex; */
    display: grid;
    grid-template-columns: 0.8fr 1fr;
    justify-content: space-around;
    padding: 7px;
    margin-top: 25px;
    border: solid 1.5px #dd9969;
    box-shadow: 3px 3px 2px 0px rgba(0, 0, 0, 0.35);
  }

  .nano-contents02-txt {
    text-align: left;
    margin-top: 22px;
    line-height: 2;
    letter-spacing: 1px;
    font-size: 3.4vw;
  }

  .clinic-point {
    background: #f0e2d6;
    padding: 10vw 5vw;
  }

  .point-nanocontents-img {
    display: block;
    margin: 0 auto;
    width: 80%;
  }

  .nano-details-list01 {
    width: 20%;
  }

  .nano-details-list03 {
    width: 20%;
  }

  .nano-txt-contents {
    font-weight: 500;
    margin-bottom: 20px;
  }

  .nano-txt-02 {
    margin-bottom: 15px;
    font-weight: 500;
  }

  .nano-point-color {
    color: #905941;
    font-family: sans-serif;
    font-size: 19px;
    font-style: normal;
    font-weight: 700;
  }

  .clinic-point-box-txt {
    font-size: 3.4vw;
    flex: 1;
    text-align: left;
    font-weight: 400;
  }

  .point-color-o {
    color: #dd9969;
    font-family: sans-serif;
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
  }

  .arrow02 {
    background: #F0E2D6;
    padding: 0px 20px 0px;
    margin: 80px 0 10px;
  }

  .arrow {
    background: #F0E2D6;
    padding: 0px 40px 0px;
    margin-bottom: -55px;
  }

  .color-nano {
    color: #dd9969;
    font-weight: 700;
    font-size: 4.0vw;
  }

  .main-txt-nano {
    font-family: initial;
    font-size: 3.9vw;
    font-weight: 550;
  }


}


/*  アンケートLP*/


.body {
  font-family: "Noto Sans JP", "Noto Serif JP", "Noto Sans", "Roboto",
    sans-serif;
}

/* FV */

.a-fv-img {
  width: 100%;
  height: auto;
  padding: 50px 0;
}

.a-inner {
  width: 100%;
  max-width: 375px;
  margin: 0 auto;
}

/* タブレット以上 */
@media screen and (min-width: 1024px) {
  .inner {
    /*     max-width: 768px; */
  }
}

/* a-section01 */

.a-section01 {
  padding: 22px 16px;
}

.a-section01-title {
  font-size: 17px;
  background: #f6e4cf;
  text-align: center;
  padding: 10px 19px;
}

.a-fv-img02 {
  margin: 0 auto;
  padding: 14px 0;
}

.a-section01-txt {
  text-align: center;
  font-size: 20px;
  margin-bottom: 19px;
}

.a-section01-pic {
  font-size: 30px;
  color: #ff0404;
  font-weight: 700;
}

.a-section01-box {
  text-align: center;
  background: #f6e4cf;
  padding: 12px;
}

.a-section01-box-title {
  font-size: 20px;
  margin-bottom: 12px;
}

.a-section01-box02 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 22px 0;
  gap: 5px;
}

.a-section01-su {
  font-size: 13px;
  margin-bottom: -10px;
}

.a-section01-en {
  font-size: 30px;
  font-weight: 500;
}

/* a-section02 */

.a-section02 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.no-contents {
  display: flex;
  justify-content: center;
  gap: 12px;
  color: #ff9f5b;
  font-family: "Noto Serif JP";
  font-size: 28.128px;
  margin-top: 30px;
  margin-bottom: 23px;
}

.no-txt-p {
  background: #fff;
  padding: 2px 14px;
}

.no-txt {
  background: rgba(255, 255, 255, 0.25);
  padding: 2px 14px;
}

/* a-section03 */

.a-section03 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.question-box {
  padding: 28px 15px;
  background: linear-gradient(180deg, #fff 0%, #fff7e0 100%);
}

.question-box-en {
  text-align: center;
  border-radius: 100px;
  background: #f6e4cf;
  color: #000;
  font-family: "Noto Serif JP";
  font-size: 20px;
}

.question-box-txt {
  padding: 18px 0px;
  font-size: 20px;
  text-align: center;
  font-family: "Noto Serif JP";
}

.question-img-box {
  display: flex;
  gap: 20px;
  justify-content: center;
  margin-bottom: 28px;
}

.button-box {
  display: flex;
  justify-content: center;
  gap: 20px;
}

.answer {
  padding: 15px 56px;
  font-size: 50px;
  background: linear-gradient(180deg, #f9e7af 0%, #ffbf00 100%);
  stroke: #fff;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  border: solid 1px #fff;
  border-radius: 15px;
  color: #fff;
}

.answer-txt {
  text-align: center;
  padding: 18px 0;
  font-family: "Noto Serif JP";
  font-size: 20px;
}

.answer-img {
  margin: 0 auto;
}

.a-pic-color {
  color: #ff0000;
}

.answer-contents {
  font-size: 14px;
  margin-top: 20px;
  line-height: 1.7;
}

.answer-casebox {
  padding: 10px 40px;
  background: #fff;
  margin-top: 13px;
}

.answer-title {
  text-align: center;
  margin-top: 45px;
  position: relative;
  font-family: "Noto Serif JP";
  z-index: 1;
}

.answer-title::after {
  content: "";
  position: absolute;
  bottom: 1px;
  left: 0;
  width: auto;
  left: 10%;
  right: 10%;
  height: 10px;
  background-color: rgba(255, 136, 0, 0.4);
  z-index: -1;
}

.answer-casebox-title {
  text-align: center;
  font-size: 44px;
  color: rgba(255, 136, 0, 0.2);
  margin-bottom: 7px;
}

.answer-imgbox {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.casebox-img02 {
  width: 12%;
  margin: 0 auto;
}

.answer-casebox-txt {
  font-size: 18px;
  text-align: center;
  margin-top: 13px;
  font-weight: 600;
}

.next-button01 {
  background: linear-gradient(180deg, #f9e7af 0%, #ffbf00 100%);
  font-size: 30px;
  width: 100%;
  margin-top: 24px;
  border-radius: 50px;
  border: solid 1px #fff;
  color: #fff;
  filter: drop-shadow(1px 2px 1.5px rgba(0, 0, 0, 0.25));
}

/* アンケートボタン用 */

.a-section03 {
  display: none;
}

.a-section04 {
  display: none;
}

.a-section05 {
  display: none;
}

.a-section06 {
  display: none;
}

.a-section07 {
  display: none;
}

.a-section08 {
  display: none;
}

.a-section09 {
  display: none;
}

.a-section10 {
  display: none;
}

/* a-section04 */

.a-section04 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.answer-04 {
  padding: 15px 36px;
  font-size: 45px;
  background: linear-gradient(180deg, #f9e7af 0%, #ffbf00 100%);
  stroke: #fff;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  border: solid 1px #fff;
  border-radius: 15px;
  color: #fff;
}

/* a-section05 */

.a-section05 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.answer-txt05 {
  text-align: left;
  padding: 18px 0;
  line-height: 1.7;
  font-size: 14px;
}

.answer-pic {
  text-align: center;
  padding: 20px 0;
  font-size: 20px;
  font-family: "Noto Serif JP";
}

.answer-casebox-title05 {
  text-align: center;
  font-size: 20px;
  padding: 20px 0;
  font-family: "Noto Serif JP";
}

.answer-casebox-txt05 {
  font-size: 17px;
  text-align: left;
  margin-top: 13px;
  font-weight: 600;
}

.next-button02 {
  background: linear-gradient(180deg, #f9e7af 0%, #ffbf00 100%);
  font-size: 30px;
  width: 100%;
  margin-top: 24px;
  border-radius: 50px;
  border: solid 1px #fff;
  color: #fff;
  filter: drop-shadow(1px 2px 1.5px rgba(0, 0, 0, 0.25));
}

/* a-section06 */

.a-section06 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.answer-06 {
  padding: 15px 36px;
  font-size: 45px;
  background: linear-gradient(180deg, #f9e7af 0%, #ffbf00 100%);
  stroke: #fff;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  border: solid 1px #fff;
  border-radius: 15px;
  color: #fff;
}

/* a-section07 */

.a-section07 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.next-button03 {
  background: linear-gradient(180deg, #f9e7af 0%, #ffbf00 100%);
  font-size: 30px;
  width: 100%;
  margin-top: 24px;
  border-radius: 50px;
  border: solid 1px #fff;
  color: #fff;
  filter: drop-shadow(1px 2px 1.5px rgba(0, 0, 0, 0.25));
}

.a-section07-title {
  clip-path: polygon(0 0, 100% 0, 100% 50%, 50% 75%, 0 50%);
  text-align: center;
  background: #ff9f5b;
  color: #fff;
  padding: 10px 0 40px;
  font-size: 20px;
  margin-top: 20px;
  font-family: "Noto Serif JP";
  font-weight: 600;
}

.a-section07-txtbox {
  display: flex;
  flex-direction: column;
  gap: 25px;
}

.a-section07-list {
  background: #ff9f5b;
  padding: 25px 20px 30px;
  color: #fff;
  position: relative;
}

.a-section07-list::after {
  position: absolute;
  bottom: -30px;
  right: -5px;
  font-size: 80px;
  font-weight: bold;
  color: rgba(255, 255, 255, 0.3);
  /* 白で透過 */
  pointer-events: none;
  /* テキストの上でもクリックを通す */
  z-index: 0;
}

.a-section07-list:nth-of-type(1)::after {
  content: "01";
}

.a-section07-list:nth-of-type(2)::after {
  content: "02";
}

.a-section07-list:nth-of-type(3)::after {
  content: "03";
}

.a-section07-item {
  text-align: center;
  border-bottom: solid 1px;
  line-height: 2.2;
  font-size: 15px;
  font-weight: 600;
}

.a-section07-txtbox {
  margin-top: 10px;
  font-size: 14px;
}

/* a-section08 */

.a-section08 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.answer-08 {
  padding: 15px 36px;
  font-size: 45px;
  background: linear-gradient(180deg, #f9e7af 0%, #ffbf00 100%);
  stroke: #fff;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  border: solid 1px #fff;
  border-radius: 15px;
  color: #fff;
}

/* a-section09 */

.a-section09 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.answer-imgbox-txt {
  text-align: center;
  margin-top: 10px;
}

.answer-imgbox09 {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* a-section10 */

.a-section10 {
  background: #f6e4cf;
  padding: 0 0 22px 0;
}

.a-section10-box {
  background: #ff9f5b;
  padding: 30px 20px;
  text-align: center;
  clip-path: polygon(0 0, 1000% 0, 100% 60%, 50% 75%, 0 60%);
}

.a-section10-title {
  font-size: 30px;
  color: #fff;
  border-bottom: dotted 3px;
  padding-bottom: 12px;
  font-family: "Noto Serif JP";
}

.a-section10-txt {
  font-size: 25px;
  margin-top: 20px;
  color: #fff;
  padding-bottom: 120px;
  font-family: "Noto Serif JP";
}

.a-section10-contents {
  text-align: center;
  font-size: 30px;
  font-family: "Noto Serif JP";
  margin-top: -80px;
}

.a-section010-box {
  text-align: center;
  background: #fff;
  padding: 12px;
  margin-top: 20px;
  margin-bottom: 20px;
}

.a-line {
  width: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  background: #00b900;
  color: #fff;
  padding: 10px 30px;
  border-radius: 50px;
  font-size: 30px;
  font-family: "Noto Serif JP";
}

.a-pic-txt {
  font-size: 32px;
  color: red;
  font-weight: 700;
}

.next-button09 {
  background: linear-gradient(180deg, #f9e7af 0%, #ffbf00 100%);
  font-size: 30px;
  width: 100%;
  margin-top: 24px;
  border-radius: 50px;
  border: solid 1px #fff;
  color: #fff;
  filter: drop-shadow(1px 2px 1.5px rgba(0, 0, 0, 0.25));
}

/* a-section11 */

.a-section11 {
  background: #f6e4cf;
  padding: 22px 16px;
}

.a-section11title {
  text-align: center;
  font-size: 25px;
  font-family: "Noto Serif JP";
  letter-spacing: 1.5px;
  margin-bottom: 20px;
  line-height: 1.3;
  margin-top: 30px;
}

.a-section11-txt {
  font-size: 14px;
  letter-spacing: 1px;
  font-weight: 400;
  margin-top: 20px;
  margin-bottom: 30px;
}

.a-section11-box {
  padding: 10px 25px;
  border: 1px solid #ff9f5b;
  margin-bottom: 30px;
}

.a-section11-box-pic {
  text-align: center;
  background: #ff9f5b;
  padding: 10px 0;
  font-size: 20px;
  color: #fff;
  font-family: "Noto Serif JP";
}

.a-section11-box-titile {
  text-align: center;
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 27px;
  font-family: "Noto Serif JP";
}

.a-section11-box-txt {
  font-size: 14px;
}

.a-inner10 {
  background: #f6e4cf;
  padding: 22px 16px;
}