@charset "utf-8";

/*　記事詳細の本文部分のデザイン*/


/*テキストテンプレート開始*/
.tmp_text {
	padding: 1em;
}
@media screen and (max-width: 1023px) { 
	.tmp_text {
		padding: 0;
	}
}

/*段落のひとかたまり*/
.tmp_text .paragraph {
	margin-bottom: 2em;
}

/*段落*/
.tmp_text p {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	line-height: 1.8;
}
@media screen and (max-width: 1023px) {
	.tmp_text p {
		margin-top: 1em;
		margin-bottom: 1em;
	}
}

.tmp_text .mtitle + p,
.tmp_text .stitle + p {
	margin-top: 0 !important;
}

/*ひと段落の囲み*/
.tmp_text .pframe {
	margin: 2em 0;
	padding: 1.5em;
	border: solid 1px #F44669;
	background-color: #fff;
}

/* 改行なし */
@media screen and (max-width: 767px) {
	.tmp_text .text-nowrap {
		white-space: nowrap !important;
	}
}


/*============================================================================*
/*  タイトル
/*============================================================================*/
/*------------*/
/*  h2
/*------------*/
.tmp_text .mtitle {
	margin-top: 1.5em;
	margin-bottom: .7em;
	padding-bottom: .2em;
	border-bottom: 4px solid #ef8080;
	color: #444;
	font-weight: bold;
	font-size: 1.8em;
	line-height: 1.5;
}
@media screen and (max-width: 1023px) {
	.tmp_text .mtitle {
		border-bottom-width: 2px;
		font-size: 1.6rem;
		line-height: 1.4;
	}
}

.tmp_text .toc-index:first-of-type + .mtitle,
.tmp_text .mtitle:first-child {
	margin-top: 1.3em;
}

/*------------*/
/*  h3
/*------------*/
.tmp_text .stitle {
	display: flex;
	align-items: center;
	position: relative;
	margin-top: 1.3em;
	margin-bottom: .7em;
	padding: 4px .8em;
	color: #444;
	font-weight: bold;
	font-size: 1.4em;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.tmp_text .stitle {
		margin-top: 1.1em;
		margin-bottom: 6px;
		padding-top: 0px;
		padding-bottom: 0px;
		font-size: 1.6rem;
		line-height: 1.3;
	}
}

.tmp_text .stitle::before {
	content: "";
	flex: none;
	position: absolute;
	left: 0;
	width: 6px;
	height: 100%;
	background: #ef8080;
	border-radius: 4px;
}
@media screen and (max-width: 767px) {
	.tmp_text .stitle::before {
		width: 4px;
	}
}

/*------------*/
/*  h4
/*------------*/
.tmp_text .sstitle {
	margin-top: 2.2em;
	margin-bottom: .7em;
	padding: .3em 0 .3em 16px;
	border-left: 2px solid #ddd;
	color: #202020;
	font-weight: bold;
	font-size: 1.1em;
	line-height: 1.3;
}
@media screen and (max-width: 1023px) {
	.tmp_text .sstitle {
		padding: .3em 5px .3em 18px;
		padding-left: calc(1.28em - 2px);
		font-size: 1.5rem;
	}
}

/*------------*/
/*  h5
/*------------*/
.tmp_text .ssstitle {
	margin-top: 30px;
	margin-bottom: 20px;
	padding-bottom: 5px;
	border-bottom: 1px solid #eee;
	color: #202020;
	font-weight: bold;
	font-size: 18px;
}

@media screen and (max-width: 1023px) {
	.tmp_text .ssstitle {
		margin-top: 20px;
		margin-bottom: 10px;
		font-size: 86%;
	}
}

/*------------*/
/*  pタグ
/*------------*/
/*段落のタイトル*/
.tmp_text .ptitle {
	font-size: 1.1em;
	line-height: 1.2;
	font-weight: bold;
}


/*============================================================================*
/* 文字装飾
/*============================================================================*/
/*ふと文字や文字色などのクラス*/

/*太字*/
.tmp_text .bold1,
.tmp_text .bold2,
.tmp_text strong {
	font-weight: bold;
}

.tmp_text .bold2 {
	margin: 0 4px;
	padding: 0 4px;
	background-color: #fbf1b0;
	color: #e63a3a;
	border-radius: 4px;
}

.tmp_text hr {
	border: none;
	border-top: 1px #ccc solid;
	height: 1px;
}

/*フォントファミリー変更*/
.tmp_text .font1,
.tmp_text .font2 {
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
	font-style: italic;
	font-size: 1.4rem;
}
.tmp_text .font1 {
	display: block;
	padding: 20px;
	background: #f6f6f6;
}

/*中央寄せ*/
.tmp_text .center {
	text-align: center;
}


/*============================================================================*
/* リンク
/*============================================================================*/
/*何もつけない場合*/
.tmp_text a {
	color: #0088cc;
	text-decoration: underline;
}
.tmp_text a:visited,
.tmp_text a:link {
	color: #0088cc;
}

/*一つだけのリンクの場合*/
.tmp_text .link a {
	display: inline-block;
	border: 1px solid #dbdbdb;
	color: #0088cc;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	text-decoration: underline;
	padding: 10px 20px 10px 30px;
	position: relative;
	border-radius: 4px;
}
.tmp_text .link a::before {
	content: "";
	border: 6px solid transparent;
	border-left-color: #0088cc;
	margin-top: -6px;
	position: absolute;
	top: 50%;
	left: 11px;
}
.tmp_text .link a:hover {
	text-decoration: none;
}

/*トップリンク*/
.tmp_text .link_list {
	margin-bottom: .5em;
}
.tmp_text .link_list li {
	padding: 11px 0;
	margin-bottom: 10px;
}
.tmp_text .link_list a {
	text-decoration: underline;
	color: #0088cc;
	font-size: 1.4rem;
	padding: 10px 20px 10px 30px;
	position: relative;
	font-weight: bold;
	border-radius: 4px;
}
.tmp_text .link_list a::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 11px;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left-color: #0088cc;
	-webkit-transform: rotate(0deg);
	transform: rotate(0deg);
}
.tmp_text .link_list a:hover {
	text-decoration: none;
}

/*詳細リンク*/
.tmp_text .link_detail_list {
	margin-left: 3em;
}
.tmp_text .link_detail_list li {
	padding: 11px 0;
}
.tmp_text .link_detail_list a {
	display: inline-block;
	text-decoration: underline;
	color: #7e6d6d;
	font-size: 1.4rem;
	padding: 0 20px 0 30px;
	position: relative;
	font-weight: bold;
}
.tmp_text .link_detail_list a::before {
	content: "";
	width: 16px;
	height: 16px;
	background: url('../images/osusume/link_detail_list.png') no-repeat center;
	background-size: contain;
	position: absolute;
	left: 11px;
	margin-top: 2px;
}
.tmp_text .link_detail_list a:hover {
	text-decoration: none;
}

@media screen and (max-width: 767px) {
	.tmp_text .link_list li {
		padding: 5px 0;
	}
	.tmp_text .link_detail_list li {
		padding: 5px 0;
	}
	.tmp_text .link_detail_list li p {
		margin-bottom: .5em;
	}
	.tmp_text .link a {
		display: block
	}
	.tmp_text .link_list a {
		display: block;
	}
}

/*------------*/
/*  記事の下部に使うリンク一覧
/*------------*/
.tmp_text .cate_list {
	clear: both;
	margin: 0px 0 14px;
	padding-bottom: 0px;
}
.tmp_text .cate_list ul {
	border-bottom: 1px solid #eee;
	border-top: 1px solid #eee;
	padding: 3px 0 0 0;
}
.tmp_text .cate_list li {
	font-size: 1.4rem;
	display: inline-block;
	margin: 0 10px 5px 0;
}
.tmp_text .wrap_title {
	font-size: 1.4rem;
	padding: 14px 0 0;
}


/* ボタン
------------------------------ */
/* 枠がキーカラーのボタン */
.tmp_text .btn-bd-key {
	width: 290px;
	margin: 1em auto;
	border: 1px solid #ef8080;
	border-radius: 5px;
	background-color: #fff;
	box-sizing: border-box;
}
.tmp_text .btn-bd-key a {
	display: block;
	padding: 12px 8px;
	color: #ef8080;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	text-decoration: none;
}


/*============================================================================*
/* 画像の指定
/*============================================================================*/
.tmp_text .img {
	margin: .5em auto;
	text-align: center;
	box-sizing : border-box;
}
@media screen and (max-width: 1023px) {
	.tmp_text .img {
		width: auto;
	}
}

.tmp_text .img img {
	border: 1px solid #eee;
	max-width: 100%;
	max-height: 550px;
	box-sizing : border-box;
}
@media screen and (max-width: 767px) {
	.tmp_text .img img {
		max-height: 100vw;
	}
}

.tmp_text img {
	max-width: 100%;
}

.tmp_text .img-caption {
	color: #aaaaaa;
	font-size: .7em;
	text-align: center;
}

/* 画像前後のマージン詰め
------------------------------ */
.tmp_text .img + p {
	margin-top: .5em;
}
.tmp_text p + .img {
	margin-top: -.5em;
}

/*============================================================================*
/* リスト
/*============================================================================*/
/*------------*/
/*  ul
/*------------*/
.tmp_text .ulist {
	margin: 1em 0 1em .3em;
}
@media screen and (max-width: 1023px) {
	.tmp_text .ulist {
		font-size: 1.4rem;
	}
}

.tmp_text .ulist li {
	position: relative;
	margin-bottom: .5em;
	padding-left: 1.3em;
	font-weight: bold;
}
.tmp_text .ulist.fw-n > li {
	font-weight: normal;
}
.tmp_text .ulist li::before {
	content: "";
	display: block;
	position: absolute;
	top: .4em;
	left: 0;
	width: .55em;
	height: .35em;
	border-bottom: .15em solid #ef8282;
	border-left: .15em solid #ef8282;
	transform: rotate(-45deg);
}


/*------------*/
/*  ulリスト
/*------------*/
.tmp_text .text_wrap .text_wrap_list {
	margin: 10px 0;
}
.tmp_text .text_wrap .text_wrap_list li {
	position: relative;
	margin-bottom: .5em;
	padding-left: 1.3em;
	font-weight: bold;
}
.tmp_text .text_wrap .text_wrap_list li::before {
	content: "";
	display: block;
	position: absolute;
	top: .4em;
	left: 0;
	width: .55em;
	height: .35em;
	border-bottom: .15em solid #ef8282;
	border-left: .15em solid #ef8282;
	transform: rotate(-45deg);
}

/*------------*/
/*  ol
/*------------*/
.tmp_text .olist {
	padding-left: 1.9em;
	margin: 1em;
}
.tmp_text .olist li {
	list-style: decimal;
}

/*------------*/
/*  ol type-2
/*------------*/
.tmp_text .olist2 {
	counter-reset: olnum;
}
@media screen and (max-width: 1023px) {
	.tmp_text .olist2 {
		font-size: 1.4rem;
	}
}

.tmp_text .olist2 li {
	position:relative;
	margin-bottom: 20px;
	padding: 16px 30px 16px 60px;
	border: 2px solid #ddd;
	border-radius: 6px;
}

.tmp_text .olist2 li::before {
	counter-increment: olnum;
	content: counter(olnum);
	position: absolute;
	left: 20px;
	width: 30px;
	height: 30px;
	background: #ef8080;
	color: #fff;
	font-weight: bold;
	line-height: 32px;
	text-align: center;
	border-radius: 30px;
}


/*------------*/
/*  dl
/*------------*/
.tmp_text .dlist {
	margin: 1em 0;
}
.tmp_text .dlist dt {
	line-height: 1.2;
	font-weight: bold;
}
.tmp_text .dlist dd {
	margin-bottom: 2em;
}

/* dl要素テーブル
※犬種記事（基本情報）が影響を受けます
------------------------------ */
.tmp_text .dl-table {
	max-width: 600px;
	margin: 1.5em auto;
	border: 1px solid #ddd;
}
.tmp_text .dl-table > div {
	display: flex;
	border-bottom: 1px solid #ddd;
}
.tmp_text .dl-table > div:last-of-type {
	border: none;
}
.tmp_text .dl-table dt,
.tmp_text .dl-table dd {
	padding: .5em .5em .2em;
}
.tmp_text .dl-table dt {
	flex: none;
	width: 6em;
	border-right: 2px solid #ddd;
}
.tmp_text .dl-table.dt-md dt {
	width: 9em;
}
.tmp_text .dl-table.dt-lg dt {
	width: 12em;
}
.tmp_text .dl-table dd {
	flex: 1;
	min-width: 0;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.tmp_text :not(.no-dlist).dl-table {
		padding: .5em 0 0;
		border: 1px solid #eee;
		border-width: 3px 0;
	}
	.tmp_text :not(.no-dlist).dl-table > div {
		display: block;
		margin-bottom: .5em;
		border-bottom: none;
	}
	.tmp_text :not(.no-dlist).dl-table dt,
	.tmp_text :not(.no-dlist).dl-table dd {
		padding: 0;
	}
	.tmp_text :not(.no-dlist).dl-table dt {
		width: auto;
		border-right: none;
		font-weight: bold;
		background: none;
	}
	.tmp_text :not(.no-dlist).dl-table.dt-md dt,
	.tmp_text :not(.no-dlist).dl-table.dt-lg dt {
		width: auto;
	}
	.tmp_text :not(.no-dlist).dl-table dd {
		padding-left: 1em;
		line-height: 1.3;
	}
}




/*============================================================================*
/* テーブル
/*============================================================================*/
.tmp_text .table1 {
	margin-bottom: 20px;
	border: 1px solid #eee;
}
@media screen and (max-width: 1023px) {
	.tmp_text .table1 {
		width: 100%;
		max-width: 600px;
		margin-bottom: 1em;
	}
}

.tmp_text .table1 th, .tmp_text .table1 td {
	border: 1px solid #eee;
	padding: 5px 10px;
	font-size: .9em;
}
.tmp_text .table1 th {
	background-color: #dcdcdc;
	font-weight: bold;
}
.tmp_text .table1 tr:nth-child(2n+1) {
	background: #fbfbfb;
}
.tmp_text .table1 .bg {
	background: #dcdcdc !important;
	font-weight: bold;
}
.tmp_text .table1 .bg_pink {
	background: #f8e7ee !important;
}
.tmp_text .table1 .bg_glay {
	background: #eee !important;
}
.tmp_text .table1 .bg_blue {
	background: #e1eaf9 !important;
}
.tmp_text .table1 .bg_green {
	background: #e3f9e1 !important;
}
.tmp_text .table1 .bg_orange {
	background: #faf2e1 !important;
}
.tmp_text .table1 .text-break {
	word-break: break-all;
}
.tmp_text .table1 .center {
	text-align: center;
}
.tmp_text .table1 .left {
	text-align: left;
}
.tmp_text .table1 .right {
	text-align: right;
}

@media screen and (max-width: 1023px) {
	/* はみ出しスクロール */
	.tmp_text .table1.scroll {
		position: relative;
		display:block;
		max-width: none;
		border: none;
		overflow-x: scroll;
		/*-webkit-overflow-scrolling: touch;*/ /* オンにするとスクロールバーの常時表示は無効になる */
	}
	.tmp_text .table1.scroll::-webkit-scrollbar {
		height: 6px;
	}
	.tmp_text .table1.scroll::-webkit-scrollbar-track {
		background: #fff;
		border: none;
	}
	.tmp_text .table1.scroll::-webkit-scrollbar-thumb {
		background: #aaa;
		border-radius: 3px;
	}
	.tmp_text .table1.scroll tbody {
		display: table;
		border: 1px solid #eee;
	}
	.tmp_text .table1.scroll .text-break {
		word-break: normal;
	}

	/* リスト表示変換(2カラムのみ) */
	.tmp_text table.table1.tlist,
	.tmp_text .table1.tlist tbody,
	.tmp_text .table1.tlist tr,
	.tmp_text .table1.tlist th,
	.tmp_text .table1.tlist td {
			display: block;
	}
	.tmp_text .table1.tlist tr:nth-child(2n+1) {
		background: transparent;
	}
	.tmp_text .table1.tlist th {
		width: 100% !important; /* inlineでwidthがあった場合の上書き */
		padding: .3em .5em;
		border: none;
		font-weight: bold;
		box-sizing: border-box;
	}
	.tmp_text .table1.tlist td {
		width: 100%;
		padding: .5em .5em 1em;
		border: none;
		box-sizing: border-box;
	}
}

/*============================================================================*
/* テンプレ
/*============================================================================*/
/*------------*/
/*  引用：画像
/*------------*/
.tmp_text .source p {
	margin-top: 0;
	font-size: 12px;
	color: #ccc;
	text-align: left;
}
@media screen and (max-width: 1023px) {
	.tmp_text .source p {
		margin-bottom: 5px;
	}
}

.tmp_text .source p a {
	color: #ccc;
	padding-left: 5px;
	text-decoration: none;
}

.tmp_text .source {
	width: 80%;
	margin: 1.5em auto;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.tmp_text .source {
		width: 100%;
	}
}

.tmp_text .source > p {
	text-align: center;
}
@media screen and (max-width: 1023px) {
	.tmp_text .source > p {
		text-align: left;
	}
}

/*------------*/
/*  引用：テキスト
/*------------*/
.tmp_text blockquote {
	font-weight: bold;
	color: #555;
	font-size: 1.4rem;
	margin-bottom: 5px;
}
.tmp_text blockquote::before {
	content: url('../images/osusume/quote1.png');
	width: 20px;
	height: 16px;
}
.tmp_text .quote {
	margin-top: 0;
	font-size: 1.2rem;
	color: #ccc;
	border-bottom: 1px solid #eee;
	padding-bottom: 5px;
}
.tmp_text .quote a {
	color: #ccc;
	padding-left: 5px;
	text-decoration: none;
}

@media screen and (max-width: 1023px) {
	.tmp_text blockquote {
		font-size: 1.2rem;
		line-height: 1.5;
	}
	.tmp_text .quote {
		margin-top: 0;
		font-size: 1.2rem;
		color: #ccc;
	}
	.tmp_text blockquote::before {
		margin: 0;
		content: " ";
		display: inline-block;
		width: 20px;
		height: 20px;
		background: url('../images/osusume/quote2.png');
		background-repeat: no-repeat;
		background-size: contain;
		vertical-align: middle;
	}
}

/* 引用：パターン1 */
.tmp_text .bq1 {
	border-radius: 4px;
	padding: 20px 20px 10px 40px;
	margin: 30px;
	background: url(../images/osusume/quote2.png) left top no-repeat;
	background-color: #F7F7F7;
	box-shadow: 0 1px 0 rgba(0,0,0,0.2);
}
@media screen and (max-width: 1023px) {
	.tmp_text .bq1 {
		margin: 20px 0;
		padding: 18px 15px 10px;
		border: none;
		background-size: 25px 20px;
		background-position: 6px 6px;
	}
}

.tmp_text .bq1 blockquote::before {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
}
.tmp_text .bq1 .quote {
	margin-bottom: 0;
	padding-bottom: 0;
	border: none;
}
@media screen and (max-width: 1023px) {
	.tmp_text .bq1 .quote {
		font-size: 1rem;
	}
}


/*------------*/
/*  Q&A
/*------------*/
.tmp_text .articleqa {
	margin: 30px 0;
	padding-bottom: 17px;
	border-bottom: 2px dotted #ddd;
}
.tmp_text .articleqa_q {
	margin-bottom: 20px;
}
.tmp_text .articleqa_q p,
.tmp_text .articleqa_a p {
	margin: 0;
	font-weight: bold;
	font-size: 1.2em;
}
@media screen and (max-width: 1023px) {
	.tmp_text .articleqa_q p,
	.tmp_text .articleqa_a p {
		font-size: 1.4rem;
	}
}

.tmp_text .articleqa_q p::before,
.tmp_text .articleqa_a p::before {
	font-weight: bold;
	font-size: 1.3em;
}
@media screen and (max-width: 1023px) {
	.tmp_text .articleqa_q p::before,
	.tmp_text .articleqa_a p::before {
		font-size: 1.6rem;
	}
}

.tmp_text .articleqa_q p::before {
	content: "Q：";
	color: #0088cc;
}
.tmp_text .articleqa_a p::before {
	content: "A：";
	color: #ef8080;
}
.tmp_text .articleqa_text {
	margin-top: 10px;
}
.tmp_text .articleqa_text p {
	margin-top: 0;
	font-size: 1em;
}
@media screen and (max-width: 1023px) {
	.tmp_text .articleqa_text p {
		font-size: 1.4rem;
	}
}


/*------------*/
/*  枠・囲み
/*------------*/
/* 枠1 */
.tmp_text .waku1 {
	margin-top: 1.5em;
	margin-bottom: 1.5em;
	padding: 10px 30px;
	border-radius: 6px;
	border: 2px solid #ddd;
}
@media screen and (max-width: 1023px) {
	.tmp_text .waku1 {
		padding-right: 15px;
		padding-left: 15px;
	}
}

/* ポイント */
.tmp_text .point_color {
	position: relative;
	margin: 30px 0px 20px 0px;
	padding: 20px 30px;
	background: #fdf1f1;
	border-radius: 6px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .point_color {
		padding-right: 15px;
		padding-left: 15px;
	}
}

.tmp_text .point_color::before {
	content: "ここがポイント";
	position: absolute;
	top: -12px;
	left: -10px;
	height: 26px;
	padding: 0 10px;
	background: #efa9a9;
	color: #fff;
	font-weight: bold;
	font-size: 12px;
	line-height: 26px;
	border-radius: 13px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .point_color::before{
		left: -5px;
	}
}

.tmp_text .point_color p {
	margin-top: 0;
	margin-bottom: 1.3em;
	font-size: 1em;
	line-height: inherit;
}
@media screen and (max-width: 767px) {
	.tmp_text .point_color p {
		font-size: 1.4rem;
	}
}

.tmp_text .point_color p:last-of-type {
	margin-bottom: 0;
}
.tmp_text .point_color .point_title {
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #da7878;
	color: #da7878;
	font-weight: bold;
}


/* 吹き出し*/
.tmp_text .baloon {
	display: flex;
	margin: 10px 0;
}
.tmp_text .baloon_icon {
	flex: none;
	width: 60px;
	margin-right: 20px;
}
@media screen and (max-width: 559px) {
	.tmp_text .baloon_icon {
		width: 40px;
	}
}

.tmp_text .baloon_icon img {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
}
@media screen and (max-width: 559px) {
	.tmp_text .baloon_icon img {
		width: 40px;
		height: 40px;
	}
}

.tmp_text .baloon_name {
	margin-top: 6px;
	font-weight: bold;
	font-size: 10px;
	line-height: 1.4;
	text-align: center;
}
.tmp_text .baloon_text,
.tmp_text .baloon_text-bold {
	position: relative;
	max-width: 100%;
	padding: 20px;
	border: 2px #ddd solid;
	border-radius: 10px;
	background: #fff;
}
.tmp_text .baloon_text-bold {
	font-weight: bold;
}
.tmp_text .baloon_text::before,
.tmp_text .baloon_text-bold::before,
.tmp_text .baloon_text::after,
.tmp_text .baloon_text-bold::after {
	content: "";
	position: absolute;
	display: block;
	border-style: solid;
	border-color: transparent;
}
.tmp_text .baloon_text::before,
.tmp_text .baloon_text-bold::before {
	top: 16px;
	left: -28px;
	z-index: 0;
	border-width: 14px;
	border-right-color: #ddd;
}
.tmp_text .baloon_text::after,
.tmp_text .baloon_text-bold::after {
	top: 17px;
	left: -24px;
	z-index: 1;
	border-width: 13px;
	border-right-color: #fff;
}
@media screen and (max-width: 1023px) {
	.tmp_text .baloon_text,
	.tmp_text .baloon_text-bold {
		padding: 10px 14px;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	.tmp_text .baloon_text,
	.tmp_text .baloon_text-bold {
		padding: 8px 12px;
		font-size: 1.4rem;
	}
}

.tmp_text .baloon_text p:first-of-type,
.tmp_text .baloon_text-bold p:first-of-type {
	margin-top: 0;
}
.tmp_text .baloon_text p:last-of-type,
.tmp_text .baloon_text-bold p:last-of-type {
	margin-bottom: 0;
}
.tmp_text .baloon_title {
	display: inline-block;
	margin-bottom: 10px;
	padding: 0 12px;
	background: #ef8080;
	color: #fff;
	font-weight: bold;
	font-size: .8em;
	vertical-align: top;
	border-radius: calc(1em * 1.8 / 2);
}
@media screen and (max-width: 1023px) {
	.tmp_text .baloon_title {
		margin: 4px 0;
	}
}
@media screen and (max-width: 767px) {
	.tmp_text .baloon_title {
		margin: 6px 0;
	}
}


/*------------*/
/*  殺処分のリンク
/*------------*/
.tmp_text .ad_sponsor {
	overflow: hidden;
	border-top: 1px solid #ddd;
	padding: 20px 0 10px;
}
.tmp_text .ad_sponsor .ad_sponsor_img {
	float: left;
	margin-right: 20px;
	margin-bottom: 0;
	max-width: 150px;
}
.tmp_text .ad_sponsor .ad_sponsor_img img {
	max-width: 100%;
	height: auto;
}
.tmp_text .ad_sponsor .ad_sponsor_img a img {
	max-width: 100%;
	height: auto;
}
.tmp_text .ad_sponsor .ad_sponsor_title {
	font-weight: bold;
	margin-top: 0;
	margin-bottom: 10px;
	font-size: 1.2em;
	line-height: 1em;
}
.tmp_text .ad_sponsor .ad_sponsor_text {
	margin-top: 0;
	font-size: .9em;
}
.tmp_text .ad_sponsor .ad_sponsor_link {
	clear: both;
	text-align: center;
	color: #444;
	font-size: 12px;
	font-weight: bold;
}
.tmp_text .ad_sponsor .ad_sponsor_link li {
	display: inline-block;
	margin: 0 20px;
	padding: 10px 15px 5px;
	background: #eee;
	border-radius : 2px;
}
.tmp_text .ad_sponsor .ad_sponsor_link li a {
	display: block;
}
.tmp_text .ad_sponsor .ad_sponsor_link li a img {
	height: 50px;
	width: auto;
}

@media screen and (max-width: 767px) {
	.tmp_text .ad_sponsor .ad_sponsor_img {
		margin-right: 10px;
		max-width: 80px;
	}
	.tmp_text .ad_sponsor .ad_sponsor_text {
		clear: both;
		font-size: 13px;
		line-height: 1.5em;
	}
	.tmp_text .ad_sponsor .ad_sponsor_link li {
		width: 45%;
		margin: 0 2%;
		line-height: 1.3em;
		text-align: center;
		box-sizing : border-box;
	}
	.tmp_text .ad_sponsor .ad_sponsor_link li span {
		display: block;
	}
	.tmp_text .ad_sponsor .ad_sponsor_link li a img {
		height: 32px;
		width: auto;
		margin-top: 5px;
	}
}


/*------------*/
/*  キャンペーン用のシェアボタン
/*------------*/
.tmp_text .campaign_sns {
	text-align: center;
	margin: 0 0 30px 0;
}
.tmp_text .campaign_sns > div {
	width: 40%;
	display: inline-block;
	margin: 0 2%;
}
.tmp_text .campaign_sns a {
	color: #fff;
	font-size: 16px;
	display: block;
	height: 60px;
	padding-left: 10px;
	line-height: 60px;
	width: 100%;
	text-align: center;
	text-decoration: none;
	border-radius: 3px;
}
.tmp_text .campaign_sns .facebook a {
	background: #3b5998 url('../images/article_facebook_sp.png') no-repeat 30px center;
	background-size: 25px auto;
}
.tmp_text .campaign_sns .twitter a {
	background: #42a6e3 url('../images/article_twitter_sp.png') no-repeat 30px center;
	background-size: 20px auto;
}
.tmp_text .campaign_sns .facebook a:hover {
	background-color: #34518f;
}
.tmp_text .campaign_sns .twitter a:hover {
	background-color: #3ca0dd;
}

@media screen and (max-width: 767px) {
	.tmp_text .campaign_sns > div {
		width: 48%;
		margin: 0;
		vertical-align: top;
		box-sizing : border-box;
	}
	.tmp_text .campaign_sns a {
		font-size: 12px;
		padding-top: 15px;
		padding-left: 0;
		box-sizing : border-box;
	}
	.tmp_text .campaign_sns .facebook a {
		background: #3b5998 url('../images/article_facebook_sp.png') no-repeat center top 7px;
		background-size: 25px auto;
	}
	.tmp_text .campaign_sns .twitter a {
		background: #42a6e3 url('../images/article_twitter_sp.png') no-repeat center top 10px;
		background-size: 20px auto;
	}
}


/* 埋め込みメディア
------------------------------------------------------ */
/* 動画等
------------------------------ */
.tmp_text iframe {
	max-width: 100%;
}

@media screen and (min-width: 1024px) {
	.tmp_text > p > iframe {
		display: block;
		margin: 0 auto;
	}
}

/* Instagram
------------------------------ */
.tmp_text .instagram-media {
	margin-right: auto !important;
	margin-left: auto !important;
}

@media screen and (max-width: 320px) {
	.instagram-media-rendered {
		max-width: 300px !important; /* 埋め込みコード内スタイルの上書き */
		min-width: auto !important;
	}
}

/* blockquote引用マーク削除 */
.tmp_text blockquote[class*="instagram-media"]::before {
	display: none;
}

/* Facebook
------------------------------ */
/* 幅対策 */
/* .fb_iframe_widget_fluid はfbのjsで自動付加される */
.fb_iframe_widget_fluid > span {
		max-width: 100%;
}

/* TikTok
------------------------------ */
.tmp_text blockquote.tiktok-embed {
	min-height: 750px;
}
/* blockquote引用マーク削除 */
.tmp_text blockquote.tiktok-embed::before {
	display: none;
}

/* X(Twitter)
------------------------------ */
.tmp_text .twitter-tweet {
	margin-right: auto;
	margin-left: auto;
}


/*----------------------------*
/*　囲み
/*----------------------------*/
/*わんぱぱの格言で使っています*/
/*https://wanchan.jp/osusume/detail/2087?p=2*/
.tmp_text .text_wrap {
	border: 3px double #ccc;
	margin: 1.5em 2em;
	padding: 1.5em;
}
.tmp_text .text_wrap p {
	margin-top: 0;
	margin-bottom: .8em;
	font-size: 16px;
}
/*タイトル*/
.tmp_text .text_wrap .text_wrap_title {
	margin-bottom: 10px;
	padding-top: 0;
	padding-bottom: 5px;
	font-size: 1.1em;
	border-bottom: 1px solid #eee;
	font-weight: bold;
	font-style: italic;
	color: #202020;
}

@media screen and (max-width: 1023px) {
	.tmp_text .text_wrap {
		font-size: 14px;
		margin: 1.5em 10px;
		padding: 1em;
	}
	.tmp_text .text_wrap p {
		font-size: 1.4rem;
	}
}

/*----------------------------*
/* 監修者等の補足ボックス
/*----------------------------*/
.tmp_text .supervision_comment {
	margin: 20px 0;
}
.tmp_text .supervision_comment .supervision_comment_title {
	margin: .5em 0 .7em;
	border-bottom: 2px solid #caa479;
	color: #202020;
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.5;
}
@media screen and (max-width: 1023px) {
	.tmp_text .supervision_comment .supervision_comment_title {
		font-size: 1.6rem;
		line-height: 1.4;
	}
}

.tmp_text .supervision_comment_content {
	margin: 10px 0;
	padding: 10px 20px;
	background: #fbf6f0;
	font-size: 1.4rem;
	border-radius: 10px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .supervision_comment_content {
		padding-right: 15px;
		padding-left: 15px;
	}
}

.tmp_text .supervision_comment_name {
	padding-top: 10px;
	border-top: 1px dashed #caa479;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: right;
	color: #caa479;
}

/* 専門家紹介 */
.tmp_text .supervision_comment .box-expert {
	margin-top: 1em;
	margin-bottom: 1em;
	padding: 1em;
	border: 2px solid #caa479;
	background-color: #fff;
	line-height: 1.5;
	border-radius: 6px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .supervision_comment .box-expert {
		margin-bottom: .5em;
		padding: 10px;
		border-width: 2px;
	}
}

.tmp_text .supervision_comment .box-expert .box-expertphoto {
	float: left;
	width: 80px;
	height: 80px;
	margin-right: 10px;
	margin-bottom: 5px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .supervision_comment .box-expert .box-expertphoto {
		width: 50px;
		height: 50px;
	}
}

.tmp_text .supervision_comment .box-expert .box-expertphoto img {
	width: 100%;
	border-radius: 50%;
}
.tmp_text .supervision_comment .box-expert .box-expert-profile {
	padding-left: 97px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .supervision_comment .box-expert .box-expert-profile {
		padding-left: 0;
		font-size: 1.2rem;
	}
}

.tmp_text .supervision_comment .box-expert .organization {
	font-weight: bold;
	font-size: 1.15em;
}
.tmp_text .supervision_comment .box-expert .expert-type,
.tmp_text .supervision_comment .box-expert .name,
.tmp_text .supervision_comment .box-expert .katagaki {
	display: inline-block;
	font-weight: bold;
}
.tmp_text .supervision_comment .box-expert .name {
	font-size: 1.15em;
}
.tmp_text .supervision_comment .box-expert .txt-profile {
	margin: 5px auto 0;
	font-size: 12px;
	line-height: 1.4;
	color: #444;
}
@media screen and (max-width: 1023px) {
	.tmp_text .supervision_comment .box-expert .txt-profile {
		margin-top: 6px;
		font-size: 1rem;
	}
}


/*============================================================================*
/* input,bottom
/*============================================================================*/
/*----------------------------*
/*　input type="bottom"
/*----------------------------*/
.tmp_text .linkbutton {
	text-align: center;
	margin: 20px 0;
}
.tmp_text .linkbutton input, .tmp_text input[value="結果判定"] {
	cursor: pointer;
	border: 1px solid #e07171;
	color: #fff;
	font-weight: bold;
	padding: 0 20px;
	margin: 0 5px;
	height: 38px;
	line-height: 38px;
	text-align: center;
	border-radius: 3px;
	background: #f48185;
	background: linear-gradient(to bottom, #f48185 0%, #f07070 100%);
}
.tmp_text input[value="結果判定"] {
	margin: 0 auto 20px;
	width: 300px;
	max-width: 100%;
	display: block;
	font-size: 18px;
	font-weight: normal;
}
@media screen and (max-width: 1023px) {
	.tmp_text input[value="結果判定"] {
		margin: 20px auto;
		line-height: 44px;
		height: 44px;
	}
}

/*----------------------------*
/*　input type="radio"
/*----------------------------*/
.tmp_text input[type="radio"] {
	width: 20px;
	height: 20px;
	vertical-align: middle;
	margin-right: 10px;
}
@media screen and (max-width: 1023px) {
	.tmp_text input[type="radio"] {
		width: 30px;
		height: 30px;
		vertical-align: middle;
		margin-right: 10px;
	}
}


/* 連載記事ナビゲーション
------------------------------------------------------ */
.tmp_text .article_series {
	margin-top: 1.5em;
}
.tmp_text .article_series a {
	text-decoration: none;
}
.tmp_text .article_series .nav_link {
	display: flex;
	justify-content: center;
	width: 620px;
	margin: 0 auto 20px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .article_series .nav_link {
		width: 100%;
		margin-bottom: 5px;
	}
}

.tmp_text .article_series .nav_link > div {
	flex: none;
	width: 280px;
	margin: 0 15px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .article_series .nav_link > div {
		flex: 1;
		margin: 0;
		border: 5px solid #fff;
		box-sizing: border-box;
	}
}

.tmp_text .article_series .btn {
	display: block;
	background-color: #FF7373;
	background: #f18f90;
	background: linear-gradient(to bottom, #f18f90 0%, #ed7171 100%);
	color: #FFF;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 50px;
	text-align: center;
	border-radius: 5px;
}
@media screen and (max-width: 1023px) {
	.tmp_text .article_series .btn {
		font-size: 1.4rem;
	}
}

.tmp_text .article_series .nav_link .prev .btn::before,
.tmp_text .article_series .nav_link .next .btn::after {
	content: "";
	display: inline-block;
	position: relative;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent;
	vertical-align: middle;
}
.tmp_text .article_series .nav_link .prev .btn::before {
	margin-right: 12px;
	border-width: 6px 13px 6px 0;
	border-right-color: #fff;
}
.tmp_text .article_series .nav_link .next .btn::after {
	margin-left: 12px;
	border-width: 6px 0 6px 13px;
	border-left-color: #fff;
}


.tmp_text .article_series .first_link {
	width: 280px;
	margin: auto;
}
@media screen and (max-width: 1023px) {
	.tmp_text .article_series .first_link {
		width: 100%;
		border: 5px solid #fff;
		border-top-width: 0;
		border-bottom-width: 0;
		box-sizing: border-box;
	}
}

.tmp_text .article_series .other_article {
	margin-top: 30px;
	font-size: 1.7rem;
}
@media screen and (max-width: 1023px) {
	.tmp_text .article_series .other_article {
		margin-top: 20px;
		font-size: 1.5rem;
	}
}

.tmp_text .article_series .other_article .other_article_title {
	margin-bottom: 10px;
	font-weight: bold;
} 
.tmp_text .article_series .other_article .item {
	margin-bottom: 6px;
}
.tmp_text .article_series .other_article .item a {
	display: inline-flex;
	align-items: center;
	color: #444;
}
@media screen and (max-width: 1023px) {
	.tmp_text .article_series .other_article .item a {
		display: flex;
	}
}

.tmp_text .article_series .other_article .item .thumb {
	flex: none;
	width: 52px;
	margin-right: 13px;
}
.tmp_text .article_series .other_article .item .title {
	line-height: 1.5;
}
@media screen and (max-width: 1023px) {
	.tmp_text .article_series .other_article .item .title {
		font-size: 1.3rem;
		min-width: 0;
	}
}

/* 連載マンガのマージン */
.tmp_text > .center:first-child {
	margin: 1.5em auto;
}


/* ------------------------------------------------------
 = 犬種記事
------------------------------------------------------ */
/* 折りたたみボタン
------------------------------ */
.js-stoggle > [role="button"],
.stoggle-content + [role="button"] {
	display: block;
	width: 30%;
	margin: auto;
	padding: .2em;
	border: 1px solid #9e9e9e;
	border-radius: 25px;
	background-color: #ececec;
	color: #999;
	text-align: center;
	outline: none;
	cursor: pointer;
}

/* 基本情報
------------------------------ */
.tmp_text .breed-basic {
	margin: 1em 0;
	padding: 10px;
	border: 1px solid #B9A374;
	border-radius: 10px;
	background-color: #FDEFC2;
}
.tmp_text .breed-basic .title {
	width: -moz-fit-content;
	width: fit-content;
	max-width: 100%;
	margin: .3em auto .5em;
	font-weight: bold;
	font-size: 1.3em;
	line-height: 1.3;
}
@media screen and (max-width: 1023px) {
	.tmp_text .breed-basic .title {
		font-size: 1.6rem;
	}
}

.tmp_text .breed-basic .dl-table {
	max-width: none;
	margin: 0 auto !important;
	border: none !important;
}
@media screen and (max-width: 1023px) {
	.tmp_text .breed-basic .dl-table {
		font-size: 1.3rem;
	}
}

.tmp_text .breed-basic .dl-table > div {
	border-top: 2px solid #B9A374;
	border-bottom: none !important;
}
.tmp_text .breed-basic dt {
	width: 4em !important;
	border-right: none !important;
	font-weight: bold;
}
.tmp_text .breed-basic dt,
.tmp_text .breed-basic dd {
	padding: .5em 0;
	line-height: 1.8;
}


/* 特徴・スコア
------------------------------ */
.tmp_text .breed-sd {
	margin-bottom: 5px;
	border-bottom: 1px solid #aaa;
}
.tmp_text .breed-sd_head {
	display: flex;
	align-items: center;
	width: 80%;
	margin: auto;
}
@media screen and (max-width: 767px) {
	.tmp_text .breed-sd_head {
		width: auto;
	}
}

.tmp_text .breed-sd_head .toc-index {
	flex: none;
	width: 0;
}
.tmp_text .breed-sd_title {
	color: #FF7373;
	font-size: 1.125em;
	font-weight: bold;
}
.tmp_text .breed-sd_subtitle {
	margin-left: auto;
	font-size: 12px;
}
.tmp_text .breed-sd_score {
	width: 80%;
	margin: 0 auto 2px;
	line-height: 1;
}
@media screen and (max-width: 767px) {
	.tmp_text .breed-sd_score {
		width: auto;
	}
}

.tmp_text .breed-sd_score .score {
	padding-top: 5%;
	background: transparent no-repeat;
	background-size: 100%;
}
.tmp_text .breed-sd_score .score[data-score="1"] {
	background-image: url("../images/osusume/sd-scale/01/1.png");
}
.tmp_text .breed-sd_score .score[data-score="2"] {
	background-image: url("../images/osusume/sd-scale/01/2.png");
}
.tmp_text .breed-sd_score .score[data-score="3"] {
	background-image: url("../images/osusume/sd-scale/01/3.png");
}
.tmp_text .breed-sd_score .score[data-score="4"] {
	background-image: url("../images/osusume/sd-scale/01/4.png");
}
.tmp_text .breed-sd_score .score[data-score="5"] {
	background-image: url("../images/osusume/sd-scale/01/5.png");
}
.tmp_text .breed-sd_score .score_word {
	display: flex;
	justify-content: space-between;
	margin-top: 4px;
	font-size: 14px;
	line-height: 1.2;
}
@media screen and (max-width: 767px) {
	.tmp_text .breed-sd_score .score_word {
		font-size: 1rem;
	}
}

.tmp_text .breed-sd_detail {
	width: 80%;
	margin: auto;
	margin-bottom: 12px;
}
@media screen and (max-width: 767px) {
	.tmp_text .breed-sd_detail {
		width: auto;
	}
}

.tmp_text .breed-sd_detail [role="button"] {
	width: auto;
	margin: 0;
	padding: 0;
	border: none;
	background-color: transparent;
	color: #0088cc;
	font-size: 14px;
	line-height: 1.2;
	text-align: center;
	text-decoration: underline;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
@media screen and (max-width: 767px) {
	.tmp_text .breed-sd_detail [role="button"] {
		font-size: 1rem;
	}
}

/* Q&A 回答する専門家
------------------------------ */
.tmp_text .qa-expert-group {
	margin-top: 1em;
	margin-bottom: .5em;
	padding: 10px;
	padding-bottom: 0;
	border: 2px solid #ddd;
	background-color: #fff;
	line-height: 1.5;
	border-radius: 6px;
}
.tmp_text .qa-expert-title {
	margin-bottom: 10px;
	padding-bottom: .3em;
	color: #3FA5D9;
	font-weight: bold;
	font-size: 1.6rem;
	border-bottom: 2px solid #ddd;
}
.tmp_text .qa-expert-card {
	display: flex;
	padding-bottom: 10px;
}
.tmp_text .qa-expert-card:not(:last-child) {
	margin-bottom: 10px;
	border-bottom: 1px solid #ddd;
}

.tmp_text .qa-expertphoto {
	flex: none;
	width: 50px;
	margin-right: 10px;
}
.tmp_text .qa-expertphoto img {
	width: 100%;
	border-radius: 50%;
}
.tmp_text .qa-expert-profile {
	flex: 1;
	min-width: 0;
}
.tmp_text .qa-expert-profile .kanren-profile > div {
	display: inline-block;
}
.tmp_text .qa-expert-profile .kanren-profile .organization {
	display: block;
	font-size: .72em;
}
.tmp_text .qa-expert-profile .kanren-profile .organization a {
	color: #999;
}
.tmp_text .qa-expert-profile .expert-type,
.tmp_text .qa-expert-profile .label {
	font-size: .72em;
}

/* Q&A QAフォーマット
------------------------------ */
.tmp_text .breed-qa {
	margin: 15px 0;
	padding-bottom: 15px;
	border-bottom: 2px dotted #ddd;
}
.tmp_text .breed-qa_q p,
.tmp_text .breed-qa_a p {
	margin: 0;
	font-size: 1.2em;
}
@media screen and (max-width: 1023px) {
	.tmp_text .breed-qa_q p,
	.tmp_text .breed-qa_a p {
		font-size: 1.4rem;
	}
}

.tmp_text .breed-qa_q p::before,
.tmp_text .breed-qa_a p::before {
	font-weight: bold;
	font-size: 1.3em;
}
@media screen and (max-width: 1023px) {
	.tmp_text .breed-qa_q p::before,
	.tmp_text .breed-qa_a p::before {
		font-size: 1.6rem;
	}
}

.tmp_text .breed-qa_q {
	margin-bottom: 0;
	font-weight: bold;
}
.tmp_text .breed-qa_q p::before {
	content: "Q：";
	color: #0088cc;
}
.tmp_text .breed-qa_a {
	margin-left: 1em;
}
.tmp_text .breed-qa_a p {
	margin-bottom: .5em;
	font-weight: normal;
}
.tmp_text .breed-qa_a > :first-child::before {
	content: "A：";
	color: #ef8080;
}
.tmp_text .breed-qa_text {
	margin-top: 10px;
}
.tmp_text .breed-qa_text p {
	margin-top: 0;
	font-size: 1em;
}
@media screen and (max-width: 1023px) {
	.tmp_text .breed-qa_text p {
		font-size: 1.4rem;
	}
}
.tmp_text .breed-qa [role="button"] {
	width: auto;
	margin: 0;
	padding: 0;
	padding-right: .5em;
	border: none;
	background-color: transparent;
	color: #0088cc;
	line-height: 1.2;
	text-align: right;
	text-decoration: underline;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
@media screen and (max-width: 1023px) {
	.tmp_text .breed-qa [role="button"] {
		font-size: 1.2rem;
	}
}


/* 画像スライダー
------------------------------ */
.tmp_text .breed-slide {
	margin-top: 20px;
}
.tmp_text .swiper-slide {
	text-align:center;
}
.tmp_text .swiper-button-next,
.tmp_text .swiper-button-prev {
	width: 36px;
	height: 36px;
	background-color: rgba(255,255,255,0.75);
	border-radius: 50%;
	outline: none;
}
.tmp_text .swiper-button-prev {
	left: 3px;
}
.tmp_text .swiper-button-next {
	right: 3px;
}
.tmp_text .swiper-button-prev::after,
.tmp_text .swiper-button-next::after {
	position: relative;
	width: 10px;
	height: 10px;
	border: 2px solid #333;
	border-bottom: none;
	border-left: none;
	color: #333;
}
.tmp_text .swiper-button-next::after,
.tmp_text .swiper-container-rtl .swiper-button-prev::after {
	content: '';
	transform: rotate(45deg);
	right: 2px;
}
.tmp_text .swiper-button-prev::after,
.tmp_text .swiper-container-rtl .swiper-button-next::after {
	content: '';
	transform: rotate(-135deg);
	left: 2px;
}


/*============================================================================*
/* 記事中の広告
/*============================================================================*/
.pfxAd_wrap {
	background: #f2f2f2;
	overflow: hidden;
	width: 100%;
	box-sizing : border-box;
}
.article_ad_center {
	text-align: center;
}
.article_ad_center > div {
	display: inline-block;
}
.article_ad_left,
.article_ad_right {
	display: inline-block;
	width: 50%;
	margin-right: -5px;
	vertical-align: top;
	text-align: center;
}
.article_ad_left > div,
.article_ad_right > div {
	display: inline-block;
}




