@charset "UTF-8";


/* Site-specific custom styles. */

/* 診断全体 */
#diagnosis {
	min-width: 100%;
	margin: 0 auto;
	padding: 10px;
}

.diagnosisQuestionWrap {
	background: #f9f9f9;
	padding: 3em 1em;
	border-radius: 12px;
}
.diagnosisQuestionWrap > p {
	display: none;
}

/* 質問エリア */
.diagnosisQuestion-title {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}
.diagnosisQuestion-reply {
	display: flex;
	justify-content: center;
	gap: 20px;
}
.diagnosisQuestion-button {
  padding: 10px 20px;
  background: #6B8CE3;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 18px;
  cursor: pointer;
	width: 150px;
}
.diagnosisQuestion-button:hover {
  opacity: 0.85;
}

/* ▼ 結果カード */

.diagnosisResult-caption {
	color: #777;
	text-align: center;
	font-size: 110%;
	font-weight: bold;
	padding-top: 3em;
	padding-bottom: 1em;
}

.diagnosisResult-card {
  background: #ffffff;
  border-radius: 10px;
  border: 1px solid #e0e0e0;
  overflow: hidden;
  margin-top: 20px;
}

/* 上部ブルー帯 */
.result-head {
  background: repeating-linear-gradient(135deg, #57b0d8, #57b0d8 10px, #6dc2ea 10px, #6dc2ea 20px);
  padding: 12px 20px;
	text-align:center;
}
.result-head > p {
	display: none;
}
.result-rank {
	color: #fff;
	font-size: 30px;
	font-weight: bold;
	text-shadow: 0px 4px 4px rgba(0, 0, 0, 0.4);
}

/* ▼ PC 基本レイアウト（横並び・高さ揃え） */
.result-main {
  display: flex;
  gap: 20px;
  padding: 20px;
  align-items: stretch;   /* ← 高さをそろえる */
}

/* 画像を200pxに固定 */
.result-image {
  width: 200px;
  flex-shrink: 0;
}

/* テーブルは残りの幅いっぱい */
.result-info {
  flex: 1;
}

/* 画像fit */
.result-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;  /* ← 高さ揃えに必須（美しく切り取り） */
/*   border-radius: 8px; */
  animation: imgBreath 3.2s ease-in-out infinite;
  transition: all 0.3s ease;
}

/* ▼ 呼吸アニメーション */
@keyframes imgBreath {
  0% {
    transform: scale(1.00);
  }
  50% {
    transform: scale(1.01);
  }
  100% {
    transform: scale(1.00);
  }
}
/* ▼ スマホ（横幅が768px未満）のときは縦並びにする */
@media (max-width: 768px) {
  .result-main {
    flex-direction: column;
  }

  .result-image {
    width: 100%;   /* ← スマホは画像を横幅いっぱいに */
  }

  .result-image img {
    height: auto;  /* ← 自然な画像比率に戻す */
  }
}

.result-main br,
.result-main > p {
	display: none;
}
.result-info table {
	width: 100%!important;
	height: 100%;
	margin-bottom: 0!important;
	border-collapse: collapse;
}
.result-info td:first-child {
	background: #f6f6f6;
	padding: 8px;
	font-weight: bold;
	width: 35%;
}
.result-info td:last-child {
  background: #fff;
  padding: 8px;
}

/* 特徴リスト */
.result-feature {
  padding: 20px;
}
.result-feature ul {
  list-style: none;
  padding: 0;
}
.result-feature li {
  margin-bottom: 8px;
  padding-left: 22px;
  background: url('https://cdn-icons-png.flaticon.com/512/1828/1828884.png') no-repeat left center / 16px;
}

/* おすすめメッセージ */
.result-recommend {
  padding: 20px;
  background: #f4f8fc;
  border-left: 4px solid #57b0d8;
}
.result-recommend p {
  margin: 0;
  line-height: 1.7;
}

/* ボタン2つ */
/* ▼ ボタン全体のレイアウト（PCは横並び） */
.result-btn-area {
  padding: 20px;
  display: flex;
  gap: 12px;
  justify-content: center;
	margin-top: 1em;
}

/* ▼ ボタン統一デザイン */
.result-btn {
  flex: 1;                  /* 横幅統一 & 可変 */
  text-align: center;
  padding: 14px 0;
  font-size: 18px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  color: #555;
  background: #EEE;      /* 左ボタンは黄色 */
  transition: all 0.3s ease;
}

.result-btn:hover {
  opacity: 0.7;
}

/* ▼ 右ボタン（グラデ＋光るエフェクト） */
.result-btn.second {
  background: linear-gradient(135deg, #6BC7FF, #4A8DFF);
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 10px rgba(80,140,255,0.6);
}

/* ▼ 光るアニメーション */
.result-btn.second::before {
	content: "";
	position: absolute;
	top: 0;
	left: -75%;
	width: 50%;
	height: 100%;
	background: linear-gradient(
		120deg,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.35) 50%,
		rgba(255, 255, 255, 0) 100%
	);
	transform: skewX(-25deg);
	animation: result-btn-shine 3.2s ease-in-out infinite;
}
@keyframes result-btn-shine {
	0% { left: -75%; }
	100% { left: 125%; }
}

/* ▼ スマホ時（縦並び） */
@media (max-width: 768px) {
  .result-btn-area {
    flex-direction: column;
  }
	  .result-btn-area > br {
    display: none;
  }
}


/* 最初に戻る */
.diagnosisResult-restartWrap {
  text-align: center;
  padding: 15px;
}
.diagnosisResult-restartWrap a {
	color: #999;
	text-decoration: underline;
	cursor: pointer;
}
.diagnosisResult-restartWrap a:hover {
	opacity: 0.7;
}






























/****************************************************
 * トップページ｜見出しの初期化
 ****************************************************/

.site-top .topH2 {
	border-bottom: none;
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
	padding: 0;
}
.site-top .topH2::before {
	display: none;
}
.site-top .topH3 {
	background-color: transparent;
	margin-top: 0;
	margin-right: 0;
	margin-left: 0;
	padding: 0;
}
.site-top .topH3::before {
	display: none;
}





/****************************************************
 * トップページ｜見出し（h2）
 ****************************************************/

.site-top .topH2 {
	position: relative;
	padding-bottom: 1em;
	text-align: center;
}
.site-top .topH2::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 20%;
	height: 5px;
	background: linear-gradient(90deg, #1a7a63, #46c49c);
	border-radius: 3px;
}
.site-top .topH2 span {
	background: repeating-linear-gradient(-45deg, #FFDDBC 0 2px, transparent 2px 4px) bottom left / 100% 0.8em no-repeat;
}





/****************************************************
 * トップページ｜タイムラインの設定
 ****************************************************/

.site-top .topApplication .timeline-box {
	background-color: #FFF;
	border-radius: 12px;
	padding-top: 2em;
}
.topApplication .timeline-item-title {
	font-size: 100%;
}
@media screen and (min-width: 768px) {
	.topApplication .timeline-item-title {
		font-size: 120%;
	}
}
.topApplication .timeline-item-snippet p {
	margin-bottom: 1em;
}
.topApplication .timeline-item-snippet p b {
	color: #20A98A;
}






/* 調整用 */
.margin1em {
	margin-top: 1em;
}










/* Site-specific custom styles. */



/****************************************************
 * 色々な設定
 ****************************************************/

/* スムーススクロール */
html {
	scroll-behavior: smooth;
}

/* サムネイルの横幅 */
.eye-catch {
	min-width: 100%;
}

/* 画像の余白削除 */
img { vertical-align: top; }

/* 画像サイズを100% */
img { width: 100%; }

/* 改行削除 */
@media screen and (min-width: 768px) {
	.brSP { display: none; }	/* スマホだけ改行したいとき */
}
@media screen and (max-width: 768px) {
	.brPC { display: none; }	/* パソコンだけ改行したいとき */
}

/* reCAPTCHAの中央表示 */
.grecaptcha-badge {
	margin: auto;
}

/* 検索窓の虫眼鏡の位置 */
.search-box br {
	display: none;
}

/* 全記事一覧のショートコードの調整 */
.sitemap > h2 {
	display: none;
}


.comment .avatar {
	width: 55px!important;
	height: 55px!important!;
}



/****************************************************
 * Google AdSense
 ****************************************************/

/* 記事下 */
.adsenseUnder p,
.adsenseUnder br {
	display: none;
}
.adsenseUnder-title {
	font-size: 80%;
	text-align: center;
}
.adsenseUnder-list {
	display: flex;
	justify-content: space-around;
	align-items: center;
	margin-top: 1em;
}



/****************************************************
 * アニメーションのデザイン
 ****************************************************/

/* ふわっとした動作（指定箇所に"fadeIn"を入れる） */
.fadeIn,
.eye-catch img {
	animation-name:fadeInAnime;
	animation-duration:1s;
	animation-fill-mode:forwards;
	opacity:0;
}
@keyframes fadeInAnime {
	from { opacity: 0; }
	to { opacity: 1; }
}



/****************************************************
 * 見出しデザイン
 ****************************************************/

.article h2, .article h3, .article h4, .article h5, .article h6 {
	margin-bottom: 1.5em;
}

/* 見出し｜規約系のデザイン */
.headingOperation {
	font-size: 120%;
	font-weight: bold;
	margin-bottom: 1em!important;
	counter-increment: title;
}
.headingOperation::before {
	content: "第"counter(title)"条";
	padding-right: 1em;
}



/****************************************************
 * リンクデザイン
 ****************************************************/

a {
	color: #1A80DA;
	font-weight: 500;
	text-decoration: none;
	transition: all .3s;
}
a img {
	transition: all .3s;
}
a img:hover {
	opacity: .7;
}

/* リンク（関連記事） */
.linkRelation {
	color: #0044CC;
	text-decoration: none!important;
	transition: all .3s;
}
.linkRelation:hover {
	color: #429EFF;
}
.linkRelation::before {
	content: "関連記事";
	color: #FFF;
	background-color: #88ABDA;
	margin-right: .7em;
	padding: .3em .7em .4em;
}

/* リンク（商品紹介） */
.linkEC {
	background: linear-gradient(to right, #FFF, #F5F7FA);
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
	border-radius: 16px;
	width: 100%;
	padding: 16px;
	box-sizing: border-box;
}
.linkEC p,
.linkEC br {
	display: none;
}
.linkEC-title {
	display: block;
	color: #777;
	font-size: 100%;
	font-weight: bold;
	width: 100%;
	text-decoration: none;
	text-align: center;
	line-height: 1.6;
}
.linkEC-title:hover{
	color: #1A80DA;
	opacity: .7;
}
.linkEC-code {
	display: block;
	font-size: 85%;
	margin-top: .5em;
}
.linkEC-content {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	margin-top: 2em;
}
.linkEC-image {
	flex: 0 0 40%;
	max-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.linkEC-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.3s;
}
.linkEC-image:hover img {
	transform: scale(1.05);
}
.linkEC-links {
	flex: 0 0 60%;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.linkEC-button {
	display: block;
	color: #FFF;
	font-size: 14px;
	text-align: center;
	text-decoration: none;
	padding: 10px 0;
	border-radius: 4px;
}
.linkEC-button:hover {
	color: #FFF;
	opacity: 0.7;
}
.linkEC-amazon	{ background-color: #A1C9D5; }
.linkEC-rakuten	{ background-color: #EE8379; }
.linkEC-yahoo	{ background-color: #F5C475; }
.linkEC-mercari	{ background-color: #999999; }



/****************************************************
 * 画像デザイン
 ****************************************************/

/* 画像（キャプション設定） */
figure {
	text-align: center;
}
figure img {
	width: 100%;
}
figure figcaption {
	margin-top: .5em;
}



/****************************************************
 * YouTubeのデザイン
 ****************************************************/

/* YouTube（動画の中央化） */
.video-container {
	margin: 0 auto;
}
/* YouTube（動画の中央化｜カテゴリー記事の場合） */
.youtube-center {
	text-align: center;
}



/****************************************************
 * カテゴリーデザイン
 ****************************************************/

/* カテゴリ一覧（アコーディオン＋記事数付き） */
.cat_lists {
	display: flex;
	flex-direction: column;
	gap: 8px;
	width: 100%;
}
.cat-item {
}
.cat-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #f4f4f4;
	padding: 0;
}
.cat_lists .cat-link-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 10px 14px;
	text-decoration: none;
	color: #333;
	font-weight: bold;
	background: #f4f4f4;
	transition: all 0.3s ease;
	box-sizing: border-box;
	border: none;
}
.cat_lists .cat-link-item:hover {
	color: #FFF !important;
	background: #69788A !important;
}
.cat-title-wrap {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 10px 14px;
	width: 100%;
	box-sizing: border-box;
}
/* .cat-title {
	color: #333;
	font-weight: bold;
	transition: all 0.3s ease;
}
.cat-title:hover {
	color: #FFF;
} */
.cat-count {
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 12px;
	padding: 2px 8px;
	font-size: 12px;
	color: #666;
}
.cat_lists .cat-link-item:hover .cat-count {
	background: #fff !important;
	color: #333 !important;
	border-color: #fff !important;
}
.toggle-btn {
	background: none;
	border: none;
	font-size: 18px;
	cursor: pointer;
	color: #333;
	width: 40px;
	height: 100%;
	line-height: 1;
	border-left: 1px solid #ddd;
	transition: background 0.2s;
}
.toggle-btn:hover {
	background: rgba(0, 0, 0, 0.05);
}
.child-cat-lists {
	display: none;
	flex-direction: column;
	width: 100%;
	background: #fafafa;
}
.cat-item.is-open .child-cat-lists {
	display: flex;
}
.cat_lists .child-cat-link {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	padding: 10px 14px;
	background-color: #fff;
	color: #555;
	font-size: 14px;
	text-decoration: none;
	border-top: 1px solid #eee;
	box-sizing: border-box;
	transition: all 0.3s ease;
}
.cat_lists .child-cat-link:first-child {
	border-top: none;
}
.cat_lists .child-cat-link:hover {
	background-color: #d7b55e !important;
	color: #fff !important;
	border-color: #d7b55e !important;
}
.cat_lists .child-cat-link .cat-count {
	background: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 12px;
	padding: 2px 8px;
	font-size: 12px;
	color: #666;
}
.cat_lists .child-cat-link:hover .cat-count {
	background: #fff !important;
	color: #333 !important;
	border-color: #fff !important;
}



/****************************************************
 * タグデザイン
 ****************************************************/

.tag_lists {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 20px 0;
}
.tag_lists a {
	position: relative;
	display: inline-block;
	padding: 6px 14px 6px 22px;
	background-color: #f4f4f4;
	color: #333;
	font-size: 14px;
	text-decoration: none;
	border-radius: 4px;
	border: 1px solid #ddd;
	line-height: 1.4;
	transition: all 0.3s ease;
}
.tag_lists a::after {
	content: "";
	position: absolute;
	left: 8px;
	top: 50%;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 1px #ccc;
}
.tag_lists a:hover {
	background-color: #69788A;
	color: #fff;
	border-color: #69788A;
	transform: translateY(-2px);
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.08);
}



/****************************************************
 * タイムラインのデザイン
 ****************************************************/

/* 解説文内の最初の改行タグを削除する */
.timeline-item-snippet p:nth-child(1) {
	display: none;
}
.timeline-item-snippet p {
	font-size: 90%;
	margin-bottom: 1em;
}
.timeline-item-snippet figure {
	margin-bottom: 1em;
}


/****************************************************
 * よくある質問のデザイン
 ****************************************************/

.headlineQuestion {
	color
	border: none;
    background-color: transparent!important;
	margin-bottom: 0.75em!important;
	padding: 1em 1em 1em 3em!important;
    position: relative;
	font-size: 16px!important;
}
.headlineQuestion::before {
	position: absolute;
	top: 1em;
    left: 0;
	display: inline-block!important;
	content: "Q"!important;
	color: #FFF;
	background: #D55656;
    border-left: none!important;
    border-bottom: none!important;
	width: 2em!important;
	height: 1.8em!important;
	text-align: center;
}
.headlineAnswer {
	position: relative;
	padding: 1em 1em 1em 3em;
}
.headlineAnswer::before {
	content: "A";
	display: inline-block;
	position: absolute;
	top: 1em;
    left: 0;
	color: #FFF;
	background: #659987;
	width: 2em;
	height: 1.8em;
	text-align: center;
	font-weight: bold;
}
.headlineAnswer p {
	margin-bottom: 1em;
}



/****************************************************
 * コードのデザイン
 ****************************************************/

code {
	font-size: 80%;
	tab-size: 2;
	-moz-tab-size: 2; /* Firefox対応 */
}



/****************************************************
 * ショートコード（explanationCSS） 
 ****************************************************/

.explanationCSS ol {
	counter-reset: step-counter;
	list-style: none;
	margin: 1.2em 0;
	padding: 0;
}
.explanationCSS ol li {
	counter-increment: step-counter;
	background: #fffaf4;
	border: 1px solid #f0d8b6;
	border-radius: 8px;
	padding: 0.8em 1em 0.8em 3.3em;
	margin-bottom: 0.8em;
	position: relative;
	transition: all 0.3s ease;
}
.explanationCSS ol li::before {
	content: counter(step-counter);
	position: absolute;
	left: 1em;
	top: 50%;
	transform: translateY(-50%);
	background: linear-gradient(135deg, #d6a85b, #f7d391);
	color: #fff;
	font-weight: bold;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.explanationCSS img {
	margin-top: 1em;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
}




