html {
scroll-behavior: smooth;
}

header {
animation: slideDown 0.6s ease-out;
}

@keyframes slideDown {
from {
transform: translateY(-100%);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}

header img {
transition: transform 0.3s ease;
}

header img:hover {
transform: scale(1.05);
}

.top_visual {
animation: fadeInUp 1s ease-out;
}

@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(40px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

.btn, .btn_sp, .cv_btn, .table_cv_btn, .rank_cv_btn1, .rank_cv_btn2 {
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}

.btn:hover, .btn_sp:hover {
transform: translateY(-5px);
box-shadow: 0 10px 25px rgba(0,0,0,0.2);
}

.cv_btn:hover::before, .table_cv_btn:hover::before, 
.rank_cv_btn1:hover::before, .rank_cv_btn2:hover::before {
width: 100%;
height: 300px;
}

.cv_btn:hover, .table_cv_btn:hover, .rank_cv_btn1:hover, .rank_cv_btn2:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(0,0,0,0.15);
}

section {
opacity: 0;
transform: translateY(50px);
transition: opacity 0.8s ease, transform 0.8s ease;
}

section.visible {
opacity: 1;
transform: translateY(0);
}

.section_recommend,
.top_visual {
opacity: 1;
transform: translateY(0);
}

.panel {
transition: all 0.3s ease;
}

.panel:hover {
transform: translateY(-5px);
}

.step_flex_text {
opacity: 0;
transform: translateX(-30px);
transition: opacity 0.6s ease, transform 0.6s ease;
}

section.visible .step_flex_text {
opacity: 1;
transform: translateX(0);
}

.step_flex_text1 { transition-delay: 0.1s; }
.step_flex_text2 { transition-delay: 0.2s; }
.step_flex_text3 { transition-delay: 0.3s; }
.step_flex_text4 { transition-delay: 0.4s; }

.list_wrap li {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.6s ease, transform 0.6s ease;
}

section.visible .list_wrap li {
opacity: 1;
transform: translateY(0);
}

.list_wrap li:nth-child(1) { transition-delay: 0.1s; }
.list_wrap li:nth-child(2) { transition-delay: 0.2s; }
.list_wrap li:nth-child(3) { transition-delay: 0.3s; }

.list_wrap li:hover {
transform: translateY(-10px) scale(1.03);
}

.list_wrap img {
transition: transform 0.5s ease;
}

.list_wrap li:hover img {
transform: scale(1.1);
}

table tbody tr {
transition: background-color 0.3s ease, transform 0.2s ease;
}

.info_img img, .voice_img img {
transition: transform 0.5s ease;
}

.info_bg:hover .info_img img,
.voice_bg:hover .voice_img img {
transform: scale(1.05);
}

.btn_wrap li {
opacity: 0;
transform: scale(0.8);
transition: opacity 0.5s ease, transform 0.5s ease;
}

section.visible .btn_wrap li {
opacity: 1;
transform: scale(1);
}

.btn_wrap li:nth-child(1) { transition-delay: 0.1s; }
.btn_wrap li:nth-child(2) { transition-delay: 0.2s; }
.btn_wrap li:nth-child(3) { transition-delay: 0.3s; }

.star img, .icon_hand img, .icon_hat img, 
.icon_voice img, .icon_faq img {
transition: transform 0.3s ease;
}

h2:hover .star img,
h2:hover .icon_hand img,
h2:hover .icon_hat img,
h2:hover .icon_voice img,
h2:hover .icon_faq img {
transform: rotate(15deg) scale(1.1);
}

.reputation_list li {
opacity: 0;
transform: translateX(-30px);
transition: opacity 0.6s ease, transform 0.6s ease;
}

section.visible .reputation_list li {
opacity: 1;
transform: translateX(0);
}

.reputation_list li:nth-child(1) { transition-delay: 0.1s; }
.reputation_list li:nth-child(2) { transition-delay: 0.25s; }
.reputation_list li:nth-child(3) { transition-delay: 0.4s; }

.reputation_list li:hover {
transform: translateX(5px);
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.faq_bg {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.5s ease, transform 0.5s ease;
}

section.visible .faq_bg {
opacity: 1;
transform: translateY(0);
}

.faq_bg:nth-child(1) { transition-delay: 0.1s; }
.faq_bg:nth-child(2) { transition-delay: 0.15s; }
.faq_bg:nth-child(3) { transition-delay: 0.2s; }
.faq_bg:nth-child(4) { transition-delay: 0.25s; }
.faq_bg:nth-child(5) { transition-delay: 0.3s; }
.faq_bg:nth-child(6) { transition-delay: 0.35s; }

.faq_bg:hover {
transform: translateY(-3px);
box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

.review_flex_img img {
transition: transform 0.3s ease;
}

.reputation_list li:hover .review_flex_img img {
transform: scale(1.1) rotate(5deg);
}

.table_icon img {
transition: transform 0.3s ease;
}

footer a {
position: relative;
transition: color 0.3s ease;
}

footer a::after {
content: '';
position: absolute;
bottom: -3px;
left: 0;
width: 0;
height: 2px;
background: currentColor;
transition: width 0.3s ease;
}

footer a:hover::after {
width: 100%;
}

.info_bg, .voice_bg {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.6s ease, transform 0.6s ease;
}

section.visible .info_bg,
section.visible .voice_bg {
opacity: 1;
transform: translateY(0);
}

.info_bg:nth-child(1) { transition-delay: 0.1s; }
.info_bg:nth-child(2) { transition-delay: 0.25s; }
.info_bg:nth-child(3) { transition-delay: 0.4s; }

.voice_bg:nth-child(1) { transition-delay: 0.1s; }
.voice_bg:nth-child(2) { transition-delay: 0.25s; }
.voice_bg:nth-child(3) { transition-delay: 0.4s; }

.white_box {
opacity: 0;
transform: scale(0.95);
transition: opacity 0.6s ease, transform 0.6s ease;
}

section.visible .white_box {
opacity: 1;
transform: scale(1);
transition-delay: 0.5s;
}

.white_box:hover {
transform: scale(1.02);
}

.table_bg {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.7s ease, transform 0.7s ease;
}

section.visible .table_bg {
opacity: 1;
transform: translateY(0);
}

.point_wrap li {
opacity: 0;
transform: translateX(-20px);
transition: opacity 0.5s ease, transform 0.5s ease;
}

section.visible .point_wrap li {
opacity: 1;
transform: translateX(0);
}

.point_wrap li:nth-child(1) { transition-delay: 0.1s; }
.point_wrap li:nth-child(2) { transition-delay: 0.2s; }
.point_wrap li:nth-child(3) { transition-delay: 0.3s; }

.point_wrap li:hover {
transform: translateX(5px);
}

.step_text {
	font-size: 23px;
}
.step_flex {
	display: flex;
	justify-content: space-between;
	gap: 1em;
	flex-wrap: wrap;
}
.step_flex_text {
	width: fit-content;
	margin: 1em 0;
	background-color: #fff;
	color: #1c4899;
	padding: 25px 30px;
	font-size: 1.5em;
	font-weight: bold;
	box-shadow: 7px 7px 0px #65c0cf;
	border-radius: 10px;
	display: flex;
	align-items: center;
	text-align: center;
	line-height: 1.5;
position: relative;
}

.step_flex_text1::after {
	content: ">";
	position: absolute;
	display: block;
	background: #fff0;
	right: -25%;
	z-index: -1;
	color: #fff;
}
.step_flex_text2::after {
	content: ">";
	position: absolute;
	display: block;
	background: #fff0;
	right: -15%;
	z-index: -1;
	color: #fff;
}
.step_flex_text3::after {
	content: ">";
	position: absolute;
	display: block;
	background: #fff0;
	right: -20%;
	z-index: -1;
	color: #fff;
}
.btn_wrap li {
	margin: 1em 0;
}
.btn_wrap li.btn_ul_li2 {
	margin: 1.5em 0;
}

.cv_btn.cv_tr1 {
	position: relative;
	font-size: 1.3em;
	color: #fff;
	border-radius: 65px;
	padding: 1.3em 1.5em 1.3em 2em;
	background: #e13c3c;
	border: 1px solid #00000054;
	box-shadow: 0px 0px 10px #939393;
font-weight: bold;
}
.cv_btn.cv_tr1::after {
	content: ">";
	position: absolute;
	display: block;
	background: #fff0;
	top: 31%;
	right: 9%;
}
.cv_btn.cv_tr1 span {
	position: absolute;
	font-size: 15px;
	background-color: #fff;
	padding: 10px;
	border-radius: 10px;
	color: #e84c4c;
	top: 25%;
	right: 15%;
	font-weight: bold;
}

.cv_btn.cv_tr2 {
	position: relative;
	font-size: 1.3em;
	color: #fff;
	border-radius: 65px;
	padding: 1.3em 1.5em 1.3em 2em;
	background: #6ba906;
	border: 1px solid #00000054;
	box-shadow: 0px 0px 10px #939393;
font-weight: bold;
}
.cv_btn.cv_tr2::after {
	content: ">";
	position: absolute;
	display: block;
	background: #fff0;
	top: 31%;
	right: 9%;
}
.cv_btn.cv_tr2 span {
	position: absolute;
	font-size: 15px;
	background-color: #fff;
	padding: 10px;
	border-radius: 10px;
	color: #6ba906;
	top: 25%;
	right: 15%;
	font-weight: bold;
}

.cv_btn.cv_tr3 {
	position: relative;
	font-size: 1.3em;
	color: #fff;
	border-radius: 65px;
	padding: 1.3em 1.5em 1.3em 2em;
	background: #e68c32;
	border: 1px solid #00000054;
	box-shadow: 0px 0px 10px #939393;
font-weight: bold;
}
.cv_btn.cv_tr3::after {
	content: ">";
	position: absolute;
	display: block;
	background: #fff0;
	top: 31%;
	right: 9%;
}
.cv_btn.cv_tr3 span {
	position: absolute;
	font-size: 15px;
	background-color: #fff;
	padding: 10px;
	border-radius: 10px;
	color: #e68c32;
	top: 25%;
	right: 15%;
	font-weight: bold;
}

.rank_h2_t9 {
padding-top: 60px;
}

.table_bg.table_wrap table {
width: auto;
}

.table_cv_btn {
	background-color: #ff4c4b;
	display: block;
	color: #fff;
	padding: 1.5em 1em;
	border-radius: 25px;
	font-size: .8em;
}

.reco_star {
	display: flex;
	justify-content: center;
	gap: 10px;
	align-items: center;
}
.evaluation_text {
	background-color: #ff4c4b;
	color: #fff;
	padding: 10px 15px 13px;
	margin: 0;
	border-radius: 5px;
	font-size: 1.5em;
}
.evaluation_num {
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: bold;
	font-style: normal;
	color: #ff4c4b;
	padding: 10px 15px 13px;
	margin: 0;
	border-radius: 5px;
	font-size: 3em;
}
.star5_rating {
	position: relative;
	z-index: 0;
	display: inline-block;
	white-space: nowrap;
	color: #CCCCCC;
	font-size: 2em;
	margin-bottom: 10px;
}

.star5_rating{
	position: relative;
	z-index: 0;
	display: inline-block;
	white-space: nowrap;
	color: #CCCCCC;
}

.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: #ffcf32;
}
.star5_rating[data-rate="5"]::after {
	width: 100%;
}
.star5_rating[data-rate="4.7"]::after {
  width: 92%;
}
.star5_rating[data-rate="4.4"]::after {
  width: 89%;
}
.star5_rating[data-rate="4.2"]::after {
	width: 87%;
}

.reputation_ttl {
	font-size: 25px;
	font-weight: 900;
	color: #1C4899;
	margin-bottom: 25px;
}
.reputation_list li {
	background-color: #ebf5fb;
	padding: 2em;
}
.review_flex_img {
	width: 55px;
}
.review_flex {
	display: flex;
	align-items: center;
	margin-bottom: .5em;
}
.review_title {
	font-size: 1.5em;
	font-weight: bold;
	margin-bottom: .5em;
}
.review_flex .star5_rating {
	font-size: 1em;
}
.review_flex .result-rating-rate {
	display: inline;
	margin: 0 1em 0 2em;
}
.review_flex_ri {
	margin-left: 1em;
}
.review_text {
	padding: 0 10px;
}
.info_btn .btn_wrap {
	width: 40%;
	text-align: center;
}
.rank_cv_btn1 {
	background-color: #ff4c4b;
	color: #fff;
	padding: 1em;
	font-size: 1.3em;
	border-radius: 55px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.4));
	font-weight: bold;
}
.rank_cv_btn2 {
	background-color: #1c4899;
	color: #fff;
	padding: 1em;
	font-size: 1.3em;
	border-radius: 55px;
	filter: drop-shadow(0 0 5px rgba(0,0,0,0.4));
	font-weight: bold;
}

.maru2_td {
	font-size: 3em;
	color: #1c4899;
}
.maru_td {
	font-size: 3em;
	color: #1c48999c;
}
.sankaku_td {
	font-size: 3em;
	color: #1c489959;
}
.batu_td {
	font-size: 3em;
	color: #0000009e;
}
.table_texttext {
display: block;
margin-top: 15px;
	font-size: 15px;
}
.table_bg.table_wrap.table_bgbg table {
	width: 50%;
	margin: 3em auto 0;
}
.table_bg.table_wrap.table_bgbg table td:last-child {
	vertical-align: baseline;
}
.table_bg.table_wrap.table_bgbg table td {
	font-size: 16px;
	color: #000;
	line-height: 1.2em;
	border-left: 1px solid #1D4899;
	vertical-align: baseline;
	padding: 16px 0 20px;
}
.faq_a_text {
	font-size: 20px;
	line-height: 1.3;
}

.img_9999 {
	z-index: 99999;
	position: relative;
}
.section_recommend.visible {
	background: url("../img/bg_01.png") no-repeat;
	background-size: auto;
	background-size: 100%;
}
.cv_btn_12 {
	text-align: center;
	margin-top: 5em;
}
.cv_btn_12 a {
	background-color: #f15a24;
	color: #fff;
	padding: 1em 1.5em;
	font-size: 1.7em;
	font-weight: bold;
	border-radius: 100px;
	box-shadow: 0px 0px 10px #939393;
	display: block;
	width: fit-content;
	margin: 0 auto;
}

.tyousakaisyatoha1 {
	width: 90%;
	margin: 0 auto 3em;
	color: #000;
	border: 2px solid;
	padding: 15px;
	border-radius: 10px;
}
.higaisyoumeisyo {
	padding: 15px;
	border-radius: 10px;
	border: 2px solid;
	margin-top: 1em;
}
.higaisyoumeisyo_span1 {
	display: block;
	background-color: #1c4899;
	width: fit-content;
	padding: 10px;
	border-radius: 5px;
	font-size: 6vw;
	margin-bottom: 10px;
	color: #fff;
}
.police_area, .lawyer_area {
	width: 90%;
	margin: 0 auto 1em;
	background-color: white;
	padding: 15px;
	border-radius: 10px;
	box-shadow: 0px 0px 25px #000;
}
.police_area span, .lawyer_area span {
	display: block;
	background-color: #000;
	width: fit-content;
	padding: 10px;
	border-radius: 5px;
	font-size: 5vw;
	color: #fff;
}
.tyousakaisyatoha1 p {
	line-height: 1.5;
	margin-top: .7em;
}
.higaisyoumeisyo_span2 {
	line-height: 1.2;
}
.company_page {
	width: 50%;
	margin: 2em auto 0;
}
.company_page th, .company_page td {
	border: 2px solid #1d4899;
	padding: 30px;
	vertical-align: middle;
}
.company_page th {
	background-color: #1d4899;
	color: #fff;
}
.police_area div, .lawyer_area div {
	display: flex;
	align-items: center;
	gap: 15px;
	justify-content: center;
}
.police_area img, .lawyer_area img {
	width: 55px;
}
.police_area p, .lawyer_area p {
	display: flex;
	align-items: center;
	margin: 15px auto;
}
.police_area p img, .lawyer_area p img {
	width: 30px;
	margin-right: 10px;
}
.first_view_cv {
	position: absolute;
	width: 38%;
	height: 19%;
	bottom: 8%;
	z-index: 999999;
	right: 2%;
	margin: 0 auto;
	border-radius: 55px;
}







/*---　PC表示　---*/
@media screen and (min-width: 860px) {
.pc_only {
display: block !important;
}
.ip_only {
display: none !important;
}
footer a, footer a:hover, footer a:active, footer a:visited {
	text-decoration: none;
}
.review_span_text.pc_only, .review_flex .result-rating-rate.pc_only {
	display: inline-block !important;
}
.section_explanation.visible {
	background: url("../img/bg_sp_01.png");
	background-size: auto;
	background-size: 100%;
}
#section_voice {
	background: url("../img/bg_sp_01.png");
	background-size: 100%;
	padding-top: 40px;
	padding-bottom: 70px;
}

.tyousakaisyatoha1 {
	width: 50%;
}
.higaisyoumeisyo_span1 {
	font-size: 1.3em;
}
.police_area span, .lawyer_area span {
	display: block;
	background-color: #000;
	width: fit-content;
	padding: 10px;
	border-radius: 5px;
	font-size: 1.3em;
	color: #fff;
}
.police_area, .lawyer_area {
	width: 50%;
}
.police_lawyer_area {
	display: flex;
	width: 50%;
	margin: 0 auto;
	gap: 15px;
}
}









/*---　スマホ表示　---*/
@media screen and (max-width: 860px) {
.pc_only {
display: none !important;
}
.ip_only {
display: block !important;
}
.company_page {
	width: 90%;
}
.company_page h2 {
	font-size: 35px;
}
.company_page th, .company_page td {
	border: 2px solid #1d4899;
	padding: 30px 10px;
	vertical-align: middle;
	text-align: center;
}
.first_view {
	margin-top: 3em;
}
header {
	padding: 1rem;
	background-color: #3668c6;
	top: 0 !important;
	height: 3em;
}
.nav-menu {
	top: 5% !important;
}
.div_1 li {
	padding-left: 15px;
}
.div_1 li span {
	left: -4%;
}
.cv_btn.cv_tr1::after, .cv_btn.cv_tr2::after, .cv_btn.cv_tr3::after {
	content: "";
}
.cv_btn.cv_tr1, .cv_btn.cv_tr2, .cv_btn.cv_tr3 {
	font-size: 6vw;
	padding: 1.3em 1.5em 1.3em 1.5em;
	text-align: left;
}
.cv_btn.cv_tr1 span, .cv_btn.cv_tr2 span, .cv_btn.cv_tr3 span {
	top: 20%;
	right: 10%;
}
.step_flex {
	display: block;
}
.step_flex_text {
	width: 97%;
	justify-content: center;
}

.step_flex_text.step_flex_text2, .step_flex_text.step_flex_text3 {
	margin: 2em auto;
}

.step_flex_text1::after {
	right: 45%;
	transform: rotate(90deg);
	bottom: -60%;
}
.step_flex_text2::after {
	right: 45%;
	transform: rotate(90deg);
	bottom: -40%;
}
.step_flex_text3::after {
	right: 45%;
	transform: rotate(90deg);
	bottom: -40%;
}
.reco_star {
	display: block;
}
.info_wrap .info_img.ip_only {
	margin: 0 auto 2em;
}
.reco_deco img {
width: 80px;
}
.reputation_list li {
	padding: 1em;
}
.review_flex {
	display: block;
}
.review_flex_ri {
	margin-left: 0;
}
.review_flex_img {
	display: flex;
	width: 100%;
	align-items: center;
	margin-bottom: 1em;
}
.review_flex_img img {
	width: 55px;
}
.review_flex .result-rating-rate {
	margin: 0 5px 0 10px;
	font-size: 6vw;
}
.review_title {
	font-size: 6.5vw;
	margin: 1em 0;
}
.review_text {
	padding: 0;
}
.info_btn .btn_wrap {
	width: 100%;
	text-align: center;
}
.info_wrap {
	margin-bottom: 10px;
}
.faq_wrap .faq_en {
	margin-right: 10px;
}
footer {
	padding: 10px 0;
}
.panel {
	width: 95%;
}

.section_info .table_wrap {
	padding: 0;
	margin: 0;
}
.vertical-section-title {
	text-align: center;
	font-size: 1.5em;
	background-color: #1c4899;
	color: #fff;
	padding: 20px;
}
.vertical-item.popular-vertical {
	display: flex;
	align-items: center;
}
.vertical-service.popular-service {
	width: 60%;
}
.vertical-value p {
	margin-top: 10px;
	font-size: 15px;
}

.tr_table_div.ip_only {
	display: flex !important;
	flex-wrap: wrap;
	gap: 5px 0;
}
.tr_table_div2 {
	background-color: #1c4899;
	color: #fff;
	padding: 5px;
	font-size: 5vw;
}
.tr_table_div3 {
	padding: 15px 10px;
	font-size: 4.5vw;
}
.tr_table_div1 {
	width: 49%;
	margin: 0 auto;
	border: 1px solid #1c4899;
text-align: center;
}
.rank_cv_btn1, .rank_cv_btn2 {
	font-size: 5vw;
}
.rank_hikaku {
	margin-bottom: 2em !important;
}
h2.rank_hikaku span {
	padding: 0 0 25px 0;
}
#section_voice span {
	padding: 0;
}
.table_bg.table_wrap.table_bgbg {
	padding: 0;
}
.vertical-compare.vertical-compare2.ip_only {
	margin-top: 2em;
	width: 90%;
}

.vertical-compare.vertical-compare2.ip_only .vertical-service.popular-service {
	width: 40%;
	margin: 0;
	color: #000;
}
.vertical-compare.vertical-compare2.ip_only .vertical-value {
	font-size: 17px;
	font-weight: bold;
	color: #333;
	width: 80%;
}
.vertical-section.vertical-section236 {
	margin-top: 2em;
}
section.visible h2 {
	font-size: 9vw;
}
.cv_btn_12 {
	margin-top: 4em;
}
.cv_btn_12 a {
	padding: 25px;
	font-size: 7vw;
}

.fixed_ip {
	display: none;
	position: fixed;
	bottom: 0;
	text-align: center;
	z-index: 1000;
	transition: opacity 0.3s ease;
	width: 100%;
}
.fixed_ip_relative {
	position: relative;
}
.fixed_ip {
opacity: 0;
visibility: hidden;
transition: opacity 0.3s ease;
}
.fixed_ip.show {
opacity: 1;
visibility: visible;
}
.fixed_ip_relative span {
	font-size: 5vw;
	margin: 0 auto 10px;
	background-color: #1c4899;
	padding: 10px 15px;
	border-radius: 30px;
	color: #fff;
	position: absolute;
	top: -25%;
	right: 0;
	left: 0;
	width: fit-content;
	border: 2px solid #fff;
}
.fixed_ip_relative a {
	font-size: 7vw;
	color: #fff;
	padding: 30px 10px 10px;
	background-color: #f15a24;
	border-radius: 10px 10px 0 0;
	display: block;
}
footer {
	padding: 10px 0 35%;
}
.vertical-section.vertical-section123 {
	margin-bottom: 0;
}
.first_view_cv {
	position: absolute;
	width: 60%;
	height: 10%;
	bottom: 3%;
	z-index: 999999;
	right: 0;
	left: 0;
	margin: 0 auto;
	border-radius: 20px;
}

}









.cv_area_1 {
	background-color: #fff;
	padding: 3em 0;
	border-radius: 10px;
}
.cv_flex {
	display: flex;
	justify-content: center;
	gap: 1px;
margin: 1em 0;
}
.cv_text {
	font-size: 2em;
	font-weight: bold;
	width: fit-content;
	margin: 0 auto;
	display: flex;
	align-items: center;
	gap: 10px;
}
.cv_f_l {
	font-size: 2em;
	background-color: #06c755;
	color: #fff;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-radius: 60px 0 0 60px;
	padding: 5px 25px;
	border: 1px solid #000;
}
.cv_f_r {
	font-size: 2em;
	background-color: #ff8e0d;
	color: #fff;
	font-weight: bold;
	display: flex;
	align-items: center;
	border-radius: 0 60px 60px 0;
	padding: 5px 25px;
	border: 1px solid #000;
}
.cv_f_l img, .cv_f_r img {
	width: 65px;
}
.cv_text img {
	width: 60px;
}
a.cv_f_l:hover {
color: #fff;
}
a.cv_f_r:hover {
color: #fff;
}
a.cv_text:hover {
	color: #018bd4;
}
.cv_text.cv_text2 {
	font-size: 1.7em;
}
.cv_text.cv_text3 {
	font-size: 2.5em;
}
.col5_1 {
	display: flex;
	flex-wrap: wrap;
	gap: 45px;
	justify-content: center;
position: relative;
}
.col5_1 .box {
	width: 30%;
	position: relative;
	text-align: center;
	border: 3px solid #006229;
	padding: 1em 0;
	font-weight: bold;
	font-size: 1.3em;
	background-color: #fff;
border-radius: 15px;
}
.block-first.wow.fadeInDown.box_text_6 {
	min-height: auto;
	padding: 2em;
	text-align: center;
	font-weight: bold;
	font-size: 1.5em;
}
.block-first.wow.fadeInDown.box_text_6 .span1122222 {
	margin: 0 5px;
	font-size: 1.4em;
	color: #fff;
	background-color: #009e42;
	padding: 0px 5px;
	border-radius: 3px;
}
.app_area {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 15px;
}
.app_area .app_item {
	width: 24%;
	padding: 1em 0;
	text-align: center;
	border: 3px solid #009e42;
background-color: #fff;
}
.app_area .app_item.app_item1 {
	border: 5px solid #009e42;
	width: calc(97% / 3);
}
.app_item img {
	width: 235px;
	display: block;
	margin: 0 auto;
}
.app_item span {
	font-weight: bold;
}
.app_item span.texxtts {
	font-size: .7em;
}

.grid-items {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 20px;
  align-items: stretch; /* 高さをそろえるポイント！ */
}

.grid-items .item {
  display: flex;
  flex-direction: column;
}
.element.element_0.title.review_text123 {
	font-size: 18px !important;
}
.o_2_img {
	height: 175px;
	position: absolute;
	bottom: 0;
}
.o_2_img.o_l_img {
	left: 1%;
}
.o_2_img.o_r_img {
	right: 1%;
}
.span112222233 {
	border-bottom: 2px solid;
}
.ttnn78 {
	width: 125px;
	margin: 3em auto 1em;
	display: block;
}
.balloon .red-a {
	color: #fc2929;
}

.pc_tu_cv img {
	width: 50px;
}
.pc_tu_cv {
	display: flex;
	justify-content: center;
	gap: 10px;
}
.pc_tu_cv_l, .pc_tu_cv_r {
	color: #fff;
	font-weight: bold;
	display: flex;
	justify-content: left;
	align-items: center;
	border-radius: 35px;
padding: 0 1em;
}
.pc_tu_cv_l {
	background-color: #06c755;
}
.pc_tu_cv_r {
	background-color: #ff8e0d;
}
.commit .article h2 {
	text-align: center;
	font-size: 1.5em;
	margin: 0;
}

.commit .otherbox {
	width: 60%;
	margin: 0 auto;
}
.commit .otherbox dl {
	display: flex;
	justify-content: left;
	align-items: center;
margin-bottom: 2em;
}
.commit .otherbox dt {
	width: 20%;
	font-weight: bold;
}
.commit .otherbox dd {
	width: 70%;
	display: flex;
	gap: 2em;
	font-weight: bold;
align-items: center;
}
.commit .otherbox select, .commit .otherbox input {
	background-color: #fff;
	color: #000;
	font-weight: bold;
}
.commit .otherbox select {
	padding: 10px;
}
.commit .form-horizontal {
	padding: 2em 10em;
	background-color: white;
	margin: 1em;
	border: 3px solid #018bd4;
}
.commit .button.button--piyo .ssn_btn445 {
	margin: 0 auto;
	text-align: center;
	display: block;
	background-color: #009e42;
	color: #fff;
}
.thanks #form-complete {
	width: 50%;
	margin: 3em auto;
	font-weight: bold;
}
.no1.red-a {
color: red;
}
.h-table.table154926 table .popular {
	font-size: 1em;
}

.cv_f_cv {
	display: none;
}
.hikaku_table_sp {
	display: none;
}



@media screen and (max-width: 640px) {
.cv_f_cv {
	display: block !important;
}
.topsale {
display: none;
}
.cv_flex {
	display: block;
}
.cv_text {
	font-size: 7vw;
}
.cv_f_r, .cv_f_l {
	font-size: 7vw;
	border-radius: 60px;
	margin: 10px;
}
.cv_text.cv_text2 {
	font-size: 5vw;
}
.cv_text.cv_text3 {
	font-size: 8vw;
}
.col5_1 {
	gap: 5px;
}
.col5_1 .box {
	width: 100%;
}
.o_2_img {
	height: 100px;
	position: absolute;
	bottom: 99%;
}
.o_2_img.o_l_img {
	left: -5%;
}
.o_2_img.o_r_img {
	right: -5%;
}
.ttnn78 {
	margin: 1em auto;
}
.block-first.wow.fadeInDown.box_text_6 .span1122222 {
	display: block;
}
.block-first.wow.fadeInDown.box_text_6 {
	padding: 1em;
}
.block-first.wow.fadeInDown.box_text_6 {
	font-size: 1.3em;
}
.otoko .ctn_box .wow h3 {
	font-size: 6vw;
}
.difference .col3 .box .txt {
	font-size: 17px;
	padding: 0 .5em;
	text-align: left;
}
.app_area .app_item.app_item1 {
	width: 75%;
}
.app_area .app_item {
	width: 45%;
	font-size: 3.8vw;
}
.app_item span.texxtts {
	display: none;
}
#voice .subtitle.blue-line {
padding: 0;
}
.post-grid .grid-items {
	flex-wrap: wrap;
}
.difference h4 {
	font-size: 6vw;
}
.pc_tu_cv {
	display: flex;
	justify-content: center;
	gap: 3px;
	width: 100%;
}
.pc_tu_cv_l, .pc_tu_cv_r {
	width: 49%;
}
.index_footer {
	position: relative;
	padding-bottom: 5em;
}
.commit .otherbox {
	width: 100%;
}
.commit .form-horizontal {
	padding: 1em;
}
.commit .otherbox dl {
	display: block;
}
.commit .otherbox dt {
	width: 100%;
	margin-bottom: 1em;
}
.thanks #form-complete {
	width: 90%;
}
.otoko .ctn_box .block-second .img {
	position: absolute;
	top: 60%;
	right: -45%;
}
.otoko .ctn_box .block-second img {
	width: 50%;
}

.voice .subtitle.blue-line {
	padding: 0.6em 0;
}

.h-table.table154926 {
	overflow: scroll;
}
.h-table.table154926 table {
	width: 240%;
	max-width: 240%;
}
.h-table.table154926 table .popular {
	font-size: 5.5vw;
}
.header {
	height: 80px;
	padding: .5em 0 .5em 1em;
}
.header__logo.sp img {
	width: 70%;
	height: auto !important;
}
.cv_f_cv {
	position: fixed;
	bottom: 0;
	width: 100%;
	background-color: #ffffffd1;
	padding: 10px;
	z-index: 9999;
}
.footer {
	padding-bottom: 5em;
}
.cv_f_cv img {
	margin-right: 10px;
}
.element.element_0.title.review_text123 {
	font-size: 16px !important;
	padding: 15px 5px 10px !important;
}
.hikaku_table_div {
	display: none;
}
.hikaku_table_sp {
	display: block !important;
}
}

.vertical-compare {
	width: 95%;
	margin: 0 auto;
}

.vertical-section {
background: #fff;
border-radius: 10px;
margin-bottom: 20px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.vertical-section-title {
	background: #1c4899;
	color: #fff;
	padding: 15px 20px;
	font-size: 6vw;
	font-weight: bold;
	text-align: center;
}

.vertical-items {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 0;
}

.vertical-item {
padding: 20px;
text-align: center;
border-right: 1px solid #b9b9b9;
border-bottom: 1px solid #b9b9b9;
transition: all 0.3s;
}

.vertical-item:hover {
background: #f8f9fa;
}

.vertical-item.popular-vertical {
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.vertical-service {
	font-size: 20px;
	font-weight: bold;
	color: #666;
	width: 50%;
	margin: 0;
}

.vertical-service.popular-service {
	width: 50%;
	margin: 0;
}
.mark.cross {
	color: #ff3c3c;
}
.vertical-value {
	font-size: 17px;
	font-weight: bold;
	color: #333;
	width: 50%;
}

.vertical-items {
	grid-template-columns: 1fr;
}

.vertical-item {
	border-right: none;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.note {
background: #e7f3ff;
border-left: 4px solid #2196f3;
padding: 15px;
margin-top: 20px;
border-radius: 4px;
font-size: 14px;
color: #1565c0;
}

.section.hikaku_table_sp {
	width: 90%;
	margin: 0 auto;
}














header {
	position: fixed;
	width: 100%;
	top: 3%;
	z-index: 1200;
	display: flex;
	justify-content: right;
	align-items: center;
	padding: 0 1em;
}

.logo {
font-size: 1.5rem;
font-weight: bold;
}

.hamburger {
display: flex;
flex-direction: column;
cursor: pointer;
background: none;
border: none;
padding: 10px;
z-index: 1100;
transition: transform 0.3s;
background-color: #3668c6;
}

.hamburger:hover {
transform: scale(1.1);
}

.hamburger span {
width: 30px;
height: 3px;
background-color: white;
margin: 4px 0;
transition: 0.3s;
border-radius: 3px;
}

.hamburger.active span:nth-child(1) {
transform: rotate(-45deg) translate(-6px, 6px);
}

.hamburger.active span:nth-child(2) {
opacity: 0;
}

.hamburger.active span:nth-child(3) {
transform: rotate(45deg) translate(-9px, -9px);
}

.nav-menu {
position: fixed;
right: -350px;
top: 85px;
flex-direction: column;
background-color: #1c4899;
width: 350px;
height: 100vh;
transition: right 0.3s ease-in-out;
box-shadow: -2px 0 10px rgba(0, 0, 0, 0.3);
list-style: none;
overflow-y: auto;
z-index: 1050;
padding-top: 1em;
}

.nav-menu.active {
right: 0;
}

.nav-menu li {
padding: 0;
border-bottom: 1px solid #fff;
}

.nav-menu a {
color: white;
text-decoration: none;
font-size: 1.1rem;
display: block;
padding: 1.5rem 2rem;
transition: all 0.3s;
position: relative;
}

.nav-menu a:hover {
background-color: #f15a24;
padding-left: 2.5rem;
}

.nav-menu a::before {
content: '▶';
position: absolute;
left: 1rem;
opacity: 0;
transition: opacity 0.3s;
}

.nav-menu a:hover::before {
opacity: 1;
}

.overlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.6);
z-index: 1000;
transition: opacity 0.3s;
}

.overlay.active {
display: block;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
.nav-menu {
width: 80%;
max-width: 300px;
}

header {
padding: 1rem;
}

.nav-menu a {
font-size: 1rem;
padding: 1.2rem 1.5rem;
}
}