@charset "UTF-8";

/* ▼▼▼ トップ
======================================================*/
/* ▼ mainVisual
----------------------------------------*/
#mainVisual{
	/*background: linear-gradient(180deg, #0a315f 0%, #FFF 100%);*/
}

/* ▼ pickup
----------------------------------------*/
#pickup{
	background: #EEF8FF;
	border: 2px solid #295698;
	border-radius: 10px;
	margin-top: 3%;
	padding: 3% 5% 5%;
	margin-bottom: 5%;
	}
	#pickup h2{
		max-width: 300px;
		background: #295698;
		border-radius: 20px;
		padding: 0 0 5px;
		margin: -6% auto 3%;
		color: #fff;
		font-size: 20px;
		text-align: center;
		position: relative;
	}
	#pickup h2::after {
		content: "";
		display: block;
		width: 0;
		height: 0;
		border-style: solid;
		border-right: 10px solid transparent;
		border-left: 10px solid transparent;
		border-top: 10px solid #295698;
		border-bottom: 0;
		position: absolute;
		margin: auto;
		right: 0;
		left: 0;
		bottom: -9px;
	}
	#pickup h2 span{
		font-size: 26px;
	}
	#pickup p{
		font-size: 16px;
		text-align: center;
	}
    #pickup ol p {
        text-align: left;
    }
    #pickup a{
      color: #295698;
			font-size: 20px!important;
      text-decoration: underline;
      font-weight: bold;
    }

    /* 2024/04/25 一時的な対応 ここから */
    /* ※SP版にも記述あり */
    /* #pickup p{
        font-size: 20px;
    }
    #pickup img:nth-child(1) {
        width: 35%;
        margin-top: 20px;
        margin-right: 5%;
    }
    #pickup img:nth-child(2) {
        width: 60%;
    } */
		#pickup .flex_box .pickup_img{
			max-width: 230px;
			margin-right: 24px;
		}
		#pickup .flex_box .pickup_txt{
			width: calc(100% - 254px);
		}
		#pickup .flex_box .pickup_txt li{
			font-size: 20px;
			font-weight: bold;
			padding-bottom: 5px;
			margin-bottom: 5px;
			border-bottom: 1px dashed #C1C1C1;
		}
    /* ▲ 2024/04/25 一時的な対応 ここまで */


.last_update p{
    text-align: right;
    padding-right: 10px;
}
/* ▼ point
----------------------------------------*/
#point{
	background: #E0FFE3;
	padding: 3%;
	margin-bottom: 5%;
	}
	#point h2{
		color: #63513B;
		font-size: 28px;
		text-align: center;
		position: relative;
	}
	#point h2::after,
	#point h2::before{
		content: "";
		display: block;
		width: 100px;
		height: 27px;
		background: url(../img/point_title_bg.png)center center / cover no-repeat;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#point h2::before{
		left: 0;
	}
	#point h2::after{
		right: 0;
	}
	#point h3{
		background: rgb(99,81,59);
		background: linear-gradient(100deg, #0a315f 0%, #0a315f 100%);
		padding: 10px 20px;
		margin:25px auto 10px;
		font-size: 18px;
		color: #fff;
	}

/* ▼ voice
----------------------------------------*/
#voice{
	background: #0a315f;
	border-radius: 10px;
	padding: 20px;
	margin-bottom: 7%;
	}
	#voice span{
		color: #F3C11C;
	}
	#voice .sub_title{
		padding: 4% 7% 4% 4%;
		background: url(../img/voice_title_bg_pc.png)no-repeat center/contain;
		margin-bottom: 10px;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		text-align: center;
	}
	#voice h2{
		display: table;
		background:
        	-webkit-linear-gradient(45deg,  transparent 8px, #000 8px),
	        -webkit-linear-gradient(135deg, transparent 8px, #000 8px),
        	-webkit-linear-gradient(225deg, transparent 8px, #000 8px),
	        -webkit-linear-gradient(315deg, transparent 8px, #000 8px);
		background:
        	-moz-linear-gradient(45deg,  transparent 8px, #000 8px),
	        -moz-linear-gradient(135deg, transparent 8px, #000 8px),
        	-moz-linear-gradient(225deg, transparent 8px, #000 8px),
	        -moz-linear-gradient(315deg, transparent 8px, #000 8px);
		background:
        	-o-linear-gradient(45deg,  transparent 8px, #000 8px),
	        -o-linear-gradient(135deg, transparent 8px, #000 8px),
        	-o-linear-gradient(225deg, transparent 8px, #000 8px),
	        -o-linear-gradient(315deg, transparent 8px, #000 8px);
		background:
        	-ms-linear-gradient(45deg,  transparent 8px, #000 8px),
	        -ms-linear-gradient(135deg, transparent 8px, #000 8px),
        	-ms-linear-gradient(225deg, transparent 8px, #000 8px),
	        -ms-linear-gradient(315deg, transparent 8px, #000 8px);
		background-position: bottom left, bottom right, top right, top left;
		background-size: 52% 52%;
		background-repeat: no-repeat;
		padding: 5px 4%;
		margin: 0 auto 30px;
		color: #fff;
		font-size: 28px;
		text-align: center;
		position: relative;
	}
	#voice .voice_rank li{
		display: flex;
		justify-content: flex-end;
		align-items: center;
		background: #fff;
		padding: 20px;
		margin-bottom: 20px;
	}
	#voice ul.voice_rank li:last-child{
		margin-bottom: 0;
	}
	#voice .voice_rank li > div{
		width: calc(100% - 75px);
		padding: 0 5%;
		position: relative;
	}
	#voice .voice_rank li > div::before{
		content: "";
		display: block;
		width: 70px;
		height: 70px;
		margin:  0 auto;
		position: absolute;
		top: 0;
		left: -60px;
		bottom: 0;
	}
	#voice .voice_rank li:nth-child(1) > div::before{
		background: url(../img/voice_icon01.png)no-repeat center/cover;
	}
	#voice .voice_rank li:nth-child(2) > div::before{
		background: url(../img/voice_icon02.png)no-repeat center/cover;
	}
	#voice .voice_rank li:nth-child(3) > div::before{
		background: url(../img/voice_icon03.png)no-repeat center/cover;
	}
	#voice ul.voice_rank li h3{
		color: #295698;
		font-size: 20px;
	}
    #voice ul.voice_rank li h3 a{
        text-decoration: underline;
        text-decoration-color: #295698;
    }

    #voice ul.voice_rank table{
		width: 100%;
		margin-top: 25px;
	}
	#voice ul.voice_rank table th,
	#voice ul.voice_rank table td{
		width: 33.33%;
		border:2px solid #fff;
		text-align: center;
	}
	#voice ul.voice_rank table th{
		background: #0a315f;
		color: #fff;
	}
	#voice ul.voice_rank table td{
		padding: 12px;
		background: #F4EDE5;
        line-height: 1em;
	}
	#voice ul.voice_rank table td img{
        margin: auto;
		width: 33px;
        display: block;
        padding-bottom: 4px;
	}


 	#voice ul.voice_rank li .btn a{
		width: 136px;
		height: 56px;
	}

/* ▼ rank_box
----------------------------------------*/
.rank_list{
	margin-top: 32px;
	}
	.rank_list .rank_container {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 40px;
		position: relative;
		border: 2px solid #0a315f;
		border-radius: 10px;
	}
	.rank_list .card_wrap {
		padding: 0px 8px;
	}
	.rank_list li{
		background: #ededeb;
		/*border-top: 6px solid #0a315f;*/
		padding-bottom: 20px;
		position: relative;
	}
	.rank_list li{
		margin-bottom: 50px;
	}
	.rank_list li:last-child{
		margin-bottom: 0;
		padding-bottom: 0;
	}
	.rank_list .rank_container a {
		display: block;
		color: #fff;
	}
	.rank_list .rank_container h2 a {
		padding: 0 8px;
		text-align:left;
	}
	
	.merchant_main_img {
		margin: 0 0 32px;
	}
	.rank_list .merchant_title {
			margin: 16px 0;
			color: #3b4045;
			font-size: 18px;
			font-weight: 600;
			position: relative;
			padding: 0px 0 0px 15px;
			border-left: 6px solid #0a315f;
		}
	@media screen and (max-width: 768px) {
		.rank_list .merchant_title {
			font-size: 16px;
		}
	}
	/*
	.rank_list li::before{
		content: "";
		display: block;
		width: 95px;
		height: 116px;
		position: absolute;
		top: -20px;
		left: 15px;
	}
	*/
	/*
	.rank_list li.rank01::before{
		background: url(../../../../img/rank01_icon.png)no-repeat center/cover;
	}
	.rank_list li.rank02::before{
		background: url(../../../../img/rank02_icon.png)no-repeat center/cover;
	}
	.rank_list li.rank03::before{
		background: url(../../../../img/rank03_icon.png)no-repeat center/cover;
	}
	*/
	.rank_list h2{
		font-size: 26px;
		text-align: center;
		padding: 8px 0;
		background-color: #0a315f;
		border-top-right-radius: 6px;
		border-top-left-radius: 6px;
	}
	.rank_list .container h2 span{
		padding: 0 15px 5px;
		/* background:linear-gradient(transparent 60%, #FFEF87 60%); */
        position: relative;
        color: #fff;
	}
	/*
    .arrow::after{
        position: absolute;
        top: 4px;
        bottom: 0;
        right: 0;
        margin: auto;
        content: "";
        vertical-align: middle;
        width: 0.4em;  
        height: 0.4em;  
        border-top: 2px solid #808080; 
        border-right: 2px solid #808080;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
      }
*/
	.rank_list .recommendation{
		background: #fff;
		/*padding: 20px;*/
		margin-bottom: 7%;
	}
	.rank_list .recommendation h3{
		background: #e67300;
		padding: 4px 15px;
		color: #fff;
		font-size: 20px;
		font-weight:bold;
		text-align: center;
	}
	.recommendation > div{
		padding: 4px 0 4px 24px;
		position: relative;
		font-size: 16px;
	}
	.recommendation > div:before,
	.recommendation > div:after{
		content:"";
		display:block;
		position:absolute;
	}
	.recommendation > div:after{
		border-left:2px solid #ff0000;
	border-bottom:2px solid #ff0000;
	width:12px;
	height:6px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	left:5px;
	top:16px;
}
	.recommendation > div:not(:last-child){
		/*border-bottom:2px dotted #0a315f;*/
	}
	.recommendation > div:last-child{
		margin-bottom: 0;
	}
	
	.recommendation > div p{
		font-weight: bold;
	}
	/*
	.recommendation > div p:first-child{
		margin-bottom: 10px;
		color: #723B26;
		font-size: 20px;
		font-weight: bold;
	}
	*/
	
		.feature {
			margin-top: 32px;
		margin-bottom: 7%;
		background: #fff;
	}
	
	.feature h3 {
		background: #0a315f;
		padding: 4px 15px;
		color: #fff;
		font-size: 20px;
		font-weight: bold;
		text-align: center;
	}
	
	.feature > p {
		padding: 0 12px 12px;
	}

    /* ▼ 2024/04/25 一時的な対応 ここから */
    /* ※SP版にも記述あり */
    .recommendation img {
        width: 50%;
    }
		.recommendation > div p img{
			margin-top: 15px;
		}
    /* ▲ 2024/04/25 一時的な対応 ここまで */

    /* ▼ 2024/04/25 一時的な対応 ボタン光る ここから */
    /* .rank_list .btn a{
        position: relative;
        overflow: hidden;
    }
    .rank_list .btn a::before {
        position: absolute;
        content: '';
        display: inline-block;
        top: -180px;
        left: 0;
        width: 30px;
        height: 100%;
        background-color: #fff;
        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: 0.5; }
        81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
        100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
    } */
		.rank_list .btn a{
			overflow: hidden;
		}
		.lp_mainSchool .btn a::before ,
		.rank_list .btn a::before {
			animation: 4s 0s shine linear infinite;
			background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.4) 100%);
			content: '';
			height: 100%;
			left: -100%;
			position: absolute;
			top: 0;
			transform: skewX(-25deg);
			width: 50%;
		}
		@keyframes shine {
			20% {
				left: 150%;
			}
			100% {
				left: 150%;
		}
	}
    /* ▲ 2024/04/25 一時的な対応 ボタン光る ここまで */


	.rank_list .btn{
		margin-bottom: 7%;
		text-align: center;
	}
	.rank_list .btn a::after{
		content: "";
		display: block;
		width: 30px;
		height: 30px;
		background: url(https://api.iconify.design/ic:round-open-in-new.svg?color=white)no-repeat center/contain;
		margin: auto;
		right: 15px;
		position: absolute;
		top: 50%;
		right: 25px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	@media screen and (max-width: 768px) {
		.lp_mainSchool .btn a::after ,
		.rank_list .btn a::after{
			width: 20px;
			height: 20px;
			right: 16px;
		}
	}
	.rank_list table{
		width: 100%;
		margin-bottom: 30px;
	}
	.rank_list table th,
	.rank_list table td{
		width: 33.33%;
		border:2px solid #ededeb;
		text-align: center;
	}
	.rank_list table th{
		background: #0a315f;
		color: #fff;
	}
	.rank_list table td{
		padding: 7px;
		background: #fff;
	}
	.rank_list table td img{
        margin: auto;
		width: 33px;
        display: block;
		background: #fff;
	}
/* reviews*/
.reviews .slider{
	/* max-width: 500px; */
	margin: 0 auto 40px;
	}
    .slick-slide{

        background: #fff;
    }
	.slider_box{
		padding: 25px;
        background: #fff;
        margin-bottom: 10px;
	}
    .slider_box.review_more{
        cursor: pointer;
        width: 50%;
        margin: 0 auto;
        padding: 10px;
    }
    .slider_box.review_more p{
        text-align: center;
    }
    .review_hide {
        display: none;
    }
	.slider_box .flex_box{
		display: flex!important;
		align-items: center;
		margin-bottom: 10px;
	}
	.slider_box div .txt{
		padding-left: 20px;
	}
	.slider_box div .txt h4{
		font-size: 18px;
	}
	.slider_box div .txt .star{
		color: #F3C11C;
		font-size: 30px;
		line-height: 1.4;
	}
	.slider_box div .txt span.star_score{
		color: #000;
        margin-left: 10px;
    }
    .slick-track {
        display: flex;
    }
    .slick-slide {
    height: auto !important;
    }

	/* arrowsカスタム */
	.slider_box .slick-prev,
	.slider_box .slick-next{
		width: 20px;
		height: 35px;
		top: 50%;
		}
		.slick-prev{
			left: -55px;
		}
		.slick-next{
			right: -55px;
		}
		.slick-next:before{
			content: url(../img/slide_arrow_next.png)!important;
		}
		.slick-prev:before{
			content: url(../img/slide_arrow_prev.png)!important;
		}
		.slick-prev:before, .slick-next:before{
			opacity: 1;
		}

    .reviews .google_review{
        margin: 0 auto 40px;
    }

    .google_review .lede {
        align-items: center; /* 横線を上下中央 */
        display: flex; /* 文字と横線を横並び */
        justify-content: center; /* 文字を中央寄せ */
        color: #E6290F;
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 4px;
    }
    .google_review .lede::before,
    .google_review .lede::after {
        background-color: #E6290F; /* 横線の色 */
        content: "";
        height: 2px;
        width: 31px;
    }
    .google_review .lede::before {
        margin-right: 5px;
        transform: rotate(70deg);
    }
    .google_review .lede::after {
        margin-left: 5px;
        transform: rotate(-70deg);
    }

    .google_review_image_box{
        margin: auto;
        max-width: 500px;
    }
    .google_review img{
        /* margin: auto; */
        width: 100%;
        /* display: block; */
    }

    .google_review .caption{
        font-size:10px;
        text-align: right;
    }

/* comment*/
.comment{
	margin-bottom: 60px;
}
/* campaign*/
.campaign{
	background: #FFF9D5;
	border: 4px solid #F3C429;
	}
	.campaign h3{
		width: 100%;
		text-align: center;
	}
	.campaign div.mb20 p{
        max-width: 500px;
        margin: auto;
		text-align: center;
		font-size: 20px;
	}

/* ▼ search
----------------------------------------*/
	.search {
		margin: 24px 0 0;
	}
	#search{
	border: 3px solid #0a315f;
	border-radius: 10px;
	padding: 3px;
	margin-top: 32px;
	}
	.search #search{
	position: relative;
	margin-top: 0px;
	padding-top: 16px;
	}
	.search #search.accordion_style {
		border: 0;
	}
	.search #search.accordion_style:has(h2.active){
		border: 3px solid #0a315f;
	}
	#search form .search_body {
		margin: auto;
	}
	#search > div{
		padding: 2% 4%;
	}
	#search h2{
		min-width: 360px;
		margin-top: -18px;
		padding: 8px 0 10px;
		background: #0a315f;
		color: #fff;
		font-size: 18px;
		text-align: center;
		position: relative;
		line-height: 1;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
	}

	#search .check_list{
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 20px;
	}
	#search .check_list li{
		width: 50%;
		margin: 2% 0 0;
	}
    #search .check_list li.select {
        width: 50%;
		margin-top: 0;
    }
    #search select {
            width: 95%;
            border: 3px solid #ccc !important;
            border-radius: 5px;
            padding: 4px 35px 4px 10px;
            color: #333;
            font-size: 15px;
            -webkit-appearance: none;
            appearance: none;
            outline: none;
    }
/* チェックボックス */
input[type=checkbox]{
	display: none;
	}
	.checkbox01-parts{
		position:relative;
		border-radius: 5px;
		cursor: pointer;
	}
	.checkbox01-parts::before{
		content: "";
		display: inline-block;
		margin-right: 10px;
		width: 17px;
		height: 17px;
		border: 3px solid #ccc;
		border-radius: 5px;
		vertical-align: middle;
	}
	input[type=checkbox]:checked + .checkbox01-parts::after{
		content: "";
		display: inline-block;
		position: absolute;
		top: 23%;
		left: 7%;
		width: 5px;
		height: 11px;
		transform: rotate(40deg);
		border-bottom: 2px solid #E6290F;
		border-right: 2px solid #E6290F;
	}
/* ボタン */
#search .btn a{
	max-width: 375px;
	background: #F3C11C;
	box-shadow: 0 4px 0 #E1B218;
	color: #333;
	}
	#search .btn a::before{
		content: "";
		display: block;
		width: 30px;
		height: 33px;
		background: url(../img/icon_search.png)no-repeat center/cover;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 30px;
	}



/* ▼▼▼ 検索結果
------------------------------------------------------*/
.search_results{
	display: flex;
	justify-content: space-between;
	background: #F7F7F7;
	padding: 25px;
	margin-bottom: 30px;
	}
	.search_results_txt{
		margin-bottom: 10px;
		color: #295698;
		font-size: 18px;
		font-weight: bold;
	}
	.search_results_txt::before{
		content: "検索結果：";
	}
	.search_results_txt::after{
		content: "件";
	}
	.search_conditions_txt::before{
		content: "検索条件：";
	}
	.search_results > div{
		width: calc(100% - 220px);
	}
	.search_results p.btn{
		display: flex;
		justify-content: center;
		align-items: center;
		background: #F3C11C;
		box-shadow: 0 4px 0 #E1B218;
		border-radius: 5px;
		width: 200px;
		height: 60px;
		margin-left: 20px;
		padding: 15px 15px 15px 55px;
		color: #333;
		font-size: 18px;
		line-height: 1.4;
		font-weight: bold;
		position: relative;
	}
	.search_results p.btn:hover{
		cursor: pointer;
	}
	.search_results p.btn::before{
		content: "";
		display: block;
		width: 30px;
		height: 33px;
		background: url(../img/icon_search.png) no-repeat center / cover;
		margin: auto;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 15px;
	}
	.sort{
		display: flex;
		justify-content: flex-end;
		align-items: center;
		margin-bottom: 25px;
		position: relative;
	}
	.sort select{
		width: 100%;
		max-width: 225px;
		border: 3px solid #ccc!important;
		border-radius: 5px;
		padding: 10px 35px 10px 10px;
		color: #333;
		font-size: 16px;
		-webkit-appearance: none;
		 appearance: none;
		 outline: none;
	}
	.sort::after {
		content: "";
		width: 12px;
		height: 6px;
		background: url(../img/sort_arrow.png)no-repeat center/cover;
		position: absolute;
		top: 50%;
		right: 15px;
		transform: translateY(-50%);
		pointer-events: none;
	}
	.sort::before{
		content: "並び替え：";
		margin-right: 5px;
	}
	#search_results #search{
		display: none;
		margin-bottom: 50px;
	}

/* ▼▼▼ 480px〜768px
======================================================*/
@media screen and (max-width: 768px) {
	/* ▼ mainVisual
	----------------------------------------*/
	#mainVisual .container{
		padding: 0;
	}

	/* ▼ pickup
	----------------------------------------*/
	#pickup{
		padding: 2% 20px 20px;
		margin-bottom: 5%;
		}
		#pickup h2{
			max-width: 260px;
			margin: -9% auto 3%;
		}
		#pickup h2::after {
			content: "";
			display: block;
			width: 0;
			height: 0;
			border-style: solid;
			border-right: 10px solid transparent;
			border-left: 10px solid transparent;
			border-top: 10px solid #295698;
			border-bottom: 0;
			position: absolute;
			margin: auto;
			right: 0;
			left: 0;
			bottom: -9px;
		}
		#pickup h2 span{
			font-size: 26px;
		}
		#pickup p{
			text-align: center;
		}

        /* ▼ 2024/04/25 一時的な対応 ここから */
        /* #pickup img:nth-child(1) {
            width: 100%;
            margin-right: 0%;
            margin-bottom: 5%;
        }
        #pickup img:nth-child(2) {
            width: 100%;
            margin-bottom: 5%;
        } */
        /* ▲ 2024/04/25 一時的な対応 ここまで */

		#pickup .flex_box .pickup_img{
			max-width: 100%;
			margin: 0 auto 20px;
		}
		#pickup .flex_box .pickup_txt{
			width: 100%;
		}
		#pickup .flex_box .pickup_txt li{
			font-size: 16px;
		}

	/* ▼ point
	----------------------------------------*/
	#point{
		padding: 20px 0 20px;
		position: relative;
		}

		#point h2{
			font-size: 24px;
		}
		#point h2::after,
		#point h2::before{
			display: none;
			width: ;
			height: 27px;
			background: url(../img/point_title_bg.png)center center / cover no-repeat;
			position: absolute;
			top: 0;
			bottom: 0;
			margin: auto;
		}
		#point h2::before{
			left: 0;
		}
		#point h2::after{
			right: 0;
		}
		#point h3{
			padding: 15px;
		}

	/* ▼ voice
	----------------------------------------*/
	#voice{
		padding: 15px;
		}
		#voice .sub_title{
		background: none;
		padding: 0;
		}
		#voice h2{
			padding: 10px 4%;
			margin-bottom: 15px;
			font-size: 18px;
			line-height: 1.3;
		}
		#voice .voice_rank li{
			display: block;
			padding: 20px 15px;
			margin-bottom: 15px;
			line-height: 1.5;
			position: relative;
		}
		#voice ul.voice_rank li:last-child{
			margin-bottom: 0;
		}
		#voice .voice_rank li > div{
			width: 100%;
			padding: 0 0 10px 0;
		}
		#voice .voice_rank li > div::before{
			width: 40px;
			height: 40px;
			left: -3px;
			top: -7px;
			bottom: auto;
		}
		#voice ul.voice_rank li h3{
			font-size: 18px;
			padding-left: 50px;
			margin-bottom: 10px;
			line-height: 1.4;
		}
		#voice ul.voice_rank li p{
			padding-right: 70px;
		}
        #voice ul.voice_rank table td{
            font-size: 70%;
        }
	 	#voice ul.voice_rank li .btn a{
			width: 60px;
			height: 45px;
			padding: 10px;
			font-size: 13px;
			text-align: center;
			position: absolute;
			right: 15px;
			bottom: 15px;
		}

	/* ▼ rank_box
	----------------------------------------*/
		.rank_list li{
			margin-bottom: 40px;
		}
		/*
		.rank_list li::before{
			content: "";
			display: block;
			width: 50px;
			height: 60px;
			top: -20px;
			left: 9px;
		}
		*/
		.rank_list h2{
			font-size: 20px;
		}
		
		.rank_list .recommendation{
			margin-bottom: 7%;
		}
		.rank_list .recommendation h3,
		.rank_list .feature h3{
			font-size: 18px;
		}
		.recommendation > div:not(:last-child){
			/*border-bottom:2px dotted #0a315f;*/
		}
		.recommendation > div:last-child{
			margin-bottom: 0;
		}
		.recommendation > div::before{
			width: 21px;
			height: 22.5px;
			top: 5px;
		}
		.recommendation > div p:first-child{
			padding-left: 5px;
			font-size: 15px;
			line-height: 1.6;
		}
        /* ▼ 2024/04/25 一時的な対応 ここから */
        .recommendation img {
            width: 100%;
        }
				.recommendation > div p img:not(:first-child){
					margin-top: 0;
				}
        /* ▲ 2024/04/25 一時的な対応 ここまで */
		.rank_list .btn{
			margin-bottom: 7%;
			text-align: center;
		}



	/* reviews*/
	.reviews .slider{
		/* width: 80%; */
		margin: 0 auto 40px;
		}
		.slider_box{
			padding: 20px;
		}
		.slider_box .flex_box{
			display: block!important;

		}
		.slider_box div .txt{
			padding-left: 0;
		}
		.slider_box div .txt h4{
			margin-top: 10px;
			font-size: 17px;
		}
		.slider_box div .txt .star{
			font-size: 25px;
		}
		/* arrowsカスタム */
		.slider_box .slick-prev,
		.slider_box .slick-next{
			width: 20px;
			height: 35px;
			top: 50%;
			}
			.slick-prev{
				left: -35px;
			}
			.slick-next{
				right: -35px;
			}
			.slick-next:before{
				content: url(../img/slide_arrow_next.png)!important;
			}
			.slick-prev:before{
				content: url(../img/slide_arrow_prev.png)!important;
			}
			.slick-prev:before, .slick-next:before{
				opacity: 1;
			}

    .reviews .google_review{
        margin: 0 auto 40px;
    }

    .google_review .lede{
        color: #E6290F;

    }

	/* comment*/
	.comment{
		margin-bottom: 60px;
	}
	/* campaign*/
	.campaign{
		}
		.campaign h3.campaign_title{
			width: 100%;
			font-size: 1.1rem;
		}
		.campaign div.mb20 {
			width: 95%;
			margin: 8px auto;
		}
		.campaign div.mb20 p{
			text-align: center;
			font-size: 16px;
		}

	/* ▼ search
	----------------------------------------*/
	#search h2{
		font-size: 16px;
	}
	/* ボタン */
	#search .btn a{
		max-width: 375px;
		background: #F3C11C;
		box-shadow: 0 4px 0 #E1B218;
		color: #333;
		}
		#search .btn a::before{
			width: 26px;
			height: 28px;
			left: 22px;
		}
	/* ▼▼▼ 検索結果
	------------------------------------------------------*/
	.search_results{
		padding: 15px 0px;
		margin-bottom: 20px;
		position: relative;
		}
		.search_results::before{
			content: "";
			display: block;
			width: 120%;
			height: 100%;
			background: #F7F7F7;
			position: absolute;
			top: 0;
			left: -20px;
			z-index: -1;
		}
		.search_results > div{
			width: calc(100% - 140px);
		}
		.search_results_txt{
			font-size: 15px;
		}
		.search_results p.btn{
			width: 120px;
			margin-left: 15px;
			padding: 15px 15px 15px 45px;
			font-size: 14px;
		}
		.search_results p.btn::before{
			width: 25px;
			height: 28px;
			left: 11px;
		}
		.sort{
			display: flex;
			justify-content: flex-end;
			align-items: center;
			margin-bottom: 25px;
		}
		.sort select{
			width: 100%;
			max-width: 150px;
		}
		.sort::before{
			content: "並び替え：";
			margin-right: 5px;
		}

}
