/* テキストの文字寄せ */
.txt_c { text-align: center !important; }
.txt_r { text-align: right !important; }
.txt_l { text-align: left !important; }

/* PC版のみ改行無効化 */
.pc_non{ display: none; }

/* 犬用、猫用内部リンクボタン */
/* 共通設定 */
.linkbtn-1col,
.linkbtn-2col{
    display: flex;
	margin: 20px auto 30px;
}
/* 横1つ用 */
.linkbtn-1col{
	justify-content: right;
}
/* 横2つ用 */
.linkbtn-2col,
.linkbtn-2col.jc_c{
	width: 580px;
    max-width: 620px;
	justify-content: center;
}
.linkbtn-1col a{
    max-width: 50%;
    min-width: 40%;
}
.linkbtn-2col a{
	max-width: 100%;
    min-width: 50%;
}
.linkbtn-1col a,
.linkbtn-2col a{
	text-align: center;
	font-size: 15px;
	line-height: 1;
	color: #fff;
	background: #333;
	border-radius: 5px;
	text-decoration: none;
	padding: 15px 30px;
	margin: 5px 10px;
	display: block;
	position: relative;
	box-shadow: 3px 3px 0px #ddd;
    box-sizing: border-box;
}
.linkbtn-1col a::after,
.linkbtn-2col a::after{
	content: "";
	border: 5px solid transparent;
	border-left: 5px solid #fff;
	display: block;
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 0;
	line-height: 0;
}
.linkbtn-1col a.linkbtn-dog,
.linkbtn-2col a.linkbtn-dog{
	background-color: #32abf3;
	box-shadow: 3px 3px 0px #8acff8;
}
.linkbtn-1col a.linkbtn-dog:hover,
.linkbtn-2col a.linkbtn-dog:hover{
	background-color: #1599e6;
}
.linkbtn-1col a.linkbtn-cat,
.linkbtn-2col a.linkbtn-cat{
	background-color: #ed6066;
	box-shadow: 3px 3px 0px #ffb2b5;
}
.linkbtn-1col a.linkbtn-cat:hover,
.linkbtn-2col a.linkbtn-cat:hover{
	background-color: #e6444c;
}

/* カテゴリ用アンカーリンクボタン */
.an-link_btn{
	width: 600px;
	margin: 20px auto;
}
.an-link_btn a{
	position: relative;
	text-align: center;
	text-decoration: none;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	color: #333;
	padding: 20px 20px 30px;
	display: block;
	border-radius: 5px;
	border: 1px solid #777;
	background: -webkit-linear-gradient(top,#faffff,#dadada);
    background: -moz-linear-gradient(top,#faffff,#dadada);
    background: linear-gradient(to bottom,#faffff,#dadada);
}
.an-link_btn a::after{
	content: "";
	border-radius: 3px;
	border: 8px solid transparent;
	border-top: 8px solid #555;
	position: absolute;
	bottom: 2px;
	left: 0;
	right: 0;
	margin: auto;
	width: 0;
}
.an-link_btn a:hover{
	background: -webkit-linear-gradient(top,#faffff,#c0e0f0);
    background: -moz-linear-gradient(top,#faffff,#c0e0f0);
    background: linear-gradient(to bottom,#faffff,#c0e0f0);
}

/* タブコンテンツ */
.tab-contents{
	margin: 20px 0;
	display: flex;
    flex-wrap: wrap;
	justify-content: center;
}
.tab-contents::after{
	content: "";
	width: 100%;
	height: 3px;
	display: block;
	order: -1;
}
.tab-contents .tab-menu{
	font-size: 16px;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    background-color: #fff;
	border: 1px solid #333;
    color: #333;
    display: block;
    width: 100%;
	max-width: 200px;
    padding: 15px;
    margin: 10px 20px;
    border-radius: 7px;
    order: -1;
    z-index: 1;
    flex: 1;
	cursor: pointer;
	position: relative;
}
.tab-contents .tab-main{
	width: 100%;
	height: 0;
	display: block;
	overflow: hidden;
	opacity: 0;
}

.tab-contents input[type="radio"]:checked + .tab-menu{
	color: #fff;
	background: #000;
}
.tab-contents input[type="radio"]:checked + .tab-menu::after{
	content: "";
	border: 10px solid transparent;
	border-top-width: 10px;
	border-top-style: solid;
	border-top-color: #333;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -17px;
	margin: auto;
	width: 0;
	height: 0;
}

.tab-contents input[type="radio"]:checked + .tab-menu + .tab-main{
	height: auto;
	overflow: auto;
	padding: 20px;
	opacity: 1;
	transition: 1s opacity;
}

.tab-contents input[type="radio"]{
	display: none;
}

/* タブ装飾 */
.tab-contents .tab-menu.tab-dog{
	color: #4286F5;
	border-color: #4286F5;
}
.tab-contents .tab-menu.tab-cat{
	color: #F38E86;
	border-color: #F38E86;
}

.tab-contents input[type="radio"]:checked + .tab-menu.tab-dog{
	color: #fff;
	background: #4286F5;
}
.tab-contents input[type="radio"]:checked + .tab-menu.tab-dog::after{
	border-top-color: #4286F5;
}
.tab-contents input[type="radio"]:checked + .tab-menu.tab-cat{
	color: #fff;
	background: #F38E86;
}
.tab-contents input[type="radio"]:checked + .tab-menu.tab-cat::after{
	border-top-color: #F38E86;
}


/* 製品表 */
.prd_table{
	width: 90%;
	margin: 0 auto 30px;
	border: 1px solid #e6da73;
}
.prd_table th, .prd_table td{
	border: 1px solid #e6da73;
	padding: 15px;
	box-sizing: border-box;
	font-size: 15px;
}
.prd_table th{
	font-weight: 700;
}
.prd_table .prd_t_img{
	width: 220px;
	position: relative;
}
.prd_table .prd_t_img img{
	max-width: 100%;
	height: auto;
}
.prd_table .prd_t_mi{
	height: 10px;
	padding: 5px;
	background: #fff9c2;
}
.prd_table .prd_t_money{
	width: 150px;
}

.prd_table ul{
	margin: 10px 10px 10px 20px;
}
.prd_table ul li{
	list-style: disc;
	font-size: 15px;
}

/* 製品表（リストタグ） */
.prd_tbl{
	width: 90%;
	margin: 0 auto 30px;
	border: 1px solid #e6da73;
	display: flex;
}
.prd_tbl > li > ul > li{
	padding: 0;
	box-sizing: border-box;
	font-size: 15px;
}
.prd_tbl .prd_tbl_label{
	font-weight: 700;
	line-height: 1;
	background: #fff9c2;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
}
.prd_tbl th{
	font-weight: 700;
}
.prd_tbl .prd_tbl_img_p {
	position: relative;
	display: flex;
}
.prd_tbl .prd_tbl_img_p + li{
	width: calc(100% - 370px);
}
.prd_tbl .prd_tbl_img_p .prd_tbl_img{
	width: 200px;
	padding: 10px;
	font-size: 0;
}
.prd_tbl .prd_tbl_img_p  .prd_tbl_img a{
	display: block;
}
.prd_tbl .prd_tbl_img_p .prd_tbl_pri{
	width: 150px;
	border-left: 1px solid #e6da73;
	border-right: 1px solid #e6da73;
}
.prd_tbl .prd_t_img img{
	max-width: 100%;
	height: auto;
}
.prd_tbl .prd_t_mi{
	height: 10px;
	padding: 5px;
	background: #fff9c2;
}
.prd_tbl .prd_t_money{
	width: 150px;
}

.prd_tbl .prd_tbl_cell ul{
	margin: 0px 10px 0px 20px;
}
.prd_tbl .prd_tbl_cell ul li{
	list-style: disc;
	font-size: 15px;
}
.prd_tbl .prd_tbl_cell{
    padding: 10px;
    display: flex;
    width: 100%;
    height: calc(100% - 37px);
    box-sizing: border-box;
    align-items: center;
}

/* 製品表（アイコン） */
/* テーブル用のアイコン追加 230817 */
.prd_tbl_img .icon_oyatu,
.prd_tbl_img .icon_spot,
.prd_tbl_img .icon_jyozai{
	background-repeat: no-repeat;
	background-size: contain;
	background-position: 0 0;
	position: absolute;
	top: -20px;
	left: -20px;
	z-index: 2;
	width: 60px;
	height: 60px;
	display: block;
	border-radius: 3px;
}
.prd_tbl_img .icon_oyatu{
	background-image:url("/img/tblicon/tblicon_img_chewa.png");
}
.prd_tbl_img .icon_spot{
	background-image:url("/img/tblicon/tblicon_img_spot.png");
}
.prd_tbl_img .icon_jyozai{
	background-image:url("/img/tblicon/tblicon_img_jyozai.png");
}
	
/* コンテンツ中央寄せ */
.m_0auto{
	margin: 0px auto !important;
}

/* コンテンツ装飾 */
.underline{
	text-decoration: underline;
}


pre::before{
	display: none;
}
.icon_classchart th{
	font-weight: 700;
	text-align: center;
	background-color: #cfe1ff;
}
.icon_classchart th,
.icon_classchart td{
	padding: 10px;
	border: 1px solid #82b2ff;
}
.icon_classchart td pre{
	margin: 0;
	line-height: 1;
}

/* リストタグ（枠あり、枠無し） */
ul.txt-list{
	margin: 30px;	
}
ul.txt-list li{
	list-style: disc;
	margin-left: 20px;
}
ul.txt-list.inbox{
	border: 2px solid #ccc;
	padding: 20px;
	display: block;
	border-radius: 5px;
}

/* 選択ボタン（横3列） */
.btn-3col{
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    margin: 0px auto;
}
.btn-3col a{
	display: block;
	margin: 5px;
}
.btn-3col a picture source,
.btn-3col a picture img{
	max-width: 100%;
	height: auto;
}



/* アコーディオンボタン */
.acco-btn{
    border: 3px solid #aaa;
	border-radius: 10px;
    margin: 15px;
    box-sizing: border-box;
    background-color: #eee;
    box-shadow: 3px 3px 0px #ddd;
}
.acco-btn.btn-dog{
	background-color: #e4f3ff;
	border-color: #42baf5;
}
.acco-btn.btn-cat{
	background-color: #ffe6f3;
	border-color: #ff99c7;
}
.acco-btn .acco-label{
    font-size: 20px;
    line-height: 27px;
    font-weight: 700;
    padding: 12px 12px 12px 140px;
    position: relative;
    z-index: 1;
    cursor: pointer;
}
.acco-btn .acco-label::before{
	content: "";
    width: 60px;
    height: 60px;
    display: block;
    position: absolute;
    top: -10px;
    left: 20px;
	background-repeat: no-repeat;
	background-position: 0 0;
	background-size: contain;
}
.acco-btn .acco-label.acco-icon-dog::before{
	width: 65px;
    height: 65px;
	top: -12px;
	background-image:url(/img/icon/acco-icon/acco-icon-dog.png);
}
.acco-btn .acco-label.acco-icon-cat::before{
	width: 65px;
    height: 65px;
	top: -12px;
	background-image:url(/img/icon/acco-icon/acco-icon-cat.png);
}
.acco-btn .acco-label.acco-icon-good::before{
	width: 75px;
    height: 75px;
	top: -12px;
	background-image:url(/img/icon/acco-icon/acco-icon-good.png);
}
.acco-btn .acco-label.acco-icon-oyatu::before{
	top: -5px;
	background-image:url(/img/icon/acco-icon/acco-icon-oyatu.png);
}
.acco-btn .acco-label.acco-icon-spot::before{
	background-image:url(/img/icon/acco-icon/acco-icon-spot.png);
}
.acco-btn .acco-label.acco-icon-tablet::before{
	background-image:url(/img/icon/acco-icon/acco-icon-tablet.png);
}
.acco-btn .acco-label.acco-icon-nomidani::before{
	width: 70px;
    height: 70px;
	top: -12px;
	background-image:url(/img/icon/acco-icon/acco-icon-nomidani.png);
}
.acco-btn .acco-label::after{
    content: "";
    position: absolute;
    top: 7px;
    bottom: 0;
    right: 20px;
    line-height: 0;
    margin: auto;
    height: 0;
    display: block;
    border: 8px solid transparent;
    border-top: 10px solid #555;
    border-radius: 3px;
}
.acco-btn .acco-label.active::after{
    top: 0;
	bottom: 12px;
	border: 8px solid transparent;
    border-bottom: 10px solid #555;
}
.acco-btn .acco-main{
	display: none;
}
.acco-btn .acco-main.active{
    display: flex;
	align-items: center;
	background: #fff;
	padding: 15px;
    margin: 0 15px 15px;
    border-radius: 5px;
	border: 1px solid #ccc;
}
.acco-btn .acco-main .acco-img{
	width: 150px;	
	margin-right: 15px;
	text-align: center;
	font-size: 0;
	line-height: 1;
}
.acco-btn .acco-main .acco-img img{
	max-width: 100%;
	height: auto;
}
.acco-btn .acco-main .acco-txt{
    width: calc(100% - 350px);
    display: flex;
    border-left: 1px solid #ccc;
    min-height: 120px;
    align-items: center;
    box-sizing: border-box;
    padding-left: 15px;
}
.acco-btn .acco-main .acco-np{
	width: 190px;
	font-size: 16px;
	line-height: 25px;
}
.acco-btn .acco-main .acco-np .acco-price{
	font-size: 13px;
}
.acco-btn .acco-main .acco-np .acco-price span{
	font-size: 18px;
    font-weight: 700;
    color: #ee3a3a;
    margin: 0px 3px;
}
.acco-btn .acco-main .acco-txt ul li{
    margin: 3px 0;
    text-indent: -25px;
    padding-left: 25px;
    font-size: 16px;
    line-height: 24px;
}
.acco-btn .acco-main .acco-txt ul li::before{
	content: "●";
	color: #ccc;
	margin-right: 10px;
}
.acco-btn.btn-dog .acco-main .acco-txt ul li::before{
	color: #42baf5;
}
.acco-btn.btn-cat .acco-main .acco-txt ul li::before{
	color: #ff99c7;
}