/*

  MV

================================================================
*/
#top-mv {
  width: 100%;
  height: 700px;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 2000px auto;
  background-image: url(../img/top/mv_pc.jpg);}
#top-mv .inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;}
#top-mv .catch {
  margin-bottom: 40px;
  padding: 10px 30px 14px;
  border: solid #AF9E67;
  border-width: 1px 0;
  font-size: 32px;
  letter-spacing: .2em;}
#top-mv .catch span {
  color: #AF9E67;}
#top-mv .read {
  margin-bottom: 20px;
  font-size: 26px;
  letter-spacing: .2em;}
#top-mv h1 {
  font-weight: 500;
  font-size: 64px;
  letter-spacing: .2em;}
#top-mv .en {
  margin-top: 40px;
  font-size: 22px;
  color: #AF9E67;
  letter-spacing: .1em;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#top-mv {
  padding: 0 10vw;
  height: 110vw;
  background-size: cover;
  background-image: url(../img/top/mv_sp.jpg);}
#top-mv .catch {
  margin-bottom: 5vw;
  padding: 3vw 3vw 3.5vw 3vw;
  text-align: center;
  font-size: 5.2vw;
  line-height: 1.4;}
#top-mv .read {
  margin-bottom: 3vw;
  font-size: 4vw;}
#top-mv h1 {
  white-space: nowrap;
  font-size: 8.5vw;}
#top-mv .en {
  margin-top: 5vw;
  font-size: 4vw;}
}

/*

  共通

================================================================
*/
.h2-box {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  margin-bottom: 50px;}
.h2-box .en {
  font-size: 56px;
  color: #AF9E67;
  letter-spacing: .1em;}
.h2-box h2 {
  margin-top: 10px;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: .2em;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
.h2-box {
  margin-bottom: 10vw;}
.h2-box .en {
  font-size: 4vw;}
.h2-box h2 {
  margin-top: 3vw;
  text-align: center;
  line-height: 1.4;
  font-size: 5.4vw;}
}

/*

  WCLINICのカスタマイズ治療

================================================================
*/
#top-about {
  padding: 80px 0;}
#top-about .movie {
  position: relative;
  width: 880px;
  margin: 0 auto;
  padding: 80px 100px;
  background-color: #F3EFE8;}
#top-about .movie h3 {
  position: absolute;
  top: -12px;
  left: 0;
  right: 0;
  text-align: center;}
#top-about .movie h3 span {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 34px;
  padding: 0 20px;
  background-color: #AF9E67;
  border-radius: 100px;
  color: #fff;}
#top-about .movie div {
  width: 100%;
  aspect-ratio: 1/0.5625;}
#top-about .movie div iframe {
  width: 100%;
  height: 100%;}
#top-about .whats {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 1000px;
  margin: 0 auto;
  margin-top: 60px;}
#top-about .whats figure img {
  width: 430px;
  height: auto;}
#top-about .whats > div {
  flex: 1;
  margin-left: 60px;}
#top-about .whats > div h3 {
  margin-bottom: 20px;
  font-weight: 500;
  font-size: 22px;
  letter-spacing: .2em;}
#top-about .whats > div .txt {
  line-height: 1.9;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#top-about {
  padding: 10vw 0 15vw 0;}
#top-about .movie {
  width: 100%;
  padding: 10vw 5vw;}
#top-about .movie h3 {
  top: -4vw;}
#top-about .movie h3 span {
  height: 8vw;
  padding: 0 5vw;
  font-size: 3.5vw;}
#top-about .whats {
  flex-direction: column-reverse;
  width: 100%;
  padding: 0 7vw;
  margin-top: 10vw;}
#top-about .whats figure img {
  width: 100%;}
#top-about .whats > div {
  margin-bottom: 10vw;
  margin-left: 0;}
#top-about .whats > div h3 {
  margin-bottom: 3vw;
  font-size: 4.5vw;}
#top-about .whats > div .txt {
  font-size: 3.5vw;}
}

/*

  カスタマイズ治療の症例

================================================================
*/
#top-case {
  padding: 80px 0;
  background: linear-gradient(to bottom right, #C8C6AD, #F7F4E5);}
#top-case ul {
  display: flex;
  justify-content: space-between;}
#top-case ul li {
  width: 370px;}
#top-case ul li > figure {
  margin-bottom: 20px;}
#top-case ul li h3 {
  margin-bottom: 10px;
  text-align: center;
  font-size: 18px;}
#top-case ul li table {
  width: 100%;
  border-top: 1px solid #DDCE9B;
  border-bottom: 1px solid #DDCE9B;
  line-height: 1.7;
  font-size: 14px;}
#top-case ul li table tr {
  border-top: 1px solid #DDCE9B;}
#top-case ul li table th {
  white-space: nowrap;
  padding: 10px 0;
  vertical-align: top;
  color: #8A703E;}
#top-case ul li table td {
  padding: 10px 0;
  padding-left: 20px;}
#top-case ul li .doctor {
  display: flex;
  align-items: center;
  height: 54px;
  margin-top: 20px;}
#top-case ul li .doctor figure {
  height: 100%;}
#top-case ul li .doctor figure img {
  width: auto;
  height: 100%;}
#top-case ul li .doctor span {
  margin-left: 20px;}
#top-case a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  margin-top: 40px;
  width: 290px;
  height: 62px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #AF9E67;
  color: #AF9E67;
  letter-spacing: .2em;
  box-shadow: 0 3px 0 #7A602C;}
#top-case a span {
  position: relative;
  display: inline-block;}
#top-case a span:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #AF9E67;}
#top-case .come {
  position: relative;
  margin-top: 10px;
  padding: 20px 30px;
  background-color: #F3F2E8;
  border-radius: 5px;}
#top-case .come:after {
  pointer-events: none;
  content: '';
  position: absolute;
  bottom: -12px;
  left: 20px;
  width:0;
  height:0;
  border-style:solid;
  border-width: 14px 6px 0 6px;
  border-color: #F3F2E8 transparent transparent transparent;}
#top-case .come p {
  line-height: 1.8;
  font-size: 14px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#top-case {
  padding: 15vw 0 15vw 5vw;}
#top-case ul {
  position: relative;
  overflow-x: auto;
  padding-bottom: 3vw;}
#top-case ul li {
  position: relative;
  flex-shrink: 0;
  width: 60vw;}
#top-case ul li:last-child:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0; 
  right: -5vw;
  width: 5vw;
  height: 5vw;
  z-index: 5;}
#top-case ul li + li {
  margin-left: 5vw;}
#top-case ul li > figure {
  margin-bottom: 3.5vw;}
#top-case ul li h3 {
  margin-bottom: 3vw;
  font-size: 3.8vw;}
#top-case ul li table {
  font-size: 3.3vw;
  line-height: 1.6;}
#top-case ul li table th {
  padding: 2vw 0;}
#top-case ul li table td {
  padding: 2vw 0;
  padding-left: 5vw;}
#top-case ul li .doctor {
  height: 12vw;
  margin-top: 3vw;}
#top-case ul li .doctor span {
  margin-left: 5vw;
  font-size: 3.4vw;}
#top-case a {
  margin-top: 5vw;
  width: 70vw;
  height: 13vw;
  font-size: 3.6vw;}
#top-case a span:after {
  bottom: -1vw;}
#top-case .come {
  margin-top: 3vw;
  padding: 3vw 4vw;
  border-radius: 2vw;}
#top-case .come:after {
  pointer-events: none;
  bottom: -2vw;
  left: 5vw;
  border-width: 2vw 1vw 0 1vw;}
#top-case .come p {
  font-size: 3vw;}
}

/*

  おすすめ

================================================================
*/
#top-reco {
  padding: 80px 0;
  background-repeat: no-repeat;
  background-position: top right;
  background-size: cover;
  background-image: url(../img/top/recommend_bg.jpg);}
#top-reco .comment {
  position: relative;
  height: 110px;
  z-index: 2;}
#top-reco .comment ul li {
  position: absolute;
  font-size: 16px;}
#top-reco .comment ul li span {
  position: relative;
  display: block;
  padding: 12px 15px;
  border-radius: 6px;
  background-color: #fff;}
#top-reco .comment ul li span:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 2px;
  left: 2px;
  width: 100%;
  height: 100%;
  border: 1px solid #AF9E67;
  border-radius: 6px;
  z-index: 2;}
#top-reco .comment ul li span i {
  color: #AF9E67;}
#top-reco .comment ul li:nth-child(1) {
  top: 0;
  left: 200px;}
#top-reco .comment ul li:nth-child(2) {
  bottom: 0;
  left: 400px;}
#top-reco .comment ul li:nth-child(3) {
  top: 30px;
  right: 250px;}
#top-reco .list {
  margin-top: -20px;}
#top-reco .list ul {
  display: flex;
  justify-content: space-between;}
#top-reco .list ul li {
  position: relative;
  width: 220px;}
#top-reco .list ul li h3 {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 40px;
  text-align: center;
  background-color: #B7AE9C;
  font-size: 18px;
  color: #fff;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#top-reco {
  padding: 15vw 0;}
#top-reco .comment {
  height: 40vw;}
#top-reco .comment ul li {
  font-size: 3.5vw;}
#top-reco .comment ul li span {
  padding: 3vw;
  line-height: 1.4;}
#top-reco .comment ul li span i {
  color: #AF9E67;}
#top-reco .comment ul li:nth-child(1) {
  top: 0;
  left: 3vw;}
#top-reco .comment ul li:nth-child(2) {
  bottom: 0;
  left: auto;
  right: 10vw;}
#top-reco .comment ul li:nth-child(3) {
  top: 14.5vw;
  right: auto;
  left: 10vw;}
#top-reco .list {
  margin-top: -3vw;
  padding: 0 5vw;}
#top-reco .list ul {
  flex-wrap: wrap;
  justify-content: center;}
#top-reco .list ul li {
  width: calc(100%/3);}
#top-reco .list ul li h3 {
  height: 7vw;
  font-size: 3.3vw;}
}

/*

  おすすめ

================================================================
*/
#top-flow {
  padding: 80px 0;
  background-color: #FDFBF9;}
#top-flow ul {
  width: 1100px;
  margin: 0 auto;}
#top-flow ul li {
  position: relative;
  display: flex;
  justify-content: flex-end;}
#top-flow ul li:before {
  content: '01';
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  background-color: #AF9E67;
  border-radius: 100%;
  color: #fff;
  font-family: "egr";
  font-style: normal;
  font-display: swap;
  font-size: 20px;}
#top-flow ul li:nth-child(2):before {
  content: '02';}
#top-flow ul li:nth-child(3):before {
  content: '03';}
#top-flow ul li:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 26px;
  width: 1px;
  height: calc(100% - 72px);
  background-color: #C6C3C4;}
#top-flow ul li + li {
  margin-top: 40px;}
#top-flow ul li .box {
  position: relative;
  width: 1000px;
  padding: 60px 80px;
  background-color: #fff;}
#top-flow ul li .box:after {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  border: 1px solid #AF9E67;
  z-index: 2;}
#top-flow ul li .box .title {
  margin-bottom: 30px;
  text-align: center;
  font-size: 16px;}
#top-flow ul li .box .title span {
  position: relative;}
#top-flow ul li .box .title span:before {
  content: '';
  position: absolute;
  top: 50%;
  left: -40px;
  width: 20px;
  height: 1px;
  background-color: #DDCE9B;}
#top-flow ul li .box .title span:after {
  content: '';
  position: absolute;
  top: 50%;
  right: -40px;
  width: 20px;
  height: 1px;
  background-color: #DDCE9B;}
#top-flow ul li .box .title span i {
  display: block;
  margin-top: 15px;
  font-size: 14px;}
#top-flow ul li .box .flex {
  display: flex;
  justify-content: space-between;}
#top-flow ul li .box .flex img {
  width: 49%;
  height: auto;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#top-flow {
  padding: 15vw 5vw;}
#top-flow ul {
  width: 100%;}
#top-flow ul li:before {
  width: 10vw;
  height: 10vw;
  font-size: 4.5vw;}
#top-flow ul li:after {
  left: 5vw;
  height: calc(100% - 12vw);}
#top-flow ul li + li {
  margin-top: 10vw;}
#top-flow ul li .box {
  width: 85%;
  padding: 5vw;}
#top-flow ul li .box:after {
  top: 1vw;
  left: 1vw;}
#top-flow ul li .box .title {
  margin-bottom: 5vw;
  text-align: left;
  font-size: 3.5vw;
  line-height: 1.5;}
#top-flow ul li .box .title span:before {
  display: none;}
#top-flow ul li .box .title span:after {
  display: none;}
#top-flow ul li .box .title span i {
  margin-top: 3vw;
  font-size: 3.2vw;}
#top-flow ul li .box .flex {
  flex-direction: column;}
#top-flow ul li .box .flex img {
  width: 100%;}
#top-flow ul li .box .flex img + img {
  margin-top: 2vw;}
}

/*

  カスタマイズドクターの紹介

================================================================
*/
#top-doctor {
  padding: 80px 0;
  background: linear-gradient(to bottom right, #C8C6AD, #F7F4E5);}
#top-doctor ul {
  display: flex;
  justify-content: space-between;}
#top-doctor ul li {
  width: 280px;}
#top-doctor ul li .dimg {
  position: relative;
  margin-bottom: 20px;}
#top-doctor ul li .point {
  width: 100%;
  margin-bottom: 20px;
  padding: 5px;
  height: 115px;
  border: 1px solid #AF9E67;}
#top-doctor ul li .point p {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: #F3F2E8;
  text-align: center;
  line-height: 1.5;
  font-size: 16px;
  letter-spacing: .05em;}
#top-doctor ul li .point p i {
  font-weight: 600;
  color: #AF9E67;}
#top-doctor ul li .dimg:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 0;
  left: 18px;
  width: 1px;
  height: 20px;
  background-color: #fff;}
#top-doctor ul li .dimg p {
  pointer-events: none;
  position: absolute;
  top: 30px;
  left: 10px;
  font-size: 20px;
  writing-mode: vertical-rl;
  letter-spacing: .2em;
  text-shadow: 0 0 5px rgba(0, 0, 0, .2);
  color: #fff;}
#top-doctor ul li .name {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-bottom: 15px;
  border-bottom: 1px solid #DDCE9B;}
#top-doctor ul li .name a {
  position: absolute;
  top: -5px;
  right: 10px;}
#top-doctor ul li .name a img {
  width: 30px;
  height: auto;}
#top-doctor ul li .name .namae {
  display: flex;
  align-items: flex-end;
  font-size: 22px;
  letter-spacing: .1em;}
#top-doctor ul li .name .namae span {
  margin-right: 15px;
  font-size: 15px;}
#top-doctor ul li .name .katagaki {
  margin-top: 15px;
  font-weight: 600;
  font-size: 13px;
  color: #AF9E67;}
#top-doctor ul li .keireki .open {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 36px;
  transition: .2s;}
#top-doctor ul li .keireki .open.active {
  opacity: 0;
  height: 10px;}
#top-doctor ul li .keireki > div {
  display: none;}
#top-doctor ul li .keireki table {
  width: 100%;
  line-height: 1.6;
  font-size: 13px;}
#top-doctor ul li .keireki table th {
  white-space: nowrap;
  vertical-align: top;
  padding: 2px 0;
  font-weight: 500;}
#top-doctor ul li .keireki table td {
  padding: 2px 0;
  padding-left: 20px;}
#top-doctor ul li .keireki table tr:first-child th,
#top-doctor ul li .keireki table tr:first-child td {
  padding-top: 0;}
#top-doctor ul li .keireki table tr:last-child th,
#top-doctor ul li .keireki table tr:last-child td {
  padding-bottom: 0;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#top-doctor {
  padding: 15vw 0;}
#top-doctor ul {
  flex-wrap: wrap;}
#top-doctor ul li {
  width: 50%;
  margin-top: 5vw;}
#top-doctor ul li:nth-child(-n+2) {
  margin-top: 0;}
#top-doctor ul li .point {
  margin-bottom: 1vw;
  padding: 0;
  height: 23vw;
  border: none;}
#top-doctor ul li .point p {
  font-size: 3.2vw;}
#top-doctor ul li .dimg {
  margin-bottom: 3vw;}
#top-doctor ul li .dimg:before {
  left: 4.5vw;
  height: 3.5vw;}
#top-doctor ul li .dimg p {
  top: 5vw;
  left: 3vw;
  font-size: 3.8vw;}
#top-doctor ul li .name {
  padding: 0 3vw;
  padding-bottom: 3vw;}
#top-doctor ul li .name a {
  top: -13vw;
  right: 3vw;}
#top-doctor ul li .name a img {
  width: 8vw;}
#top-doctor ul li .name .namae {
  font-size: 4vw;}
#top-doctor ul li .name .namae span {
  margin-right: 5vw;
  font-size: 3.2vw;}
#top-doctor ul li .name .katagaki {
  margin-top: 3vw;
  line-height: 1.4;
  font-size: 2.8vw;}
#top-doctor ul li .keireki .open {
  height: 8vw;}
#top-doctor ul li .keireki .open.active {
  height: 3vw;}
#top-doctor ul li .keireki > div {
  padding: 0 3vw;}
#top-doctor ul li .keireki table,
#top-doctor ul li .keireki table tr,
#top-doctor ul li .keireki table tbody,
#top-doctor ul li .keireki table th,
#top-doctor ul li .keireki table td {
  display: block;}
#top-doctor ul li .keireki table {
  line-height: 1.6;
  font-size: 3vw;}
#top-doctor ul li .keireki table th {
  line-height: 1.0;
  padding: .5vw 0 0;}
#top-doctor ul li .keireki table td {
  padding: .5vw 0;
  padding-left: 0;}
}

/*

  全国でも屈指のレーザー機器、治療メニューの豊富さ！

================================================================
*/
#top-tr {
  padding: 80px 0;
  background: url(../img/top/treatment_bg.jpg) no-repeat top center / cover;}
#top-tr .box {
  width: 1000px;
  margin: 0 auto;
  padding: 50px 85px;
  background-color: #fff;}
#top-tr .box .title {
  margin-bottom: 30px;
  text-align: center;
  font-size: 22px;
  letter-spacing: .2em;}
#top-tr .box .title span {
  position: relative;
  display: inline-flex;
  align-items: flex-end;
  padding-bottom: 10px;
  border-bottom: 1px solid #AF9E67;}
#top-tr .box .title span i {
  margin-left: 10px;
  letter-spacing: .05em;
  font-size: 32px;
  color: #AF9E67;}
#top-tr .box .title span:after {
  content: '';
  position: absolute;
  bottom: -18px;
  left: 50%;
  width: 1px;
  height: 20px;
  background-color: #AF9E67;
  transform: rotateZ(45deg);}
#top-tr .note {
  width: 1000px;
  margin: 15px auto 0;
  text-align: right;
  font-size: 14px;}
#top-tr .note span {
  position: relative;
  display: inline-block;
  padding-left: 1.2em;}
#top-tr .note span:before {
  content: '※';
  position: absolute;
  top: 0;
  left: 0;}
#top-tr .tanpin {
  margin-top: 30px;}
#top-tr .tanpin h3 {
  margin-bottom: 30px;
  padding: 12px 0;
  background-color: #AF9E67;
  text-align: center;
  font-weight: 600;
  font-size: 18px;
  color: #fff;}
#top-tr .tanpin .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;}
#top-tr .tanpin .flex table {
  width: 49%;
  border: solid #DDDCCC;
  border-width: 1px 0 0 1px;
  line-height: 1.6;
  letter-spacing: .02em;}
#top-tr .tanpin .flex table caption {
  caption-side: bottom;
  margin-top: 10px;
  text-align: right;
  font-size: 13px;}
#top-tr .tanpin .flex table thead th {
  font-weight: 600;}
#top-tr .tanpin .flex table thead td {
  background-color: #F3F2E8;
  font-weight: 600;}
#top-tr .tanpin .flex table th {
  padding: 10px 0;
  border: solid #DDDCCC;
  border-width: 0 1px 1px 0;
  background-color: #F3F2E8;
  font-weight: 500;}
#top-tr .tanpin .flex table td {
  padding: 10px 0;
  border: solid #DDDCCC;
  border-width: 0 1px 1px 0;
  text-align: center;}

/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#top-tr {
  padding: 15vw 5vw;}
#top-tr .box {
  width: 100%;
  padding: 7vw;}
#top-tr .box .title {
  margin-bottom: 5vw;
  font-size: 4.2vw;}
#top-tr .box .title span {
  flex-direction: column;
  align-items: center;
  letter-spacing: .1em;
  padding-bottom: 4vw;}
#top-tr .box .title span i {
  margin-left: 0;
  margin-top: 2vw;
  font-size: 6.2vw;}
#top-tr .box .title span:after {
  bottom: -3vw;
  height: 5vw;}
#top-tr .note {
  width: 100%;
  margin: 3.5vw 0 0 0;
  text-align: left;
  line-height: 1.7;
  font-size: 2.8vw;}
#top-tr .tanpin {
  margin-top: 5vw;}
#top-tr .tanpin h3 {
  margin-bottom: 5vw;
  padding: 3vw;
  line-height: 1.5;
  font-size: 3.5vw;}
#top-tr .tanpin .flex {
  flex-direction: column;}
#top-tr .tanpin .flex table caption {
  margin-top: 2vw;
  font-size: 2.8vw;}
#top-tr .tanpin .flex table + table {
  margin-top: -1px;}
#top-tr .tanpin .flex table + table thead {
  display: none;}
#top-tr .tanpin .flex table {
  width: 100%;
  font-size: 3.2vw;}
#top-tr .tanpin .flex table th {
  width: 50%;
  padding: 2vw 0;}
#top-tr .tanpin .flex table td {
  width: 50%;
  padding: 2vw 0;}
}

/*

  カスタマイズ治療における規定事項

================================================================
*/
#top-regu {
  padding: 80px 0;
  background-color: #F3EFE8;}
#top-regu .box {
  position: relative;
  padding: 60px 0;
  border: solid #AF9E67;
  border-width: 2px 0;}
#top-regu .box .title {
  position: absolute;
  top: -14px;
  left: 0;
  width: 100%;
  text-align: center;
  font-size: 22px;
  letter-spacing: .2em;}
#top-regu .box .title span {
  display: inline-block;
  padding: 0 20px;
  background-color: #F3EFE8;}
#top-regu .box dl {
  width: 850px;
  margin: 0 auto;}
#top-regu .box dl dt {
  position: relative;
  margin-bottom: 10px;
  font-weight: 600;
  font-size: 16px;
  padding-left: 20px;}
#top-regu .box dl dt:before {
  pointer-events: none;
  content: '';
  position: absolute;
  top: 2px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 100%;
  background-color: #AF9E67;}
#top-regu .box dl dd {
  line-height: 1.7;}
#top-regu .box dl dd + dt {
  margin-top: 30px;}
/* ------------------------------------------------------- sp */
@media (max-width: 767px) {
#top-regu {
  padding: 15vw 7vw;}
#top-regu .box {
  padding: 17vw 0 10vw;}
#top-regu .box .title {
  top: -7vw;
  font-size: 5.2vw;
  line-height: 1.4;}
#top-regu .box .title span {
  padding: 0 3vw;}
#top-regu .box dl {
  width: 100%;
  font-size: 3.4vw;}
#top-regu .box dl dt {
  margin-bottom: 3vw;
  font-size: 3.7vw;
  padding-left: 5vw;}
#top-regu .box dl dt:before {
  top: .2vw;
  width: 3vw;
  height: 3vw;}
#top-regu .box dl dd {
  line-height: 1.8;}
#top-regu .box dl dd + dt {
  margin-top: 7vw;}
}