@charset "UTF-8";

/* 基本のCSS内容はココに入ってます */
html {
    scroll-behavior: smooth;
}
body{
	font: 16px / 1.5 "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	margin: 0;
	max-width: 700px;
    margin: 0 auto;
    width: 100%;
    color: #474747;
}
.all{
	background-color: #fff;
	padding: 10px 20px;
}
.wrapper {
    position: relative;
    overflow: visible;
}
h3 {
    font-size: 18px;
    margin-top: 30px;
}
a {
    color: #478fde;
}
@media screen and (max-width:700px) {
	.all{
		padding: 10px;
	}
}
p{
	color: #444;
	line-height: 1.7;
}
b{
	font-weight: bold;
}
.mark {
	background: linear-gradient(to bottom, transparent 0%, transparent 70%, #ffffaf 70%, #ffffaf 100%);
	height: 80%;
	vertical-align: bottom;
}
.pc{
    display: block ;
}
.sp{
    display: none ;
}
.fwB{
    font-weight: bold;
}
.taC{
	text-align: center!important;
}
.taL{
	text-align: left!important;
}

.fsS{
	font-size: 13px;
    vertical-align: bottom;
}
.fsM{
	font-size: 21px;
}
.fsL{
	font-size: 25px;
}
.fcR{
	color: rgb(255, 0, 0);
}
.fcB{
	color: rgb(17, 85, 204);
}
.fcP{
	color: rgb(245, 72, 159);
}
.fcK{
	color: rgb(0, 194, 201);
}
.mt0{
	margin-top: -10px !important;
}
.mtb20{
	margin: 20px 0;
}
.mt20{
	margin-top: 20px !important;
}
.mt40{
	margin-top: 40px;
}
.mb20{
	margin-bottom: 20px;
}
.mb60{
	margin-bottom: 60px;
}
.mb0{
	margin-bottom: 0!important;
}
.small {
    /*文字サイズ*/
    font-size: 12px;
    color: #999;
    text-align: right;
    /*行間調整*/
    line-height: 1.2;
    /*下側の余白*/
    margin-bottom: 1em;
  }
img {
	width: 100%;
}
video{
    width: 100%;
    height: auto;
	vertical-align: bottom;
}
footer {
    font-size: 13px;
    padding: 5%;
    background: #ECECEC;
    text-align: center;
    margin-top: 10px;
}

/* WP CSS */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.clinic_name h3, p {
    margin-block-start: 2%;
    margin-block-end: 0%;
    line-height: 1.3;
}
body {
    max-width: 700px;
    margin: 0 auto;
    width: 100%;
    color: #474747;
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.searchBtn_box {
    background: 	#FE5059;
}

.fcb {
    color: #217EB0;
}

a.td-n {
    text-decoration: none;
}

.fs10 {
  font-size: 8px;
}

.under_mark{
 background: linear-gradient(transparent 60%, #ffc6c6 80%)
}
.under_mark_y{
 background: linear-gradient(transparent 30%, #fffdc6 80%)
}

.wrapper-in2 {
    padding: 0 2% 0 3%;
}

.mv_area {
position: relative;
}

.mv_area_text {
position: absolute;
line-height: 1;
bottom: 10px;
left: 10px;
font-size: 12px;
font-weight: bold;
background: #fff;
padding: 6px 10px 6px 15px;
border-radius: 100px;
border: 1px solid #383838;
/* border: 3px solid #fff; */
box-sizing: border-box;
letter-spacing: 1px;
}

.mv_area_text span {
font-size: 1rem;
}

.mv_area_text img {
width: 7px;
margin-right: 3px;
}

@media (max-width: 768px) {
.mv_area_text img {
    width: 6px;
    margin-right: 3px;
}

.mv_area_text {
    font-size: 10px;
    padding: 4px 11px;
}
.mv_area_text span {
    font-size: 0.8rem;
}
}


@media (max-width: 768px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

@media screen and (max-width: 699px) {
    .wrapper {
        width: 100%;
        margin: 0 auto;
    }

    .wrapper-in {
        padding: 3%;
    }

    .wrapper-in2 {
        padding: 0 2% 0 3%;
    }
}

img {
    width: 100%;
}

/* header */
header {
    background:#FE5059;
    color: #fff;
}

header p {
    color: #fff;
    text-align: right;
}

h1 {
    margin-left: 5%;
    font-size: 1em;
    margin: 0 0 0 6%;
    padding: 0;
    font-weight: normal;
}

.mg_l15 {
    margin-left: 15px;
}

.mg_rl10 {
    margin: 15px 10px -15px;
}

.mg_rl15 {
    margin-left: 15px;
    margin-right: 15px;
}

.mg_15 {
    margin-top: 5px;
    margin-left: 20px;
    margin-right: 15px;
    margin-bottom: 10px;
    color: #6a6969;

}

.mg_15_gr {
    margin: 5px;
    background-color: #e5e5e5;
    color: #6a6969;
}

.pd_15 {
    padding: 5px;
}

.header_flex {
    display: flex;
    padding: 2%;
    margin-top: 0px;
    align-items: center;
    font-size:14px;
}

.header_flex .left {
    flex: 5;
}

.header_flex .right {
    flex: 4;
}

    .title {
display: flex; /* Flexboxを使用 */
align-items: center; /* 垂直方向の中央揃え */
    }
    .title_logo {
     display: inline-block; /* インラインブロック要素に変更 */
    }
.title_logo img{
    width: 20px;
    vertical-align: middle;
    margin-right:6px;
    margin-left:0.8rem;
}

.area-item-title {
    color: #fff;
    align-items: center;
}

.area-item-title > p {
display: flex;
align-items: center;
justify-content: end;
}

.area-item-title img {
    width: 10%;
    margin: -4% 3%;
}

form {
    display: flex;
    align-items: center;
    background: #dfdfdf;
    justify-content: center;
    padding: 1% 0;
    max-width: 700px;
    width: 96%;
    margin: 0 auto;
}

/*
検索実装とナビ
----------------------------*/


/* 
hamburger(ハンバーガーアイコン)
=================================== */
.hamburger {
    position: absolute;
    left: 10px;
    top: 16px;
    width: 30px;
    height: 25px;
    cursor: pointer;
    z-index: 300;
}

.hamburger__line {
    position: absolute;
    width: 20px;
    height: 2px;
    right: 0;
    background-color: #fff;
    transition: all 0.5s;
}

.hamburger__line--1 {
    top: 3px;
}

.hamburger__line--2 {
    top: 10px;
}

.hamburger__line--3 {
    top: 18px;
}

/*ハンバーガーがクリックされたら*/
.open .hamburger__line--1 {
    transform: rotate(-45deg);
    top: 5px;
    background-color: #0b4685;
}

.open .hamburger__line--2 {
    opacity: 0;
}

.open .hamburger__line--3 {
    transform: rotate(45deg);
    top: 5px;
    background-color: #0b4685;
}

/* 
sp-nav(ナビ)
=================================== */
.sp-nav {
    position: fixed;
    top: -100%;
    /*ハンバーガーがクリックされる前はWindow上部に隠す*/
    right: 0;
    width: 100%;
    /* 出てくるスライドメニューの幅 */
    height: 20vh;
    background-color: #FFFFFFE0;
    transition: all 0.5s;
    color: #333333;
    z-index: 200;
    overflow-y: auto;
    text-align: left;
    padding: 2em 1.5em 0em;
    border-radius: 0 0 15px 15px;
}

.sp-nav a {
    text-decoration: none;
    color: #333333;
    line-height: 1.4;
    font-weight: 500;
}

/*ハンバーガーがクリックされたら上からスライド*/
.open .sp-nav {
    top: 0;
}


/* 
black-bg(ハンバーガーメニュー解除用bg)
=================================== */
.black-bg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 5;
    background-color: #000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s;
    cursor: pointer;
    z-index: 100;
}

/*ハンバーガーメニューが開いたら表示*/
.open .black-bg {
    opacity: 0.3;
    visibility: visible;
}

@media (max-width: 768px) {
    .hamburger {
        left: 5px;
        top: 7px;
    }

    h1 {
        margin: 0 0 0 11%;
    }

    .sp-nav {
        padding: 2em 0.1em 0em;
    }
}


/* mv下スライド */
.d-box {
    padding: 0 0;
}

.d-box p {
    margin: 1% 0;
}

/*横にスライドするアニメーション*/
/*右から左へ----------------------------*/
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/*IE11対策*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
    display: -ms-grid;
    overflow: hidden;
}

/*----------------------------*/

.d-demo__wrap {
    display: flex;
    overflow: hidden;
}

.d-demo__list {
    display: flex;
    list-style: none;
    margin: 1% 0 0;
}

.d-demo__list--left {
    animation: infinity-scroll-left 75s infinite linear 0.5s both;
}

.d-demo__item>img {
    width: 100%;
}

.d-demo__item {
    width: calc(100vh / 8);
    margin: 0 3px;
}

@media screen and (max-width: 699px) {
    .d-demo__item {
        width: calc(75vw / 6);
    }
}

/*横にスライドするアニメーション*/


/* section1 clinic_card */

.clinic-card_area h2 {
    text-align: center;
    line-height: 1;
}

.clinic-card_area h2 > span {
    border-radius: 3px;
    margin-right: 1%;
    padding: 0 2%;
    font-size: 0.9em;
}

.clinic-card_area h2 span.fs2 {
    border: solid 0px #c5c5c5;
    font-size: 1.5em;
}

@media screen and (max-width: 768px) {
    .clinic-card_area h2 {
        font-size: 14px;
        margin-top: 25px;
        margin-bottom: 10px;
    }

    .clinic-card_area h2 span.fs2 {
        font-size: 20px;
    }
}

/* type出し分け　タイトル内のクリニックの地域 */
b.ttl-area {
    padding-left: -10%;
}

.clinic-card_area h2 b.mainNom {
    font-size: 2em;
    vertical-align: sub;
    margin-left: 1%;
    margin-right: 1%;
    text-shadow: 1px 1px 0 #cccccc;
    color: 	#FE5059;
}

/* clinic_card */
.clinic-card_bg {
    background: #f3f3f3;
    padding: 2% 2% 0.5%;
}

.clinic-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 4px 3px 7px 2px rgb(0 0 0 / 19%);
    padding: 1% 2% 0.5%;
    margin-top: 3%;
}

.pore {
    position: relative;
}

.recom_poab {
    position: absolute;
    top: -5%;
    left: 0;
    width: 21%;
}

.clinic_name {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.clinic_name h3,
p {
    margin-block-start: 2%;
    margin-block-end: 0%;
    line-height: 1.3;
}

#RankNo1 h3 {
    background: linear-gradient(90deg, #FF9597,	#FE5059);
    color: #fff;
    margin-top: 0;
    padding: 2%;
    font-size: 26px;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    display: flex; 
    align-items: center; 
    font-weight: normal;
}

#RankNo1 h3 img {
    width: 40px;
    object-fit: cover;
    flex-shrink: 0;
}
#RankNo1 h3 .text-content {
     flex: 1;
}

/* 星の評価 ここから */
.card-star {
    font-size: 14px;
}

.star5_rating {
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC;
    /* グレーカラー 自由に設定化 */
    /*font-size: 30px; フォントサイズ 自由に設定化 */
}

.star5_rating:before,
.star5_rating:after {
    content: '★★★★★';
}

.star5_rating:after {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #f77c00;
    /* イエローカラー 自由に設定化 */
}

.star5_rating[data-rate="5"]:after {
    width: 100%;
}

/* 星5 */
.star5_rating[data-rate="4.8"]:after {
    width: 90%;
}
/* 星4.7 */
.star5_rating[data-rate="4.7"]:after {
    width: 94%;
}

/* 星4.6 */
.star5_rating[data-rate="4.6"]:after {
    width: 92%;
}

/* 星4.5 */
.star5_rating[data-rate="4.5"]:after {
    width: 90%;
}

/* 星4.4 */
.star5_rating[data-rate="4.4"]:after {
    width: 88%;
}

/* 星4.2 */
.star5_rating[data-rate="4.2"]:after {
    width: 84%;
}

/* 星3.6 */
.star5_rating[data-rate="3.6"]:after {
    width: 72%;
}

/* 星2.3 */
.star5_rating[data-rate="2.3"]:after {
    width: 46%;
}

/* 星3 */
/* 星の評価 ここまで */

.clinic-text_area {
    border-top: solid 1px #E5E5E5;
    padding: 1% 0;
    margin-top: -2%;
    display: flex;
    align-items: flex-start;
}

.clinic-text_area img {
    width: 24%;
}

.clinic-text ul {
    margin-inline-start: 0;
    padding-inline-start: 4%;
    margin-top: 0;
}

.clinic-text ul li {
    list-style: none;
    line-height: 1.2;
    font-weight: 300;
}

.clinic-text ul li b {
    background: #e1e1e1;
    padding: 0.2% 2%;
    font-weight: 300;
}

.clinic-text ul li b.prl0 {
    padding: 0.2% 0;
}

.clinic-text_area .clinic-text .txt-limit {
    margin: 2% 0 0 4%;
    line-height: 1.5;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    /* 任意の行数を指定 */
    width: 100%;
}

/* 下ページ内遷移の矢印 */
.arrow_poab {
    position: absolute;
    width: 3%;
    right: 4%;
    top: 50%;
    bottom: 0;
}

/* カード内ボタン */
.clinic-cta_area {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding: 1% 0;
    gap: 1%;
}

.clinic-cta_area .off_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
    padding: 1.5% 0;
    box-shadow: #bd363d 0 5px;
    border-radius: 7px;
    font-weight: bold;
    font-size: 17px;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    background: 	#FE5059;
    width: 50%;
}

.clinic-cta_area .store_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
    padding: 1.8% 0;
    box-shadow: #bebebe 0 2px;
    border-radius: 7px;
    font-weight: bold;
    font-size: 17px;
    color: #3f3f3f;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    background: #fff;
    width: 50%;
    border: solid 1px #bebebe;
}

.clinic-cta_area img {
    width: 4%;
    margin-right: 2%;
}

@media screen and (max-width: 768px) {
    .clinic-card_bg {
        padding: 3% 3% 1%;
    }

    .card-star {
        font-size: 12px;
    }

    .clinic-text {
        font-size: 0.8em;
    }

    .clinic-text ul li {
        list-style: none;
        line-height: 1.3;
        font-size: 0.9em;
    }

    .recom_poab {
        position: absolute;
        top: -8%;
        left: 0;
        width: 35%;
    }

    .clinic-text_area .clinic-text .txt-limit {
        font-size: 0.8em;
        width: 85%;
        margin: 2% 0 0 4%;
    }

    .clinic-text_area img {
        width: 35%;
    }

    .clinic-cta_area .store_btn {
        font-size: 0.8em;
    }

    .clinic-cta_area .off_btn {
        box-shadow:#bd363d 0 3px;
        font-size: 0.8em;
    }

    .clinic-cta_area img {
        width: 6%;
    }

}

/* section1 clinic_card */


.clinic-rank_detail {
    margin-bottom: 5%;
}
/* section clinic-rank_detail */
.clinic-rank_area h2 {
    margin-top: 4%;
    padding: 0;
    position: relative;
}

.clinic-rank_area h2 span {
    position: absolute;
    top: 23%;
    left: 12%;
    font-size: 0.8em;
}

.clinic-rank_area h2 img {
    width: 90%;
    margin: 0 auto;
    display: block;
}

.clinic-rank_area h2~p {
    text-align: center;
    margin-top: 3%;
    font-size: 1.2em;
}

/* 1位詳細の枠線 */
.ranktop-area {
    border: solid 6px #f7b9007a;
    padding: 0 0 3%;
}

/* 2位詳細の枠線 */
.ranksec-area {
    border: solid 6px #bcc7d7;
    padding: 0 0 3%;
}

/* 3位詳細の枠線 */
.rankthr-area {
    border: solid 6px #e0d1c8;
    padding: 0 0 3%;
}

.clinic-rank_detail h3 {
    background: linear-gradient(90deg, #FF9597,	#FE5059);
    color: #fff;
    margin-top: 0;
    padding: 4% 5%;
    font-size: 26px;
    font-weight: bold;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    font-weight: normal;
}

.clinic-rank_detail h3 a{
    text-decoration: none;
    color: #fff;
line-height: 0.97em;
}

.clinic-rank_detail h3 img {
    margin-right: 8px;
    /* 画像とテキストの間にスペースを追加 */
    margin-bottom: 9px;
    width: 50px;
    /* 画像のサイズを調整 */
    height: auto;
    /* アスペクト比を維持 */
}

.clinic-rank_detail .star {
    text-align: right;
}

.clinic-rank_detail h4 {
    border-top: solid 1px #e1e1e1;
    margin-top: 0;
    padding: 2% 0 2%;
}


/* MVスライダー */
.slider {
    width: 80%;
    margin: 0 auto;
}

.slider img {
    width: 100%;
}

.slick-slide {
    height: auto !important;
}

.slick-prev,
.slick-next {
    width: 11px !important;
    height: 7px !important;
}

.slick-arrow {
    z-index: 2 !important;
}

.slick-next {
    right: -30px !important;
}

.slick-prev {
    left: -30px !important;
}

.slick-next:before {
    background-image: url(https://mens-datumou-ranking.com/wp-content/uploads/2024/10/arrow_gray.png) !important;
    transform: rotate(270deg);
    width: 4% !important;
    background-size: contain !important;
}

.slick-prev:before {
    background-image: url(https://mens-datumou-ranking.com/wp-content/uploads/2024/10/arrow_gray.png) !important;
    transform: rotate(90deg);
    width: 4% !important;
    background-size: contain !important;
}

.slick-arrow:before {
    content: "" !important;
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1 !important;
}

.slick-dots li {
    width: 10px !important;
    margin: 0 !important;
}

.slick-dots li button:before {
    color: #949494 !important;
}

.slick-dots li.slick-active button:before {
    color: #007185 !important;
}

@media screen and (max-width: 768px) {
    .clinic-rank_area h2 {
        margin-top: 5%;
    }

    .clinic-rank_area h2 span {
        position: absolute;
        top: 20%;
        left: 7%;
        font-size: 0.8em;
    }

    .clinic-rank_area h2 img {
        width: 94%;
    }

    .clinic-rank_detail h3 img {
        margin: 0 1% 2%;
        width: 7%;
    }

    .clinic-rank_detail .star {
        font-size: 12px;
    }

    .clinic-rank_detail .review_voice .star {
        font-size: 13px;
    }

    .clinic-rank_detail h4 {
        margin-top: 4%;
    }
}

/* プラン詳細 */
.body_box {
    border: solid #bebebe 1px;
    background: #fff;
    border-radius: 6px;
    width: 20%;
    padding: 1%;
    flex: 0 0 calc(22% - 10px);
    box-sizing: border-box;
}

h4 {
    font-size: 1.4em;
}

.body_box .recom_poab {
    position: absolute;
    top: -4%;
    left: 0;
    width: 75%;
}

.body_box .body_text {
    border-top: solid #bebebe 1px;
}

.body_box .body_text h5 {
    font-size: 1em;
    margin: 1% 0;
    line-height: 1.2;
    margin-top: 5px;
}

.body_box .body_text h5 span {
    font-size: 0.8em;
}

.body_box .body_text .price {
    font-size: 1.1em;
}

.body_box .body_text .price .price-in {
    font-size: 11px;
    vertical-align: text-bottom;
}

.body_box .body_text .price .camp_text {
    font-size: 0.7em;
}

/* プラン内ボタン */
.off_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
    padding: 3% 0;
    box-shadow: #bd363d  0 2px;
    border-radius: 7px;
    font-weight: bold;
    font-size: 0.8em;
    color: #fff;
    text-align: center;
    text-decoration: none;
    overflow: hidden;
    background: 	#FE5059;
    width: 100%;
}

.body_box .off_btn img {
    width: 8%;
    margin-right: 2%;
}

.red {
    color: #cd0000;
}

.green {
    color: #59a57a;
}

/* スクロール */
/* スクロールエリア全体のスタイル */
.plan_scroll {
    display: flex;
    overflow-x: auto;
    /* 横スクロール */
    scroll-behavior: smooth;
    /* スムーズなスクロール */
    padding: 10px;
    gap: 10px;
    white-space: nowrap;
    /* 横に並べる */
}

h4.plan_scroll_ttl {
    margin-top: 6%;
}


/* タブコンテンツ用 */
.js-tab-content-by-no {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto 10px;
}
.js-tab-content-by-no .tab-by-no {
    width: 32.5%;
    height: 60px;
    padding: 8px 5px 5px;
    text-align: center;
    background: linear-gradient(90deg, #07c7cb, #5ddcdd);
    border-radius: 7px;
    font-weight: bold;
    font-size: 19px;
    letter-spacing: 0.5px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5px;
    border: 2px solid #07c7cb;
    box-shadow: 0px 2px 0px rgba(102, 167, 165, .3);
}

.js-tab-content-by-no .tab-by-no span {
    font-size: 10px;
    display: block;
}

.js-tab-content-by-no .tab-by-no.tab-active {
    border: 2px solid #07c7cb;
    background: #fff;
    color: #07c7cb;
   pointer-events: none;
}
/* タブコンテンツ用 */

/* ローディング用アニメーション */
#loading {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 50%;
    left: 50%;
    padding: 15px;
    background: rgba(255, 255, 255, .9);
    border-radius: 10px;
    transform: translate(-50%, -50%);
}
.spinner {
    width: 50px;
    height: 50px;
    border: 6px solid #ccc;
    border-top: 6px solid #ff6e8e;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* ローディング用アニメーション */

/* 表css */
.tab-menu {
display: flex;
justify-content: space-between;
align-items: center;
width: 98%;
margin: 0 auto;
}

.tab-menu .tab-menu-item {
border-radius: 5px 5px 0 0;
border-left: 2px solid 	#FE5059;
border-right: 2px solid 	#FE5059;
border-top: 2px solid 	#FE5059;
width: 24%;
text-align: center;
padding: 9px 0 7px;
font-weight: bold;
box-sizing: border-box;
font-size: 14px;
line-height: 1;
cursor: pointer;
color: 	#FE5059;
}

.tab-menu-item.tab-active {
background: 	#FE5059;
color: #fff;
pointer-events: none;
}

.js-cbn-table table {
border-top: 3px solid 	#FE5059;
table-layout: fixed;
border-collapse:collapse;
}

.th-none,
.td-none {
display: none;
visibility: hidden;
width: 0;
}

.js-cbn-table table,
.js-cbn-table thead,
.js-cbn-table tbody {
width: 100%;
}

.js-cbn-table table th,
.js-cbn-table table td {
text-align: center !important;
padding: 8px 2px;
border-right: 1px solid #cfcfcf;
vertical-align: middle;
font-weight: bold;
}

.js-cbn-table table td {
border-bottom: 1px solid #cfcfcf;
border-top: none; 
border-left: none;
font-size: 10px;
height: 80px;
}

.js-cbn-table table thead th {
background: #f3f3f3;
font-size: 11px;
}

.js-cbn-table table tbody tr:first-child {
background: #fffbdc;
height: 120px;
}

@media screen and (max-width: 768px) {
.js-cbn-table table tbody tr:first-child {
background: #fffbdc;
height: 100px;
}
}

/* Aクリニックの王冠マーク */
.js-cbn-table tbody tr:first-child td:first-child {
position: relative;
}

.js-cbn-table tbody tr:first-child td:first-child::after {
content: "";
display: block;
width: 23px; /* 画像の幅を設定 */
height: 16px; /* 画像の高さを設定 */
background-image: url('img/crown2.png');
background-size: cover;
background-position: center;
position: absolute;
top: 4px;
left: 50%; /* 必要に応じて調整 */
transform: translateX(-50%);
z-index: 2; /* 他の要素より前面に表示 */
}


.js-cbn-table table tbody tr:first-child td:nth-of-type(2) {
color: #f50000;
}


.js-cbn-table table tbody td:nth-of-type(1) {
font-size: 11px;
}

.js-cbn-table table tbody td:nth-of-type(2) .ranking_evaluation {
font-size: 13px;
}

.js-cbn-table table thead th:last-child,
.js-cbn-table table tbody td:last-child {
border-right: none !important;
}

.js-cbn-table .link_btn {
margin-bottom: 8px;
}

.tc_gray {
color: #979797;
}
@media screen and (max-width:458px) {
.td-width1 {
width: 95px;
}

.td-width2 {
width: 84px;
}

.td-width3 {
width: 70px;
}
.js-cbn-table .link_btn,
.js-cbn-table .detail_btn {
padding: 5px 0px;
font-size: 0.6rem;
}
}

@media screen and (min-width:458px) {
.js-cbn-table table th,
.js-cbn-table table td {
font-size: 12px;
}
}
/* 表css */

/* pc */
@media (min-width: 769px) {

    /* スクロールエリア全体のスタイル */
    .plan_scroll {
        display: flex;
        overflow-x: auto;
        /* 横スクロール */
        scroll-behavior: smooth;
        /* スムーズなスクロール */
        padding: 10px;
        gap: 10px;
        white-space: nowrap;
        /* 横に並べる */
    }

    /* スクロールバーの非表示 */
    .plan_scroll {
        scrollbar-width: none;
        /* Firefox */
    }

    .plan_scroll::-webkit-scrollbar {
        display: none;
        /* Chrome, Safari */
    }

    .plan_scroll:hover {
        scrollbar-width: thin;
    }

    .plan_scroll:hover::-webkit-scrollbar {
        display: block;
    }

    .plan_scroll:hover::-webkit-scrollbar {
        display: block;
        /* Chrome, Safari */
        height: 8px;
        /* スクロールバーの高さ */
        background-color: #f0f0f0;
        /* スクロールバーの背景色 */
    }

    .plan_scroll:hover::-webkit-scrollbar-thumb {
        background-color: #00173a;
        /* スクロールバーの色 */
        border-radius: 10px;
    }
}

/* sp */
@media screen and (max-width: 768px) {
    .body_box {
        padding: 3% 1%;
        width: 26%;
        flex: 0 0 calc(34% - 10px);
    }

    .body_box .recom_poab {
        position: absolute;
        top: -5%;
        left: -1px;
        width: 85%;
    }

    .body_box .body_text h5 {
        font-size: 0.7em;
        line-height: 1.2;
    }

    .body_box .body_text .price {
        font-size: 0.9em;
    }

    .body_box .body_text .price .camp_text {
        font-size: 0.7em;
    }

    .body_box .body_text .price .price-in {
        font-size: 11px;
        vertical-align: text-top;
    }

    .body_box .off_btn {
        font-size: 0.6em;
        box-shadow:#bd363d 0 1px;
        border-radius: 4px;
    }

    .plan_scroll {
        padding: 3% 10px 3%;
        gap: 3px;
        scrollbar-width: thin;
    }

    .plan_scroll::-webkit-scrollbar {
        height: 4px;
    }

    .plan_scroll::-webkit-scrollbar-thumb {
        background-color: #00173a;
    }

    h4.plan_scroll_ttl {
        margin-top: 10%;
    }
}


/* リンクスの詳細 */
h4.smt {
    margin-top: -1%;
}

.clinic_info {
    display: flex;
    gap: 3%;
}

.clinic_info table {
    width: 100%;
    border-collapse: collapse;
    /* 枠線を消す */
}

.clinic_info th {
    background-color: #e5e5e5;
    /* 背景色を#e5e5e5に設定 */
    padding: 1%;
    text-align: center;
    font-weight: bold;
    width: 13%;
    border-bottom: solid #fff 5px;
}

.clinic_info table tbody tr td {
	font-size: 15px;
    text-align: left;
}

table th {
    position: static !important;
}

.clinic_info td {
    background-color: white;
    padding: 1%;
    width: 25%;
    /* 各列の幅を25%に調整 */
    vertical-align: middle;
}

.clinic_info td {
    border: none;
    /* 枠線なし */
}

@media (max-width: 768px) {
    h4 {
        font-size: 1em;
    }

    .clinic_info th {
        position: static;
        /* absolute を打ち消す */
    }

    .clinic_info th {
        font-size: 11px;
        width: 15%;
    }
    .clinic_info table tbody tr td {
        font-size: 11px;
    }
}

/* の詳細 */

/*Rの特徴 */
.clinic_point .clinic_point_box {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1%;
    margin-bottom: 2%;
}

.clinic_point .bb1 {
    border-bottom: 1px solid #e9e9e9;
}

.clinic_point_box img {
    width: 13%;
}

.clinic_point_box p {
    margin-block-start: 0;
}

@media screen and (max-width: 768px) {
    .clinic_point .clinic_point_box {
        gap: 1%;
    }

    .clinic_point_box img {
        width: 20%;
        padding: 0 10px;
    }

    .clinic_point_box {
        font-size: 10px;
    }

}

/* 特徴 */

/* 使用する脱毛器 */
.clinic_machine {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1%;
}

h4.machine_ttl {
    font-size: 1.1em;
}

.clinic_machine img {
    width: 15%;
}

.clinic_machine_text h6 {
    font-size: 1.05em;
    color: #00173a;
    margin: 0;
}

.clinic_machine_text p {
    margin-block-start: 0;
    font-size: 16px;
}

@media screen and (max-width: 768px) {
    .clinic_machine {
        gap: 1%;
    }

    .clinic_machine img {
        width: 22%;
    }

    .clinic_machine_text h6 {
        font-size: 12px;
    }

    .clinic_machine_text p {
        font-size: 10px;
        margin: 0;
    }
}

/* 使用する脱毛器 */

/* レビュー */
h4.review_ttl {
    padding: 2% 2% 2% 0;
    cursor: pointer;
    position: relative;
    margin: 0;
    line-height: 1.2;
}

h4.review_ttl span {
    font-size: 0.6em;
    font-weight: 200;
}

.review_area {
    margin-bottom: 0;
}

.review_voice .voice_name {
    display: flex;
    align-items: center;
    gap: 1%;
}

.voice_name img {
    width: 6%;
    margin-top: 2%;
}

.voice_name .user {
    margin-block-end: 0;
   font-size: 14px;
}

.review_voice .star {
    text-align: left;
}

.review_voice .star5_rating:after {
    color: #DE7921;
}

.review_voice .star b {
    color: #DE7921;
    font-size: 0.8em;
}

.review_voice .voice_text {
    margin-top: 0;
    font-size: 0.8em;
}

.review-boder {
    border-top: solid 1px #e9e9e9;
    border-bottom: solid 1px #e9e9e9;
}


/* レビュー　アコーディオン */

.accordion-single-title {
    padding: 0 3%;
    cursor: pointer;
    position: relative;
    font-size: 12px;
    margin: 0;
    text-align: left;
    color: #217EB0;
}

.accordion-single-title::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 50%;
    transition: all 0.2s ease-in-out;
    display: block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #999;
    border-right: solid 2px #999;
    transform: translateY(-50%) rotate(135deg);
}

.accordion-single-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height .3s ease-in-out;
}

.accordion-single-item.is-open .accordion-single-content {
    max-height: 100%;
}

.accordion-single-item.is-open .accordion-single-title::after {
    transform: translateY(-50%) rotate(315deg);
}

.accordion-single {
    margin-top: 2%;
}

@media screen and (max-width: 768px) {
    h4.review_ttl {
        padding: 2% 2% 0;
        margin: 4% 0 10px;
    }

    h4.review_ttl span {
        margin-left: 2%;
        vertical-align: middle;
    }

    .accordion-single-title {
        padding: 2% 6%;
    }

    .review_voice .voice_text {
        font-size: 11px;
    }

    .voice_name img {
        width: 7%;
    }
}

/* レビュー */

/* 付近の店舗 */
.clinic_store .clinic_store_detailmap .detailmap_flex {
    display: flex;
    align-items: flex-start;
    gap: 3%;
}

.detailmap_flex img {
    width: 20%;
}

.detailmap_flex h4 {
    margin: 0;
}

.detailmap_flex .adress_area {
    font-size: 0.8em;
    color: #868686;
    line-height: 1.4;
}

.detailmap_flex div a {
    font-size: 1.2em;
    font-weight: bold;
    margin-top: 0;
    color: #217EB0;
}

.map-button {
    text-align: right;
    font-size: 0.8em;
    color: #217EB0;
    margin-top: -2%;
}

/* 地図のポップアップ表示 */
.modal_wrap input {
    display: none;
}

.modal_overlay {
    display: flex;
    justify-content: center;
    overflow: auto;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    opacity: 0;
    transition: opacity 0.5s, transform 0s 0.5s;
    transform: scale(0);
}

.modal_trigger {
    position: absolute;
    width: 100%;
    height: 100%;
}

.modal_content {
    align-self: center;
    width: 330px;
    padding: 40px 20px;
    box-sizing: border-box;
    background: #fff;
    line-height: 1.4em;
    transition: 0.5s;
}

.modal_content p {
    padding-top: 0;
}

.close_button {
    position: absolute;
    top: 14px;
    right: 16px;
    font-size: 24px;
    cursor: pointer;
}

.modal_wrap input:checked~.modal_overlay {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.5s;
}

.modal_wrap input:checked~.modal_overlay .modal_content {
    transform: translateY(20px);
}

.open_button {
    color: #217eb0;
    text-align: right;
    cursor: pointer;
    transition: all 0.3s;
    display: block;
    text-decoration: none;
    font-size: 12px;
    border-bottom: solid 1px #e1e1e1;
}

.kakunin {
    color: #217eb0;
    text-align: right;
    text-decoration: none;
    font-size: 12px;
}

.open-button:active {
    /*ボタンを押したとき*/
    -webkit-transform: translateY(2px);
    transform: translateY(2px);
    /*下に動く*/

}

/*アイコンを表示*/
.open-button:after {
    font-family: "Font Awesome 5 Free";
    content: "\f2d0";
    padding-left: 8px;
}

/*ラベルホバー時*/
.open-button:hover {
    color: #FFFFFF;
    background-color: #4f96f6;
    transition: .6s;
}

.modal_title2 {
    font-size: 16px;
    position: relative;
    overflow: hidden;
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 0;
}

.modal_title2::before,
.modal_title2::after {
    content: "";
    position: absolute;
    bottom: 0;
}

/* h2 プライマリカラー*/
.modal_title2:before {
    border-bottom: 4px solid 	#FE5059;
    width: 100%;
}

/* h2 セカンダリカラー*/
.modal_title2:after {
    border-bottom: 4px solid #adfbff;
    width: 100%;
}

.modal_content iframe {
    margin: 10px 0;
    width: 100%;
}

.modal_content table {
    border-collapse: collapse;
    width: 100%;
}

.modal_content th,
td {
    padding: 5px 5px !important;
    border: 1px solid #949494;
    text-align: left;

}

.modal_content th {
    background-color: 	#FE5059;
    color: #FFF;
    width: 23%;
    text-align: center !important;
    font-size: 12px;
}

/* 地図のポップアップ表示 */

/* 付近の店舗 */

/* 金額キャンペーン */
.Planprice_area {
    margin-top: 4%;
}

.Planprice_area .Plan_campaign {
    font-size: 1.2em;
    font-weight: bold;
    color: #00173a;
}

.Planprice_area .Plan_campaign span {
    background: #CC0C39;
    color: #fff;
    padding: 0.5% 1%;
    font-size: 14px;
}

.price_OFF {
    display: flex;
    gap: 2%;
    align-items: baseline;
    margin-top: 20px;
}

.price_OFF p.OFF {
    color: #CC0C39;
    font-size: 3em;
    margin-top: -2%;
}

.price_OFF p.OFF span:first-of-type {
    font-size: 2rem;
    vertical-align: text-top;
}

.price_OFF p.OFF span {
    font-size: 2rem;
}

.price_OFF p.price {
    font-size: 3em;
    margin-top: -2%;
}

.price_OFF p.price span:first-of-type {
    font-size: 1rem;
    vertical-align: super;
}

.price_OFF p.price span:last-of-type {
    font-size: 1rem;
    vertical-align: middle;
}

.Planprice_area .nomal_price {
    font-size: 0.9em;
    text-decoration: line-through;
    margin-top: -2%;
}

.Planprice_area .off_btn {
    margin-top: 5%;
    font-size: 1em;
    padding: 3%;
    width: 95%;
    margin: 0 auto;
    padding-right: 40px;
    position: relative;
}
.Planprice_area .off_btn::after {
    content: "";
    position: absolute;
    right: 15px; /* 右端からの距離 */
    top: 50%;
    transform: translateY(-50%);
    width: 20px; /* 画像の幅 */
    height: 20px; /* 画像の高さ */
    background-image: url('img/arrow-w-cale.png'); /* 実際の画像URLに変更 */
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.Planprice_area .off_btn img {
    width: 3%;
    margin-right: 1%;
}

    .off_btn2 {
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
        CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
        padding: 3% 0;
        border-radius: 7px;
        font-weight: bold;
        font-size: 0.8em;
        color: #fff;
        text-align: center;
        text-decoration: none;
        overflow: hidden;
        background: #f28ba2;
       width: 100%;
        margin-top: 1em !important;
        box-shadow: #913f5b 0 2px;
    }

    .Planprice_area .off_btn2::after {
        content: "";
        position: absolute;
        right: 15px; /* 右端からの距離 */
        top: 50%;
        transform: translateY(-50%);
        width: 20px; /* 画像の幅 */
        height: 20px; /* 画像の高さ */
        background-image: url('img/arrow-w-cale.png'); /* 実際の画像URLに変更 */
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }

    .Planprice_area .off_btn2 img {
        width: 3%;
        margin-right: 1%;
    }

@media screen and (max-width: 768px) {
    .detailmap_flex div a {
        font-size: 1em;
    }

    .detailmap_flex .adress_area {
        font-size: 0.6em;
    }

    .modal_content td {
        font-size: 12px;
        padding: 10px !important;
        border: 1px solid #949494;
    }

    .Planprice_area .Plan_campaign {
        font-size: 16px;
    }

    .price_OFF p.OFF {
        font-size: 40px;
    }

    .price_OFF p.price {
        font-size: 40px;
    }

    .price_OFF p.OFF span:first-of-type {
        vertical-align: text-bottom;
    }

    .price_OFF p.price span:last-of-type {
        font-size: 0.8rem;
    }
}

/* 金額キャンペーン */

/* section clinic-rank_detail */

/* clinic-rank_detail2と3 */
.clinic-rank_detail2 h3 {
    margin-top: 6%;
}

.clinic-rank_detail2 h3 img {
    width: 3%;
}

.clinic-rank_detail3 h3 {
    margin-top: 11%;
}

.clinic-rank_detail3 h3 img {
    width: 3%;
}

@media screen and (max-width: 768px) {
    .clinic-rank_detail2 h3 {
        margin-top: 5%;
    }

    .clinic-rank_detail2 h3 img {
        width: 5%;
    }

    .clinic-rank_detail3 h3 {
        margin-top: 4%;
    }

    .clinic-rank_detail3 h3 img {
        width: 5%;
    }
}

/* clinic-rank_detail2 */

/* クリニック一覧 */
section.all_clinic_link ul li {
    font-weight: 200;
    font-weight: 200;
    list-style: disc;
    margin-left: 3%;
    font-size: 14px;
}

@media screen and (max-width: 768px) {
    section.all_clinic_link ul {
        margin-left: 6%;
    }

    section.all_clinic_link ul li {
        margin-left: 0;
    }
}


/* 追加 */

img.maru {
    border-radius: 5px;
}

.picup {
    margin: 0px;
}

.p_box {
    border: 1px solid #aaaaaa;
    padding: 10px 20px;
    border-radius: 10px;
    background-color: #fff;
}

.p_box_1 {
    border: 1px solid #aaaaaa;
    padding: 10px 20px;
    border-radius: 10px;
    background-color: #fff;
}

.pf {
    display: flex;
    margin-top: 8px;
    margin-bottom: 3px;
}

.p_box img {
    width: 50%;
}

.p_box_1 img {
    width: 22%;
}

.p_con {
    margin: 0 0 0 10px;
}

.p_con p {
    margin: 0 !important;
}

.pbtnbox {
    display: flex;
    justify-content: space-between;
    text-align: center;
    margin-top: 20px;
}

.pb1 {
    border: 1px solid #818181;
    width: 48%;
    padding: 5px 0;
    border-radius: 5px;
    font-size: 12px;

}

.pb1 a {
    color: #818181;
    text-decoration: none;
}

.pb2 {
    border: 1px solid 	#FE5059;
    width: 50%;
    padding: 5px 0;
    border-radius: 5px;
    font-size: 12px;
}

.pb2 a {
    color: 	#FE5059;
    text-decoration: none;
}

@media (max-width: 768px) {
    .p_con {
        font-size: 13px;
    }

    .p_box {
        font-size: small;
        line-height: 1.5;
        padding: 10px;
    }

    .p_box img {
        width: 85px;
        height: 85px;
    }

    .p_box_1 {
        font-size: small;
        line-height: 1.5;
        padding: 10px;
    }

    .p_box_1 img {
        width: 85px;
        height: 85px;
    }

    .pbtnbox {
        margin-top: 8px;
    }
}

.imgsc {
    display: flex;
    max-width: 800px;
    margin: 5px auto;
    overflow-x: auto;

    /*スクロールバー非表示（IE・Edge）*/
    -ms-overflow-style: none;
    /*スクロールバー非表示（Firefox）*/
    scrollbar-width: none;
}

.ig {
    width: 23%;
    padding: 5px 0;
    margin: 3px 9px 3px 0;
    flex-shrink: 0;
    text-align: center;
    color: #808a95;
    !important
}

.ig:nth-last-of-type(1) {
    margin: 3px 0px;
}

.ig img {
    width: 100%;
}

@media (max-width: 768px) {
    .ig p {
        font-size: 11px;
        line-height: 1.1;
        color: #808a95;
    }
}


.back_g {
    background-color: #dbfdff;
    padding: 10px 0px 20px 0px;
}

.sc {
    display: flex;
    max-width: 900px;
    margin: auto;
    overflow-x: auto;

    /*スクロールバー非表示（IE・Edge）*/
    -ms-overflow-style: none;
    /*スクロールバー非表示（Firefox）*/
    scrollbar-width: none;
    margin-left: 12px;
}

.sc .p_box {
    width: 75%;
    margin: 3px;
    flex-shrink: 0;
}

.sc .p_box img {
    width: 85px;
    height: 85px;
}

.sc .p_box_1 {
    width: 75%;
    margin: 3px 3px 3px 3px;
    flex-shrink: 0;
}

.sc .p_box_1 img {
    width: 85px;
    height: 85px;
}

.g_maru {
    border: 1px solid #af9c48;
    padding: 0 5px;
    border-radius: 20px;
    color: #af9c48;
    margin-right: 3px;
    margin-bottom: 2px;
}

.g_maru_other {
    border: none;
    padding: 0 2px;
}

.ma5 {
    margin-bottom: 5px;
    display: flex;
    flex-wrap: wrap;
}

.tar {
    text-align: right;
    margin-top: -20px;
}

.green {
    color: 	#FE5059;
    font-size: 25px;
}

.small {
    font-size: small;
}

.v-small {
    font-size: 9px;
}

.red {
    color: #ff0e46;
    font-size: 25px;
}

@media (max-width: 768px) {
    .green {
        color: ##ff0e46;
        font-size: 16px;
    }

    .red {
        color: #ff0e46;
        font-size: 16px;
    }

    .small {
        font-size: 9px;
    }

    .sc .p_box {
        width: 75%;
    }

    .sc .p_box_1 {
        width: 75%;
    }

}

.text_img {
    width: 5%;
    vertical-align: middle;
    margin-right: 3px;
}

.slick-dotted.slick-slider {
    margin-bottom: 30px;
    margin-top: 10px;
}

.hr1 {
    border-top: 1px solid #e1e1e1;
}


/* footer */
.footer {
    padding: 3%;
    background-color: #dcdcdc;
    margin-top: 20px;
}

/* footer */

/* #29436コラム追加分 */
.column_box p {
    font-size: 0.9rem;
}
.column_box {
    background: #fff;
    margin: 5% 0 0;
}
.column_box h2 {
    margin-top: 40px;
    padding: 10px;
    text-align: center;
    font-size: 27px;
}
.tab {
    background: #fffae8;
    padding: 3% 5% 6%;
    margin: 5% 0 0;
}
.tab a {
    color: #2b9aa0;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.tab h3 {
    font-size: 20px;
    margin: 15px 0 20px;
    border-bottom: 1px solid;
    padding: 0 0 1%;
}
.column_box_content h3 {
    padding: 10px;
    font-weight: bold;
    margin-top: 5px;
    padding-top: 20px;
    text-align: left;
    font-size: 18px;
    border-bottom: 2px solid 	#FE5059;
}
.column_box_item {
    background: #fff;
    border-radius: 10px;
    margin: 0;
    padding: 0.5rem 1em 1em;
    position: relative;
}
.column_box_point {
    background: #eff6ff;
    border-radius: 5px;
    padding: 5% 4%;
}
.column_box_point h3 {
    border: none;
    padding: 0;
    text-align: center;
    color: #2b9aa0;
}
.column_box_point li {
    font-weight: normal;
    font-size: 0.9rem;
}
.column_box_point li b {
    color: #2b9aa0;
}
.fcR {
    color: #f28ba2 !important;
}
.feature_content {
    padding: 2%;
}
.column_box_table h3 {
    border: none;
    padding: 5% 0 0 0;
    text-align: center;
    color: #2b9aa0;
}
.qa_flex {
    display: flex;
}
.column_box_content img {
    padding: 0 0 3%;
}
@media screen and (max-width: 699px) {
       .column_box h2 {
    font-size: 22px;
}
.column_box {
    padding: 0 2%;
}
.column_box_item {
    padding: 1rem 0.5em;
}
.column_box_content img {
    padding: 1% 0 5%;
}
}

/*---------- Q%A アコーディオン----------*/
dl {
    margin: 0;
}
.toggle_title {
    border-bottom: 1px solid #ddd;
    position: relative;
    padding: 3% 13% 3% 1%;
    cursor: pointer;
    font-size: 17px;
    text-align: left;
    line-height: 1.4;
    color: #2d2d2d;
    max-height: 999999px;
}
.toggle_title02 {
    position: relative;
    padding: 4% 3% 4% 8.9%;
    cursor: pointer;
    font-size: 1rem;
    text-align: left;
    line-height: 1.4;
    font-weight: bold;
    color: #2d2d2d;
    max-height: 999999px;
}
dt.toggle_title.selected{
    border-bottom: none !important;
}
.toggle_contents dd {
    display: none;
    margin-inline-start: 0;
    padding: 0 20px;
    background: #f1f1f1;
}
.toggle_contents dd p{
    font-size: 15px;
    line-height: 1.5;
    padding: 2%;
    box-sizing: border-box;
    color: #595959;
    position: relative;
}
.toggle_title02::before {
    content: "";
    display: inline-block;
    width: 40px;
    height: 40px;
    background: url(../img/q.png) no-repeat;
    background-size: contain;
    margin-left: -2.6em;
    padding-right: 2.5em;
    position: absolute;
    top: 25px;
}
.a_item {
    margin: auto 0;
}

.qa_txt_waku img {
    width: 30px;
    height: 30px;
}
.qa_txt_waku {
    border-radius: 10px;
}
/*ボタン*/
.toggle_btn {
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.toggle_btn::before,
.toggle_btn::after {
    content: '';
    position: absolute;
    background-color: 	#FE5059;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.toggle_btn::before {
    width: 20px;
    height: 2px;
}

.toggle_btn::after {
    width: 2px;
    height: 20px;
}

.toggle_title.selected .toggle_btn::before {
    transform: rotate(0deg);
}

.toggle_title.selected .toggle_btn::after {
    opacity: 0; /* 縦棒を透明にする */
}
@media screen and (max-width:699px){ 
    .toggle_contents dd {
        padding: 0 14px;
    }
    .toggle_title {
        font-size: 14px;
        padding: 0.5em 2em 0.5em 0;
    }
    .toggle_title::before {
        top: 50%;
        left: 60px;
        width: 30px;
        height: 30px;
    }
    .toggle_title02 {
        font-size: 16px;
        padding: 6% 5% 6% 16%;
        border-radius: 5px;
    }
    .toggle_title02::before {
        top: 26%;
        left: 16%;
        width: 30px;
        height: 30px;
    }
    .toggle_contents dd p {
        margin: auto;
        font-size: 15px;
        line-height: 1.5;
        padding: 8% 0;
        box-sizing: border-box;
        color: #595959;
        position: relative;
    }
    .toggle_txt::before {
        top: 7%;
        left: -9%;
    }
    .qa_txt_waku {
        border-radius: 0;
    }
    .qa_txt_waku img {
        width: 26px;
        height: 26px;
    }
    .toggle_btn {
        right: 13px;
    }
}

.table_title {
    text-align: center;
    border-bottom: 2px dotted	#FE5059;
    margin-bottom: 17px;
}

h2.table_content_title {
    font-size: 24px; /* お好みで調整 */
    font-weight: 700;
    color:	#FE5059; /* 水色系の明るいカラー */
    /* text-shadow: 2px 2px 0px rgba(13, 136, 167, 0.2); /* 軽く影をつける */
    letter-spacing: 1px; /* 少し字間を広げる */
    text-align: center;
    position: relative;
    line-height: 1.4;
    letter-spacing: 0.2px;
    margin-left: -5px;
    margin-top: 0px;
    display: inline-block;
}

.badge {
    position: absolute;
    top: -2px;
    right: -228px;
    margin: auto;
    display: inline-block;
    background-color: #fff7fe;
    color: #f28ba2;
    font-size: 14px;
    font-weight: bold;
    padding: 6px 12px;
    border-radius: 15px;
    text-shadow: none;
    rotate: 14deg;
    box-shadow: 0px 2px 0px #f28ba2;
}

/* 吹き出しのしっぽ */
.badge::after {
    content: "";
    position: absolute;
    bottom: -4px;
    left: 22px;
    width: 15px;
    height: 13px;
    rotate: 44deg;
    background-color: #fff6fe;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    box-shadow: 2px 2px 0px #f28ba2;
}

/* 表css */
.scroll-indicator {
    position: absolute;
    z-index: 3;
    top: 100px;
    left: 0;
    right: 0;
    margin: 0 auto; 
    color: #fff;
    text-align: center;
    width: 160px;
    height: 160px;
    background-color: rgba(61, 33, 43, 0.7);
    margin-bottom: 10px;
    font-size: 16px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    border-radius: 10px;
    opacity: 1; /* 初期は表示 */
    transition: opacity 0.3s ease-out; /* 透明度を0.5秒で変化 */
}

.scroll-indicator.hidden {
    opacity: 0; /* hiddenクラスが付いたら透明に */
}

.scroll-indicator span span {
    display: block;
    font-size: 0.9rem;
    margin-top: 15px;
    width: 100%;
}

.scroll-indicator .scroll-img img {
    display: block;
    width: 60px;
    /* padding-top: 10px; */
    margin: 0 auto;
    animation: moveIndicator 3s infinite linear;
}

@keyframes moveIndicator {
    0% {
        transform: translateX(0);
    }
    25% {
        transform: translateX(20px);
    }
    50% {
        transform: translateX(0px);
    }
    75% {
        transform: translateX(-20px);
    }
    100% {
        transform: translateX(0);
    }
}

table.ranking-table {
    border-collapse: collapse !important;
    width: 100%;
    border: 3px solid #dbfdff !important;
}

table.ranking-table tbody {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

table.ranking-table tr,
table.ranking-table td {
    padding: 0;
    margin: 0;
    border: none;
    box-sizing: border-box;
    height: auto;
}


table.ranking-table tr {
    display: block;
    width: 17%;
}

table.ranking-table tr:nth-of-type(1) {
    width: 15%;
}

table.ranking-table tr:nth-of-type(6) td {
    border-right: none !important;
}

table.ranking-table tr:nth-of-type(1) td {
    display: flex;
    align-items: center;
    justify-content: center;
    background:	#FE5059;
    color: #fff;
    font-weight: bold;
}

table.ranking-table tr:nth-of-type(2) td:nth-of-type(2) {
    color: #f50000;
}

table.ranking-table tr td:nth-of-type(2) > .ranking_evaluation {
   width: 100%;
}

table.ranking-table tr td:nth-of-type(1) {
    height: 100px;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
} 
table.ranking-table tr td:nth-of-type(2) {
    height: 48px;
} 
table.ranking-table tr td:nth-of-type(3) {
    height: 90px;
} 
table.ranking-table tr td:nth-of-type(4) {
    height: 90px;
} 
table.ranking-table tr td:nth-of-type(5) {
    height: 36px;
} 
table.ranking-table tr td:nth-of-type(6) {
    height: 60px;
} 
table.ranking-table tr td:nth-of-type(7) {
    height: 60px;
} 
table.ranking-table tr td:nth-of-type(8) {
    height: 86px;
} 
table.ranking-table tr td:nth-of-type(9) {
    height: 80px;
    border-bottom: none !important;
} 

table.ranking-table tr:nth-of-type(2) td {
    background-color: #fffbdc;
    font-weight: bold;
}

table.ranking-table tr:nth-of-type(2) td:nth-of-type(1) {
    position: relative;
}


table.ranking-table td {
    width: 100%;
    padding: 5px;
    border-bottom: 1px dashed #ddd;
    border-right: 1px dashed #ddd;
    font-size: 0.8rem;
    text-align: center !important;
    vertical-align: middle;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    align-items: center;
    line-height: 1.4;
}

table.ranking-table td:last-child {
    border-bottom: none;
}

b {
    line-height: 1;
}

.sogood {
    font-size: 24px;
    color: #f50000;
    display: block!important;
    width: 100%;
}

.good {
    font-size: 23px;
    color: #ecbc18;
    font-weight: normal;
    display: block!important;
    width: 100%;
}

.soso {
    font-size: 24px;
    font-weight: bold;
    color: #4595d5;
    display: block!important;
    width: 100%;
}

.link_btn, .detail_btn {
    display: block;
    line-height: 1;
    padding: 7px 12px;
    background: #f28ba2;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    border-radius: 100px;
    font-size: 0.7rem;
}

.link_btn img,
.detail_btn img {
    width: 16px;
    padding-left: 5px;
}

.detail_btn {
    background: #fff;
    color: #545454;
    border: 1px solid #545454;
}

.ranking {
    padding: 5% 1px;
}

.link_btn {
    box-shadow: 0 2px 0 #88515d;
}

.ranking-table-content {
    position: relative;
}

@media screen and (min-width:699px) {
    .sp_only {
        display: none !important;
    }
}

@media screen and (max-width:699px) {
.pc_only {
    display: none !important;
}
.scroll-indicator {
width: 120px;
height: 110px;
}

.scroll-indicator span span {
    font-size: 0.7rem;
    margin-top: 15px;
    font-weight: bold;
}

.scroll-indicator .scroll-img img {
    width: 40px;
}

.ranking-table-content {
    overflow-x: scroll;
    width: 100%;
    border: 3px solid #dbfdff !important;
}

.ranking-table-content table {
    width: 680px;
    border: none;
}

table.ranking-table tr:nth-of-type(1) {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 2;
}
table.ranking-table tr {
    display: block;
    width: 119px;
}

table.ranking-table tr:nth-of-type(1) {
    width: 81.6px;
}
}

slider_item {
text-align: center;
}

/* スライダー */
.top-slider-content {
margin: 5px 0 20px;
}
.top-slider-content .slick-dots {
display: none;
}

.top-slider-content .slick-slide {
margin: 0 2px !important;
}
.slider_item {
    text-align: center;
    padding: 12px 5px;
    border-radius: 10px;
    border: 2px solid #cbcbcb;
    background: #fff;
    margin: 0px;
}
.top-slider-content .slick-slide:nth-of-type(1) .slider_item {
    background: #fffbdc;
    border: 2px solid 	#FE5059;
}
.slider_item > img:nth-of-type(1) {
    width: 80%;
    margin: 0 auto 3px;
}
.slider_item img {
    width: 100%;
    margin: 0 auto;
}
.slider_item .evaluation {
    margin-top: 3px;
    font-size: 14px;
    font-weight: bold;
}
.slider_item .evaluation span {
    font-size: 17px;
    font-weight: bold;
    padding-left: 3px;
    color: #ef6181;
}
.slider_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 96%;
    margin: 0 auto;
}

.slider_item .clinic_text {
    margin: 10px 0 5px;
    font-size: 10px;
    text-align: center;
    font-weight: bold;
}

.slider_btn img {
    width: 16px;
    padding-left: 5px;
    margin: 0;
}

.slider_no_clinic {
display: flex !important; 
align-items: center;
justify-content: center;
}

@media screen and (min-width:699px) {
.top-slider-content .slick-slide {
margin: 0 4px !important;
}
}

/*---------- コラム----------*/
.column_contents {
margin: 0 auto;
}

.column_contents_inner {
border-bottom: 1px solid #d9d9d9;
font-size: 14px;
}

.column_contents_inner:first-child {
border-top: 1px solid #d9d9d9;
}

.column_contents_inner a {
display: flex;
text-decoration: none;
align-items: center;
justify-content: space-between;
padding: 6px 0;
}

.column_contents_inner img {
width: 200%;
height: 60px;
object-fit: cover;
}

.column_contents_inner .item2 {
padding: 0px 0 0 10%;
width: 70%;
margin: 0;
}

.fa-chevron-right {
padding: 0 2% 0 0;
}

.fa-chevron-right:before {
content: "\f054";
color: #474747;
padding: 0 2% 0 0;
}

.columnAll {
border: 1px solid #d9d9d9;
color: #999999;
text-align: center;
padding: 10px 0;
margin: 15px 10px 20px;
border-radius: 10px;
display: block;
}

.columnList.min_disp article:nth-child(n + 6) {
display: none;
}

.columnList.full_disp article:nth-child(n + 6) {
display: block;
}

@media screen and (max-width:699px) {
.column_contents_inner {
    font-size: 13px;
}

.column_contents_inner img {
    width: 120%;
}

.column_contents_inner .item2 {
    padding: 0px 0 0 5%;
    width: 60%;
}
}

/* モーダルコンテナのスタイル */
.image-modal {
display: none;
position: fixed;
z-index: 1000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0);
justify-content: center;
align-items: center;
transition: background-color 0.3s ease;
opacity: 0;
}

/* モーダルコンテンツのスタイル */
.modal-content {
position: relative;
background-color: #fefefe;
padding: 10px;
border-radius: 5px;
max-width: 310px;
max-height: 310px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
transform: scale(0.8);
opacity: 0;
transition: transform 0.3s ease, opacity 0.3s ease;
display: flex;
justify-content: center;
align-items: center;
}

/* モーダル表示アニメーション用のクラス */
.image-modal.show {
background-color: rgba(0, 0, 0, 0.7);
opacity: 1;
}

.image-modal.show .modal-content {
transform: scale(1);
opacity: 1;
}

/* モーダル内の画像スタイル */
#modalImage {
width: 300px;
height: 300px;
object-fit: contain; /* 画像の比率を維持 */
display: block;
margin: 0 auto;
}

/* 閉じるボタンのスタイル */
.close-button {
position: absolute;
top: -10px;
right: -10px;
color: #fff;
background-color: 	#FE5059;
border-radius: 50%;
width: 25px;
height: 25px;
font-size: 18px;
line-height: 25px;
text-align: center;
cursor: pointer;
z-index: 1001;
}

.close-button:hover {
background-color: #2c7c81;
}

/* plan_scrollクラス内の画像にホバーエフェクトを追加 */
.plan_scroll img:not(.recom_poab img) {
transition: opacity 0.3s ease;
}

.plan_scroll img:not(.recom_poab img):hover {
opacity: 0.8;
}

/* タブコンテンツ用 */
.js-tab-content-by-no {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    width: 95%;
    margin: 0 auto 10px;
}
.js-tab-content-by-no .tab-by-no {
    width: 32.5%;
    height: 60px;
    padding: 8px 5px 5px;
    text-align: center;
    background: linear-gradient(90deg, #07c7cb, #5ddcdd);
    border-radius: 7px;
    font-weight: bold;
    font-size: 19px;
    letter-spacing: 0.5px;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 5px;
    border: 2px solid #07c7cb;
    box-shadow: 0px 2px 0px rgba(102, 167, 165, .3);
}

.js-tab-content-by-no .tab-by-no span {
    font-size: 10px;
    display: block;
}

.js-tab-content-by-no .tab-by-no.tab-active {
    border: 2px solid #07c7cb;
    background: #fff;
    color: #07c7cb;
   pointer-events: none;
}
/* タブコンテンツ用 */

/* ローディング用アニメーション */
#loading {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 50%;
    left: 50%;
    padding: 15px;
    background: rgba(255, 255, 255, .9);
    border-radius: 10px;
    transform: translate(-50%, -50%);
}
.spinner {
    width: 50px;
    height: 50px;
    border: 6px solid #ccc;
    border-top: 6px solid #ff6e8e;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
/* ローディング用アニメーション */


.tips-container {
    max-width: 900px; /* スライダー全体の最大幅 */
    margin: 30px auto;
    padding: 0 15px; /* 左右の余白 */
    box-sizing: border-box;
}

.tips-section-title {
    text-align: center;
    margin-bottom: 40px;
    font-size: 26px;
    font-weight: 700;
    color: #ff6699;
    position: relative;
}

.tips-section-title:after {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, #ffb6c1, #ff6699, #ffb6c1);
    margin: 8px auto 0;
    border-radius: 2px;
}

/* ▼▼▼ Tipsカードスライダーのコンテナ ▼▼▼ */
.tips-card-slider {
    margin: 0 auto;
    /* 必要に応じて左右にネガティブマージンを追加して矢印スペース確保 */
    /* margin-left: -15px; */
    /* margin-right: -15px; */
}

/* ▼▼▼ スライド対象となるTipsカード ▼▼▼ */
.tip-card {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden; /* スライダー内で角丸を維持 */
    box-shadow: 0 10px 25px rgba(255, 102, 153, 0.12);
    /* margin-bottom: 40px; ← スライダー化するので不要に */
    /* スライド間の左右マージン（Slick側でも設定可能） */
    margin: 0 10px; /* 例: 左右に10pxのマージン */
    /* 高さが異なる場合に備える */
    display: flex;
    flex-direction: column;
}

.tip-header {
    background: linear-gradient(45deg, #ff6699, #ff94c1);
    color: white;
    padding: 15px 25px;
    position: relative;
}

.tip-number {
    display: inline-block;
    font-size: 16px;
    font-weight: 600;
    margin-right: 10px;
}

.tip-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    padding: 0;
    line-height: 1.4;
}

.tip-content {
    padding: 25px;
    color: #666;
    flex-grow: 1; /* カードの高さを揃える場合に役立つ */
    display: flex;
    flex-direction: column;
}

/* カード内のコンテンツエリア */
.tip-card-content-area {
    margin-bottom: 20px; /* 吹き出しとのスペース */
}

.tip-card-content-area p {
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 15px;
}

/* カード内の画像 */
.content-image {
    width: 100%;
    max-width: 100%;
    height: auto;
    border-radius: 10px;
    margin: 10px 0 15px; /* 上下のマージン */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    display: block;
}

.highlight {
    color: #ff4081;
    font-weight: bold;
    background-color: rgba(255, 64, 129, 0.1);
    padding: 2px 5px;
    border-radius: 4px;
}

/* --- Tip 個別スタイル (ヘッダー色など) --- */
/* Tip 1 */
.tip-1 .tip-header { background: linear-gradient(45deg, #ff6699, #ff94c1); }
.tip-1 .highlight { color: #ff4081; background-color: rgba(255, 64, 129, 0.1); }
.tip-1 .tip-bubble:before { background: #ff6699; }
.tip-1 .tip-cta-button { background: linear-gradient(45deg, #ff6699, #ff94c1); box-shadow: 0 5px 15px rgba(255, 102, 153, 0.25); }

/* Tip 2 */
.tip-2 .tip-header { background: linear-gradient(45deg, #5c6bc0, #7986cb); }
.tip-2 .highlight { color: #5c6bc0; background-color: rgba(92, 107, 192, 0.1); }
.tip-2 .tip-bubble:before { background: #5c6bc0; }
.tip-2 .tip-cta-button { background: linear-gradient(45deg, #5c6bc0, #7986cb); box-shadow: 0 5px 15px rgba(92, 107, 192, 0.25); }

/* Tip 3 */
.tip-3 .tip-header { background: linear-gradient(45deg, #26a69a, #4db6ac); }
.tip-3 .highlight { color: #26a69a; background-color: rgba(38, 166, 154, 0.1); }
.tip-3 .tip-bubble:before { background: #26a69a; }
.tip-3 .tip-cta-button { background: linear-gradient(45deg, #26a69a, #4db6ac); box-shadow: 0 5px 15px rgba(38, 166, 154, 0.25); }

/* ▼▼▼ Slickカスタマイズ (スライダー全体に適用) ▼▼▼ */
.tips-card-slider .slick-prev,
.tips-card-slider .slick-next {
    width: 40px; /* 少し大きく */
    height: 40px;
    z-index: 10;
    transition: all 0.3s ease;
    top: 50%;
    transform: translateY(-50%);
    /* 背景色をつけて見やすく */
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
}
.tips-card-slider .slick-prev:hover,
.tips-card-slider .slick-next:hover {
     background-color: rgba(255, 255, 255, 0.9);
}


.tips-card-slider .slick-prev:before,
.tips-card-slider .slick-next:before {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 18px; /* アイコンサイズ調整 */
    opacity: 0.85;
    line-height: 1;
    color: #ff6699; /* スライダー全体で共通の色 (例: ピンク) */
    /* アイコンがボタン中央に来るように */
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.tips-card-slider .slick-prev:before { content: '\f104'; }
.tips-card-slider .slick-next:before { content: '\f105'; }

/* 矢印の位置 */
.tips-card-slider .slick-prev { left: -20px; } /* コンテナの外側 */
.tips-card-slider .slick-next { right: -20px; } /* コンテナの外側 */

@media (max-width: 940px) { /* コンテナ幅+矢印幅 より狭い場合 */
    .tips-card-slider .slick-prev { left: 5px; } /* 内側に配置 */
    .tips-card-slider .slick-next { right: 5px; } /* 内側に配置 */
}


/* ドット */
.tips-card-slider .slick-dots {
    bottom: -35px; /* スライダー下部からの位置 */
    position: relative;
}

.tips-card-slider .slick-dots li button:before {
    font-size: 11px; /* 少し大きく */
    opacity: 0.4;
    color: #ff6699; /* スライダー全体で共通の色 */
    transition: all 0.3s ease;
}

.tips-card-slider .slick-dots li.slick-active button:before {
    opacity: 1;
    color: #ff4081; /* アクティブなドットの色 */
}


/* Tips吹き出し */
.tip-bubble {
    position: relative;
    background: #fff;
    border-radius: 10px;
    padding: 15px;
    margin-top: auto; /* CTAボタンの上に配置されるように */
    margin-bottom: 20px; /* CTAボタンとのスペース */
    font-size: 14px;
    line-height: 1.6;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
}

.tip-bubble:before {
    content: '\f0eb'; /* FontAwesome の電球アイコン */
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: -12px;
    top: 10px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: white;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}


/* CTAボタン */
.tip-cta {
    text-align: center;
    margin-top: auto; /* 吹き出しがない場合も下部に配置 */
    margin-bottom: 10px;
    padding-top: 10px; /* 上にスペース */
}

.tip-cta-button {
    display: inline-block;
    padding: 12px 25px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 15px;
    color: white;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.tip-cta-button:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.tip-cta-button i {
    margin-left: 8px;
    transition: transform 0.3s ease;
}
.tip-cta-button:hover i {
    transform: translateX(3px);
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .tip-header { padding: 12px 20px; }
    .tip-content { padding: 20px; }
    .tip-title { font-size: 18px; }
    .tips-section-title { font-size: 22px; }

    /* モバイルではカードのマージンを少し減らす */
    .tip-card { margin: 0 5px; }

    /* 矢印を少し小さく */
    .tips-card-slider .slick-prev,
    .tips-card-slider .slick-next {
         width: 35px;
         height: 35px;
    }
    .tips-card-slider .slick-prev:before,
    .tips-card-slider .slick-next:before {
         font-size: 16px;
    }
     /* ドット位置調整 */
    .tips-card-slider .slick-dots { bottom: -25px; }
}


<!--冒頭tips-->
.datsumo-tips-container {
    max-width: 900px;
    margin: 30px auto 0;
    padding: 0 15px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden; /* コンテナからはみ出た要素も表示 */
    height: auto; /* 自動高さ調整 */
    min-height: 600px; /* 最低限の高さを確保 */
}

.datsumo-tips-section-title {
    text-align: center;
    margin-bottom: 40px;
    font-size: 26px;
    font-weight: 700;
    color: #ff6699;
    position: relative;
}

.datsumo-tips-section-title:after {
    content: '';
    display: block;
    width: 80px;
    height: 3px;
    background: linear-gradient(90deg, #ffb6c1, #ff6699, #ffb6c1);
    margin: 8px auto 0;
    border-radius: 2px;
}

/* Swiper コンテナ */
.datsumo-swiper-container {
    width: 100%;
    padding-bottom: 0px; /* ページネーション用スペース */
    overflow: visible; /* はみ出た要素も表示 */
    position: relative;
    min-height: 500px; /* 最低限の高さを確保 */
}

/* Tipsカード */
.datsumo-tip-card {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 10px 25px rgba(255, 102, 153, 0.12);
    height: auto; /* コンテンツに合わせて高さを自動調整 */
    display: flex;
    flex-direction: column;
}

.datsumo-tip-header {
    background: linear-gradient(45deg, #ff6699, #ff94c1);
    color: white;
    padding: 15px 25px;
    position: relative;
}

.datsumo-tip-number {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    margin-right: 10px;
}

.datsumo-tip-title {
    font-size: 20px;
    font-weight: 700;
    margin: 0;
    padding: 0;
    line-height: 1.4;
}

.datsumo-tip-content {
    padding: 25px;
    color: #666;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
}

.datsumo-tip-card-content-area {
    margin-bottom: 0px;
}

.datsumo-tip-card-content-area p {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 10px;
}

.datsumo-content-image {
    width: 100%;
    max-width: 80%;
    height: auto;
    border-radius: 10px;
    margin: 10px 10% 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    display: block;
}

.datsumo-content-image-first {
    width: 100%;
    max-width: 90%;
    height: auto;
    border-radius: 10px;
    margin: 10px 5% 15px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
    display: block;
}

.datsumo-highlight {
    color: #ff4081;
    font-weight: bold;
    background-color: rgba(255, 64, 129, 0.1);
    padding: 2px 5px;
    border-radius: 4px;
}

/* Tip 個別スタイル */
.datsumo-tip-1 .datsumo-tip-header { background: linear-gradient(45deg, #f28ba2, #f9b2c2); }
.datsumo-tip-1 .datsumo-highlight { color: #ff4081; background-color: rgba(255, 64, 129, 0.1); }
.datsumo-tip-1 .datsumo-tip-bubble:before { background: #ff6699; }
.datsumo-tip-1 .datsumo-tip-cta-button { background: linear-gradient(45deg, #ff6699, #ff94c1); box-shadow: 0 5px 15px rgba(255, 102, 153, 0.25); }

.datsumo-tip-2 .datsumo-tip-header { background: linear-gradient(45deg, #a1afff, #b9c4ff); }
.datsumo-tip-2 .datsumo-highlight { color: #5c6bc0; background-color: rgba(92, 107, 192, 0.1); }
.datsumo-tip-2 .datsumo-tip-bubble:before { background: #5c6bc0; }
.datsumo-tip-2 .datsumo-tip-cta-button { background: linear-gradient(45deg, #5c6bc0, #7986cb); box-shadow: 0 5px 15px rgba(92, 107, 192, 0.25); }

.datsumo-tip-3 .datsumo-tip-header { background: linear-gradient(45deg, 	#FE5059, #9ddbde); }
.datsumo-tip-3 .datsumo-highlight { color: #26a69a; background-color: rgba(38, 166, 154, 0.1); }
.datsumo-tip-3 .datsumo-tip-bubble:before { background: #26a69a; }
.datsumo-tip-3 .datsumo-tip-cta-button { background: linear-gradient(45deg, #26a69a, #4db6ac); box-shadow: 0 5px 15px rgba(38, 166, 154, 0.25); }

/* Tips吹き出し */
.datsumo-tip-bubble {
    position: relative;
    background: #fff;
    border-radius: 10px;
    padding: 15px;
    margin-top: auto;
    margin-bottom: 10px; /* 下部に余白を追加 */
    font-size: 14px;
    line-height: 1.6;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.05);
    border: 1px solid #eee;
}

.datsumo-tip-bubble:before {
    content: '\f0eb';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    position: absolute;
    left: -11px;
    top: -6px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: white;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* CTAボタン */
.datsumo-tip-cta {
    text-align: center;
    margin-top: auto;
    margin-bottom: 10px;
    padding-top: 10px;
}

.datsumo-tip-cta-button {
    display: inline-block;
    padding: 12px 25px;
    border-radius: 30px;
    font-weight: 600;
    font-size: 15px;
    color: white;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
    border: none;
    cursor: pointer;
}

.datsumo-tip-cta-button:hover {
    transform: translateY(-3px) scale(1.03);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
}

.datsumo-tip-cta-button i {
    margin-left: 8px;
    transition: transform 0.3s ease;
}

.datsumo-tip-cta-button:hover i {
    transform: translateX(3px);
}

/* Swiper カスタマイズ */
.datsumo-swiper-button-next,
.datsumo-swiper-button-prev {
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0,0,0,0.15);
    transition: all 0.3s ease;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.datsumo-swiper-button-prev {
    left: 10px;
}

.datsumo-swiper-button-next {
    right: 10px;
}

.datsumo-swiper-button-next:hover,
.datsumo-swiper-button-prev:hover {
    background-color: rgba(255, 255, 255, 0.9);
}

.datsumo-swiper-button-next:after,
.datsumo-swiper-button-prev:after {
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    font-size: 18px;
    color: #ff6699;
}

.datsumo-swiper-button-prev:after {
    content: '\f104';
}

.datsumo-swiper-button-next:after {
    content: '\f105';
}

.datsumo-swiper-pagination {
    position: absolute;
    bottom: auto; /* 固定位置を解除 */
    left: 0;
    width: 100%;
    text-align: center;
    z-index: 10;
}

.datsumo-swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    display: inline-block;
    border-radius: 50%;
    background: rgba(255, 102, 153, 0.4);
    margin: 0 5px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.datsumo-swiper-pagination-bullet-active {
    background: #ff4081;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
    .datsumo-tip-header { padding: 12px 20px; }
    .datsumo-tip-content { padding: 10px 20px 10px; }
    .datsumo-tip-title { font-size: 16px; }
    .datsumo-tips-section-title { font-size: 22px; }

    .datsumo-swiper-button-next,
    .datsumo-swiper-button-prev {
        width: 35px;
        height: 35px;
    }

    .datsumo-swiper-button-next:after,
    .datsumo-swiper-button-prev:after {
        font-size: 16px;
    }
}

@media (max-width: 480px) {
    .datsumo-swiper-button-next {
        right: -5px;
    }
    .datsumo-swiper-button-prev {
        left: -5px;
    }
}

/* Swiperとの干渉を避けるためのリセット */
.datsumo-swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box;
}

.datsumo-swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
}

.yearmvtit {
    text-align: center;
    font-size: 21px;
    top: 16.3rem;
    right: 92.7%;
    position: absolute;
    font-weight: bold;
    transform: rotate(-7deg);
    color: #ff628d;
}


/* SP */
@media screen and (max-width: 767px) {
  .yearmvtit {
  /* 固定remではなく%で指定 */ 
 /* rem/pxをvwに変換して画面幅に追従させる */
        top: 66%;
        left: 5.6%;
        font-size: 3.3vw;
        font-weight: 500;
        font-style: normal;
  }
    p.leftmbtxt {
        font-size: 12px;
        color: #333;
        line-height: 1.9;
        margin-top: -15%;
        z-index: 100;
        position: absolute;
        width: 50%;
    }
    p.leftmbtxt span.text-highlight {
        background-color: rgba(255, 255, 255, 0.7);
        padding: 2px 4px;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
    }
    p.sokyumvtit {
        font-size: 2.6rem;
        padding: 10px 0.3em;
        text-shadow: -1px -1px 0 #faa9b8, 1px -1px 0 #faa9b8, -1px 1px 0 #faa9b8, 1px 1px 0 #faa9b8;
        line-height: 1.0;
        margin-top: -33%;
        right: 1rem;
    }
}

/* PC */
@media screen and (min-width: 768px) {
    p.leftmbtxt {
        font-size: 24px;
        color: #333;
        line-height: 1.9;
        margin-top: -15%;
        z-index: 100;
        position: absolute;
    }
    p.leftmbtxt span.text-highlight {
        background-color: rgba(255, 255, 255, 0.7);
        padding: 2px 4px;
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
    }
    p.sokyumvtit {
        font-size: 4.5rem;
        padding: 15px 35px;
        text-shadow: -3px -3px 0 #faa9b8, 3px -3px 0 #faa9b8, -3px 3px 0 #faa9b8, 3px 3px 0 #faa9b8;
        line-height: 1.3;
        margin-right: 1rem;
        margin-top: -35%;
        margin-bottom: 3rem;
    }
}

.zen-kurenaido-regular {
    font-family: "Zen Kurenaido", sans-serif;
    font-weight: 600;
    font-style: normal;
}

.fcRB {
    color: #ff617c;
}

/*eikyutips */
.text_content {
    line-height: 1.6rem;
}

.text_content_padding {
    margin-bottom: 4%;
}


@media screen and (max-width: 699px) {
    .text_content {
        line-height: 1.3rem;
        font-size: 0.9rem;
    }
}

.yellow {
    color: #fffdc6;
    font-size: 26px;
}

@media screen and (max-width: 699px) {
    .yellow {
        font-size: 23px;
    }
}

.question {
    position: relative;
    width: 73%;
    height: 150px;
}

@media screen and (max-width: 699px) {
    .question {
        position: relative;
        width: 90%;
        height: 100px;
    }
}

.question_img {
    width: 70%;
}

@media screen and (max-width: 699px) {
    .question_img {
        width: 90%;
    }
}

.question_text {
    position: absolute;
    top: 25%;
    font-size: 23px;
    color: #fff;
    text-align: left;
    left: 5%;
    line-height: 2.5rem;
    font-weight: bold;
}

@media screen and (max-width: 699px) {
    .question_text {
        position: absolute;
        top: 19%;
        font-size: 16px;
        color: #fff;
        text-align: left;
        left: 14%;
        line-height: 2rem;
    }
}

.question_text::before {
    content: "";
    position: absolute;
    width: 97%;
    height: auto;
    border-bottom: dashed 2px #fff;
    margin-left: 1%;
    margin-top: 11.5%;
}

@media screen and (max-width: 699px) {
    .question_text::before {
        content: "";
        position: absolute;
        width: 97%;
        height: auto;
        border-bottom: dashed 2px #fff;
        margin-left: 1%;
        margin-top: 12%;
    }
}

.answer {
    position: relative;
    width: 73%;
    margin: 50px 0 50px 0;
    height: 150px;
    margin-left: auto;
}

@media screen and (max-width: 699px) {
    .answer {
        position: relative;
        width: 85%;
        margin: 30px 0 0 60px;
        height: 105px;
        margin-left: auto;
    }
}

.answer_img {
    width: 70%;
}

@media screen and (max-width: 699px) {
    .answer_img {
        width: 90%;
    }
}

.answer_text {
    position: absolute;
    top: 21%;
    left: 9%;
    font-size: 23px;
    color: #fff;
    text-align: left;
    line-height: 2.5rem;
    font-weight: bold;
}

.answer_text::before {
    content: "";
    position: absolute;
    width: 98%;
    height: auto;
    border-bottom: dashed 2px #fff;
    margin-left: 0%;
    margin-top: 12%;
}

@media screen and (max-width: 699px) {
    .answer_text {
        position: absolute;
        top: 21%;
        left: 6%;
        font-size: 18px;
        color: #fff;
        line-height: 2rem;
    }
}

@media screen and (max-width: 699px) {
    .answer_text::before {
        content: "";
        position: absolute;
        width: 98%;
        height: auto;
        border-bottom: dashed 2px #fff;
        margin-left: 0%;
        margin-top: 11.5%;
    }
}

.recommendation {
    padding: 5% 0 0 0;
}

.summary_wrapper {
    background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f8f8ff calc(100% - 1px)),
                      linear-gradient(90deg, transparent calc(100% - 1px), #f8f8ff calc(100% - 1px));
    background-size: 13px 13px;
    background-repeat: repeat;
    background-position: center center;
    padding-bottom: 5%;
}

@media screen and (max-width: 699px) {
    .summary_wrapper {
        padding-bottom: 2rem;
    }
}

#tip_content {
    background: linear-gradient(0deg, #FDEEEE, #FFFFFF);
    padding: 0px 10px;
}

.background_img {
    position: absolute;
    object-fit: cover;
    z-index: -9999;
}

.compare_table {
    border: none;
    padding: 4% 0;
}

@media screen and (max-width: 699px) {
    .compare_table {
        padding: 1rem 0;
    }
}

.compare_table table {
    width: 100%;
    table-layout: fixed;
}

.compare_table th {
    border: none;
    color: #fff;
}

.compare_table .table_left_color {
    background-color: #9dd9dc;
}

.table_left {
    width: 20%;
}

.compare_table table {
    width: 100%;
    border: none;
}

.compare_table th, .compare_table th td {
    border: 1px solid #ccc;
    padding: 8px 12px;
    text-align: center;
    border: none;
}

.text_center {
    background-color: #e7f8f9;
}

@media screen and (max-width: 699px) {
    .text_center {
        font-size: 13px;
    }
}

.text_right {
    background-color: #c9e1e3;
}

@media screen and (max-width: 699px) {
    .text_right {
        font-size: 12px;
    }
}

.compare_table td {
    font-weight: bold;
    border: none;
    text-align: center;
    vertical-align: middle;
}

.compare_table tr:nth-child(even) {
    border: none;
}

.compare_table th {
    position: relative;
}

.compare_table tr {
    width: 20%;
}

.medical {
    background-color: 	#FE5059;
    color: #fff;
    position: relative;
    width: 40%;
}

@media screen and (max-width: 699px) {
    .compare_table th {
        text-align: center;
    }
}

.salon {
    background-color: #50b0b5;
    color: #fff;
    position: relative;
    width: 42%;
}

.table_image_01 {
    position: absolute;
    width: 3.5%;
    height: auto;
    left: 31%;
}

@media screen and (max-width: 699px) {
    .table_image_01 {
        position: absolute;
        width: 5%;
        height: auto;
        left: 25%;
    }
}

.table_image_02 {
    position: absolute;
    width: 2.5%;
    height: auto;
    left: 67%;
}

@media screen and (max-width: 699px) {
    .table_image_02 {
        position: absolute;
        width: 3.5%;
        height: auto;
        left: 62.5%;
    }
}

.dot {
    font-size: 30px;
    border-bottom: dashed 4px #fe7796;
    display: block;
    text-align: center;
}

@media screen and (max-width: 699px) {
    .dot {
        font-size: 20px;
        border-bottom: dashed 2px #fe7796;
    }
}

.summary_title_text {
    font-size: 40px;
    line-height: 4rem;
}

@media screen and (max-width: 699px) {
    .summary_title_text {
        font-size: 24px;
        line-height: 2rem;
    }
}

.summary_icon {
    width: 4%;
    height: auto;
    margin-left: 4%;
}

.summary_icon_right {
    width: 4%;
    height: auto;
}

.summary_title {
    font-size: 30px;
}

@media screen and (max-width: 699px) {
    .summary_title {
        font-size: 20px;
    }
}

.summary_img {
    margin-top: 2%;
}

.summary {
    margin: 0 2%;
}

.summary_color {
    color: #fe7796;
}

.summary_content {
    padding: 0 10px;
}

.trivia {
    padding: 1rem 1rem;
    margin: 2rem 2.1rem 0 2.1rem;
    color: #565656;
    background: #ffeaea;
    box-shadow: 0px 0px 0px 8px #ffeaea;
    border: dashed 2px #ffc3c3;
    border-radius: 8px;
}

@media screen and (max-width: 699px) {
    .trivia {
        margin: 2rem 1.7rem;
    }
}

.trivia p {
    margin: 0;
    padding: 0;
}

.pink_text {
    color: #fe7796;
}

.small_text {
    font-size: 14px;
}

@media screen and (max-width: 699px) {
    .small_text {
        font-size: 12px;
    }
}

.wave-simple {
    position: relative;
    background: none;
    padding: 40px;
}

.wave-simple::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: url('data:image/svg+xml,%3Csvg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 100" preserveAspectRatio="none"%3E%3Cpath d="M0,50 Q250,20 500,50 T1000,50 L1000,100 L0,100 Z" fill="%23fdeeee"/%3E%3C/svg%3E');
    background-size: 100% 80px;
    transform: rotate(180deg);
}

.qa-box {
    background-color: #4cc3c7;
    width: 100%;
    height: 100%;
    position: relative;
}

@media screen and (max-width: 699px) {
    .qa-box {
        height: 100px;
    }
}

.qa-box .question-icon {
    font-size: 60px;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: -32px;
    left: 35px;
    color: white;
    z-index: 10;
    -webkit-text-stroke: 0;
    text-stroke: 0;
}

@media screen and (max-width: 699px) {
    .qa-box .question-icon {
        font-size: 37px;
        font-weight: bold;
        line-height: 1;
        position: absolute;
        top: -14px;
        left: 11px;
        color: white;
        z-index: 10;
        -webkit-text-stroke: 0;
        text-stroke: 0;
    }
}

.qa-box .question-icon::before {
    content: "Q.";
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    color: transparent;
    -webkit-text-stroke: 10px #4cc3c7;
    text-stroke: 10px #4cc3c7;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    pointer-events: none;
}

.question-icon::after {
    content: '';
    display: block;
    width: 36px;
    height: 24px;
    background-color: #4cc3c7;
    border-radius: 50%;
    margin: 5px auto 0;
    position: absolute;
    top: 19%;
    z-index: -1;
}

@media screen and (max-width: 699px) {
    .question-icon::after {
        content: '';
        display: block;
        width: 36px;
        height: 28px;
        background-color: #4cc3c7;
        border-radius: 50%;
        margin: 5px auto 0;
        position: absolute;
        top: 17%;
        z-index: -1;
    }
}

.a-box {
    background-color: #f39aae;
    width: 100%;
    height: 100%;
    position: relative;
}

@media screen and (max-width: 699px) {
    .a-box {
        height: 100px;
    }
}

.a-box .answer-icon {
    position: absolute;
    top: -45px;
    left: -18px;
    z-index: 10;
}

@media screen and (max-width: 699px) {
    .a-box .answer-icon {
        top: -52px;
    }
}

.svg-text-a {
    width: 100px;
    height: 100px;
    display: block;
}

.answer_icon_image {
    position: absolute;
    width: 6%;
    height: auto;
    top: 69%;
    right: 3%;
}

@media screen and (max-width: 699px) {
    .answer_icon_image {
        position: absolute;
        width: 6%;
        height: auto;
        top: 70%;
    }
}

.eikyuOnly-js{
        margin-top: 2rem;
}

.memo {
    position: relative;
    width: 85%;
    background-color: #fff;
    padding: 20px;
    margin: 30px auto 0;
    font-size: 14px;
}

.memo::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    border: 1px dashed #ffbdcc;
}

.masking-tape {
    position: absolute;
    top: 20px;
    left: -5px;
    width: 120px;
    height: 30px;
    background-color: #fe7796;
    transform: rotate(-12deg);
    transform-origin: left bottom;
}

.masking-tape::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255, 255, 255, 0.1);
    background-image: 
        repeating-linear-gradient(
            45deg,
            transparent,
            transparent 2px,
            rgba(255, 255, 255, 0.1) 2px,
            rgba(255, 255, 255, 0.1) 4px
        );
}

.tape-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: bold;
    font-size: 14px;
    white-space: nowrap;
}

.memo-content {
    padding-top: 1rem;
    color: #333;
    line-height: 1.6;
}

.memo-title {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 10px;
    text-align: center;
}

.memo-text {
    font-size: 13px;
    color: #666;
}

.mt05r {
    margin-top: 0.5rem;
}

.mt1r {
    margin-top: 1rem;
}


.fs05 {
    font-size: 0.5em;
}
.fs08em {
    font-size: 0.8em;
}


.strike-through {
  text-decoration: line-through;
  color: #00173a !important;
  background-color: #fff !important;
}

.sonomama {
  color: #00173a !important;
  background-color: #fff !important;

}
/* おすすめKWタブメニュー*/
.banner-tab-menu {
	padding: 10px 10px 0;
 }
 
 .sub_title {
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
	 margin: 10px 0;
 }
 
 .sub_title h2 {
	 margin: 0;
	 font-size: 6vw;
	 padding: 0;
 }
 
 .sub_title img:nth-of-type(1) {
	 width: 14%;
 }
 
 .sub_title img:nth-of-type(2) {
	 width: 10%;
 }
 
 .clinic-banner {
   font-family: 'Arial', sans-serif;
 }
 
 .banner-row {
	 display: flex;
	 flex-direction: row;
	 flex-wrap: wrap;
	 justify-content: space-between;
 }
 
 .banner-item {
   width: 49.5%;
   border: 2px solid#FE5059;
   color: #FE5059;
   background-color: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 8px 0px;
   font-size: 12px;
   font-weight: bold;
   position: relative;
   box-sizing: border-box;
   margin-bottom: 15px;
 }
 
 .banner-item.current {
   background-color:#FE5059;
   color: #fff;
 }
 
 .banner-item.current::after {
   content: "";
   position: absolute;
   bottom: -10px;
   left: 50%;
   margin-left: -6px;
   width: 0;
   height: 0;
   border-left: 10px solid transparent;
   border-right: 10px solid transparent;
   border-top: 10px solid #FE5059;
 }
 
 .banner-item .icon {
   margin-right: 6px;
   font-size: 16px;
 }
 
 .banner-tab-menu .clinic-card {
   display: none;
   max-width: 500px;
   margin: 0 auto;
   border: 2px solid #FE5059;
   background: #fff;
   padding: 10px;
   /* overflow: hidden; */
   box-shadow: none;
   border-radius: 0px;
 }
 
 .clinic-card.current {
	 display: block;
 }
 
 .clinic-card p:nth-of-type(1) {
	 font-size: 12px;
	 margin: 0;
 }
 
 .clinic-card h3 {
	 margin: 10px 0;
	 letter-spacing: 1px;
	 font-weight: normal;
	 display: flex;
	 line-height: 1;
	 display: flex;
	 align-items: flex-end;
	 line-height: 1;
	 font-size: 22px;
 }
 
 .clinic-card h3 img {
	 width: 30px;
	 margin-right: 5px;
 }
 
 .card-image img {
   width: 100%;
   display: block;
 }
 
 .card-content {
   margin-top: 10px;
   padding: 0px;
   background-color: #fff;
 }
 
 .info-section {
   display: flex;
   justify-content: space-between;
   gap: 5px;
   margin-bottom: 10px;
 }
 
 .info-box {
   flex: 1;
   background-color: #fff;
   border: 1px solid #FE5059;
   border-radius: 0px;
   padding: 0px;
   font-size: 12px;
 }
 
 .info-box .machine {
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
	 gap: 5px;
 }
 
 .info-box .machine img {
	 width: 30%;
 }
 
 .info-box h4 {
   margin: 0 0px;
   font-size: 13px;
   font-weight: bold;
   color: #333;
   text-align: center;
   background-color: #30c6cd;
   color: #fff;
   padding: 5px 0;
   letter-spacing: 1px;
 }
 
 .info-box .info-box-inner {
	 padding: 5px;
	 text-align: center;
 }
 
 .recommend-box,
 .not-recommend-box {
	 font-size: 13px;
	 /* background-color: #fff0f5; */
	 padding: 0;
	 position: relative;
	 width: 100%;
	 margin: 0 auto;
	 margin-bottom: 15px;
	 margin-top: 35px;
	 box-sizing: border-box;
 }
 
 .recommend-box p:nth-of-type(2),
 .not-recommend-box p:nth-of-type(2) {
	 margin: 0;
	 padding: 20px 10px 10px;
	 width: 95%;
	 margin: 0 0 0 auto;
 }
 
 .recommend-box p:nth-of-type(2) {
   background-color: #ffe9ee;
 }
 
 .not-recommend-box p:nth-of-type(2) {
   background-color: #e5e5e5;
 }
 
 .recommend-title,
 .not-recommend-title {
   font-weight: bold;
   margin-bottom: 6px;
   font-size: 12px;
   position: absolute;
   top: -18px;
   left: 0px;
 }
 
 .button-group {
   display: flex;
   gap: 8px;
   justify-content: space-between;
   margin-top: 10px;
 }
 
 .clinic-card .btn {
   flex: 1;
   text-align: center;
   padding: 10px;
   border-radius: 6px;
   font-weight: bold;
   text-decoration: none;
   font-size: 14px;
   color: #fff;
   margin-bottom: 5px;
   display: flex;
   gap: 10px;
   justify-content: center;
   align-items: center;
   line-height: 1;
   position: relative;
   padding-right: 30px;
 }
 
 .btn.pink {
   background-color: #ff86a0;
   box-shadow: 0px 3px 0px 0px #c15d73;
 }
 
 .btn.blue {
   background-color: #39c4cc;
   box-shadow: 0px 3px 0px 0px #2ba2a8;
 }
 
 .btn.pink::after {
	 content: "";
	 position: absolute;
	 right: 20%;
	 top: 50%;
	 transform: translateY(-50%);
	 width: 18px;
	 height: 18px;
	 background-image: url(img/arrow.png);
	 background-size: contain;
	 background-repeat: no-repeat;
	 background-position: center;
 }
 
 .btn.blue::after {
	 content: "";
	 position: absolute;
	 right: 20%;
	 top: 50%;
	 transform: translateY(-50%);
	 width: 14px;
	 height: 14px;
	 background-image: url(img/arrow-w-cale.png);
	 background-size: contain;
	 background-repeat: no-repeat;
	 background-position: center;
 }
 
 .clinic-card .btn img {
	 height: 17px !important;
	 width: auto;
 }
 
 .label-tilted {
   display: inline-block;
   padding: 6px 12px;
   margin: 0;
   color: #fff;
   font-weight: bold;
   font-size: 14px;
   background: repeating-linear-gradient(
	 -45deg,
	 #f27d98,
	 #f27d98 10px,
	 #f78fa7 10px,
	 #f78fa7 20px
   );
   transform: rotate(-5deg);
 }
 
 .not-label-bg {
	 background: repeating-linear-gradient(
	   -45deg,
	   #545454,
	   #545454 10px,
	   #6a6a6a 10px,
	   #6a6a6a 20px
	 );
 }
 
 .caution-hidden {
	 display: none;
 }
 
 .caution + p {
	 margin-top: 10px;
 }
 
 .other-machine {
 color: #a7a7a7;
 font-size: 11px;
 }
 
 @media screen and (min-width: 700px) {
	 .sub_title h2 {
		 font-size: 44px;
	 }
 }
 
 h2, p {
	 padding: 0;
	 margin: 0;
 }
 
 ol {
	 padding: 0;
	 margin: 0;
 }
 
 ul {
	 padding: 0;
	 margin: 0;
 }
 li {
    list-style: none;
    font-weight: bolder;
    margin-top: 5px;
}
 
 img {
	 width: 100%;
 }
 
 .bottom_modal_contents ol li {
	 font-size: 13px;
	 line-height: 1.6;
	 display: flex;
	 align-items: flex-start;
 }
 
 .bottom_modal_contents ol li::before {
	 color:#FE5059;
	 font-weight: bold;
	 margin-right: 4px;
	 font-size: 15px;
 }
 
 .bottom_modal_contents ol li:nth-of-type(1)::before {
	 content: '1.';
 }
 
 .bottom_modal_contents ol li:nth-of-type(2)::before {
	 content: '2.';
 }
 
 .bottom_modal_contents ol li:nth-of-type(3)::before {
	 content: '3.';
 }
 
 .bottom_modal_contents ul li {
	 list-style: none;
	 margin-bottom: 10px;
	 display: flex;
	 align-items: center;
	 font-weight: normal;
 }
 
 .bottom_modal_contents ul li:before {
	 content: "";
	 display: inline-block;
	 width: 25px;
	 height: 25px;
	 background-image: url(../img/check-list-icon.png);
	 background-size: contain;
	 background-repeat: no-repeat;
	 margin-right: 8px;
	 vertical-align: middle;
 }
 
 .bottom_modal_contents ul li span {
	 width: 100%;
 } 
 
 .bottom_modal_contents {
	 position: relative;
	 opacity: 1;
	 z-index: 11;
	 transition: opacity .3s ease;
 }
 
 .bottom_modal_contents.hidden {
	 opacity: 0;
	 pointer-events: none;
 }
 
 .bmc_bk {
	 background-color: rgba(0, 0, 0, 0.2);
	 display: block;
	 width: 100%;
	 height: 100%;
	 position: fixed;
	 top: 0;
	 left: 0;
	 z-index: 1000;
 }
 
 .bottom_modal_contents .bmc {
	 position: fixed;
	 max-width: 550px;
	 bottom: 0;
	 left: 0;
	 right: 0;
	 margin: 0 auto;
	 width: 100%;
	 z-index: 1001;
	 background: #fff;
	 padding: 20px;
	 box-sizing: border-box;
 
	 transform: translateY(0%);
	 transition: transform .3s ease;
 }
 
 .bottom_modal_contents.hidden .bmc {
	 transform: translateY(100%);
 }
 
 .bmc h2 {
	 border-bottom: 2px solid #b1b1b1;
	 padding-bottom: 8px;
	 line-height: 1;
	font-size: 24px;
 }
 
 .bmc h2 a {
	 text-decoration: none;
	 color: #474747;
 }
 
 .bmc_clinic {
	 display: none;
 }
 
 .options {
	 margin-top: 4%;
	 margin-bottom: 4%;
	 display: flex;
	 justify-content: flex-start;
	 gap: 3px;
 }
 
 .bmc_option {
	 color: #fff;
	 font-weight: bold;
	 line-height: 1;
	 font-size: 12px;
	 padding: 5px 10px;
	 border-radius: 100px;
	 letter-spacing: 1px;
 }
 
 .bmc_option.on {
	 background:#ff7179;
 }
 
 .bmc_option.off {
	 background: #e8e8e8;
 }
 
 .bmc_btn a {
	 position: relative;
	 display: block;
	 width: 100%;
	 background: #f28ba2;
	 color: #fff;
	 text-decoration: none;
	 font-weight: bold;
	 border-radius: 8px;
	 padding: 10px 0;
	 line-height: 1.5;
	 text-align: center;
	 color: #fff;
	 box-shadow: 0 3px 0 #88515d;
	 font-size: 14px;
 }
 
 .bmc_btn a::after {
	 content: "";
	 display: inline-block;
	 width: 20px;
	 height: 20px;
	 background-image: url(../img/arrow.png);
	 background-size: contain;
	 background-repeat: no-repeat;
	 margin-right: 8px;
	 vertical-align: middle;
	 top: 0;
	 right: 15px;
	 position: absolute;
	 bottom: 0;
	 margin: auto;
 }
 
 .bmc_close_btn {
	 position: absolute;
	 top: 15px;
	 right: 15px;
	 line-height: 1;
	 font-size: 24px;
 }
 
 .bmc_detail_1,
 .bmc_detail_2 {
	 position: relative;
 }
 
 .bmc_detail_1 {
	 margin-bottom: 10%;
	 padding-bottom: 5%;
 }
 
 .bmc_detail_1 img {
	 width: 90%;
	 margin: 0 0 0 auto;
	 display: block;
 }
 
 .bmc_about_machine_details {
	 position: absolute;
	 bottom: 0;
	 left: 0;
	 width: 72%;
 } 
 
 .bmc_detail_2_title {
	 position: absolute;
	 top: -18px;
	 left: -11px;
	 width: 60%;
 }
 
 .bmc_detail_2 {
	 border: 2px dashed #FE5059;
	 padding: 3% 5%;
	 padding-top: 7%;
	 margin-bottom: 5%;
 }
 
 @media screen and (min-width: 550px) {
	 .bottom_modal_contents ol li {
		 font-size: 16px;
	 }
		 .bmc_detail_1 {
		 padding-bottom: 5%;
	 }
 .bmc_detail_1 img {
	 width: 72%;
 }
 .bmc_detail_2_title {
	 width: 42%;
 }
 .bmc_detail_2 {
	 border: 2px dashed #FE5059;
	 padding: 3% 4%;
	 padding-top: 5%;
	 margin-bottom: 5%;
 }
 }
 
 html.body_not_scroll {
	 overflow: hidden;
 }
 .machine-detail {
	 font-size: 0.93em;
	 color: #007acc;
	 text-decoration: underline;
	 cursor: pointer;
 }


