@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
--
----------------------------------------------------------------------------------------*/
/*共通*/
html body a {
  cursor: pointer;
  text-decoration: none;
  color: #5d5d5d;
  transition: all 0.3s;
}

a:hover {
  opacity: 0.8;
}

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: #121212;
}

body p {
  font-size: min(30px, calc(calc(30 / 750) * 100vw));
  line-height: 1.8;
  font-weight: 500;
}

main,
body header {
  width: min(100%, 750px);
  margin: 0 auto;
  background-color: var(--color-white);
}

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 */
.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));
}

.section_header,
.section_header_logo,
.section_header_logo img {
  height: auto;
}

.section_header_logo img {
  width: min(266px, calc(calc(266/750) * 100vw));
  margin-left: min(20px, calc(calc(20/750) * 100vw));
}

.head_logo {
  padding: min(20px, calc(calc(20/750) * 100vw));
  box-sizing: border-box;
  height: 100%;
}

.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;
}

.lp_header .head__menu {
  z-index: -1;
  top: min(100px, calc(calc(100 / 750) * 100vw));
  overflow-y: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

/* fv */

.fv__top {
  margin-top: min(100px, calc(calc(100/750) * 100vw)) !important;
}

/* footer */
footer {
  padding: min(40px, calc(calc(40/750) * 100vw)) 0 min(200px, calc(calc(200/750) * 100vw)) !important;
}

footer small {
  font-size: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.l-foot-subnav {
  background: var(--color-white) !important;
  padding: 0 0 min(40px, calc(calc(40/750) * 100vw)) !important;
}

/* section */
section,
.section {
  width: min(750px, 100%);
  margin: 0 auto;
  background-color: #fff;
}

.l-section {
  padding: min(100px, calc(calc(100/750) * 100vw)) 0 min(90px, calc(calc(90/750) * 100vw));
}

.select_type {
  padding-bottom: min(100px, calc(calc(100/750) * 100vw));
}

.section_inner {
  padding: 0 min(30px, calc(calc(30/750) * 100vw));
  box-sizing: border-box;
}

/*---------------------------------------------------------------------------------------
--
-- component
--
----------------------------------------------------------------------------------------*/
/* ▼サンプル01 */
.c-ttl01 {
  font-family: var(--serif);
  font-size: min(55px, calc(calc(55/750) * 100vw));
  font-weight: bold;
  color: var(--color-black-1);
  line-height: 1.25em;
  text-align: center;
  margin-bottom: min(100px, calc(calc(100/750) * 100vw));
}

.c-ttl01__eng01 {
  display: block;
  text-align: center;
  color: var(--color-ocher);
  font-size: min(20px, calc(calc(20/750) * 100vw));
  line-height: 1;
}

.c-ttl01__eng01:after {
  content: "";
  display: block;
  background: url("../img/hoge/hogehoge.png") no-repeat;
  margin: auto;
  background-size: contain;
  width: min(29px, calc(calc(29/750) * 100vw));
  height: min(34px, calc(calc(34/750) * 100vw));
  margin-top: min(10px, calc(calc(10/750) * 100vw));
}

.c-ttl02 {
  color: var(--color-black-2);
  font-size: min(40px, calc(calc(40/750) * 100vw));
  line-height: 1.35;
  font-family: var(--serif);
  font-weight: bold;
  text-align: center;
  margin-bottom: min(60px, calc(calc(60/750) * 100vw));
}

/* ▼サンプル02 */
.c-txt {
  font-size: min(28px, calc(calc(28/750) * 100vw));
  line-height: 1.68;
  text-align: justify;
}

.c-txt--serif {
  font-family: var(--serif);
}

/*---------------------------------------------------------------------------------------
--
-- project
--
----------------------------------------------------------------------------------------*/
/* ▼サンプル01 */
.p-gnav {
  display: flex;
  flex-wrap: wrap;
  gap: min(2px, calc(calc(2/750) * 100vw));
  margin-bottom: min(70px, calc(calc(70/750) * 100vw));
}

.p-gnav__item {
  width: calc(50% - min(1px, calc(calc(1/750) * 100vw)));
}

.p-gnav__item__link {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: min(100px, calc(calc(100/750) * 100vw));
  color: var(--color-black-3);
  font-size: min(32px, calc(calc(32/750) * 100vw));
  background: var(--color-yellow3);
  transition: ease all 0.3s;
}

.p-gnav__item__link:hover {
  opacity: 0.8;
}

/* ▼サンプル02 */
.p-worry {
  position: relative;
  margin-bottom: min(85px, calc(calc(85/750) * 100vw));
}

.p-worry:after {
  content: "";
  display: block;
  background: url("../img/hoge/hogehoge.png") no-repeat;
  background-size: contain;
  width: min(175px, calc(calc(175/750) * 100vw));
  height: min(71px, calc(calc(71/750) * 100vw));
  position: absolute;
  bottom: max(-60px, calc(-1 * (calc(60/750) * 100vw)));
  left: 0;
  right: 0;
  margin: auto;
  z-index: 1;
}

/*---------------------------------------------------------------------------------------
--
-- utility
--
----------------------------------------------------------------------------------------*/
/* .u-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;
}

/* .ml○○-flex */
.ml0-flex {
  margin-left: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.ml5-flex {
  margin-left: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.ml10-flex {
  margin-left: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.ml15-flex {
  margin-left: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.ml20-flex {
  margin-left: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.ml25-flex {
  margin-left: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.ml30-flex {
  margin-left: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.ml35-flex {
  margin-left: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.ml40-flex {
  margin-left: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.ml45-flex {
  margin-left: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.ml50-flex {
  margin-left: min(50px, calc(calc(50/750) * 100vw)) !important;
}

/* .mr○○-flex */
.mr0-flex {
  margin-right: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.mr5-flex {
  margin-right: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.mr10-flex {
  margin-right: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.mr15-flex {
  margin-right: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.mr20-flex {
  margin-right: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.mr25-flex {
  margin-right: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.mr30-flex {
  margin-right: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.mr35-flex {
  margin-right: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.mr40-flex {
  margin-right: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.mr45-flex {
  margin-right: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.mr50-flex {
  margin-right: min(50px, calc(calc(50/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-bottom: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.pb5-flex {
  padding-bottom: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.pb10-flex {
  padding-bottom: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.pb15-flex {
  padding-bottom: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.pb20-flex {
  padding-bottom: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.pb25-flex {
  padding-bottom: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.pb30-flex {
  padding-bottom: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.pb35-flex {
  padding-bottom: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.pb40-flex {
  padding-bottom: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.pb45-flex {
  padding-bottom: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.pb50-flex {
  padding-bottom: min(50px, calc(calc(50/750) * 100vw)) !important;
}

.pb55-flex {
  padding-bottom: min(55px, calc(calc(55/750) * 100vw)) !important;
}

.pb60-flex {
  padding-bottom: min(60px, calc(calc(60/750) * 100vw)) !important;
}

.pb65-flex {
  padding-bottom: min(65px, calc(calc(65/750) * 100vw)) !important;
}

.pb70-flex {
  padding-bottom: min(70px, calc(calc(70/750) * 100vw)) !important;
}

.pb75-flex {
  padding-bottom: min(75px, calc(calc(75/750) * 100vw)) !important;
}

.pb80-flex {
  padding-bottom: min(80px, calc(calc(80/750) * 100vw)) !important;
}

.pb85-flex {
  padding-bottom: min(85px, calc(calc(85/750) * 100vw)) !important;
}

.pb90-flex {
  padding-bottom: min(90px, calc(calc(90/750) * 100vw)) !important;
}

.pb95-flex {
  padding-bottom: min(95px, calc(calc(95/750) * 100vw)) !important;
}

.pb100-flex {
  padding-bottom: min(100px, calc(calc(100/750) * 100vw)) !important;
}

.pb105-flex {
  padding-bottom: min(105px, calc(calc(105/750) * 100vw)) !important;
}

.pb110-flex {
  padding-bottom: min(110px, calc(calc(110/750) * 100vw)) !important;
}

.pb115-flex {
  padding-bottom: min(115px, calc(calc(115/750) * 100vw)) !important;
}

.pb120-flex {
  padding-bottom: min(120px, calc(calc(120/750) * 100vw)) !important;
}

.pb125-flex {
  padding-bottom: min(125px, calc(calc(125/750) * 100vw)) !important;
}

.pb130-flex {
  padding-bottom: min(130px, calc(calc(130/750) * 100vw)) !important;
}

.pb135-flex {
  padding-bottom: min(135px, calc(calc(135/750) * 100vw)) !important;
}

.pb140-flex {
  padding-bottom: min(140px, calc(calc(140/750) * 100vw)) !important;
}

.pb145-flex {
  padding-bottom: min(145px, calc(calc(145/750) * 100vw)) !important;
}

.pb150-flex {
  padding-bottom: min(150px, calc(calc(150/750) * 100vw)) !important;
}

.pb155-flex {
  padding-bottom: min(155px, calc(calc(155/750) * 100vw)) !important;
}

.pb160-flex {
  padding-bottom: min(160px, calc(calc(160/750) * 100vw)) !important;
}

/* .pl○○-flex */
.pl0-flex {
  padding-left: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.pl5-flex {
  padding-left: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.pl10-flex {
  padding-left: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.pl15-flex {
  padding-left: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.pl20-flex {
  padding-left: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.pl25-flex {
  padding-left: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.pl30-flex {
  padding-left: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.pl35-flex {
  padding-left: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.pl40-flex {
  padding-left: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.pl45-flex {
  padding-left: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.pl50-flex {
  padding-left: min(50px, calc(calc(50/750) * 100vw)) !important;
}

/* .pr○○-flex */
.pr0-flex {
  padding-right: min(0px, calc(calc(0/750) * 100vw)) !important;
}

.pr5-flex {
  padding-right: min(5px, calc(calc(5/750) * 100vw)) !important;
}

.pr10-flex {
  padding-right: min(10px, calc(calc(10/750) * 100vw)) !important;
}

.pr15-flex {
  padding-right: min(15px, calc(calc(15/750) * 100vw)) !important;
}

.pr20-flex {
  padding-right: min(20px, calc(calc(20/750) * 100vw)) !important;
}

.pr25-flex {
  padding-right: min(25px, calc(calc(25/750) * 100vw)) !important;
}

.pr30-flex {
  padding-right: min(30px, calc(calc(30/750) * 100vw)) !important;
}

.pr35-flex {
  padding-right: min(35px, calc(calc(35/750) * 100vw)) !important;
}

.pr40-flex {
  padding-right: min(40px, calc(calc(40/750) * 100vw)) !important;
}

.pr45-flex {
  padding-right: min(45px, calc(calc(45/750) * 100vw)) !important;
}

.pr50-flex {
  padding-right: min(50px, calc(calc(50/750) * 100vw)) !important;
}

/* .u-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;
}

.u-fsz--72 {
  font-size: min(72px, calc(calc(72/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;
}

/* fonts */
.u-bold {
  font-weight: bold !important;
}

.u-sbold {
  font-weight: 500 !important;
}

.u-color--blue {
  color: #0086d3 !important;
}

.u-color--aqua-1 {
  color: #e7ebf3 !important;
}

.u-color--aqua-2 {
  color: #5ad4eb !important;
}

.u-color--navy {
  color: #0272b2 !important;
}

.u-color--yellow {
  color: #fff100 !important;
}

.u-color--yellow2 {
  color: #fcff00 !important;
}

.u-color--yellow3 {
  color: #e4ba56 !important;
}

.u-color--red {
  color: #ff4e00 !important;
}

.u-color--black-1 {
  color: #4c4c4c !important;
}

.u-color--black-2 {
  color: #453f41 !important;
}

.u-color--black-3 {
  color: #252525 !important;
}

.u-color--cv-tel {
  color: #7eb6ff !important;
}

.u-color--cv-web {
  color: #e67bbb !important;
}

.u-color--cv-line {
  color: #48cb5e !important;
}

.u-color--ocher {
  color: #a98945 !important;
}

.u-color--white {
  color: #ffffff !important;
}

/* none */
@media screen and (min-width:641px) {
  .pc_none {
    display: none !important;
  }
}

@media screen and (max-width:640px) {
  .sp_none {
    display: none !important;
  }
}

/* text-align */
.u-center {
  text-align: center !important;
}

.u-left {
  text-align: left !important;
}

.u-right {
  text-align: right !important;
}

.flex-box {
  display: flex;
}

.u-mincho {
  font-family: "YuMincho", "Yu Mincho", "游明朝", Times New Roman, "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.u-ls--wide {
  letter-spacing: 0.02em;
}

/* recommend */
.recommend {
  padding-bottom: clamp(26px, 5.4vw, 54px);
}

.recommend-cont {
  position: relative;
  z-index: 2;
  margin-top: calc(-1 * min(105px, calc(calc(105/750) * 100vw)));
  padding-bottom: min(50px, calc(calc(50/750) * 100vw));
}

.recommend-cont:before {
  content: "";
  display: block;
  background: linear-gradient(90deg, #ff829f, #ffa2ad 50%, #ffb9c4 100%);
  width: calc(100% - min(60px, calc(calc(60/750) * 100vw)));
  height: min(620px, calc(calc(620/750) * 100vw));
  margin: 0 min(30px, calc(calc(30/750) * 100vw));
  z-index: -1;
  border-radius: 20px;
  position: absolute;
  top: 0;
  left: 0;
  box-shadow: 0 0 20px rgba(136, 110, 116, 0.5);
}

.recommend-ttl {
  width: min(631px, calc(calc(631/750) * 100vw));
  margin: 0 auto;
  padding: min(30px, calc(calc(30/750) * 100vw)) 0;
}

/* 施術を探す */
.bg_palepink {
  background-color: #fff6f7;
}

.w92 {
  max-width: 690px;
  width: 92%;
  margin: 0 auto;
}

/* タブ */
#tabcontrol {
  width: 100%;
  display: flex;
}

#tabcontrol a {
  display: inline-block;
  border-radius: 0.75em 0.75em 0 0;
  padding: 0.75em 1em;
  text-decoration: none;
  text-align: center;
  color: #fff;
  font-size: min(23px, calc(calc(23/750) * 100vw));
  font-weight: bold;
  position: relative;
  /* JavaScriptでz-indexを調整するために必要 */
  width: 32%;
}

#tabcontrol a span {
  font-size: min(30px, calc(calc(30/750) * 100vw));
}

#tabcontrol a:nth-child(1),
#tabcontrol a:nth-child(2) {
  margin-right: 3%;
}

/* ▼タブ表示オフの色 */
#tabcontrol a:nth-child(1),
#tabcontrol a:nth-child(2),
#tabcontrol a:nth-child(3) {
  background-color: #bab9b9;
}

/* タブにマウスポインタが載った際*/
#tabcontrol a:hover {
  opacity: .7;
}

#tabpage1::before,
#tabpage2::before,
#tabpage3::before {
  content: "";
  display: block;
  height: 100px;
  /* 調整したい高さ（固定ヘッダーの高さ） */
  margin-top: -100px;
  /* heightと同じ分のネガティブマージン */
  visibility: hidden;
}

/* タブの中身 */
#tabbody .tabpage_inner {
  width: 100%;
  border-top: 6px solid #ff9eb3;
  margin-top: -1px;
  /* 上側にあるタブと1pxだけ重ねるために「-1px」を指定 */
  background-color: #ffd9e1;
  position: relative;
  /* z-indexを調整するために必要 */
  z-index: 0;
}

/* 無料クーポンバナー */
.bnr-coupon-zero {
  padding-top: min(100px, calc(calc(100/750) * 100vw));
  padding-bottom: min(120px, calc(calc(120/750) * 100vw));
}

/* 気になる部位や症状から選ぶ */
.consern-area__cont {
  width: 92%;
  margin: 0 auto;
  position: relative;
}

.area-list__wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.concern-area__item {
  position: absolute;
}

.concern-area__list {
  position: relative;
  width: 100%;
  height: 100%;
}

.concern-area__item.--01 {
  top: min(30px, calc(calc(30/750) * 100vw));
  left: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--02 {
  top: min(100px, calc(calc(100/750) * 100vw));
  left: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--03 {
  top: min(253px, calc(calc(253/750) * 100vw));
  left: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--04 {
  bottom: min(255px, calc(calc(255/750) * 100vw));
  left: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--05 {
  bottom: min(182px, calc(calc(182/750) * 100vw));
  left: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--06 {
  bottom: min(108px, calc(calc(108/750) * 100vw));
  left: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--07 {
  top: min(68px, calc(calc(68/750) * 100vw));
  right: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--08 {
  top: min(140px, calc(calc(140/750) * 100vw));
  right: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--09 {
  top: min(215px, calc(calc(215/750) * 100vw));
  right: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--10 {
  bottom: min(295px, calc(calc(295/750) * 100vw));
  right: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--11 {
  bottom: min(218px, calc(calc(218/750) * 100vw));
  right: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--12 {
  bottom: min(125px, calc(calc(125/750) * 100vw));
  right: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--13 {
  top: min(185px, calc(calc(185/750) * 100vw));
  left: min(24px, calc(calc(24/750) * 100vw));
}

.concern-area__item.--14 {
  bottom: min(50px, calc(calc(50/750) * 100vw));
  right: min(24px, calc(calc(24/750) * 100vw));
}

.concern__list-link {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: min(23px, calc(calc(23/750) * 100vw));
  padding: min(12px, calc(calc(12/750) * 100vw)) min(6px, calc(calc(6/750) * 100vw));
  border-radius: 9999px;
  border: min(2px, calc(calc(2/750) * 100vw)) solid #fff;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  width: min(163.5px, calc(calc(163.5/750) * 100vw));
  text-align: center;
  font-feature-settings: "palt";
}

.concern__list-link.--ls--narrow {
  letter-spacing: -0.05em;
}

.concern__list-link.--ls--xnarrow {
  letter-spacing: -0.1em;
}

.concern__list-link.--lh-adjust {
  line-height: 1;
  padding-top: min(10px, calc(calc(10/750) * 100vw));
}

.--black .concern__list-link {
  color: #fff;
  background: linear-gradient(#403f3f 10%, #5e5e5e 70%);
  position: relative;
}

.--white .concern__list-link {
  color: #5d5d5d;
  background: linear-gradient(#cccccc 10%, #e3e3e3 70%);
}

.concern-area__item.--radius-l .concern__list-link {
  border-radius: min(45px, calc(calc(45/750) * 100vw));
}

.--black .concern__list-link:hover {
  color: #fff;
}

.--white .concern__list-link:hover {
  color: #5d5d5d;
}

.--black .concern__list-link:after {
  content: "";
  display: block;
  width: min(10px, calc(calc(10/750) * 100vw));
  height: min(10px, calc(calc(10/750) * 100vw));
  border-top: min(2px, calc(calc(2/750) * 100vw)) solid #fff;
  border-right: min(2px, calc(calc(2/750) * 100vw)) solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: min(15px, calc(calc(15/750) * 100vw));
}

.--white .concern__list-link:after {
  content: "";
  display: block;
  width: min(10px, calc(calc(10/750) * 100vw));
  height: min(10px, calc(calc(10/750) * 100vw));
  border-top: min(2px, calc(calc(2/750) * 100vw)) solid #5d5d5d;
  border-right: min(2px, calc(calc(2/750) * 100vw)) solid #5d5d5d;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: min(15px, calc(calc(15/750) * 100vw));
}

.concern-area__item--adjust {
  position: relative;
  right: min(5px, calc(calc(5/750) * 100vw));
}

/* お悩みから探す */
.search-probrem__wrap {
  width: 92%;
  margin: 0 auto;
}

.search-probrem__list {
  display: flex;
  flex-wrap: wrap;
  gap: min(20px, calc(calc(20 / 750) * 100vw));
  padding: 0 min(30px, calc(calc(30/750) * 100vw));
  margin: 0;
}

.search-probrem__item {
  width: calc(50% - min(10px, calc(calc(10 / 750) * 100vw)));
  font-weight: bold;
  font-size: min(30px, 4vw);
  border-bottom: min(2px, 0.2666666667vw) solid #ff8ea0;
  position: relative;
}

.search-probrem__item:after {
  content: "";
  display: block;
  width: min(10px, calc(calc(10 / 750) * 100vw));
  height: min(10px, calc(calc(10 / 750) * 100vw));
  border-top: min(2px, 0.2666666667vw) solid #ff6586;
  border-right: min(2px, 0.2666666667vw) solid #ff6586;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: min(4px, calc(calc(4 / 750) * 100vw));
}

.search-probrem__link {
  display: flex;
  line-height: 2.2;
  font-size: min(38px, calc(calc(38 / 750) * 100vw));
  line-height: 1.6;
}

.search-probrem__link.--ls--narrow {
  letter-spacing: -0.05em;
}

/* アコーディオン開閉アイコン */
.search-probrem__dt {
  position: relative;
}

.search-probrem__dt:before {
  content: "";
  display: block;
  width: min(30px, calc(calc(30/750) * 100vw));
  height: min(30px, calc(calc(30/750) * 100vw));
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: min(16px, calc(calc(16/750) * 100vw));
  transform: translateY(-50%);
  border-radius: 50%;
  z-index: 1;
}

/* Scripts */
.js--accordion-cont {
  display: none;
}

.js--accordion-trigger .search-probrem__list-ttl {
  position: relative;
  cursor: pointer;
}

.js--accordion-trigger .search-probrem__list-ttl:before {
  content: "";
  display: block;
  height: min(20px, calc(calc(20/750) * 100vw));
  width: min(1.5px, calc(calc(1.5/750) * 100vw));
  background-color: #ff8ea6;
  position: absolute;
  top: 50%;
  right: min(30px, calc(calc(30/750) * 100vw));
  transform: translateY(-50%);
  transition: all 0.3s;
  z-index: 2;
}

.js--accordion-trigger.js--accordion-open .search-probrem__list-ttl:before {
  transform: translateY(-50%) rotate(90deg);
}

.js--accordion-trigger .search-probrem__list-ttl:after {
  content: "";
  display: block;
  height: min(20px, calc(calc(20/750) * 100vw));
  width: min(1.5px, calc(calc(1.5/750) * 100vw));
  background-color: #ff8ea6;
  position: absolute;
  top: 50%;
  right: min(30px, 4vw);
  transform: translateY(-50%) rotate(90deg);
  z-index: 2;
}

/* アコーディオン開閉アイコン ここまで */
.search-probrem__dl {
  box-shadow: 0 0 15px rgba(136, 110, 116, 0.3);
  margin-bottom: min(28px, calc(calc(28/750) * 100vw));
  border-radius: min(10px, calc(calc(10/750) * 100vw));
  background: #fff;
}

.search-probrem__list-ttl {
  padding: min(30px, 4vw);
  background: linear-gradient(90deg, #ff829f, #ffa2ac 70%);
  color: #fff;
  border-radius: min(10px, calc(calc(10/750) * 100vw));
  font-size: min(38px, calc(calc(38/750) * 100vw));
  font-weight: bold;
}

.search-probrem__dt.js--accordion-open .search-probrem__list-ttl {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.search-probrem__dd {
  display: none;
  margin: 0;
  margin-bottom: min(35px, calc(calc(35/750) * 100vw));
  padding-top: min(20px, calc(calc(20/750) * 100vw));
  padding-bottom: min(35px, calc(calc(35/750) * 100vw));
}

.search-probrem__link-item {
  background: linear-gradient(90deg, #ff829f, #ffa2ac 70%);
  border-radius: 10px;
  font-size: min(38px, calc(calc(38/750) * 100vw));
  font-weight: bold;
  margin-bottom: min(35px, calc(calc(35/750) * 100vw));
  position: relative;
  cursor: pointer;
}

.search-probrem__link-item:before {
  content: "";
  display: block;
  width: min(30px, calc(calc(30/750) * 100vw));
  height: min(30px, calc(calc(30/750) * 100vw));
  background-color: #fff;
  position: absolute;
  top: 50%;
  right: min(15px, calc(calc(15/750) * 100vw));
  transform: translateY(-50%);
  border-radius: 50%;
}

.search-probrem__link-item:after {
  content: "";
  display: block;
  width: min(12px, calc(calc(12/750) * 100vw));
  height: min(12px, calc(calc(12/750) * 100vw));
  background-color: transparent;
  border-top: min(2px, calc(calc(2/750) * 100vw)) solid #ff8ea6;
  border-right: min(2px, calc(calc(2/750) * 100vw)) solid #ff8ea6;
  position: absolute;
  top: 50%;
  right: min(26px, calc(calc(26/750) * 100vw));
  transform: translateY(-50%) rotate(45deg);
}

.search-probrem__link {
  color: #fff;
  transition: all 0.3s;
  display: flex;
  padding: min(30px, calc(calc(30/750) * 100vw));
  color: #fff;
  transition: all 0.3s;
}

.search-probrem__link.--acc {
  color: #5d5d5d;
  padding: 0;
  font-size: min(27.5px, calc(calc(27.5/750) * 100vw));
  ;
}

.search-probrem__link.--acc:hover {
  color: #5d5d5d;
}

.search-probrem__link:hover {
  color: #fff;
  opacity: 0.8;
}

/* タイプで選ぶ */

.select-type__dl {
  width: 92%;
  margin: 0 auto;
  margin-top: min(65px, calc(calc(65/750) * 100vw));
  border-radius: min(10px, calc(calc(10/750) * 100vw));
}

.select-type__list-ttl {
  position: relative;
  box-shadow: 0 0 30px rgba(119, 107, 110, 0.3);
}

.select-type__list-ttl:before {
  content: "";
  display: block;
  width: min(50px, calc(calc(50/750) * 100vw));
  height: min(50px, calc(calc(50/750) * 100vw));
  background-color: #fff;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  border-radius: 50%;
  z-index: 1;
  border: min(2px, calc(calc(2/750) * 100vw)) solid #ff6082;
}

.--yellow.select-type__list-ttl:before {
  border: min(2px, calc(calc(2/750) * 100vw)) solid #ec9000;
}

.--purple.select-type__list-ttl:before {
  border: min(2px, calc(calc(2/750) * 100vw)) solid #96589a;
}

.select-type__dt {
  cursor: pointer;
  position: relative;
  transition: all .3s;
  border-radius: min(10px, calc(calc(10/750) * 100vw));
}

.select-type__dt:hover {
  opacity: 0.8;
}

.select-type__dt:before {
  content: "";
  display: block;
  height: min(20px, 2.6666666667vw);
  width: min(2px, 0.2666666667vw);
  background-color: #ff6586;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
  transition: all 0.3s;
  z-index: 2;
}

.--yellow.select-type__dt:before {
  background-color: #ec9000;
}

.--purple.select-type__dt:before {
  background-color: #96589a;
}

.js--accordion-open.select-type__dt:before {
  transform: translate(-50%, 50%) rotate(90deg);
}


.select-type__dt:after {
  content: "";
  display: block;
  height: min(20px, 2.6666666667vw);
  width: min(2px, 0.2666666667vw);
  background-color: #ff6586;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%) rotate(90deg);
  transition: all 0.3s;
  z-index: 2;
}

.--yellow.select-type__dt:after {
  background-color: #ec9000;
}

.--purple.select-type__dt:after {
  background-color: #96589a;
}

.select-type__item {
  padding-bottom: min(20px, calc(calc(20/750) * 100vw));
  transition: all 0.3s;
}

.select-type__list {
  margin-top: min(55px, calc(calc(55/750) * 100vw));
}

.select-type__dd {
  background-color: #fff;
  display: none;
  border-bottom-left-radius: min(10px, calc(calc(10/750) * 100vw));
  border-bottom-right-radius: min(10px, calc(calc(10/750) * 100vw));
}

.select-type__dl:nth-child(1) {
  border: #ff6787 2px solid;
  background-color: #FFF;
}

.select-type__dl:nth-child(2) {
  border: #ed940c 2px solid;
  background-color: #FFF;
}

.select-type__dl:nth-child(3) {
  border: #9c5f9e 2px solid;
  background-color: #FFF;
}

.select-type__list-topimg {
  padding: min(65px, calc(calc(65/750) * 100vw)) min(30px, calc(calc(30/750) * 100vw)) 0;
}

.select-type__list {
  padding: 0 min(30px, calc(calc(30/750) * 100vw));
}

/* Webクーポン */

header .head__menu {
  background-color: #FEF9EE;
}

.p-head__menu-coupon {
  padding-top: min(30px, calc(calc(30 / 750) * 100vw));
  padding-bottom: min(150px, calc(calc(150 / 750) * 100vw));
  border-top: min(2px, calc(calc(2 / 750)* 100vw)) solid #D8BEB2;
}

.p-head__menu-coupon .c-web-coupon {
  padding-top: min(20px, calc(calc(20 / 750) * 100vw));
  padding-bottom: 0;
}

.c-web-coupon_inner {
  text-align: center;
  padding: 0 min(40px, calc(calc(40 / 750) * 100vw));
}

.c-web-coupon_inner img {
  width: 100%;
}

.c-web-coupon .limit_btn {
  position: absolute;
  bottom: min(130px, calc(calc(130/750) * 100vw));
  left: 50%;
  transform: translateX(-50%);
}

.c-web-coupon .limit_btn_link {
  transition: all 0.3s;
}

.box_countdown {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  width: 70%;
  max-width: 516px;
  background-color: #fff;
  border: 1px solid #2AAFAB;
  border-radius: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 2;
}

.btn_img {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 3px 6px rgb(0 0 0 / 16%));
}

.c-web-coupon .box_countdown_txt {
  color: #966753;
  font-size: min(24px, calc(calc(24 / 750) * 100vw));
  margin-right: 0.2em;
  margin-bottom: -0.25em;
}

.c-web-coupon .box_countdown_txt span {
  font-size: min(20px, calc(calc(20 / 750) * 100vw));
  margin-left: 0.5em;
}

.box_countdown .yyc-day,
.box_countdown .yyc-hou,
.box_countdown .yyc-min,
.box_countdown .yyc-sec {
  font-size: min(30px, calc(calc(30 / 750) * 100vw));
  color: #e64287;
  border-radius: 5px;
  padding: 1.5px 2px;
}

.box_countdown .yyc-day-text,
.box_countdown .yyc-hou-text,
.box_countdown .yyc-min-text,
.box_countdown .yyc-sec-text {
  color: #e64287;
  font-size: min(20px, calc(calc(20 / 750) * 100vw));
  /*margin: 0 2.5px;*/
}

.btn_img {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 3px 6px rgb(0 0 0 / 16%));
}

.box_countdown .yyc-day,
.box_countdown .yyc-hou,
.box_countdown .yyc-min,
.box_countdown .yyc-sec {
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(34px, calc(calc(34/750) * 100vw));
  color: #E64287;
  border-radius: 5px;
  padding: 1.5px 2px;
  font-weight: 600;
}

.box_countdown .yyc-day-text,
.box_countdown .yyc-hou-text,
.box_countdown .yyc-min-text,
.box_countdown .yyc-sec-text {
  color: #E64287;
  font-family: "Noto Sans JP", sans-serif;
  font-size: min(22px, calc(calc(22/750) * 100vw));
  font-weight: 600;
  /*margin: 0 2.5px;*/
}

/* featherlight */
.featherlight_cont {
  display: none;
}

.icn_modal {
  position: relative;
}

.hifu-case .icn_modal:before {
  content: "";
  position: absolute;
  bottom: clamp(10px, 2.8vw, 20px);
  right: clamp(10px, 2.8vw, 20px);
  background: url(../img/skin/icon_glass.png) no-repeat;
  background-size: 100%;
  width: clamp(17px, 4.5vw, 34px);
  height: clamp(17px, 4.5vw, 34px);
  z-index: 2;
  pointer-events: none;
}

.hifu-case .icn_modal:after {
  content: "";
  position: absolute;
  bottom: clamp(4px, 1vw, 8px);
  right: clamp(4px, 1vw, 8px);
  z-index: 1;
  width: clamp(30px, 8vw, 60px);
  height: clamp(30px, 8vw, 60px);
  border-radius: 50%;
  background-color: #000;
  opacity: 0.5;
  pointer-events: none;
}

.c-case-list {
  display: flex;
  flex-direction: column;
  gap: min(20px, calc(calc(20/750) * 100vw));
}

.hokuro-case .c-case-list {
  padding-top: min(70px, calc(calc(70/750) * 100vw));
}

.hifu-case .c-case-list {
  flex-direction: row;
  justify-content: center;
}

.c-case-list__item {
  width: 100%;
}

.hifu-case .c-case-list__item {
  width: calc(50% - min(20px, calc(calc(20/750) * 100vw)));
}

/*モーダル部分*/
.with-featherlight .featherlight {
  background: #6A6A6A;
}

.with-featherlight .featherlight .featherlight-content .featherlight-inner {
  padding: 10px;
  max-width: 750px;
}

@media screen and (max-width: 750px) {
  .with-featherlight .featherlight .featherlight-content .featherlight-inner {
    max-width: 100%;
  }
}

.with-featherlight .featherlight .featherlight-close-icon .featherlight-inner {
  top: -45px;
  right: 0;
  line-height: 38px;
  width: 38px;
  font-size: 18px;
  background-color: #3D3D3D;
  text-shadow: 1px 0px #fff;
}

.with-featherlight .featherlight .featherlight-inner {
  max-height: calc(90vh - 60px);
}

/*modal_list*/
.modal_list {
  display: flex;
  flex-wrap: wrap;
  padding: 0 15px;
  margin: 0 auto;
  width: 840px;
  justify-content: space-between;
}

.modal_list>li {
  max-width: calc((100% - 15px) / 2);
}

.modal_list>li:not(:last-child) {
  margin-right: 15px;
  margin-bottom: 15px;
}

.modal_list li:nth-child(2n) {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .modal_list {
    width: 100%;
    box-sizing: border-box;
  }
}

/* クリニック一覧 */
main #clinic dl.accordion>dt {
  background: #ffa2ac;
}

/* ========================================
　ここからslin_ipl個別スタイル 
======================================== */
/* header */
.section_header {
  align-items: center;
}

.section_header_web {
  width: min(259px, calc(calc(259 / 750) * 100vw));
  text-align: right;
}

/* フロートバナー */
#float_bnr {
  z-index: 49 !important;
}

/* ドロワーボタン */
@media screen and (max-width: 640px) {
  header .drawer-btn span {
    right: min(20px, calc(calc(20 / 750) * 100vw))
  }

  header .drawer-btn span::before {
    top: -10px;
  }

  header .drawer-btn span::after {
    bottom: -10px;
  }
}

/* ハンバーガーメニュー */
@media screen and (min-width: 641px) {
  header .head__menu {
    width: calc(100% + 1px);
  }
}

header .head__menu-inner {
  margin-top: 0;
  margin-bottom: 0;
}

header .head__menu__item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  border-top: min(2px, calc(calc(2 / 750)* 100vw)) solid #D8BEB2;
  position: relative;
  background-color: #fff;
}

header .head__menu__item:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: min(12.5px, calc(calc(12.5 / 750)* 100vw)) solid transparent;
  border-bottom: min(12.5px, calc(calc(12.5 / 750)* 100vw)) solid transparent;
  border-left: min(15px, calc(calc(15 / 750)* 100vw)) solid #D8BEB2;
  border-right: 0;
  position: absolute;
  top: 50%;
  right: min(40px, calc(calc(40 / 750)* 100vw));
  transform: translateY(-50%);
}

header .head__menu__item a {
  font-size: min(32px, calc(calc(32 / 750) * 100vw));
  color: #A17363;
  display: flex;
  align-items: center;
  width: 100%;
  padding: min(20px, calc(calc(20 / 750) * 100vw));
  font-weight: 600;
}

.c-icon__wrap {
  width: min(64px, calc(calc(64 / 750) * 100vw));
  height: min(64px, calc(calc(64 / 750) * 100vw));
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 0.5em;
}

@media screen and (max-width: 500px) {
  .c-icon__wrap--small img {
    width: 65%;
    height: auto;
  }
}

.is-drawer_open .drawer-btn span::before,
.is-drawer_open .drawer-btn span::after {
  background-color: #A17363 !important;
}

.p-head__menu-coupon {
  background-color: #FEF9EE;
  text-align: center;
}

/* fv */
.fv,
.fv__top {
  position: relative;
}

.fv .c-web-coupon {
  position: absolute;
  width: 100%;
  bottom: 6.5%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.cta__notice {
  text-align: center;
  font-size: min(20px, calc(calc(20 / 750) * 100vw));
  color: #A17363;
}

/* coupon */
.with-featherlight .featherlight .featherlight-content:has(#c-web-coupon__use) .featherlight-close-icon {
  top: unset;
  bottom: -50px;
  left: 0;
  right: 0;
  margin: auto;
  background-color: #fff;
  width: 40px;
  height: 40px;
}

.with-featherlight .featherlight .featherlight-content:has(#c-web-coupon__use) .featherlight-close-icon:before,
.with-featherlight .featherlight .featherlight-content:has(#c-web-coupon__use) .featherlight-close-icon:after {
  background: #000;
  height: 25px;
}

.c-web-coupon__use {
  width: 36%;
  margin: 0 auto;
  display: block;
}

.c-web-coupon__use--scroll {
  overflow-y: scroll;
}

.with-featherlight .featherlight .featherlight-content #c-web-coupon__use,
.with-featherlight .featherlight .featherlight-content {
  padding: 0;
}

.with-featherlight .featherlight .featherlight-content:has(#c-web-coupon__use),
.with-featherlight .featherlight .featherlight-inner#c-web-coupon__use {
  border-radius: min(30px, calc(calc(30 / 750) * 100vw));
}

.with-featherlight .featherlight .featherlight-inner#c-web-coupon__use {
  max-height: calc(90vh - 100px);
}

/* ページトップボタン */
.foot .foot_btn {
  width: min(85px, calc(calc(85 / 750) * 100vw));
  height: min(85px, calc(calc(85 / 750) * 100vw));
  z-index: 49;
}

/* クーポン背景 */
.p-coupon--top {
  background-size: cover;
  background-repeat: no-repeat;
  background-color: transparent;
}

.p-coupon--02 {
  background-color: #F5EEDB;
  z-index: 1;
  position: relative;
}

/* 症例スライダー */
.p-case {
  background-image: url(../img/skin_ipl/case_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-color: transparent;
}

.p-case__ttl img {
  width: min(710px, calc(calc(710 / 750) * 100vw));
  margin: 0 auto;
}

.p-case__lead {
  font-size: min(36px, calc(calc(36 / 750) * 100vw));
  color: #fff;
  text-align: center;
  background-color: #B2AC75;
  padding: min(30px, calc(calc(30 / 750) * 100vw)) 0;
  margin: 0 min(20px, calc(calc(20 / 750) * 100vw)) min(40px, calc(calc(40 / 750) * 100vw));
}

/* ========================================
    op-slide用個別設定（スクロールヒント）
======================================== */
.op-slide__wrap img {
  /* width: 160%; */
  max-width: none;
  width: 160%;
}

.op-slide__wrap--potenza img {
  width: 265%;
}

/* ========================================
    skin_02_tik流用スタイル
======================================== */
.wrap750 {
  width: 750px;
  max-width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

/* 信頼↓ */
.ff_serif {
  font-family: "YuMincho", "Yu Mincho", "游明朝", Times New Roman, "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.fc_pink_serif {
  font-size: clamp(20px, 3.6vw, 36px);
  line-height: 160%;
}

.fc_pink span {
  color: #E14F8D;
}

.lh180 {
  line-height: 180%;
}

.ta_left {
  text-align: left;
}

.fs40 {
  font-size: clamp(20px, 4.0vw, 40px);
}

.fs44 {
  font-size: clamp(22px, 4.4vw, 44px);
}

.u_line2 {
  border-bottom: 2px solid #E14F8D;
  display: inline;
  color: #E14F8D;
}

.seciton_point {
  padding: clamp(55px, 9.0vw, 90px) 0 clamp(50px, 10vw, 100px);
  background: linear-gradient(180deg, transparent 0 5%, #f8f8f8 25%), url(../img/double-eyelid_5/point_bg.png) repeat-x #ededed;
  background-position: top center;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .section_point-inner {
    padding: 0 15px;
  }
}

.section_point_drttl {
  width: fit-content;
  padding: 0.6em 1em;
  margin: 0 auto clamp(30px, 6vw, 60px);
  font-weight: 500;
  text-align: center;
  position: relative;
}

.section_point_drttl::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 50px;
  border-bottom: #E14F8D solid 2px;
  border-left: #E14F8D solid 2px;
}

.section_point_drttl::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  border-top: #E14F8D solid 2px;
  border-right: #E14F8D solid 2px;
}

@media screen and (max-width: 767px) {

  .section_point_drttl::before,
  .section_point_drttl::after {
    width: 30px;
    height: 30px;
    border-width: 1px;
  }
}

.seciton_point_white-box {
  background: linear-gradient(180deg, transparent 0 5%, #ffffff 25%), url(../img/double-eyelid_5/point_white-box_bg.png);
  padding: clamp(40px, 8vw, 80px) clamp(30px, 6vw, 60px);
  font-size: clamp(14px, 2.4vw, 24px);
}

@media screen and (max-width: 767px) {
  .seciton_point_white-box {
    padding: 15px;
    padding-top: 40px;
  }
}

.seciton_point_drarea_bdbox {
  background: #FFF;
  border: 2px #E14F8D solid;
  padding: clamp(15px, 5vw, 50px) clamp(20px, 5vw, 50px);
  margin-bottom: clamp(30px, 6vw, 60px);
  position: relative;
}

.seciton_point_drarea_bdbox::before {
  content: "";
  border-left: 30px solid transparent;
  border-top: 30px solid #E14F8D;
  height: 0;
  width: 0;
  position: absolute;
  top: 0;
  right: 0;
}

.seciton_point_drarea_bdbox::after {
  content: "";
  border-right: 30px solid transparent;
  border-bottom: 30px solid #E14F8D;
  height: 0;
  width: 0;
  position: absolute;
  bottom: 0;
  left: 0;
}

.seciton_point_drarea_bdbox .ff_serif {
  margin: 0 0 clamp(20px, 3.0vw, 30px);
  font-weight: bold;
}

.seciton_point_drprof {
  margin: 0 0 clamp(40px, 8vw, 80px);
  background: #FFF;
}

.seciton_point_drprof-box {
  display: flex;
  justify-content: space-between;
  width: 640px;
  margin: 0 auto;
}

.seciton_point_drprof>p {
  font-weight: 500;
}

.seciton_point_drprof-box li {
  margin: 0 0 clamp(10px, 3.0vw, 30px);
  overflow: hidden;
  width: 300px;
  box-shadow: 0 10px 25px 0 rgba(0, 0, 0, .25);
  background: #000;
  font-family: "YuMincho", "Yu Mincho", "游明朝", Times New Roman, "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}

.seciton_point_drprof-box li .dr_img {
  display: block;
}

.seciton_point_drprof-box li .dr_name {
  display: block;
  font-size: clamp(14px, 2.6vw, 26px);
  background: #e8e8e8;
  padding: clamp(10px, 1.5vw, 15px) 0 clamp(10px, 1.0vw, 10px);
  font-weight: bold;
  line-height: 110%;
  text-align: center;
}

.seciton_point_drprof-box li .dr_name span {
  font-size: clamp(10px, 1.8vw, 18px);
  color: #737373;
}

.seciton_point_drprof-box li .dr_spec {
  color: #FFFFFF;
  font-size: clamp(12px, 2.4vw, 24px);
  padding: clamp(8px, 0.8vw, 8px) 0;
  line-height: 130%;
  text-align: center;
}

.seciton_point_box {
  background: #FFFFFF;
  margin: 0 0 clamp(30px, 6vw, 60px);
  font-size: clamp(14px, 2.4vw, 24px);
}

.seciton_point_box .bd_blk_design {
  width: 100%;
  max-width: 500px;
  padding: clamp(6px, 1.0vw, 10px) 0;
  margin: 0 auto clamp(20px, 4.0vw, 40px);
  border: 2px #000 solid;
  border-radius: 30px;
  font-size: clamp(20px, 3.6vw, 36px);
  font-weight: 500;
  text-align: center;
}

.seciton_point_box_imgarea {
  margin-top: 30px;
}

.seciton_point_box_imgarea .pink_english_design {
  display: block;
  max-width: 300px;
  padding: 0.5em 0;
  margin: 0 auto -2.3em;
  background: rgb(225 79 141 / 0.8);
  border-radius: 30px;
  color: #fff;
  position: relative;
  text-align: center;
  line-height: 1;
}

@media screen and (max-width: 767px) {
  .seciton_point_drprof>p {
    margin-top: 20px;
  }

  .seciton_point_drarea_bdbox::before,
  .seciton_point_drarea_bdbox::after {
    border-width: 20px;
  }

  .seciton_point_drprof-box {
    width: 100%;
  }

  .seciton_point_drprof-box li {
    width: calc((100% - 10px) / 2);
    margin-bottom: 10px;
  }

  .seciton_point_box_imgarea .pink_english_design {
    width: 60%;
    max-width: none;
    margin-bottom: -12%;
  }

  .seciton_point_box_imgarea {
    margin-top: 15px;
  }
}

/* 信頼↑ */

.js--ad_list {
  display: none;
}

.doctor .slick-dotted.slick-slider.doctor-slick .item {
  background-color: #fff;
  padding: clamp(15px, 3vw, 30px);
  border: 2px solid #E14F8D;
  display: flex;
  flex-direction: column;
  margin-bottom: clamp(25px, 5vw, 50px);
}

.doctor_profile {
  display: flex;
  align-items: center;
  margin-bottom: clamp(15px, 3vw, 30px);
}

.doctor_profile-img {
  overflow: hidden;
  width: clamp(115px, 23vw, 230px);
  height: clamp(150px, 30vw, 300px);
  background-color: #DFDFDF;
  margin-right: clamp(15px, 3vw, 30px);
  position: relative;
  z-index: 1;
  object-fit: cover;
}

.doctor_profile-img img {
  overflow: hidden;
  height: 100%;
  object-fit: cover;
}

.doctor_profile-txt p {
  line-height: 1.5;
}

.doctor_profile-achive {
  font-size: clamp(12px, 2.4vw, 24px);
  font-weight: 500;
  color: #fff;
  background: url(../img/threadlift/doctor_archive_bg.png) no-repeat;
  background-size: 100%;
  text-align: center;
  padding: 0 clamp(15px, 3vw, 30px);
  box-sizing: border-box;
  margin-bottom: clamp(5px, 1vw, 10px);
  min-width: clamp(168px, 33vw, 336px);
  width: 100%;
  min-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.doctor_profile-position {
  margin-bottom: 10px;
}

.doctor_profile-name {
  font-weight: 500;
}

.doctor_profile-name span {
  position: relative;
  font-size: clamp(16px, 3.5vw, 35px);
  padding-bottom: 5px;
  display: block;
}

.doctor_profile-name span::before {
  content:
    '';
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  border: 1px solid #E14F8D;
  min-width: clamp(150px, 30vw, 300px);
}

.doctor_profile-name small {
  display: block;
  font-size: clamp(13px, 2.6vw, 26px);
  color: #E14F8D;
  margin-top: clamp(7px, 1.4vw, 14px);
}

.doctor_about {
  padding: clamp(15px, 3vw, 30px);
  background-color: #EEF1F6;
  margin-bottom: clamp(15px, 3vw, 30px);
}

@media screen and (max-width: 767px) {
  .doctor_list {
    padding: clamp(15px, 3vw, 30px);
  }
}

.doctor_profile-position,
.doctor_about-txt p,
.doctor_list>dl dd {
  font-size: clamp(12px, 2.4vw, 24px);
  font-weight: 500;
  line-height: 1.5;
}

.doctor_about-txt p+p {
  margin-top: clamp(10px, 1.5vw, 15px);
}

.ad-head {
  min-height: clamp(35px, 7vw, 70px);
  background-color: #E14F8D;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: clamp(13px, 2.6vw, 26px);
  font-weight: 500;
  border: 1px solid #E14F8D;
  transition: .4s;
  padding: 5px;
  box-sizing: border-box;
  cursor: pointer;
}

.ad-head.js--accordion-open {
  background-color: #fff;
  color: #E14F8D;
}

.doctor_word {
  position: relative;
}

.doctor_word::before {
  content: '経歴・備考を見る';
}

.js--accordion-open .doctor_word::before {
  content: '閉じる';
}


.doctor_career {
  margin-bottom: clamp(25px, 5vw, 50px);
}

.ttl02 {
  font-size: clamp(16px, 2.8vw, 28px);
  font-weight: 500;
  color: #E14F8D;
  background: none !important;
  position:
    relative;
  margin-bottom: clamp(10px, 2vw, 20px);
}

.ttl02 span {
  display: inline-block;
  background-color: #fff;
  position: relative;
  left: 47%;
  z-index: 2;
  padding-right: 5px;
}

.ttl02::before {
  content: '';
  display: block;
  position: absolute;
  border: 1px solid #E14F8D;
  top: calc(50% + 0px);
  width: 100%;
  z-index: 1;
}

.doctor_remark {
  margin-bottom: clamp(25px, 5vw, 50px);
}

.doctor_list>dl+dl {
  margin-top: clamp(5px, 1vw, 10px);
}

.doctor_list>dl a {
  color: #E14F8D;
  text-decoration: underline;
}

.doctor_list>li a:hover {
  text-decoration: none;
}

.doctor_list>dl dt {
  display: inline-block;
  background-color: #E14F8D;
  padding: 2px 5px;
  color: #fff;
  font-size: clamp(10px, 2vw, 20px);
  margin-bottom: 3px;
}

.doctor__title__wrap {
  padding-left: clamp(15px, 3vw, 30px);
  padding-right: clamp(15px, 3vw, 30px);
}

/* 共通部分タイトルスタイル */

.clinic-title__wrap h2,
.reserve-title__wrap h2,
.doctor__title__wrap h2 {
  text-align: center;
  line-height: 1.35;
  font-weight: 500;
  padding-bottom: 10px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
  position: relative;
  margin-bottom: clamp(10px, 2vw, 20px);
  font-size: clamp(22px, 4vw, 50px);
  border-bottom: 2px solid #E14F8D;
}

.clinic-title__wrap span,
.reserve-title__wrap span,
.doctor__title__wrap span {
  color: #E14F8D;
  font-size: clamp(24px, 5vw, 60px);
}

.section_ttl-eng {
  color: #92A8C8;
  font-size: clamp(20px, 3vw, 40px);
  font-family: 游明朝, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}

.clinic-title__wrap,
.reserve-title__wrap {
  font-size: clamp(32px, 4vw, 50px);
  width: 85%;
  margin: 0 auto;
  margin-bottom: clamp(30px, 6vw, 60px);
}

.clinic-sub-title,
.reserve-sub-title {
  color: #92A8C8;
  font-size: clamp(20px, 3vw, 40px);
  font-family: 游明朝, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
}




/* スクロールバーの表示調整 */

.c-web-coupon__use--scroll::-webkit-scrollbar {
  display: none;
}

.c-web-coupon__use--scroll::-webkit-scrollbar-track {
  display: none;
}

.c-web-coupon__use--scroll::-webkit-scrollbar-thumb {
  display: none;
}

.c-web-coupon__use--scroll::-webkit-scrollbar-button {
  display: none;
}

.c-web-coupon__use--scroll::-webkit-scrollbar-track-piece:start,
.c-web-coupon__use--scroll::-webkit-scrollbar-track-piece:end {
  display: none;
}

.featherlight-content .simplebar-content {
  width: min(88vw, 640px);
}

/* 症例写真の施術概要 */
.c-case-summary {
  border: 1px solid #CCCCCC;
  background: #fff;
  font-size: min(24px, calc(calc(24/750) * 100vw));
  padding: 1em;
  color: #464646;
  margin: min(45px, calc(calc(45/750) * 100vw)) min(25px, calc(calc(25/750) * 100vw)) 0;
}

.c-case-summary__item {
  line-height: 1.66;
  margin: 0;
}

/* FV下メニュー */
.nav_menu {}

.nav_menu__wrap {
  display: flex;
  flex-wrap: wrap;
}

.nav_menu__wrap li {
  width: 50%;
  border: min(2px, calc(calc(2 / 750) * 100vw)) solid #FFF;
  border-bottom: none;
  text-align: center;
  font-size: min(30px, calc(calc(30 / 750) * 100vw));
  line-height: 1.2;
  letter-spacing: 0.15em;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  position: relative;
}

.nav_menu__wrap li:nth-child(odd) {
  border-right: none;
}

/* .nav_menu__wrap li::before {
  content: "";
  width: min(7px, calc(calc(7 / 750) * 100vw));
  height: min(7px, calc(calc(7 / 750) * 100vw));
  border-top: min(3px, calc(calc(3 / 750) * 100vw)) solid #50b1bf;
  border-right: min(3px, calc(calc(3 / 750) * 100vw)) solid #50b1bf;
  position: absolute;
  top: 50%;
  right: min(20px, calc(calc(20 / 750) * 100vw));
  transform: translateY(-50%) rotate(135deg);
  -webkit-transform: translateY(-50%) rotate(135deg);
  -ms-transform: translateY(-50%) rotate(135deg);
} */

/* .nav_menu__wrap li:nth-child(5), .nav_menu__wrap li:nth-child(6) {
  border-bottom: min(2px, calc(calc(2 / 750) * 100vw)) solid #50b1bf;
} */

.nav_menu__wrap li a {
  color: #8C6E63;
  background: #D6CAC4;
  background: url(../img/skin-shindan/menu_bg.webp) no-repeat top/cover;
  height: min(150px, calc(calc(150 / 750) * 100vw));
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.nav_menu__wrap li a span {
  display: inline-block;
  font-family: "DM Serif Display", serif;
  font-size: min(23px, calc(calc(23 / 750) * 100vw));
  text-align: center;
  line-height: 1.5;
  width: min(190px, calc(calc(190 / 750) * 100vw));
  margin: min(10px, calc(calc(10 / 750) * 100vw)) auto 0;
  padding-top: 0.25em;
  border-top: solid 1px #8C6E63;
  letter-spacing: 0.075em;
}

/* 肌診断とは */
figure {
  margin: 0;
  /* リセット */
}

.skin-diagnosis {
  padding-top: min(40px, calc(calc(40 / 750) * 100vw));
}

.skin-diagnosis figure {
  width: 89.34%;
  max-width: 670px;
  margin: 0 auto;
}

.skin-diagnosis h2 {
  font-size: min(34px, calc(calc(34 / 750)* 100vw));
  color: #C8B375;
  text-align: center;
  letter-spacing: 0.18em;
  margin-top: 0.5em;
}

.Italiana {
  font-family: "Italiana", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.skin-diagnosis_ttl p {
  font-size: min(56px, calc(calc(56 / 750) * 100vw));
  color: #A17363;
  width: 92%;
  margin-left: auto;
}

.shippori-mincho-regular {
  font-family: "Shippori Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

.skin-diagnosis .cont01 {
  position: relative;
}

.skin-diagnosis .cont01_dis {
  position: absolute;
  width: 90%;
  max-width: 675px;
  top: 19%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.skin-diagnosis .cont01_dis p {
  color: #1E1E1E;
  font-size: min(28px, calc(calc(28 / 750) * 100vw));
  line-height: 1.8;
}

.skin-diagnosis .cont01_dis p span {
  background-color: #FFECD1;
}

.skin-diagnosis .cont02 {
  position: relative;
}

.skin-diagnosis .cont02_dis {
  position: absolute;
  width: 100%;
  max-width: 750px;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.skin-diagnosis .cont02_dis h3 {
  background: linear-gradient(0deg, rgb(107, 78, 67), rgb(151, 119, 107));
  color: #FFF;
  width: 51%;
  max-width: 382.5px;
  margin: 0 auto;
  text-align: center;
  font-size: min(32px, calc(calc(32 / 750) * 100vw));
  padding: 0.05em 0;
}

.Petit-italic {
  font-family: "Petit Formal Script", cursive;
  font-weight: 400;
  letter-spacing: -0.05em;
}

.skin-diagnosis .cont02_dis h3 span {
  color: #F5EBAF;
  font-size: min(58px, calc(calc(58 / 750) * 100vw));
}

.skin-diagnosis .cont02_dis ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-evenly;
  align-content: space-around;
  width: 90%;
  margin: 0 auto;
}

.skin-diagnosis .cont02_dis li {
  width: calc(25% - 90px / 4);
  height: min(140px, calc(calc(140 / 750) * 100vw));
  font-family: var(--serif);
  font-size: min(34px, calc(calc(34 / 750) * 100vw));
  border-radius: min(20px, calc(calc(20 / 750) * 100vw));
  box-shadow: inset 0px 6px 12px 0px rgba(236, 227, 213, 1);
  filter: drop-shadow(0px 6px 12px rgba(252, 238, 216, 0.75));
  background-color: #FFF;
  color: #A17363;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: min(34px, calc(calc(34 / 750) * 100vw));
}

@media screen and (max-width: 767px) {
  .skin-diagnosis .cont02_dis li {
    width: calc(25% - 45px / 4);
  }
}

.skin-diagnosis .cont03 {
  width: 100%;
  height: min(1788px, calc(calc(1788 / 750) * 100vw));
  background: linear-gradient(0deg, rgb(237, 230, 227), rgb(247, 240, 232));
  padding-top: min(40px, calc(calc(40 / 750) * 100vw));
  /* position: relative; */
}

.skin-diagnosis .cont03_dis {
  position: absolute;
  width: 100%;
  max-width: 750px;
  /* position: absolute;
  top: 3%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%); */
}

.skin-diagnosis .cont03_dis h3 {
  background: linear-gradient(0deg, rgb(107, 78, 67), rgb(151, 119, 107));
  color: #FFF;
  width: 67.5%;
  max-width: 506px;
  margin: 0 auto;
  text-align: center;
  font-size: min(32px, calc(calc(32 / 750) * 100vw));
  padding: 0.05em 0;
  letter-spacing: 0.1em;
}

.skin-diagnosis .cont03_dis h3 span {
  color: #F5EBAF;
  font-size: min(58px, calc(calc(58 / 750) * 100vw));
}

/* ========================================
　slickスライダー
======================================== */

.p-case {
  background-color: #FFF;
  padding-top: min(80px, calc(calc(80 / 750) * 100vw));
  padding-bottom: min(100px, calc(calc(100 / 750) * 100vw));
}

.p-case h2 {
  font-family: var(--serif);
  margin-bottom: min(40px, calc(calc(40 / 750) * 100vw));
  color: #5E8BC3;
  font-size: min(40px, calc(calc(40 / 750) * 100vw));
  font-weight: 500;
  position: relative;
}

.p-case h2::before {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 11%;
  transform: rotate(-40deg);
  width: min(2px, calc(calc(2 / 750)* 100vw));
  height: clamp(24px, 4.8vw, 48px);
  background: #5E8BC3;
}

.p-case h2::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  right: 11%;
  transform: rotate(40deg);
  width: min(2px, calc(calc(2 / 750)* 100vw));
  height: clamp(24px, 4.8vw, 48px);
  background: #5E8BC3;
}

.p-case__ttl img {
  width: min(710px, calc(calc(710 / 750) * 100vw));
  margin: 0 auto;
}

.js--case-slide.slick-initialized.slick-slider {
  opacity: 1;
}

.case-slide .slick-slide {
  max-width: min(685px, calc(calc(685 / 750) * 100vw));
  /* margin-left: min(20px, calc(calc(20 / 750) * 100vw)); */
  box-sizing: border-box;
}

.case-slide .slick-slide img {
  object-fit: cover;
  width: 100%;
  /* border: min(5px, calc(calc(5 / 750) * 100vw)) solid #fff; */
}

.case-slide .slick-list {
  height: auto !important;
}

/* インジケーター */
.slick-dots {
  display: flex;
  justify-content: center;
  gap: clamp(8px, 1.6vw, 16px);
  margin-top: min(30px, calc(calc(30 / 750) * 100vw));
}

.slick-dots li {
  width: min(15px, calc(calc(15 / 750) * 100vw));
  height: min(15px, calc(calc(15 / 750) * 100vw));
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
}

.slick-dots li.slick-active {
  background-color: #768ba8;
}

.slick-dots li button {
  text-indent: -9999px;
}

/* 症例写真用インジケーター */
.slick-dots-custom {
  display: flex;
  justify-content: center;
  gap: clamp(8px, 1.6vw, 16px);
  margin-top: min(20px, calc(calc(20 / 750) * 100vw));
  margin-bottom: min(20px, calc(calc(20 / 750) * 100vw));
}

.slick-dots-custom li {
  width: min(18px, calc(calc(18 / 750) * 100vw));
  height: min(18px, calc(calc(18 / 750) * 100vw));
  border-radius: 50%;
  border: solid 1px #97776B;
  background-color: #FFFFFF;
  cursor: pointer;
}

.p-bihada .slick-dots-custom li {
  background-color: #FFFFFF;
}

.slick-dots-custom li.slick-active {
  background-color: #97776B;
}

.slick-dots-custom li button {
  text-indent: -9999px;
}


/* ========================================
　slickスライダー
======================================== */

.skin-diagnosis .cont04 {
  position: relative;
}

.skin-diagnosis .cont04_dis {
  position: absolute;
  width: 100%;
  max-width: 750px;
  bottom: 12%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}


/* 肌診断のメリット */

.merit h2 {
  font-size: min(34px, calc(calc(34 / 750)* 100vw));
  color: #C8B375;
  text-align: center;
  letter-spacing: 0.18em;
  padding-top: 0.5em;
}

.merit_ttl p {
  font-size: min(56px, calc(calc(56 / 750) * 100vw));
  color: #A17363;
  width: 92%;
  margin-left: auto;
}


.merit {
  background: url(../img/skin-shindan/merit_bg01.webp) no-repeat;
  background-size: cover;
}

.merit .cont01_dis {
  width: 90%;
  max-width: 675px;
  margin: 0 auto;
}

.merit .cont01_dis p {
  color: #1E1E1E;
  font-size: min(28px, calc(calc(28 / 750) * 100vw));
  line-height: 1.8;
}

.merit .cont01_dis p span {
  background-color: #FFECD1;
}

.merit .cont01_dis figure {
  filter: drop-shadow(0px 6px 12px #00000042);
}

.merit .cta__notice {
  bottom: 0%;
}

/* 分析機械の特徴 */
.features {
  background: linear-gradient(0deg, rgb(254, 242, 233), rgb(255, 255, 255));
  position: relative;
}

.features_ttl p {
  font-size: min(56px, calc(calc(56 / 750) * 100vw));
  color: #A17363;
  width: 92%;
  margin-left: auto;
}

.features_ttl span {
  color: #2BB0AC;
}

.features .small {
  color: #A17363;
  font-size: min(46px, calc(calc(46 / 750) * 100vw));
}

.features .cont01_dis {
  width: 90%;
  max-width: 675px;
  margin: 0 auto;
  margin-top: clamp(-30px, -6vw, -60px);
}

.features .cont01_dis p {
  color: #1E1E1E;
  font-size: min(28px, calc(calc(28 / 750) * 100vw));
  letter-spacing: -0.04em;
  font-family: var(--serif);
  font-weight: 400;
  line-height: 2;
}

.features .cta__notice {
  bottom: 3%;
}

/* 肌診断の流れ */
.flow {
  background: #fff;
  position: relative;
}

.flow h2 {
  font-size: min(40px, calc(calc(40 / 750)* 100vw));
  color: #C8B375;
  text-align: center;
  letter-spacing: 0.18em;
  margin-top: 0.5em;
}

.flow_ttl p {
  font-size: min(56px, calc(calc(56 / 750) * 100vw));
  color: #1E1E1E;
  text-align: center;
}

.flow ul {
  width: 74.66%;
  max-width: 560px;
  margin: 0 auto;
}

.flow li:not(:last-child) {
  margin-bottom: min(40px, calc(calc(40 / 750) * 100vw));
}

.flow li img {
  box-shadow: 0px 0px 10px 0px rgba(154, 127, 80, 0.2);
}

.flow .cta__notice {
  bottom: 3%;
}

/* よくある質問 */

.faq {
  position: relative;
}

.faq_ttl {
  position: absolute;
  width: 100%;
  top: 2%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.faq_ttl h2 {
  font-size: min(40px, calc(calc(40 / 750)* 100vw));
  color: #C8B375;
  text-align: center;
  letter-spacing: 0.18em;
  margin-top: 0.5em;
}

.faq_ttl p {
  font-size: min(56px, calc(calc(56 / 750) * 100vw));
  color: #1E1E1E;
  text-align: center;
}

.faq .cta__notice {
  bottom: 0.5%;
}


/* 当院について */

.clinic {
  position: relative;
}

.clinic_ttl {
  position: absolute;
  width: 100%;
  top: 2.5%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.clinic_ttl p {
  font-size: min(56px, calc(calc(56 / 750) * 100vw));
  color: #A17363;
  text-align: center;
}

.clinic .cont01 {
  position: relative;
}

.clinic .cont01_dis {
  width: 90%;
  max-width: 675px;
  position: absolute;
  top: 5%;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.p-about_tcb__top {
  position: relative;
}

.p-about_tcb__top img {
  border-radius: 30px 30px 0 0;
  overflow: hidden;
}

.p-about_tcb__top-txtbox {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.p-about_tcb__top-txt {
  font-size: min(38px, calc(calc(38 / 750) * 100vw));
  font-weight: bold;
  text-align: center;
  line-height: 1.6;
  color: #8F664A;
}

.p-about_tcb__txtarea {
  padding-top: min(60px, calc(calc(60 / 750) * 100vw));
  padding-bottom: min(20px, calc(calc(20 / 750) * 100vw));
  background-color: #FFF;
}

.clinic .rc_trim {
  background-color: #FFF;
  padding-bottom: min(30px, calc(calc(30 / 750) * 100vw));
  border-radius: 0 0 30px 30px;
  overflow: hidden;
}

.p-about_tcb__txt {
  font-size: min(40px, calc(calc(40 / 750) * 100vw));
  color: #8F664A;
  text-align: center;
  font-weight: bold;
  letter-spacing: -0.05em;
  margin-bottom: min(40px, calc(calc(40 / 750) * 100vw));
}

.p-about_tcb__txt--pink {
  color: #E14F8D;
}

.p-about_tcb__txt--sky {
  color: #21B4AC;
}

.p-about_tcb__txt--marker {
  background: linear-gradient(transparent 70%, #FFFA9B 30%)
}

.p-about_tcb__txt--lh12 {
  line-height: 1.2;
}

.p-about_tcb__txt--lh3 {
  line-height: 3;
}

/* WEB予約・相談 */

.reserve_ttl h2 {
  font-size: min(40px, calc(calc(40 / 750)* 100vw));
  color: #C8B375;
  text-align: center;
  letter-spacing: 0.18em;
  margin-top: 0.5em;
}

.reserve_ttl p {
  font-size: min(56px, calc(calc(56 / 750) * 100vw));
  color: #1E1E1E;
  text-align: center;
  letter-spacing: 0.15em;
}

.sec_ttl__wrap {
  padding-top: min(100px, calc(calc(100 / 750) * 100vw));
  margin-bottom: min(100px, calc(calc(100 / 750) * 100vw));
  position: relative;
}

.sec_ttl__wrap::before {
  content: "";
  width: min(2px, calc(calc(2 / 750) * 100vw));
  height: min(60px, calc(calc(60 / 750) * 100vw));
  background-color: #157b7d;
  position: absolute;
  left: 50%;
  bottom: calc(-1 * min(80px, calc(calc(80 / 750) * 100vw)));
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.recommend__wrap .sec_ttl__wrap::before {
  background-color: #000;
  bottom: calc(-1 * min(90px, calc(calc(90 / 750) * 100vw)));
}

.sec_ttl__wrap h2 {
  text-align: center;
  width: 100%;
  height: min(47px, calc(calc(47 / 750) * 100vw));
  color: #1ca3a5;
  margin-bottom: min(20px, calc(calc(20 / 750) * 100vw));
}

.sec_ttl__wrap h2 img {
  height: 100%;
}

.sec_ttl__wrap h3 {
  text-align: center;
  font-size: min(30px, calc(calc(30 / 750) * 100vw));
  font-weight: bold;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック体, YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, verdana, sans-serif !important;
  color: #1ca3a5;
}

.recommend__wrap .sec_ttl__wrap h3 {
  color: #157b7d;
}

.sec_ttl__wrap h5 {
  text-align: center;
  font-size: min(22px, calc(calc(22 / 750) * 100vw));
  font-weight: 400;
  padding-top: min(15px, calc(calc(15 / 750) * 100vw));
  letter-spacing: 0.1rem;
}

.about__read {
  margin-bottom: min(90px, calc(calc(90 / 750) * 100vw));
}

.about__read p {
  font-size: min(34px, calc(calc(34 / 750) * 100vw));
  font-weight: 600;
  margin-bottom: min(50px, calc(calc(50 / 750) * 100vw));
  text-align: center;
  line-height: 2;
}

.about__read p span {
  color: #EA408B;
}

.recommend__wrap {
  background: url(../img/skin_potenza/recommend_bg.webp) no-repeat top / cover;
  padding-bottom: min(80px, calc(calc(80 / 750) * 100vw));
}

.recommend__list {
  padding-top: min(60px, calc(calc(60 / 750) * 100vw));
}

.recommend__list li {
  background: #fff;
  font-size: min(30px, calc(calc(30 / 750) * 100vw));
  font-weight: bold;
  line-height: 2.65;
  padding-left: min(95px, calc(calc(95 / 750) * 100vw));
  height: min(80px, calc(calc(80 / 750) * 100vw));
  margin-bottom: min(18px, calc(calc(18 / 750) * 100vw));
  position: relative;
}

.recommend__list li::before {
  content: "";
  width: min(30px, calc(calc(30 / 750) * 100vw));
  height: min(12px, calc(calc(12 / 750) * 100vw));
  border-top: min(6px, calc(calc(6 / 750) * 100vw)) solid #F24685;
  border-right: min(6px, calc(calc(6 / 750) * 100vw)) solid #F24685;
  position: absolute;
  top: min(25px, calc(calc(25 / 750) * 100vw));
  left: min(40px, calc(calc(40 / 750) * 100vw));
  transform: rotate(131deg);
}

/* コンテンツ幅 */
.wrap630 {
  width: 630px;
  margin: 0 auto;
}

.wrap670 {
  width: 670px;
  margin: 0 auto;
}

.wrap690 {
  width: 690px;
  margin: 0 auto;
}

/* point */

#point {
  background-color: #f2f8f8;
  padding-bottom: min(100px, calc(calc(100 / 750) * 100vw));
}

.point__ttl {
  padding-top: min(80px, calc(calc(80 / 750) * 100vw));
  margin-bottom: min(60px, calc(calc(60 / 750) * 100vw));
}

.point__ttl_head {
  font-size: min(32px, calc(calc(32 / 750) * 100vw));
  font-weight: 500;
  line-height: 1;
  margin-bottom: min(20px, calc(calc(20 / 750) * 100vw));
}

.point__ttl h3 {
  font-size: min(60px, calc(calc(60 / 750) * 100vw));
  font-weight: 600;
  color: #1ca3a5;
  text-align: center;
}

.point__ttl h3 ._num {
  font-size: min(70px, calc(calc(70 / 750) * 100vw));
}

.point__item {
  margin-bottom: min(50px, calc(calc(50 / 750) * 100vw));
}

.point__item p span {
  color: #E14F8D;
}

.point__item img {
  margin-bottom: min(30px, calc(calc(30 / 750) * 100vw));
}

.point__subhead_num {
  font-size: min(30px, calc(calc(30 / 750) * 100vw));
  font-weight: 600;
  color: #fff;
  background-color: #1ca3a5;
  text-align: center;
  padding: 2px min(30px, calc(calc(30 / 750) * 100vw));
  margin-bottom: min(30px, calc(calc(30 / 750) * 100vw));
  display: inline-block;
  position: relative;
}

.point__subhead_num::before {
  content: "";
  width: min(10px, calc(calc(10 / 750) * 100vw));
  height: min(10px, calc(calc(10 / 750) * 100vw));
  box-sizing: border-box;
  border: min(10px, calc(calc(10 / 750) * 100vw)) solid transparent;
  border-top: min(20px, calc(calc(20 / 750) * 100vw)) solid #1ca3a5;
  position: absolute;
  bottom: calc(-1 * min(25px, calc(calc(25 / 750) * 100vw)));
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.point__subhead p {
  font-size: min(34px, calc(calc(34 / 750) * 100vw));
  font-weight: 600;
  text-align: center;
  color: #1ca3a5;
  margin-bottom: min(40px, calc(calc(40 / 750) * 100vw));
}

/* .second_view */
.second_view {
  padding-top: min(50px, calc(calc(50 / 750) * 100vw));
}

.second_view p {
  font-size: min(40px, calc(calc(40 / 750) * 100vw));
  line-height: 1;
  text-align: center;
}

/* よくある質問 */

.section_qa_inner {
  margin: 0 auto;
}

.seciton_qa_q {
  border: 1px solid #1ca3a5;
  border-bottom: none;
  z-index: 1;
  cursor: pointer;
  font-size: min(30px, calc(calc(30 / 750) * 100vw));
  font-weight: 600;
  position: relative;
  line-height: 1.5;
  padding: 1em;
  color: #1ca3a5;
  transition: all 0.4s;
  background-color: #fff;
}

@media screen and (max-width: 750px) {
  .seciton_qa_q {
    font-size: 4vw;
  }
}

.seciton_qa_q:last-of-type {
  border-bottom: 1px solid #1ca3a5;
}

.seciton_qa_a {
  border: 1px solid #1ca3a5;
  border-bottom: none;
  z-index: 1;
  cursor: pointer;
  font-size: 30px;
  font-weight: 500;
  position: relative;
  line-height: 1.5;
  padding: 1em;
  display: none;
  margin: 0 auto;
  background: #fff;
  color: #1ca3a5;
}

.seciton_qa_a:last-of-type {
  border-bottom: 1px solid #1ca3a5;
}

@media screen and (max-width: 750px) {
  .seciton_qa_a {
    font-size: 4vw;
  }
}

.seciton_qa_q span,
.seciton_qa_a span {
  display: inline-block;
  margin-left: min(40px, calc(calc(40 / 750) * 100vw));
  line-height: 1.5em;
}

.seciton_qa_q span {
  margin-right: min(30px, calc(calc(30 / 750) * 100vw));
}

.seciton_qa_q::before,
.seciton_qa_q::after {
  content: '';
  display: inline-block;
  position: absolute;
  background-color: #1ca3a5;
  transition: .2s;
  width: clamp(13px, 2.6vw, 26px);
  height: 2px;
  right: 15px;
  top: 45%;
}

.seciton_qa_q::after {
  content: '';
  transform: rotate(90deg);
}

.seciton_qa_q.js--accordion-open {
  background: #1ca3a5;
  font-weight: bold;
  color: #fff;
}


.seciton_qa_q.js--accordion-open::before,
.seciton_qa_q.js--accordion-open::after {
  background-color: #fff;
}

.seciton_qa_q.js--accordion-open::after {
  transform: rotate(0deg);
}

.seciton_qa_q_txt::before {
  content: "";
  width: 38px;
  height: 38px;
  background: url(../img/skin-shindan/txt_q_before.webp) no-repeat center/contain;
  position: absolute;
  top: 34px;
  left: 20px;
}

@media screen and (max-width: 750px) {
  .seciton_qa_q_txt::before {
    width: 5.07vw;
    height: 5.07vw;
    top: 4.53vw;
    left: 2.67vw;
  }
}

.js--accordion-open .seciton_qa_q_txt::before {
  content: "";
  width: 38px;
  height: 38px;
  background: url(../img/skin-shindan/txt_q_after.webp) no-repeat center/contain;
  position: absolute;
  top: 34px;
  left: 20px;
}

@media screen and (max-width: 750px) {
  .js--accordion-open .seciton_qa_q_txt::before {
    width: 5.07vw;
    height: 5.07vw;
    top: 4.53vw;
    left: 2.67vw;
  }
}

.seciton_qa_a_txt span {
  line-height: 1.8em;
}

.seciton_qa_a_txt::before {
  content: "";
  width: 38px;
  height: 38px;
  background: url(../img/skin-shindan/txt_a.webp) no-repeat center/contain;
  position: absolute;
  top: 40px;
  left: 20px;
}

@media screen and (max-width: 750px) {
  .seciton_qa_a_txt::before {
    width: 5.07vw;
    height: 5.07vw;
    top: 5.33vw;
    left: 2.67vw;
  }
}

@media screen and (max-width: 767px) {

  .seciton_qa_q span,
  .seciton_qa_a span {
    margin-left: 22px;
  }

  .seciton_qa_q span {
    margin-right: 25px;
  }
}

/* FLOW */

.flow_bg {
  background: url(../img/shiratama/flow_bg_gold.png) no-repeat top/cover;
  padding-top: clamp(40px, 6vw, 80px);
  padding-bottom: clamp(40px, 6vw, 80px);
  padding-left: 1.5em;
  padding-right: 1.5em;
}

.flow_list {
  position: relative;
}

/* .flow_list::after {
  content: "";
  height: 100%;
  border-left: #f43a69 2px dotted;
  position: absolute;
  top: 0;
  left: 50%;
} */

.attention-head {
  font-size: clamp(18px, 3vw, 28px);
}

.flow_list-item {
  margin-top: 80px;
  position: relative;
  z-index: 1;
}

.flow_list-item:first-child {
  margin-top: 0;
}

.flow_list-ttl {
  padding: 40px 0;
  background: #d54a6a;
  background: url(../img/skin_potenza/flow_list_ttl_bg.webp) no-repeat top/cover;
  height: auto;
  text-align: center;
  color: #fff;
  position: relative;
}

.flow_list-ttl .flow_list-step {
  display: flex;
  align-items: center;
  background: #fff;
  border: #1ca3a5 2px solid;
  position: absolute;
  left: 0;
  top: -20px;
  padding: 2px 20px;
  font-size: 30px;
  font-weight: 500;
  color: #1ca3a5;
  letter-spacing: 0.1em;
  line-height: 1;
}

.flow_list-ttl .flow_list-step span {
  font-size: 140%;
}

.flow_list-ttl .flow_list-title {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 35px;
  font-weight: 500;
  text-align: center;
  line-height: 1.2;
}

.flow_list-ttl .flow_list-title span {
  display: block;
  font-size: 80%;
}

.flow_list-detail {
  padding: 1.5em 1.5em 2.5em 1.5em;
  background: #fff;
  border: #1ca3a5 2px solid;
  border-top: none;
}

.flow_list-detail img {
  width: 100%;
}

.flow_list-detail .flow_list-text {
  margin-top: 40px;
  font-size: 22px;
  line-height: 1.8;
}

.fc_pink span {
  color: #E14F8D;
}

.flow_list-detail .flow_list-text.small {
  font-size: 20px;
}


@media screen and (max-width: 767px) {
  .flow_list-item {
    margin-top: 50px;
  }

  .flow_list-ttl {
    padding: 20px 10px;
  }

  .flow_list-ttl .flow_list-step {
    padding: 2px 10px;
    border-width: 1px;
    font-size: 16px;
    top: -15px;
  }

  .flow_list-ttl .flow_list-title {
    font-size: 18px;
  }

  .flow_list-detail {
    padding: 15px 15px 20px;
  }

  .flow_list-detail .flow_list-text {
    margin-top: 20px;
    font-size: 14px;
  }

  .flow_list-detail .flow_list-text.small {
    font-size: 12px;
  }
}

/* 動画で見る */
.movie__ttl {
  color: #1CA3A5;
  font-size: min(36px, calc(calc(36/750) * 100vw));
  font-weight: 500;
  line-height: 1;
}

.case__video_item {
  position: relative;
  width: min(520px, calc(calc(520/750) * 100vw));
  /*height: min(1034px, calc(calc(1034/750) * 100vw));*/
  margin-left: auto;
  margin-right: auto;
  border-radius: min(18px, calc(calc(18/750) * 100vw));
  overflow: hidden;
}

.play-btn {
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  cursor: pointer;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
}

.play-btn.playActive {
  display: none;
}

/* お試しキャンペーン（背景色あり） */
.campaign_price__bg {
  background-color: #EAFDFE;
}

.coupon_web_inner {
  text-align: center;
  color: #f43a69;
  font-weight: bold;
  font-size: min(18px, calc(calc(18/750) * 100vw));
  padding: min(25px, calc(calc(25/750) * 100vw)) min(25px, calc(calc(25/750) * 100vw)) 0;
}

/*20251114 TCB_AD-9412 コンテンツ追加*/
.teian__box {
  background: #FFF;
  padding: min(60px, calc(calc(60 / 750) * 100vw)) min(50px, calc(calc(50 / 750) * 100vw));
  text-align: center;
  border-style: solid;
  border-width: min(4px, calc(calc(4 / 750) * 100vw));
  border-bottom-width: 0;
  border-color: #5CD8D3;
  border-radius: min(20px, calc(calc(20 / 750) * 100vw)) min(20px, calc(calc(20 / 750) * 100vw)) 0 0;
  margin: min(30px, calc(calc(30 / 750) * 100vw));
  padding-bottom: min(60px, calc(calc(60 / 750) * 100vw));
  margin-bottom: 0;
}
.teian__txt {
  position: relative;
  margin: 0 auto;
}
.teian__txt p {
  color: #A17363;
  text-align: center;
  font-weight: bold;
  font-size: min(48px, calc(calc(48 / 750) * 100vw));
  line-height: 1.333;
  padding-bottom: min(40px, calc(calc(40 / 750) * 100vw));
}
.teian__txt p span {
  display: inline-block;
  color: #F55576;
}
.teian__txt.line p span {
  background: linear-gradient(transparent 75%,#FFECD1 75%);
  background-position: 0 min(114px, calc(calc(114 / 750) * 100vw));
}
/* 左右の斜めライン */
.teian__txt::before,
.teian__txt::after {
  content: "";
  position: absolute;
  top: 22%;
  width: min(106px, calc(calc(106 / 750) * 100vw));
  height: min(2px, calc(calc(2 / 750) * 100vw));
  background: #F55576;
}

.teian__txt.border::before,
.teian__txt.border::after {
  top: 40%;
}

.lh0 {
  line-height: 0 !important;
}

.teian__txt.border::before {
  left:  min(25px, calc(calc(25 / 750) * 100vw));;
  transform: translateY(-50%) rotate(240deg); 
}
.teian__txt.border::after {
  right: min(30px, calc(calc(30 / 750) * 100vw));
  transform: translateY(-50%) rotate(300deg);
}

.teian__txt::before {
  left: 0;
  transform: translateY(-50%) rotate(240deg); 
}
.teian__txt::after {
  right:0;
  transform: translateY(-50%) rotate(300deg);
}

.heading {
    font-size: 25px;
    margin: 0 auto 0.8em;
    text-align: center;
    line-height: 1.4;
}
.heading_arrow {
    position: relative;
    padding: 0 5px 0 5px;
    background: linear-gradient(180deg, rgba(92, 216, 211, 1), rgba(42, 175, 171, 1));
    color: #fff;
    padding-top: min(30px, calc(calc(30/750) * 100vw));
    font-size: min(30px, calc(calc(30/750) * 100vw));
    font-weight: bold;
    margin: 0 min(30px, calc(calc(30/750) * 100vw));
}
.heading_arrow span {
    font-size: min(48px, calc(calc(48/750) * 100vw));
}
.heading_arrow::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 0;
    border: 345px solid transparent;
    border-top: 82px solid #2AAFAB;
    border-bottom: 0;
}

@media screen and (max-width:767px) {
	.heading_arrow::after {
		content: "";
		position: absolute;
		top: 100%;
		left: 0;
		border: 46vw solid transparent;
		border-top: 11vw solid #2AAFAB;
		border-bottom: 0;
	}
}

.zeroyen__menu--ttl {
  position: relative;
  margin-top: min(110px, calc(calc(110/750) * 100vw));
}
.zeroyen__menu--ttl::before {
  content: "";
  position: absolute;
  width: 100%;
  height: min(80px, calc(calc(80/750) * 100vw));
  top: max(-110px, calc(-1 * (calc(110/750) * 100vw)));
  background: url(../img/skin-shindan/item_01.png) no-repeat top/contain;
}

.zeroyen__menu--price {
  background: #FFF;
  margin: max(-100px, calc(-1 * (calc(100/750) * 100vw))) auto;
  border-radius: 0 0 min(20px, calc(calc(20/750) * 100vw)) min(20px, calc(calc(20/750) * 100vw));
}
.zeroyen__menu--price ul {
  position: relative;
  padding: min(100px, calc(calc(100/750) * 100vw)) min(30px, calc(calc(30/750) * 100vw));
  padding-bottom: 0;
}
.zeroyen__menu--price li::before {
  content: "";
  position: absolute;
  left: min(10px, calc(calc(10/750) * 100vw));
  width: 97%;
  height: 2px;
  background-image: repeating-linear-gradient( to right,#E1D0CA 0,#E1D0CA 6px,transparent 6px,transparent 12px);
}
.zeroyen__menu--price ul li:first-of-type::before {
  display: none;
}
.fv_color {
  background: #E7D3C8;
  padding-bottom: min(80px, calc(calc(80/750) * 100vw));
}

@media screen and (max-width:767px) {
.zeroyen__menu--price li::before {
  height: 1px;
  background-image: repeating-linear-gradient( to right,#E1D0CA 0,#E1D0CA 3px,transparent 3px,transparent 6px);
}
}