@charset "utf-8";

@import url(form.css);
/* -----------------------------------------------------
■Common
	※ナビメニュー
	※写真リスト
	※もっと見る
	※サイドコンテンツ
■写真投稿トップ
	※看板わんこ
	※犬種リスト
	※写真の利用について
	※その他
■投稿リストページ
■詳細ページ
■犬種の選択ページ
■infoページ
■フォーム
------------------------------------------------------ */

/* Common
------------------------------------------------------ */
* {
	box-sizing: border-box;
}
#main.n-photo {
	margin-bottom: 40px;
}

/* ナビメニュー
------------------------------ */
.nav_menu {
	margin: 5px 0 10px;
	padding-bottom: 5px;
	border-bottom: 1px solid #eee;
	font-size: 1.2rem;
}
@media screen and (min-width: 1024px) {
	.nav_menu {
		border-bottom: none;
		font-size: 14px;
	}
}

.nav_menu ul {
	display: flex;
	align-items: center;
}
.nav_menu li {
	flex: 1 1 auto;
	text-align: center;
}
@media screen and (min-width: 1024px) {
	.nav_menu li {
		flex-grow: 0;
	}
}

.nav_menu li a {
	display: block;
	padding: 5px 0;
}
@media screen and (min-width: 1024px) {
	.nav_menu li a {
		padding-right: 2em;
		padding-left: 2em;
	}
}

.nav_menu li a:hover {
		text-decoration: underline;
}
@media screen and (min-width: 1024px) {
	.nav_menu li:not(:last-child) a:hover {
		background: none;
	}
}

.nav_menu li:not(:last-child) a {
	border-right: 1px solid #ddd;
}
.nav_menu .regist {}
@media screen and (min-width: 1024px) {
	.nav_menu .regist {
		margin-left: 2em;
	}
}

.nav_menu .regist a {
	color: #fca501;
	font-weight: bold;
}
@media screen and (min-width: 1024px) {
	.nav_menu .regist a {
		padding-top: 10px;
		padding-bottom: 10px;
		background-color: #fca501;
		color: #fff;
		border-radius: 4px;
	}
	.nav_menu .regist a:hover {
		background-color: #feb732;
		text-decoration: none;
	}
}

.nav_menu .regist a::before {
	content: "";
	display: inline-block;
	position: relative;
	top: -2px;
	width: 18px;
	height: 14px;
	background: url(../images/photo/icon_camera_yellow.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin: 0 3px 0 0;
}
@media screen and (min-width: 1024px) {
	.nav_menu .regist a::before {
		background-image: url(../images/photo/icon_camera.png);
	}
}


/* 写真リスト
------------------------------ */
/* 写真リスト カードスタイル*/
.photo_loop .photo_card {
	float: left;
	width: 50%;
	border: 1px solid #fff;
}
.photo_loop .photo_card_eyecatch img {
	width: 100%;
}
.photo_loop .photo_card a {
	display: block;
	position: relative;
}
.photo_loop .photo_card_detail {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-top: .5em;
	font-size: 1.2rem;
	text-align: justify;
	line-height: 1.2;
	background: #888;
	background: linear-gradient(to bottom, rgba(0,0,0,0) 0%,rgba(0,0,0,0.3) 25%,rgba(0,0,0,0.3) 100%);
}
.photo_loop .photo_card_detail .photo_card_dis {
	padding: 3px 10px 5px;
	color: #fff;
}
.post_photo .post_btn {
	display: block;
	width: 250px;
	margin: 0 auto;
	padding: 10px 0;
	border: 1px solid #e5e5e5;
	background: #f0f2f5;
	color: #444;
	text-align: center;
	font-size: 14px;
	border-radius: 3px;
}
.photo_loop .photo_card .photo_card_doginfo::before,
.photo_index .post_photo a::before,
.photo_detail .post_photo_inv .post_photo a::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 14px;
	background: url(../images/photo/icon_camera.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin: 0 6px 0 0;
}
.photo_loop .photo_card .photo_card_doginfo::before {
	width: 14px;
	height: 10px;
	margin: -2px 3px 0 0;
}

@media screen and (min-width: 1024px) {
	.photo_loop .photo_card {
		width: 20%;
		border: none;
	}
	.photo_loop .photo_card a {
		margin: 0 5px 10px;
	}
	.photo_loop .photo_card_detail .photo_card_doginfo {
		display: none;
	}
}

/* 写真リスト：リストスタイル用追記 */
.photo_loop.list-style {}
@media screen and (min-width: 1024px) {
	.photo_loop.list-style {
		display: flex;
		flex-flow: row wrap;
	}
}

.photo_loop.list-style .photo_card {
	float: none;
	width: 100%;
	border: none;
}
@media screen and (min-width: 1024px) {
	.photo_loop.list-style .photo_card {
		max-width: 50%;
	}
}

.photo_loop.list-style .photo_card a {
	display: flex;
	padding: 10px;
	border-bottom: 1px solid #eee;
}
.photo_loop.list-style .photo_card_eyecatch {
	flex: none;
	width: 70px;
}
.photo_loop.list-style .photo_card_detail {
	position: static;
	min-width: 0;
	padding-top: 0;
	background: none;
	font-size: 1.3rem;
}
.photo_loop.list-style .photo_card_detail p {
	color: inherit;
}
.photo_loop.list-style .photo_card .photo_card_doginfo {
	padding-left: 10px;
}
.photo_loop.list-style .photo_card .photo_card_doginfo::before {
	background-image: url(../images/photo/icon_camera_yellow.png);
}

@media screen and (min-width: 1024px) {
	.photo_loop.list-style .photo_card .photo_card_doginfo {
		display: block !important;
	}
}

/* 写真リスト：絞り込み */
.photo_lists-conditions {
	margin-left: 15px;
}

@media screen and (min-width: 1024px) {
	.photo_loop.list-style.narrowing .photo_card {
		max-width: none;
	}
}

@media screen and (min-width: 768px) {
	.photo_loop.list-style.narrowing .photo_card_eyecatch {
		width: 360px;
	}
}

.photo_loop.list-style.narrowing .photo_card_detail {
	padding-left: 10px;
}
.photo_loop.list-style.narrowing .photo_card_detail > p {
	padding: 0;
	margin-bottom: .5em;
}


/* パンくず */
@media screen and (max-width: 1023px) {
	.pankuzu {
		padding-bottom: 5px;
	}
}


/* もっとみる
----------------------------------- */
.more_link {
	margin-top: 12px;
	margin-bottom: 30px;
}
.more_link a {
	background: #f0f2f5;
	color: #444;
	font-size: 14px;
	text-align: center;
	line-height: 50px;
	display: block;
	width: 250px;
	margin: auto;
	border-radius: 3px;
}
.more_link a:hover {
	text-decoration: none;
	background: #E0E0E0;
}


/* -----------------------------
 サイドコンテンツ
----------------------------- */
#side {
	display: none;
}
@media screen and (min-width: 1024px) {
	#side {
		display: block;
		margin: 0 0 20px;
	}
}

/* ウィジェットタイトル */
@media screen and (min-width: 1024px) {
	#side .sidebar_title { 
		margin-bottom: 10px;
		font-size: 1.1em;
		line-height: 1.2em;
		font-weight: bold;
	}
	#side .side_memo {
		display: block;
		font-size: 12px;
		font-weight: normal;
		color: #888;
	}
}

/* 検索 */
#side .side_search { display: none;}
@media screen and (min-width: 1024px) {
	#side .side_search {
		display: block;
	}
	#side .side_search {
		margin-bottom:18px;
	}
	#side .side_search .gsc-control-searchbox-only * {
		box-sizing: content-box;
	}
	#side .side_search .gsc-search-box {
		margin-right: 3px;
		margin-left: 3px;
	}
	#side .side_search .gsc-search-box .gsc-input-box {
		border-radius: 3px;
	}
	#side .side_search .gsc-search-box .gsc-input-box td.gsib_b {
		height: 36px;
	}
}

/* 広告 */
#side .top_ad { text-align:center; margin-bottom:18px;}
#side .top_ad > div { margin: 0 auto;}

/* バナー */
#side .home_banner { margin-bottom:18px;}
#side .home_banner img { width:100%;}
#side .home_banner p { margin-bottom:18px;}
#side .home_banner p:last-child { margin-bottom:0;}
@media screen and (max-width: 1023px) { 
	#side .home_banner { margin:0 10px 18px;}
	#side .home_banner p { margin-bottom:10px;}
}

/* 特集 */
#side .side_special .title {
	font-size: 20px;
	font-weight: bold;
	margin-right: 10px;
	margin-bottom: 10px;
}
#side .side_special .title img { vertical-align:bottom;}
#side .side_special .special_post {
	border: 1px solid #eee;
	margin-bottom: 25px;
	padding: 18px;
	overflow: hidden;
	border-radius: 3px;
}
#side .side_special .special_post:last-child { margin-bottom:0;}

#side .side_special .s_title {
	border-bottom:2px solid #ec5c5c;
	font-size: 20px;
	font-weight: bold;
	color: #444;
	padding: 0 5px;
	margin-bottom: 14px;
	text-align: center;
}
#side .side_special .note {
	margin-bottom: 14px;
	line-height: 24px;
}
#side .side_special .special_post ul { overflow:hidden;}
#side .side_special .special_post li a {
	border-top: 1px solid #eee;
	color:#202020;
	display:block;
	overflow:hidden;
	padding:15px 0;
}
#side .side_special .special_post li .img { width:120px; height:80px; float:left; margin-right:10px; overflow:hidden;}
#side .side_special .special_post li .img img { width:100%; height:auto;}
#side .side_special .special_post li .post_title {
	font-size:14px;
	font-weight:bold;
	line-height:1.3em;
}
#side .side_special .special_post .more_link { text-align:center;}
#side .side_special .special_post .more_link a { text-decoration:underline;}
#side .side_special .special_post .more_link a:hover { text-decoration:none;}

@media screen and (max-width: 1023px) {
	#side .side_special { margin-bottom:20px;}
	#side .side_special .title {
		padding: 5px 10px;
		font-size: 12px;
		float: none;
		color: #444;
		border-bottom: 1px solid #eee;
	}
	#side .side_special .title img { width:auto; max-height: 30px; margin: 10px;}
	#side .side_special .special_post { padding:10px 0; border:none;}
	#side .side_special .s_title { padding-left: 10px; margin-bottom: 0;}
	#side .side_special .note { padding:10px; padding-bottom:0;}
	#side .side_special .special_post ul { margin-bottom:5px;}
	#side .side_special .special_post li a { border:none; padding:5px 10px;}
	#side .side_special .special_post .more_link { text-align:center;}
	#side .side_special .special_post .more_link a {
		background: #f0f2f5;
		color:#444;
		font-size: 14px;
		text-align: center;
		text-decoration:none;
		line-height: 50px;
		display:inline-block;
		padding:0 20px;
		margin: 0 auto;
		min-width:200px;
		border-radius: 3px;
	}
/*End @media */}
@media screen and (min-width: 768px) and (max-width: 1023px) { 
	#side .side_special { overflow:hidden; margin-bottom:0;}
	#side .side_special .special_post {
		float:left;
		padding:10px;
		width:50%;
		padding-bottom:20px;
		margin-bottom:0;
		border-right:1px solid #eee;
		border-bottom:1px solid #eee;
		box-sizing : border-box;
		border-radius : 0;
	}
	#side .side_special > div:nth-child(1){ border-right:1px solid #eee;}
/*End @media */}


/* 写真投稿トップ
------------------------------------------------------ */
.photo_index {
	position: relative;
}
.photo_index h2 {
	margin-left: 10px;
	color: #444;
	font-size: 1.8rem;
	font-weight: bold;
}
.photo_index .index_header {
	position: relative;
	margin-bottom: 20px;
	padding: 18px 12px;
	background: url(../images/photo/index_header.jpg) center no-repeat;
	background-size: cover;
}
.photo_index .index_header::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: rgba(0, 0, 0, 0.5);
}
.photo_index .index_header .inner {
	position: relative;
	z-index: 1;
}
.photo_index .index_header h2 {
	margin-bottom: .3em;
	margin-left: 0;
	color: #fff;
	font-size: 1.6rem;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.photo_index .index_header h2 {
		font-size: 2.6rem;
	}
}

.photo_index .index_header h2 br {
	display: inline;
}
@media screen and (min-width: 768px) {
	.photo_index .index_header h2 br {
		display: none;
	}
}

.photo_index .index_header p {
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.3;
	text-align: justify;
}
@media screen and (min-width: 768px) {
	.photo_index .index_header p {
		text-align: center;
	}
}

.photo_index .post_photo {
	text-align: center;
}
.photo_index .photo_loop::after {
	content: "";
	clear: both;
	display: block;
}
.photo_index .photo_loop .ads {
	display: none;
}
.photo_index .post_photo_inv {
	margin: 15px 0 40px;
	text-align: center;
}

/* 看板わんこ
------------------------------ */
.photo_index .today_dog {
	position: relative;
	margin: 0 10px 25px;
	padding: 10px;
	border: 2px solid #eee;
	background: url(../images/photo/today_dog_bg_sp.jpg?080115);
	background-size: cover;
}
@media screen and (min-width: 768px) {
	.photo_index .today_dog {
		display: flex;
		justify-content: space-between;
		margin-left: 0;
		margin-right: 0;
		padding: 20px;
		background: url(../images/photo/today_dog_bg_portrait.jpg?080115);
		background-size: cover;
	}
}

.photo_index .today_dog > .title {
	position: absolute;
	top: -3px;
	left: -3px;
	width: 80px;
	margin-left: 0;
	box-shadow: 0 4px 5px 0 rgba(0, 0, 0, 0.4);
	border-radius: 50%;
}
@media screen and (min-width: 768px) {
	.photo_index .today_dog > .title {
		width: 130px;
	}
}

.photo_index .today_dog > .title img {
	max-width: 100%;
	border-radius: 50%;
}
.photo_index .today_dog .dog_photo {
	display: block;
	padding: 8px;
	border: 4px solid #eee;
	background-color: #fff;
	text-align: center;
}
@media screen and (min-width: 768px) {
	.photo_index .today_dog .dog_photo {
		flex: 0 0 auto;
		width: 330px;
	}
}

.photo_index .today_dog .dog_photo img {
	width: 100%;
}
.photo_index .today_dog .dog_photo:hover img {
	opacity: 1;
}
.photo_index .today_dog .post_info {
	margin-top: 10px;
}
@media screen and (min-width: 768px) {
	.photo_index .today_dog .post_info {
		flex: 1 1 0%;
		margin-top: 5px;
		margin-left: 20px;
	}
}

.photo_index .today_dog .post_info-name {
	padding: 5px 10px;
	border: 1px solid #ddd;
	border-radius: 2px;
	background-color: #fff;
	font-weight: bold;
}
.photo_index .today_dog .post_info-name span {
	font-size: .85em;
}
.photo_index .today_dog .post_info-detail {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin-top: 10px;
}
.photo_index .today_dog .post_info-detail div {
	flex: 0 0 30%;
	border-bottom: 1px solid #ddd;
}
.photo_index .today_dog .post_info-detail .breed {
	flex: 0 0 auto;
	width: 100%;
	margin-bottom: 5px;
}
.photo_index .today_dog .post_info-comment {
	margin-top: 15px;
}
.photo_index .today_dog .post_info-comment .comment {
	position: relative;
	padding: 6px;
	border: 1px solid #ddd;
	background-color: #fff;
}
.photo_index .today_dog .post_info-comment .comment p {
	height: 63px;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}


/* 犬種リスト
------------------------------ */
.photo_index .breeds {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 0 10px 20px;
}
.photo_index .breeds li {
	flex: 0 0 49%;
	margin-bottom: 6px;
}
@media screen and (min-width: 768px) {
	.photo_index .breeds li {
		flex: 0 0 32.5%;
	}
}
.photo_index .breeds li a {
	display: block;
	border: 1px solid #ddd;
	font-size: 1.3rem;
	line-height: 1.2;
}
.photo_index .breeds li .name {
	padding-top: .3em;
	padding-left: 36%;
}
.photo_index .breeds li:last-child {
	display: flex;
	justify-content: center;
	border: 1px solid #ddd;
}
.photo_index .breeds li:last-child a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-grow: 1;
	border: none;
	background-color: #f0f2f5;
	color: inherit;
	font-size: 1.4rem;
}

.photo_index .breeds li img {
	float: left;
	width: 35%;
}

/* 写真の利用について
------------------------------ */
.photo_use {
	padding: 20px 12px 25px;
	margin: 25px 0;
	background: url(../images/photo/today_dog_bg_sp.jpg?080115);
	background-size: cover;
}
@media screen and (min-width: 768px) {
	.photo_use {
		background: url(../images/photo/today_dog_bg.jpg?080115);
		background-size: cover;
	}
}


.photo_use h2 {
	margin: 0 auto .5em;
	text-align: center;
}
.photo_use .info_link a {
	display: block;
	padding: 5px 10px;
	margin-top: 12px;
	background-color: #FF7373;
	color: #fff;
	text-align: center;
	text-decoration: underline;
	border-radius: 3px;
}

/* その他
------------------------------ */
/* 投稿ボタン */
.photo_index .post_photo a {
	display:  inline-block;
	color: #fff;
	background: #FCA501;
	padding: 10px 25px;
	font-size: 1.14em;
	font-weight: bold;
	line-height: 1;
	border-radius: 4px;
}
@media screen and (min-width: 768px) {
	.photo_index .post_photo a {
		padding: 17px 57px;
	}
}

.photo_index .post_photo.wide_btn {
	display: block;
	position: relative;
	margin-top: 5px;
}
.photo_index .post_photo.wide_btn a {
	display: block;
	width: 93%;
	margin: 0 auto;
	padding: 13px 0;
	text-align: center;
}

/* 固定投稿ボタン */
.float_btn.post .post_photo {
	position: fixed;
	bottom: 15px;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	z-index: 10;
}
@media screen and (min-width: 1024px) {
	.float_btn.post {
		display: none;
	}
}

/* 投稿完了メッセージ */
.photo_index .msg_view .msg_view {
	margin: 10px 5px;
	padding: 5px 0;
	border: 1px solid #FCA501;
	border-left-width: 0;
	border-right-width: 0;
	text-align: center;
	font-size: 12px;
	color: #fca501;
}
@media screen and (min-width: 1024px) {
	.photo_index .msg_view .msg_view {
		font-size: 16px;
	}
}

/* ページャー */
.photo_index .deg_pager .pager_list a {
	background:#f06464;
	color: #fff;
}

@media screen and (min-width: 1024px) {
	.photo_index .ads_top {
		display: none;
	}
	.photo_index .photo_loop {
		margin-top: 20px;
	}
}


/* 投稿リストページ
------------------------------------------------------ */
.photo_lists h2 {
	margin-bottom: 1em;
	padding: 0 .3em;
	border-bottom: 2px solid #ec5c5c;
	color: #444;
	font-size: 1.8rem;
	font-weight: bold;
}
.photo_lists .photo_loop {
	margin-bottom: 12px;
}


/* 詳細ページ
------------------------------------------------------ */
.photo_detail .detail_head::after {
	content: ""; clear: both; display: block;
}
.photo_detail .detail_head .post_info {
	display: flex;
	justify-content: space-between;
	margin: 0 5px;
	word-break: break-all;
}
.photo_detail .detail_head .post_info p {
	flex: 1 1 auto;
}
.photo_detail .detail_head .post_info .post_date {
	flex: 1 0 auto;
	text-align: right;
}
.photo_detail .detail_head_navi {
	margin: 0 5px;
}
.photo_detail .detail_head_navi ul {
	text-align: right;
}
.photo_detail .detail_head_navi li {
	display: inline-block;
}


.photo_detail .detail_head .post_info .has_url a {
	color: #ffa507;
	text-decoration: underline;
}
@media screen and (min-width: 1024px) {
	.photo_detail .detail_head .back {
		display: none;
	}
	.photo_detail .detail_head .post_info span a {
		font-size: .85em;
	}
/*End @media */}

.photo_detail > .post_info {
	margin: 0 12px;
}
.photo_detail .photo {
	text-align: center;
	margin-bottom: 10px;
}
.photo_detail .photo img {
	max-width: 100%;
}
.photo_detail .profile,
.photo_detail .desc {
	margin: 10px;
}
.photo_detail .profile {
	font-weight: bold;
	line-height: 1.3;
}
.photo_detail .post_info::after {
	content: ""; clear: both; display: block;
}
.photo_detail > .post_info ul {
	display: flex;
}
.photo_detail > .post_info li {
	line-height: 42px;
}
.photo_detail > .post_info li.report_link {
	margin-left: auto;
	color: #aaa;
	font-size: 12px;
}
.photo_detail > .post_info li a {
	color: inherit;
}
.photo_detail > .post_info .post_date {
	float: right;
	font-size: .85em;
	color: #aaa;
}
.photo_detail .num img {
	vertical-align: middle;
	margin-right: 5px;
}
.photo_detail .name::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 14px;
	background: url(../images/photo/icon_camera_yellow.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin: 0 4px 0 -22px;
	padding-bottom: 2px;
}
.photo_detail .post_photo_inv {
	margin: 15px 0 30px;
	text-align: center;
}
.photo_detail .post_photo a,
.photo_detail .post_photo_inv .more_photo a {
	display:  inline-block;
	color: #fff;
	background: #FCA501;
	padding: 6px 14px;
	font-weight: bold;
	line-height: 1;
	border-radius: 4px;
	border: none;
}
.photo_detail .post_photo_inv .more_photo a {
	background: #eee;
	color: #444;
}
.photo_detail .post_photo_inv .post_photo.wide_btn,
.photo_detail .post_photo_inv .more_photo.wide_btn {
	display: block;
	position: relative;
	margin-top: 5px;
}
.photo_detail .post_photo_inv .more_photo.wide_btn a,
.photo_detail .post_photo.wide_btn a {
	display: block;
	width: 93%;
	margin: 0 auto;
	padding: 13px 0;
	text-align: center;
}
/* いいね！ボタン */
.photo_detail #photo_good {
	line-height: inherit;
	margin-right: 13px;
}
.photo_detail #photo_good span {
	display: inline-block;
	padding: 10px 12px;
	background-color: #f5f5f5;
	border-radius: 4px;
	box-shadow: 0 1px 0 0 rgba(0, 0, 0, 0.1);
	font-weight: bold;
}
.photo_detail #photo_good span img {
	vertical-align: middle;
	margin-right: 10px;
}

/* ユーザーブロック */
.photo_detail .user_block {
	margin-right: 12px;
	margin-bottom: 1em;
	color: #aaa;
	font-size: 12px;
	text-align: right;
}
.photo_detail .user_block a {
	color: inherit;
}

/* ページナビゲーション */
.photo_detail .navi {
	background: #f5f5f5;
}
.photo_detail .navi {
	margin-bottom: 15px;
}
.photo_detail .navi li {
	width: 50%;
	padding-top: 10px;
	padding-bottom: 10px;
	font-size: 12px;
}
.photo_detail .navi .prev {
	float: left;
}
.photo_detail .navi .next {
	float: right;
}
.photo_detail .navi li a {
	position: relative;
	display: block;
	line-height: 42px;
}
.photo_detail .navi li span {
	display: block;
}
.photo_detail .navi .prev a {
	padding: 0 20px 0 40px;
}
.photo_detail .navi .next a {
	padding: 0 40px 0 20px;
}
.photo_detail .navi li a img {
	width: 42px;
	height: 42px;
}
.photo_detail .navi .prev img {
	float: right;
}
.photo_detail .navi .next img {
	float: left;
}
.photo_detail .navi .next span {
	text-align: right;
}
.photo_detail .navi .prev span::before,
.photo_detail .navi .next span::after {
	position: absolute;
	top: 50%;
	display: block;
	content: '';
	width: 8px;
	height: 8px;
	margin-top: -4px;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	border: 0 solid #c7c7cc;
}
.photo_detail .navi .prev span::before {
	left: 10px;
	border-bottom-width: 2px;
	border-left-width: 2px;
}
.photo_detail .navi .next span::after {
	right: 10px;
	border-top-width: 2px;
	border-right-width: 2px;
}
@media screen and (min-width: 1024px) {
	.photo_detail .navi {
		width: 400px;
		margin: 0 auto 20px;
		background: transparent;
	}
	.photo_detail .navi li {
		width: 45%;
		background-color: #f5f5f5;
	}
/*End @media */}

/* 新着写真 */
.photo_detail .new_photos .sec_title {
	margin: 0 0 0 5px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #444;
}
.photo_detail .new_photos .sec_title + p {
	font-size: .71em;
	margin-left: 12px;
	color: #aaa;
}
.photo_detail .new_photos .photo_loop::after {
	content: ""; clear: both; display: block;
}

@media screen and (min-width: 1024px) {
	.photo_detail .new_photos .sec_title {
		font-size: 16px;
	}
	.photo_detail .new_photos .sec_title + p {
		font-size: 14px;
	}
/*End @media */}

/* Ads */
.photo_detail .ads {
	text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
}
.photo_detail .ads > div {
	margin: 0 auto;
}
.photo_detail .ads .article_ad_left,
.photo_detail .ads .article_ad_right {
	display: inline-block;
	width: 50%;
	margin-right: -5px;
	vertical-align: top;
	text-align: center;
}
.photo_detail .ads .article_ad_left > div,
.photo_detail .ads .article_ad_right > div {
	display: inline-block;
}


/* コメント */
.photo_detail .comment_form {
	margin-bottom: 20px;
	padding: 12px;
	background-color: #f5f5f5;
}
.photo_detail .comment_form label {
	font-size: 12px;
}
.photo_detail .comment_form label span {
	font-size: .85em;
	color: #888;
}
.photo_detail .comment_form .submit input[type="submit"] {
	background: #ffa507;
	height: 30px;
}
.photo_detail .comment_list {
	margin-bottom: 20px;
	font-size: 12px;
}
.photo_detail .comment_list .num {
	margin-left: 10px;
	font-weight: bold;
}
.photo_detail .comment_list .comment {
	padding: 10px;
	border-bottom: 1px solid #eee;
}
.photo_detail .comment_list .comment:first-of-type {
	border-top: 1px solid #eee;
}
.photo_detail .comment_list .time {
	float: right;
	width: 25%;
	text-align: right;
}
.photo_detail .comment_list .name {
	float: left;
	width: 75%;
	font-weight: bold;
	font-size: 12px;
}
.photo_detail .comment_list .name::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 13px;
	background: url(../images/photo/comment.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
	margin: 3px 6px 0 0;
}
.photo_detail .comment_list .body {
	clear: both;
	margin-top: 10px;
	
}
@media screen and (min-width: 1024px) {
	.photo_detail .comment_form label {
		display: block;
		font-size: 14px;
	}
	.photo_detail .comment_form .submit input[type="submit"] {
		height: 40px;
	}
	.photo_detail .comment_form textarea {
		width: 400px;
		max-width: none;
	}
	.photo_detail .comment_form input[type="text"] {
		width: 400px;
	}
	.photo_detail .comment_list,
	.photo_detail .comment_list .name {
		font-size: 14px;
	}
/*End @media */}

/* バリデーションメッセージ */
.photo_detail .msg_view > .msg_view {
	margin: 0 10px 10px 10px;
	padding: 3px;
	background-color: #FFF2F2;
	border: 1px solid #ec5c5c;
	border-radius: 3px;
}

/* 詳細ページ：絞り込み */
.photo_detail.narrowing h2 {
	margin-bottom: 1em;
	padding: 0 .3em;
	border-bottom: 2px solid #ec5c5c;
	color: #444;
	font-size: 1.8rem;
	font-weight: bold;
}
.photo_detail.narrowing .post_info .post_user {
	color: #4F81BD;
	font-weight: bold;
}
.photo_detail.narrowing .post_info {
	margin-bottom: .5em;
}
.photo_detail.narrowing .post_info a {
	color: inherit;
}
.photo_detail.narrowing .photo_url {
	margin: 10px;
}
.photo_detail.narrowing .photo_url input {
	width: 80%;
	font-size: 14px;
}


/* 犬種の選択ページ
------------------------------------------------------ */
.select_type {
	
}
.select_type h2 {
	margin-bottom: 1em;
	padding: 0 .3em;
	border-bottom: 2px solid #ec5c5c;
	color: #444;
	font-size: 1.8rem;
	font-weight: bold;
}
.select_type h3 {
	margin: .5em 0 .3em 10px;
	color: #444;
	font-size: 1.8rem;
	font-weight: bold;
}
.select_type .group {
	display: flex;
	flex-flow: row wrap;
	margin-left: 10px;
}
.select_type .group li {
	margin-bottom: 12px;
}
.select_type .group li a {
	display: block;
	margin: 0 3px;
	padding: 7px 10px;
	border: 1px solid #eee;
	font-size: 1.2rem;
	border-radius: 3px;
}
.select_type .group li a::before {
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1.2rem;
	margin-right: .5em;
	background: url(../images/photo/cate_icon.png) no-repeat;
	background-size: contain;
	vertical-align: middle;
}
.select_type .group.single li a {
	border: none;
}

/* 犬種絞り込み */
.select_type #breed_search_form > div {
	margin-left: 15px;
}
.select_type #breed_search {
	padding: 3px 6px;
	border: 1px solid #ccc;
	border-radius: 2px;
}
.select_type #breed_search + button {
	padding: 3px 6px;
	border: 1px solid #ccc;
	background-color: #ddd;
	font-size: 1.6rem;
	border-radius: 2px;
}
.select_type #breed_search + button:focus {
	outline: none;
}
.select_type .search-result__hit-mes {
	margin-left: 15px;
}


/* infoページ
------------------------------------------------------ */
.page_info {
	padding: 12px;
}
.page_info a {
	text-decoration: underline;
	color: #629bd5;
}
.page_info h2 {
	position: relative;
	margin-bottom: .5em;
	padding-left: .8em;
	font-size: 1.6rem;
	line-height: 1.3;
	font-weight: bold;
}
.page_info h2:not(:first-of-type) {
	margin-top: 1.5em;
}
.page_info h2::before {
	position: absolute;
	content: "";
	width: 5px;
	height: 100%;
	left: 0;
	top: 0;
	background-color: #e74040;
}
.page_info .post_notice li {
	position: relative;
	padding-left: 1.6rem;
	margin-bottom: .3em;
}
.page_info .post_notice li::before {
	position: absolute;
	top: .6rem;
	left: 0;
	content: '';
	display: block;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background-color: #000;
}


/* フォーム
------------------------------------------------------ */
.photo_regist .main_content {
	margin: 10px;
	padding-top: 0;
}
.photo_regist ._content h1 {
	margin-bottom: 20px;
	font-size:16px;
	font-weight: bold;
}
.photo_regist .regist_head {
	position: relative;
	margin: 0 -10px;
}
.photo_regist .regist_head h1 {
	margin: .5em 0 1em;
	padding: 0 10px;
	border-bottom: 2px solid #ec5c5c;
	color: #444;
	font-size: 1.8rem;
	font-weight: bold;
}
.photo_regist .main_content > .msg_view > .msg_view {
	margin: 10px 0;
	padding: 3px;
	background-color: #FFF2F2;
	border: 1px solid #ec5c5c;
	border-radius: 3px;
}
.photo_regist form > div {
	margin-bottom: 20px;
}
.photo_regist form > div a {
	color: #e86666;
	text-decoration: underline;
}
.photo_regist form label {
	display: block;
}
.photo_regist form label.inline {
	display: inline;
}
.photo_regist form label .require,
.photo_regist form .notice {
	color: #E86666;
}
.photo_regist form label .note {
	color: #aaa;
	font-size: .8em;
	margin-left: 5px;
}
.photo_regist form input::placeholder {
	color: #ccc;
}
.photo_regist form input[type="text"] {
	height: auto;
	padding: 5px 5px 0;
	font-size: 1.6rem;
}
.photo_regist form .rule_agree {
	text-align: center;
	margin-bottom: 0;
}
.photo_regist form .post_notice {
	border:1px solid #aaa;
	padding: .5em .8em;
}
.photo_regist form .post_notice .title {
	margin-bottom: .3em;
	font-weight: bold;
}
.photo_regist form .post_notice .notice {
	color: inherit;
	font-size: .9em;
}


.photo_regist .age input,
.photo_regist .weight input {
	width: 5em;
	margin-right: .5em;
}

/* 投稿確認
------------------------------ */
.regist_confirm .confirm_items dl {
	margin-bottom: .8em;
}
.regist_confirm .confirm_items dt {
	font-weight: bold;
}
.regist_confirm .confirm_items dd {
	margin-left: .5em;
}
.regist_confirm .confirm_items dd img {
	max-width: 90%;
}
@media screen and (min-width: 768px) {
	.regist_confirm .confirm_items dd img {
		max-width: 500px;
		max-height: 500px;
	}
}


/* 通報フォーム
------------------------------------------------------ */
.comment_edit_request {
	margin-top: 30px;
}
@media screen and (max-width: 767px) {
	.comment_edit_request {
		margin-top: 0;
		margin-bottom: 30px;
	}
}

.comment_edit_request .comment_edit_request_title {
	background: #f5f5f5;
	line-height: 50px;
	text-align: center;
}
.comment_edit_request_form {
	border: 1px solid #eee;
	font-size: 14px;
}
@media screen and (max-width: 767px) {
	.comment_edit_request_form {
		border: none;
	}
}

.comment_edit_request_form_inner {
	padding: 25px 35px;
}
@media screen and (max-width: 767px) {
	.comment_edit_request_form_inner {
		padding: 15px 10px 10px;
	}
}

.comment_edit_request_form input,
.comment_edit_request_form textarea {
	max-width: none;
	border: 1px solid #ccc;
	padding: 6px 12px;
	border-radius: 2px;
	box-sizing: border-box;
	font-size: inherit;
}
.comment_edit_request_form .name {
	margin-bottom: 15px;
}
.comment_edit_request_form .name input {
	width: 350px;
}
@media screen and (max-width: 767px) {
	.comment_edit_request_form .name input {
		width: 100%;
	}
}

.comment_edit_request_form .body textarea {
	width: 100%;
	height: 200px;
}
@media screen and (max-width: 767px) {
	.comment_edit_request_form .body textarea {
		height: 150px;
	}
}

.comment_edit_request_btn {
	margin: 20px 0;
	text-align: center;
}
@media screen and (max-width: 767px) {
	.comment_edit_request_btn {
		margin: 0 10px;
	}
}

.comment_edit_request_btn input {
	border: none;
	background: #f06464;
	color: #fff;
	font-weight: bold;
	line-height: 60px;
	text-align: center;
	width: 400px;
	margin: 0;
	-webkit-appearance: none;
	border-radius: 0;
}
@media screen and (max-width: 767px) {
	.comment_edit_request_btn input {
		width: 100%;
		line-height: 44px;
	}
}
