@charset "utf-8";

/* ------------------------------------------------------------------
	Structure styles
-------------------------------------------------------------------*/
.page_head {
	background: #EF9090;
	padding: 2% 5%;
	text-align: center;
	color: #FFF;
}
.page_head_title {
	font-size: 1.3em;
}
.page_head_title_sub {
	border-top: 1px solid #FFF;
	padding-top: 2%;
	font-size: 0.6em;
}

.rounded_box {
	background: #FFF3F3;
	border: 2px solid #EF9090;
	border-radius: 20px;
	overflow: hidden;
}
.rounded_box_head {
	background: #EF9090;
	padding: 2% 0;
	text-align: center;
	color: #FFF;
}
.rounded_box_body {
	padding: 4%;
}

/* ------------------------------------------------------------------
	Parts styles
-------------------------------------------------------------------*/
/*-------------------------------*/
/*	heading
/*-------------------------------*/
.heading_aishou {
	margin-bottom: 5%;
	text-align: center;
}
.heading_aishou_title {
	font-size: 1.3em;
	line-height: 1.3;
}
.heading_aishou_title_sub {
	font-size: 0.75em;
}

.head_parts {
	display: flex;
	align-items: center;
	margin-bottom: 2%;
}
.head_parts_title {
	font-size: 1.3em;
}
.head_parts_icon img {
	width: 1em;
	vertical-align: middle;
}
.head_parts_title_sub {
	margin-left: auto;
	font-size: 0.6em;
}
.head_caption {
	margin-bottom: 2%;
	font-size: 0.75em;
}

/*-------------------------------*/
/*	ボタン
/*-------------------------------*/
.aishou_button_wrap {
	text-align: center;
	padding: 5% 0;
}
.aishou_button {
	width: 70%;
	font-weight: bold;
}
.aishou_button a {
	display: block;
	color: inherit;
	text-decoration: none;
}

/* 青ボタン */
.aishou_button_01 {
	display: inline-block;
	vertical-align: top;
	text-align: center;
}
.aishou_button_01 a {
	background: #2B6B9F;
	border-radius: 100vh;
	padding: 4% 0;
	color: #FFF;
}

/* ピンクボタン */
.aishou_button_02 {
	display: inline-block;
	text-align: center;
}
.aishou_button_02 a {
	background: #FFF;
	border: 1px solid #EF9090;
	border-radius: 100vh;
	padding: 2% 0;
	color: #EF9090;
}

/* 青白ボタン */
.aishou_button_03 {
	display: inline-block;
	text-align: center;
}
.aishou_button_03 a {
	background: #FFF;
	border: 1px solid #2B6B9F;
	border-radius: 100vh;
	padding: 2% 0;
	color: #2B6B9F;
}

/*-------------------------------*/
/*	ページ内アンカー
/*-------------------------------*/
.aishou_nav {
	background: #F3F3F3;
	padding: 2% 4%;
}
.aishou_nav_list {
	display: flex;
	flex-wrap: wrap;
}
.aishou_nav_item {
	margin: 0 1% 1% 0;
	width: calc( ( 100% - 3% ) / 4 );
	text-align: center;
}
.aishou_nav_item:nth-child(4n) {
	margin-right: 0;
}
.aishou_nav_item a {
	background: #FFF;
	border-radius: 10px;
	display: flex;
	align-items: center;
	text-decoration: none;
	padding: 8% 5%;
	color: inherit;
}
.aishou_nav_icon {
	width: 28%;
}
.aishou_nav_title {
	flex: 1;
	text-align: center;
	font-size: 0.6em;
	font-weight: bold;
	line-height: 1.3;
}

/*-------------------------------*/
/*	悩み別導線
/*-------------------------------*/
.aishou_guide_list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.aishou_guide_item {
	background: #E3E3E3;
	border: 2px solid #848484;
	border-radius: 10px;
	padding: 2%;
	width: calc( ( 100% - 10px ) / 2 );
}
.aishou_guide_item:nth-child(2n) {
	margin-right: 0;
}
.aishou_guide_item a {
	display: block;
	text-decoration: none;
}
.aishou_guide_head {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}
.aishou_guide_title_sub {
	margin-right: 3%;
	font-size: 0.6em;
	font-weight: bold;
}
.aishou_guide_title {
	font-size: 1.3em;
}
.aishou_guide_text {
	margin-top: 3%;
	font-size: 0.6em;
	color: #929292;
}

/* アクティブな時 */
.aishou_guide_item.renai.active {
	background: #FFF3FA;
	border: 2px solid #FC6BA2;
}
.aishou_guide_item.kekkon.active {
	background: #FFFEF3;
	border: 2px solid #EFDC90;
}
.aishou_guide_item.karada.active {
	background: #FBF3FF;
	border: 2px solid #852B9F;
}
.aishou_guide_item.kihon.active {
	background: #F3FFFC;
	border: 2px solid #459F9C;
}
.aishou_guide_item.renai.active .aishou_guide_head {
	color: #FC6BA2;
}
.aishou_guide_item.kekkon.active .aishou_guide_head {
	color: #FFB758;
}
.aishou_guide_item.karada.active .aishou_guide_head {
	color: #852B9F;
}
.aishou_guide_item.kihon.active .aishou_guide_head {
	color: #459F9C;
}
.aishou_guide_item.active .aishou_guide_text {
	color: #333;
}

/* 231204_追加 */
.aishou_panel {
	border: 2px solid #EF9090;
	border-radius: 10px;
	margin: 2%;
	overflow: hidden;
}
.aishou_panel.uranai_aishou_kekkon {
	border: 2px solid #EFDC90;
}
.aishou_panel.uranai_aishou_karada {
	border: 2px solid #D690EF;
}
.aishou_panel.uranai_aishou_kihon {
	border: 2px solid #90EFCC;
}
.aishou_panel_head {
	background: #FFF3F3;
	padding: 1% 3% 2% 3%;
	margin-bottom: 3%;
}
.aishou_panel.uranai_aishou_kekkon .aishou_panel_head {
	background: #FFFEF3;
}
.aishou_panel.uranai_aishou_karada .aishou_panel_head {
	background: #FBF3FF;
}
.aishou_panel.uranai_aishou_kihon .aishou_panel_head {
	background: #F3FFFC;
}
.aishou_panel_title {
	text-align: center;
	font-size: 1.1em;
	color: #EF9090;
}
.aishou_panel.uranai_aishou_kekkon .aishou_panel_title {
	color: #FFB758;
}
.aishou_panel.uranai_aishou_karada .aishou_panel_title {
	color: #852B9F;
}
.aishou_panel.uranai_aishou_kihon .aishou_panel_title {
	color: #459F9C;
}
.aishou_panel_title strong {
	font-size: 1.3em;
}
.aishou_panel_text {
	font-size: 0.75em;
}
.aishou_panel .menu_list {
	margin: 0 3% 3% 3%;
}

/* もっと見る_240425追加 */
.block_aishou_guide {
	height: 13em;
	overflow-y: hidden;
	position: relative;
}
.block_aishou_guide.open {
	height: 100%;
}
.aishou_guide_more {
	text-align: center;
	padding: 3% 0 0 0;
	cursor: pointer;
	background: -webkit-linear-gradient(top,rgba(255,255,255,0) 0,rgba(255,255,255,1) 100%);
	background: linear-gradient(to bottom,rgba255,255,255,0) 0,rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#FFFFFFFF', endColorstr='#FFF0F0F0', GradientType=0 );
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 11;
}
.block_aishou_guide.open .aishou_guide_more {
	background: none;
	position: static;
}
.aishou_guide_more_btn {
	background: #FFF;
	border: 1px solid #EF9090;
	border-radius: 100vh;
	padding: 1% 5%;
	display: inline-block;
	color: #EF9090;
	font-size: 0.8em;
	font-weight: bold;
	-webkit-transition: .3s;
	transition: .3s;
}
.aishou_guide_more_btn::before {
	content: "もっと見る ▼";
}
.aishou_guide_more_btn.close::before {
	content: "とじる ▲";
}

/*-------------------------------*/
/*	12星座相性占い
/*-------------------------------*/
.aishou_holoscope {
	background: #E5F3FF;
}
.aishou_holoscope .head_parts:before,
.aishou_holoscope .head_parts:after {
	background: #589DD5;
}
.aishou_holoscope .head_parts_wrap:before,
.aishou_holoscope .head_parts_wrap:after {
	background: #589DD5;
}
.aishou_holoscope .head_parts_icon {
	background: #589DD5;
}

.aishou_holoscope_list {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 3%;
}
.aishou_holoscope_item {
	background: #FFF;
	border: 1px solid #2B6B9F;
	border-radius: 30px;
	margin: 0 3% 3% 0;
	padding: 0 3% 3% 3%;
	width: calc( ( 100% - 6% ) / 3 );
}
.aishou_holoscope_item:nth-child(3n) {
	margin-right: 0;
}
.aishou_holoscope_item a {
	text-decoration: none;
	color: inherit;
}
.aishou_holoscope_thm {
	width: 50%;
	margin: -10% auto 3% auto;
}
.aishou_holoscope_text {
	text-align: center;
	font-size: 0.8em;
	line-height: 1.3;
}
.aishou_holoscope_text > strong {
	font-size: 1.5em;
}

/* 各星座ごとの相性（modal） */
.holoscope_guide_head {
	background: #589DD5;
	margin: 6% 0 4% 0;
	color: #FFF;
	position: relative;
}
.holoscope_guide_icon {
	position: absolute;
	top: 50%;
	left: 6%;
	transform: translateY(-50%);
	width: 15%;
}
.holoscope_guide_title {
	padding-left: 24%;
}
.holoscope_guide_title strong {
	font-size: 1.5em;
	color: #FFFF00;
}
.holoscope_guide_list {
	display: flex;
	flex-wrap: wrap;
	margin: 0 6% 3% 6%;
}
.holoscope_guide_item {
	margin: 0 4% 2% 0;
	width: calc( ( 100% - 8% ) / 3 );
	text-align: center;
}
.holoscope_guide_item:nth-child(3n) {
	margin-right: 0;
}
.holoscope_guide_item.aries a {
	background: #FFB7B2;
}
.holoscope_guide_item.taurus a {
	background: #FFD8CB;
}
.holoscope_guide_item.gemini a {
	background: #E1F1BE;
}
.holoscope_guide_item.cancer a {
	background: #F7D2D8;
}
.holoscope_guide_item.leo a {
	background: #FFDEA6;
}
.holoscope_guide_item.virgo a {
	background: #D2E8EB;
}
.holoscope_guide_item.libra a {
	background: #A6EBCD;
}
.holoscope_guide_item.scorpio a {
	background: #F9D1E3;
}
.holoscope_guide_item.sagittarius a {
	background: #DFD4FF;
}
.holoscope_guide_item.capricornus a {
	background: #E8D0E1;
}
.holoscope_guide_item.aquarius a {
	background: #C8DEFF;
}
.holoscope_guide_item.pisces a {
	background: #A6E3EC;
}
.holoscope_guide_item a {
	background: #f0f0f0;
	border-radius: 100vh;
	position: relative;
	padding-top: 100%;
	display: block;
}
.holoscope_guide_item span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-weight: bold;
	line-height: 1.2;
}

/* modal部分 */
.modal {
	display: none;
	position: fixed;
	z-index: 8887;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.7);
}
.modal-content {
	background: #FFF;
	border-radius: 20px;
	width: 90%;
	max-width: 640px;
	max-height: 90vh;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.modal-head {
	position: absolute;
	right: 0;
	top: -50px;
}
@media only screen and (max-width: 639px){
	.modal-head {
	top: -6.25vw;
	}
}
.modal-body {
	max-height: 75vh;
	overflow-y: scroll;
}
.js_modal-close {
	font-size: 1.5em;
	line-height: 1;
	color: #FFF;
}

/*-------------------------------*/
/*	相性占いって何？
/*-------------------------------*/
/* 占い師リスト */
.menu_list_writer .menu_thm {
	width: 24%;
}
.menu_list_writer .menu_thm img {
	border-radius: 50%;
}
.menu_list_writer .menu_contents {
	width: 72%;
}
.menu_list_writer .menu_description {
	font-size: 0.8em;
}

/* ------------------------------------------------------------------
	Entry styles
-------------------------------------------------------------------*/
.entry_aishou_list { }
.entry_aishou_item:not(:first-child) {
	border-top: 1px solid #848484;
	padding-top: 5%;
	margin-top: 5%;
}
.entry_aishou .entry_headline {
	border: none;
	padding: 0;
}
.entry_aishou .entry_select {
	font-size: 1.1em;
}
.entry_aishou .entry_select_wrap::before {
	border-top: 10px solid #EF9090;
}
.entry_aishou .entry_radio + label {
	font-size: inherit;
}
.entry_aishou .entry_radio + label::before {
	top: 50%;
	transform: translateY(-50%);
}
.entry_aishou .entry_radio:checked + label::after {
	top: 50%;
	transform: translateY(-50%);
	background: #2B6B9F;
}
.entry_aishou .entry_btn {
	background-image: -webkit-gradient(linear, left top, right top, from(#FC8181), to(#9090EF));
	background-image: -webkit-linear-gradient(left, #FC8181 0%, #9090EF 100%);
	background-image: linear-gradient(to right, #FC8181 0%, #9090EF 100%);
	border: 2px solid #FFF;
	border-radius: 30px;
	-webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
	box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
	width: 80%;
	font-size: 1.3em;
}

.aishou_exp {
	background: #FFF;
	padding: 4%;
	margin-top: 5%;
}
.aishou_exp_title {
	text-align: center;
	margin-bottom: 2%;
}
.aishou_exp_list > li {
	padding: 1% 0 1% 2em;
	font-size: 0.8em;
	position: relative;
}
.aishou_exp_list li:before {
	position: absolute;
	content: '\f0c8';
	font-family: 'FontAwesome';
	margin-left: -1em;
	left: 1.5em;
	width: 1em;
	display: inline-block;
	color: #EF9090;
}

/*-------------------------------*/
/*	要素を横に並べる
/*-------------------------------*/
.form_inline {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.form_inline .form_inline_item:not(:first-child) {
	margin-left: 2%;
}
.form_inline .form_inline_item.subject {
	flex: 1;
}


