@charset "utf-8";
/* CSS Document */

.profileBox {
  margin-top: 30px;
}
.profileBox h3 {
	width: calc(100% - 10px);
	margin-bottom: 20px;
	padding: 0 20px;
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 40px;
	background: linear-gradient(135deg,  #2970bc 0%,#1e2e58 100%);
}

.profileBox__photo {
    
}

.profileBox__loop-text {
  padding: 5px 0;
  margin: 0 auto;
  width: 274px;
  height: 36px;
  background: linear-gradient(to right,  #C88D09 0%,#F3D9AA 100%);  
}

.profileBox__loop-text div {
  height: 26px;
  display: flex;
  overflow: hidden;
  background: linear-gradient(to right,  #EAEAEA 0%,#FFFFFF 50%,#EAEAEA 100%); 
}

.profileBox__loop-text div p {
  height: 100%;
  white-space: nowrap;
  font-size: 12px;
  line-height: 26px;
}
.profileBox__schedule {
	padding-top: 70px;
	margin-top: -70px;
}

@media screen and (min-width: 768px) {
	.profileBox h3 {
		margin-bottom: 40px;
		padding: 0 20px;
		color: #fff;
	    font-family: "Noto Serif JP", serif;
		font-size: 20px;
		font-weight: 600;
		line-height: 40px;
		background: linear-gradient(135deg,  #2970bc 0%,#1e2e58 100%);
	}
	.profileBox__loop-text {
	  width: 318px;
	}
	.profileBox__loop-text div p {
	  height: 100%;
	  white-space: nowrap;
	  font-size: 14px;
	  line-height: 26px;
	}
}
@media screen and (min-width: 1000px) {
	.profileBox__schedule {
		margin-top: -110px;
		padding-top: 110px;
	}
}
@media screen and (min-width: 1200px) {
	.profileBox__schedule {
		margin-top: initial;
		padding-top: initial;
	}
}
  
.profileBox__loop-text div p:nth-child(odd) {
  animation: loop 20s -10s linear infinite;
  padding-left: 100px;
}

.profileBox__loop-text div p:nth-child(even) {
  animation: loop2 20s linear infinite;
  padding-left: 100px;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }

  to {
    transform: translateX(-200%);
  }
}

.profileBox__image {
	position: relative;
    margin: 0 auto;
    width: 274px;
	background-image: url(../images/girl_box_bg@2x.png);
	background-size: cover;
	background-repeat: repeat-y;
	background-position: center bottom;
}

.profileBox__image:before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../images/elise_frame_top.png);
	background-size: 100% 100%;
	background-position: center top;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1;
	pointer-events: none;
}

.profileBox__image:after {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../images/elise_frame_bottom.png);
	background-size: 100% 100%;
	background-position: center bottom;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	pointer-events: none;
}

.profileBox__new {
	position: absolute;
	width: 90px;
	height: 84px;
	right: 10px;
	bottom: 5px;
	 z-index: 2;
}

#content .profileBox__new .new_icon {
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
}

.profileBox__category {
	position: absolute;
	width: 72px;
	height: 72px;
	left: 20px;
	bottom: 20px;
	z-index: 2;
}

.profileBox__category .g_icon {
	display: block;
	width: 100%;
	height: 100%;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
}

.profileBox__data {
  padding-top: 15px;
	width: 100%;
	max-height: 477px;
}

.profileBox__kana {
	font-size: 10px;
	font-weight: 400;
	line-height: 16px;
    text-align: center;
}

.profileBox__name {
	font-size: 20px;
	font-weight: 400;
	line-height: 29px;
    text-align: center;
}

.profileBox__size {
	margin-bottom: 5px;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	text-align: center;
}

.profileBox__tag ul {
	margin: 0 -3px 7px -3px;
	width:calc(100% + 6px);
	height: 54px;
	display: flex;
  justify-content: center;
	flex-flow: row wrap;
}

.profileBox__tag ul li {
	display: none;
}

.profileBox__tag ul li.is_active {
	display: block;
	margin: 3px;
	padding: 0 10px;
	height: 22px;
	color: #163369;
	border: 1px solid #163369;
	background-color: #fff;
	font-size: 12px;
	line-height: 22px;
	text-align: center;
	boz-sizing: border-box;
}

.profileBox__detail {
	margin: 0 auto;
	padding: 0 10px;
	height: 100%;
	max-width: 730px;
	min-height: 393px;
}
.profileBox__detail dl {
	margin-bottom: 1px;
	display: flex;
	flex-flow: row wrap;
}
.profileBox__detail dl:last-of-type dt {
	display: none;
	width: 100%;
}
.profileBox__detail dl:last-of-type dd {
	width: 100%;
}

.profileBox__detail dt {
	padding: 0 10px;
	min-height: 42px;
	width: 32%;
	background-image: url(../images/pc_profile_list.png);
	background-size: cover;
	color: #fff;
	font-size: 14px;
	line-height: 42px;
}

.profileBox__detail dd {
	padding: 0 10px;
	min-height: 42px;
	width: 68%;
	background: linear-gradient(rgba(154,231,255,0.3),rgba(64,115,255,0.3));
	font-size: 14px;
	line-height: 42px;
	color: #163369;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.profileBox__detail dl:last-of-type dd {
	padding: 20px 15px 20px 20px;
	/*height: 255px;*/
	height: 500px;
    margin: 20px auto;
	line-height: 20px;
	background: linear-gradient(rgba(154,231,255,0.3),rgba(64,115,255,0.3));
}

@media screen and (min-width: 768px) {
.profileBox__detail dl:last-of-type dd {
    height: 340px;
}
}

.profileBox__detail dl:last-of-type dd > div {
	padding-right: 5px;
	height: 100%;
	min-height: 88px;
	white-space: initial;
    /*overflow-y: scroll;*/
}

.profileBox__detail dl:last-of-type dd > div::-webkit-scrollbar {
	width: 4px;
	background-color: #FFF;
	border-radius: 2px;
}

.profileBox__detail dl:last-of-type dd > div::-webkit-scrollbar-thumb {
	background: #163369;
	width: 4px;
	border-radius: 2px;
}

@media screen and (min-width: 768px) {
	.profileBox__image {
	    width: 318px;
	}
	.profileBox__detail {
		margin-left: 20px;
		padding: initial;
		width: calc(100% - 338px);
		height: 100%;
		max-width: 730px;
		min-height: 393px;
	}
}

.scheduleBox {
	margin-top: 30px;
	padding: 0 10px;
}

.scheduleBox dl {
	margin: 0 auto;
	width: 100%;
	max-width: 730px;
	height: 40px;
	display: flex;
	border-left: 1px solid #95B2C5;
	border-right: 1px solid #95B2C5;
	border-bottom: 1px solid #95B2C5;
}

.scheduleBox dl:first-of-type {
	display: flex;
	border-top: 1px solid #95B2C5;
}

/*.scheduleBox dl:first-of-type dd:last-of-type a {
	display: none;
}*/

.scheduleBox dl dt {
	width: 100%;
	max-width: 220px;
	color: #fff;
	font-size: 14px;
	line-height: 40px;
	text-align: center;
	border-right: 1px solid #95B2C5;
	background-size: cover;
	background-position: left center;
}

.scheduleBox dl:first-of-type dt {
	background-image: url(../images/pc_schedule_01.png);
}

.scheduleBox dl:nth-of-type(2) dt {
	background-image: url(../images/pc_schedule_02.png);
}

.scheduleBox dl:nth-of-type(3) dt {
	background-image: url(../images/pc_schedule_03.png);
}

.scheduleBox dl:nth-of-type(4) dt {
	background-image: url(../images/pc_schedule_04.png);
}

.scheduleBox dl:nth-of-type(5) dt {
	background-image: url(../images/pc_schedule_05.png);
}

.scheduleBox dl:nth-of-type(6) dt {
	background-image: url(../images/pc_schedule_06.png);
}

.scheduleBox dl:nth-of-type(7) dt {
	background-image: url(../images/pc_schedule_07.png);
}

.scheduleBox dl:nth-of-type(8) dt {
	background-image: url(../images/pc_schedule_08.png);
}

.scheduleBox dl dd {
	width: 100%;
	border-right: 1px solid #95B2C5;
	color: #284976;
	font-size: 12px;
	line-height: 38px;
	text-align: center;
}

.scheduleBox dl dd:last-child {
	padding: 4px;
	width: 100%;
	max-width: 220px;
	border-right: none;
}

.scheduleBox dl dd:last-child a {
	display: block;
	width: 100%;
	height: 100%;
	max-width: 220px;
	border-right: none;
	color: #fff;
	font-size: 14px;
	line-height: 30px;
	text-align: center;
	/*background: linear-gradient(135deg,  #003354 0%,#025A95 50%,#003354 100%);*/
	background: linear-gradient(135deg, #008e22 0%,#05db29 50%,#008e22 100%);
}

.scheduleBox dl:last-of-type dd:last-child a {
	display: block;
	padding: 5px;
	width: 100%;
	max-width: 220px;
	border-right: none;
	color: #00B900;
	font-size: 14px;
	line-height: 20px;
	text-align: center;
	border: 1px solid #00B900;
	background: #fff;
}

@media screen and (min-width: 768px) {
	.scheduleBox {
		margin-top: 40px;
		padding: initial;
	}
	.scheduleBox dl {
		margin: 0 auto;
		width: 100%;
		height: 40px;
	}
	.scheduleBox dl dt {
		font-size: 18px;
		line-height: 38px;
	}
	.scheduleBox dl dd {
		font-size: 18px;
		line-height: 38px;
	}
}


.alertBox {
	margin: 20px auto 0;
	padding: 0 10px;
	width: 100%;
	max-width: 730px;
}

.alertBox > dl {
	margin-bottom: 40px;
}

.alertBox > dl > dt {
	position: relative;
	color: #fff;
	font-size: 18px;
	line-height: 50px;
	text-align: center;
	background: linear-gradient(135deg, #005454 0%,#029095 50%,#005858 68%,#005454 100%);
}

.alertBox > dl > dt:after {
	content: "";
	position: absolute;
	margin: auto;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
	left: 0px;
	right: -280px;
	top: -5px;
	bottom: 0;
	transition: all 0.4s ease-in-out;
}

.alertBox > dl > dt.active:after {
	content: "";
	position: absolute;
	margin: auto;
	width: 8px;
	height: 8px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(-135deg);
	left: 0px;
	right: -280px;
	top: 0;
	bottom: 0px;
	transition: all 0.4s ease-in-out;
}

.alertBox > dl > dd {
	margin: 0 auto;
	width: 100%;
	max-width: 570px;
}

.alert_in {
	padding: 30px 0;
}

#mlmag_regist {
	margin-bottom: 40px;
}

#mlmag_regist h4 {
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 26px;
}

#mlmag_regist button {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 248px;
	height: 54px;
	color: #fff;
	font-size: 18px;
	line-height: 50px;
	text-align: center;
	background: linear-gradient(to right,  #003354 0%,#025A95 50%,#003354 100%);
	border: 2px solid #fff;
	box-sizing: border-box;
	filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.13));
}

#attend_alert {
	margin-bottom: 20px;
	width: 100%;
}

#attend_alert dl {
	width: 100%;
}

#attend_alert dt {
	margin-bottom: 5px;
	width: 100%;
	font-size: 16px;
	line-height: 24px;
}

#attend_alert dd {
	margin-bottom: 5px;
}

#attend_alert dd input[type=text] {
	padding: 10px;
	width: 100%;
	font-size: 16px;
	line-height: 24px;
	background-color: #fff;
	border: 1px solid #939393;
	border-radius: 5px;
}

#mlmag_delete {
	
}

#mlmag_delete h4 {
	margin-bottom: 10px;
	font-size: 18px;
	line-height: 26px;
}

#mlmag_delete button {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 248px;
	height: 54px;
	color: #fff;
	font-size: 18px;
	line-height: 50px;
	text-align: center;
	background: #000;
	border: 2px solid #fff;
	box-sizing: border-box;
	filter: drop-shadow(0px 3px 6px rgba(0,0,0,0.13));
}

#delete_alert {
	margin-bottom: 20px;
	width: 100%;
}

#delete_alert dl {
	width: 100%;
}

#delete_alert dt {
	margin-bottom: 5px;
	width: 100%;
	font-size: 16px;
	line-height: 24px;
}

#delete_alert dd input[type=text] {
	padding: 10px;
	width: 100%;
	font-size: 16px;
	line-height: 24px;
	background-color: #fff;
	border: 1px solid #939393;
	border-radius: 5px;
}

@media screen and (min-width: 768px) {
	.alertBox {
		padding: initial;
	}
	.alertBox > dl > dt:after {
		top: 0;
	}
	.alertBox > dl > dt.active:after {
		top: 5px;
	}
}

.profileBox__friends {
	padding: 0 5px;
}

#girl_inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -webkit-justify-content: flex-start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.g_icon {
    position: absolute;
    width: 28px;
    height: 28px;
    left: 10px;
    bottom: 5px;
    z-index: 1;
    text-align: center;
}

.new_icon {
	position: absolute;
	text-align: center;
	bottom: 0;
	right: 4px;
	width: 36px;
	height: 34px;
	z-index: 1;
}

#content .new_icon {
	position: absolute;
	text-align: center;
	bottom: 0;
	right: 5px;
	width: 48px;
	height: 45px;
	z-index: 1;
}

@media screen and (min-width: 768px) {
	.profileBox__friends {
		padding: initial;
	}
	.g_icon {
	    width: 38px;
	    height: 38px;
	    left: 10px;
	    bottom: 5px;
	}
	#content .new_icon {
		position: absolute;
		text-align: center;
		bottom: 0;
		right: 5px;
		width: 58px;
		height: 54px;
		z-index: 1;
	}
}

.girl_box {
    width: calc(100%/3);
    margin-bottom: 20px;
}

.girl_box .g_photo {
    text-align: center;
    position: relative;
}

.girl_box .g_photo > img {
    width: 100%;
    height: 70vw;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 0;
    object-position: 50% 0;
}


.girl_box .g_photo .new_icon {
    width: 50px;
    height: auto;
}

.girl_box .g_photo .new_icon img {
    height: auto;
}

.girl_box p {
    text-align: center;
}

.girl_box .g_sales {
    display: none;
}

.girl_box .g_name {
    font-size: 11px;
    font-weight: 500;
}

.girl_box .g_size,
.girl_box .g_time {
    font-family: initial;
    font-size: 10px;
}

.g_time {
    text-align: center;
    margin: 5px 0 0;
}

.g_time p {
    padding: 2px 5px;
    margin: 0 4px;
}

.g_time p span {
    display: block;
    font-size: 10px;
    white-space: nowrap;
    overflow: hidden;
    margin: 0 -7px;
}

@media screen and (min-width: 768px) {
    #girl {
      padding: 0 15px;
    }
    .girl_box {
        width: calc(100% / 3);
        margin: 0 0 0 0;
    }

    .girl_box .g_photo > img {
        height: auto;
        max-height: 350px;
    }
	#girl_tab li {
		width: 200px;
	}
	#girl_tab li:first-of-type {
		display: block;
		margin: 0 auto 10px auto;
	}
}
@media screen and (min-width: 1200px) {
    .girl_box {
        width: calc(100% / 6);
        margin: 0 0 0 0;
    }
}

.castlink {
	margin: 40px auto 0;
	width: 100%;
	max-width: 200px;
	height: 40px;
}

.castlink a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: #fff;
	color: #163369;
	border: 1px solid #163369;
	transition: all 0.4s ease-in-out;
}

.castlink a:hover {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background-color: #163369;
	color: #fff;
	border: 1px solid #fff;
	opacity: 1;
	transition: all 0.2s ease-in-out;
}

.girl_box .g_size span {
  display: none;
}

@media screen and (min-width: 768px) {
  .girl_box .g_size span {
    display: inline;
  }
}

.profileBox__detail.pc-block {
  display: none;
}

@media screen and (min-width: 768px) {
  .profileBox__detail.pc-block {
    display: block;
  }
  .profileBox__detail.sp-block {
    display: none;
  }
}

.profileBox__head {
  display: flex;
  flex-direction: column;
  align-items: center;
}

@media screen and (min-width: 768px) {
  .profileBox__head {
    display: flex;
    flex-direction: initial;
    align-items: initial;
  }
}

.c-profileOption {
	padding: 0 10px;
	width: 100%;
}

.c-profileOption__inner {
	display: flex;
	flex-flow: row wrap;
	margin-bottom: 40px;
}

.c-profileOption dl {
	margin: 0 10px 0 0;
	display: flex;
	width: 100%;
	border: 1px solid #95B2C5;
	color: #284976;
	font-size: 16px;
	line-height: 30px;
}

.c-profileOption dl:nth-child(n+2) {
	border-top: none;
}

.c-profileOption dl dt {
	padding: 0 10px;
	width: calc(100% - 30px);
}

.c-profileOption dl dd {
	width: 30px;
	height: 30px;
	border-left: 1px solid #95B2C5;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

@media screen and (min-width: 768px) {
	.c-profileOption {
		padding: initial;
	}
	.c-profileOption dl {
		width: calc((100% - 20px)/3);
		font-size: 16px;
		line-height: 30px;
	}
	.c-profileOption dl:nth-child(n+2) {
	border: 1px solid #95B2C5;
	}
	.c-profileOption dl:nth-child(3n) {
		margin: 0 0 0 0;
	}
	
	.c-profileOption dl:nth-child(n+4) {
		margin-top: 10px;
	}
}

@media screen and (min-width: 1000px) {
	.c-profileOption dl {
		font-size: 18px;
		line-height: 40px;
	}
	.c-profileOption dl dt {
		width: calc(100% - 40px);
	}
	.c-profileOption dl dd {
		width: 40px;
		height: 40px;
	}
}