@charset "Shift_JIS";

/* common */
:root {
  --color01: #fe6f71;
}
DT, DD, TH, TD, li, p, div, a {
    font-size: 14px;
}

/* top */
#sp_woman_wrapper #sp_woman_top h1{
	margin-bottom: 60px;
}
#sp_woman_wrapper #sp_woman_top h1 img{
	width: 100%;
}
#sp_woman_wrapper #sp_woman_top h1 p {
    margin: 16px 0 0 0;
    padding: 15px 40px;
    font-weight: normal;
    letter-spacing: 0.05em;
    border: 2px dotted var(--color01);
}
#sp_woman_wrapper #sp_woman_top .woman_point{
  	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #efefef calc(100% - 1px)),linear-gradient(90deg, transparent calc(100% - 1px), #efefef calc(100% - 1px));
  	background-size: 20px 20px;
  	background-repeat: repeat;
  	background-position: center center;
  	background-color: #f7f7f7;
  	padding: 70px 20px 20px;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	margin-bottom: 60px;
}
#sp_woman_wrapper #sp_woman_top .woman_point .txt-rule{
	position: absolute;
	top: -20px;
}
#sp_woman_wrapper #sp_woman_top .woman_point .txt-rule img{
	width: 98px;
}
#sp_woman_wrapper #sp_woman_top .woman_point .point_box{
	display: flex;
	align-items: center;
	padding: 20px;
	background: #fff;
	width: 48%;
    margin: 0 1% 38px;
	box-sizing: border-box;
	position: relative;
	filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.08));
}
#sp_woman_wrapper #sp_woman_top .woman_point .point_box img{
	width: 60px;
    padding: 5px;
    background: #fff;
    border-radius: 100svh;
    position: absolute;
    top: -32px;
    right: -10px;
}
#sp_woman_wrapper #sp_woman_top .woman_point .point_box dl{
	align-self: flex-start;
}
#sp_woman_wrapper #sp_woman_top .woman_point .point_box dt{
	font-weight: bold;
	font-size: 16.8px;
	color: var(--color01);
	margin-bottom: 5px;
}
#sp_woman_wrapper #sp_woman_top .woman_point .point_box dd span{
	background: #fccac1;
	font-size: 14px;
}
#sp_woman_wrapper #sp_woman_top ul li{
	margin-bottom: 40px;
}
#sp_woman_wrapper #sp_woman_top ul li h2{
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
#sp_woman_wrapper #sp_woman_top ul li h2 .title {
    flex: 1;
    padding-left: 20px;
    font-size: 16px;
    font-weight: bold;
}
#sp_woman_wrapper #sp_woman_top ul li h2 img {
	max-width: 140px;
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .text .btn a{
	display: block;
	width: 35%;
	color:#fff;
	padding: 10px;
	background: var(--color01);
	margin-left: auto;
	border-radius: 100svh;
	text-align: center;
	position: relative;
	z-index: 2;
	border: 2px solid #fff;
	box-sizing: border-box;
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .text .btn a img{
	position: absolute;
    right: 15px;
    bottom: -1px;
    width: 22px;
}
.bg-woman{
	position: absolute;
	bottom: 0;
	right: 0;
	width: 185px;
}

/* common */
.list_box{
	background: #f9eee8;
	padding: 40px;
	position: relative;
}
.list_box .point{
	padding: 20px 40px;
	background: rgba(255,255,255,0.75);
	position: relative;
	margin-bottom: 20px;
	border-radius: 6px;
	filter: drop-shadow(2px 2px 4px rgba(0, 0, 0, 0.04));
}
.list_box .point h4{
	background: var(--color01);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 54px;
	border-radius: 27px 27px 0 27px;
	text-align: center;
	color:#fff;
	font-weight: bold;
	position: absolute;
	top: -27px;
	left: -27px;
}
.list_box .point p{
	font-size: 16px;
	color: var(--color01);
	font-weight: bold;
	margin-bottom: 20px;
	position: relative;
}
.list_box .point p::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	height: 1px;
	width: 100%;
	background: linear-gradient(to left, #fff, var(--color01));
	transform: translateY(8px);
	width: 90%;
}
.list_box .status{
	display: flex;
	align-items: center;
}
.list_box .status > div{
	margin-right: 8px;
}
.list_box .status > div.off{
	filter: grayscale(100%);
	opacity: 0.4;
}
.list_box .status > div img{
	width: 52px;
}
.list_box .text p{
	margin-bottom: 20px;
	position: relative;
	z-index: 2;
	padding-right: 120px;
	line-height: 1.6;
}

/* details */
#sp_woman_wrapper.details h1{
    padding: 10px 20px;
    background-color: var(--color01);
	line-height: 1.8;
}
#sp_woman_wrapper.details h1 span {
    border-left: 3px solid #fff;
    padding: 0 0 0 20px;
    color: #fff;
    font-size: 16px;
}
#sp_woman_wrapper.details h2 {
	display: flex;
	align-items: center;
	margin: 15px 0;
}
#sp_woman_wrapper.details h2 .logo{
	padding: 10px 30px 10px 0;
    text-align: center;
}
#sp_woman_wrapper.details h2 .logo img{
	max-width: 170px;
}
#sp_woman_wrapper.details h2 dl {
    padding: 15px 0;
    flex: 1;
}
#sp_woman_wrapper.details h2 dl dt {
    padding-bottom: 3px;
    margin-bottom: 3px;
    border-bottom: 1px solid var(--color01);
}
#sp_woman_wrapper.details h2 dt a{
	font-size: 22px;
	font-weight: bold;
	color: #444;
}
#sp_woman_wrapper.details h2 dd{
	font-size: 16px;
}
#sp_woman_wrapper.details .btn {
	display: flex;
	margin-bottom: 40px;
}
#sp_woman_wrapper.details .btn a {
	display: block;
	padding: 4px 10px;
	text-align: center;
	font-size: var(--min-font-size);
	flex: 1;
	margin-right: 10px;
	max-width: 400px;
	box-sizing: border-box;
}
#sp_woman_wrapper.details .btn a.comBt {
	border: 1px solid #0070E0;
	color: #0070E0;
    background: #fff;
}
#sp_woman_wrapper.details .btn a.comBt:hover {
	background-color: #0070E0;
	color: #fff;
}
#sp_woman_wrapper.details .btn a.voteBt {
	border: 1px solid #EC7D1C;
	color: #EC7D1C;
    background: #fff;
}
#sp_woman_wrapper.details .btn a.voteBt:hover {
	background-color: #EC7D1C;
	color: #fff;
}
#sp_woman_wrapper.details .btn a.recBt {
    border: 1px solid #F5599C;
    color: #F5599C;
}
#sp_woman_wrapper.details .btn a.recBt:hover {
	background-color: #F5599C;
	color: #fff;
}
#sp_woman_wrapper.details .btn a:last-child{
	margin-right: 0;
}

#sp_woman_wrapper.details section h3{
    padding-bottom: 10px;
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 40px;
    border: 2px dashed #ffffff;
    background-color: #f9eee8;
    box-shadow: 0 0 0 6px #f9eee8;
    padding: 10px;
}
#sp_woman_wrapper.details section .woman_cf{
    margin-bottom: 40px;
	display: flex;
	align-items: flex-start;
}
#sp_woman_wrapper.details section .woman_cf img{
    max-width: 320px;
    border-radius: 20px;
	margin-right: 20px;
}
#sp_woman_wrapper.details section .woman_cf p{
	line-height: 1.6;
}
#sp_woman_wrapper.details section .message {
    margin-top: 30px;
    padding: 30px;
    border: 6px double #DEC0A0;
	margin-bottom: 40px;
}
#sp_woman_wrapper.details section .message h4 {
    margin-bottom: 20px;
    padding: 10px 0;
    border-bottom: 2px dotted #522A00;
    font-size: 18px;
    font-weight: bold;
    color: #522A00;
}
#sp_woman_wrapper.details section .message .message-info{
	display: flex;
	align-items: flex-start;
}
#sp_woman_wrapper.details section .message .message-info img{
	margin-right: 20px;
}
#sp_woman_wrapper.details section .message .message-info p{
	line-height: 1.6;
}
#sp_woman_wrapper.details .list_box .text p{
	margin-bottom: 0;
}

.fade-in {
	opacity: 0;
	transform: translateY(70px);
	transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in.show {
	opacity: 1;
	transform: translateY(0);
}
.list_box .status div,
.list_box .status div.off{
	opacity: 0;
	transform: translateX(30px);
	transition: opacity 0.6s ease, transform 0.6s ease;
}
.list_box .status div.show {
	opacity: 1;
	transform: translateX(0);
}
.list_box .status div.off.show {
	opacity: 0.4;
	transform: translateX(0);
}

.hide {
    visibility: hidden;
}


/* sp */
@media screen and (max-width: 768px) {

	/* top */
	#sp_woman_wrapper #sp_woman_top h1 p {
        margin: 16px 16px 60px;
        padding: 10px 20px;
        text-align: justify;
        font-size: 1.3rem;
        line-height: 1.5;
    }
	#sp_woman_wrapper #sp_woman_top .woman_point {
		display: block;
		padding: 40px 10px 10px;
	}
	#sp_woman_wrapper #sp_woman_top .woman_point .point_box {
		width: 100%;
		margin: 0 0 38px;
	}
	#sp_woman_wrapper #sp_woman_top .woman_point .point_box img {
    	top: -28px;
    	right: 20px;
	}
	#sp_woman_wrapper #sp_woman_top ul li {
    	margin-bottom: 60px;
	}
	#sp_woman_wrapper #sp_woman_top ul li:last-child {
    	margin-bottom: 0;
	}
	#sp_woman_wrapper #sp_woman_top ul li h2 {
		margin: 0 10px 20px;
	}
	#sp_woman_wrapper #sp_woman_top ul li h2 img {
    	max-width: 120px;
	}

	/* common */
	.list_box {
		padding: 30px 10px 20px;
	}
	.list_box .point {
		padding: 20px 10px;
		margin-bottom: 20px;
		z-index: 2;
	}
	.list_box .point h4 {
		width: 20%;
		height: auto;
		top: -15px;
		left: 20px;
		line-height: 1;
		padding: 8px 0;
		border-radius: 100svh;
	}
	.list_box .status {
    	justify-content: space-between;
		overflow: hidden;
    }
	.list_box .status div {
    	margin-right: 0;
	}
	.bg-woman {
    	width: 140px;
	}
	#sp_woman_wrapper #sp_woman_top ul li .list_box .text .btn a {
    	width: 100%;
	}

	/* details */
	#sp_woman_wrapper.details h1 {
        padding: 10px;
        line-height: 1;
    }
	#sp_woman_wrapper.details h1 span {
        font-size: 14px;
        padding: 0 0 0 10px;
		line-height: 1.8;
    }
	#sp_woman_wrapper.details h2 {
    	margin: 15px 20px;
	}
	#sp_woman_wrapper.details h2 .logo {
    	padding: 10px 20px 10px 0;
    }
	#sp_woman_wrapper.details h2 .logo img {
    	max-width: 140px;
	}
	#sp_woman_wrapper.details h2 dt a {
    	font-size: 20px;
    }
	#sp_woman_wrapper.details .btn {
    	margin: 0 20px 30px;
	}

	#sp_woman_wrapper.details section h3 {
    	margin-bottom: 30px;
    }
	#sp_woman_wrapper.details section .woman_cf {
    	display: block;
    	padding: 0 20px;
	}
	#sp_woman_wrapper.details section .woman_cf img {
    	float: left;
		max-width: 170px;
	}

	#sp_woman_wrapper.details section .women_cf::after {
		content: "";
		display: block;
		clear: both;
	}

	#sp_woman_wrapper.details .list_box .text p {
    	padding-right: 0;
	}
	
	#sp_woman_wrapper.details section .message {
    	padding: 10px;
    	margin: 30px 10px 10px;
	}
	#sp_woman_wrapper.details section .message h4 {
		font-size: 16px;
	}

	#sp_woman_wrapper.details section .message .message-info {
    	display: block;
    }
	#sp_woman_wrapper.details section .message .message-info img {
    	margin-right: 20px;
		float: left;
	}
	#sp_woman_wrapper.details section .message .message-info::after {
		content: "";
		display: block;
		clear: both;
	}
	#back_btn {
    	text-align: center;
    }

}

/*
bkup
#sp_woman_wrapper #sp_woman_top ul li h2{
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}
#sp_woman_wrapper #sp_woman_top ul li h2 .title {
    flex: 1;
    padding-left: 20px;
    font-size: 16px;
    font-weight: bold;
}
#sp_woman_wrapper #sp_woman_top ul li h2 img {
	max-width: 140px;
}

#sp_woman_wrapper #sp_woman_top ul li .list_box{
	display: flex;
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .point{
	flex-basis: 35%;
	margin-right: 12px;
	text-align: center;
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .point dl{
	background: var(--bg-color);
	border: var(--bg-border-color) 1px solid;
	padding: 10px;
	border-radius: 3px;
	margin-bottom: 6px;
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .point dl img{
	width: 30px;
	padding-bottom: 5px;
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .point dd{
	font-weight: bold;
	color: var(--font-color01);
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .point .status{
	display: flex;
	flex-wrap: wrap;
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .point .status > div{
	width: calc((100% - 12px) / 3);
	background: var(--bg-color);
	border: var(--bg-border-color) 1px solid;
    border-radius: 3px;
	padding: 5px;
	box-sizing: border-box;
	margin-bottom: 6px;
	color: var(--font-color01);
}
#sp_woman_wrapper #sp_woman_top ul li .list_box .point .status > div:nth-child(3n+2) {
  margin: 0 6px 6px;
}

#sp_woman_wrapper #sp_woman_top ul li .list_box .text{
	flex-basis: 65%;
}
*/