
/* ////////////////////////////////////////////
 *                 LOGIN
 * //////////////////////////////////////////// */

.login{
	display: flex;
	justify-content: center;
	align-items: center;
	flex: 1;
	min-height: 100vh;
	padding: 50px 0;
}
.login-container{
	width: 460px;
	padding: 55px;
	border: #ddd 1px solid;
}
.login-container h1{
	margin: 0 auto 30px auto;
	font-size: 2.6rem;
	text-align: center;
}
.login-content{
	text-align: left;
}
.login-label{
	margin: 15px 0 5px 0;
	font-size: 1.7rem;
	font-weight: bold;
}
.login-content button{
	margin: 20px auto 0 auto;
}

.optin-text {
	font-size: 1.4rem;
}
.optin-text p {
	margin: 0 0 20px 0;
}
.login .checkbox label {
	font-size: 1.4rem;
}
.login .flash-error {
	margin: 0 0 20px 0;
	color: #ce323a;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}

.login-modal-bg {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index: 1;
}
.login-modal {
	overflow: auto;
	position: fixed;
	top: 50%;
	left: 50%;
	padding: 55px;
	width: 500px;
	max-width: 80%;
	max-height: 90%;
	background: #fff;
	transform: translate(-50%, -50%);
	z-index: 2;
}
.login-modal-title {
	margin: 0 0 20px 0;
	font-size: 2rem;
	font-weight: bold;
}
.login-modal-text {
	text-align: left;
}
.login-modal-text p {
	margin: 0 0 15px 0;
}
.login-modal-btn {
  cursor: pointer;
  position: relative;
  display: block;
  margin: 20px auto 0 auto;
  padding: 10px 50px;
  color: #fff;
  font-weight: bold;
  text-align: center;
  background: #ce323a;
  border: none;
}

/* ////////////////////////////////////////////
 *                 LAYOUT
 * //////////////////////////////////////////// */

html{
	min-height: 100vh;
	background: #fff;
}
body{
	text-align: center;
}

/* ////////////////////////////////////////////
 *                 CONTENT
 * //////////////////////////////////////////// */

 /* gheader
------------------------------------------*/
.gheader{
	position: relative;
	height: 100px;
}
.gheader h1{
	position: absolute;
	top: 5px;
	left: 10px;
}
.gheader .gnav{
	position: absolute;
	top: 40px;
	left: 50%;
	margin: 0 0 0 30px;
	width: auto;
	transform: translateX(-50%);
}
.gheader .gnav ul{
	display: flex;
	flex-wrap: wrap;
}
.gheader .gnav ul li{
	margin: 0 20px;
}
.gheader .gnav ul li a{
	font-weight: bold;
}
.gnav01{
	position: absolute;
	top: 0;
	right: 101px;
}
.gnav02{
	position: absolute;
	top: 0;
	right: 0;
}
.gnav03{
	display: none;
}
.gnav01 a,
.gnav02 a{
	display: block;
	padding: 22px 0 0 0;
	height: 100px;
	width: 100px;
	color: #fff;
	font-size: 1.3rem;
	line-height: 1.8;
	background: #ce323a;
}
.gnav01 a .fa,
.gnav02 a .fa{
	font-size: 3rem;
}

.count-area{
	display: flex;
	gap: 15px;
	position: absolute;
	top: 26px;
	right: 20%;
}
.count-area:before{
	content: '';
	position: absolute;
	top: 0;
	left: -10px;
  width: 10px;
  aspect-ratio: 1;
  clip-path: polygon(0 0,100% 0,0 100%);
  background: #ce323a;
}
.count-area:after{
	content: '';
	position: absolute;
	bottom: -8px;
	right: -10px;
  width: 10px;
  aspect-ratio: 1;
  clip-path: polygon(0 100%,100% 0,100% 100%);
  background: #ce323a;
}
.count-area .date {
	text-align: left;
	line-height: 1.3;
}
.count-area .date span:nth-child(1){
	font-size: 11px;
}
.count-area .date span:nth-child(2){
	display: block;
	font-size: 13px;
}
.count-area .count{
	margin: -6px 0 0 0;
	font-family: "Playfair Display", serif;
	font-style: italic;
	line-height: 1;
}
.count-area .count span:nth-child(1){
	font-size: 40px;
}
.count-area .count span:nth-child(2){
	font-size: 11px;
}

@media screen and (max-width: 1400px) {
	.gheader .gnav ul li{
		margin: 0 10px;
		font-size: 1.3rem;
	}
}
@media screen and (max-width: 1200px) {
	.count-area{
		right: auto;
		left: 20px;
	}
}
@media screen and (max-width: 600px) {
	.count-area{
		top: 12px;
	}
	.count-area .count {
		margin: 0;
	}
	.count-area .count span:nth-child(1){
		font-size: 30px;
	}
}

/* mainvisual
------------------------------------------*/
.mainvisual .slick-slide{
	margin: 0 5px;
}
.slick-dots{
	display: flex;
	justify-content: center;
	margin: 10px 0 75px 0;
}
.slick-dots li{
	content: '';
	cursor: pointer;
	margin: 0 10px;
	width: 10px;
	height: 10px;
	background: #eee;
	border-radius: 5px;
}
.slick-dots li.slick-active{
	background: #ce323a;
}
.slick-dots li button{
	display: none;
}
.slick-dots li::marker{
	content: '';
	display: none;
}

/* page-title
------------------------------------------*/
.page-title{
	padding: 50px 0;
	background: #eee;
	text-align: center;
}
.page-title h1{
	font-size: 2.5rem;
}
.bread{
	margin: 0 0 60px 0;
	padding: 5px 0;
	border-bottom: #ddd 1px solid;
}
.bread .inner{
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1120px;
	font-size: 1.3rem;
	text-align: left;
}
.bread a{
	color: #be2d35;
}
.bread .separator{
	margin: 0 8px;
}

/* gfooter
------------------------------------------*/
.gfooter{
	padding: 0 0 70px 0;
	border-top: #ce323a 5px solid;
}
.gfooter .inner{
	position: relative;
	margin: 0 auto;
	padding: 30px 20px;
	max-width: 1120px;
}
.fnav ul{
	display: flex;
	justify-content: center;
}
.fnav ul li{
	padding: 0 15px;
	border-right: #333 1px solid;
}
.fnav ul li:last-child{
	border: none;
}
.flogo{
	margin: 50px auto;
	width: 260px;
}
.copyright{
	font-size: 1.2rem;
}
.footer-fix{
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background: #333;
	z-index: 100;
}
.footer-fix .inner{
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	padding: 10px 20px;
	max-width: 1120px;
	height: 70px;
}
.footer-fix .inner p{
	margin: 0 20px 0 0;
	padding: 0 20px 0 0;
	color: #fff;
	font-size: 2.3rem;
	border-right: #fff 1px solid;
}
.footer-fix .inner .footer-tel{
	margin: 0 20px 0 0;
}

/* home
------------------------------------------*/
.new-btn a {
	display: inline-flex;
	margin: 0 0 70px 0;
  padding: 12px 30px;
  color: #fff;
  font-weight: bold;
  background: #ce323a;
}
.new-btn a:hover {
	opacity: 0.7;
}
.new-list{
	margin: 0 0 90px 0;
}
.new-list h2{
	margin: 0 0 35px 0;
	font-size: 2rem;
}
.new-list h2 span{
	font-size: 4.4rem;
	font-family: 'PT Sans', sans-serif;
}
.new-list ul{
}
.new-list ul li{
	position: relative;
	margin: 0 15px;
	padding: 10px 0 0 0;
	width: 240px !important;
	height: 250px;
}
.new-list ul li img{
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.new-list ul li p{
	position: absolute;
	top: 0;
	left: -10px;
	padding: 13px 0 0 0;
	width: 60px;
	height: 60px;
	color: #ce323a;
	font-size: 1.2rem;
	line-height: 1.3;
	background: #fff;
	border: #ce323a 1px solid;
	border-radius: 50px;
}
.new-list ul li p span{
	font-size: 1.5rem;
}

.woman-list{
	margin: 0 0 90px 0;
}
.woman-list h2{
	margin: 0 0 35px 0;
	font-size: 2rem;
}
.woman-list h2 span{
	font-size: 4.4rem;
	font-family: 'PT Sans', sans-serif;
}
.woman-list ul{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 25px;
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1120px;
}
.woman-list ul li{
	position: relative;
	border: #ddd 1px solid;
	border-top: #ce323a 3px solid;
}
.woman-list ul li .img{
	height: 280px;
}
.woman-list ul li img{
	object-fit: cover;
	width: 100%;
	height: 100%;
	object-position: 50% 0%;
}
.woman-list ul li .name{
	position: relative;
	top: -5px;
    margin: 0 20px 35px 20px;
	padding: 15px 0 0 0;
	font-size: 1.7rem;
	font-weight: bold;
	background: #fff;
}
.woman-list ul li .text{
	margin: -20px 0 0 0;
	padding: 0 0 20px 0;
}
.woman-list ul li .text .age{
	margin: 0 0 10px 0;
	font-size: 1.4rem;
	font-weight: bold;
}
.woman-list ul li .text .age span{
	display: inline-block;
	padding: 2px 10px;
	color: #ce323a;
	border: #ce323a 1px solid;
}
.woman-list ul li .text .age em{
	display: inline-block;
	margin: 0 0 0 2px;
	font-weight: bold;
	font-style: normal;
}
.woman-list ul li .text .data{
	font-size: 1.3rem;
}

.flow{
	padding: 70px 0;
	background: #eee;
}
.flow-inner{
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1120px;
}
.flow h2{
	margin: 0 0 40px 0;
	font-size: 2rem;
	text-align: center;
}
.flow h2 span{
	font-size: 4.4rem;
}
.flow .subtitle{
	color: #ce323a;
	font-size: 2.6rem;
	font-weight: bold;
}
.flow-once{
	position: relative;
	display: flex;
	align-items: center;
	margin: 50px 0 0 0;
	padding: 20px;
	background: #fff;
}
.flow-once:after{
	content: "\f107";
	position: absolute;
	bottom: -65px;
	left: 50%;
	color: #ce323a;
	font-size: 5rem;
	font-family: FontAwesome;
	transform: translateX(-50%);
}
.flow-once:last-child:after{
	display: none;
}
.flow-left{
	display: flex;
	align-items: center;
	width: 320px;
	font-size: 2.0rem;
	font-weight: bold;
	text-align: left;
	border-right: #ddd 1px solid;
}
.flow-right{
	padding: 0 0 0 20px;
	width: calc(100% - 320px);
	text-align: left;
}
.flow-left span{
	margin: 0 20px 0 0;
	color: #ce323a;
	font-size: 5.5rem;
	text-decoration: underline;
}

.notice{
	background: #000 url(/img/default/notice-bg.jpg) no-repeat center center / cover;
}
.notice-inner{
	margin: 0 auto;
	padding: 80px 20px;
	max-width: 1120px;
}
.notice h2{
	margin: 0 0 35px 0;
	color: #fff;
	font-size: 2.6rem;
}
.notice-content{
	color: #fff;
	text-align: left;
}
.notice-content p{
	margin: 0 0 30px 0;
}
.notice-content p.box{
	padding: 10px 15px;
	color: #ce323a;
	font-size: 1.8rem;
	font-weight: bold;
	background: rgba(255, 255, 255, 0.8);
	border-radius: 5px;
}
.notice-content p.bold{
	font-weight: bold;
}

.search{
	background: #eee;
}
.search h2{
	margin: 0 0 35px 0;
	font-size: 2rem;
}
.search h2 span{
	font-size: 4.4rem;
	font-family: 'PT Sans', sans-serif;
}
.search-inner{
	margin: 0 auto;
	padding: 70px 20px 80px 20px;
	max-width: 1120px;
}
.search-form{
	padding: 50px 80px;
	background: #fff;
}
.search-list{
	text-align: left;
}
.search-once{
	display: flex;
	margin: 0 0 30px 0;
}
.search-title{
	width: 130px;
	font-size: 1.7rem;
	font-weight: bold;
}
.search-body{
	width: calc(100% - 130px);
}
.search-body select{
	width: 100%;
}
.search-body .checkbox-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 20px;
}
.search-body .checkbox-wrap .checkbox {
/*	width: 25%;*/
}
.search-keyword{
	margin: 20px 0 30px 0;
	width: 100%;
}
.search-keyword .search-title{
	width: 130px;
}
.search-button button{
	margin: 0 auto;
}
.search-select {
	display: flex;

	span {
		width: 10%;
		max-width: 50px;
		text-align: center;
	}

	.select {
		width: 45%;
		max-width: 200px;
	}
}

.woman-page{
	display: flex;
	justify-content: space-between;
	margin: 0 auto 80px auto;
	padding: 0 20px;
	max-width: 1120px;
}
.woman-side{
	width: 300px;
}
.profile{
	margin: 90px 0;
}
.woman-page .woman-list{
	width: calc(100% - 340px);
}
.woman-page .woman-list ul{
	grid-template-columns: repeat(3, 1fr);
	padding: 0;
}
.woman-size{
	text-align: left;
}
.woman-side h2{
	margin: 0 0 20px 0;
	font-size: 2rem;
	text-align: left;
}
.woman-side h2 span{
	font-size: 1.5rem;
}
.side-search-once{
	margin: 0 0 20px 0;
	text-align: left;
}
.side-search-title{
	margin: 0 0 5px 0;
	font-weight: bold;
}
.side-search-body select{
	width: 100%;
}
.side-search-button button{
	margin: 30px 0 0 0;
	padding: 15px;
	width: 100%;
}
.side-search-select {
	display: flex;

	span {
		width: 10%;
		text-align: center;
	}

	.select {
		width: 45%;
	}
}

.woman-slick{
	margin: 40px 0 0 0;
}
.woman-slick ul{
	margin: 0 auto;
	width: 800px;
	height: 600px;
}
.woman-slick .slick-slide{
	width: 800px;
	height: 600px;
}
.woman-slick .slick-slide img{
	margin: 0 auto;
	width: auto;
	max-height: 600px;
}
.woman-slick .fa-angle-left{
	position: absolute;
	top: 50%;
	left: -50px;
	color: #ce323a;
	font-size: 6rem;
	transform: translateY(-50%);
	z-index: 10;
}
.woman-slick .fa-angle-right{
	position: absolute;
	top: 50%;
	right: -50px;
	color: #ce323a;
	font-size: 6rem;
	transform: translateY(-50%);
	z-index: 10;
}
.woman-slick-thumbnail {
	ul {
		margin: 10px auto 0 auto;
		width: 100%;
		max-width: 600px;

		@media screen and (max-width: 599px) {
			padding: 0 10px;
		}

		li {
			padding: 0 5px;
			width: 12.5%;

			@media screen and (max-width: 599px) {
				padding: 0 2px;
			}
		}
	}
}

.woman-detail .name-area{
	position: relative;
	margin: 0 auto;
	padding: 40px;
	width: 500px;
	background: #fff;
}
.woman-detail .name-area h1{
	font-size: 2.7rem;
	font-weight: normal;
}
.woman-detail .name-area .catch{
	margin: 15px 0;
}
.woman-detail .favorite-btn{
	cursor: pointer;
	margin: 0 auto;
	padding: 4px 0;
	width: 190px;
	color: #ce323a;
	border: #ce323a 1px solid;
}
.woman-detail .favorite-btn .fa{
	margin: 0 4px 0 0;
}
.woman-detail .favorite-comment{
	margin: 5px 0 0 0;
	color: #ce323a;
	font-size: 1.3rem;
}
.woman-detail .favorite-btn.done{
	cursor: default;
	color: #fff;
	background: #999;
	border: #999 1px solid;
}

.woman-detail .data-area{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	margin: 10px auto 80px auto;
	max-width: 800px;
}
.woman-detail .data-area li{
	margin: 0 10px 10px 10px;
}
.woman-detail .data-area li span{
	margin: 0 8px 0 0;
	padding: 4px 8px;
	color: #fff;
	background: #ce323a;
}
.woman-detail .message{
	position: relative;
	margin: 0 auto 90px auto;
	padding: 0 0 130px 0;
	width: 800px;
}
.woman-detail .message h2{
	margin: 0 0 30px 0;
	font-size: 3.8rem;
	font-family: 'PT Sans', sans-serif;
}
.woman-detail .message h2 span{
	border-bottom: #ce323a 2px solid;
}
.woman-detail .message .sns-twitter{
	position: absolute;
	top: calc(50% - 70px);
	left: -100px;
}
.woman-detail .message .sns-instagram{
	position: absolute;
	top: calc(50% - 70px);
	right: -100px;
}

.woman-detail .sns a{
	color: #ce323a;
}
.woman-detail .sns .fa{
	font-size: 5rem;
}
.woman-detail .sns span{
	font-size: 1.4rem;
}

.woman-detail .sns-youtube{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.favorite-delete{
	cursor: pointer;
	position: absolute;
	top: 5px;
	right: 5px;
	color: #fff;
	width: 28px;
	height: 28px;
	text-align: center;
	line-height: 28px;
	background: rgba(0, 0, 0, 0.8);
	z-index: 1;
}

.user-edit{
	margin: 0 0 90px 0;
	text-align: center;
}
.user-edit-data{
	margin: 0 auto;
	max-width: 400px;
	text-align: left;
}
.user-edit-data p{
	margin: 0 0 10px 0;
}
.user-edit-data p span{
	display: inline-block;
	width: 140px;
	font-weight: bold;
}
.user-logout-btn{
	margin: 50px 0 0 0;
}
.user-logout-btn a{
	cursor: pointer;
	display: inline-block;
	margin: 0 auto;
	padding: 4px 20px;
	width: 180px;
	color: #ce323a;
	border: #ce323a 1px solid;
}

.paginator{
	margin: 30px 0;
	text-align: center;
	font-size: 0;
}
.paginator a,
.paginator .current{
	position: relative;
	display: inline-block;
	margin: 0 3px;
	padding: 10px 15px;
	color: #fff;
	font-size: 13px;
	text-align: center;
	background: #ce323a;
	border: #ce323a 1px solid;
	border: none;
	border-radius: 3px;
}
.paginator a:hover{
	opacity: 0.7;
}
.paginator .current{
	color: #ce323a;
	background: #fff;
	border: #ce323a 1px solid;
}

.profile .btn{
	margin: 30px 0;
}
.profile .btn a{
	position: relative;
	display: block;
	margin: 0 auto;
	padding: 10px 15px;
	width: 220px;
	color: #fff;
	font-size: 13px;
	text-align: center;
	background: #ce323a;
	border: #ce323a 1px solid;
	border: none;
	border-radius: 3px;
}



