@charset "UTF-8";
/*
--------------------------------------------------------------
    index
        root
        base
        reset
        layout
        component
        project
        utility
--------------------------------------------------------------
*/
/*---------------------------------------------------------------------------------------
--
-- :root
--
----------------------------------------------------------------------------------------*/
:root {
  --gothic: 游ゴシック medium, yu gothic medium, 游ゴシック, yu gothic, メイリオ, meiryo, ヒラギノ角ゴ pro, hiragino kaku gothic pro, sans-serif;
  --serif: YuMincho, "Yu Mincho", 游明朝, "Times New Roman", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  --color-blue: #0086d3;
  --color-aqua-1: #e7ebf3;
  --color-aqua-2: #5ad4eb;
  --color-navy: #0272b2;
  --color-yellow: #fff100;
  --color-yellow2: #fcff00;
  --color-yellow3: #e4ba56;
  --color-red: #ff4e00;
  --color-black-1: #4c4c4c;
  --color-black-2: #453f41;
  --color-black-3: #252525;
  --color-cv-tel: #7eb6ff;
  --color-cv-web: #e67bbb;
  --color-cv-line: #48cb5e;
  --color-ocher: #a98945;
  --color-white: #ffffff;
}

/*---------------------------------------------------------------------------------------
--
-- reset
--
----------------------------------------------------------------------------------------*/
/*共通*/
a {
  cursor: pointer;
}

body a:hover {
  color: unset;
}

dl {
  margin: 0;
}

dd {
  margin: 0;
}

img,
video {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

/*---------------------------------------------------------------------------------------
--
-- base
--
----------------------------------------------------------------------------------------*/
body {
  background: var(--color-aqua-1);
  font-family: var(--gothic);
  color: var(--color-black-1);
}

main,
header {
  max-width: 750px;
  margin: 0 auto;
}

main {
  background-color: var(--color-white);
}

/* spアコーディオン */
dl.accordion {
  overflow: hidden;
}
dl.accordion > dt::before {
  color: var(--color-white);
  position: absolute;
  top: 0.5em;
  left: 0.5em;
}
dl.accordion > dd {
  background: var(--color-white);
  padding: 0.5em 0.5em 0.5em 2em;
  position: relative;
  display: none;
}
dl.accordion > dd:before {
  position: absolute;
  top: 0.5em;
  left: 0.5em;
}

/*---------------------------------------------------------------------------------------
--
-- layout
--
----------------------------------------------------------------------------------------*/
/* header */
header {
  position: sticky !important;
  transform: none !important;
  left: 0 !important;
}

.lp_header {
  height: min(90px, calc(calc(90/750) * 100vw));
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-left: min(22px, calc(calc(22/750) * 100vw));
  background-color: var(--color-white);
  box-sizing: border-box;
  height: min(100px, calc(calc(100/750) * 100vw));
}

.head_logo {
  box-sizing: border-box;
}
.head_logo h1 {
  height: 100%;
}
.head_logo img {
  max-height: 100%;
  width: auto;
  display: block;
}
.head_btn {
  height: 100%;
}
.head_btn img {
  max-height: 100%;
  width: auto;
  display: block;
}

.is-drawer_open .head__menu {
  max-width: 750px;
  left: 0 !important;
  right: 0 !important;
  margin-left: auto;
  margin-right: auto;
}

/* footer */
footer,
.l-foot-subnav {
  font-family: "Noto Sans JP", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN";
  background: #FFF5F5;
}

.l-foot-subnav {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-top: min(50px, calc(calc(50/750) * 100vw));
  font-size: min(22px, calc(calc(22/750) * 100vw));
}
.l-foot-subnav__link {
  color: #ACB3C2;
  display: flex;
  align-items: center;
}
.l-foot-subnav__link:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  color: #ACB3C2;
  line-height: 1;
  width: 0.5em;
  height: 0.5em;
  border: 0.1em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateX(-25%) rotate(45deg);
  margin-right: min(8px, calc(calc(8/750) * 100vw));
  position: relative;
  bottom: min(3px, calc(calc(3/750) * 100vw));
}
.l-foot-subnav__link:hover {
  color: #ACB3C2;
  text-decoration: underline;
}

footer {
  padding: min(10px, calc(calc(10/750) * 100vw)) 0 min(180px, calc(calc(180/750) * 100vw));
  max-width: 750px;
  margin: 0 auto;
}
footer small {
  color: #fdc5c5;
  font-size: min(22px, calc(calc(22/750) * 100vw));
  text-align: center;
}

.foot_btn {
  position: fixed;
  right: min(50px, calc(calc(50/750) * 100vw));
  bottom: min(50px, calc(calc(50/750) * 100vw));
  z-index: 100;
  cursor: pointer;
}

/* section */
.l-section {
  padding-bottom: min(100px, calc(calc(100/750) * 100vw));
}

/* section_body */
.section_body {
  padding: min(120px, calc(calc(120/750) * 100vw)) min(40px, calc(calc(40/750) * 100vw)) min(80px, calc(calc(80/750) * 100vw));
  margin: 0 auto;
  background: #ffffff;
}

/*---------------------------------------------------------------------------------------
--
-- component
--
----------------------------------------------------------------------------------------*/
/* limit_btn */
.limit_btn {
  padding: min(80px, calc(calc(80/750) * 100vw)) 0 min(50px, calc(calc(50/750) * 100vw));
}
.limit_btn-obj {
  display: block;
  margin: 0 auto min(35px, calc(calc(35/750) * 100vw));
}

.box_countdown {
  font-size: min(30px, calc(calc(30/750) * 100vw));
  font-weight: 500;
  color: #f1517b;
  width: 64%;
  margin: auto;
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  line-height: 1;
}
.box_countdown--arrow {
  position: relative;
}
.box_countdown--arrow:before, .box_countdown--arrow:after {
  content: "";
  display: block;
  position: absolute;
  height: 100%;
  width: 2px;
  background: #f1517b;
  top: 0;
}
.box_countdown--arrow:before {
  transform: rotate(155deg);
  left: 0;
}
.box_countdown--arrow:after {
  transform: rotate(25deg);
  right: min(-4px, -0.5333333333vw);
}
.box_countdown__balloon {
  color: inherit;
  text-align: center;
  font-weight: inherit;
  margin-bottom: 0.2em;
}
.box_countdown .yycountdown-box {
  color: inherit;
  font-size: min(30px, calc(calc(30/750) * 100vw));
  text-align: center;
}
.box_countdown .yyc-day, .box_countdown .yyc-hou, .box_countdown .yyc-min, .box_countdown .yyc-sec {
  font-family: 游ゴシック, "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, メイリオ, "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  color: inherit;
  border-radius: min(5px, calc(calc(5/750) * 100vw));
  font-size: 1.46em;
}
.box_countdown .yyc-day-text, .box_countdown .yyc-hou-text, .box_countdown .yyc-min-text, .box_countdown .yyc-sec-text {
  color: inherit;
  font-size: 1.12em;
}

/* title */
.title.has-line {
  font-size: min(32px, calc(calc(32/750) * 100vw));
  line-height: 1.7;
  font-weight: 500;
  text-align: center;
  padding-bottom: 1em;
  position: relative;
}
.fc__pink {
  color: #ff7878;
  font-weight: bold !important;
}
.title.has-line:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.15em;
  background: linear-gradient(to right, #d4d4d4, #d4d4d4 50%, #ff7878 50%);
}
.title.has-line:not(:first-child) {
  margin-top: min(130px, calc(calc(130/750) * 100vw));
}
.title.has-line:not(:last-child) {
  margin-bottom: min(80px, calc(calc(80/750) * 100vw));
}
.title.is-small {
  margin-top: 1.7857142857em;
  font-size: min(28px, calc(calc(28/750) * 100vw));
  font-weight: bold;
  margin-bottom: 0.5em;
}
.title.is-1, .title.is-2, .title.is-3 {
  position: relative;
  padding-left: 1.785714em;
}
.title.is-1:before, .title.is-2:before, .title.is-3:before {
  content: "1";
  font-size: 1.785714em;
  font-family: "Times New Roman", serif;
  font-weight: lighter;
  font-style: italic;
  color: #e7588a;
  position: absolute;
  top: -0.2em;
  left: 0.1em;
}
.title.is-2:before {
  content: "2";
}
.title.is-3:before {
  content: "3";
}

/* text */
.bodytext {
  font-size: min(28px, calc(calc(28/750) * 100vw));
  line-height: 1.75;
  font-weight: 500;
  text-align: justify;
}

/* lede(リードテキスト) */
.lede {
  font-size: min(32px, calc(calc(32/750) * 100vw));
  line-height: 1.82;
  font-weight: bold;
  text-align: center;
}
.lede:not(:first-child) {
  margin-top: 2.25em;
}
.lede:not(:last-child) {
  margin-bottom: 2.5em;
}

/* sectionFV */
.fv_notation {
  font-size: min(22px, calc(calc(22/750) * 100vw));
  line-height: 1.5;
  padding: 1.0909090909em 5.3333333333% 1.8181818182em;
  font-weight: 500;
}

/* figure */
.figure {
  margin-right: auto;
  margin-left: auto;
  width: 100%;
}
.figure.is-full {
  width: 111.9402985075%;
  margin-left: -5.9701492537%;
}
.figure.is-wide {
  width: 108.9552238806%;
  margin-left: -4.4776119403%;
}
.figure.is-narrow {
  width: 83.5820895522%;
}
.figure.is-narrow-more {
  width: 77.1641791045%;
}
.figure:not(:first-child) {
  margin-top: min(80px, calc(calc(80/750) * 100vw));
}
.figure:not(:last-child) {
  margin-bottom: min(80px, calc(calc(80/750) * 100vw));
}
.figure.is-manga {
  margin-top: min(80px, calc(calc(80/750) * 100vw));
  margin-bottom: min(30px, calc(calc(30/750) * 100vw));
}
.figure.is-manga + .is-manga {
  margin-top: min(30px, calc(calc(30/750) * 100vw));
}
.figure-img {
  width: 100%;
}

/* list */
.list {
  font-size: min(30px, calc(calc(30/750) * 100vw));
  display: flex;
  flex-direction: column;
  gap: 0.333333em;
}
.list li {
  line-height: 1.333333;
  padding-left: 1.7333333em;
  position: relative;
  font-weight: 500;
  text-align: justify;
}
.list li:before {
  content: "";
  position: absolute;
}
.list.is-checked li:before {
  left: 0;
  top: 0;
  width: 1.23333em;
  height: 1.3333333em;
  background-image: url(../img/woman_all/checkmark.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center top;
}
.list.is-circle li:before {
  left: 0.733333em;
  top: 0.6666665em;
  transform: translateY(-50%);
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background: #000;
}

/* table */
.tablecmn {
  border-collapse: collapse;
  border-spacing: 0;
  border: none;
  width: 100%;
  font-size: min(15px, calc(calc(15/750) * 100vw));
  line-height: 1.5;
  color: #0e0e0e;
}
.tablecmn:not(:first-child) {
  margin-top: min(80px, calc(calc(80/750) * 100vw));
}
.tablecmn:not(:last-child) {
  margin-bottom: min(80px, calc(calc(80/750) * 100vw));
}
.tablecmn tbody, .tablecmn tr, .tablecmn td, .tablecmn th {
  text-align: inherit;
  line-height: inherit;
  font-size: inherit;
  color: inherit;
}
.tablecmn tr, .tablecmn th, .tablecmn td {
  margin: 0;
  padding: 0;
}
.tablecmn th, .tablecmn td {
  font-size: min(24px, calc(calc(24/750) * 100vw));
  -webkit-text-size-adjust: none;
  font-weight: 500;
  border: 1px solid #999;
  padding: 0.5em;
  outline: none;
}
.tablecmn th {
  font-style: normal;
  font-weight: 500;
  text-align: left;
  position: relative;
  background: #5d5d5d;
  border: none;
  color: #fff;
  text-align: left;
  padding: min(10px, calc(calc(10/750) * 100vw)) min(15px, calc(calc(15/750) * 100vw));
  border-top: 1px solid #4b423e;
  border-bottom: 1px solid #4b423e;
  box-sizing: border-box;
}
.tablecmn td {
  border: none;
  border-bottom: 1px solid #5d5d5d;
  box-sizing: border-box;
  padding: min(20px, calc(calc(20/750) * 100vw)) min(15px, calc(calc(15/750) * 100vw));
  position: relative;
  letter-spacing: 0;
}
.tablecmn td:last-child {
  border-right: none;
}
.tablecmn tr:nth-child(even) {
  background: #f7f7f7;
}
.tablecmn thead th {
  text-align: inherit;
}
.tablecmn .w20 {
  width: 20% !important;
  max-width: 20% !important;
}
.tablecmn .w25 {
  width: 25% !important;
  max-width: 25% !important;
}
.tablecmn .w30 {
  width: 30% !important;
  max-width: 30% !important;
}
.tablecmn .mb30 {
  margin-bottom: min(30px, calc(calc(30/750) * 100vw)) !important;
}
.tablecmn .center {
  text-align: center;
}
.tablecmn .pc_none {
  display: none !important;
}

.table2 {
  table-layout: fixed;
  border-collapse: collapse;
}
.table2 tr:nth-child(even) {
  background-color: transparent;
}
.table2 th {
  padding: min(16px, calc(calc(16/750) * 100vw)) min(10px, calc(calc(10/750) * 100vw));
  text-align: center;
  background-color: #f7f7f7;
  color: #333;
  border: none;
}
.table2 td {
  padding: min(30px, calc(calc(30/750) * 100vw)) min(30px, calc(calc(30/750) * 100vw));
  border: none;
  border-right: 1px dashed #e4e4e4;
  border-bottom: 1px dashed #e4e4e4;
  vertical-align: baseline;
}
.table2 td:last-child {
  border-right: none;
}
.table2 tbody th {
  border-top: min(2px, calc(calc(2/750) * 100vw)) solid #fff;
}

/* infobox */
.infobox {
  font-size: min(28px, calc(calc(28/750) * 100vw));
  padding: 4% 4% 3%;
  border: 1px solid #e4e4e4;
  background: #f7f7f7;
  margin: 3.33333em auto;
  position: relative;
}
.infobox.is-emphasis {
  width: 100%;
  font-size: min(24px, calc(calc(24/750) * 100vw));
  border: 0.0833333333em solid #ffe1e7;
  background: #fffafb;
  padding: 1.5em 1.33333333em;
  margin-top: 2.5em;
  box-sizing: border-box;
}
.infobox.is-emphasis .infobox-title {
  font-size: 1.33333em;
  line-height: 1.28571;
  color: #e7588a;
  font-weight: bold;
  margin-bottom: 1em;
}
.infobox.is-emphasis .infobox-text {
  font-size: inherit;
  line-height: 1.5;
  text-align: justify;
  font-weight: 500;
}
.infobox dl, .infobox dt, .infobox dd {
  font-size: inherit;
  line-height: 1.6;
}
.infobox dt {
  font-weight: 700;
  clear: both;
  border-bottom: 1px solid #5d5d5d;
  margin-bottom: 0.833333333em;
}
.infobox dd {
  display: inline-block;
  font-weight: 500;
  text-align: justify;
}
.infobox dd:not(:last-child) {
  margin-bottom: 1.666666em;
}

/* iframe */
.iframe_inner {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.iframe_movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* counceling */
.counceling_bg.has-banner {
  padding: min(55px, calc(calc(55/750) * 100vw)) 0 0;
}
.counceling_banner {
  width: 100%;
  margin: 0;
  padding-bottom: 5.0746268657%;
}
.counceling_banner img {
  width: 100%;
}
.counceling_btn .counceling_txt:before, .counceling_btn .counceling_txt:after {
  display: none;
}
.counceling_btn {
  width: 100% !important;
}

/*---------------------------------------------------------------------------------------
--
-- project
--
----------------------------------------------------------------------------------------*/
/* fv */
.p-fv {
  padding: 0 0 min(110px, calc(calc(110/750) * 100vw));
}

/* prime */
.p-prime {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  width: min(690px, calc(calc(690/750) * 100vw));
  margin: max(-65px, calc( -1 * (calc(65/750) * 100vw))) auto 0;
  padding: min(14px, calc(calc(14/750) * 100vw)) 0;
  border-radius: min(10px, calc(calc(10/750) * 100vw));
  position: relative;
  box-shadow: 0 0 min(10px, calc(calc(10/750) * 100vw)) rgba(166, 183, 207, 0.25);
  justify-content: center;
  background: #fff;
}
.p-prime:before {
  content: "";
  display: block;
  width: calc(100% - min(12px, calc(calc(12/750) * 100vw)));
  height: calc(100% - min(12px, calc(calc(12/750) * 100vw)));
  border: min(2px, calc(calc(2/750) * 100vw)) solid #cfd8ee;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  border-radius: min(8px, calc(calc(8/750) * 100vw));
}
.p-prime:after {
  content: "";
  display: block;
  width: 48.4%;
}
.p-prime__item {
  width: 48.4%;
  position: relative;
  z-index: 1;
}

/* flow */
.flowstack {
  width: 83.5820895522%;
  margin-right: auto;
  margin-left: auto;
}
.flowstack:not(:first-child) {
  margin-top: min(80px, calc(calc(80/750) * 100vw));
}
.flowstack:not(:last-child) {
  margin-bottom: min(80px, calc(calc(80/750) * 100vw));
}

.flow {
  position: relative;
  width: 100%;
  font-size: min(24px, calc(calc(24/750) * 100vw));
  line-height: 1.5;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: min(80px, calc(calc(80/750) * 100vw)) 0;
}
.flow + .flow {
  margin-top: min(180px, calc(calc(180/750) * 100vw));
}
.flow:not(:last-child):before {
  content: "";
  position: absolute;
  bottom: -5em;
  left: 50%;
  transform: translateX(-50%);
  border-top: 2.0833333em solid #d4d4d4;
  border-right: 1.666666em solid transparent;
  border-left: 1.666666em solid transparent;
}
.flow-title {
  font-size: min(32px, calc(calc(32/750) * 100vw));
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
}
.flow-title .num {
  display: block;
  height: 1.09375em;
  width: auto;
}
.flow-title .num img {
  height: 100%;
}
.flow-img {
  display: block;
  width: 100%;
  margin-top: 1.33333em;
}
.flow-text {
  width: 100%;
  margin-top: 1.58333333em;
  line-height: inherit;
  text-align: justify;
  font-weight: 500;
}

/* faq */
.faqstack {
  display: flex;
  flex-direction: column;
}
.faqstack:not(:first-child) {
  margin-top: 30px;
}

.faq {
  display: flex;
  flex-direction: column;
  font-size: min(28px, calc(calc(28/750) * 100vw));
  line-height: 1.785714;
  padding: 0.857142em 0;
}
.faq:not(:last-child) {
  border-bottom: 0.0714285em solid #d4d4d4;
}
.faq-question, .faq-answer {
  position: relative;
  padding-right: 2.5em;
  padding-left: 1.964285em;
  text-align: justify;
}
.faq-question {
  font-weight: bold;
  line-height: 1.6071428;
  cursor: pointer;
}
.faq-answer {
  line-height: inherit;
  display: none;
  font-weight: 500;
}
.faq-question + .faq-answer {
  margin-top: 0.3571428em;
}
.faq-question:before, .faq-answer:before {
  position: absolute;
  left: 0;
  font-size: 1.142857em;
  font-weight: bold;
  line-height: 1.5;
}
.faq-question:before {
  content: "Q.";
  top: 0;
}
.faq-answer:before {
  content: "A.";
  top: 0;
  color: #e7588a;
}
.faq-toggleicon {
  position: absolute;
  right: 0.42857142em;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  width: 1.1428571429em;
  height: 1.1428571429em;
}
.faq-toggleicon:before, .faq-toggleicon:after {
  content: "";
  width: 100%;
  height: 0.10714285em;
  background: #e7588a;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  transform-origin: center center;
  transition-duration: 0.2s;
}
.faq-toggleicon:after {
  transform: translateY(-50%) rotate(-90deg);
}
.faq.open .faq-toggleicon:after {
  transform: translateY(-50%);
  opacity: 0;
}

/*クリニック*/
.section_clinic {
  font-family: "游明朝", "Yu Mincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro";
  background: #fff;
}

#clinic article > h2 {
  width: 85%;
  margin: 0 auto clamp(30px, 6vw, 60px);
}

/* 日本地図⇒脱毛LP仕様 クリニック一覧 */
/* spアコーディオン */
dl.accordion {
  overflow: hidden;
}

dl.accordion > dt::before {
  color: #fff;
  position: absolute;
  top: 0.5em;
  left: 0.5em;
}

dl.accordion > dd {
  background: #fff;
  padding: 0.5em 0.5em 0.5em 2em;
  position: relative;
  display: none;
}

dl.accordion > dd::before {
  position: absolute;
  top: 0.5em;
  left: 0.5em;
}

/* clinic */
#clinic p {
  margin-bottom: 1em;
}

#clinic dl.accordion > dt::before {
  content: "▼";
}

#clinic dl.accordion > dd {
  padding: 0.5em;
  background: #fff;
}

#clinic dl.accordion > dd::before {
  content: none;
}

#clinic dl.accordion h3 {
  margin: 3%;
  border-bottom: 3px double #c0b0a3;
}

#clinic dl.accordion dl {
  display: flex;
  margin: 0 3% 3%;
  flex-wrap: wrap;
  justify-content: space-between;
}

#clinic dl.accordion dl dt {
  width: 3em;
  text-align: center;
  border-top: 1px solid #ccc;
  padding: 3% 0;
}

#clinic dl.accordion dl dd {
  padding: 3% 0 3% 1em;
  width: calc(100% - 4em);
  border-top: 1px solid #ccc;
}

#clinic dl.accordion dl dt:first-child,
#clinic dl.accordion dl dt:first-child + dd {
  border: none;
  padding-top: 0;
}

#clinic a {
  color: #fa9999;
}

dl.accordion {
  width: 85%;
  margin: 0 auto;
  padding: 0;
  -webkit-text-size-adjust: 100%;
  font-size: clamp(13px, 3.5vw, 26px);
}

#clinic dl.accordion > dt {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  background: #FF7878;
  color: #fff;
  font-weight: bold;
  padding: 0.5em 0.5em 0.5em 2em;
  position: relative;
  border-bottom: 2px solid #fff;
  cursor: pointer;
  line-height: 1.6;
}

#clinic dl.accordion > dt::before {
  content: "▼";
  color: #fff;
  position: absolute;
  top: 0.5em;
  left: 0.5em;
}

#clinic dl.accordion > dd {
  padding: 0.5em;
  background: #fff;
}

#clinic dl.accordion > dd::before {
  content: none;
}

#clinic dl.accordion h3 {
  margin: 3%;
  border-bottom: 3px double #ffb400;
}

#clinic dl.accordion dl {
  display: flex;
  margin: 0 3% 3%;
  flex-wrap: wrap;
  justify-content: space-between;
}

#clinic dl.accordion dl dt {
  width: 3em;
  text-align: center;
  border-top: 1px solid #ccc;
  padding: 3% 0;
}

#clinic dl.accordion dl dd {
  padding: 3% 0 3% 1em;
  width: calc(100% - 4em);
  border-top: 1px solid #ccc;
  line-height: 1.6;
}

#clinic dl.accordion dl dt:first-child,
#clinic dl.accordion dl dt:first-child + dd {
  border: none;
  padding-top: 0;
}

#clinic a {
  color: #f68888;
}

.reserve {
  padding: clamp(35px, 7vw, 70px) 0 1px 0;
  background: #F2F5F9;
}

.ttl01 {
  width: 85%;
  margin: 0 auto clamp(30px, 6vw, 60px);
  position: relative;
}

@media screen and (max-width: 1000px) {
  #clinic .quotation dt {
    display: block;
    margin-bottom: 5px;
  }
  #clinic .quotation dd {
    display: block;
    color: #444;
    padding-right: 20px;
  }
}
/* reserve */
#reserve .reserve_inner .reserve_inner_message {
  width: 70%;
  margin: 0 auto;
  margin-top: 30px;
  margin-bottom: 30px;
  padding: 20px;
  text-align: center;
  font-size: 14px;
  line-height: 1.5em;
  background: #FFF;
  border: solid 1px red;
}

/* attention */
.attention .flow_list-item {
  margin: 80px 0;
  padding: 0;
  box-shadow: 0 10px 20px 0 rgba(244, 58, 105, 0.2);
  border: none;
  position: relative;
  z-index: 1;
}

.attention .flow_list-ttl {
  margin-bottom: 0;
  padding: 40px 0;
  background: #f43a69;
  text-align: center;
  color: yellow;
  position: relative;
}

.attention .flow_list-ttl .flow_list-step {
  display: flex;
  align-items: center;
  background: #fff;
  border: #f43a69 2px solid;
  position: absolute;
  left: 0;
  top: -20px;
  padding: 2px 20px;
  font-size: 30px;
  font-weight: 500;
  color: #f43a69;
  letter-spacing: 0.1em;
}

.attention .flow_list-ttl .flow_list-step span {
  font-size: 140%;
}

.attention .flow_list-ttl .flow_list-title {
  font-size: 36px;
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}

.attention .flow_list-ttl .flow_list-title span {
  display: block;
  font-size: 80%;
}

.attention .flow_list-detail {
  padding: 60px;
  background: #fff;
  border: #f43a69 2px solid;
  border-top: none;
}

.attention .flow_list-detail .flow_list-text {
  margin-top: 40px;
  font-size: 22px;
  line-height: 1.8;
}

.attention .flow_list-detail .flow_list-text.small {
  font-size: 20px;
}

@media screen and (max-width:750px) {
  .seciton_flow_inner {
    padding: 0 15px;
  }
  .attention .flow_list-item {
    margin: 0;
  }
  .attention .flow_list-ttl {
    padding: 20px 10px;
  }
  .attention .flow_list-ttl .flow_list-step {
    padding: 2px 10px;
    border-width: 1px;
    font-size: 16px;
    top: -15px;
  }
  .attention .flow_list-ttl .flow_list-title {
    font-size: 20px;
  }
  .attention .flow_list-detail {
    padding: 15px 15px 20px;
  }
  .attention .flow_list-detail .flow_list-text {
    margin-top: 20px;
    font-size: 14px;
  }
  .attention .flow_list-detail .flow_list-text.small {
    font-size: 12px;
  }
}
.attention .flow_list-ttl {
  background: #333;
}

.attention .flow_list-detail {
  border: #333 2px solid;
}

.attention .flow_list-item {
  box-shadow: 0 10px 20px 0 rgba(139, 139, 139, 0.2);
}

.attention-video {
  padding: 20px 0;
}

.attention-video-pc {
  margin: 0 auto;
  padding: 20px 0;
  width: 80%;
  aspect-ratio: 16/9;
}

.attention-txt {
  font-size: clamp(14px, 3vw, 22px);
  line-height: 1.8;
}

.tab_btn.active {
  position: relative;
}

.tab_btn.active::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #333 transparent transparent transparent;
  border-width: 20px 20px 0 20px;
}

.attention_sp .accordion_one {
  margin: 0 auto;
}

.attention .flow_list-title {
  color: yellow;
}

.attention_sp .accordion_one .accordion_header {
  background-color: #333;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  padding: 20px 11%;
  text-align: center;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition-duration: 0.2s;
  box-shadow: #6a6e70;
}

.attention_sp .accordion_one .accordion_header:hover {
  opacity: 0.8;
}

.attention_sp .accordion_one .accordion_header .i_box {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 5%;
  width: 40px;
  height: 40px;
  /*border: 1px solid #fff;*/
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
}

.attention_sp .accordion_one .accordion_header .i_box .one_i {
  display: block;
  width: 18px;
  height: 18px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  transition-duration: 0.2s;
  position: relative;
}

.attention_sp .accordion_one .accordion_header.stay .i_box {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.attention_sp .accordion_one .accordion_header.stay .i_box .one_i {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.attention_sp .accordion_one .accordion_header.stay.open .i_box .one_i {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.attention_sp .accordion_one .accordion_header.stay.open .i_box {
  -webkit-transform: rotate(315eg);
  transform: rotate(315deg);
}

.attention_sp .accordion_one .accordion_header.stay .i_box .one_i:before {
  content: none;
}

.attention_sp .accordion_one .accordion_header.stay.open .i_box .one_i:before {
  content: "";
}

.attention_sp .accordion_one .accordion_header.stay.open .i_box .one_i:after {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
}

.attention_sp .accordion_one .accordion_inner.stay {
  display: block;
}

.attention_sp .accordion_one .accordion_header.open .i_box {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.attention_sp .accordion_one .accordion_header .i_box .one_i:before,
.attention_sp .accordion_one .accordion_header .i_box .one_i:after {
  display: flex;
  content: "";
  background-color: #fff;
  border-radius: 10px;
  width: 18px;
  height: 4px;
  position: absolute;
  top: 7px;
  left: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
}

.attention_sp .accordion_one .accordion_header .i_box .one_i:before {
  width: 4px;
  height: 18px;
  top: 0;
  left: 7px;
}

.attention_sp .accordion_one .accordion_header.open .i_box .one_i:before {
  content: none;
}

.attention_sp .accordion_one .accordion_header.open .i_box .one_i:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.attention_sp .accordion_one .accordion_inner {
  display: none;
  padding: 15px;
  border-left: 1px solid #333;
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  box-sizing: border-box;
}

.attention_sp .accordion_one .accordion_inner .box_one {
  /*height: 300px;*/
}

.attention_sp .accordion_one .accordion_inner p.txt_a_ac {
  margin: 0;
}

@media screen and (max-width: 1024px) {
  .attention_sp .accordion_one .accordion_header {
    font-size: 18px;
  }
  .attention_sp .accordion_one .accordion_header .i_box {
    width: 30px;
    height: 30px;
    margin-top: -15px;
  }
}
@media screen and (max-width:750px) {
  .attention_sp .accordion_one .accordion_header {
    font-size: 16px;
    text-align: left;
    padding: 15px 60px 15px 15px;
    line-height: 1.6;
  }
}
/*タブ実装*/
.tab_box .btn_area {
  display: -webkit-box;
  display: flex;
  margin-bottom: 40px;
}

.btn_area {
  justify-content: space-between;
  align-items: center;
}

.tab_box .tab_btn {
  /*width: 188px;*/
  padding: 25px 0;
  color: #333;
  background: #f5f7f8;
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease 0s;
}

.tab_btn {
  /*width: 33%;*/
  width: 50%;
  font-size: clamp(14px, 3vw, 18px);
  height: 50px;
  align-items: center;
  display: flex;
  justify-content: center;
  border: #333 1px solid;
  font-weight: bold;
}

.tab_box .tab_btn + .tab_btn {
  margin-left: 8px;
}

.tab_box .tab_btn:hover {
  background-color: #6a6e70;
  color: #fff;
}

.tab_box .tab_btn.active {
  background: #333;
  color: #fff;
}

.tab_box .panel_area {
  border: solid 1px #e3ebf3;
  padding: 20px;
}

.tab_box .tab_panel {
  display: none;
}

.tab_box .tab_panel.active {
  display: block;
}

.btn_area p {
  position: relative;
  line-height: 1.3;
}

.btn_area p::after {
  position: absolute;
  z-index: 99;
  width: 0;
  height: 0;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  border-top: 30px solid black;
}

.responsive {
  width: 100%;
  aspect-ratio: 16/9;
}

/*---------------------------------------------------------------------------------------
--
-- utility
--
----------------------------------------------------------------------------------------*/
/* inner */
.u-inner {
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
  width: auto !important;
  max-width: calc(100% - min(60px, calc(calc(60/750) * 100vw))) !important;
}
.u-inner--2 {
  max-width: calc(100% - min(120px, calc(calc(120/750) * 100vw))) !important;
}

/* mb○○-flex */
.mb0-flex {
  margin-bottom: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.mb5-flex {
  margin-bottom: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.mb10-flex {
  margin-bottom: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.mb15-flex {
  margin-bottom: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.mb20-flex {
  margin-bottom: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.mb25-flex {
  margin-bottom: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.mb30-flex {
  margin-bottom: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.mb35-flex {
  margin-bottom: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.mb40-flex {
  margin-bottom: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.mb45-flex {
  margin-bottom: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.mb50-flex {
  margin-bottom: min(50px, calc(calc(50/750) * 100vw)) !important;
}

.mb55-flex {
  margin-bottom: min(55px, calc(calc(55/750) * 100vw)) !important;
}

.mb60-flex {
  margin-bottom: min(60px, calc(calc(60/750) * 100vw)) !important;
}

.mb65-flex {
  margin-bottom: min(65px, calc(calc(65/750) * 100vw)) !important;
}

.mb70-flex {
  margin-bottom: min(70px, calc(calc(70/750) * 100vw)) !important;
}

.mb75-flex {
  margin-bottom: min(75px, calc(calc(75/750) * 100vw)) !important;
}

.mb80-flex {
  margin-bottom: min(80px, calc(calc(80/750) * 100vw)) !important;
}

.mb85-flex {
  margin-bottom: min(85px, calc(calc(85/750) * 100vw)) !important;
}

.mb90-flex {
  margin-bottom: min(90px, calc(calc(90/750) * 100vw)) !important;
}

.mb95-flex {
  margin-bottom: min(95px, calc(calc(95/750) * 100vw)) !important;
}

.mb100-flex {
  margin-bottom: min(100px, calc(calc(100/750) * 100vw)) !important;
}

.mb105-flex {
  margin-bottom: min(105px, calc(calc(105/750) * 100vw)) !important;
}

.mb110-flex {
  margin-bottom: min(110px, calc(calc(110/750) * 100vw)) !important;
}

.mb115-flex {
  margin-bottom: min(115px, calc(calc(115/750) * 100vw)) !important;
}

.mb120-flex {
  margin-bottom: min(120px, calc(calc(120/750) * 100vw)) !important;
}

.mb125-flex {
  margin-bottom: min(125px, calc(calc(125/750) * 100vw)) !important;
}

.mb130-flex {
  margin-bottom: min(130px, calc(calc(130/750) * 100vw)) !important;
}

.mb135-flex {
  margin-bottom: min(135px, calc(calc(135/750) * 100vw)) !important;
}

.mb140-flex {
  margin-bottom: min(140px, calc(calc(140/750) * 100vw)) !important;
}

.mb145-flex {
  margin-bottom: min(145px, calc(calc(145/750) * 100vw)) !important;
}

.mb150-flex {
  margin-bottom: min(150px, calc(calc(150/750) * 100vw)) !important;
}

/* mt○○-flex */
.mt0-flex {
  margin-top: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.mt5-flex {
  margin-top: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.mt10-flex {
  margin-top: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.mt15-flex {
  margin-top: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.mt20-flex {
  margin-top: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.mt25-flex {
  margin-top: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.mt30-flex {
  margin-top: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.mt35-flex {
  margin-top: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.mt40-flex {
  margin-top: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.mt45-flex {
  margin-top: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.mt50-flex {
  margin-top: min(50px, calc(calc(50/750) * 100vw)) !important;
}

.mt55-flex {
  margin-top: min(55px, calc(calc(55/750) * 100vw)) !important;
}

.mt60-flex {
  margin-top: min(60px, calc(calc(60/750) * 100vw)) !important;
}

.mt65-flex {
  margin-top: min(65px, calc(calc(65/750) * 100vw)) !important;
}

.mt70-flex {
  margin-top: min(70px, calc(calc(70/750) * 100vw)) !important;
}

.mt75-flex {
  margin-top: min(75px, calc(calc(75/750) * 100vw)) !important;
}

.mt80-flex {
  margin-top: min(80px, calc(calc(80/750) * 100vw)) !important;
}

.mt85-flex {
  margin-top: min(85px, calc(calc(85/750) * 100vw)) !important;
}

.mt90-flex {
  margin-top: min(90px, calc(calc(90/750) * 100vw)) !important;
}

.mt95-flex {
  margin-top: min(95px, calc(calc(95/750) * 100vw)) !important;
}

.mt100-flex {
  margin-top: min(100px, calc(calc(100/750) * 100vw)) !important;
}

.mt105-flex {
  margin-top: min(105px, calc(calc(105/750) * 100vw)) !important;
}

.mt110-flex {
  margin-top: min(110px, calc(calc(110/750) * 100vw)) !important;
}

.mt115-flex {
  margin-top: min(115px, calc(calc(115/750) * 100vw)) !important;
}

.mt120-flex {
  margin-top: min(120px, calc(calc(120/750) * 100vw)) !important;
}

.mt125-flex {
  margin-top: min(125px, calc(calc(125/750) * 100vw)) !important;
}

.mt130-flex {
  margin-top: min(130px, calc(calc(130/750) * 100vw)) !important;
}

.mt135-flex {
  margin-top: min(135px, calc(calc(135/750) * 100vw)) !important;
}

.mt140-flex {
  margin-top: min(140px, calc(calc(140/750) * 100vw)) !important;
}

.mt145-flex {
  margin-top: min(145px, calc(calc(145/750) * 100vw)) !important;
}

.mt150-flex {
  margin-top: min(150px, calc(calc(150/750) * 100vw)) !important;
}

/* pt○○-flex */
.pt0-flex {
  padding-top: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.pt5-flex {
  padding-top: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.pt10-flex {
  padding-top: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.pt15-flex {
  padding-top: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.pt20-flex {
  padding-top: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.pt25-flex {
  padding-top: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.pt30-flex {
  padding-top: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.pt35-flex {
  padding-top: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.pt40-flex {
  padding-top: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.pt45-flex {
  padding-top: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.pt50-flex {
  padding-top: min(50px, calc(calc(50/750) * 100vw)) !important;
}

.pt55-flex {
  padding-top: min(55px, calc(calc(55/750) * 100vw)) !important;
}

.pt60-flex {
  padding-top: min(60px, calc(calc(60/750) * 100vw)) !important;
}

.pt65-flex {
  padding-top: min(65px, calc(calc(65/750) * 100vw)) !important;
}

.pt70-flex {
  padding-top: min(70px, calc(calc(70/750) * 100vw)) !important;
}

.pt75-flex {
  padding-top: min(75px, calc(calc(75/750) * 100vw)) !important;
}

.pt80-flex {
  padding-top: min(80px, calc(calc(80/750) * 100vw)) !important;
}

.pt85-flex {
  padding-top: min(85px, calc(calc(85/750) * 100vw)) !important;
}

.pt90-flex {
  padding-top: min(90px, calc(calc(90/750) * 100vw)) !important;
}

.pt95-flex {
  padding-top: min(95px, calc(calc(95/750) * 100vw)) !important;
}

.pt100-flex {
  padding-top: min(100px, calc(calc(100/750) * 100vw)) !important;
}

.pt105-flex {
  padding-top: min(105px, calc(calc(105/750) * 100vw)) !important;
}

.pt110-flex {
  padding-top: min(110px, calc(calc(110/750) * 100vw)) !important;
}

.pt115-flex {
  padding-top: min(115px, calc(calc(115/750) * 100vw)) !important;
}

.pt120-flex {
  padding-top: min(120px, calc(calc(120/750) * 100vw)) !important;
}

.pt125-flex {
  padding-top: min(125px, calc(calc(125/750) * 100vw)) !important;
}

.pt130-flex {
  padding-top: min(130px, calc(calc(130/750) * 100vw)) !important;
}

.pt135-flex {
  padding-top: min(135px, calc(calc(135/750) * 100vw)) !important;
}

.pt140-flex {
  padding-top: min(140px, calc(calc(140/750) * 100vw)) !important;
}

.pt145-flex {
  padding-top: min(145px, calc(calc(145/750) * 100vw)) !important;
}

.pt150-flex {
  padding-top: min(150px, calc(calc(150/750) * 100vw)) !important;
}

/* pb○○-flex */
.pb0-flex {
  padding-top: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.pb5-flex {
  padding-top: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.pb10-flex {
  padding-top: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.pb15-flex {
  padding-top: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.pb20-flex {
  padding-top: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.pb25-flex {
  padding-top: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.pb30-flex {
  padding-top: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.pb35-flex {
  padding-top: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.pb40-flex {
  padding-top: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.pb45-flex {
  padding-top: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.pb50-flex {
  padding-top: min(50px, calc(calc(50/750) * 100vw)) !important;
}

.pb55-flex {
  padding-top: min(55px, calc(calc(55/750) * 100vw)) !important;
}

.pb60-flex {
  padding-top: min(60px, calc(calc(60/750) * 100vw)) !important;
}

.pb65-flex {
  padding-top: min(65px, calc(calc(65/750) * 100vw)) !important;
}

.pb70-flex {
  padding-top: min(70px, calc(calc(70/750) * 100vw)) !important;
}

.pb75-flex {
  padding-top: min(75px, calc(calc(75/750) * 100vw)) !important;
}

.pb80-flex {
  padding-top: min(80px, calc(calc(80/750) * 100vw)) !important;
}

.pb85-flex {
  padding-top: min(85px, calc(calc(85/750) * 100vw)) !important;
}

.pb90-flex {
  padding-top: min(90px, calc(calc(90/750) * 100vw)) !important;
}

.pb95-flex {
  padding-top: min(95px, calc(calc(95/750) * 100vw)) !important;
}

.pb100-flex {
  padding-top: min(100px, calc(calc(100/750) * 100vw)) !important;
}

.pb105-flex {
  padding-top: min(105px, calc(calc(105/750) * 100vw)) !important;
}

.pb110-flex {
  padding-top: min(110px, calc(calc(110/750) * 100vw)) !important;
}

.pb115-flex {
  padding-top: min(115px, calc(calc(115/750) * 100vw)) !important;
}

.pb120-flex {
  padding-top: min(120px, calc(calc(120/750) * 100vw)) !important;
}

.pb125-flex {
  padding-top: min(125px, calc(calc(125/750) * 100vw)) !important;
}

.pb130-flex {
  padding-top: min(130px, calc(calc(130/750) * 100vw)) !important;
}

.pb135-flex {
  padding-top: min(135px, calc(calc(135/750) * 100vw)) !important;
}

.pb140-flex {
  padding-top: min(140px, calc(calc(140/750) * 100vw)) !important;
}

.pb145-flex {
  padding-top: min(145px, calc(calc(145/750) * 100vw)) !important;
}

.pb150-flex {
  padding-top: min(150px, calc(calc(150/750) * 100vw)) !important;
}

/* pl○○-flex */
/* pr○○-flex */
.pr0-flex {
  padding-top: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.pr5-flex {
  padding-top: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.pr10-flex {
  padding-top: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.pr15-flex {
  padding-top: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.pr20-flex {
  padding-top: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.pr25-flex {
  padding-top: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.pr30-flex {
  padding-top: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.pr35-flex {
  padding-top: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.pr40-flex {
  padding-top: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.pr45-flex {
  padding-top: min(45px, calc(calc(45/750) * 100vw)) !important;
}

/* fsz--○○ */
.u-fsz--15 {
  font-size: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.u-fsz--16 {
  font-size: min(16px, calc(calc(16/750) * 100vw)) !important;
}

.u-fsz--17 {
  font-size: min(17px, calc(calc(17/750) * 100vw)) !important;
}

.u-fsz--18 {
  font-size: min(18px, calc(calc(18/750) * 100vw)) !important;
}

.u-fsz--19 {
  font-size: min(19px, calc(calc(19/750) * 100vw)) !important;
}

.u-fsz--20 {
  font-size: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.u-fsz--21 {
  font-size: min(21px, calc(calc(21/750) * 100vw)) !important;
}

.u-fsz--22 {
  font-size: min(22px, calc(calc(22/750) * 100vw)) !important;
}

.u-fsz--23 {
  font-size: min(23px, calc(calc(23/750) * 100vw)) !important;
}

.u-fsz--24 {
  font-size: min(24px, calc(calc(24/750) * 100vw)) !important;
}

.u-fsz--25 {
  font-size: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.u-fsz--26 {
  font-size: min(26px, calc(calc(26/750) * 100vw)) !important;
}

.u-fsz--27 {
  font-size: min(27px, calc(calc(27/750) * 100vw)) !important;
}

.u-fsz--28 {
  font-size: min(28px, calc(calc(28/750) * 100vw)) !important;
}

.u-fsz--29 {
  font-size: min(29px, calc(calc(29/750) * 100vw)) !important;
}

.u-fsz--30 {
  font-size: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.u-fsz--31 {
  font-size: min(31px, calc(calc(31/750) * 100vw)) !important;
}

.u-fsz--32 {
  font-size: min(32px, calc(calc(32/750) * 100vw)) !important;
}

.u-fsz--33 {
  font-size: min(33px, calc(calc(33/750) * 100vw)) !important;
}

.u-fsz--34 {
  font-size: min(34px, calc(calc(34/750) * 100vw)) !important;
}

.u-fsz--35 {
  font-size: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.u-fsz--36 {
  font-size: min(36px, calc(calc(36/750) * 100vw)) !important;
}

.u-fsz--37 {
  font-size: min(37px, calc(calc(37/750) * 100vw)) !important;
}

.u-fsz--38 {
  font-size: min(38px, calc(calc(38/750) * 100vw)) !important;
}

.u-fsz--39 {
  font-size: min(39px, calc(calc(39/750) * 100vw)) !important;
}

.u-fsz--40 {
  font-size: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.u-fsz--41 {
  font-size: min(41px, calc(calc(41/750) * 100vw)) !important;
}

.u-fsz--42 {
  font-size: min(42px, calc(calc(42/750) * 100vw)) !important;
}

.u-fsz--43 {
  font-size: min(43px, calc(calc(43/750) * 100vw)) !important;
}

.u-fsz--44 {
  font-size: min(44px, calc(calc(44/750) * 100vw)) !important;
}

.u-fsz--45 {
  font-size: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.u-fsz--46 {
  font-size: min(46px, calc(calc(46/750) * 100vw)) !important;
}

.u-fsz--47 {
  font-size: min(47px, calc(calc(47/750) * 100vw)) !important;
}

.u-fsz--48 {
  font-size: min(48px, calc(calc(48/750) * 100vw)) !important;
}

.u-fsz--49 {
  font-size: min(49px, calc(calc(49/750) * 100vw)) !important;
}

.u-fsz--50 {
  font-size: min(50px, calc(calc(50/750) * 100vw)) !important;
}

.u-fsz--51 {
  font-size: min(51px, calc(calc(51/750) * 100vw)) !important;
}

.u-fsz--52 {
  font-size: min(52px, calc(calc(52/750) * 100vw)) !important;
}

.u-fsz--53 {
  font-size: min(53px, calc(calc(53/750) * 100vw)) !important;
}

.u-fsz--54 {
  font-size: min(54px, calc(calc(54/750) * 100vw)) !important;
}

.u-fsz--55 {
  font-size: min(55px, calc(calc(55/750) * 100vw)) !important;
}

.u-fsz--56 {
  font-size: min(56px, calc(calc(56/750) * 100vw)) !important;
}

.u-fsz--57 {
  font-size: min(57px, calc(calc(57/750) * 100vw)) !important;
}

.u-fsz--58 {
  font-size: min(58px, calc(calc(58/750) * 100vw)) !important;
}

.u-fsz--59 {
  font-size: min(59px, calc(calc(59/750) * 100vw)) !important;
}

.u-fsz--60 {
  font-size: min(60px, calc(calc(60/750) * 100vw)) !important;
}

/* line-height */
.u-lh--100 {
  line-height: 1 !important;
}

.u-lh--105 {
  line-height: 1.05 !important;
}

.u-lh--110 {
  line-height: 1.1 !important;
}

.u-lh--115 {
  line-height: 1.15 !important;
}

.u-lh--120 {
  line-height: 1.2 !important;
}

.u-lh--125 {
  line-height: 1.25 !important;
}

.u-lh--130 {
  line-height: 1.3 !important;
}

.u-lh--135 {
  line-height: 1.35 !important;
}

.u-lh--140 {
  line-height: 1.4 !important;
}

.u-lh--145 {
  line-height: 1.45 !important;
}

.u-lh--150 {
  line-height: 1.5 !important;
}

.u-lh--155 {
  line-height: 1.55 !important;
}

.u-lh--160 {
  line-height: 1.6 !important;
}

.u-lh--165 {
  line-height: 1.65 !important;
}

.u-lh--170 {
  line-height: 1.7 !important;
}

.u-lh--175 {
  line-height: 1.75 !important;
}

.u-lh--180 {
  line-height: 1.8 !important;
}

.u-lh--185 {
  line-height: 1.85 !important;
}

.u-lh--190 {
  line-height: 1.9 !important;
}

.u-lh--195 {
  line-height: 1.95 !important;
}

.u-lh--200 {
  line-height: 2 !important;
}

/* none */
@media screen and (min-width:751px) {
  .pc_none {
    display: none !important;
  }
}
@media screen and (max-width:750px) {
  .sp_none {
    display: none !important;
  }
}
/* hover */
.hover {
  transition: ease opacity 0.3s;
}
.hover:hover {
  opacity: 0.7;
}

/* 新規コンテンツ部分 */
.about {
  /*background-image: url(../img/woman_all_02/about_bg.png);*/
  background:linear-gradient(180deg, #f1eff8 0%, #f1eff8 46%, #fff2f8 100%);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

.about__fv-wrap {
  position: relative;
  top: 0;
  left: 0;
}


.about__inner {
  position: relative;
  background: #fff;
  border-radius: min(10px, calc(calc(10/750) * 100vw));
  margin-bottom: min(60px, calc(calc(60/750) * 100vw));
  box-shadow: 0 0 20px rgba(166, 183, 207, 0.25), 0 0 0 4px #fff inset, 0 0 0 6px #cfd8ee inset;
  box-sizing: border-box;
  padding: min(60px, calc(calc(60/750) * 100vw)) min(30px, calc(calc(30/750) * 100vw));
}
@media screen and (max-width: 750px) {
  .about__inner {
    box-shadow: 0 0 2.67vw rgba(166, 183, 207, 0.25), 0 0 0 0.53vw #fff inset, 0 0 0 0.8vw #cfd8ee inset;
  }
}
.about__inner::before {
  content: "";
  width: min(113px, calc(calc(113/750) * 100vw));
  height: min(88px, calc(calc(88/750) * 100vw));
  position: absolute;
  left: min(30px, calc(calc(30/750) * 100vw));
  top: max(-40px, calc(-1 * (calc(40/750) * 100vw)));
  background-repeat: no-repeat;
  background-size: contain;
}
.about__inner.about_01::before {
  background-image: url(../img/az_woman/about__num01.webp);
}
.about__inner.about_02::before {
  background-image: url(../img/az_woman/about__num02.webp);
}
.about__inner.about_03::before {
  background-image: url(../img/az_woman/about__num03.webp);
}
.about__inner.about_04::before {
  background-image: url(../img/az_woman/about__num04.webp);
}


.about__head {
  border-bottom: min(4px, 0.5333333333vw) solid #ef72a4;
  padding-bottom: min(20px, 2.6666666667vw);
  margin-bottom: min(28px, 3.7333333333vw);
  line-height: 1.6;
}

.about__txt {
  padding-top: min(5px, 0.6666666667vw);
}

.about_02 .about__txt {
  letter-spacing: -0.05em;
}

.about__txt p {
  line-height: 1.78;
}

.movie__inner {
  padding: 0 min(20px, calc(calc(20 / 750) * 100vw));
}

.movie__txt {
  font-weight: bold;
  color: #5e5e5e;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: min(40px, calc(calc(40 / 750) * 100vw));
  margin-bottom: min(25px, calc(calc(25 / 750) * 100vw));
}

.movie__txt:before {
  content: "";
  display: block;
  width: min(3px, calc(calc(3 / 750) * 100vw));
  height: min(50px, calc(calc(50 / 750) * 100vw));
  background-color: #5e5e5e;
  transform: rotate(-45deg);
  position: relative;
  right: min(20px, calc(calc(20 / 750) * 100vw));
}

.movie__txt:after {
  content: "";
  display: block;
  width: min(3px, 0.4vw);
  height: min(50px, 6.6666666667vw);
  background-color: #5e5e5e;
  transform: rotate(45deg);
  position: relative;
  left: min(20px, 2.6666666667vw);
}

.movie__wrap iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

.graph {
  margin-top: min(105px, calc(calc(105 / 750) * 100vw));
}

.graph__ttl {
  margin-bottom: min(30px, 4vw);
}

.doctor-intro {
  margin-top: min(96px, calc(calc(96 / 750) * 100vw));
  margin-bottom: min(90px, calc(calc(90 / 750) * 100vw));
  background-size: contain;
  background-repeat: no-repeat;
}

.doctor-intro__inner {
  padding-bottom: min(70px, 9.3333333333vw);
  padding-left: min(30px, 4vw);
  padding-right: min(30px, 4vw);
  width: min(630px, 84vw);
  background-color: #fff;
  box-shadow: 0px 0px 25px rgba(212, 159, 182, 0.25);
  border-radius: min(10px, 1.3333333333vw);
  margin: 0 auto;
}

.doctor-intro__head {
  padding-top: min(54px, 7.2vw);
  padding-bottom: min(20px, 2.6666666667vw);
  border-bottom: min(4px, 0.5333333333vw) solid #ef72a4;
  margin-bottom: min(34px, 4.5333333333vw);
  line-height: 1.4;
}

.doctor-intro__head--sub {
  display: block;
  color: #5e5e5e;
  font-weight: normal;
}

.doctor-intro__txt {
  padding-bottom: min(36px, 4.8vw);
  color: #000;
  line-height: 1.75;
}

.doctor-intro__cont {
  margin-bottom: min(38px, 5.0666666667vw);
  width: calc(100% + min(30px, 4vw));
  position: relative;
  right: min(17px, 2.2666666667vw);
}

.doctor-intro__bottom {
  color: #000;
  line-height: 1.6;
}

.point_01 {
  margin-top: min(80px, 10.6666666667vw);
  background-image: url(../img/woman_all_02/point_01_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  aspect-ratio: 750/1139;
  margin-top: min(10px, calc(calc(10 / 750) * 100vw));
}

.point_02 {
  background-image: url(../img/woman_all_02/point_02_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  aspect-ratio: 750/516;
  margin-top: min(10px, calc(calc(10 / 750) * 100vw));
}

.point_03 {
  padding-bottom: min(90px, 12vw);
  background-image: url(../img/woman_all_02/point_03_bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: top center;
  aspect-ratio: 750/616;
  margin-top: min(10px, calc(calc(10 / 750) * 100vw));
}

/*
.point__inner {
  margin: 0 min(55px, calc(calc(55 / 750) * 100vw)) min(45px, calc(calc(45 / 750) * 100vw));
}
*/

.point__inner {
  padding-top: min(55px, calc(calc(55 / 750) * 100vw));
}

.point__head {
  border-bottom: min(4px, 0.5333333333vw) solid #ef72a4;
  padding-bottom: min(25px, 3.3333333333vw);
  margin: min(36px, 4.8vw) 0 min(48px, 6.4vw);
  line-height: 1.6;
}

.point_01 .point__head {
  margin-top: min(30px, 4vw);
}

.point__txt {
  line-height: 1.8;
  margin-bottom: min(85px, 11.3333333333vw);
}

/* ユーティリティ */
.u-center {
  text-align: center;
}

.u-left {
  text-align: left;
}

.u-pink {
  color: #ef72a4;
}

.u-black {
  color: #000;
}

.u-ls--wide {
  letter-spacing: 0.02em;
}

.u-ls--narrow {
  letter-spacing: -0.02em;
}

.u-ls--xnarrow {
  letter-spacing: -0.09em;
}

.u-block {
  display: block;
}

.u-bold {
  font-weight: bold;
}

.u-sbold {
  font-weight: 500;
}

.u-normal {
  font-weight: normal;
}

.mb0 {
  margin-bottom: 0 !important;
}