@charset "UTF-8";
/* --- fonts --- */
@font-face {
  font-family: 'PH_icons';
  src: url('../../fonts/ph_icons.ttf') format('truetype');
}
/* ie */
@font-face {
  font-family: 'PH_icons';
  src: url('../../fonts/ie/ph_icons.eot');
}
/* --- define --- */
body {
  font-family: 'Lucida Grande','Hiragino Kaku Gothic ProN', 'Meiryo', 'sans-serif';
  min-width: 1000px;
}
.wrapper article h1 {
  font-size: 140%;
  line-height: 120%;
  padding: 0 0 25px 40px;
  border-bottom: solid 1px #ccc;
  margin-bottom: 15px;
  position: relative;
}
.wrapper article h1 i {
  font-size: 160%;
  line-height: 70%;
  color: #666;
  margin-top: -26px;
  position: absolute;
  top: 50%;
  left: 0;
}
.wrapper article h2 {
  font-size: 110%;
  color: #fff;
  background: #666;
  padding: 7px;
  border-radius: 2px;
  margin-bottom: 10px;
}
.wrapper article h3 {
  font-size: 100%;
  line-height: 120%;
  padding: 20px 0 5px;
  margin-bottom: 5px;
  border-bottom: dotted 1px #999;
}
.wrapper article h2 + h3 {
  padding-top: 0;
}
.wrapper article h3 + h4 {
  padding-top: 5px;
}
.wrapper article h4 {
  font-size: 90%;
  line-height: 120%;
  padding: 20px 0 5px;
}
.wrapper article h5 {
  font-size: 90%;
}
.wrapper article p,
.wrapper article table {
  margin: 0 0 10px;
}
.wrapper article ul {
  list-style: disc;
  padding: 5px 0 5px 17px;
}
.wrapper article ol {
  list-style: decimal;
  padding: 5px 0 5px 23px;
}
.wrapper article li {
  margin-bottom: 5px;
}
p,li,th,td,dt,dd {
  font-size: 90%;
  line-height: 130%;
}
i {
  font-family: 'PH_icons';
  font-style: normal;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
}
hr:before,
hr:after {
  font-family: 'PH_icons';
  color: #666;
  content: "d";
  text-align: center;
  display: block;
  -webkit-font-smoothing: antialiased;
}
hr:after {
  color: #999;
  position: relative;
  top: -16px;
}
hr {
  font-size: 120%;
  clear: both;
  border: none;
  position: relative;
  padding: 30px 0 40px;
}
img {
  vertical-align: bottom;
}
/* --- class --- */
.left {
  text-align: left;
}
.center {
  text-align: center;
}
.right {
  text-align: right;
}
img.spacer {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  z-index: 1;
}
.notify {
  color: #c00;
}
.box {
  border: solid 2px #e5e5e5;
  padding: 15px 15px 5px;
  margin-bottom: 20px;
}
.box.notify,
.box.notify h3 {
  border-color: #c00;
}
.wrapper .box h3,
.wrapper .box h4 {
  padding-top: 0;
}
.wrapper .box ul,
.wrapper .box ol {
  padding-top: 0;
}
/* content_ad */
.content_ad {
  text-align: center;
}
.content_ad .ad_detail {
  padding: 20px 10px;
  display: inline-block;
}
/* pagetop */
.pagetop {
  font-size: 80%;
  clear: both;
  text-align: right;
  margin: 10px 15px;
}
.pagetop a {
  color: #666;
  text-decoration: none;
  display: inline-block;
  background: #fff url(../../images/pc/ico_pagetop.png) no-repeat 10px center;
  padding: 5px 10px 5px 30px;
  border-radius: 50px;
}
.pagetop a:hover {
  color: #39c;
}
.pagetop a:hover {
  text-decoration: underline;
}
/* --- header --- */
header {
  position: relative;
}
header #logo {
  padding: 15px;
  background: #fff;
  position: relative;
  z-index: 1;
}
header #logo a {
  color: #666;
  text-decoration: none;
}
header #logo span {
  font-size: 70%;
  font-weight: normal;
  position: relative;
  top: -8px;
  left: 10px;
}
#head_bnr {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
#head_bnr a:hover {
  opacity: 0.7;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all  0.2s ease;
}
/* menu */
nav {
  background: #333;
  position: relative;
}
nav:after {
  content: "";
  display: block;
  clear: both;
}
nav a {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  vertical-align: middle;
}
nav li {
  font-size: 95%;
  float: left;
  position: relative;
  margin-left: 5px;
}
nav li:first-child {
  margin-left: 0;
}
#menu i {
  font-size: 150%;
  float: left;
  padding-right: 2px;
}
#menu li a {
  padding: 10px 15px;
}
#menu li a:hover {
  color: #fff;
  background: #39c;
}
nav .pulldown {
  display: none;
  background: #fff;
  position: absolute;
  z-index: 2000;
  box-shadow: 0 2px 10px rgba(0,0,0,0.4);
}
nav .pulldown li {
  font-size: 90%;
  margin: 0;
}
nav .pulldown a {
  color: #000;
  width: 150px;
  display: block;
}
/* search_form */
#search_form {
  position: absolute;
  top: 6px;
  left: 260px;
  z-index: 2;
}
#search_form input {
  font-size: 95%;
  line-height: 120%;
  color: #fff;
  background: #4e4e4e;
  padding: 5px 10px;
  border: none;
  border-radius: 20px;
  outline: none;
  width: 250px;
}
#search_form button {
  font-size: 95%;
  line-height: 100%;
  color: #fff;
  background: none;
  outline: none;
  background: #666;
  border-radius: 2px;
  padding: 5px 8px;
  vertical-align: middle;
  border: none;
}
#search_form button i {
  padding-right: 2px;
}
#search_form button:hover {
  background: #39c;
}
#search_form p {
  font-size: 85%;
  position: absolute;
  top: 3px;
  right: -65px;
}
#search_form p a {
  color: #ccc;
}
#search_form p a:hover {
  color: #fff;
  text-decoration: underline;
}
/* login_menu */
#login_menu {
  position: absolute;
  top: 0;
  right: 0;
}
#login_menu li {
  position: relative;
}
#login_menu i {
  float: left;
  padding-right: 2px;
}
#login_menu #btn_upload i {
  font-size: 150%;
}
#login_menu a {
  background: #666;
  border-radius: 2px;
  padding: 5px 10px;
  margin-top: 5px;
}
#login_menu #btn_signup a,
#login_menu #btn_upload a {
  background: #39c;
}
#login_menu li a:hover,
#login_menu #btn_signup a:hover,
#login_menu #btn_upload a:hover {
  color: #fff;
  background: #069;
}
#login_menu li:last-child a {
  background: none;
  margin: 0;
  padding: 10px;
  border-radius: 0;
}
#login_menu .pulldown {
  right: 0;
}
#login_menu #my_menu a:hover,
#login_menu li:last-child a:hover {
  background: #39c;
}
#login_menu a span {
  font-size: 70%;
  background: #c00;
  border-radius: 100px;
  padding: 0 5px;
  position: absolute;
  top: -4px;
  left: -4px;
  z-index: 10;
}
/* my_menu */
#login_menu #my_menu a {
  background: none;
  margin: 0;
  padding: 4px 4px 5px;
  border-radius: 0;
}
#login_menu #my_menu img {
  border-radius: 100px;
}
#login_menu #my_menu .pulldown {
  left: 0;
  width: 100px;
}
#login_menu #my_menu .pulldown a {
  padding: 10px 10px 9px;
  width: 80px;
}
/* --- article --- */
/* wrapper */
.wrapper {
  margin: 0 auto;
  width: 1000px;
  position: relative;
  word-wrap: break-word;
  word-break: break-all;
}
.wrapper article {
  width: 680px;
  float: left;
  padding-bottom: 40px;
}
/* wrapper_full (with wrapper) */
body .wrapper_full {
  width: auto;
  margin: 0;
}
body .wrapper_full article {
  width: 100%;
}
body .wrapper_full article #path,
body .wrapper_full article section {
  margin-right: 330px;
  margin-left: 15px;
}
body .wrapper_full aside {
  margin-right: 15px;
  margin-left: -315px;
}
/* path */
#path {
  border-bottom: solid 1px #ccc;
  padding: 5px 0;
  margin-bottom: 25px;
}
#path li {
  font-size: 80%;
  display: inline;
  color: #999;
}
#path li:before {
  font-family: 'PH_icons';
  content: "B";
  padding-right: 5px;
  position: relative;
  bottom: -1px;
  -webkit-font-smoothing: antialiased;
}
#path li:first-child:before {
  display: none;
}
#path li a {
  color: #999;
}
/* link */
article a:link {
  color: #39c;
  text-decoration: none;
}
article a:visited {
  color: #39c;
  text-decoration: none;
}
article a:hover {
  color: #39c;
  text-decoration: underline;
}
article a:action {
  color: #069;
  text-decoration: underline;
}
/* --- aside --- */
aside {
  width: 300px;
  float: right;
  padding-top: 15px;
}
/* title */
aside .title01 {
  font-size: 90%;
  color: #fff;
  background: #333;
  padding: 10px;
  border-radius: 2px 2px 0 0 / 2px 2px 0 0;
}
aside .title02 {
  font-size: 80%;
  color: #fff;
  background: #666;
  padding: 7px 5px 5px;
  position: relative;
}
aside .title02 a {
  color: #fff;
  font-weight: normal;
  text-decoration: none;
  position: absolute;
  top: 1px;
  right: 5px;
}
aside .title02 a:hover span {
  text-decoration: underline;
}
aside .title02 a:before {
  font-family: 'PH_icons';
  font-size: 140%;
  margin-right: 2px;
  content: "Y";
  position: relative;
  bottom: -3px;
  -webkit-font-smoothing: antialiased;
}
aside h2 {
  font-size: 80%;
  padding: 10px 0 5px;
}
/* cat_list */
aside #cat_list h1 {
  font-size: 90%;
  color: #fff;
  background: #333;
  padding: 10px;
  border-radius: 2px 2px 0 0 / 2px 2px 0 0;
}
aside #cat_list ul {
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  border-left: solid 1px #ccc;
  background: #fafafa;
  padding: 0 10px;
  margin-bottom: 10px;
  border-radius: 0 0 2px 2px / 0 0 2px 2px;
  list-style: none;
}
aside #cat_list li {
  border-top: dotted 1px #ccc;
}
aside #cat_list li:first-child {
  border: none;
}
aside #cat_list a {
  color: #000;
  text-decoration: none;
  display: block;
  padding: 10px 0;
}
aside #cat_list a:before {
  font-family: 'PH_icons';
  margin-right: 4px;
  content: "B";
  position: relative;
  bottom: -1px;
  -webkit-font-smoothing: antialiased;
}
aside #cat_list a:hover {
  color: #39c;
}
/* recommend_container */
aside #recommend_container {
  border: solid 3px #e5e5e5;
  margin: 10px 0;
}
aside #recommend_container a {
  display: block;
  border-bottom: dotted 1px #ccc;
}
aside #recommend_container a:last-child {
  background: none;
  padding: 0;
  border: none;
}
/* product_area */
aside #product_area h1 {
  font-size: 90%;
  color: #fff;
  background: #333;
  padding: 10px;
  border-radius: 2px 2px 0 0 / 2px 2px 0 0;
}
aside #product_area p {
  text-align: center;
  border-right: solid 1px #ccc;
  border-bottom: solid 1px #ccc;
  border-left: solid 1px #ccc;
  background: #fafafa;
  padding: 15px 10px 30px;
  margin-bottom: 10px;
  border-radius: 0 0 2px 2px / 0 0 2px 2px;
  position: relative;
}
aside #product_area a {
  color: #39c;
  text-decoration: none;
  display: block;
}
aside #product_area a:hover {
  text-decoration: underline;
}
aside #product_area img {
  padding-bottom: 10px;
}
aside #product_area #product_source {
  font-size: 70%;
  color: #999;
  position: absolute;
  right: 5px;
  bottom: 5px;
}
aside #product_area .kakakuLink {
  display: block;
  font-size: 80%;
}
aside #product_area .kakakuPrice {
  display: block;
  margin-top: 8px;
  font-weight: bold;
}
aside #product_area .kakakuPrice .price {
  font-family: "PH_icons";
  font-size: 115%;
  color: #ff0000;
  display: inline;
}
aside #product_area .kakakuPrice .price:hover {
  color: #39c;
  text-decoration: none;
}
aside #product_area .kakakuDate {
  display: block;
  margin-top: 5px;
  font-size: 80%;
  color: #999;
}
aside #product_area .kakakuLogo {
  display: block;
  position: absolute;
  right: 8px;
  bottom: 8px;
}
aside #product_area .kakakuLogo img {
  padding-bottom: 0;
}
/* btn_upload */
aside .btn_upload a {
  font-size: 110%;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #39c;
  padding: 15px 10px 20px;
  margin-bottom: 10px;
  border-radius: 4px;
  display: block;
}
aside .btn_upload i {
  font-size: 150%;
  padding-right: 2px;
  position: relative;
  bottom: -4px;
}
aside .btn_upload a:hover {
  background: #069;
}
/* tag_area */
aside #tag_area ul {
  padding: 5px 0 10px;
}
aside #tag_area li {
  padding: 0 15px 5px 0;
  display: inline-block;
}
aside #tag_area li:before {
  font-family: 'PH_icons';
  color: #ccc;
  font-size: 160%;
  content: "l";
  position: relative;
  bottom: -5px;
  -webkit-font-smoothing: antialiased;
}
aside #tag_area li a {
  color: #333;
  text-decoration: none;
}
aside #tag_area li a:hover {
  text-decoration: underline;
}
aside #tag_area li span {
  font-family: 'PH_icons';
  font-size: 130%;
  background: #999;
  margin-left: 7px;
  border-radius: 2px;
  display: inline-block;
  position: relative;
  top: 3px;
  -webkit-font-smoothing: antialiased;
  z-index: 1;
}
aside #tag_area li span:before {
  width:0;
  border: 5px solid transparent;
  border-right-color: #999;
  border-left-width: 0;
  content: "";
  display: block;
  position:absolute;
  top: 6px;
  left: -4px;
  z-index: 0;
}
aside #tag_area li span a {
  color: #fff;
  padding: 2px 5px;
  display: inline-block;
}
aside #tag_area li span a:last-child {
  border-left: solid 1px #fff;
}
aside #tag_area li span a:hover {
  text-decoration: none;
  background: #39c;
  border-radius: 2px 0 0 2px / 2px 0 0 2px;
}
aside #tag_area li span a:last-child:hover {
  border-radius: 0 2px 2px 0 / 0 2px 2px 0;
}
/* gallery_area */
aside #gallery_area ul {
  padding: 5px 0 25px;
  list-style: none;
}
aside #gallery_area li {
  margin-bottom: 5px;
}
aside #gallery_area li a {
  color: #333;
  text-decoration: none;
  padding-left: 15px;
  display: block;
  position: relative;
}
aside #gallery_area li a:hover span {
  text-decoration: underline;
}
aside #gallery_area li a:before {
  font-family: 'PH_icons';
  margin-right: 4px;
  content: "B";
  position: absolute;
  top: 1px;
  left: 0;
  -webkit-font-smoothing: antialiased;
}
/* table */
aside table {
  width: 100%;
  margin: 5px 0 25px;
  border-collapse: collapse;
}
aside th {
  text-align: left;
  font-weight: normal;
  width: 130px;
  padding: 5px 0;
}
aside td {
  text-align: right;
  padding: 5px 0;
}
aside td a {
  color: #39c;
  text-decoration: none;
}
aside td a:hover {
  color: #069;
  text-decoration: underline;
}
/* location_area */
aside #location_area p {
  margin: 10px 0 30px;
}
aside #location_area p a {
  color: #39c;
  text-decoration: none;
}
aside #location_area p a:hover {
  color: #069;
  text-decoration: underline;
}
aside #location_area p img {
  margin-top: 10px;
}
/* urlpaste_area */
aside #urlpaste_area {
  margin-bottom: 40px;
}
aside #urlpaste_area p {
  margin-bottom: 10px;
}
aside #urlpaste_area input[type="radio"] {
  width: auto;
  margin-bottom: 3px;
}
aside #urlpaste_area textarea {
  width: 286px;
  max-width: 286px;
  height: 100px;
  padding: 5px;
  margin-bottom: 10px;
  border: solid 1px #ccc;
  outline: none;
}
/* btn_violation */
aside #btn_violation {
  font-size: 80%;
  text-align: center;
  margin: -20px 0 30px;
  padding: 10px;
  border: solid 1px #ccc;
  border-radius: 4px;
}
aside #btn_violation a {
  color: #333;
  text-decoration: none;
}
aside #btn_violation a:before {
  font-family: 'PH_icons';
  font-size: 140%;
  line-height: 50%;
  color: #999;
  content: "j";
  position: relative;
  bottom: -3px;
  -webkit-font-smoothing: antialiased;
}
/* etc. */
aside .side_ad {
  padding-bottom: 10px;
}
aside .notlogin_banner {
  padding-bottom: 20px;
}
/* --- footer --- */
footer {
  font-size: 80%;
  background: #333;
  clear: both;
  min-width: 1000px;
}
footer .column {
  display: inline-block;
  vertical-align: top;
  width: 15.19%;
  padding: 25px 0 25px 15px;
}
footer .column:first-child {
  width: 18%;
}
footer .column p {
  color: #666;
  font-weight: bold;
  border-bottom: solid 1px #666;
  padding-bottom: 5px;
  margin-bottom: 10px;
}
footer .column ul {
  display: inline-block;
  vertical-align: top;
  list-style: none;
}
footer .column:first-child ul {
  width: 48%;
}
footer .column li {
  padding-bottom: 5px;
}
footer #sns_link {
  margin: -5px 0 0 -3px;
}
footer #sns_link i {
  color:#666;
  font-size: 200%;
  position: relative;
  top: 5px;
}
footer #about_ph {
  color: #666;
  display: inline-block;
  vertical-align: top;
  width: 25.7%;
  padding: 25px 15px 15px;
}
footer #about_ph p {
  padding-bottom: 10px;
}
footer a:link {
  color: #fff;
  text-decoration: none;
}
footer a:visited {
  color: #fff;
  text-decoration: none;
}
footer a:hover,
footer a:active {
  color: #39c;
  text-decoration: none;
}
footer small {
  font-size: 60%;
  color: #666;
  display: block;
  padding: 15px 15px 160px;
  text-align: center;
  border-top: 1px solid #444;
}
/* --- photo_list --- */
.photo_list {
  position: relative;
  clear: both;
}
.photo_list .grid {
  word-wrap: normal;
  background: #fff;
  margin: 0 15px 15px 0;
  padding-bottom: 60px;
  float: left;
}
.photo_list .ab-light {
  box-shadow: 0 0 1px rgba(0,0,0,0.4);
}
.photo_list .grid a {
  color: inherit;
  text-decoration: none;
}
.photo_list .grid img {
  max-height: 300px;
}
.photo_list .grid a:hover img {
  opacity: 0.6;
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
}
.photo_list .grid .photo_data {
  padding: 5px 10px 0;
  position: relative;
  z-index: 2;
}
.photo_list .grid h2 {
  color: inherit;
  background: none;
  max-width: 250px;
  margin: 0;
  padding: 5px 45px 5px 0;
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.photo_list .grid .user_name {
  max-width: 250px;
  padding-right: 45px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.photo_list .grid h2 a:hover,
.photo_list .grid .user_name a:hover {
  text-decoration: underline;
}
.photo_list .grid .btn_fav {
  font-size: 180%;
  position: absolute;
  top: 13px;
  right: 15px;
  cursor: pointer;
}
/* photo_list_search_form */
#photo_list_search_form {
  margin: 0 60px 20px 0;
  float: left;
}
#photo_list_search_form input {
  font-size: 95%;
  line-height: 120%;
  padding: 5px;
  border: solid 1px #999;
  border-radius: 2px;
  outline: none;
  width: 450px;
}
#photo_list_search_form button {
  font-size: 95%;
  line-height: 100%;
  color: #fff;
  background: #666;
  padding: 7px 10px;
  border-radius: 2px;
  border: none;
  vertical-align: middle;
  outline: none;
}
#photo_list_search_form button:hover {
  background: #39c;
}
/* photo_list_sort */
#photo_list_sort {
  margin-bottom: 20px;
  float: right;
}
#photo_list_sort:before {
  font-size: 90%;
  content: "並べ方：";
  position: relative;
  top: 2px;
}
#photo_list_sort select {
  font-size: 90%;
  background: #e5e5e5;
  padding: 4px 5px 3px;
  border: none;
  border-radius: 2px;
  outline: none;
  cursor: pointer;
}
/* pagenate */
#pagenate {
  text-align: center;
  padding: 30px 0;
  clear: both;
}
#pagenate li {
  margin: 0 5px;
  display: inline-block;
}
#pagenate li em {
  color: #fff;
  font-style: normal;
  background: #666;
  padding: 5px 10px;
  border-radius: 2px;
}
#pagenate li a {
  color: #333;
  padding: 5px 10px;
}
#pagenate li a:hover {
  text-decoration: none;
  background: #ccc;
  border-radius: 2px;
}
/* --- photo_detail --- */
#photo_detail .wrapper.wrapper_full article {
  padding: 0;
}
#photo_detail .wrapper article {
  padding-top: 15px;
}
#photo_detail .link_edit:hover {
  text-decoration: none;
}
#photo_detail .link_edit:hover span {
  text-decoration: underline;
}
#photo_detail .link_edit:before {
  font-family: 'PH_icons';
  font-size: 140%;
  content: "Y";
  position: relative;
  bottom: -3px;
  -webkit-font-smoothing: antialiased;
}
#photo_detail .wrapper_full article #path {
  margin: 0 15px;
  position: relative;
}
#photo_detail #photo_area {
  color: #fff;
  background: #333;
  padding: 15px;
  margin: 0;
  position: relative;
}
#photo_detail #photo_area:after {
  content: "";
  display: block;
  clear: both;
}
#photo_detail #photo_view {
  width: 100%;
  float: left;
}
#photo_detail #photo_view h1 {
  margin: 0 315px 15px 0;
  padding: 0;
  border: none;
}
#photo_detail #photo_view h1 span {
  font-size: 70%;
  font-weight: normal;
  color: #ccc;
  background: #000;
  padding: 5px 10px;
  margin-right: 10px;
  border-radius: 4px;
  position: relative;
  top: -2px;
}
#photo_detail #photo_view h1 i {
  font-size: 130%;
  color: #ccc;
  position: relative;
  top: 3px;
  left: -4px;
}
#photo_detail #photo_view a {
  text-align: center;
  margin: 0 315px 0 0;
  display: block;
  position: relative;
}
#photo_detail #photo_view img {
  max-width: 100%;
  max-height: 500px;
  image-rendering: -webkit-optimize-contrast;
}
/* photo_view_side */
#photo_detail #photo_view_side {
  width: 300px;
  margin: 0 0 210px -300px;
  float: right;
}
#photo_detail #photo_view_side .ad_detail {
  margin-bottom: 15px;
}
#photo_detail #photo_award_regist {
  padding: 0;
  list-style: none;
}
#photo_detail #photo_award_regist li {
  margin-left: 24px;
  position: relative;
}
#photo_detail #photo_award_regist i {
  font-size: 150%;
  position: absolute;
  top: 0;
  left: -24px;
}
#photo_detail #photo_award_regist a {
  color: #fff;
  text-decoration: underline;
}
#photo_detail #photo_award_regist a:hover {
  color: #39c;
}
#photo_detail #photo_award_regist span {
  font-size: 80%;
  display: inline-block;
}
/* photo_link_area */
#photo_detail #photo_link_area {
  width: 300px;
  position: absolute;
  right: 15px;
  bottom: 0;
}
#photo_detail #photo_link_area a {
  color: #fff;
  text-decoration: none;
}
#photo_detail #photo_link_area ul {
  padding: 0;
}
#photo_detail #photo_link_area li {
  margin: 0;
  display: inline-block;
}
/* photo_edit_link */
#photo_detail #photo_edit_link {
  margin-bottom: 10px;
  border: solid 1px #666;
  border-radius: 2px;
}
#photo_detail #photo_edit_link li {
  text-align: center;
  width: 50%;
}
#photo_detail #photo_edit_link li:last-child a {
  border-left: solid 1px #666;
}
#photo_detail #photo_edit_link a {
  padding: 3px 5px 7px;
  display: block;
  cursor: pointer;
}
#photo_detail #photo_edit_link a:hover {
  background: #666;
}
#photo_detail #photo_edit_link a:before {
  font-family: 'PH_icons';
  font-size: 150%;
  position: relative;
  top: 5px;
  margin-right: 2px;
  -webkit-font-smoothing: antialiased;
}
#photo_detail #photo_edit_link .btn_edit a:before {
  content: "Y";
}
#photo_detail #photo_edit_link .btn_delete a:before {
  content: "R";
}
/* btn_fav */
#photo_detail #photo_link_area .btn_fav a {
  color: #fff;
  font-weight: bold;
  text-align: center;
  display: block;
  background: #39c;
  border-radius: 4px;
  padding: 12px 15px 15px;
  cursor: pointer;
}
#photo_detail #photo_link_area .btn_fav:hover a {
  background: #069;
}
#photo_detail #photo_link_area .btn_fav a:before {
  font-family: 'PH_icons';
  font-size: 150%;
  position: relative;
  top: 5px;
  margin-right: 2px;
  content: "L";
  -webkit-font-smoothing: antialiased;
}
#photo_detail #photo_link_area .btn_fav a span {
  background: #069;
  border-radius: 2px;
  padding: 3px 5px;
  margin-left: 5px;
}
#photo_detail #photo_link_area .btn_fav:hover span {
  background: #036;
}
#photo_detail #photo_link_area .btn_fav.btn_un-fav a {
  background: #999;
}
#photo_detail #photo_link_area .btn_fav.btn_un-fav a:before {
  content: "k";
}
#photo_detail #photo_link_area .btn_fav.btn_un-fav span {
  background: #666;
}
#photo_detail #photo_link_area .btn_fav.btn_un-fav a:hover {
  background: #666;
}
#photo_detail #photo_link_area .btn_fav.btn_un-fav:hover span {
  background: #333;
}
/* photo_activity */
#photo_detail #photo_activity {
  border: solid 1px #666;
  border-radius: 2px;
  display: inline-block;
}
#photo_detail #photo_activity li {
  text-align: center;
  width: 148px;
  padding: 3px 0 7px;
}
#photo_detail #photo_activity .act_comment {
  width: 149px;
  border-left: solid 1px #666;
}
#photo_detail #photo_activity li:before {
  font-family: 'PH_icons';
  font-size: 150%;
  position: relative;
  top: 5px;
  margin-right: 2px;
  -webkit-font-smoothing: antialiased;
}
#photo_detail #photo_activity .act_comment:before {
  content: "M";
}
#photo_detail #photo_activity .act_view:before {
  content: "N";
}
/* btn_sns */
#photo_detail #btn_sns {
  position: absolute;
  bottom: 0;
  left: 0;
}
#photo_detail #btn_sns li {
  font-size: 250%;
}
#photo_detail #btn_sns a {
  color: #666;
  cursor: pointer;
}
#photo_detail #btn_sns a:hover {
  color: #fff;
}
#photo_detail #btn_sns i {
  border-radius: 50px;
}
#photo_detail #photo_link_area #photo_date {
  font-size: 80%;
  text-align: right;
  margin: 20px 0;
}
/* user_photo_list */
#photo_detail #user_photo_list {
  background: #000;
  height: 76px;
  padding: 10px 30px;
  margin: 0;
  position: relative;
  overflow: hidden;
}
#photo_detail #user_photo_list p {
  font-family: 'PH_icons';
  font-size: 110%;
  color: #fff;
  background: #000;
  padding: 38px 5px;
  position: absolute;
  top: 0;
  left: 0;
  cursor: pointer;
}
#photo_detail #user_photo_list #btn_next {
  left: auto;
  right: 0;
}
#photo_detail #user_photo_list ul {
  padding: 0;
}
#photo_detail #user_photo_list .greater15 {
  display: flex;
  justify-content: space-between;
}
#photo_detail #user_photo_list li {
  display: inline-block;
  margin: 0 2px;
}
#photo_detail #user_photo_list a img {
  border: solid 3px #000;
}
#photo_detail #user_photo_list a:hover img,
#photo_detail #user_photo_list em img {
  border: solid 3px #fff;
  border-radius: 4px;
}
/* notlogin_area */
#photo_detail #notlogin_area {
  color: #fff;
  text-align: center;
  background: url(../../images/pc/photo_detail/notlogin_area_bg.jpg) no-repeat center center;
  background-size: cover;
  padding: 30px 0 25px;
  margin: 0;
}
#photo_detail #notlogin_area h1 {
  font-size: 200%;
  padding: 0;
  margin-bottom: 20px;
  border: none;
  text-shadow: 0 2px 4px rgba(0,0,0,0.4);
}
#photo_detail #notlogin_area .regist_value {
  width: 300px;
  margin: 10px;
  display: inline-block;
  vertical-align: top;
}
#photo_detail #notlogin_area i {
  color: #999;
  font-size: 450%;
  background: #fff;
  padding: 10px;
  border-radius: 50px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.4);
  display: inline-block;
}
#photo_detail #notlogin_area .regist_value:nth-of-type(1) i {
  color: #9c3;
}
#photo_detail #notlogin_area .regist_value:nth-of-type(2) i {
  color: #39c;
  padding: 13px 10px 7px;
}
#photo_detail #notlogin_area .regist_value:nth-of-type(3) i {
  color: #f29716;
}
#photo_detail #notlogin_area h2 {
  text-align: left;
  line-height: 140%;
  background: none;
  padding: 25px 0 0 65px;
  position: relative;
  display: inline-block;
}
#photo_detail #notlogin_area h2 span {
  font-size: 90%;
  font-weight: normal;
  background: rgba(0,0,0,0.4);
  padding: 12px;
  border-radius: 2px;
  position: absolute;
  top: 25px;
  left: 0;
}
#photo_detail #notlogin_area li {
  display: inline-block;
  vertical-align: top;
}
#photo_detail #notlogin_area li a {
  font-size: 150%;
  color: #fff;
  background: #39c;
  border-radius: 4px;
  padding: 20px 10px;
  width: 300px;
  display: block;
  cursor: pointer;
}
#photo_detail #notlogin_area li>a:hover {
  background: #069;
  text-decoration: none;
}
#photo_detail #notlogin_area li span {
  font-size: 70%;
  font-weight: normal;
  line-height: 90%;
}
#photo_detail #notlogin_area .poss_id span a {
  width: auto;
  background: none;
  padding: 0;
  margin: 15px 0 0;
}
/* photo_detail content */
#photo_detail #contents section {
  padding: 25px 0;
}
#photo_detail #contents section:first-child {
  padding-top: 0;
}
#photo_detail #contents section p {
  margin: 0;
}
#photo_detail #contents h1 {
  font-size: 110%;
  line-height: 100%;
  color: #fff;
  background: #666;
  padding: 7px;
  border: none;
  border-radius: 2px;
  margin-bottom: 10px;
}
#photo_detail #contents h1 span {
  font-size: 70%;
  line-height: 100%;
  font-weight: normal;
  background: #333;
  border-radius: 2px;
  padding: 3px 5px;
  margin-left: 5px;
  position: relative;
  top: -2px;
}
#photo_detail #contents h1 a {
  color: #fff;
  font-size: 70%;
  line-height: 100%;
  text-decoration: none;
  font-weight: normal;
  background: #333;
  border-radius: 2px;
  padding: 5px;
  position: absolute;
  top: 4px;
  right: 4px;
  cursor: pointer;
}
#photo_detail #contents h1 a:hover {
  color: #fff;
  background: #39c;
}
#photo_detail #contents h1 a:before {
  font-family: 'PH_icons';
  margin-right: 3px;
  content: "B";
  position: relative;
  top: 1px;
  -webkit-font-smoothing: antialiased;
}
/* description_area */
#photo_detail #description_area p {
  white-space: pre-wrap;
}
#photo_detail #description_area .btn_edit {
  text-align: right;
  margin-top: 15px;
}
#photo_detail #description_area .btn_edit a {
  color: #000;
  text-decoration: none;
  padding: 5px;
  border: solid 1px #999;
  border-radius: 2px;
}
#photo_detail #description_area .btn_edit a:before {
  font-family: 'PH_icons';
  font-size: 120%;
  margin-right: 2px;
  content: "Y";
  position: relative;
  bottom: -2px;
  -webkit-font-smoothing: antialiased;
}
#photo_detail #description_area .btn_edit a:hover span {
  text-decoration: underline;
}
/* photo_store_area */
#photo_detail #contents #description_area + #photo_store_area {
  border-top: dotted 1px #ccc;
}
#photo_detail #contents #photo_store_area a {
  display: inline-block;
}
#photo_detail #contents #photo_store_area .btn_store {
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #39c;
  border-radius: 4px;
  padding: 15px;
}
#photo_detail #contents #photo_store_area .btn_store:hover {
  text-decoration: none;
  background: #069;
}
#photo_detail #contents #photo_store_area span {
  font-size: 80%;
  color: #666;
  margin: 10px 0 5px;
  display: block;
}
/* review_content_area */
#photo_detail #contents #review_content_area {
  background: #fafafa;
  margin: 25px 0;
  padding: 0;
  border: solid 1px #666;
  border-radius: 2px;
}
#photo_detail #review_content_area h1 {
  border-radius: 0;
}
#photo_detail #contents #review_content_area p {
  margin: 10px;
}
#photo_detail #review_content_area #review_author {
  padding: 20px 0 5px 60px;
  position: relative;
}
#photo_detail #review_content_area #review_author img {
  position: absolute;
  top: 12px;
  left: 0;
}
#photo_detail #review_content_area #review_author span {
  color: #999;
  font-size: 80%;
  display: block;
}
/* fav_users_area */
#photo_detail #fav_users_area ul {
  padding: 0;
}
#photo_detail #fav_users_area li {
  font-size: 80%;
  text-align: center;
  width: 70px;
  padding-right: 10px;
  display: inline-block;
  vertical-align: top;
}
#photo_detail #fav_users_area li:last-child {
  padding-right: 0;
}
#photo_detail #fav_users_area img {
  margin: 0 15px 5px;
  border-radius: 50px;
}
#photo_detail #fav_users_area a {
  color: #000;
  display: block;
}
#photo_detail #fav_users_area .btn_fan,
#photo_detail #fav_users_area .btn_un-fan {
  padding: 3px;
  margin-top: 5px;
  border: solid 1px #999;
  border-radius: 2px;
  cursor: pointer;
}
#photo_detail #fav_users_area .btn_un-fan {
  color: #fff;
  background: #999;
}
/* photo_comment_area */
#photo_detail #photo_comment_area h1 a:before {
  content: "Y";
}
#photo_detail #photo_comment_area h1 + p {
  margin-bottom: 30px;
}
#photo_detail #photo_comment_area .comment_detail {
  padding: 0 0 40px 50px;
  position: relative;
}
#photo_detail #photo_comment_area .comment_detail:last-child {
  padding-bottom: 0;
}
#photo_detail #photo_comment_area .user_icon {
  position: absolute;
  top: 0;
  left: 0;
}
#photo_detail #photo_comment_area .user_icon img {
  border-radius: 50px;
}
#photo_detail #photo_comment_area .comment_detail h2 {
  font-size: 90%;
  background: none;
  padding: 0;
  margin-bottom: 5px;
}
#photo_detail #photo_comment_area .comment_detail h2 a {
  color: #000;
}
#photo_detail #photo_comment_area .comment_item {
  white-space: pre-wrap;
}
#photo_detail #photo_comment_area .btn_more {
  font-size: 80%;
  text-align: right;
  position: absolute;
  right: 0;
  bottom: 41px;
}
#photo_detail #photo_comment_area .btn_more a {
  color: #000;
  text-decoration: none;
  padding: 3px;
  margin-top: 5px;
  border: solid 1px #999;
  border-radius: 2px;
}
#photo_detail #photo_comment_area .btn_more a:hover span {
  text-decoration: underline;
}
#photo_detail #photo_comment_area .btn_more a:before {
  font-family: 'PH_icons';
  font-size: 140%;
  content: "C";
  position: relative;
  bottom: -3px;
  -webkit-font-smoothing: antialiased;
}
#photo_detail #photo_comment_area .btn_more .less:before {
  content: "K";
}
#photo_detail #photo_comment_area .comment_date {
  color: #999;
  font-size: 80%;
  margin-top: 7px;
  display: block;
}
#photo_detail #photo_comment_area .comment_date a {
  color: #999;
  border-left: solid 1px #ccc;
  padding-left: 10px;
  margin-left: 10px;
  cursor: pointer;
}
#photo_detail #photo_comment_area #add_comment {
  padding: 0 0 10px 50px;
  position: relative;
}
#photo_detail #photo_comment_area textarea {
  font-size: 90%;
  max-width: 620px;
  min-width: 620px;
  min-height: 100px;
  background: #e6e6e6;
  padding: 5px;
  margin-bottom: 5px;
  border: none;
  display: block;
  outline: none;
}
#photo_detail #photo_comment_area button,
#photo_detail #photo_comment_area input {
  color: #fff;
  font-size: 90%;
  background: #39c;
  padding: 5px 10px;
  border: none;
  border-radius: 2px;
  outline: none;
  cursor: pointer;
}
#photo_detail #photo_comment_area button:hover,
#photo_detail #photo_comment_area input:hover {
  background: #069;
}
#photo_detail #photo_comment_area button:disabled,
#photo_detail #photo_comment_area input:disabled,
#photo_detail #photo_comment_area button:disabled:hover,
#photo_detail #photo_comment_area input:disabled:hover {
  color: #e5e5e5;
  background: #ccc;
  cursor: default;
}
#photo_detail #photo_comment_area .editor_cancel_button {
  background: #999;
}
#photo_detail #photo_comment_area .editor_cancel_button:hover {
  background: #666;
}
#photo_detail #photo_comment_area .comment_detail form {
  margin-bottom: -27px;
}
#photo_detail #photo_comment_area #add_comment #notlogin_comment {
  background: rgba(0,0,0,0.3);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 10px;
  left: 0;
  z-index: 2;
}
#photo_detail #photo_comment_area #add_comment #notlogin_comment span {
  text-align: center;
  width: 340px;
  background: #fff;
  padding: 20px 0;
  border: solid 1px #999;
  border-radius: 4px;
  position: absolute;
  top: 44px;
  left: 170px;
  box-shadow: 0 2px 2px rgba(0,0,0,0.1);
}
/* recommend_photo_list */
#photo_detail .recommend_photo_list ul {
  padding: 0;
}
#photo_detail .recommend_photo_list li {
  display: inline-block;
}
/* photo_detail aside */
#photo_detail aside #tag_area ul,
#photo_detail aside #tag_area p {
  padding: 5px 0 30px;
}
#photo_detail aside #tag_area p a {
  color: #39c;
  text-decoration: none;
}
/* --- user_header --- */
#user_header {
  margin: 0 15px;
  position: relative;
}
#user_header h1 {
  font-size: 120%;
  padding: 18px 0 22px 50px;
  margin: 0;
  border: none;
}
#user_header h1 a {
  color: #333;
  text-decoration: none;
}
#user_header h1 .btn_fan,
#user_header h1 .btn_un-fan {
  font-size: 70%;
  line-height: 100%;
  font-weight: normal;
  text-decoration: none;
  padding: 7px;
  margin-left: 10px;
  border: solid 1px #999;
  border-radius: 2px;
  cursor: pointer;
}
#user_header h1 .btn_un-fan {
  color: #fff;
  background: #999;
}
#user_header h1 .btn_fan:hover,
#user_header h1 .btn_un-fan:hover {
  text-decoration: underline;
}
#user_header h1 img {
  border-radius: 50px;
  position: absolute;
  top: 11px;
  left: 0;
}
#user_header #user_menu {
  padding: 0;
  position: absolute;
  top: 0;
  right: 0;
}
#user_header #user_menu li {
  color: #ccc;
  line-height: 100%;
  margin: 0 0 0 15px;
  display: inline-block;
  position: relative;
}
#user_header #user_menu a {
  color: #000;
  text-decoration: none;
  padding: 25px 0 20px;
  display: block;
}
#user_header #user_menu a:hover {
  border-bottom: solid 5px #39c;
}
#user_header #fan_tab a,
#user_header #administer_tab a {
  padding-right: 17px;
  position: relative;
  cursor: pointer;
}
#user_header #fan_tab a:after,
#user_header #administer_tab a:after {
  font-family: 'PH_icons';
  content: "C";
  margin-left: 2px;
  position: absolute;
  top: 24px;
  right: 0;
  -webkit-font-smoothing: antialiased;
}
#user_header .pulldown {
  width: 255px;
  background: #fff;
  padding: 0;
  display: none;
  position: absolute;
  top: 63px;
  right: 0;
  z-index: 2000;
  box-shadow: 0 2px 10px rgba(0,0,0,0.4);
}
#user_header #user_menu .pulldown li {
  font-size: 100%;
  margin: 0;
  display: block;
}
#user_header #user_menu .pulldown a {
  padding: 10px;
  display: block;
}
#user_header #user_menu .pulldown a:hover {
  color: #fff;
  background: #39c;
  border: none;
}
#user_header #user_menu li .pulldown a:after {
  content: "";
}
/* --- news --- */
#news article h2 {
  position: relative;
  padding-right: 160px;
}
#news article h2 a {
  color: #fff;
}
#news article h2 span {
  font-size: 70%;
  font-weight: normal;
  position: absolute;
  top: 11px;
  right: 7px;
}
#news article .read_more {
  text-align: right;
}
#news article .read_more a {
  color: #fff;
  background: #666;
  border-radius: 2px;
  padding: 5px;
  font-size: 80%;
}
#news article .read_more a:before {
  font-family: 'PH_icons';
  content: "B";
  position: relative;
  top: 1px;
  -webkit-font-smoothing: antialiased;
}
#news article .read_more a:hover {
  background: #39c;
  text-decoration: none;
}
#news #page_list {
  text-align: center;
}
#news #page_list li {
  display: inline-block;
  vertical-align: middle;
  padding: 30px 5px 0;
}
#news #page_list li span {
  color: #fff;
  padding: 5px 10px;
  background: #ccc;
  border-radius: 2px;
}
#news #page_list li a {
  padding: 5px;
}
#news #page_list li a:hover {
  color: #39c;
  text-decoration: underline;
}
/* --- help --- */
#help .cat_box {
  width: 315px;
  height: 305px;/*260px*/
  padding: 5px 10px;
  margin-bottom: 5px;
  border: solid 1px #ccc;
  border-radius: 2px;
  background: #fafafa;
  display: inline-block;
  vertical-align: top;
}
#help .cat_box h2 {
  color: #000;
  background: none;
  padding: 0 0 10px 0;
  margin: 0;
  border-bottom: dotted 1px #999;
}
#help .cat_box h2 i {
  font-size: 150%;
  color: #666;
  position: relative;
  top: 5px;
  margin-right: 2px;
}
#help .cat_box ul {
  color: #39c;
  padding-left: 22px;
}
#help .cat_box li {
  margin: 5px 0;
}
#help .faq_contact_link {
  padding: 0;
}
#help .faq_contact_link li {
  font-size: 120%;
  font-weight: bold;
  text-align: center;
  display: inline-block;
}
#help .faq_contact_link li a {
  color: #333;
  display: block;
  width: 315px;
  padding: 15px 10px;
  border: solid 1px #ccc;
  border-radius: 2px;
  background: #fafafa;
}
#help .faq_contact_link li a:hover {
  text-decoration: none;
  background: #ddeef7;
}
#help .faq_contact_link i {
  font-size: 150%;
  color: #666;
  position: relative;
  top: 6px;
}
#help .faq_contact_link span {
  font-size: 65%;
  line-height: 140%;
  color: #999;
  font-weight: normal;
  display: block;
  margin-top: 8px;
}
#help .message_area {
  font-weight: bold;
  text-align: center;
  background: #fafafa;
  border: solid 2px #ccc;
  padding: 15px 15px 5px;
  margin: 20px 0 40px;
}
/* openrange */
#help.openrange article th {
  color: #fff;
  text-align: center;
  vertical-align: middle;
  background: #333;
  width: 27%;
  padding: 10px;
  border: solid 1px #e5e5e5;
}
#help.openrange article th:first-child {
  background: #666;
  width: 19%;
}
#help.openrange article td {
  text-align: center;
  vertical-align: middle;
  padding: 10px;
  border: solid 1px #e5e5e5;
}
#help.openrange article td span {
  text-align: left;
  font-size: 80%;
  line-height: 140%;
  margin-top: 8px;
  display: block;
}
#help.openrange article ol {
  padding: 10px 0 0 20px;
}
#help.openrange article ol li {
  font-size: 100%;
  margin-bottom: 10px;
}
#help.openrange article ol li:last-child {
  margin: 0;
}
/* --- qa --- */
#qa article h2 {
  margin: 0;
}
#qa article .accordion {
  padding-bottom: 20px;
}
#qa article h3:before,
#qa article .answer:before {
  line-height: 110%;
  color: #fff;
  font-weight: normal;
  padding: 2px 5px;
  margin-right: 5px;
  border-radius: 2px;
  float: left;
}
#qa article h3:before {
  font-size: 90%;
  content: "Q";
  background: #999;
  margin-top: -1px;
}
#qa article .answer:before {
  font-size: 80%;
  content: "A";
  background: #39c;
}
#qa article h3 {
  font-size: 90%;
  font-weight: normal;
  padding: 10px 0;
  border-top: dotted 1px #999;
  border-bottom: none;
  margin: 0;
  cursor: pointer;
}
#qa article h3:first-child {
  border: none;
}
#qa article .answer {
  display: none;
}
#qa article h4 {
  padding-top: 10px;
}
/* --- signup_login --- */
#signup #head_bnr,
#signup nav {
  display: none;
}
#signup header h1 {
  text-align: center;
}
/* flow01 */
#signup.flow01 .wrapper {
  width: 100%;
  max-width: 1500px;
}
#signup.flow01 .wrapper article {
  width: auto;
  float: none;
  padding: 0;
}
#signup.flow01 h2 {
  font-size: 150%;
  background: none;
  padding: 0;
}
#signup .photographer {
  font-size: 70%;
  margin: 0;
  position: absolute;
  right: 10px;
  bottom: 10px;
}
#signup .photographer a {
  color: #fff;
  text-shadow: 0 0 10px rgba(0,0,0, 0.75);
}
/* btn_area */
#signup .btn_area {
  font-weight: bold;
  text-align: center;
  padding: 30px 0 15px;
  clear: both;
}
#signup .btn_area p {
  font-size: 150%;
}
#signup .btn_area ul {
  padding: 0;
}
#signup .btn_area li {
  display: inline-block;
  vertical-align: top;
}
#signup .btn_area a {
  font-size: 150%;
  color: #fff;
  background: #39c;
  border-radius: 4px;
  padding: 20px 10px;
  margin-bottom: 5px;
  width: 300px;
  display: block;
  cursor: pointer;
}
#signup .btn_area .poss_id a {
  background: #069;
}
#signup .btn_area li>a:hover {
  background: #036;
  text-decoration: none;
}
#signup .btn_area span {
  font-size: 70%;
  font-weight: normal;
  margin-bottom: -3px;
  display: inline-block;
}
#signup .btn_area .poss_id span a {
  color: #333;
  width: auto;
  background: none;
  padding: 0;
  margin-top: 5px;
}
/* modal_form */
#signup #modal-overlay {
  z-index: 3;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background: rgba(0,0,0, 0.75);
}
#signup .modal-content #modal-close {
  font-size: 120%;
  background: #fff;
  border-radius: 20px;
  padding: 10px;
  position: absolute;
  top: -15px;
  right: -15px;
}
#signup .modal-content #modal-close:hover {
  color: #fff;
  text-decoration: none;
  background: #39c;
}
#signup .modal-content {
  width: 550px;
  padding: 25px 25px 10px;
  background: #fff;
  border-radius: 4px;
  position: fixed;
  display: none;
  z-index: 4;
}
#signup .modal-content p span {
  font-size: 80%;
  color: #999;
}
#signup .modal-content form {
  border-top: solid 1px #ccc;
}
#signup .modal-content h3 {
  font-size: 90%;
  padding: 10px 0 0;
  border: none;
}
#signup .modal-content h3 span {
  font-size: 80%;
  font-weight: normal;
}
#signup .modal-content #pass1err {
  margin-bottom: 0;
}
#signup .modal-content input[type="text"],
#signup .modal-content input[type="password"],
#signup .modal-content select {
  padding: 5px;
  margin-bottom: 5px;
  border: solid 1px #999;
  border-radius: 2px;
}
#signup .modal-content #mail {
  width: 538px;
}
#signup .modal-content #password1,
#signup .modal-content #password2 {
  width: 300px;
}
#signup .modal-content label {
  margin-right: 20px;
}
#signup .modal-content textarea {
  font-size: 90%;
  padding: 5px;
  border: solid 1px #999;
  border-radius: 2px;
  width: 538px;
  max-width: 538px;
  height: 60px;
}
#signup .modal-content button {
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  background: #39c;
  border-radius: 4px;
  padding: 20px;
  margin: 15px 0 5px;
  display: inline-block;
  border: none;
  cursor: pointer;
}
#signup .modal-content button:disabled {
  background: #ccc;
  pointer-events:none;
}
#signup .modal-content button:hover {
  background: #036;
}
#signup article section .form_error {
  font-size: 70%;
  color: #fff;
  background: #c00;
  padding: 0 2px 5px;
  margin-bottom: 5px;
  display: block;
}
#signup .form_error:before {
  font-family: 'PH_icons';
  font-size: 140%;
  font-weight: normal;
  position:relative;
  top: 3px;
  content: "j";
  -webkit-font-smoothing: antialiased;
}
/* main_area */
#signup #main_area {
  background: url(../../images/pc/signup_login/img01.jpg) no-repeat center center;
  background-size: cover;
  height: 600px;
  position: relative;
  color: #fff;
}
#signup #main_area h1 {
  font-size: 290%;
  line-height: 120%;
  border: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: 245px;
  left: 5%;
}
#signup #main_area h1 i {
  margin-top: 0;
  position: relative;
  top: 7px;
}
#signup #main_area .btn_area {
  background-color: rgba(0,0,0, 0.5);
  width: 400px;
  position: absolute;
  top: 180px;
  right: 5%;
}
#signup #main_area .btn_area p {
  font-size: 120%;
}
#signup #main_area .btn_area li span a {
  color: #fff;
}
/* column_area */
#signup .point_column {
  color: #fff;
  float: left;
  width: 27.33%;
  padding: 70px 3% 0;
  min-height: 250px;
  background-color: rgba(0,0,0, 0.5);
  position: relative;
}
#signup .point01 {
  width: 27.34%;
}
#signup .point_column a {
  color: #fff;
  background: #39c;
  padding: 5px 10px 5px 27px;
  border-radius: 20px;
  display: inline-block;
  position: relative;
}
#signup .point_column a:before {
  font-family: 'PH_icons';
  font-size: 120%;
  content: "C";
  position: absolute;
  top: 6px;
  left: 8px;
  -webkit-font-smoothing: antialiased;
}
#signup .point_column a:hover {
  background: #069;
  text-decoration: none;
}
#signup .point_column:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}
#signup .point01:before {
  background: url(../../images/pc/signup_login/img02.jpg) no-repeat center center;
  background-size: cover;
}
#signup .point02:before {
  background: url(../../images/pc/signup_login/img03.jpg) no-repeat center center;
  background-size: cover;
}
#signup .point03:before {
  background: url(../../images/pc/signup_login/img04.jpg) no-repeat center center;
  background-size: cover;
}
/* point_detail */
#signup .point_detail {
  color: #fff;
  position: relative;
  height: 400px;
  display: table;
  width: 100%;
}
#signup article .point_detail h2 {
  font-size: 250%;
  padding-bottom: 10px;
}
#signup .point_detail div {
  display: table-cell;
  vertical-align: middle;
  width: 50%;
  padding: 0 3%;
  text-shadow: 0 0 10px rgba(0,0,0, 0.75);
  background: linear-gradient(to right, rgba(0,0,0,0.6), rgba(0,0,0,0.0));
  background: -moz-linear-gradient(left,
  rgba(0,0,0,0.6),
  rgba(0,0,0,0));
  background: -webkit-gradient(linear, left top, right top,
  from(rgba(0,0,0,0.6)),
  to(rgba(0,0,0,0)));
}
#signup #point02 div {
  position: relative;
  left: 50%;
  background: linear-gradient(to left, rgba(0,0,0,0.6), rgba(0,0,0,0.0));
  background: -moz-linear-gradient(right,
  rgba(0,0,0,0.6),
  rgba(0,0,0,0));
  background: -webkit-gradient(linear, right top, left top,
  from(rgba(0,0,0,0.6)),
  to(rgba(0,0,0,0)));
}
#signup #point01 {
  background: url(../../images/pc/signup_login/img02.jpg) no-repeat center center;
  background-size: cover;
}
#signup #point02 {
  background: url(../../images/pc/signup_login/img03.jpg) no-repeat center center;
  background-size: cover;
}
#signup #point03 {
  background: url(../../images/pc/signup_login/img04.jpg) no-repeat center center;
  background-size: cover;
}
/* flow02-4 */
#signup.flow02-4 .wrapper {
  width: 100%;
}
#signup.flow02-4 article {
  float: none;
  margin: 0 auto;
}
#signup.flow02-4 #flow_map {
  width: 100%;
  overflow: hidden;
  background: #333;
  color: #fff;
}
#signup.flow02-4 #flow_map table {
  width: 680px;
  margin: 0 auto;
  text-align: center;
}
#signup.flow02-4 #flow_map td {
  padding: 12px 0 12px 15px;
  position: relative;
}
#signup.flow02-4 #flow_map td:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 20px solid #333;
  position: absolute;
  top: 50%;
  margin-top: -50px;
  left: 95%;
  z-index: 2;
}
#signup.flow02-4 #flow_map td:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-top: 50px solid transparent;
  border-bottom: 50px solid transparent;
  border-left: 20px solid #666;
  position: absolute;
  top: 50%;
  margin-top: -50px;
  margin-left: 1px;
  left: 95%;
  z-index: 1;
}
#signup.flow02-4 #flow_map .current_flow {
  background: #39c;
}
#signup.flow02-4 #flow_map .current_flow:after {
  border-left: 20px solid #39c;
}
#signup.flow02-4 #flow_map td:first-child {
  padding-left: 0;
}
#signup.flow02-4 #flow_map td:last-child:before,
#signup.flow02-4 #flow_map td:last-child:after {
  display: none;
}
#signup.flow02-4 article h1 {
  padding-top: 20px;
}
#signup.flow02-4 article h2 {
  margin-top: 20px;
}
#signup.flow02-4 #captcha {
  text-align: center;
  padding: 20px 0 10px;
}
#signup.flow02-4 #captcha .captcha-image {
  margin: 0 115px;
}
#signup.flow02-4 #captcha p {
  font-weight: bold;
}
#signup.flow02-4 button {
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  background: #39c;
  border-radius: 4px;
  padding: 20px;
  min-width: 100px;
  margin: 15px 0 5px;
  display: inline-block;
  border: none;
  cursor: pointer;
}
#signup.flow02-4  .btn_back {
  background: #999;
}
#signup.flow02-4 article p span {
  font-size: 80%;
  color: #999;
}
#signup.flow02-4 article ul {
  list-style: none;
  padding: 0 0 15px 14px;
}
#signup.flow02-4 article li {
  font-size: 80%;
  text-indent: -1em;
  marign-left: 1em;
}
#signup.flow02-4 article h2 span {
  font-size: 80%;
  font-weight: normal;
}
#signup.flow02-4 #title_ph_policy {
  font-size: 90%;
  color: #000;
  background: none;
  padding: 0;
}
#signup.flow02-4 article input {
  padding: 5px;
  margin-bottom: 5px;
  border: solid 1px #999;
  border-radius: 2px;
  width: 200px;
}
#signup.flow02-4 article textarea {
  font-size: 90%;
  padding: 5px;
  border: solid 1px #999;
  border-radius: 2px;
  width: 668px;
  max-width: 668px;
  height: 90px;
}
/* flow05 */
#signup.flow05 #head_bnr,
#signup.flow05 nav {
  display: block;
}
#signup.flow05 header h1 {
  text-align: left;
}
#signup.flow05 .wrapper {
  width: 100%;
}
#signup.flow05 article {
  float: none;
  margin: 0 auto;
}
#signup.flow05 article h1 {
  padding-top: 20px;
}
#signup.flow05 .tutorial_box {
  text-align: center;
  width: 275px;
  height: 120px;
  padding: 30px 30px 0;
  margin-bottom: 5px;
  border: solid 1px #ccc;
  border-radius: 2px;
  background: #fafafa;
  display: inline-block;
  vertical-align: top;
}
#signup.flow05 .tutorial_box h2 {
  font-size: 90%;
  color: #000;
  background: none;
  padding: 0;
  margin: 0;
}
#signup.flow05 .tutorial_box a:first-child {
  font-size: 120%;
  font-weight: bold;
  color: #fff;
  background: #39c;
  border-radius: 4px;
  padding: 15px 20px 20px;
  min-width: 100px;
  margin: 15px 0 5px;
  display: block;
  border: none;
}
#signup.flow05 .tutorial_box a:first-child:hover {
  background: #069;
  text-decoration: none;
}
#signup.flow05 .tutorial_box a i {
  font-size: 160%;
  color: #fff;
  position: relative;
  top: 5px;
  margin-right: 2px;
}
/* flow_login */
#signup.flow_login .wrapper {
  width: 100%;
  max-width: 1500px;
}
#signup.flow_login .wrapper article {
  width: auto;
  float: none;
  padding: 0;
}
#signup.flow_login h2 {
  font-size: 150%;
  background: none;
  padding: 0;
}
#signup.flow_login #head_bnr,
#signup.flow_login nav {
  display: block;
}
#signup.flow_login header h1 {
  text-align: left;
}
#signup.flow_login #main_area {
  color: #000;
  background: url(../../images/pc/signup_login/img01_blur.jpg) no-repeat center center;
  background-size: cover;
  height: auto;
  padding: 60px 0;
}
#signup.flow_login #login_area {
  width: 490px;
  margin: 0 auto;
}
#signup.flow_login #login_bg {
  background: #fff;
  border-radius: 4px;
  padding: 15px 20px 40px;
  position: relative;
}
#signup.flow_login #login_bg h1 {
  font-size: 150%;
  text-align: center;
  position: static;
  border-bottom: solid 1px #ccc;
  padding-bottom: 20px;
}
#signup.flow_login #login_error_msg {
  border: solid 2px #c00;
  margin: 10px 0 20px;
}
#signup.flow_login #login_bg #login_error_msg .form_error {
  font-size: 90%;
  line-height: 130%;
  color: #fff;
  text-align: center;
  margin: 0;
  border-radius: 0;
}
#signup.flow_login #login_bg #login_error_msg h3 {
  font-size: 80%;
  margin: 15px 10px 0;
  padding-top: 0;
}
#signup.flow_login #login_bg #login_error_msg p {
  font-size: 80%;
  margin: 5px 10px 10px;
}
#signup.flow_login #login_bg h2 {
  font-size: 100%;
  color: #000;
  margin: 15px 30px 10px;
}
#signup.flow_login #login_bg h2 span {
  font-size: 80%;
  font-weight: normal;
}
#signup.flow_login #login_bg #login_form_username,
#signup.flow_login #login_bg input[type="password"] {
  padding: 5px;
  border: solid 1px #999;
  border-radius: 2px;
  width: 378px;
  margin: 0 30px;
}
#signup.flow_login #login_bg input[type="checkbox"] {
  margin-right: 2px;
}
#signup.flow_login #login_bg .form_error {
  margin: 0 30px 5px;
}
#signup.flow_login #login_bg p {
}
#signup.flow_login #captcha-login {
  text-align: center;
  margin: 25px 0 15px;
}
#signup.flow_login #captcha-login p {
  font-size: 80%;
  margin: 10px 0 5px;
}
#signup.flow_login #captcha-login .login_notice:before {
  font-family: 'PH_icons';
  font-size: 140%;
  color: #c00;
  position:relative;
  top: 3px;
  content: "j";
  -webkit-font-smoothing: antialiased;
}
#signup.flow_login #captcha-login .form_error {
  padding-bottom: 6px;
  margin: 0 0 5px;
}
#signup.flow_login #captcha-login .form_error:before {
  margin-right: -8px;
}
#signup.flow_login #login_bg button {
  font-size: 100%;
  font-weight: bold;
  color: #fff;
  background: #39c;
  border-radius: 4px;
  padding: 20px 80px;
  margin-top: 10px;
  display: inline-block;
  border: none;
  cursor: pointer;
}
#signup.flow_login #login_bg button:hover {
  background: #036;
}
#signup.flow_login #login_bg .pass_notice {
  font-size: 80%;
  position: absolute;
  left: 10px;
  bottom: 0;
}
#signup.flow_login #login_bg .pass_forget {
  font-size: 80%;
  position: absolute;
  right: 10px;
  bottom: 0;
}
#signup.flow_login #login_bg .pass_notice a,
#signup.flow_login #login_bg .pass_forget a {
  color: #000;
}
#signup.flow_login #poss_id_msg h3 {
  color: #fff;
  border: none;
  padding-top: 40px;
}
#signup.flow_login #poss_id_msg p {
  color: #fff;
  border: solid 1px #fff;
  padding: 10px;
}
#signup.flow_login #poss_id_msg p a {
  color: #fff;
  text-decoration: underline;
}
/* --- sitepolicy --- */
#sitepolicy dl {
  margin-top: 20px;
  padding: 5px 15px;
  border: solid 1px #ccc;
  border-radius: 2px;
  background: #fafafa;
}
#sitepolicy dt {
  font-weight: bold;
  float: left;
  clear: left;
  width: 260px;
  padding: 10px 0;
}
#sitepolicy dd {
  padding: 10px 0 10px 270px;
  border-top: dotted 1px #ccc;
}
#sitepolicy dt:first-child + dd {
  border: none;
}
/* --- guideline --- */
#guideline section h1 + h2 {
  margin-top: 0;
}
#guideline section h2 {
  margin-top: 30px;
}
/* --- tokusyo --- */
#tokusyo dt {
  font-weight: bold;
  float: left;
  clear: left;
  width: 170px;
  padding: 10px 0;
}
#tokusyo dd {
  padding: 10px 0 10px 180px;
  border-bottom: dotted 1px #ccc;
}
/* --- PC, SP switch --- */
a.switch-view {
  display: block;
  margin: 20px auto;
  padding: 0.5em;
  width: 80%;
  font-size: 20px;
  color: #fff;
  text-align: center;
  text-shadow: 0 -1px 0 #777;
  text-decoration: none;
  border-radius: 10px;
  background: -webkit-gradient(linear, left top, left bottom, from(#ccc), to(#999));
  @include box-shadow(rgba(0, 0, 0, .15) 0 0 2px);
}
/* --- firefox only --- */
@-moz-document url-prefix() {
  #search_form p {
    top: 4px;
  }
  #login_menu #my_menu a {
    padding-top: 5px;
  }
  #login_menu li:last-child a {
    padding-bottom: 10px;
  }
}
/* --- ie(under10) only --- */
#menu i,
#btn_upload i {
  margin-top: -1px\9;
}
#menu li a {
  padding: 12px 15px 8px\9;
}
.pulldown {
  border: solid 1px #ccc\9;
}
#search_form p {
  top: 7px\9;
}
#login_menu a {
  padding: 7px 10px 3px\9;
}
#login_menu li:first-child + li + li a {
  background: none\9;
  margin: 0\9;
  padding-bottom: 10px\9;
  border-radius: 0\9;
}
#login_menu #my_menu a:hover,
#login_menu li:first-child + li + li a:hover {
  background: #39c\9;
}
#login_menu #my_menu a {
  padding-top: 5px\9;
}
.wrapper article h2 {
  padding: 9px 7px 5px\9;
}
aside #cat_list h1 {
  padding: 12px 10px 8px\9;
}
/* photo_detail */
#photo_detail #notlogin_area h2 span {
  filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#40000000,EndColorStr=#40000000);
}
#photo_detail #photo_comment_area #add_comment #notlogin_comment {
  filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#30000000,EndColorStr=#30000000);
}
/* signup_login */
#signup .point_detail div {
  filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#77000000,EndColorStr=#77000000);
}
/* login modal rule */
.rulesTextBox {
  overflow-x: auto;
  overflow-y: scroll;
  width: 538px;
  height: 60px;
  padding: 6px;
  border: 1px solid #999;
  font-size: 80%;
  color: #666;
}
.rulesTextList {
  font-size: 100%;
  line-height: 1.4;
}
.rulesTextList .rulesHeader01 {
  margin-top: 12px;
  margin-bottom: 7px;
  color: #000;
  font-weight: bold;
}
.rulesTextList .rulesHeader01:first-child {
  margin-top: 0;
}
.rulesTextList .rulesTextInnerList {
  padding-left: 1.0em;
}
.rulesTextList .rulesHeader02 {
  margin-top: 6px;
}


/* recaptcha 202101 okuyama */
.recaptcha_area_wrap{
  display: flex;
  justify-content: center;
  align-items: center;
  height: 65vh;
  min-height: 500px;
  background-color:#e8e8e8;
}
.recaptcha_area{
  width: 540px;
  margin: 0 auto;
  padding: 25px 20px 45px;
  background-color: #fdfdfd;
  border-radius: 4px;
}
.recaptcha_note{
  position: relative;
  margin: 0 0 30px 3px;
  padding: 15px 10px 15px 25px;
  font-size: 12px;
  line-height: 1.5em;
  font-weight: bold;
  color: #666;
  background-color: #fbfbfb;
  border: 1px solid #e6e6e6;
}
.recaptcha_note::after{
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 5px;
  height: 100%;
  background-color: #3399cc;
}
.g-recaptcha > div{
  margin: 0 auto;
}


/* exif 200818 okuyama */
#help .cat_box {
  height: 285px;
}


/* optout 210113 okuyama */
#optout .wrapper article{
  width: 800px;
  height: 60vh;
  min-height: 400px;
  max-height: 520px;
  margin: 0 auto;
  float: none;
}
.p-opt-wrap{
  text-align: center;
  margin-top: 20px;
  padding: 20px 10px;
  background-color: #f1f1f1;
}
.p-opt-btn{
  display: inline-block;
  text-align: center;
  min-width: 340px;
  padding: 20px 15px;
  font-size: 15px;
  font-weight: bold;
  border-radius: 4px;
  color: #fff;
  background: #39c;
  border: none;
  outline: none;
  appearance: none;
}
.p-opt-btn:nth-last-child(1){
  margin: 0 0 0 30px;
  /*background: #069;*/
}
.p-opt-btn:hover {
  /*background: #036;*/
  background: #069;
  text-decoration: none;
}



/* footer 220419 okuyama */
footer .l-footer_block{
  width: 15.5%;
}
footer .l-footer_block:first-child{
  width: 32%;
}
footer .l-footer_block:first-child ul{
  width: 29%;
}
footer #about_ph.l-footer_block{
  width: 27%;
}




/* exhibition 230502 sm60 */
#help .cat_box {
    height: 315px;
}

/* login-recaptcha 220913 okuyama */
.login_recaptcha{
  margin: 20px 30px;
  padding: 15px 0;
  background-color: #f5f5f5;
}
.login_recaptcha_ttl{
  text-align: center;
  font-size: 14px;
}
#signup.flow_login #login_bg .login_recaptcha_loginBtn{
  margin-top: 0;
}

/* systemerror 231102 sm60 */
#top-page .p-systemError_title{
  font-size: 15px;
}
#top-page .p-systemError_detail{
  font-size: 13px;
}
.p-systemError{
  margin: 20px auto;
  padding: 20px;
  width: 1000px;
  height: auto;
  border-radius: 2px;
  background-color: #fff3f3;
  box-sizing: border-box;
  border: 2px solid #cc0000;
  text-align: center;
  word-break: break-word;
}
.p-systemError_title{
  position: relative;
  display: inline-block;
  margin: 0 0 10px 0;
  padding: 0 0 0 25px;
  font-size: 15px;
  font-weight: bold;
  color: #cc0000;
}
.p-systemError_title::before{
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 18px;
  height: 100%;
  background: url(/images/systemError-icon.svg)no-repeat;
  content: "";
}
.p-systemError_detail{
  display: block;
  font-size: 13px;
  line-height: 1.5;
  color: #333333;
}
article .p-systemError_detail a, article .p-systemError_detail a:visited{
  color: #3399cc;
  text-decoration: underline;
}
