@charset "UTF-8";
/*
-----------------------------------------------------------------------
container
-----------------------------------------------------------------------
*/
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }	
	#wrapper header {
		width: 100%;
		position: fixed;
		height: 50px;
		padding: 0.3rem 0;
		background: #fff;
		z-index: 50;
	}
	#wrapper header > ul {
		max-width: 100%;
		padding: 0 15px;
	}
	#wrapper header .bt-home a {
		padding-left: 19px;
		background-size:16px;
		line-height: 38px;
	}
	#wrapper header ul li ul {
		width: 100%;
		padding: 0;
	}
	#wrapper header ul li ul li a {
		font-size: 0.8125rem;
		padding-left: 27px;
		padding-right: 5px;
		line-height: 30px;
		margin-left: 8px;
	}
	#wrapper header ul li.bt-mypage a {
		background: url("../images/common/ico_mypage.png")no-repeat 3px center #f1f1f1;
		background-size:20px;
	}
	#wrapper header ul li.bt-contact a {
		background: url("../images/common/ico_contact.png")no-repeat 3px center #f1f1f1;
		background-size:20px;
	}
	#wrapper header ul li.bt-logout a {
		background: url("../images/common/ico_logout.png")no-repeat 3px center #f1f1f1;
		background-size:20px;
	}
	#container {
		padding-top: 50px;
	}
	/*----- contents　-----*/
	#contents {
		margin: 0 auto 20px;
	}
	.contents-inner {
		width: 100%;
		max-width: 100%;
		padding: 0 15px;
	}
	/*----- title　-----*/
	#contents h2 {
		position: relative;
		padding: 0.5rem 0 1rem;
		margin-bottom: 1.6rem;
		font-weight: 500;
		font-size: 1.8rem;
		background: linear-gradient(90deg, #f98eb9 0% 50%, #37c1f1 50%);
		background-repeat: no-repeat;
		background-size: 9rem 0.4rem;
		background-position: bottom;
		color: #333;
		text-align: center;
	}
	.home #contents h2 span {
		font-size: 0.9rem;
		display: block;
		font-weight: normal!important;
	}
	#contents h3 {
		text-align: center;
		font-size: 1.1rem;
		padding: 5px 10px;
		margin:0 0 10px;
	}
	#contents h4 {
		font-size: 1rem;
		margin-bottom: 5px;
	}
	/*----- txt　-----*/
	#contents .read {
		text-align: center;
		font-size: 0.9rem;
		margin-bottom: 15px;
		line-height: 1.8;
		font-weight: 300;
	}
	#contents .description {
		font-size: 0.9rem;
		line-height: 1.8;
		margin-bottom: 20px;
	}
	#contents .caption {
		font-size: 18px;
		line-height: 1.6;
		color: #666;
		font-weight: 300;
	}
	#contents .blue-bold {
		font-size: 1rem;
		line-height: 2;
	}
	#contents .pink-bold {
		font-size: 1rem;
		line-height: 2;
	}
	/*----- BTN　-----*/
	#contents .btn a {
		max-width: 70%;
		padding: 8px 10px;
		margin: 8px auto 0;
		border: 2px solid #37c1f1;
		background-size: 16px;
		font-size: 1rem;
	}
	#contents .btn a:hover {
		opacity: 0.75;
	}
	#contents a.jump_point {
		height: 1px;
		display: block;
		padding-top: 49px;
		margin-top: -49px;
	}
	/*----- Page Top　-----*/
	#page_top{
		width: 36px;
		height: 36px;
		right: 2%;
		bottom: 1%;
	}
	#page_top a {
		width: 36px;
		height: 36px;
	}
	#page_top a::before{
		font-size: 26px;
		width: 20px;
		height: 20px;
		top: -10px;
	}
	/*----- Footer　-----*/
	footer {
		background: #f1f1f1;
		width: 100%;
		text-align: center;
		padding: 15px 20px;
	}
	footer .fnavi ul {
		display:block;
		width: 100%;
		max-width: 100%;
	}
	footer .fnavi ul li a {
		font-size: 0.85rem;
		margin-bottom: 15px;
		margin-right: 0;
	}
	footer .fnavi ul li:last-child a {
		margin-bottom: 0;
	}
	/*----- Section　-----*/
	.home #contents .sec01 {
		padding: 20px 0 30px;
	}
	.home #contents .sec02 {
		padding: 20px 0 10px;
		background: linear-gradient(45deg, #fdd8e7 0%,#fef9f2 55%, #c7ecf4 60%);
	}
	.home #contents .sec02 .select-area {
		text-align: center;
		font-size: 0.9rem;
	}
	.home #contents .sec03 {
		padding: 20px 0 30px;
	}
	.home #contents .sec03 h3:nth-child(n + 2) {
		margin:20px 0 10px;
	}
	.home #contents .sec03 .feed {
		margin: 20px auto 0;
		width: 100%;
		display:block;
	}
	.home #contents .sec03 .feed > li {
		width: 100%;
		max-height: 300px;
		padding: 0 20px 0 0;
		margin-bottom: 40px;
	}
	#contents .sub-sec01{
		padding: 20px 0 10px;
		width: 100%;
	}
	#contents .sub-sec02{
		padding: 20px 0 30px;
		width: 100%;
	}
	/*----- ランキング　-----*/
	.home #contents .ranking-area {
		margin: 20px auto 0;
	}
	.home #contents .ranking-area > li {
		/*border-top-left-radius: 6px;
		border-top-right-radius: 6px*/;
		border-bottom-left-radius: 6px;
		border-bottom-right-radius: 6px;
		width: calc(50% - 6px);
		margin-bottom: 20px;
		box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.2);
	}
	#contents .photo-box > img {
		width: auto;
		object-fit: cover;
		align-items: center;
		margin: 0 auto;
		display: block;
		text-align: center;
		height: 140px;
		overflow: hidden;
		/*border-top-left-radius: 6px;
		border-top-right-radius: 6px*/;
	}
	#contents .rank {  
		left: 5px;
		padding: 3px 0;
		width: 28px;
		text-align: center;
		font-size: 13px;
	}
	#contents .rank span {
		font-size: 11px;
	}
	#contents .rank:before {
		border-left: 14px solid #000;
		border-right: 14px solid #000;
		border-bottom: 5px solid transparent;
	}
	#contents .ranking-area li:nth-of-type(1) .rank:before {
		border-left: 14px solid #b99d00;
		border-right: 14px solid #b99d00;
	}
	#contents .ranking-area li:nth-of-type(2) .rank:before {
		border-left: 14px solid #999;
		border-right: 14px solid #999;
	}
	#contents .ranking-area li:nth-of-type(3) .rank:before {
		border-left: 14px solid #ac7342;
		border-right: 14px solid #ac7342;
	}
	.home #contents .fun-box {
		position:static;
		width: 100%;
		text-align: right;
		padding: 0 5px;
		line-height: 28px;
		background: #f1f1f1;
	}
	.home #contents .fun .ico-star {
		font-size: 1.2rem;
		line-height: 0.8;
	}
	.home #contents .fun span.icon-box img {
		border-radius: 16px!important;
		width: 20px!important;
		height: 20px!important;
	}
	.home #contents .fun .fun-name {
		font-size: 0.8rem;
		color: #333;
	}
	.home #contents .ranking-area li .info-box {
		border-bottom-left-radius: 6px;
		border-bottom-right-radius: 6px;
		padding: 3px 10px 16px;
	}
	.home #contents .ranking-area li .info-box dl dt {
		font-size: 0.9rem;
		padding: 8px 0;
	}
	.home #contents .ranking-area li .info-box dl dt span {
		font-size: 0.9rem;
	}
	.home #contents .ranking-area li .info-box dl dd {
		padding: 6px 0;
	}
	.home #contents .ranking-area li .info-box dl dd span {
		font-size: 1.1rem;
		line-height: 1;
	}
	.home #contents .ranking-area li .info-box a.btn-vote {
		line-height: 40px;
		font-size: 1rem;
	}
	/*----- Form　-----*/
	select {
		/* styling */
		background-color: white;
		border: thin solid #aaa;
		border-radius: 4px;
		font-size: 1rem;
		color: #333;
		display: inline-block;
		line-height: 1.5em;
		padding: 0.2em 3.5em 0.2em 1em;
		/* reset */
		margin: 0;      
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
		-webkit-appearance: none;
		-moz-appearance: none;
	}
	/* arrows */
	select.minimal {
		background-image:
			url("../images/common/ico_arrow_under.png");
		background-position: right 10px center;
		background-repeat: no-repeat;
		background-size: 16px;
		color: #333;
	}
	select.minimal:focus {
		background-image:
			url("../images/common/ico_arrow_top.png");
		background-position: right 10px center;
		background-repeat: no-repeat;
		background-size: 16px;
		outline: 0;
		color: #333;
	}
	select:-moz-focusring {
		color: transparent;
		text-shadow: 0 0 0 #000;
	}
	/*
	-----------------------------------------------------------------------
	プロフィール
	-----------------------------------------------------------------------
	*/
	#contents .profile-box {
		margin: 0 auto 25px;
		padding: 10px 15px;
		border-top: 10px solid #f8e3b7;
		border-bottom: 10px solid #f8e3b7;
		border-radius: 10px;
	}
	#contents .profile-area {
		max-width: 100%;
	}
	#contents .profile-area .profile-media-box {
		width: 100%;
	}
	#contents .profile-area .profile-media-box th,#contents .profile-area .profile-media-box td {
		display: block;
		width: 100%;
	}
	#contents .profile-area .profile-media-box tr:first-child td:nth-of-type(1) {
		width: 100%;
		vertical-align: bottom;
	}
	#contents .profile-area .profile-media-box tr:first-child td:last-child p {
		background: #fff;
		width: 100%;
	}
	#contents .profile-area .profile-media-box tr:first-child td:last-child img {
		width: auto;
		height: 262px;
		display: block;
		margin: 0 auto 5px;
		object-fit: cover;
	}
	#contents .profile-area .profile-media-box tr:first-child td:nth-of-type(2){
		padding-left: 0;
		vertical-align: bottom;
	}
	#contents .profile-area .profile-media-box td:last-child {
		padding-left: 0;
		width: 100%;
		vertical-align: bottom;
	}
	#contents .profile-area .name-box {
		padding-bottom: 5px;
		margin-bottom: 5px;
		font-size: 1rem;
		font-feature-settings: "palt" 1;
	}
	#contents .profile-area .name-box p span {
		font-size: 1.2rem;
	}
	#contents .profile-area .point-box {
		font-feature-settings: "palt" 1;
		margin-bottom: 10px;
	}
	#contents .profile-area .point-box li:first-child {
		font-size: 1rem;
		font-weight: 500;
		font-feature-settings: "palt" 1;
	}
	#contents .profile-area .point-box li:first-child span {
		font-size: 1.4rem;
		line-height: 1;
	}
	#contents .profile-area .point-box li:last-child {
		font-size: 1rem;
		font-feature-settings: "palt" 1;
	}
	#contents .profile-area ul.sm li {
		width: calc(25% - 5px);
	}
	#contents .profile-area ul.sm li img {
		width: auto;
		height: 62px;
		display: block;
		margin: 0 auto;
		object-fit: cover;
	}
	#contents .profile-area ul.sm li:nth-child(n + 5) {
		margin-top: 8px;
	}
	/*----- ボタン　-----*/
	#contents .profile-area .btn-area {
		margin: 20px auto;
		max-width: 100%;
	}
	#contents .profile-area .btn-area li {
		width: 48%;
	}
	#contents .profile-area a.btn-vote {
		width: 100%;
		line-height: 46px;
		font-size: 1rem;
		border-radius: 23px;
	}
	#contents .profile-area a.btn-vote::before {
		margin-right: 3px;
	}
	#contents .profile-area a.btn-push {
		width: 100%;
		line-height: 46px;
		font-size: 1rem;
		border-radius: 23px;
	}
	#contents .profile-area a.btn-push::before {
		margin-right: 3px;
	}
	#contents .profile-area .profile-detail-box {
		padding: 10px;
		border-radius: 10px;
	}
	#contents .profile-area .profile-ttl {
		padding: 3px 10px;
		font-size: 0.9rem;
		margin-bottom: 0;
		text-align: center;
		border-radius: 20px;
		display: block;
	}
	#contents .profile-area .profile-detail-box .detail {
		width: 100%;
		display: block;
		border-collapse: collapse;
	}
	#contents .profile-area .profile-detail-box .detail th {
		width: 100%;
		display: block;
		font-size: 0.9rem;
		padding: 10px 0 0;
		border-bottom:none;
		}
	#contents .profile-area .profile-detail-box .detail td {
		width: 100%;
		display: block;
		font-size: 0.875rem;
		padding: 5px 0 10px;
		border-bottom: 1px solid #ccc;
	}
	#contents .profile-area .profile-detail-box .detail tr:last-child th,#contents .profile-area .profile-detail-box .detail tr:last-child td {
		border-bottom: none;
	}
	#contents .ranking-box {
		padding: 10px 15px 5px;
		border-radius: 10px;
	}
	#contents .ranking-box .ranking-area {
		margin: 20px auto 0;
		width: 100%;
	}
	#contents .ranking-box .ranking-area > li {
		border-bottom-left-radius: 8px;
		border-bottom-right-radius: 8px;
		width: calc(50% - 6px);
		margin-bottom: 20px;
		box-shadow: 1px 1px 3px 0px rgba(0, 0, 0, 0.2);
	}
	#contents .ranking-box .photo-box img {
		width: auto;
		height:128px;
		object-fit: cover;
		align-items: center;
		overflow: hidden;
		display: block;
		margin: 0 auto;
	}
	#contents .ranking-box .ranking-area li .info-box {
		background: #fff;
		border-bottom-left-radius: 8px;
		border-bottom-right-radius: 8px;
		padding: 5px 5px 0;
	}
	#contents .ranking-box .ranking-area li .info-box dl {
		width: 100%;
	}
	#contents .ranking-box .ranking-area li .info-box dl dt {
		font-size: 0.9rem;
		padding: 0 0 5px;
	}
	#contents .ranking-box .ranking-area li .info-box dl dt span {
		font-size: 0.9rem;
	}
	#contents .ranking-box .ranking-area li .info-box dl dd {
		padding: 5px 0;
	}
	#contents .ranking-box .ranking-area li .info-box dl dd span {
		font-size: 1rem;
	}
	/*
	-----------------------------------------------------------------------
	推し活投票
	-----------------------------------------------------------------------
	*/
	#contents .push-box {
		max-width: 100%;
		margin: 0 auto 25px;
		padding: 15px 15px;
		border-radius: 10px;
	}
	#contents .push-box h4 {
		font-size: 1.1rem;
	}
	#contents .btn-cart {
		width: 260px;
		margin: 10px auto;
		line-height: 46px;
		font-size: 1rem;
		border-radius: 26px;
	}
	#contents .push-box .productList {
		margin: 15px auto 0;
	}
	#contents .productList > li {
		width: 48%;
		margin-left: 3.6%;
		margin-bottom: 10px;
		box-shadow: 1px 1px 2px 0px rgba(0, 0, 0, 0.2);
		padding: 8px 8px 15px;
	}
	#contents .productList li:nth-child(odd){
		margin-left: 0;
	}
	#contents .productList .photo-box {
		margin-bottom: 5px;
	}
	#contents .productList .photo-box img {
		width: auto;
		max-width: 100%;
		height:115px;
		object-fit: cover;
		align-items: center;
		overflow: hidden;
		display: block;
		margin: 0 auto;
	}
	#contents .productList li p.price {
		font-size: 0.8125rem;
		font-feature-settings: "palt" 1;
	}
	.checkAllBox {
		margin: 20px auto;
		font-feature-settings: "palt" 1;
		font-size: 0.9rem;
	}
	/*
	-----------------------------------------------------------------------
	カート
	-----------------------------------------------------------------------
	*/
	#contents .cart-box {
		max-width: 100%;
		margin: 0 auto 25px;
		padding: 15px 15px;
		border-radius: 10px;
	}
	#contents .cart-box .cartList {
		margin: 15px auto 10px;
	}
	#contents .cartList > li {
		width: 31.8%;
		margin-left: 1.8%;
		margin-bottom: 10px;
		box-shadow: 1px 1px 1px 0px rgba(0, 0, 0, 0.2);
		padding: 8px 6px 10px;
	}
	#contents .cartList li:nth-of-type(1),#contents .cartList li:nth-of-type(3n+1){
		margin-left: 0;
	}
	#contents .cartList .photo-box {
		margin-bottom: 5px;
	}
	#contents .cartList .photo-box img {
		width: auto;
		height:76px;
		display: block;
		text-align: center;
		object-fit: cover;
		align-items: center;
		overflow: hidden;
	}
	#contents .cartList li p.price,#contents .cartList li p.delete {
		font-size: 0.8125rem;
		font-feature-settings: "palt" 1;
	}
	#contents .cartList li p.delete a {
		color: #333;
		margin-top: 10px;
		line-height: 2;
	}
	#contents .cart-box .total {
		font-size: 1rem;
		padding: 0.8rem 0;
	}
	#contents a.btn-cardregist {
		width: 96%;
		margin: 20px auto;
		line-height: 40px;
		font-size: 1rem;
		border-radius: 3px;
	}
	#contents .cart-box .mail-area {
		width: auto;
		margin: auto;
		text-align: center;
		font-size: 0.9rem;
	}
	#contents .cart-box .mail-area input[type='text'] {
		box-sizing: border-box;
		width: 96%;
		font-size: 1rem;
		margin-left: 0;
		margin-top: 5px;
	}
	#contents .btn-buy {
		width: 260px;
		margin: 10px auto;
		line-height: 46px;
		font-size: 1rem;
		border-radius: 26px;
	}
	/*
	-----------------------------------------------------------------------
	マイページ
	-----------------------------------------------------------------------
	*/
	#contents .maypage-box {
		margin: 0 auto 25px;
		padding: 15px 15px;
		border-radius: 10px;
	}
	#contents .maypage-area {
		max-width: 100%;
		margin: 15px auto 0;
		padding: 20px 10px 15px;
	}
	#contents .maypage-area .member-id {
		text-align: center;
		margin-bottom: 10px;
		font-size: 0.8125rem;
		line-height: 1;
	}
	#contents .maypage-area .maypage-photo {
		width: auto;
	}
	#contents .maypage-area .maypage-photo li{
		display: block;
		width: 100%;
	}
	#contents .maypage-area .maypage-photo li:nth-of-type(1) {
		width: 100%;
		text-align: center;
		margin-bottom: 15px;
	}
	#contents .maypage-area .maypage-photo li:first-child img {
		max-width: 120px;
		height: 120px;
	}
	#contents .maypage-area .maypage-photo li:nth-of-type(2) p {
		margin-bottom: 5px;
		font-size: 0.8125rem;
	}
	#contents .maypage-area .maypage-photo li:nth-of-type(2) p.att {
		font-size: 0.8125rem;
		margin-top: 5px;
	}
	#contents .maypage-area .maypage-photo li:nth-of-type(2) .box {
		width: 100%;
	}
	#contents .maypage-area #fake_text_box {
		width: 59%;
		font-size: 0.8125rem;
		padding: 0.4rem;
	}
	#contents .maypage-area label {
		padding: 0 5px;
		font-size: 1rem;
		font-feature-settings: "palt" 1;
		line-height: 2;
	}
	#contents .maypage-area .maypage-nickname {
		width: auto;
		margin-top: 10px;
	}
	#contents .maypage-area .maypage-nickname li{
		display:block;
		width: 100%;
	}
	#contents .maypage-area .maypage-nickname li:nth-of-type(1) {
		width: 100%;
		margin-bottom: 5px;
		font-size: 0.8125rem;
	}
	#contents .maypage-area .maypage-nickname li:nth-of-type(2) {
		width: 100%;
	}
	#contents .maypage-area .maypage-nickname input[type='text'] {
		width:66%;
		font-size: 1rem;
		padding: 0.4rem;
	}
	#contents .maypage-area .maypage-nickname input[type="button"] {
		font-size: 1rem;
		padding: 0 5px;
		-webkit-appearance: none;
		border-radius: 0;
		line-height: 2;
	}
	_:lang(x)+_:-webkit-full-screen-document, #contents .maypage-area .maypage-nickname input[type="button"] {
		padding: 2px 5px;
		font-size: 1rem;
		line-height: 2;
	}
	#contents .maypage-area .maypage-nickname:after {
		content: "";
		clear: both;
		height: 0;
		display: block;
		visibility: hidden;
	}
	#contents .maypage-area .history {
		width: 100%;
		margin: 15px auto 0;
	}
	#contents .maypage-area .history p {
		margin-bottom: 5px;
		font-size: 0.8125rem;
	}
	#contents .maypage-area .history table {
		width: 100%;
		font-size: 0.8125rem;
		border-collapse: collapse;
	}
	#contents .maypage-area .history table th,#contents .maypage-area .history table td {
		padding: 0.3rem;
		font-feature-settings: "palt" 1;
		vertical-align: middle;
	}
	#contents .maypage-area .history table tr:first-child th:first-child {
		text-align: left;
	}
	#contents .maypage-area .history table tr td {
		font-size: 0.75rem;
	}
	#contents .maypage-area .history table tr td:nth-child(n + 2) {
		text-align: center;
	}
	#contents .maypage-area .history table td.sm img {
		max-height: 80px;
		width: auto;
	}
	#contents .maypage-area a.dl-btn {
		max-width: 100%;
		padding: 0.3rem;;
		display: block;
		font-size: 0.8125rem;
		border-radius: 10px;
	}
	#contents .maypage-area a.dl-btn:hover {
		opacity: 0.75;
	}
	#contents .leave-area {
		width: 100%;
		display:block;
	}
	#contents .leave-area li {
		display: block;
		width: 100%;
		text-align: center;
	}
	#contents .leave-area li:last-child {
		padding-left: 0;
		font-size: 0.875rem;
		margin-top: 10px;
	}
	#contents .leave-area a.leave-btn {
		width: 50%;
		text-align: center;
		padding: 0.7rem;
		font-size: 0.875rem;
	}
	/*モーダルを開くボタン*/
	.mypage-modal .modal-open {
		width: 50%;
		text-align: center;
		padding: 0.7rem;
		font-size: 0.875rem;
	}
	/*モーダル本体の指定 + モーダル外側の背景の指定*/
	.mypage-modal .modal-container{
		padding: 30px 20px;
	}
	/*モーダル枠の指定*/
	.mypage-modal .modal-body{
		width: 90%;
	}
	/*モーダルを閉じるボタンの指定*/
	.mypage-modal .modal-close{
		top: -34px;
		right: -34px;
		width: 34px;
		height: 34px;
		font-size: 34px;
	}
	/*モーダル内のコンテンツの指定*/
	.mypage-modal .modal-content {
		padding: 15px;
	}
	.mypage-modal .modal-content .btn_area .ttl {
		font-size: 16px;
	}
	.mypage-modal .modal-content .btn_area button,
	.mypage-modal .modal-content .yes{
		padding: 8px;
		font-size: 14px;
		-webkit-appearance: none;
		width: 48%;
	}
	.mypage-modal .modal-content .bt-box {
		width: 100%;
	}
	/*
	-----------------------------------------------------------------------
	お問い合わせ
	-----------------------------------------------------------------------
	*/
	#contents .contact-box {
		margin: 0 auto 25px;
		padding: 15px 15px;
		border-radius: 10px;
	}
	#contents .contact-area {
		max-width: 100%;
		margin: 15px auto 0;
		padding: 10px 15px 20px;
	}
	#contents .contact-area table {
		max-width: 100%;
		margin: 10px auto 5px;
	}
	#contents .contact-area table th {
		display: block;
		width: 99%;
		padding: 0 0 0.3rem;
	}
	#contents .contact-area table td {
		display: block;
		width: 99%;
		padding: 0 0 1.2rem;
		font-size: 0.9rem;
	}
	#contents .contact-area table tr:last-child td:last-child {
		padding: 0 0 0.3rem;
	}
	#contents .contact-area table th {
		width: 99%;
	}
	#contents .contact-area input[type='text'],
#contents .contact-area input[type='email'] {
		width: 99%;
		font-size: 1rem;
		padding: 0.5rem;
		-webkit-appearance: none;
		border-radius: 0;
	}
	#contents .contact-area textarea {
		box-sizing: border-box;
		width: 99%;
		font-size: 1rem;
		padding: 0.5rem;
		border: 1px solid #b2b2b2;
		-webkit-appearance: none;
		border-radius: 0;
	}
	#contents .contact-area .button {
		width: 200px;
		font-size: 1rem;
		border-radius: 30px;
		-webkit-appearance: none;
	}
	#contents .contact-area .message {
		font-size: 0.9rem;
	}
	#contents .contact-area .message span {
		font-size: 1rem;
		margin-bottom: 1rem;
	}
	/*
	-----------------------------------------------------------------------
	login
	-----------------------------------------------------------------------
	*/
	#contents .login-area{
		max-width: 100%;
		padding: 30px 0;
	}
	#contents .login-area li a {
		width: 90%;
		font-size: 1.2rem;
		line-height: 46px;
	}
	/*
	-----------------------------------------------------------------------
	規約など
	-----------------------------------------------------------------------
	*/
	#contents .policy-box {
		margin: 0 auto 25px;
		padding: 15px 15px;
		border-radius: 10px;
	}
	#contents .policy-area {
		max-width: 100%;
		margin: 15px auto 0;
		padding: 10px 15px 20px;
		font-size: 14px;
	}

	#contents .policy-area .indent + .kajyo {
		margin-top: 20px;
	}
	#contents .policy-area > ol + .kajyo {
		margin-top: 20px;
	}
	#contents .policy-area > ol {
		width: 100%;
		margin-left: 0;
		line-height: 1.8;
	}
	#contents .policy-area > ol > li {
		list-style: decimal;
		margin-bottom: 15px;
	}
	#contents .policy-area > ol > li > ol.list_parentheses {
		padding:0 0 0 1em;
		margin:5px 0 0;
	}
	#contents .policy-area > ol > li > ol.list_parentheses > li:first-child {
	}
	#contents .policy-area > ol > li > ol.list_parentheses > li{
		list-style-type:none;
		list-style-position:inside;
		counter-increment: cnt;
		margin-bottom: 5px;
	}
	#contents .policy-area > ol > li > ol.list_parentheses > li:before{
		display: marker;
		content: "(" counter(cnt) ") ";
	}
	#contents .policy-area table {
		max-width: 100%;
		margin: 10px auto 0;	
		border: 1px solid #b2b2b2;
	}
	#contents .policy-area table th {
		padding: 0.4rem 0.3rem;
		display: block;
		vertical-align: middle;
		color: #fff;
		font-size: 0.875rem;
		border-bottom: 1px solid #fff;
		white-space: normal;
	}
	#contents .policy-area table td {
		padding: 0.4rem 0.3rem;
		display: block;
		vertical-align: middle;
		font-size: 0.875rem;
		border-bottom: 1px solid #fff;
	}
}

/* === SP: エントリー一覧・プロフィール写真を 1:1 正方形に統一 === */
#contents .photo-box > img,
.home #contents .photo-box img,
#contents .ranking-box .photo-box img,
#contents .profile-box #MainPhoto,
#contents .profile-box .ChangePhoto {
	width: 100%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	display: block;
	margin: 0 auto;
}
