@charset "utf-8";
/* CSS Document */
body {
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.5;
	color:#333;
	overflow: hidden;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#wrap {
	width: 100%;
	position: relative;
	height: 100%;
	background: #f8f8f8;
}

#contents {
	position: relative;
	width: 40vw;
	margin: 0 auto;
	background: #fff;
	box-shadow: 0px 0px 3px #bbb;
}

@media screen and (max-width: 979px) {
#contents {
	width: 700px;
}
}

@media screen and (max-width: 767px) {
#contents {
	width: 90%;
	max-width: 700px;
}
}

@media screen and (max-width: 479px) {
#contents {
    width: 100%;
}
}

p {
	font-size: 18px;
	line-height: 1.7em;
	margin:5px;
}

@media screen and (max-width: 979px) {
p {
	font-size: 18px;
}
}

@media screen and (max-width: 767px) {
p {
	font-size: 16px;
}
}

@media screen and (max-width: 479px) {
p {
	font-size: 16px;
}
}

p.point {
	margin: 5px;
	padding: 5px;
}

@media screen and (min-width: 979px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 979px){   
  .pc { display:none; }
  .sp { display:block; }
}

/*----画像装飾----*/

img {
	max-width: 100%;
}

.hikaku01 img {
	max-width: 85px;
	height: 85px;
	margin: 5px auto 0 auto;
}

.hikaku01 .under{
	text-decoration: underline;
}

.hikaku01_text01{
	font-weight: bold;
	font-size: 11px;
}

.img_first{
	max-width: 145px !important;
	height: 100px !important;
}

@media screen and (min-width: 376px) {
.img_first{
	max-width: 160px !important;
	height: 110px !important;
}
}

@media screen and (min-width: 415px) {
.img_first{
	max-width: 190px !important;
	height: 130px !important;
}
}

@media screen and (min-width: 480px) {
.img_first{
	max-width: 300px !important;
	height: 180px !important;
}
}

.imgstar {
	padding-top: 10px;
	padding-bottom: 5px;
}


.gray_waku {
	border: 1px solid #ccc;
	max-width: 100%;
}

.gray_waku2 {
	margin: -5px auto 5px auto;
  	padding: 5px 5px 0 5px;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
	width: 100%;
}

.gray_waku2 p {
	margin: 0 0 5px;
	font-size: 15px;
}

.gray_waku3 {
	margin: -5px auto 15px auto;
  	padding: 0 10px 0 10px;
	width: 100%;
}

.gray_waku3 p {
	margin: 0 0 5px;
	font-size: 15px;
}



.yellow_waku {
	margin: 8px 0px;
  	padding: 8px;
	background: #FFFFCC;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
	width: 100%;
}

.yellow_waku2 {
	margin-bottom: 10px;
  	padding: 8px;
	background: #FFFFCC;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
	width: 100%;
}

.blue_waku {
	margin: 0 auto 15px auto;
  	padding: 8px;
	background: #edf4f8;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
	width: 98%;
}

.imgbox {
	margin: 0 0 20px 20px;
	padding: 0 10px;
}

.imgbox .solid {
	display:inline-block;
	border: 1px solid #ccc;
}

.float_left {
	float: left;
	margin: 0 0 10px;
}

.img_waku {
}

.img_waku02 {
	display: block;
	margin: 0 auto;
	width: 90%;
}

@media screen and (min-width: 820px) {
.img_waku02 {
	width: 75%;
}
}

.img_waku03 {
	display: block;
	margin: 0 auto;
	width: 70%;
	padding: 10px
}

@media screen and (min-width: 820px) {
.img_waku03 {
	width: 95%;
	max-width: 350px;
	padding: 10px
}
}

.img_waku04 {
	display: block;
	margin: 0 auto;
	width: 90%;
}

.img_oukan {
	width: 50px;
}


.img_waku05 {
	display: block;
	margin: 0 auto;
	width: 95%;
}

@media screen and (min-width: 820px) {
.img_waku05 {
	width: 75%;
}
}



/*----文字装飾----*/

b {
	font-weight: bold;
}

strong {
	font-weight: bold;
	background: linear-gradient(180deg,#fff 0%,#fff 10%,#ff6 10%,#fff 100%);
}

.strong2 {
	font-weight: bold;
	background: linear-gradient(180deg,#f0e4d7 0%,#f0e4d7 10%,#ff6 10%,#f0e4d7 100%);
	font-size: 11px;
}

/*装飾追記*/
.very_strong{
	font-size: 16px;
	font-weight: bold;
}

.weak{
	font-size: 15px;
	color: rgb(0 0 0 / 70%);
}

.underline {
	text-decoration: underline;
}

.red {
	color: #f30202;
}

.red02 {
    color: #ff5252;
    font-weight: bold;
}

.adding {
	font-weight: bold;
	display: block;
	text-align: right;
	font-size: 12px;
}

.pankuzu {
	font-size: 12px;
	margin: 0 0 5px 10px;
}

.hyouka {
	font-size: 12px;
}

.frame_text {
	font-size: 14px;
	text-decoration: underline;
	margin: 5px auto 0;
}

.frame_text2 {
	font-size: 14px;
	margin: 5px auto 0;
}

.frame_text3 {
	font-size: 12px;
}


@media screen and (min-width: 414px) {
.frame_text3 {
	font-size: 14px;
}
}

.frame_text4 {
	font-size: 12px;
	margin: 5px auto;
}

.frame_text5 {
	font-size: 14px;
	margin: 5px auto -8px;
}

.text_middle{
	font-size: 14px;
}


.text_small {
	font-size: 12px;
}

.text_verysmall {
	font-size: 10px;
}

.text_verysmall_mitsubishi {
	color: black;
	margin: 5px;
	background: #f1f1f1;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
	font-size: 10px;
}

}


.text_verybig {
	font-size: 18px;
}

.text_right {
	display: block;
	text-align: right;
	margin: auto auto 10px;
}

/*注釈*/
.gray_text {
	color: gray;
	margin: 5px;
	background: #f1f1f1;
	border: 1px solid #e1e1e1;
	border-radius: 4px;
}

/*矢印コンテンツへのつなぎ*/
.triangle_title_container {
	position: relative;
	width: 100%;
	height: 0%;
	padding-bottom: 39px; 
	margin: 0 auto;
	overflow: visible;
	margin-top: 7px;
	top: 4px;
}
.triangle_background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: linear-gradient(to bottom, #f5e300 0%, #f5e300 100%);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	z-index: 1;
}
.triangle_text_wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
	display: flex;
	justify-content: center;
	align-items: center;
}
.triangle_text {
	white-space: nowrap;
	font-size: 18px;
	font-weight: bold;
	color: #373531;
	text-shadow: 1px 1px 2px #ffffff, -1px -1px 2px #ffffff, -1px 1px 2px #ffffff, 1px -1px 2px #ffffff, 1px 0 2px #ffffff, -1px 0 2px #ffffff, 0 1px 2px #ffffff, 0 -1px 2px #ffffff;
}

.chat-app-wrapper {
	background-color: #ffffff;
	/* フォントを Noto Sans JP に設定 */
	font-family: 'Noto Sans JP', sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
}

.chat-app-wrapper .chat-box-component {
	width: 100%;
	background: #ffffff;
	border-radius: 1.5rem;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	height: auto;
	transition: max-width 0.3s ease;
	margin: 5px;
}

/* パソコン（PC）等の大きな画面向けの調整 */
@media (min-width: 1024px) {
	.chat-app-wrapper .chat-box-component {
	}
	.chat-app-wrapper .chat-header {
		font-size: 1.5rem; /* PCではヘッダーの文字をさらに大きく */
		padding: 1.5rem 1rem;
	}
	.chat-app-wrapper .chat-bubble {
		font-size: 1rem; /* 吹き出しの文字サイズを調整 */
		padding: 1rem 1.25rem;
	}

	/* PCのみ、コンテンツ自体を中央に寄せるクラス */
	.chat-app-wrapper .chat-row-center-pc {
		justify-content: center;
	}
}


/* ヘッダーのスタイル */
.chat-app-wrapper .chat-header {
	background: #004bc6;
	padding: 1rem;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-weight: bold;
	font-size: 1.25rem; 
	flex-shrink: 0;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	z-index: 10;
}

.chat-app-wrapper .header-sparkle {
	width: 1.5rem;
	height: 1.5rem;
	color: #facc15; /* 黄色のキラキラ */
}

/* チャット表示エリア */
.chat-app-wrapper .chat-container {
	overflow: visible; 
	background-color: #ffffff
}

/* 行の基本スタイル */
.chat-app-wrapper .chat-row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	margin-bottom: 5px;
	margin-top: 5px;
	animation: chatFadeIn 0.5s ease-out forwards;
}
.chat-app-wrapper .chat-row-reverse {
	flex-direction: row-reverse;
}

/* アバター周り */
.chat-app-wrapper .chat-avatar-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-shrink: 0;
	width: 80px;
}
.chat-app-wrapper .chat-avatar-img {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4px;
	overflow: visible; 
	position: relative;
}
.chat-app-wrapper .chat-avatar-name {
	font-size: 10px;
	color: #64748b;
	text-align: center;
	font-weight: bold;
}

/* 吹き出し共通 */
.chat-app-wrapper .chat-bubble {
	padding: 0.85rem 1rem;
	border-radius: 1.25rem;
	font-size: 0.9rem;
	line-height: 1.6;
	max-width: 75%;
	position: relative;
	box-shadow: 0 2px 4px rgba(0,0,0,0.05);
	color: #1e293b;
}

/* カラー設定 */
.chat-app-wrapper .bg-junior { background-color: #fbcfe8; }
.chat-app-wrapper .chat-bubble-left {
	background-color: #fbcfe8;
	border-top-left-radius: 0;
}

.chat-app-wrapper .bg-senior { background-color: #e9d5ff; }
.chat-app-wrapper .chat-bubble-right {
	background-color: #e9d5ff;
	border-top-right-radius: 0;
}

/* 次のセクションへの誘導 */
.chat-app-wrapper .next-section-trigger {
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
}

.chat-app-wrapper .arrow-bounce {
	width: 24px;
	height: 24px;
	color: #4f46e5;
	animation: bounce 2s infinite;
}

.chat-app-wrapper .transition-text {
	font-size: 1rem;
	font-weight: bold;
	color: #4f46e5;
	letter-spacing: 0.05em;
}

/* ハイライト */
.chat-app-wrapper .text-highlight-pink { color: #db2777; font-weight: bold; }
.chat-app-wrapper .text-highlight-yellow { background-color: #fef08a; padding: 0 2px; font-weight: bold; }

@keyframes chatFadeIn {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
	40% {transform: translateY(-8px);}
	60% {transform: translateY(-4px);}
}

/* ヘッダー内タイトルの調整 */
.chat-app-wrapper .header-title-row {
	display: flex;
	align-items: center;
	justify-content: center; /* 中央配置を強制 */
	width: 100%;             /* 幅を確保して中央に寄せる */
	gap: 0.5rem;
	font-weight: bold;
	font-size: 1.25rem;
}

@media (min-width: 1024px) {
	.chat-app-wrapper .header-title-row {
		font-size: 1.5rem;
	}
}

/* 3つのメリットバー */
.chat-app-wrapper .benefit-bar {
	display: flex;
	width: 100%;
	gap: 0.25rem;
	margin-top: 0.75rem;
}

.chat-app-wrapper .benefit-item {
	flex: 1;
	background: rgba(255,255,255,0.15);
	backdrop-filter: blur(4px);
	border-radius: 0.75rem;
	padding: 0.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	border: 1px solid rgba(255,255,255,0.1);
}

.chat-app-wrapper .benefit-icon-inner {
	color: #facc15;
	margin-bottom: 2px;
}

.chat-app-wrapper .benefit-labels {
	display: flex;
	flex-direction: column;
	line-height: 1.2;
}

.chat-app-wrapper .label-top {
	font-size: 8px;
	font-weight: bold;
	opacity: 0.9;
	color: #fff;
}

.chat-app-wrapper .label-bottom {
	font-size: 16px;
	font-weight: 900;
	color: #ffffff;            /* 文字色を白に */
	background-color: #2f97ff; /* 薄めの青（調整可） */
	border-radius: 60px;       /* 角を丸く */
	padding: 10px;             /* 上下左右の余白 */
	display: block;            /* ブロック要素にして横に広げる */
	width: 100%;               /* 幅を100%に */
	box-sizing: border-box;    /* 枠線や余白を含めて100%にする */
	text-align: center;        /* 文字を真ん中に寄せたい場合は追加 */
}

/* 結論エリア（二枚持ちカード） */
.chat-app-wrapper .conclusion-area {
	background: #ffffff;
	text-align: center;
	margin: 15px;
}

.chat-app-wrapper .conclusion-title {
	font-size: 1.1rem;
	font-weight: 900;
	font-style: italic;
	color: #1e293b;
}

@media (min-width: 1024px) {
	.chat-app-wrapper .conclusion-title {
		font-size: 1.3rem;
	}
}

.chat-app-wrapper .text-blue-accent {
	color: #2563eb;
	text-decoration: underline;
	text-decoration-thickness: 4px;
	text-decoration-color: #dbeafe;
	text-underline-offset: 4px;
}

.chat-app-wrapper .card-comparison {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	width: 100%;
}

@media (min-width: 1024px) {
	.chat-app-wrapper .card-comparison {
		flex-direction: row;
		gap: 0.5rem;
	}
}

.chat-app-wrapper .mini-card {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem;
	border-radius: 1.25rem;
	background: white;
	border: 1px solid #f1f5f9;
	box-shadow: 0 1px 3px rgba(0,0,0,0.05);
	position: relative;
	overflow: hidden;
	text-align: left;
	flex: 1;
}

.chat-app-wrapper .jcb-border::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background: #1e40af;
}

.chat-app-wrapper .life-border::after {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 4px;
	height: 100%;
	background: #3b82f6;
}

.chat-app-wrapper .icon-container {
	width: 44px;
	height: 44px;
	border-radius: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.chat-app-wrapper .jcb-bg { background: #eff6ff; color: #1e40af; }
.chat-app-wrapper .life-bg { background: #eff6ff; color: #3b82f6; }

.chat-app-wrapper .tag {
	font-size: 8px;
	font-weight: 900;
	color: white;
	padding: 2px 8px;
	border-radius: 4px;
	display: inline-block;
	margin-bottom: 4px;
}

.chat-app-wrapper .card-name {
	font-weight: bold;
	font-size: 13px;
	line-height: 1.2;
	margin-bottom: 2px;
}

.chat-app-wrapper .card-desc {
	font-size: 10px;
	color: #64748b;
	line-height: 1.3;
}

.chat-app-wrapper .plus-icon-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #cbd5e1;
	padding: 0.25rem 0;
}

/* フッターアドバイス */
.chat-app-wrapper .footer-advice {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	border-top: 1px solid #f8fafc;
}

.chat-app-wrapper .footer-avatar-mini {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #e9d5ff;
	overflow: hidden;
	flex-shrink: 0;
}

.chat-app-wrapper .footer-message-text {
	font-size: 11px;
	font-weight: bold;
	font-style: italic;
	color: #475569;
	line-height: 1.4;
}

/*3つの良いものの定義*/
.app-background {
	font-family: 'Inter', 'Noto Sans JP', sans-serif;
	background-color: #f9fafb;
	margin: 0;
	padding: 0;
}

.criteria-wrapper {
	max-width: 1024px;
	margin: 0.5rem auto;
	padding: 15px; /* 左右のパディングを小さく */
	background-color: #ffffff;
	border-radius: 1.5rem;
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
	border: 1px solid #bfdbfe;
	box-sizing: border-box; /* パディングが幅に影響しないようにする */
}

.main-header {
	padding: 1rem;
	margin-bottom: 2.5rem;
	border-radius: 0.75rem;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1);
	background-image: linear-gradient(to bottom right, #dbeafe, #e0f2fe);
}

.main-header h1 {
	font-size: 1.5rem;
	font-weight: 800;
	text-align: center;
	color: #1e40af;
	letter-spacing: 0.025em;
}

/* グリッドレイアウト */
.feature-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.5rem;
}
.feature-card {
	background-color: #fff;
	padding: 15px 10px;
	border-radius: 0.75rem;
	border: 1px solid #f3f4f6;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
	transition: box-shadow 0.3s ease;
	text-align: center;
}
.feature-card:hover {
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.icon-wrapper {
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	margin: 0 auto 0.5rem;
	font-size: 1.4rem;
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1;
}
.icon-free {
	background-color: rgba(248, 113, 113, 0.9);
	color: #fff;
}
.icon-point {
	background-color: rgba(250, 204, 21, 0.4);
	color: #333;
}
.icon-secure {
	background-color: rgba(96, 165, 250, 0.4);
	color: #1e40af;
}
.feature-card h2 {
	font-size: 1.1rem;
	font-weight: 700;
	color: #1f2937;
	margin: 0;
	line-height: 1.3;
}
@media (max-width: 767px) {
	.icon-wrapper {
		width: 64px;
		height: 64px;
		font-size: 1.2rem;
	}
	.feature-card h2 {
		font-size: 0.9rem;
	}
	.feature-grid {
		gap: 0.25rem;
	}
	.feature-card {
		padding: 10px 5px;
	}
	.ranking-launch-message {
		font-size: 0.9rem;
	}
}
.icon-free { background-color: rgba(248, 113, 113, 0.7); }
.icon-point { background-color: rgba(250, 204, 21, 0.3); }
.icon-secure { background-color: rgba(96, 165, 250, 0.3); }

.feature-card h2 {
	font-size: 1.25rem;
	font-weight: 700;
	color: #1f2937;
	margin-bottom: 0.5rem;
	text-align: center;
}
.feature-card p {
	font-size: 0.875rem;
	color: #4b5563;
	line-height: 1.625;
	text-align: center;
}

@media (max-width: 767px) {
    .feature-card h2 {
        font-size: 1rem; /* 見出しを小さく */
    }
    .feature-card p {
        font-size: 0.75rem; /* 段落を小さく */
    }
    .feature-grid {
        gap: 0.25rem; /* さらに隙間を詰める */
    }
    .feature-card {
        padding: 5px; /* カード内部のパディングも詰める */
    }
}



/*----テーブル----*/
table {
	text-align: center;
	clear: both;
	width: 100%;
	margin: 13px auto 5px;
	border: 1px solid #808080;
}

.hikaku01{
	margin: 5px auto;
	border: 3px double #ccc;
}



th {
	background-color: #f0f7ff;
	border: 1px solid #ccc;
	text-align: center;
	font-size: 13px;
	padding: 2px;
}

@media screen and (max-width: 767px) {
th {
	font-size: 14px;
}
}

@media screen and (max-width: 479px) {
th {
	font-size: 14px;
}
}

td {
	border: 1px solid #ccc;
	text-align: center;
	font-size: 13px;
	padding: 2px;
}

.td_margin01 {
	padding: 5px 10px;
}

.td_margin02 {
	padding: 8px 3px;
}

.search01 td{
	text-align: center;
	background-color: #fdfbdb;
	border: 1px solid #ccc;
	text-align: center;
	font-size: 14px;
	padding: 1px 0 0;
}

/* 店舗一覧 */
table.store{
	margin: 10px auto 5px auto;
}

.store td {
	border: 1px solid #ccc;
	padding: 3px 10px;
	line-height: 1.5;
	text-align: inherit;
}

.thtd_sp_hidden img {
	border: none;
	margin: 0;
}

@media screen and (max-width: 767px) {
.thtd_sp_hidden {
	display: none;
}
}

/*スペックテーブル*/
.spec_table_mini {
	width: 48%;
}

.spec_table_mini th,.spec_table_mini td {
	font-size: 10px;
	padding: 2px;
}

/*----運営者情報----*/
.uneisha {
	width: 95%;
	margin: 20px 10px;
	padding: 0;
}

.uneisha th {
	width: 25%;
	background-color: #f1f1f1;
	text-align: center;
	font-size: 14px;
	padding: 3px 0 0;
}

.uneisha td {
	width: 75%;
	background-color: #fff;
	text-align: left;
	font-size: 14px;
	padding: 3px 0 0 10px;
}

/*----ランキング根拠----*/
.basis_table {
	width: 60%;
	margin: 10px 10px 20px;
}

.basis_table th {
	width: 50%;
	background-color: #f1f1f1;
	text-align: center;
	font-size: 14px;
	padding: 3px 0 0;
}

.basis_table td {
	width: 50%;
	background-color: #fff;
	text-align: center;
	font-size: 14px;
	padding: 3px 0 0 10px;
}
/*----ポイント三つ----*/

.page-style {
	align-items: center;
	justify-content: center;
	font-family: 'Inter', 'Noto Sans JP', sans-serif;
	width: 95%;
	margin-left: auto;
	margin-right: auto;
}

.card-header {
	background-color: #f3f602;
	color: white;
	padding: 0.3rem;
}
.card-title2 {
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	text-align: center;
	color: #0e642e;
	border-bottom: 4px solid #c8dcf9;
}
.point-list
Specificity: (0,1,0)
 {
	padding: 10px;
	display: flex;
	gap: 5px;
	flex-direction: column;
	align-content: center;
}
.point-list p {
	font-size: 1rem;
	color: #111827;
	line-height: 1.625;
	text-align: left;
}
@media (min-width: 768px) {
	.point-list p {
	text-align: center;
}
}

/*----ヘッダー,フッター----*/
header {
	height: auto;
	width: 100%;
	display: flex;
	justify-content: space-between;
}

header img {
	border: none;
	padding: 2px 0;
}

@media screen and (max-width: 479px) {
header img {
	width: 79%;
}
}

.top_pr {
	margin: auto 0;
	font-size: 10px;
	color: #676767;
}

/*----リスト----*/
#footer {
	clear: both;
	padding: 5px 0 0 0;
	box-shadow: 2px 0 3px #e1e1e1;
	background: #eff8f7;
	font-size: 14px;
}

.footer_contents {
    text-align: center;
    overflow: hidden;
    background-color: #90c4ff; /* 清潔感のある薄い青 */
}

@media screen and (max-width: 767px) {
.footer_contents {
	width: 540px;
}
}
@media screen and (max-width: 479px) {
.footer_contents {
	width: 100%;
}
}


.footer_contents a {
	color: #333;
	text-decoration: none;
}

/* 430行目付近：ここを書き換え */
.footer_contents .sitename {
    margin: 0 auto;        /* 上下0、左右オートで中央へ */
    padding: 0;            /* 左パディングをリセット */
    border-bottom: 1px dotted #333;
    font-size: 95%;
    font-weight: bold;
    text-align: center;    /* テキストを中央揃えに */
    display: block;        /* ブロック要素として扱う */
    width: fit-content;    /* 文字の幅に合わせる（下線も文字幅になります） */
}

/* モバイル用のメディアクエリも念のため修正 */
@media screen and (max-width: 767px) {
    .footer_contents .sitename {
        font-size: 16px;
        margin: 0 auto;
        text-align: center;
    }
}

@media screen and (max-width: 479px) {
    .footer_contents .sitename {
        font-size: 14px;
        margin: 0 auto;
        text-align: center;
    }
}

.footer_contents .mokuji_waku {
    float: left;
    padding: 0 0 0 75px;
    text-align: left;
    width: 46%;
}

.footer_contents .groupname {
	margin: 0 0 0 0;
	padding: 0;
	border-bottom: 1px dotted #333;
	font-size: 95%;
	font-weight: bold;
}

.footer_contents li {
	margin: 5px 0 0 0;
	padding: 0 10px 0px 0;
	font-size: 80%;
	list-style:none;
}
@media screen and (max-width: 767px) {
.footer_contents li {
	font-size: 12px;
}
}
@media screen and (max-width: 479px) {
.footer_contents li {
	font-size: 10px;
}
}

.copylights {
	display: block;
	padding: 10px 0;
	text-align: center;
	font-size: 90%;
	background: #fff;
}

address {
	margin: 0 0 20px 0;
	text-align: center;
	font-size: 85%;
	background: #e3e1e1;
}

address a {
	color: #039;
}

.mokuji_waku {
	float: left;
}



/*---リンク---*/
a:hover {
	opacity:0.8;
}

/*----見出し----*/
h1 {
	margin: 0 auto;
	padding: 3px 0 0;
	width: 70%;
	font-size: 24px;
	color: #000000;
	text-align: center;
}

@media screen and (max-width: 979px) {
h1 {
	font-size: 24px;
}
}

@media screen and (max-width: 767px) {
h1 {
	font-size: 18px;
}
}

@media screen and (max-width: 479px) {
h1 {
	font-size: 18px;
	text-align: center;
}
}

h2 {
	position: relative;
	margin: 0 25px;
	text-align: center;
}

h2.hikaku_title {
 font-size: 17px;
        background: linear-gradient(135deg, #1e40af, #3b82f6);
        height: 40px;
        border-radius: 12px 12px 0px 0px;
        margin: 0 auto -14px auto;
        border: 1px solid #ccc;
        border-bottom: none;
        color: white;
        padding: 6.5px 0;
        text-align: center;
        font-weight: bold;
        box-sizing: border-box;
        position: relative;
        z-index: 10;
}

@media screen and (min-width: 376px) {
h2.hikaku_title {
	font-size: 18px;
}
}

h3 {
	font-size: 16px;
	margin: 10px 10px 0;
	font-weight: bold;
}

h4 {
	border-bottom: 2px dotted #0d355a;
	border-left: 4px solid #0d355a;
	margin: 15px 5px 5px;
	padding: 3px 10px;
	font-size: 22px;
	clear: both;
}

@media screen and (max-width: 979px) {
h4 {
	font-size: 24px;
}
}

@media screen and (max-width: 767px) {
h4 {
	font-size: 22px;
}
}

@media screen and (max-width: 479px) {
h4 {
	font-size: 18px;
}
}

h4.pickup_midashi01{
	border: none;
	border-radius: 5px 5px 0 0;
	text-align: center;
	background: #0079969c;
	color: white;
	font-weight: normal;
	margin: 25px 30px 0px;
	padding: 3px 10px;
	clear: both;
}

h5 {
	padding: 3px 10px;
	font-size: 18px;
	border-bottom: dashed 1px #9E9E9E;
    padding: 15px;
}

h5#best01 {
    background: url(/img/parts/ptn01.jpg);
    font-size: 20px;
    height: 54px;
    padding: 15px;
	border-radius: 10px 10px 0 0;
}

h5#best02 {
    background: url(/img/parts/ptn02.jpg);
    font-size: 20px;
    height: 54px;
    padding: 15px;
	border-radius: 10px 10px 0 0;
}

h5#best03 {
    background: url(/img/parts/ptn03.jpg);
    font-size: 20px;
    height: 54px;
    padding: 15px;
	border-radius: 10px 10px 0 0;
}

h6 {
	width: 100%;
	margin: 10px 5px 3px;
	padding: 5px 32px;
	height: 30px;
}

.title {
	padding: 10px 10px;
	margin: 0 auto;
}

.date {
	float: right;
	padding: 5px 5px 0 0;
	color: #fff;
}

.tag {
	background-color: #fb005d;
	font-size: 12px;
	margin: 10px 0 0 10px;
	color: #fff;
	border-radius: 2px;
	padding: 4px 5px;
}

/*----見出し追記----*/
.search_headder01 h2{
	font-size: 20px;
	margin: 15px 0 0 0;
	padding: 6px;
	text-align: center;
	background: #246d60;
	color: #FFFFFF;
}

/*----メインコンテンツ----*/
.text {
	width: 100%;
	margin: 0 auto;
	padding: 5px 5px;
}

/*----ボタン----*/
.btn01 {
	color: #fff;
	margin: 0 auto;
	font-size: 16px;
	text-align: center;
}

.btn02 {
	color: #fff;
	margin: 0 auto;
	font-size: 18px;
	text-align: center;
}

.btn03 {
	color: #fff;
	margin: 0 auto;
	font-size: 14px;
	text-align: center;
}

.button01 {
	display: block;
	position: relative;
	background-color: #E83C5D;
	border-radius: 15px;	
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #bbb;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	padding: 10px 10px;
	overflow: hidden;
	width: 75%;
	margin: 5px auto 30px auto;
}

.button02 {
	display: block;
	position: relative;
	background-color: #f13652;
	border-radius: 4px;
	color: #fff;
	line-height: 10px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 1px 0 #bbb;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	padding: 3px 1px;
	overflow: hidden;
	width: 70%;
	margin: 10px 5px;
}

.button03 {
	display: block;
	position: relative;
	background-color: #289a3e;
	border-radius: 4px;	
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #bbb;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	overflow: hidden;
	width: 75%;
	margin: 15px auto;
}

@media screen and (max-width: 767px) {
.button03 {
	width: 90%;
}
}

.button03 a {
	color: #fff;
	font-size: 16px;
}

.button04 {
	display: block;
	position: relative;
	background-color: #fb98a3;
	border-radius: 15px;	
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #bbb;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	padding: 5px 30px;
	overflow: hidden;
	width: 85%;
	margin: 15px auto;
}

.button05 {
	display: block;
	position: relative;
	background-color: #E83C5D;
	border-radius: 15px;	
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 0 #bbb;
	text-shadow: 0 1px 1px rgba(0, 0, 0, .3);
	padding: 5px 10px;
	overflow: hidden;
	width: 75%;
	margin: 15px auto;
}

/*検索ボックスボタン*/
.button_search {
	display: block;
	position: relative;
	-webkit-transition: none;
	transition: none;
	padding: 5px 10px;
	overflow: hidden;
	width: 80%;
	margin: 10px auto;
	/* border-top: 1px solid #c5c5c5; */
	/* border-right: 1px solid #c5c5c5; */
	/* border-bottom: 3px solid #96d800; */
	/* border-left: 1px solid #c5c5c5; */
	background: #ed2f2f;
}

@media screen and (max-width: 979px) {
.button_search {
    width: 78%;
}
}

@media screen and (max-width: 695px) {
.button_search {
    width: 80%;
    /* height: 40%; */
    border-radius: 10px;
}
}

.reflection {
	background-color: #fff;
	height: 100%;
	width: 30px;
	top: -180px;
	left: 0;
	position: absolute;
	opacity: 0;
	transform: rotate(45deg);
	animation: reflection 3s ease-in-out infinite;
	-webkit-transform: rotate(45deg);
	-webkit-animation: reflection 3s ease-in-out infinite;
	-moz-transform: rotate(45deg);
	-moz-animation: reflection 3s ease-in-out infinite;
	-ms-transform: rotate(45deg);
	-ms-animation: reflection 3s ease-in-out infinite;
	-o-transform: rotate(45deg);
	-o-animation: reflection 3s ease-in-out infinite;
}

@keyframes reflection {
	0% { transform: scale(0) rotate(45deg); opacity: 0; }
	80% { transform: scale(0) rotate(45deg); opacity: 0.5; }
	81% { transform: scale(4) rotate(45deg); opacity: 1; }
	100% { transform: scale(50) rotate(45deg); opacity: 0; }
}

.hikaku_btn {
	display: block;
	position: relative;
	background-color: #ff0000;
	border-radius: 4px;
	color: #fff;
	line-height: 11px;
	transition: none;
	box-shadow: 0 3px 0 #bbb;
	text-shadow: 0 1px 1px rgb(0 0 0 / 30%);
	padding: 3.5px 6px;
	overflow: hidden;
	width: 100%;
	margin: 5px auto;
}

.hikaku_btn:hover {
  background-color: #ff00009e;
}

.hikaku_btn:active {
  transform: translateY(2px);
}

/*-------------------------ランキングボックスボタン------------------------------------*/
.koshiki_btn {
	display: block;
	position: relative;
	border-radius: 4px;
	background: linear-gradient(0deg, rgba(204, 1, 2, 1), rgba(250, 3, 3, 1) 50%, rgba(204, 1, 2, 1));
	color: #fff;
	line-height: 52px;
	-webkit-transition: none;
	transition: none;
	box-shadow: 0 3px 3px #6c6464;
	text-shadow: 0 2px 2px rgba(0, 0, 0, .3);
	padding: 15px;
	overflow: hidden;
	width: 75%;
	margin: 4% auto 3% auto;
}

@media screen and (max-width: 767px) {
.koshiki_btn {
	width: 90%;
}
}

@media screen and (min-width: 820px) {
.koshiki_btn {
	margin: 0 auto 2% auto;
}
}

.koshiki_btn a {
	color: #fff;
	font-size: 16px;
}

.koshiki_btn:hover {
  background-color: #ff00009e;
}

.koshiki_btn:active {
  transform: translateY(2px);
}

.koshiki_btn02 {
	display: block;
	position: relative;
	border-radius: 4px;
	background: #ff0000c4;
	color: #fff;
	padding: 5px;
	overflow: hidden;
	width: 75%;
	margin: 4% auto 3% auto;
}

@media screen and (max-width: 767px) {
.koshiki_btn02 {
	width: 90%;
}
}

.koshiki_btn02 a {
	color: #fff;
	font-size: 16px;
}

.koshiki_btn02:hover {
  background-color: #ff00009e;
}

.koshiki_btn02:active {
  transform: translateY(2px);
}

.button_text {
	color: #fff !important;
	margin: 0 auto;
	font-size: 16px;
	text-align: center;
}

.button_text2 {
	color: #fff !important;
	margin: 0 auto;
	font-size: 19px;
	text-align: center;
}

.btn_under_text {
	font-size: 11px;
	display: block;
	margin: 0 20px 5%;
}

h5 img {
	border: none;
}

h5 a {
	color: #333;
	text-decoration: underline;
	font-size: 20px;
}

/*ランキングボックス*/
.box01,.box02,.box03,.box04,.box05,.box06,.box07,.box08,.box09,.box010 {
	margin: 20px 5px 20px 5px;
	background: #fff;
	border-radius: 10px;
	border-color: #cbc5c5;
	border-width: 1px;
	box-shadow: 0 2px 2px 0 rgba(0,0,0,.14), 0 3px 1px -2px rgba(0,0,0,.12), 0 1px 5px 0 rgba(0,0,0,.2);
}

.box01 {
	border-color: #eed932;
}

.box02 {
	border-color: #a2a1a1b3;
}

.box03 {
	border-color: #803f31ad;
}

.box04,.box05,.box06,.box07,.box08,.box09,.box010 {
	padding: 0 5px;
}

/*王冠アイコン設定*/
.box01 h5 img, .box02 h5 img, .box03 h5 img {
	border: none;
	margin: -9px 0 0;
	animation: 3s ease 0s normal none infinite running spin;
}

@keyframes spin {
	0% {
	transform: rotateY(0deg);
}
	70% {
	transform: rotateY(0deg);
}
	100% {
	transform: rotateY(360deg);
}
}

.box04 h5 img, .box05 h5 img, .box06 h5 img, .box07 h5 img, .box09 h5 img, .box10 h5 img {
	border: none;
	margin: -4px 0 0;
}

.box_waku {
	max-width: 600px;
	margin: auto;
}

@media screen and (min-width: 820px) {
.box_waku {
	max-width: 700px;
}
}

.rankingbox_title {
	margin: 20px auto 10px;
	padding: 10px 0 0 0;
}

.rankingbox_title_label {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 20px auto 15px;
	padding: 0;
}

.rankingbox_title_label_text {
	position: relative;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	padding: 15px;
	border-radius: 999px;
	background-color: #3c84f2d1;
	color: #fff;
	line-height: 1;
	font-weight: 700;
	text-align: center;
}

.rankingbox_title_label_text:after {
	content: "";
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	display: block;
	border: 5px solid transparent;
	border-top: 8px solid #00a597;
}

.rankingbox_title_text {
	margin: 0 auto;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 700;
	text-align: center;
	position: relative;
	color: #00a597;
}

.rankingbox_background {
	width: 100%;
	position: relative;
	display: block;
	margin: 0px auto;
	padding: 0 5px 2px;
	background-color: #F3FFD8;
	border-radius: 0 0 10px 10px;
}

/*イントロ*/
.intro01 {
	margin: 5px;
	font-weight: bold;
	font-size: 17px;
	text-align: center;
}

@media screen and (max-width: 479px) {
.intro01 {
	font-size: 16px;
}
}

/*----------------------------------------------*/
/*料金*/
.icon_fee {
	background: url(/img/icon/money_box-48.png) no-repeat -1px 1px;
	background-size: 30px;
}

/*おすすめ*/
.icon_recommend {
	background: url(/img/icon/very_popular_topic-48.png) no-repeat 2px 5px;
	padding: 5px 30px;
	font-size: 16px;
	margin-bottom: 5px;
	background-size: 24px;
	font-weight: bold;
	border-bottom: solid 1px #8080807a;
}

/*ポイント*/
.icon_point {
	background: url(/img/icon/checked_2-48.png) no-repeat 3px 6px;
	background-size: 18px;
	margin-bottom: 3px;
}

/*注意アイコン*/
.icon_caution {
	background: url(/img/icon/sdesign_00050.png) no-repeat 3px 3px;
	padding: 6px 35px;
	font-size: 16px;
	margin-bottom: 5px;
	background-size: 26px;
	font-weight: bold;
}

.icon_popular {
	background: url(/img/icon/very_popular_topic-48.png) no-repeat 0 3px;
	background-size: 30px;
}

/*----------------------------------------------*/

.logo_frame {
	display: inline-block;
	text-align: center;

}

.star_rate {
	margin: 10px 0 15px;
	text-align: center;
}

.star_rate2 {
	margin: 0;
	text-align: center;
}

.reputation_star{
	width: 20px;
	height: auto !important;
}

.reputation{
	padding: 6px 2px 0 21px;
    font-size: 14px;
    font-weight: bold;
	margin: 0 0 5px 0;
}

@media screen and (min-width: 360px) {
.reputation{
	padding: 6px 5px 0 30px;
    font-size: 14px;
    font-weight: bold;
}
}

@media screen and (min-width: 375px) {
.reputation{
	padding: 6px 5px 0 37px;
    font-size: 14px;
    font-weight: bold;
}
}

@media screen and (min-width: 414px) {
.reputation{
	padding: 6px 10px 0 41px;
    font-size: 14px;
    font-weight: bold;
}
}

@media screen and (min-width: 768px) {
.reputation{
	padding: 6px 10px 0 130px;
    font-size: 16px;
    font-weight: bold;
}
}

.lying_left{
	float: left;
    clear: both;
    display: flex;
}

.img_frame {
	display: block;
	margin: 0 auto;
}

/*----------------------------------------------*/

/*画像キャプション*/
.img-caption{
	text-align: center;
}

.img-caption .text_small{
	font-size: 14px;
}

/*タイトルボックス*/
.heading_box01{
	font-size: 20px;
	padding: 10px 0;
	text-align: center;
	font-weight: bold;
}


/*padding 変更*/

.yohaku{
	padding: 0 10px;
	width: 100%;
	margin: 0 auto;
}

.yohaku p{
	font-size: 17px;
}

/*---- フォーム ----*/
input[type=checkbox]{
	display: none;
}

input[type=radio]{
	display: none;
}

.form_box02 {
	clear: both;
}

.form_box02 > ul {
	display: table;
	width: 100%;
	font-size: 14px;
	margin: 0 0 5px 0;
	padding: 5px 0 5px 10px;
	border: 1px solid #d1d1d1;
}

.form_box02 > ul > li {
	display: table-cell;
	vertical-align: middle;
	padding: 8px 5px 8px 10px;
}

.form_box02 > ul > li:first-child {
	width: 25%;
	border-right: 1px solid #e1e1e1;
	padding: 0 5px 0 0;
	font-weight: bold;
}
ul.form_koumoku {
	padding: 0;
}

.form_koumoku li {
	display: inline-block;
	padding: 0 10px 5px 0;
}

.form_koumoku input {
	margin: 0 0 0 0;
	vertical-align: top;
}

.form_koumoku label {
	vertical-align: middle;
	display: block;
	background-color: #f8f8f8;
	overflow: hidden;
	border-radius: 15px;
	padding: 3px;
	text-decoration: underline;
	color: blue;
	cursor: pointer;
	margin: 1px;
}

.form_koumoku input[type=radio]:checked ~ label {
	background-color: #b3d4fc;
}

.form_koumoku input[type=checkbox]:checked ~ label {
	background-color: #b3d4fc;
}

.select_koumoku {
	width: 65%;
	border: 1px solid #bbbbbb;
	background-color: white;
	border-radius: 15px;
	appearance: none;
	-webkit-appearance: none;
	padding: 0 0 0 10px;
}

ul.select li.form_arrow {
	position: relative;
	padding-right: 30px;
}

ul.select li.form_arrow select.select_koumoku {
	position: absolute;
	top: 0;
}

ul.select li.form_arrow::after {
	content: "\25BC";
	font-size: 10px;
	position: absolute;
	right: 34%;
	transform: translateY(-43%);
}

ul.popular_waku {
	border-color: #9E9E9E;
	border-style: inherit;
	border-width: 1px 1px 1px;
	border-radius: 1rem;
	background-color: #ffeb3b29;
	margin: 5px;
	padding: 5px 0 7px 27px;
	list-style-type: disclosure-closed;
}

div.popular_waku {
	border-color: #9E9E9E;
	border-style: inherit;
	border-width: 1px 1px 1px;
	border-radius: 1rem;
	background-color: #ffeb3b29;
	padding-block-end: 7px;
	margin: 5px;
	padding: 5px;
}

.popular_waku p {
	font-size: 14px;
}


.button_box {
	text-align: center;
}

.submit {
	width: 100%;
}

input#slider1, input#slider2, input#slider3 {
    width: 45%;
	margin: 3px auto;
}

button#decrease1,button#decrease2,button#increase1,button#increase2 {
	border: solid 1px #80808040;
	width: 28px;
	height: 28px;
	padding: 0px;
	border-radius: 5px;
	background: #fff;
	box-shadow: 0 1px 0 rgb(0 0 0 / 12%);
	font-size: 18px;
}

div.clinic_for_pr{
	font-size: 10px;
	text-align: right;
}

/*---- アコーディオン ----*/
div.changed{
	display: none
}
input[type=checkbox]:checked ~ div.changed {
	display:block;
}

.accordion{
	display: block;
	margin: 0px 0px 10px 0px;
	padding: 5px;
	width: 155px;
	font-size: 13px;
	line-height: 24px;
	cursor: pointer;
	float: right;
	border: 1px solid #c5c5c5;
    background: linear-gradient(to bottom, rgb(255,255,255) 0%,rgb(255,255,255) 52%,rgb(241,241,241) 52%,rgb(244,244,244) 100%);
}

#toggle{
	display: none;
}

.search-icon{
	background: url(/img/icon/idea-48.png) no-repeat right center;
	display: block;
	background-size: 25px 25px;
	padding-right: 25px;
}

/*---- リボン ----*/
.ribbon01 {
	background: #27b200;
	color: #FFF; 
	width: 85%;
	height: 55px;
	line-height: 55px; 
	margin: 5px auto 15px auto;
	display: block;
	position: relative;
	text-align: center;
	font-size: 16px;
	-webkit-clip-path: polygon(0% 20%, 90% 20%, 90% 0%, 100% 50%, 90% 100%, 90% 80%, 0% 80%);
	clip-path: polygon(0% 20%, 90% 20%, 90% 0%, 100% 50%, 90% 100%, 90% 80%, 0% 80%);
}

.ribbon02 {
	display: block;
	position: relative;
	height: 30px;
	line-height: 30px;
	margin: 0 0 15px;
	text-align: center;
	font-size: 16px;
	background-color: rgb(10 91 77 / 80%);
	color: #FFF;
}

.ribbon03 {
	width: 30%;
	border: 1px solid black;
	margin: 5px auto 15px auto;
	display: block;
	position: relative;
	text-align: center;
	font-size: 16px;
}

.ribbon03:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 12px;
  border-color: transparent transparent transparent #333;
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -12px;
}

.ribbon_search {
	margin: 0 0 5px 0;
	padding: 5px 0;
	text-align: center;
	font-size: 16px;
	border-top: 1px solid #c5c5c5;
	border-right: 1px solid #c5c5c5;
	border-bottom: 3px solid #006aff;
	border-left: 1px solid #c5c5c5;
	font-weight: bold;
	background: rgb(255,255,255);
	background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/Pgo8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEgMSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ibm9uZSI+CiAgPGxpbmVhckdyYWRpZW50IGlkPSJncmFkLXVjZ2ctZ2VuZXJhdGVkIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjAlIiB5MT0iMCUiIHgyPSIwJSIgeTI9IjEwMCUiPgogICAgPHN0b3Agb2Zmc2V0PSIwJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUyJSIgc3RvcC1jb2xvcj0iI2ZmZmZmZiIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjUyJSIgc3RvcC1jb2xvcj0iI2YxZjFmMSIgc3RvcC1vcGFjaXR5PSIxIi8+CiAgICA8c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNmNGY0ZjQiIHN0b3Atb3BhY2l0eT0iMSIvPgogIDwvbGluZWFyR3JhZGllbnQ+CiAgPHJlY3QgeD0iMCIgeT0iMCIgd2lkdGg9IjEiIGhlaWdodD0iMSIgZmlsbD0idXJsKCNncmFkLXVjZ2ctZ2VuZXJhdGVkKSIgLz4KPC9zdmc+);
	background: -moz-linear-gradient(top,  rgb(255,255,255) 0%, rgb(255,255,255) 52%, rgb(241,241,241) 52%, rgb(244,244,244) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(255,255,255)), color-stop(52%,rgb(255,255,255)), color-stop(52%,rgb(241,241,241)), color-stop(100%,rgb(244,244,244)));
	background: -webkit-linear-gradient(top,  rgb(255,255,255) 0%,rgb(255,255,255) 52%,rgb(241,241,241) 52%,rgb(244,244,244) 100%);
	background: -o-linear-gradient(top,  rgb(255,255,255) 0%,rgb(255,255,255) 52%,rgb(241,241,241) 52%,rgb(244,244,244) 100%);
	background: -ms-linear-gradient(top,  rgb(255,255,255) 0%,rgb(255,255,255) 52%,rgb(241,241,241) 52%,rgb(244,244,244) 100%);
	background: linear-gradient(to bottom,  rgb(255,255,255) 0%,rgb(255,255,255) 52%,rgb(241,241,241) 52%,rgb(244,244,244) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f4f4f4',GradientType=0 );
}

/*---- 【トップ】地域名----*/
#top_location_text {
	position: absolute;
	right: 0%;
	top: 72%;
	width: 26%;
	height: 45px;
	line-height: 45px;
	text-align: center;
	background-color: #00b0ba9c;
	color: white;
	border-radius: 50%;
	font-size: 15px;
}

@media screen and (min-width: 376px) {
#top_location_text {
	top: 75%;
}
}

@media screen and (min-width: 415px) {
#top_location_text {
	top: 78%;
}
}

@media screen and (min-width: 480px) {
#top_location_text {
	top: 85%;
}
}

@media screen and (min-width: 768px) {
#top_location_text {
	top: 86%;
}
}

@media screen and (min-width: 980px) {
#top_location_text {
	top: 89%;
}
}

.top_location_waku {
	position: relative;
	width: 100%;
	height: auto;
}

/*---- ダウンバナー---*/
.downbanner{
	margin: 30px 0 0 0;
}

.midashi{
	background-color: #f0e4d787;
}

.spec_img {
	width: 38%;
	max-width: 50px;
}

.spec_img2 {
	width: 25%;
	max-width: 35px;
}

.under01{
	padding: 3px 5px 8px 5px !important;
}

.under02{
	padding: 3px 4px 8px 4px !important;
	text-align: left;
}

.under03{
	padding: 0 !important;
}

.hikaku .under{
	text-decoration: underline;
}


.hikaku_text01{
	font-weight: bold;
	font-size: 11px;
}

.hikaku{
	border: 3px double #ccc;
}

.hikaku-img {
	vertical-align: top;
	padding-top: 10px;
	padding-bottom:5px;
}

.hikaku_emphasis{
	border-right: 3px solid #ff7171;
	border-left: 3px solid #ff7171;
}

.hikaku_emphasis2{
	background-color: #ff7171;
	border: 3px solid #ff7171;
	padding: 2px;
	color: white;
	border-top-left-radius: 5px;
    border-top-right-radius: 5px;
}

.hikaku_emphasis3{
	border-bottom: 3px solid #ff7171;
	border-right: 3px solid #ff7171;
	border-left: 3px solid #ff7171;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.hikaku_head{
	background-color: #FFF0F0;
}

.hikaku_weak{
	background-color: #bbbbbb0d;
}

.hikaku_panel{
	padding: 10px 0 0 0;
}

.hikaku_panel ul{
	display: table;
	width: 100%;
	padding: 0 0 10px 0;
}

.hikaku_panel li{
	display: table-cell;
	width: 33%;
	text-align: center;
	padding: 0 5px;
}

/*---- 矢印表示　---*/
.arrow {
    width: 0;
    margin: 10px auto; 
    border-style: solid;
    /* 左右を 150px から 100px 程度に小さくする、または vw を使う */
    border-width: 30px 100px 0 100px; 
    border-color: #6380e1 transparent transparent transparent;
    margin-top: 15px;
    margin-bottom: 15px;
    animation: flash 1s infinite;
    animation-direction: alternate;
    animation-play-state: running;
}

/* さらに念押しで、画面幅が狭いスマホ用の設定を追加 */
@media screen and (max-width: 375px) {
    .arrow {
        border-width: 20px 80px 0 80px; /* もっと思い切って小さくする */
    }
}

.arrow2 {
	width: 0px;
	margin: 15px auto;
	border-style: solid;
	border-width: 40px 140px 0 140px;
	border-color: #8bc34aa3 transparent transparent transparent;
}
/*-------------------------------------------------------------------*/

/*最短で借りる3ステップ*/
.small_heading01 {
	background: #27b200;
	color: white;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.1;
	text-align: center;
	border-radius: 20px;
	padding: 5px;
	margin: 0 auto;
}

.column_area01 {
	display: flex;
	justify-content: center;
	margin: 5px auto;
}

.column_area01 h2 {
	font-size: 30px;
	margin: 6px 0;
	white-space: nowrap;
	font-weight: 700;
	line-height: 1;
}

@media screen and (max-width: 641px) {
.column_area01 h2 {
	margin-top: 5px;
	font-size: 24px;
}
}

.column_area01 dt img {
	width: 80px;
	margin: -10px 0 0 0;
}

@media screen and (max-width: 641px) {
.column_area01 dt img {
	width: 70px;
	margin: -5px 0 0 -5px;
}
}

.column_area01 dd {
	width: calc(%);
	text-align: left;
}

.column_area01 dd h2 span {
	font-size: 36px;
	color: #d61e1d;
}

@media screen and (min-width: 820px) {
	.column_area02 {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 5px auto;
		padding: 10px
	}

	.column_area02 h2 {
		font-size: 30px;
		margin: 6px 0;
		white-space: nowrap;
		font-weight: 700;
		line-height: 1;
	}

	.column_area02 dt img {
		width: 80px;
		margin: -10px 0 0 0;
	}

	.column_area02 dd {
		width: calc(%);
		text-align: left;
	}

	.column_area02 dd h2 span {
		font-size: 36px;
		color: #d61e1d;
	}
}

/*クロージングコンテンツ（アコーディオン）*/
.ac {
	margin: 0 auto;
}

.ac-parent {
	position: relative;
	height: 40px;
	transition: .3s;
	color: #ffffff;
	margin: 0 0 5px 0;
	padding: 5px 0;
	text-align: center;
	border-top: 1px solid #c5c5c5;
	border-right: 1px solid #c5c5c5;
	border-bottom: 3px solid #3b7c71;
	border-left: 1px solid #c5c5c5;
	font-weight: bold;
	background: -moz-linear-gradient(top,  rgb(255,255,255) 0%, rgb(255,255,255) 52%, rgb(241,241,241) 52%, rgb(244,244,244) 100%);
	background: -o-linear-gradient(top,  rgb(255,255,255) 0%,rgb(255,255,255) 52%,rgb(241,241,241) 52%,rgb(244,244,244) 100%);
	background: -ms-linear-gradient(top,  rgb(255,255,255) 0%,rgb(255,255,255) 52%,rgb(241,241,241) 52%,rgb(244,244,244) 100%);
	background: #3b7c71;
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f4f4f4',GradientType=0 );
}

@media screen and (max-width: 979px) {
.ac-parent {
	font-size: 24px;
}
}

@media screen and (max-width: 767px) {
.ac-parent {
	font-size: 22px;
}
}

@media screen and (max-width: 479px) {
.ac-parent {
	font-size: 18px;
}
}

.ac-child__item {
	position: relative;
	padding: 3%;
	margin: 0.25% 0.5%;
	line-height: 1;
	border-bottom: 1px solid #3b7c71;
	/* background-color: #f9f8e9!important; */
	cursor: pointer;
	width: 100%;
	float: left;
	font-size: 16px;
}

/* 下層メニューアイコン */
.ac-child__item:after {
	content: "";
	display: block;
	position: absolute;
	top: 40%;
	right: 16px;
	width: 8px;
	height: 8px;
	border-top: solid 2px #333;
	border-right: solid 2px #333;
	transform: translateY(-50%);
	transform: rotate(135deg);
	transition: all .3s;
}

/* 下層メニュー内テキストエリア */
.ac-child__description {
	padding: 1em;
	clear: both;
}

/* 下層アイコン変化 */
.ac-child__item.open:after {
	top: 50%;
	transform: rotate(315deg);
}

dd.ac-child {
	overflow: hidden;
}

dt .text_verysmall{
	font-size: 10px;
	color: #004c7a;
}

.ac-child dd{
	font-size: 15px;
}

@media screen and (max-width: 768px){
.ac-child dd{
	font-size: 14px;
}
}

@media screen and (max-width: 414px){
.ac-child dd{
	font-size: 13px;
}
}

.ac-child__item.open{
	background-color: #f9f8e9!important;
}

.ac-nomargin {
	margin: 5px 0 2px 0;
	text-align: center;
	border-left: none;
}

.store_img_margin {
	margin: 1px;
}

.step_heading {
	margin: 10% auto 0;
	width: 75%;
}

@media screen and (max-width: 767px) {
.step_heading {
	width: 90%;
}
}

@media screen and (min-width: 820px) {
.step_heading {
	margin: 6% auto 0;
}
}

.step_heading .countdown {
	font-size: 16px;
	background-color: rgb(10 91 77 / 89%);
	color: white;
	font-weight: normal;
	margin: 0 auto 1%;
    border-radius: 30px;
}

.countdown-hour, .countdown-min, .countdown-sec {
	color: #ff0;
}

/* 下層アイコンimg */
.ac-child__item img {
	width: 20px;
}

/*---スペックオン・オフ表---*/
.spec_table{
	border-collapse: separate;
	border-spacing: 8px 8px;
	border: none;
	margin: 3px auto 5px;
}

.spec_table td{
	border: none;
	font-size: 12px;
	padding: 6px 0;
}

/*---スペックテーブル---*/
.spec_table_ranking {
	margin: 8px auto 5px;
	width: 98%;
}

@media screen and (min-width: 820px) {
.spec_table_ranking {
	width: 95%;
	margin: 0px auto;
}
}

.spec_table_ranking td {
	padding: 2px;
}

.spec_table_ranking th {
	background-color: #eff8f7;
}

/*---ランキングテーブル---*/
.page-layout {
	font-family: 'Inter', sans-serif;
	background-color: #f3f4f6;
	margin: 0;
	overflow-x: hidden;
}

@media (min-width: 1024px) {
	.page-layout {
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
	}

	.card-footer-info {
		max-width: 800px;
		width: 80%;
		margin: 0 auto;
		padding: 0 10px;
	}
}
.ranking-container {
	width: 95%;
	margin: 3px auto;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5rem;
}
.card {
	width: 100%;
	background-color: #f3f6022b;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #cbc5c5;
	box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14), 0 3px 1px -2px rgba(0, 0, 0, .12), 0 1px 5px 0 rgba(0, 0, 0, .2);
	margin: 5px auto;
	box-sizing: border-box;
}
@media (max-width: 600px) {
.card {
	width: 95%;
}
}
.header {
	background-color: #f9fafb;
	text-align: center;
	font-weight: 700;
	color: #1f2937;
}
.card-divider {
	height: 2px;
	background-color: #cbd5e1;
	width: 100%;
}
.content {
display: flex;
justify-content: center;
align-items: center;
}

@media (min-width: 601px) {
.content {
min-height: 65px;
}
}
.content img {
	height: 35px;
}
.content .jcb-logo {
	height: 50px;
}


/*---画像スライダー---*/
.sliderArea {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 25px;
}
.sliderArea.w300 {
  max-width: 300px;
}
.slick-slide {
  margin: 0 5px;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
.slick-prev, .slick-next {
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
}
.slick-slide {
  transition: all ease-in-out .3s;
  opacity: .2;
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
.thumb {
  margin: 20px 0 0;
}
.thumb .slick-slide {
  cursor: pointer;
}
.thumb .slick-slide:hover {
  opacity: .7;
}


/*---冒頭タブ切り替え---*/
.tabs {
	margin-top: 50px;
	padding-bottom: 15px;
	background-color: #fff;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
	margin: 0 auto;
}

@media screen and (min-width: 820px) {
.tabs {
	width: 85%;
}
}

.tab_item {
	width: calc(100%/2);
	padding: 8px;
	border-bottom: 3px solid #009688;
	background-color: #d9d9d9;
	text-align: center;
	color: #565656;
	display: block;
	float: left;
	font-weight: bold;
	transition: all 0.2s ease;
	cursor: pointer;
}

.tab_item:hover {
	opacity: 0.75;
}

input[name="tab_item"] {
	display: none;
}

.tab_content {
	display: none;
	padding: 5px 5px 0;
	clear: both;
	overflow: hidden;
}

#main:checked ~ #main_content,#sub:checked ~ #sub_content{
	display: block;
}

#main_hikaku:checked ~ #main_hikaku_content,#sub_hikaku:checked ~ #sub_hikaku_content{
	display: block;
}

.tabs input:checked + .tab_item {
	background-color: #009688;
	color: #fff;
}

.pickup_flex_contents {
	display: flex;
	justify-content: space-between;
	margin: 5px auto;
}

.pickup_flex_contents div {
	width: calc(100%/2);
}

.pickup_table01 {
	margin: 5px auto;
}

.pickup_table01:nth-of-type(1) {
	border: 2px solid #80808070;
}

.pickup_table01 .frame_text {
	font-size: 13px;
}

/*---注釈アコーディオン---*/
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	position: relative;
}
.cp_box label {
	position: absolute;
	z-index: 1;
	bottom: 0;
	width: 100%;
	height: 140px; /* グラデーションの高さ */
	cursor: pointer;
	text-align: center;
	background: linear-gradient(to bottom, rgba(250, 252, 252, 0) 0%, rgba(250, 252, 252, 0.95) 70%);
}
.cp_box input:checked + label {
	background: inherit; /* 開いた時にグラデーションを消す */
}
.cp_box label:after {
	line-height: 2rem;
	font-size: 14px;
	position: absolute;
	z-index: 2;
	bottom: 20px;
	width:7rem;
	content: '続きを読む';
	transform: translate(-50%, 0);
	color: #ffffff;
	border-radius: 20px;
	background-color: #9E9E9E;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	overflow: hidden;
	height: 150px; /* 開く前に見えている部分の高さ */
	transition: all 0.5s;
}
.cp_box input:checked + label {
	/* display: none ; 閉じるボタンを消す場合解放 */
}
.cp_box input:checked + label:after {
	content: '閉じる';
}
.cp_box input:checked ~ .cp_container {
	height: auto;
	padding-bottom: 55px; /* 閉じるボタンのbottomからの位置 */
	transition: all 0.5s;
}

.subcontents01{
	border: 1px solid #e1e1e1;
	background: #ffffb93d;
	font-size: 12px;
	padding: 4px 2px;
}

.calender_waku_in{
	display: inline-block;
}

.calender_waku_out{
	text-align: center;
}

body {
	font-family: 'Inter', 'Noto Sans JP', sans-serif;
	background-color: #f5faff;
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.card-container {
	width: 100%;
	margin: 0 auto;
	background-color: #ffffff;
	border: none;
	border-radius: 16px;
	box-shadow: 0 15px 30px rgba(40, 50, 90, 0.08), 0 5px 12px rgba(40, 50, 90, 0.05);
	padding: 5px;
	margin-bottom: 10px;
}

.ranking-card {
	border: 2px solid #0077B6;
	box-shadow: 0 15px 30px rgba(40, 50, 90, 0.15);
	padding: 10px;
}

.card-title {
	font-size: 1.8rem;
	color: #16285B;
	text-align: center;
	padding-bottom: 5px;
	border-bottom: 4px solid #c8dcf9;
	margin-top: 0;

}


.reason-section {
	margin-bottom: 10px;
	margin-top: 5px;
	padding: 5px;
	background-color: #f0f7ff;
	border-left: 5px solid #0077B6;
	border-radius: 8px;
}

.reason-section h2 {
	font-size: 1.3rem;
	color: #0077B6;
	margin-top: 5px;
	margin-bottom: 5px;
	text-align: left !important;
	text-decoration: underline;
	text-decoration-color: #0077B6;
	text-decoration-thickness: 2px;
}

.reason-section p {
	line-height: 1.8;
	color: #333333;
	text-align: left;
}


.final-message {
	text-align: center;
	font-weight: bold;
	font-size: 1.1rem;
	color: #16285B;
}

.selection-guide-title {
	font-size: 1.5rem;
	color: #00BFFF;
	text-align: center;
	padding: 10px 0;
	margin-top: 10px;
	margin-bottom: 20px;
	border: 2px solid #00BFFF;
	border-radius: 8px;
	background-color: #faffff;
}

.guide-point {
	margin-bottom: 15px;
	padding: 10px 0;
	border-bottom: 1px dashed #cccccc;
}

.guide-point strong {
	background-image: linear-gradient(transparent 60%, #FFD700 40%);
	background-repeat: no-repeat;
	background-size: 100% 1.2em;
	background-position: 0 95%;
	padding-bottom: 0;
	padding: 10px;
}
.selection-criteria-title {
	font-size: 1.5rem;
	color: #16285B;
	text-align: center;
	padding: 15px;
	margin-top: 0;
	margin-bottom: 25px;
	border: none;
	border-radius: 8px;
	background-color: #e3f2ff;
	font-weight: bold;
	box-sizing: border-box;
}

.criteria-item {
	margin-bottom: 20px;
	padding: 10px 15px;
	border-left: 5px solid #0077B6;
	background-color: #ffffff;
	border-radius: 4px;
}

.criteria-item strong {
	color: #16285B;
	font-size: 1.2em;
	margin-right: 8px;
}

.ranking-launch-message {
	text-align: center;
	font-weight: 900;
	font-size: 1.3rem;
	color: #ffffff;
	background: linear-gradient(135deg, #1e40af, #3b82f6);
	padding: 10px;
	border-radius: 6px;
	margin-bottom: 10px;
}

.recommendation-box {
	background-color: #ffffff;
	border-radius: 16px;
	border: 4px solid rgba(34, 85, 164, 0.3);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
	text-align: center;
	padding: 0.5rem;
	max-width: 44rem;
	width: 100%;
	margin: auto;
}

.section-title {
	font-size: 28px;
	font-weight: bold;
	color: #001E4B;
	border-bottom: 4px solid rgba(34, 85, 164, 0.5);
	padding-bottom: 10px;
	display: inline-block;
}

.intro-text {
	font-size: 16px;
	color: #4b5563;
	line-height: 1.6;
	margin-bottom: 10px;
}

.card-image-wrapper {
	margin: 0 auto 1px auto;
	background-color: #fff;
	border-radius: 12px;
	transition: box-shadow 0.3s;
}

.card-image-wrapper:hover {
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.15), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.card-img {
	width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.3);
	display: block;
}

.detail-area {
  text-align: center;
  /* もしブロック要素自体が中央に寄っている（margin: autoなど）場合は以下も追加 */
  margin-left: 0;
  margin-right: auto;
}

.rank-text {
	font-size: 14px;
	color: #6b7280;
	margin-bottom: 8px;
}

.main-desc {
	font-size: 18px;
	font-weight: bold;
	color: #1f2937;
}

.highlight-box {
	display: inline-block;
	background-color: #fffbeb;
	border-left: 5px solid #d97706;
	color: #92400e;
	padding: 16px;
	margin: 10px;
	border-radius: 6px;
	box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
	text-align: left;
}

.highlight-text {
	font-weight: bold;
	font-size: 16px;
	margin: 0;
}

.red-text {
	color: #dc2626;
	font-size: 1.2em;
}

.action-button-area {
}

.jcb-button {
	display: inline-block;
	background-color: #ff0000;
	color: white;
	text-decoration: none;
	font-size: 18px;
	font-weight: bold;
	padding: 16px 32px;
	border-radius: 12px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
	transition: transform 0.2s, background-color 0.2s;
	border: none;
	cursor: pointer;
	width: 80%;
	max-width: 400px;
	margin: 5px;
}

.jcb-button:hover {
	background-color: #001E4B;
	transform: scale(1.02);
}

@media (max-width: 600px) {
	.section-title {
		font-size: 24px;
	}
	.jcb-button {
		width: 100%;
		font-size: 16px;
		padding: 14px;
	}
}
