@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=Asap+Condensed:600');

*{
    font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif;
}
/*初期設定
----------------------------------------------------*/

#wrapper{
    margin: 0 auto;
    padding: 0 0 0 0;
    overflow: hidden;
    color: #222;
    background: #fff;
}
.inner {
    width: 800px;
    margin: 0 auto;
    box-shadow: 0px 0px 8px rgb(192, 192, 192);
    padding: 2%;
    margin-bottom: 40px;
    background-color: #fff;
    box-sizing: border-box;
    z-index: 0;
    position: relative;
}
.inner.pat1{
    padding:1% 2% 2% 2%;
}
.tx-s{
    font-size:12px;
}
.fsS{
    font-size: 14px;
}
.taC{
    text-align: center;
}
.rank-arrow{
    display: block;
    margin: 0 auto 0;
    padding: 0 0 40px 0;
}
.inner img{
    width: 100%;
    height: auto;
    margin: 20px 0 0;
}
.pink{
    color: #fb5c5d;
    font-weight: bold;
}
.blue{
    color: #62b1ce;
    font-weight: bold;
    margin-right: 5px;
}

.blue02{
    color: #7ebad0;
    margin-right: 5px;
}

.inner p{
    margin-bottom: 0px;
}
.fwb{
    font-weight: bold;
}
.mt10{
    margin-top: 10px;
}
.mt30{
    margin-top: 30px;
}
.pb20{
padding-bottom: 20px;
}
br.sp{
    display: none;
}
br.pc{
    display: block;
}
.sp{
    display: none;
}
.pc{
    display: block;
}
.rel {
    position: relative;
}
.abs {
    position: absolute;
}
p{
    margin-top: 20px;
    margin-bottom: 20px;
}
.inner h1 img{
    margin-top: 0;
}

video {
    width: 100%;
}
.mb20 {
    margin-bottom: 20px!important;
}
.marker {
    font-weight: bold;
    background-color: #ffff75;
}


@media screen and (max-width: 768px) {
    #wrapper{
        width: 100%;
    }
    #content {
        width: 100%;
        padding: 0 15px;
    }
    br.sp{
        display: block;
    }
    br.pc{
        display: none;
    }
    .sp{
        display: block;
    }
    .pc{
        display: none;
    }
}

/*----------------------------------------------------*/
h2{
    padding: 0.7em 0 0.5em 1rem;/*文字周りの余白*/
    color: #494949;/*文字色*/
    background: #edffff;/*背景色*/
    border-left: solid 5px #77ccc6;/*左線（実線 太さ 色）*/
    color: #77ccc6;
    font-weight: bold;
    font-size: 1.3rem;
    line-height:  1.8rem;
    margin: 40px 0 20px;
}
h2.select{
/*    margin-top: 0;*/
    background-color:  #7ebad0;
    color: #fff;
    text-align: center;
}

.check-area{
    border: 1px solid #7ebad0;
}
.check-area h3{
    background-color: #7ebad0;
    color: #fff;
    margin: 0;
}
.check ul{
    padding: 2%;
    margin-bottom: 0;
}
h3 .circle{
    display: inline-block;
    background: #494949;
    border-radius: 50%;
    width: 1.6rem;
    height: 1.6rem;
    color: #fff;
    font-size: 1.1rem;
    text-align: center;
    line-height:  1.8rem;
    margin-right: 10px;
}
.bgy{
    background: #fffff0;
    padding: 40px 0 10%;
    position: relative;
}
.bgp{
    background: #f4fffe;
    padding-bottom: 15px;
    margin-bottom: 50px;
}
.ttl{
    display: flex;
    width: 100%;
    align-items: flex-start;
    margin-bottom: 0px;
}
.ttl img{
    margin: 0;
}
.ttl img:first-child{
    width: 12%;
}
.ttl img:nth-child(2){
    width: 31%;
}
img.mt0{
    margin-top: 0;
}
/* チェックマーク */
ul{
    margin-bottom: 30px;
  margin-top: 10px;
}
.check{
    margin: 20px auto;
    border:  2px solid #7ebad0;
    background-color: #fffcf2;
}
.check h3{
    text-align: center;
    margin: 0;
    background-color: #7ebad0;
    color: #fff;
}
.check li{
    padding-left:30px;
	position:relative;
    font-size: 1.1rem;
}
.check li:before,.inner li:after{
	content:"";
	display:block;
	position:absolute;
}
.check li:before{
	width:22px;
	height:22px;
	border-radius:5px;
	left:0;
    top:2px;
}
.check li:after{
    border-left: 3px solid #fca603;
    border-bottom: 3px solid #fca603;
    width: 12px;
    height: 7px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    left: 5px;
    top: 6px;
}
/* チェックマーク */
/*タブ切り替え全体のスタイル*/
.tabs {
    margin-top: 10px !important;
    padding-bottom: 0px;
    background-color: #fff;
    width: 100%;
    margin: 0 auto;}

/*タブのスタイル*/
.tab_item {
    width: calc(96.5%/3);
    height: 50px;
    background-color: #eaecec;
    line-height: 50px;
    font-size: 16px;
    text-align: center;
    color: #565656;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
    margin: 0 0.5%;
    border-radius: 5px 5px 0 0;
}
.tab_item:nth-of-type(4){
    margin-right: 0%;
}
.tab_item:hover {
    opacity: 0.75;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}

/*タブ切り替えの中身のスタイル*/
.tab_content {
    display: none;
    clear: both;
    overflow: hidden;
    border: 3px solid #77ccc6;
}
/*選択されているタブのコンテンツのみを表示*/
#y20:checked ~ #y20_content,
#y30:checked ~ #y30_content,
#y40:checked ~ #y40_content,
#y50:checked ~ #y50_content {
    display: block;
}

/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
    background-color: #77ccc6;
    color: #fff;
}
/* ctaまわり */
.btn-label {
    width: 500px;
    margin: 4px auto 16px;
    position: relative;
    overflow: hidden;
    text-align: center;
    background-image: linear-gradient(150deg, rgba(50, 228, 0, 1) 10%, rgba(0, 121, 28, 1));
    color: #fff;
    font-size: 1.1rem;
    padding: 2% 4%;
    border-radius: 50px;
    box-shadow: 2px 2px 8px rgb(173, 173, 173);
}
.tc{
    text-align: center;
}
@media screen and (max-width: 768px) {
.btn-label {
    max-width: 100%;
}
}
/*.btn-label {
    font-size: 1.2rem;
    background-color: #75bcb4;
    border: 1px solid #75bcb4;
    border-radius: 49px;
    box-shadow: 0 4px 8px 0 rgb(19 12 2 / 20%);
    width: 100%;
    max-width: 450px;
    padding: 20px 0;
    margin: 4px auto 16px;
    position: relative;
    overflow: hidden;
    text-align: center;
}
.btn-label p {
    font-weight: bold;
    color: #fff;
    text-shadow: 1px 1px 0 rgb(0 0 0 / 10%);
    line-height: 1;
    position: relative;
    width: fit-content;
    margin: 0 auto;
    display: flex;
    align-items: center;
    column-gap: 12px;
}*/
.btn-label::before {
    content: "";
    position: absolute;
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: #fff;
    transition: .2s;
    -webkit-animation: shiny 3s ease-in-out infinite;
    animation: shiny 3s ease-in-out infinite;
}
@-webkit-keyframes shiny{
    0%{
        -webkit-transform: scale(0) rotate(45deg);
        opacity: 0;
    }
    80%{
        -webkit-transform: scale(0) rotate(45deg);
        opacity: .5;
    }
    81%{
        -webkit-transform: scale(4) rotate(45deg);
        opacity: 1;
    }
    100%{
        -webkit-transform: scale(50) rotate(45deg);
        opacity: 0;
    }
}
.btn-label p::after {
    content: "";
    flex: 0 0 auto;
    width: 6px;
    height: 10px;
    -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    text-shadow: 1px 1px 0 rgb(0 0 0 / 10%);
    background-color: #fff;
    transition: all .3s;
}
a {
    cursor: pointer;
    text-decoration: none;
    background-color: transparent;
    color: var(--color-base1);
}
p.ctat{
    margin-bottom: 0;
}

p.mini-r-ttl{
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold;
    margin-bottom: 10px;
    line-height: 1.4;
}
.head-border {
    position: relative;
    display: inline-block;
    padding: 0 3px;
}

.head-border:before,
.head-border:after {
    content: '';
    position: absolute;
    top: 40%;
    display: inline-block;
    width: 10px;
    height: 2px;
    background-color: #c76f6f;
}
.head-border:before {
    left: -5%;
}
.head-border:after {
    right: -5%;
}
/* ミニ比較表 */
.mini-rank{
    width: 80%;
    margin: 0 auto;
    padding: 3%;
}
table.mini {
    width: 90%;
    margin: 0 auto 18px;
    border: 2px solid #b8abab;
}
table.mini th{
    background-color: #fffade;
    line-height: 1.2rem;
}
table.mini th,table.mini td{
    border: 1px dotted #b8abab;
    padding: 2% 1%;
    text-align: center;
    vertical-align: middle;
}


/* 体験 */
.try{
    background-color: #fff9e9;

    padding: 3% 3% 7% 3%;

    margin-top: 60px;
}
.try h2{
background: #77ccc6;
border: none;
text-align: center;
color: #fff;
margin-top: 0px;
}
.inner p.t_r{
    text-align: right;
    margin-top: 0;
    line-height: 1.2rem;
}
.try .box{
    background-color: #fff;
    padding: 3%;
    margin-bottom: 20px;
    border-radius: 20px;
}
.try .box h3{
    background: #fff;
    font-size: 1.3rem;
    margin: 0;
    padding: 0.7em 0 0em 0.5rem;
}
.inner .try-cta{
    margin-top: 20px;
    margin-bottom: 40px;
}
span.circle2{
    display: inline-block;
    background-color: #77ccc6;
    color: #fff;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    font-size: 25px;
    text-align: center;
    line-height: 35px;
    margin-right: 5px;
}
.marker{
    font-weight: bold;
    background-color: #ffff75;
}
.inner .try p.mb20{
margin-bottom: 20px;
}
.try .box p:nth-last-child(1){
    margin-bottom: 0;
}
hr{
    margin: 40px 0;
    background-color: #dadada;
    height: 1px;
    border: none;
}
h4 .circle{
    display: inline-block;
    background: #b4b4b4;
    border-radius: 50%;
    width: 1.6rem;
    height: 1.6rem;
    color: #fff;
    font-size: 1.1rem;
    text-align: center;
    line-height:  1.8rem;
    margin-right: 10px;
}
h4{
    margin-bottom: 8px;
    font-weight: bold;
}
figure{
    float: left;
	margin: 0 15px 0px 0;
	width: 10%;
}
.voice img{
margin-bottom: 0;
}
.voice-inner{
    width: 100%;
    margin: 10px auto 40px;
    border: 1px solid #b4b4b4;
    padding: 3%;
}
.voice-inner hr{
margin: 20px auto;
}
table.mini{
    width: 100%;
    margin-bottom: 5px;
}
table.mini.sec td {
    text-align: left;
    vertical-align: top;
    padding: 3%;
}
.min{
    font-size: 0.8rem;
}
table.mini.sec .pink{
    margin-right: 5px;
}
/* ２位以下 */
.ttl p{
    font-size: 1.8rem;
    margin-left: 10px;
    font-weight: bold;
    color: #b59c6c;
    margin-bottom: 0;
}
.ttl{
    align-items: center;
}
.ttl img.sec:first-child {
    width: 11%;
}
.inner p.casettl{
    background-color: #c76f6f;
    color: #fff;
    display: inline-block;
    margin-bottom: 0;
    padding: 0.8% 2% 0.5%;
    font-size: 1.2rem;
    border-radius: 5px 5px 0 0 ;
}
.case{
    border: 2px solid #c76f6f;
}
footer{
    padding: 3%;
    background-color: #494949;
    text-align: center;
}
footer a{
    color: #fff;
    text-decoration: underline;
}
.scroll{
    display: none;
}
h3.rank-ttl {
    padding: 0.5rem;
    text-align: center;
    font-weight: 1.2rem;
    background-color: #77ccc6;
    margin-bottom: 0;
    border: 1px solid #000;
    
    color: #fff;
    font-size: 26px;
    font-weight: bold;
}
h2.voice{
    margin-bottom: 0px;
    background: #f3f3f3;
    text-align: center;
    border: solid 5px #77ccc6;
    border-bottom: 0;
}
/* -----比較表-------------------------------------------------- */
.comparison-table a{
    text-decoration: underline;
	color: #333;
}
.comparison-table a:hover {
	text-decoration: underline;
}

.comparison-table{
    overflow-x: scroll;
	width: 100%;
	word-wrap: break-word;
    border: 1px solid #000000;
    box-sizing: border-box;
    background-color: #fff;
}

.comparison-table table{
	width: 920px;
	table-layout: fixed;
}

.comparison-table td,.comparison-table th{
	vertical-align: middle;
	line-height: 1.1;
	font-size: 15px;
}
.comparison-table td:first-of-type{
    background-color: #fbffcf;
}
.comparison-table th{
    text-align: center;
    background-color: #cbf5f2;
    border-bottom: 1px solid #b6b5b5;
    padding: 10px;
    position: absolute;
    right: auto;
    z-index: 6;
    width: 797px;
    font-size: 17px;
    font-weight: bold;
}

.comparison-table th:last-child{
	border-bottom: none;
}

.comparison-table td{
	text-align: center;
    border: 1px solid #d4d4d4;
    padding: 2% 0.5%;
    padding-top: 47px;
}
.comparison-table tr:last-child td{
    border-bottom: none;
}

.comparison-table td:last-child{
	border-right: none;
}

.comparison-table td img{
	width: 100%;
    display: block;
    border: 1px solid #ddd;
    margin-bottom: 10px;
}

/*評価の星*/
.comparison-table td .star-ratings-css {
	unicode-bidi: bidi-override;
    color: #c5c5c5;
    font-size: 15px;
    height: 18px;
    width: 80px;
    margin: 0 auto;
    position: relative;
    padding: 0;
	text-align: initial;
	word-wrap: normal;
}
.comparison-table td .star-ratings-css-top {
  color: #ffd400;
  padding: 0;
  position: absolute;
  z-index: 1;
  display: block;
  top: 0;
  left: 0;
  overflow: hidden;
}
.comparison-table td .star-ratings-css-bottom {
  padding: 0;
  display: block;
  z-index: 0;
}
.comparison-table td .min{
    font-size: 0.8rem;
}

/*◎〇▲×*/
.comparison-table td.berry::before{
	content: "◎";
	font-weight: bold;
	color: #ff3a3a;
	font-size: 250%;
}

.comparison-table td.good::before{
	content: "〇";
	color: #9de6f3;
	font-size: 250%;
}

.comparison-table td.usually::before{
	content: "△";
	font-weight: bold;
	color: #ffe20f;
	font-size: 250%;
}

.comparison-table td.not::before{
	content: "×";
	font-weight: bold;
	color: #636363;
    font-size: 250%;
}
.inner.rank-wapper{
    padding: 0;
}

/*表　SP*/
@media (max-width: 767px) {
.comparison-table{
    display: block;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}
.comparison-table table{
    width: 700px;
}

.comparison-table td{
	width: 130px;
    /*display: inline-block;*/
    white-space: normal;
	/*min-height: 150px*/	/*長い文章や改行が多い場合使用*/
}

.comparison-table th{
    padding: 10px;
    position: absolute;
    z-index: 5;
    width: 94.5%;
    font-size: 17px;
}
}

/* -----比較表-------------------------------------------------- */



/*-------- 口コミ --------*/
.comments {
    overflow: auto;
    height: 500px;
    border: 5px solid #77ccc6;
    border-top: 0;
    padding: 2%;
    margin-bottom:25px;
}
.comments.hight-a {
    overflow: inherit;
    height: auto;
}
.t_c{
    text-align: center;
}
.fsL{
    font-size: 1.3rem;
}
.icon {
    display: flex;
    margin-bottom: 0;
    align-items: center;
    margin-bottom: 10px;
}
.icon img {
    width: 50px;
    margin-right: 3%;
}
.comment_box {
    border-bottom: 1px solid #ddd;
    /*margin-top: 3%;*/
    padding: 3%;
}
.star {
    color: #ffcc00;
}
.comment_box p{
    margin-top: 0;
    font-size: 15px;
    margin-bottom: 0;
}
.comment_box {
    border-bottom: 2px #ddd dotted;
    margin-bottom: 15px;
}
.comments .comment_box:last-child{
    border: none;
    margin: 0;
}
.comments_flx {
    display: flex;
    max-width: 5000px;
    align-items: center;
    margin-bottom: 2%;
    font-size: 13.5px;
}
.comments_img {
    max-width: 50px;
    margin-right: 10px;
}
.comments_txt {
    margin: 20px 0 0;
}
.commetnts_star {
    color: #ffd000;
}
.kind{
    width: 100%;
    overflow-x: scroll;
    margin-bottom: 20px;
}
.mt20{
    margin-top: 20px;
}
table.machine{
    width: 1400px;
    margin: 0 auto;
    padding: 1%;
}
table.machine td {
    text-align: left;
    vertical-align: top;
    padding: 3%;
}
table.machine {
    border: 2px solid #77ccc6;
}
table.machine th{
    line-height: 1.2rem;
    width: 4%;
}
table.machine th,table.machine td{
    border: 1px dotted #b8abab;
    padding: 1% 1%;
    line-height: 1.3rem;
    text-align: center;
    vertical-align: middle;
}
table.machine tr td:nth-of-type(1){
    background-color: #fffce0;
}
table.machine tr th:nth-of-type(1){
    background-color: #fff9e9;
}
table.machine tr:first-child th:nth-of-type(2){
    background-color: #fff0c5;
}
table.machine tr th:nth-of-type(1),
table.machine tr:first-child th:nth-of-type(3),
table.machine tr:first-child th:nth-of-type(4),
table.machine tr:first-child th:nth-of-type(5),
table.machine tr:first-child th:nth-of-type(6){
    background-color: #f1f1f1;
}
table.machine td{
    width: 10%;
}


.attention_ttl {
    display: flex;
    align-items: center;
    line-height: 1.3;
    font-size: 15px;
    background: #ededed;
    padding: 6px 10px 5px;
}

.attention_ttl img {
    width: 30px;
    height: 100%;
    margin-right: 10px;
    margin-bottom: 0;
}

.attention_ttl p {
    margin-bottom: 0;
}
.attention {
    border: 2px solid #ededed;
    padding: 16px;
}
.attention p {
    margin-bottom: 0;
    font-size: 13px;
}
.shadow{
    filter: drop-shadow(2px 5px 5px rgba(0,0,0,0.2));
}

.grad-btn::before {
  content: "続きを読む"
}
.grad-item {
  overflow: hidden;
  height: 350px; /*隠した状態の高さ*/
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 110px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
}
.grad-trigger {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger:checked ~ .grad-btn::before {
  content: "閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger:checked ~ .grad-item {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger:checked ~ .grad-item::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
.grad-btn {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 148px;
    margin: auto;
    padding: 0.5em 0;
    border-radius: 2px;
    background: #4f565d;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
}
.grad-wrap {
margin-top:20px;
  position: relative;
}
/*画像四列に変更のため非表示
.pc_only{
    display:block;
}
.sp_only{
    display:none;
}
@media screen and (max-width: 575px) {
 .pc_only{
    display:none;
}
.sp_only{
    display:block;
}
}*/
.point{
    margin: 20px 0;
}
.point li{
    font-size: 1.1rem;
}
.point li::before{
    content: '★';
    color: #62b1ce;
    margin-right: 5px;
}
.min.mb20{
    margin-bottom: 20px;
    text-align: right;
}



.inner .tabs img{
    margin: 0;
}
.btn-label.item2over{
    background-color: #26466d;
    margin: 40px auto;
}

@media screen and (max-width: 768px) {
    .inner {
        width: 95%;
        margin: 0 auto 15px;
        padding: 3% 3% 6% 3%;
    }
    .inner.mb30{
        margin: 0 auto 30px;
    }
    .inner p {
        margin-bottom: 0px;
    }
    .inner img {
        margin: 10px 0;
    }
    #content {
        padding: 0px;
    }
    .bgp {
        margin-bottom: 32px;
    }
    .bgy {
        margin-top: 40px;
        background: #fffaf0;
        padding: 2% 0 5%;
    }
    h2 {
        margin: 20px 0 20px;
        padding: 0.7em 1rem 0.5em 1rem;
        font-size: 1.2rem;
    }
    .rank-arrow {
        width: 100%;
    }
    .ttl img:first-child {
        width: 20%;
    }
    .ttl img:nth-child(2) {
        width: 58%;
    }
    .tab_item {
        height: 40px;
        line-height: 45px;
        padding-bottom: 15px;
    }
    .btn-label p {
        font-size: 1.1rem;
        padding: 1rem 0 0.1rem;
    }
    .btn-label {
        width: 90%;
        padding: 2%;
    }
    .inner p.ctat {
        margin-top: 10px;
        margin-bottom: 0px;
    }
    .mini-rank {
        width: 100%;
        margin: 0 auto;
        padding: 3%;
        margin-bottom: 40px;
    }
    table.mini {
        margin-bottom: 0px;
    }
    .mini-rank {
        width: 100%;
        margin: 0 auto;
        padding: 3%;
        box-sizing: border-box;
        margin-bottom: 23px;
    }
    .try {
        padding: 10% 3%;
        margin-top: 40px;
    }
    .try .box h3 {
        padding-left: 0;
    }
    .try .box {
        border-radius: 10px;
    }
    h4 .circle {
        width: 1.5rem;
        height: 1.5rem;
        font-size: 0.8rem;
    }
    hr {
        margin: 25px 0;
    }
    .w100{
        width: 100%;
        overflow: hidden;
        margin-bottom: 35px;
    }
    .scrollbox{
        display: block;
        overflow-x: scroll;
        -webkit-overflow-scrolling: touch;
    }
    table.mini.sec {
        width: 705px;
    }
    table.mini.sec td {
        padding: 2%;
    }
    .voice-inner {
        margin: 10px auto 35;
    }
    .rank-arrow {
        padding: 0 0 25px 0;
    }
    figure {
        width: 13%;
    }
    .inner p.scroll{
        display: block;
        font-size: 0.8rem;
        color: #999;
        margin-bottom: 0;
    }
    .ttl img.sec:first-child {
        width: 16%;
    }
    .inner .ttl p {
        margin-bottom: 0px;
    }
    .mini-rank{
        margin-bottom: 30px;
    }
      table.machine {
        width: 1500px;
    }
    table.machine th {
        padding: 0.5%;
        width: 3%;
    }
    .check li:after{
        left: 9px;
        top:15%;
    }
    .check li {
        font-size: 1rem;
        line-height: 1.2rem;
        margin: 10px 0;
    }
    .spmin{
        font-size: 1.15rem;
    }
    .bgy h3{
        position: relative;
        padding-left: 2.5rem;
    }
    h3 .circle{
        position: absolute;
        left: 2%;
    }
    .acc_header h3{
        position: relative;

    }
    .tab_item {
        width: calc(96.5%/3);
    }
    .try .box p:nth-last-child(1){
        margin: 0;
    }
    .inner .try-cta {
        margin-top: 20px;
        margin-bottom: 40px;
        width: 95%;
    }
    p.t_c.blue.fsL {
        font-size: 1.15rem;
    }
    .inner .ttl p{
        margin-top: 10px;
    }
    .inner .ttl p.fsm{
        font-size: 1.6rem;
    }
    .bgy h3.rank-ttl{
           padding: 0.5rem;
           margin:0;
           font-size: 22px;
    }
    .check h3{
            padding: 0.5em 0 0.5em 0rem;
    font-size: 1.05rem;
}
}

/* --アンカーリンクのリスト用-- */
.anchor_list{
    padding: 3%;
    background-color: #f7f7f7;
    border-radius: 10px;
    margin: 4% 0;
}
.anchor_list ul{
    margin: 0;
}
.anchor_list li{
    line-height: 2.3;
    padding: 5px 10px 2px;
    text-align: center;
}
.anchor_list li.lik{
    line-height: 2.3;
    border-bottom: 1px dashed #ccc;
    padding: 5px 10px 2px;
    text-align: left;
    font-size: 95%;
}
.anchor_list li a:hover{
        opacity: 0.7;
    color: #7ebbd0;
}

/*アコーディオン2*/
.grad-btn2::before {
  content: "続きを読む"
}
.grad-item2 {
  overflow: hidden;
  height: 300px; /*隠した状態の高さ*/
}
.grad-item2::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 110px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
}
.grad-trigger2 {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger2:checked ~ .grad-btn2::before {
  content: "閉じる" /*チェックされていたら、文言を変更する*/
}
.grad-trigger2:checked ~ .grad-item2 {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger2:checked ~ .grad-item2::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
.grad-btn2 {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: -70px;
    left: 0;
    width: 148px;
    margin: auto;
    padding: 0.5em 0;
    border-radius: 2px;
    background: #4f565d;
    color: #fff;
    font-size: 1.3rem;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
}
.grad-wrap2 {
margin-top:20px;
margin-bottom: 15%;
  position: relative;
}
@media screen and (max-width: 768px) {
.grad-btn2 {
    bottom: 0px;
}
}
/*アコーディオン3*/
.grad-btn3::before {
  content: "開く +"
}
.grad-item3 {
  overflow: hidden;
  height: 200px; /*隠した状態の高さ*/
}
.grad-item3::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 110px; /*グラデーションで隠す高さ*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  content: "";
}
.grad-trigger3 {
  display: none; /*チェックボックスは常に非表示*/
}
.grad-trigger3:checked ~ .grad-btn3::before {
  content: "閉じる -" /*チェックされていたら、文言を変更する*/
}
.grad-trigger3:checked ~ .grad-item3 {
  height: auto; /*チェックされていたら、高さを戻す*/
}
.grad-trigger3:checked ~ .grad-item3::before {
  display: none; /*チェックされていたら、grad-itemのbeforeを非表示にする*/
}
.grad-btn3 {
    z-index: 2;
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 30%;
    margin: auto;
    padding: 0.2em 0;
    border-radius: 2px;
    background: #4f565d;
    color: #fff;
    font-size: 1rem;
    text-align: center;
    cursor: pointer;
    transition: .2s ease;
    box-shadow: 0 0 3px rgb(0 0 0 / 30%);
}
.grad-wrap3 {
margin-top:20px;
margin-bottom: 10%;
  position: relative;
}
@media screen and (max-width: 768px) {
.grad-btn3 {
    bottom: 0px;
}
}
/*表固定*/
.sut{
    padding: 10px;
    position: sticky;
    left: 0;
    z-index: 5;
    width: 97px;
}

.column {
    padding: 0 2% 1%;
}

.pr {
    font-size: 16px;
    color: #8f8f8f;
    border: 1px solid #8f8f8f;
    padding: 0 10px;
    margin: 10px 0 10px auto;
    width: 50px;
    text-align: center;
}

/* 医療ダイエットクリニック選びのポイントは？ */

.acc_header  {
    padding: 0.7em 0 0.5em 0.5rem;/*文字周りの余白*/
    background: #e3f4f3;/*背景色*/
    font-size: 1.1rem;
    line-height:  1.8rem;
    margin: 20px 0 0px;
    position: relative;
}

.acc_header h3 {
    color: #494949;/*文字色*/
    font-weight: bold;
}

.acc_header::before {
    content:"" ;
    display: block;
    width:14px;
    height:14px;
    border-top: #494949 3px solid;
    border-right: #494949 3px solid;
    transform: rotate(135deg);
    position:absolute;
    right: 8%;
    top: 0;
    bottom: 4%;
    margin: auto;
    transition: transform .3s ease-in-out, top  .3s ease-in-out;
}

.acc_header.open::before {
    top: 4%;
    transform :rotate(-45deg)
}

.marker_y {
    background: linear-gradient(transparent 60%, #ffe787 0);
}

/* コース料金 */

.courseTable {
    width: 100%;
    border: 2px solid #b8abab;
    margin: 20px 0;
}

.courseTable th {
    padding: 10px;
    text-align: center;
    border-right: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    vertical-align: middle;
}

.courseTable td {
    padding: 10px;
    text-align: left;
    border-bottom: 1px solid #ddd;
}

@media screen and (max-width: 768px) {
    .courseTable th {
        width: 35%;
    }
    .acc_header::before {
        content:"" ;
        display: block;
        width:14px;
        height:14px;
        border-top: #494949 3px solid;
        border-right: #494949 3px solid;
        transform: rotate(135deg);
        position:absolute;
        right: 6%;
        top: 0;
        bottom: 18%;
        margin: auto;
        transition: transform .3s ease-in-out, top  .3s ease-in-out;
    }

    .acc_header.open::before {
        top: 18%;
    }
}

.campaign_content {
    margin-top: 10px;
}

.campaign_content a img {
    margin-bottom: 8px;
}



/*上*/
/* .custom-shape-divider-top-1699891669 { */
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}

.custom-shape-divider-top-1699891669 svg {
    position: relative;
    display: block;
    width: calc(138% + 1.3px);
    height: 110px;
}

.custom-shape-divider-top-1699891669 .shape-fill {
    fill: #ffffff;
}

/*下*/
.custom-shape-divider-bottom-1699891754 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}

.custom-shape-divider-bottom-1699891754 svg {
    position: relative;
    display: block;
    width: calc(138% + 1.3px);
    height: 110px;
}

.custom-shape-divider-bottom-1699891754 .shape-fill {
    fill: #fff;
}
.rank_inner {
    width: 800px;
    margin: 0 auto;
    margin-bottom: 40px;
    box-sizing: border-box;
}
.rank_illust_abs {
    position: absolute;
    bottom: 2.5%;
    right: 10%;
    width: 19%;
}
.bgy_b {
    padding: 5px 0 0;
    /* text-align: right; */
    /* margin-right: 20%; */
}

.tab-buttons {
    display: flex;
    list-style: none;
    padding: 0;
    margin-bottom: 0px;
    border-bottom: 2px solid #ccc;
    background-color: #fffaf0
  }
  .tab-buttons li {
    padding: 10px 83px;
    cursor: pointer;
    background: #f2f2f2;
    border: 1px solid #ccc;
    border-bottom: none;
    
    border-radius: 10px 10px 0 0 ;
  }
  .tab-buttons li.active {
    background: #77ccc6;
    font-weight: bold;
    color: white;
  }
  .tab-content {
    display: none;
  }
  .tab-content.active {
    display: block;
  }

  @media screen and (max-width: 768px){
    .tab-buttons li {
        padding: 10px 27px;
    }
  }
  


/* ------------院紹介表------------- */
table.mini.sec.gray_table td {
    text-align: center;
    vertical-align: middle;
    padding: 1%;
    font-size: 15px;
}

.star_rank_wrap{
    unicode-bidi: bidi-override;
    color: #c5c5c5;
    font-size: 15px;
    height: 18px;
    width: 80px;
    margin: 0 auto;
    position: relative;
    padding: 0;
    text-align: initial;
    word-wrap: normal;
}
.star_rank_top{
    color: #ffd400;
    padding: 0;
    position: absolute;
    z-index: 1;
    display: block;
    top: 0;
    left: 0;
    overflow: hidden;
}
.star_rank_bottom{
    padding: 0;
    display: block;
}
.ex{
    font-size: 35px;
    color: red;
}
.go{
    font-size: 35px;
    color: #9de6f3;
}
.soso{
    font-size: 35px;
    color: #ffe20f;
}

@media screen and (max-width: 768px) {
    .ex{
        font-size: 30px;
        color: red;
    }
    .go{
        font-size: 30px;
        color: #9de6f3;
    }
    .soso{
        font-size: 30px;
        color: #ffe20f;
    }
    table.mini.sec.gray_table th {
        font-size: 16px;
    }
    table.mini.sec.gray_table td {
        font-size: 14px;
    }
}




@media screen and (max-width: 768px) {
.custom-shape-divider-top-1699891669 svg {
    height: 40px;
}
.custom-shape-divider-bottom-1699891754 svg {
    height: 40px;
}
.rank_inner {
    width: 95%;
    margin: 0 auto;
    margin-bottom: 40px;
}
.bgy img {
    width: 100%;
}
.rank_illust_abs {
    position: absolute;
    bottom: 2%;
    right: 5%;
    width: 49%!important;
}
.rank_inner {
    width: 95%!important;
}
.bgy_b {
    text-align: left;
    padding-right: 0%;
    margin-right: 0;
}
.pr {
    font-size: 13px;
    margin: 0px 0 7px auto;
    width: 40px;
}
}

.column_ttl {
  background: #e8fffd;
  border-bottom: 2px solid #77ccc6;
  border-top: 2px solid #77ccc6;
  padding: 1%
  }

.kind_slider .slick-prev, .kind_slider .slick-next {
    z-index: 5;
}
.kind_slider .slick-prev {
    left: -45px;
}

.kind_slider .slick-prev:before, .kind_slider .slick-next:before {

    font-size: 52px;
  }
  .slick-next {
    right: 9px!important;
}
.kind_slider .slick-prev {
    left: -24px;
}
  .slick-next:before {
    background: url(../img/arrow_r.png)!important;
    background-size: contain!important;
    background-repeat: no-repeat;
    opacity: 1!important;
}
.slick-prev:before {
    background: url(../img/arrow_l.png)!important;
    background-size: contain!important;
    background-repeat: no-repeat;
    opacity: 1!important;
}
.slick-prev:before, .slick-next:before {
    color: transparent!important;
}
@media screen and (max-width: 768px) {
    .kind_slider .slick-prev:before, .kind_slider .slick-next:before {
        font-size: 24px;
    }
    .kind_slider .slick-prev, .kind_slider .slick-next {
        width: 24px;
        height: 24px;
    }
    .kind_slider .slick-next {
        right: -2px!important;
    }
    .kind_slider .slick-prev {
        left: -5px!important;
    }
}


.accordion-003 {
	margin: 3% auto;
    margin-bottom: 7px;
}

.accordion-003 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
	background-color: #77ccc6;
	border-radius: 5px;
}

.accordion-003 summary::-webkit-details-marker {
    display: none;
}

.accordion-003 summary::before,
.accordion-003 summary::after {
    width: 3px;
    height: .9em;
    border-radius: 5px;
    background-color: #fff;
    content: '';
}

.accordion-003 summary::before {
    position: absolute;
    right: 2.05em;
    rotate: 90deg;
}

.accordion-003 summary::after {
    transition: rotate .3s;
}
.accordion-003 summary span {
	font-size: 20px;
    margin: auto;
}

.accordion-003[open] summary::after {
    rotate: 90deg;
}

.accordion-003 p {
    transform: translateY(-10px);
    /* opacity: 0; */
    margin: 0;
	margin-bottom: 0!important;
    padding: .3em 2em;
    color: #817117;
    transition: transform .5s, opacity .5s;
}

.accordion-003[open]>div {
	padding: 10px 0;
	border: 4px solid #77ccc6;
	border-radius: 0 0 5px 5px;
	/* background-color: aliceblue; */
}

.accordion-003[open] p {
    transform: none;
    opacity: 1;
}
.accordion-003[open] p a {
	color: #000;
}
.accordion-003[open] summary {
	border-radius: 5px 5px 0 0;
}

@media only screen and (max-width: 800px){
	.accordion-003 p {
		padding: 0.3em 0.0em 0.3em 0.8em;
		font-size: 15px;
	}
	.accordion-003 summary {
		padding: 0.5em 2em;
	}
}

h4 {
    border-bottom: 2px solid #77ccc6;
    border-left: 10px solid #77ccc6;
    padding: 5px 0 12px 20px;
    margin: 30px 0 20px;
    font-size: 20px;
    color: #77ccc6;
    font-weight: bold;
    line-height: 1.3;
}
.mini_table2 {
    margin: 20px auto;
    border: 2px solid #cfcfcf;
    width: 100%;
    background: #fff;
}
table.mini_table2 th {
    border: 1px dotted #cfcfcf;
    padding: 2% 1%;
    text-align: center;
    vertical-align: middle;
    width: 20%;
    line-height: 1.5;
    border: 1px dotted #fff;
    line-height: 1.2rem;
    font-weight: bold;
    background-color: #77ccc6;
    color: #fff;
}
table.mini_table2 td {
    font-size: 14px;
    border: 1px dotted #cfcfcf;
    padding: 2% 1%;
    text-align: left;
    width: 30%;
    line-height: 1.5;
}



.read-more-3 {
    position: relative;
}
.read-more-3>div {
    position: relative;
    max-height: 100px; /* 開く前に見せたい高さを指定 */
    margin-bottom: 10px;
    overflow: hidden;
}
.read-more-3:has(:checked) div {
    max-height: 100vh;
}
.read-more-3>div::after {
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 60px;
    background: linear-gradient(180deg, hsla(0, 0%, 100%, 0) 0, hsla(0, 0%, 100%, .9) 50%, hsla(0, 0%, 100%, .9) 0, #fff);
    content: '';
}
.read-more-3:has(:checked) >div::after {
    content: none;
}
.read-more-3 label {
    display: flex;
    align-items: center;
    gap: 0 4px;
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%);
    padding: .4em 1.2em;
    border-radius: 25px;
    background-color: #77ccc6;
    color: #fff;
    font-size: .7em;
}
.read-more-3 label:hover {
    border:1px solid #77ccc6;
    background-color: #fff;
    color: #77ccc6;
    cursor: pointer;
}
.read-more-3:has(:checked) label {
    display: none;
}
.read-more-3 label::after {
    display: inline-block;
    width: 10px;
    height: 5px;
    background-color: #fff;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
}
.read-more-3 label:hover::after{
    background-color: #77ccc6;
}
.read-more-3 input {
    display: none;
}

.fv p {
    top: 5.5%;
    left: 15%;
    font-size: 2.0rem;
}
@media screen and (max-width: 768px) {
    .fv p {
        top: 0.5%;
        left: 12%;
        font-size: 1.0rem;
    }
}

.accordion-004 {
    max-width: 500px;
    margin-bottom: 7px;
}

.accordion-004 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    color: #77ccc6;
    font-weight: 600;
    cursor: pointer;
}

.accordion-004 summary::-webkit-details-marker {
    display: none;
}

.accordion-004 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #333333b3;
    border-right: 3px solid #333333b3;
    content: '';
    transition: transform .3s;
}

.accordion-004[open] summary::after {
    transform: rotate(225deg);
}
.accordion-004[open] summary {
    padding-bottom: 3%;
}

.accordion-004 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-004[open] p {
    transform: none;
    opacity: 1;
    border-top: 1px solid #979797;
    padding-top: 3%;
}

.shop {
    width: 100%;
    margin: 5% auto 3%;
}
.shop th {
    color: #fff;
    background-color: #77ccc6;
}
.shop tr {
    border: 1px solid #77ccc6;
}
.shop th, .shop td {
    padding: 0.5em 1em;
}

@media screen and (min-width: 768px) {
    .shoplist {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin: -20px auto 10px;
    }
    .shoplist div {
        width: 49%;
    }
    }

.table_txt .space {
    float: right;
    height: 3.5em;
}

.table_txt img {
    position: relative;
    float: right;
    clear: both;
}

@media screen and (max-width: 767px) {
.table_txt .space {
        height: 5.5em;
}
}

.column_list {
    padding: 2%;
    background-color : #fff9e9;
	background-image:
    repeating-linear-gradient(0deg, rgb(245 239 221) 0px 1px, transparent 1px 20px), repeating-linear-gradient(90deg, rgb(245 239 221) 0px 1px, transparent 1px 20px);
}


.bb {
    background-color: #edffff;
    border: 3px solid #edffff;
    font-weight: bold;
}
.map_cta{
    background-color: #65c249;
    color: #fff;
    font-weight: bold;
    text-align: center;
    padding: 2%;
    width: 100%;
    margin: 0 auto;
    border-radius: 50px;
    font-size: 20px;
    margin-top: 5%;
    margin-bottom: 6%;
    display: block;
}

/*250313追加*/
.heading-12 {
    position: relative;
    width: 84%;
    margin: 0 auto 6%;
    padding: .7em .7em;
    background-color: #77ccc6;
    color: #fff;
    text-align: center;
    line-height: 1.2;
    border-left: none;
}

.heading-12::before,
.heading-12::after {
    position: absolute;
    bottom: -10px;
    z-index: -1;
    border-style: solid;
    border-color: #62b1ab;
    content: '';
}

.heading-12::before {
    left: -30px;
    border-width: 25px 25px 25px 15px;
    border-left-color: transparent;
}

.heading-12::after {
    right: -30px;
    border-width: 25px 15px 25px 25px;
    border-right-color: transparent;
}

.heading-12 span::before,
.heading-12 span::after {
    position: absolute;
    bottom: -10px;
    width: 10px;
    height: 10px;
    background-color: #437e7a;
    content: '';
}

.heading-12 span::before {
    left: 0;
    clip-path: polygon(0 0, 100% 0%, 100% 100%);
}

.heading-12 span::after {
    right: 0;
    clip-path: polygon(0 0, 100% 0%, 0% 100%);
}


.first3 {
    display: flex;
    justify-content: space-between;
}

.first3 .box {
    border: 2px solid;
    border-radius: 10px;
    width: 32.5%;
    text-align: center;
    padding: 10px 5px;
}

.first3 .box p {
    margin: 0;
    line-height: 1.2;
    letter-spacing: -0.8px;
}

.first3 .box p:nth-of-type(2) {
    font-weight: bold;
    margin-top: 4px;
}

.first3 .box a {
    background-color: #f28ba2;
    color: #fff;
    border-radius: 999px;
    padding: 3px 6px;
    margin: 10px auto;
    display: block;
}

.first3 .box:nth-of-type(1) {
    border-color: #c2a86d;
    background-color: #fff9ea;
}

.first3 .box:nth-of-type(1) p:nth-of-type(1) {
    color: #c2a86d;
}

.first3 .box:nth-of-type(2) {
    border-color: #94989d;
    background-color: #f6f7ff;
}

.first3 .box:nth-of-type(2) p:nth-of-type(1) {
    color: #a2a2a2;
}

.first3 .box:nth-of-type(3) {
    border-color: #a97d62;
    background-color: #ffefef;
}

.first3 .box:nth-of-type(3) p:nth-of-type(1) {
    color: #997158;
}

@media (min-width: 769px) {
    .heading-12 {
        width: 92%;
        margin: 0 auto 4%;
        padding: .4em .7em;
        font-size: 1.6rem;
        font-weight: bold;
    }
    .first3 .box img {
        margin: 10px auto;
    }
}
.first3_inner {

}

.t_btn {
    display: block;
    width: 95%;
    background: #1db707;
    padding: 7px 6px;
    border-radius: 5px;
    margin-bottom: 10px;
    box-shadow: 0px 7px 0px 0 #078818;
    font-weight: bold;
}
