


p{
	font-weight: 400;
}

span{
	display: flex;
	align-items: center;
}

.all-contents-wrapper{
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.content-wrap{
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing:border-box;
	width:100%;
	max-width: 750px;
	padding-bottom: 20px;
}

.imagine-play-header img{
	width: 100%;
	margin: 0;
}

.by-genre-wrapper,
.by-situation-wrapper,
.genre-description-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing:border-box;
	width:100%;
	padding: 15px;
	border-bottom: 10px solid #F2F2F2;
}


.by-genre-wrapper h1 {
	font-size: 18px;
	font-weight: bold;
	color: #2a2a2a;
	margin-bottom: 30px;
	height: 12px;
	border-bottom: 10px solid #fbd6f7;
}

.by-situation-wrapper h2{
	font-size: 16px;
	font-weight: bold;
	color: #2a2a2a;
	margin-bottom: 30px;
	height: 17px;
	border-bottom: 8px solid #fbd6f7;
}

.by-situation-wrapper h3,
.genre-description-wrapper h3{
	font-size: 17px;
	font-weight: bold;
	color: #2a2a2a;
	margin: 30px 0 30px 0;
	text-align: left;
}


.genre-description-wrapper h2 {
	font-size: 16px;
	font-weight: bold;
	color: #2a2a2a;
	margin-bottom: 30px;
	height: 17px;
	border-bottom: 8px solid #fbd6f7;
}

.by-genre-wrapper p,
.by-situation-wrapper p
.genre-description-wrapper p {
	font-size: 15px;
	margin: 5px;
	word-break: break-word;
	line-break: strict;
}


.four-girls-image-block {
	display:flex;
	justify-content: center;
	position: relative;
	width:80%;
}

.four-girls-image-block .four-girls-image-box img {
	width: 100%;
	height: auto;
}


.genre-ball-1{
	background-color: #CCFFF5;
	top: 17%;
	left: 3%;
}


.genre-ball-2{
	background-color: #FFCEEE;
	top: 10%;
	left: 80%;
}

.genre-ball-3{
	background-color: #FFE9BA;
	top: 50%;
	left: -2%;
}

.genre-ball-4{
	background-color: #D5C3FF;
	top: 47%;
	left: 83%;
}

[class^="genre-ball"]{
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 20%;
	height: 18%;
	border-radius: 100px;
}

[class^="genre-ball"] span{
	position: absolute;
	display: block;
	width: 100%;
	text-align: center;
	font-size: 9px;
	font-weight: bold;
}
@media screen and (min-width: 585px){
	[class^="genre-ball"] span{
		font-size: 12px;
	}
}

.thirteen-genre-block {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 43px;
	padding:0 20px;
	border-radius: 17px;
	background-color: #EFEFEF;
	margin: 25px 15px;
}

.thirteen-genre-text{
	font-size: 15px;
	font-weight: bold;
}

.telephone-twoshot-link-btn {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	border: 1px solid #707070;
	border-radius: 38px;
	height:50px;
	margin: 30px 10px;
	padding: 0 20px;
	max-width: 80%;
}

.telephone-twoshot-link-btn ::after {
	content:"";
	position: absolute;
	top: calc(50% - 5px);
	right: 10px;
	width: 10px;
	height: 10px;
	border-right: 1px solid #2A2A2A;
	border-bottom: 1px solid #2A2A2A;
	transform: rotate(-45deg);
}

.telephone-twoshot-link-text{
	color: #333333;
	font-size: 15px;
	font-weight: bold;
	margin-right: 15px;
	width: 100%;
}



.by-situation-wrapper img,
.genre-description-wrapper img {
	display:block;
	width: calc(100% + 30px);
	height: auto;
	margin: 15px 0;
}

.pink-phone-box {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: calc(100% - 50px);
	height: 147px;
	border-radius: 50%;
	background-color: #FFF7FB;
	margin: 20px 0;
}

.pink-phone-box ::after{
	content:"";
	position:absolute;
	background:url(../img/phone_love.svg);
	background-size:contain;
	background-repeat: no-repeat;
	top: calc(50% - 50px);
	left: -45px;
	width: 75px;
	height: 100px;
}

.pink-phone-text {
	display:inline-block;
	box-sizing:border-box;
	font-size: 15px;
	color: #333333;
	padding:0 5px 0 15px;
}


.zero-site-wrapper{
	border: none;
	margin: 10px 0 25px;
}

.point-present-box{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 198px;
	height: 76px;
	background-color: #3D3D3D;
	border-radius: 12px;
	margin-bottom: 4px;
}

.point-present-box::after{
	position: absolute;
	content: "";
	background-color: #3D3D3D;
	width: 15px;
	height: 15px;
	transform: rotate(45deg);
	top: 90%;
	left:45%;
	z-index: 1;
}

.point-present-text{
	font-size: 15px;
	font-weight: bold;
	color: #fff;
	margin-top: 5px;
}



.zero-about{
	background: #FFF;
	border-radius: 20px;
	position: relative;
	padding-bottom: 50px;
	box-shadow: 0 3px 6px 0 rgba(0,0,0,0.15);
}

.zero-about img{
	width: 100%;
	border-radius: 20px 20px 0 0;
}

.zero-about-h{
	font-size: 20px;
	margin: 8px 0;
	font-weight: bold;
	padding: 0 30px;
}

.zero-about-text{
	font-size: 15px;
	padding: 0 30px;
}

.zero-link-btn{
	position: absolute;
	width: 160px;
	height: 48px;
	background: #FFF;
	border-radius: 100px;
	border: 1px solid #333;
	color: #333333 !important;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	bottom:-25px;
	left:0;
	right: 0;
	margin:auto;
	font-size: 16px;
	font-weight: bold;
	padding-right: 5px;
}

.zero-link-btn::after {
	content:"";
	position: absolute;
	top: 40%;
	left: 82%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #333333;
	border-bottom: 2px solid #333333;
	transform: rotate(-45deg);
}

.zero-table-container{
	box-sizing:border-box;
	margin-top: 50px;
	background: #FFF;
	box-shadow: 0 3px 6px 0 rgba(0,0,0,0.15);
	padding: 5px 0px 17px;
	border: solid 1px #efefef;
	border-radius: 20px;
	width: 100%;
}

.zero-table-container ul {
	padding: 0 20px;
}

.zero-table01 li{
	border-bottom: 1px solid #ddd;
	padding: 18px 0px;
	display: flex;
	font-size: 14px;
}


.zero-table01 li > span:nth-child(1){
	color: #333;
	font-weight: bold;
	width: 40%;
}


.zero-table01-sitename {
	font-size: 17px;
}


.zero-table02{
	padding: 60px 0;
}

.zero-table-h{
	display: inline-block;
	color: #333;
	font-size: 14px;
	font-weight: bold;
	margin: 20px 0;
}


.zero-table02 li{
	padding-bottom: 20px;
	display: flex;
	font-size:14px;
}

.zero-table02 li > span:nth-child(1){
	position:relative;
	color: #333;
	width: 40%;
	margin-right:40px;
}

.zero-table02 li > span:nth-child(1):after{
	display:block;
	position:absolute;
	content:"";
	width:0;
	height:0;
	top:4px;
	right:-20px;
	border-color:transparent transparent transparent #A5A5A5;
	border-style:solid;
	border-width:5px 8px;
}

.zero-table02 li > span:nth-child(2){
	font-weight: bold;
}

.zero-table02 li:nth-of-type(2) > span:nth-child(1):after,
.zero-table02 li:nth-of-type(3) > span:nth-child(1):after{
	top:15px;
}


.zero-table02-adjust{
	padding-top: 2px;
}


.zero-table03 {
	display: flex;
	align-items: center;
	border-top: 1px solid #ddd;
	margin: 0 20px;
}

.zero-table03 span {
	padding: 20px 0 0;
	margin: 0;
	display: flex;
	font-size: 14px;
}

.zero-table03 span:nth-child(1){
	color: #333;
	font-weight: bold;
	margin-right: 52px;
}



/******以下追加*******/


/**** 吹き出し****/


.dialogue-block-right {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	height: auto;
	padding: 15px;
	margin-left: -1em;
}

.dialogue-block-right img{
	flex-grow: 1;
	float: left;
	width: 75px;
	max-width: 180px;
	height: auto;
	margin: auto;
}

.dialogue-block-right-txt{
	width:7em;
	height: auto;
	font-size:14px;
	background-color: #efefef;
	flex-grow: 2;
	margin-left: 1em;
	padding: 15px 20px;
	border-radius:0.5em;
}


.dialogue-block-left {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	height: auto;
	padding: 15px 0 15px 0;
}

.dialogue-block-left img {
  flex-grow: 1;
  float: right;
  width: 75px;
  max-width: 180px;
  height: auto;
  margin: auto;
  padding: 0 5px;
}

.dialogue-block-left-txt {
  width:7em;
  height: auto;
  font-size:14px;
  background-color: #efefef;
  flex-grow: 2;
  margin: 3px 8px;
  padding: 15px 20px;
  border-radius:0.5em;
}



/**** リストボックス ****/

.presentation-list-box-title {
  background-color: #FF5E95;
  color: #fff;
  margin: -2px -1px 10px -1px;
  font-weight: 700;
  padding: 10px 5px 10px 12px;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}

.presentation-list-box {
  display: block;
  width: 95%;
  height: auto;
  padding-bottom:10px;
  margin-bottom: 20px;
  border: solid 2px #FF5E95;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  border-bottom-left-radius: 5px;
  border-bottom-right-radius: 5px;
}

.presentation-list-box li {
  font-size: 14px;
  padding-left: 15px;
}


/**** サイト紹介記事欄 ****/

.site-introduction-wrapper {
	box-sizing: border-box;
	width: 100%;
	padding: 15px;
	border-bottom: 10px solid #f2f2f2;
}

.site-introduction-wrapper h2{
	position: relative;
	font-size: 16px;
	font-weight: 700;
	color: #2a2a2a;
	margin-bottom: 30px;
	text-align: center;
	padding: 0 15px;	
}


.text-back-color{
	border-bottom: solid #fbd6f7 8px;
	display: inline-block!important;
	height: 18px;
}

.site-introduction-wrapper h3{
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #2a2a2a;
	margin: 50px 0 35px 0;
	height: 17px;
	
}


.site-introduction-wrapper-img {
	display: block;
	width: calc(100% + 30px);
	height: auto;
	margin: 15px -20px 15px -15px;
}


/**** リンク文字 ****/

a:link,
a:hover {
	color: #3CADFF;
	font-weight:700;
}


a:visited,
a:active{
	color: #167cc7;
	font-weight: 700;
}
	

/**** id位置 ****/

.id-position {
	margin-top: -30px !important;
	padding-top: 40px !important;
}



/**** 体験談アコーディオン ****/

.stories-accordion-check{
    display: none;
}

.stories-accordion-label{
    position: relative;
    background: rgba(255,255,255,0.8);
    box-shadow: 1px 3px 3px rgba(212,212,212,0.8);
    color: #333;
    display: block;
    width: 90%;
    padding: 15px;
    margin-top: 15px;
    margin-bottom: 5px;
    border-radius: 6px;
    font-weight: 700;
}

.stories-accordion-label:after{
    position: absolute;
    box-sizing: border-box;
    content: '[open]';
    display: block;
    height: 10px;
    padding: 10px 20px;
    border-top-right-radius: 6px;
    right: 0;
    top: 0px;
    font-weight: 400;
}

.stories-accordion-content{
    border: 2px solid #d4d4d4;
    display: block;
    height: 10px;
    overflow-y: scroll;
    opacity: 0;
    width: 85%;
    padding: 10px 10px;
    margin-bottom: 15px;
    transition: .5s;
    visibility: hidden;
    border-radius: 6px;
}

.stories-accordion-check:checked + .stories-accordion-label:after{
    content: '[close]';
    float: right;
    font-weight: 400;
}


.stories-accordion-check:checked + .stories-accordion-label + .stories-accordion-content{
    width: 89%;
    height: 250px;
    overflow-y: scroll;
    opacity: 1;
    padding: 10px;
    border-radius: 6px;
    visibility: visible;
}


.stories-accordion-content span {
	font-size: 1.075em;
	font-weight: 700;
	padding: 10px 0;
}


/**** まとめ枠 ****/

.by-summary-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing:border-box;
	width:100%;
	padding: 10px 15px 5px 15px;
}

.by-summary-wrapper h2{
	font-size: 16px;
	font-weight: bold;
	color: #2a2a2a;
	margin-bottom: 30px;
	height: 17px;
	border-bottom: 8px solid #fbd6f7;
}


/**** olリスト ****/

.by-situation-wrapper ol{
	display: inline-block;
	margin: -15px 0;
	padding: 5px;
	line-height: 28px;
	align-self: baseline;
}


/**** 文字線 ****/

.genre-example-text {
	display: inline-block;
	border-bottom: solid yellow 3px;
	font-weight: 700;
	height: 23px;
}

/**** 最下部バナー ****/


.site-sip-app-select {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 15px auto 10px;
	text-align: center;
}

.content-link02{
	margin: 0 auto 30px;
}


.content-link02 a {
	display: block;
	width: 280px;
	line-height: 20px;
	padding: 15px 7px;
	border: 2px solid #FF5E95;
	border-radius: 38px;
	font-size: 15px;
	color: #fff;
	font-weight: 700;
	background: #FF5E95;
	text-align: center;
}

.content-link02 a:hover {
	cursor: pointer ;
	color: #f00 ;
}