@charset "utf-8";
/*================================================
 *  CSSリセット
 ================================================*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none;}table{border-collapse:collapse;border-spacing:0;}img{vertical-align:bottom;}input[type="text"]{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;border:none;}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;box-shadow:none;border:none;cursor:pointer;background:none;padding:0;}h1,h2,h3,h4,h5,h6{font:inherit;}
/*================================================
 *  一般・共通設定
 ================================================*/
:root {
	--white:#FFF;
	--black:#111;
	--skyblue:#ABB2FF;
	--purple:#7E77B6;
	--lightgray:#7D869E;
	--sicklygray:#CCC;
	--pink:#F88094;
	--background:#F7F9F9;
	--background_SP:#E5E7EC;
	--scrollbar:#C0C2C7;
	--border:#E5E7EC;
	--lightblack:#222B45;
	--spec:#888;
}
html {
	font-size:62.5%;
}
body {
	font-size:1.2rem;
	line-height:1;
	font-weight:400;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	-moz-text-size-adjust:100%;
	text-size-adjust:100%;
	font-family:"メイリオ","ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "游明朝体", "Yu Mincho", YuMincho, "MS P明朝", "MS PMincho", serif;
}
*, *:before, *:after {
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    -o-box-sizing:border-box;
    -ms-box-sizing:border-box;
    box-sizing:border-box;
}
.mplus1p {
	font-family:"M PLUS 1 Code", monospace;
	font-optical-sizing:auto;
	font-weight:<weight>;
	font-style:normal;
}
.BIZUDPGothic {
	font-family:"BIZ UDPGothic", monospace;
	font-optical-sizing:auto;
	font-weight:<weight>;
	font-style:normal;
}
a {
	text-decoration:none;
	transition:all ease-in-out 0.5s;
}
#wrapper {
	position:relative;
	margin:0 auto;
}
.inner {
	position:relative;
	width:min(100%, 1080px);
	margin-inline:auto;
}
@media screen and (max-width:640px) {
}
/*================================================
 *  ヘッダー
 ================================================*/
header {
	position:fixed;
	top:0;
	background:var(--white);
	width:100%;
	overflow:hidden;
	z-index:100;
}
header .inner {
	display:flex;
	justify-content:space-between;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	height:72px;
	padding:0 30px;
}
header .inner h1 img {
	width:auto;
	height:100%;
	line-height:0;
}
header .inner .btn a {
	display:block;
	background:var(--skyblue);
	height:40px;
	font-size:16px;
	color:var(--white);
	line-height:40px;
	padding:0 50px;
	font-weight:400;
	border-radius:50px;
}
header .inner .btn a:hover {
	opacity:0.7;
}
@media screen and (max-width:640px) {
header {
	position:static;
	display:none;
}
}
/*================================================
 *  メイン
 ================================================*/
main {
	background:var(--background);
}
main .inner {
	display:flex;
	-webkit-box-flex:1;
	flex-direction:row;
	width:1040px;
	margin:72px auto 32px;
}
main .inner article {
	flex:auto;
	-webkit-box-flex:1;
	min-height:0;
	overflow-x:hidden;
	padding-bottom:80px;
}
main .inner article .head {
	position:relative;
	display:flex;
	justify-content:flex-start;
	align-items:center;
	background:var(--white);
	width:calc(100% - 2px);
	height:48px;
	padding:16px;
	margin:16px 2px;
	border-radius:24px;
	box-shadow:0 0 2px rgba(0, 0, 0, .16);
}
main .inner article .head i img {
	width:20px;
	height:20px;
	line-height:0;
}
main .inner article .head p.name {
	font-size:14px;
	line-height:1;
	font-weight:400;
	margin-left:10px;
}
@media screen and (max-width:640px) {
main {
	background:var(--background_SP);
}
main .inner {
	display:flex;
	-webkit-box-flex:1;
	flex-direction:column;
	width:100%;
	padding-bottom:4px;
	margin:0 auto;
}
main .inner article {
	padding-bottom:0;
}
main .inner article .head {
	position:fixed;
	top:0;
	display:flex;
	-webkit-box-pack:justify;
	-webkit-box-align:center;
	align-items:center;
	/*background:none;*/
	width:100%;
	height:48px;
	padding:16px;
	margin:0;
	border-radius:0;
	box-shadow:none;
	z-index:10;
}
}
/*			*/
main .inner article .VueCarousel-wrapper {
	position:relative;
	width:100%;
	overflow:hidden;
}
main .inner article .VueCarousel-wrapper img {
	width:100%;
	max-width:640px;
	line-height:0;
	border-radius:24px;
}
main .inner article .user-info {
	background:var(--white);
	border-radius:24px;
	margin-top:24px;
}
main .inner article .user-info .profile {
	display:flex;
	justify-content:space-between;
	align-items:flex-end;
	-webkit-box-pack:justify;
	padding:24px;
}
.user-info .profile .avatar-wrap {
	position:relative;
	width:80px;
	margin-right:10px;
}
.user-info .profile .avatar-wrap img {
	width:80px;
	height:80px;
	line-height:0;
	object-fit:cover;
	border:solid 4px var(--pink);
	border-radius:50%;
}
.user-info .profile .outline {
	display:flex;
	flex-direction:column;
	row-gap:30px;
	-webkit-box-flex:1;
	flex:1;
}
.user-info .profile .outline p.name {
	font-size:20px;
	font-weight:500;
}
.user-info .profile .outline ul.spec-list {
	display:flex;
	justify-content:flex-start;
	align-items:center;
	column-gap:8px;
}
.user-info .profile .outline ul.spec-list li {
	font-size:12px;
	font-weight:400;
	margin-bottom:10px;
}
.user-info .btn-wrap {
	display:flex;
	-webkit-box-align:center;
	align-items:center;
	column-gap:12px;
	-webkit-box-flex:1;
	flex:1;
	margin:0 24px;
}
.user-info .btn-wrap button.flex-full {
	-webkit-box-flex:1;
	flex:1;
}
.user-info .btn-wrap button.flex-full a.accent {
	display:block;
	background:-webkit-gradient(linear, right top, left top, from(#ff5f66), to(#ee8375));
	background:linear-gradient(270deg, #ff5f66, #ee8375);
	width:100%;
	height:48px;
	font-size:12px;
	line-height:48px;
	color:var(--white);
	font-weight:700;
	border-radius:12px;
}
.user-info .btn-wrap button.flex-full a.light {
	display:block;
	background:#e5e7ec;
	width:100%;
	height:48px;
	font-size:12px;
	line-height:48px;
	color:#333;
	font-weight:700;
	border-radius:12px;
}
.user-info .btn-wrap button.flex-full a:hover {
	opacity:0.7;
}
.user-info .data-wrap {
	padding:24px;
}
.user-info .data-wrap ul.data-list {
	display:flex;
	padding:14px 0;
	border-top:solid 1px var(--sicklygray);
	border-bottom:solid 1px var(--sicklygray);
}
.user-info .data-wrap ul.data-list li {
	display:flex;
	-webkit-box-flex:1;
	flex:1;
	flex-direction:column;
	-webkit-box-align:center;
	align-items:center;
}
.user-info .data-wrap ul.data-list li span {
	font-size:20px;
	color:var(--black);
	line-height:1.2;
	font-weight:700;
}
.user-info .data-wrap ul.data-list li label {
	font-size:11px;
	color:var(--lightgray);
}
@media screen and (max-width:640px) {
main .inner article .VueCarousel-wrapper {
	margin-top:48px;
}
main .inner article .VueCarousel-wrapper img {
	border-radius:0 0 32px 32px;
}
main .inner article .user-info {
	margin-top:4px;
}
}
/*		投稿一覧	*/
main .inner article .post-section {
	background:var(--white);
	border-radius:24px;
	padding:24px;
	margin-top:24px;
}
.post-section h3.section-heading {
	display:flex;
	justify-content:space-between;
	-webkit-box-align:center;
	align-items:center;
	margin:0 0 14px;
}
.post-section h3.section-heading .title {
	font-size:18px;
	color:var(--lightblack);
	font-weight:700;
}
.post-section h3.section-heading .post-count {
	display:flex;
	-webkit-box-align:center;
	align-items:center;
}
.post-section h3.section-heading .post-count .post-movie {
	font-size:14px;
	color:var(--lightblack);
	font-weight:700;
}
.post-section h3.section-heading .post-count .post-movie i {
	display:inline-block;
	width:16px;
	margin-right:8px;
}
.post-section h3.section-heading .post-count .post-movie i img {
	width:100%;
	line-height:0;
}
.post-section h3.section-heading .post-count .post-picture {
	font-size:14px;
	color:var(--lightblack);
	font-weight:700;
	margin-left:32px;
}
.post-section h3.section-heading .post-count .post-picture i {
	display:inline-block;
	width:16px;
	margin-right:8px;
}
.post-section h3.section-heading .post-count .post-picture i img {
	width:100%;
	line-height:0;
}
.post-section .thumbnail-box {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	grid-gap:8px;
	border-radius:8px;
}
.post-section .thumbnail-box div {
	position:relative;
	border-radius:8px;
	-webkit-box-shadow:0 3px 6px rgba(0, 0, 0, 0.16);
	box-shadow:0 3px 6px rgba(0, 0, 0, 0.16);
}
.post-section .thumbnail-box div::before {
	content:"";
	display:block;
	padding-top:100%;
}
.post-section .thumbnail-box .square {
	grid-column:1 / 3;
	grid-row:1 / 3;
}
.post-section .thumbnail-box .square .post-item {
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:100%;
	height:100%;
}
.post-section .thumbnail-box div.square .post-item::before {
	content:"";
	display:none;
	padding-top:0;
}
.post-section .thumbnail-box .square .post-item img {
	width:100%;
	height:100%;
	line-height:0;
	object-fit:cover;
	border-radius:8px;
}
.post-section .thumbnail-box .min .post-item {
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:100%;
	height:100%;
}
.post-section .thumbnail-box div.min .post-item::before {
	content:"";
	display:none;
	padding-top:0;
}
.post-section .thumbnail-box .min .post-item img {
	width:100%;
	height:100%;
	line-height:0;
	object-fit:cover;
	border-radius:8px;
}
.post-section .more-wrap {
	text-align:center;
	margin-top:16px;
}
.post-section .more-wrap a.more {
	position:relative;
	display:inline-block;
	background:var(--lightblack);
	font-size:10px;
	line-height:1;
	color:var(--white);
	font-weight:700;
	padding:13px 36px;
	border-radius:32px;
}
.post-section .more-wrap a.more::before, .post-section .more-wrap a.more::after {
	position:absolute;
	content:"";
	top:calc(50% - 1px);
	right:12%;
	display:inline-block;
	background:var(--white);
	width:8px;
	height:2px;
	border-radius:9999px;
	transform-origin:calc(100% - 1px) 50%;
}
.post-section .more-wrap a.more::before {
	transform:rotate(45deg);
}
.post-section .more-wrap a.more::after {
	transform:rotate(-45deg);
}
.post-section .more-wrap a:hover {
	opacity:0.7;
}
@media screen and (max-width:640px) {
main .inner article .post-section {
	margin-top:4px;
}
}
/*		自己紹介	*/
main .inner article .self-introduction {
	position:relative;
	background:var(--white);
	border-radius:24px;
	padding:24px 24px 70px;
	margin-top:24px;
}
.self-introduction .readmore-content {
	position:relative;
	height:0;
	overflow:hidden;
	transition:all .4s;
}
.self-introduction .readmore-content::before {
	position:absolute;
	content:"";
	bottom:0;
	left:0;
	display:block;
	background:linear-gradient(rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #FFF 100%);
	width:100%;
	height:75px;
	transition:all .4s;
}
.self-introduction .readmore-content.is_open::before {
	display:none;
}
.self-introduction .btn button.more_btn {
	position:absolute;
	bottom:24px;
	left:50%;
	display:table;
	background:var(--lightblack);
	font-size:10px;
	line-height:1;
	color:var(--white);
	text-align:center;
	padding:13px 36px;
	font-weight:700;
	transition:all .4s;
	z-index:1;
	border-radius:32px;
	transform:translateX(-50%);
}
.self-introduction h3.section-heading {
	font-size:18px;
	color:var(--lightblack);
	font-weight:700;
	padding-bottom:8px;
}
.self-introduction p.outline {
	font-size:14px;
	line-height:24px;
	font-weight:400;
	margin:8px 0 24px;
	white-space:pre-line;
}
.self-introduction dl.spec {
	display:flex;
	padding:8px 16px;
	margin-bottom:0;
	border-top:solid 1px var(--border);
}
.self-introduction dl.spec:last-child {
	border-bottom:solid 1px var(--border);
}
.self-introduction dl.spec dt {
	width:120px;
	font-size:10px;
	color:var(--spec);
}
.self-introduction dl.spec dd {
	-webkit-box-flex:1;
	flex:1;
	font-size:12px;
	text-align:right;
	font-weight:600;
	margin-bottom:0;
}
@media screen and (max-width:640px) {
main .inner article .self-introduction {
	margin-top:4px;
}
}
/*		お相手条件	*/
main .inner article .conditions {
	background:var(--white);
	border-radius:24px;
	padding:24px;
	margin-top:24px;
}
.conditions h3.conditions-heading {
	font-size:18px;
	color:var(--lightblack);
	font-weight:700;
	padding-bottom:8px;
}
.conditions p.outline {
	font-size:14px;
	line-height:24px;
	font-weight:400;
	margin:8px 0 24px;
	white-space:pre-line;
}
.conditions p.desiredage {
	font-size:15px;
	color:var(--spec);
	line-height:24px;
	text-align:center;
	font-weight:400;
	margin:8px 0 24px;
	white-space:pre-line;
}
.conditions .btn-wrap {
	display:flex;
	-webkit-box-align:center;
	align-items:center;
	column-gap:12px;
	-webkit-box-flex:1;
	flex:1;
	margin:0 30%;
}
.conditions .btn-wrap button.flex-full {
	-webkit-box-flex:1;
	flex:1;
}
.conditions .btn-wrap button.flex-full a.light {
	display:block;
	background:#e5e7ec;
	width:100%;
	height:48px;
	font-size:12px;
	line-height:48px;
	color:#333;
	font-weight:700;
	border-radius:12px;
}
.conditions .btn-wrap button.flex-full a:hover {
	opacity:0.7;
}

@media screen and (max-width:640px) {
main .inner article .conditions {
	margin-top:4px;
}
.conditions .btn-wrap {
	margin:0 20%;
}
}
/*================================================
 *  サイド
 ================================================*/
main .inner aside {
	flex:0 0 370px;
	display:block;
	max-width:370px;
	min-width:370px;
	width:370px;
	overflow:auto;
	margin-top:16px;
	margin-left:30px;
}
main .inner aside .favorite {
	background:var(--white);
	padding:24px;
	border-radius:24px;
}
aside .favorite h2.title {
	font-size:12px;
	color:var(--lightgray);
	font-weight:700;
	margin-bottom:24px;
}
aside .favorite ul.favorite-list {
	max-height:558px;
	overflow-y:scroll;
}
aside .favorite ul.favorite-list li {
	position:relative;
	width:100%;
	padding:20px;
	margin:0 0 16px;
	border:solid 1px var(--border);
	border-radius:16px;
}
aside .favorite .item {
	display:flex;
	align-items:center;
}
aside .favorite .item .item-img {
	width:80px;
	height:80px;
	line-height:0;
}
aside .favorite .item .item-img img {
	width:80px;
	height:80px;
	line-height:0;
	object-fit:cover;
	border:solid 4px var(--pink);
	border-radius:50%;
}
aside .favorite .item .item-txt {
	width:180px;
	margin-left:16px;
}
aside .favorite .item .item-txt p.name {
	font-size:16px;
	font-weight:600;
}
aside .favorite .item .item-txt p.name span {
	display:inline-block;
	font-size:80%;
	font-weight:100;
	margin-left:4px;
}
aside .favorite .item ul.tag-list {
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:4px;
	margin-top:4px;
}
aside .favorite .item ul.tag-list li {
	background:var(--purple);
	width:100%;
	font-size:10px;
	color:var(--white);
	text-align:center;
	line-height:1;
	font-weight:500;
	padding:4px 0;
	margin:0;
	border:none;
}
aside .favorite ul.favorite-list li button {
	width:100%;
	margin-top:12px;
}
aside .favorite ul.favorite-list li a {
	display:block;
	background:var(--pink);
	height:32px;
	font-size:18px;
	line-height:32px;
	color:var(--white);
	text-align:center;
	border-radius:50px;
}
aside .favorite ul.favorite-list li a:hover {
	opacity:0.7;
}
@media screen and (max-width:640px) {
main .inner aside {
	position:static;
	display:none;
}
}
/*================================================
 *  フッター
 ================================================*/

ul.f-nav {
	display:flex;
	justify-content:center;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
}
ul.f-nav li {
	margin-left:36px;
}
ul.f-nav li a {
	color:var(--lightblack);
	font-weight:500;
}

p.copy {
	font-size:12px;
	text-align:center;
	margin:8px 0 10px;
}


@media screen and (max-width:640px) {
footer {
}

ul.f-nav li {
	width:100%;
	padding-left:5%;
	margin-left:0;
	margin-top:20px;
}
p.copy {
	margin:20px 0 10px;
}

}








