@charset "UTF-8";

/*　口コミパーツ
----------------------------- */


/* 全体 */

.viral-box-wrap,
.viral-box-wrap.column2,
.viral-box-wrap.column3 {
	padding: 2rem;
	border-radius: 5px;
	background: #f7f1e7;
}

.viral-box-wrap .basic-column-box,
.viral-box-wrap.column2 .basic-column-box,
.viral-box-wrap.column3 .basic-column-box {
	padding: 2rem;
	border-radius: 10px;
	background: #fff;
}

.viral-box-wrap.column1 .viral-head,
.viral-box-wrap.column2 .viral-head {
	/* 1、2カラムのみ */
	display: flex;
	align-items: center;
}

.viral-box-wrap:not(.column3) .basic-column-box .box-wrap__inner,
.viral-box-wrap:not(.column3) .basic-column-box .box-wrap__inner {
	/* 1、2カラムのみ */
	width: 8rem;
	flex: 0 0 8rem;
	margin: 0 1.5rem 1rem 0;
}

.viral-box-wrap .basic-column-box .box-wrap__inner .viral-info {
	margin: .5rem 0 0;
}

.viral-box-wrap .basic-column-box .catch-copy {
	display: inline-block;
	width: 100%;
	margin: 0 auto 1rem;
	padding: .2rem 0 .5rem;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: .2rem dotted #f46891;
	color: #f46891;
	vertical-align: top;
}


/* 2カラムのみ */

.viral-box-wrap.column2 .basic-column-box {
	width: calc((100% - 2rem) / 2);
	margin-right: 2rem;
}

.viral-box-wrap.column2 .basic-column-box:nth-child(2n) {
	margin-right: 0;
}


/* 3カラムのみ */

.viral-box-wrap.column3 .basic-column-box {
	width: calc((100% - 4rem) / 3);
	margin-right: 2rem;
}
@supports (-ms-ime-align: auto) {
	.viral-box-wrap.column3 .basic-column-box {
    	width: calc((100% - 4rem) / 3 - 1px);
	}
}

.viral-box-wrap.column3 .basic-column-box:nth-child(3n) {
	margin-right: 0;
}

.viral-box-wrap.column3 .basic-column-box .box-wrap__inner {
	width: 100px;
	margin: 0 auto 1rem;
}


/*　共通パーツ01,02
----------------------------- */

.lower_bottom {
	margin: 40px 0;
	padding: 2rem;
	background: #b6e3e5;
	border-radius: 5px;
	border-top: 20px solid #16b7bf;
}

.lower_bottom .mainttl {
	padding: 25px 15px;
	font-size: 25px;
	text-align: center;
	line-height: 1.4;
	position: relative;
	margin: 0 -10px;
}

.lower_bottom .mainttl span {
	display: block;
	font-size: 1.6rem;
}

.lower_bottom .cmn-column2,
.lower_bottom .cmn-column3 {
	justify-content: space-between;
}

.lower_bottom .cmn-parts-box {
	background: #fff;
	padding: 1rem 1.5rem;
	border: 1px solid #16b7bf;
	border-radius: 3px;
}

.lower_bottom .cmn-parts-box .cmn01-catch-copy {
	margin: 0 0 2rem;
	padding: 0 0 1rem;
	color: #16b7bf;
	font-weight: bold;
	line-height: 1.4;
	font-size: 1.6rem;
	position: relative;
	text-align: center;
}

.cmn01-image {
	margin: 0 auto;
	text-align: center;
}

.lower_bottom .cmn-parts-box .cmn01-catch-copy::before {
	content: "";
	width: 100%;
	height: 4px;
	display: block;
	position: absolute;
	bottom: -7px;
	background-size: auto auto;
	background-color: #b5b5b5;
	background-image: repeating-linear-gradient(141deg, transparent, transparent 2px, #fff 2px, #fff 5px);
}

.lower_bottom .cmn01-paragraph {
	background: #f9f2e1;
	padding: 17px 10px 14px 10px;
	margin: 0;
	display: flex;
	align-items: center;
	text-align: center;
}

.lower_bottom .cmn01-paragraph .txt_bold {
	color: #222;
	font-size: 1.6rem;
	font-weight: normal;
	padding: 0 5px 0 0;
	display: inline-block;
}

.lower_bottom .cmn01-paragraph span.txt_marker {
	font-size: 2.5rem;
	background: none;
}

.lower_bottom .cmn01-ttl,
.lower_bottom .ttl {
	text-align: center;
	padding: 0 15px;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #222;
	margin: 0 0 8px;
}

.lower_bottom .cmn01-paragraph p:first-child {
	margin: 0;
}

.lower_bottom .cmn01-paragraph p:first-child::before {
	display: none;
}

.lower_bottom .btn-internal a {
	background: #fff;
	color: #333;
	border: 2px solid #16b7bf;
}

.lower_bottom .btn-internal a::before {
	border-top-color: #333;
	border-right-color: #333;
}


/*　テキストバナー
----------------------------- */

.text-banner-area {}

.text-banner-area {
	background-size: cover;
	border: 1px solid #f686a7;
	margin-bottom: 1.5rem;
	border-radius: 5px;
}

.cmn02-text-banner-area__image {
	width: 40%;
	flex: 0 0 40%;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
}

.text-banner-area__text {
	padding: 2rem;
	width: 100%;
	background: #f9f2e1;
	border-top-right-radius: 5px;
	border-bottom-right-radius: 5px;
}

.text-banner-area .cmn02-text-banner-area__title {
	display: block;
	padding: 0 0 10px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.4;
	color: #f46891;
	margin: 0 0 20px;
	text-align: center;
	position: relative;
}

.text-banner-area .cmn02-text-banner-area__title::before {
	content: "";
	width: 100%;
	height: 5px;
	display: block;
	position: absolute;
	bottom: -11px;
	background-size: auto auto;
	background-color: rgb(249, 242, 225);
	background-image: repeating-linear-gradient(135deg, transparent, transparent 7px, rgb(244, 104, 145) 7px, rgb(244, 108, 145) 9px);
}

.text-banner-area .cmn02-text-banner-area__catch {
	display: block;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 1.4;
	color: #f46891;
	text-align: center;
}

.text-banner-area .btn-internal a,
.text-banner-area .btn-web a,
.text-banner-area .btn-tel a {
	margin-bottom: 0;
}


/*　監修者パーツ
----------------------------- */

.supervision-area {
	margin: 4rem 0;
	padding: 2rem;
	border: 2px solid #00ccbe;
	border-radius: 5px;
	justify-content: space-between;
}

.supervision-area.cmn-column1 .cmn-parts-box:not(:first-child) {
	margin-top: 5rem;
}

.supervision-area.cmn-column1 .cmn-parts-box .mainttl {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.4;
	color: #ffffff;
	margin: -2rem -2rem 20px;
	padding: 1.5rem 2rem;
	background: #7cd1d5;
}

.supervision-area.cmn-column2 .cmn-parts-box .mainttl {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.4;
	color: #ffffff;
	margin: 0 0 20px;
	padding: 13px 10px;
	background: #7cd1d5;
}

.supervision-area .cmn-parts-box .mainttl a {
	color: #fff;
}

.supervision-area .image-wrap .text-wrap .catch-copy {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.4;
	color: #3aafb0;
	margin-bottom: 30px;
}

.supervision-area .image-wrap .text-wrap .catch-copy {
	padding: 0 0 20px;
	font-size: 19px;
	font-weight: bold;
	line-height: 1.4;
	color: #222;
	margin: 0 0 15px;
	background: url(img/underline_catch01.png) no-repeat center bottom;
}

.supervision-area .image-left,
.supervision-area .image-right {
	width: 50%;
	flex: 0 0 50%;
}

.supervision-area .text-wrap {
	width: 100%;
}

.supervision-area .image-left img,
.supervision-area .image-right img {
	display: block;
	margin: auto;
}

.supervision-area .image-left .caption,
.supervision-area .image-right .caption {
	display: block;
}

.lower_bottom table span.txt_marker {
	font-size: 1.4rem;
	background: none;
}


/* add */

.slick-slide span,
.viral-info,
.viral-quote {
	font-size: 10px;
	color: #888888;
	line-height: 1.4;
	word-wrap: break-word;
	display: block;
}

.slick-slide span,
.viral-info {
	text-align: center;
}


/*----------------------------------------------------
    SPサイトcss
----------------------------------------------------*/

@media screen and (max-width: 480px) {
	/*　口コミパーツ
----------------------------- */
	.viral-box-wrap .basic-column-box {
		margin: 0 0 5%;
	}
	.viral-box-wrap .basic-column-box:last-of-type {
		margin-bottom: 0;
	}
	.viral-box-wrap,
	.viral-box-wrap.column2,
	.viral-box-wrap.column3 {
		padding: 5%;
	}
	.viral-box-wrap .basic-column-box,
	.viral-box-wrap.column2 .basic-column-box,
	.viral-box-wrap.column3 .basic-column-box {
		padding: 5%;
	}
	.viral-box-wrap .viral-head,
	.viral-box-wrap:not(.column3) .viral-head {
		display: flex;
		align-items: center;
	}
	.viral-box-wrap.column1 .basic-column-box .box-wrap__inner,
	.viral-box-wrap.column2 .basic-column-box .box-wrap__inner,
	.viral-box-wrap.column3 .basic-column-box .box-wrap__inner {
		width: 20%;
		flex: 0 0 20%;
		margin: 0 5% 1rem 0;
	}
	.viral-box-wrap .basic-column-box .catch-copy {
		font-size: 1.5rem;
		padding: 0 0 1rem;
	}
	/* 2・３カラム */
	.viral-box-wrap.column2 .basic-column-box,
	.viral-box-wrap.column3 .basic-column-box {
		width: 100%;
	}
	/*　共通パーツ01,02
----------------------------- */
	.lower_bottom {
		border-top-width: 5px;
		padding: 3%;
	}
	.lower_bottom .mainttl {
		font-size: 2rem;
		padding: .5rem 1rem 1.5rem;
	}
	.lower_bottom .mainttl span {
		font-size: 1.3rem;
	}
	.basic-layout {
		margin: 3rem 0 5rem;
	}
	.basic-layout.column1 {
		padding: 5%;
	}
	.lower_bottom .cmn-parts-box .cmn01-catch-copy {
		padding: .5rem 0 1rem;
	}
	.basic-layout.column1 .box-wrap div:nth-of-type(1) img {
		margin: 0 auto 20px;
		display: block;
		border-radius: 100%;
	}
	.lower_bottom .cmn-column2 .cmn-parts-box,
	.lower_bottom .cmn-column3 .cmn-parts-box {
		float: none;
		width: 100%;
		margin: 0 0 1rem;
		padding: 5%;
	}
	.lower_bottom .cmn-column2 .cmn-parts-box,
	.lower_bottom .cmn-column3 .cmn-parts-box {
		float: none;
		width: 100%;
		padding: 3%;
		margin: 0 auto 3%;
	}
	.lower_bottom-2 .cmn-column1 .cmn-parts-box,
	.lower_bottom-2 .cmn-column2 .cmn-parts-box,
	.lower_bottom-2 .cmn-column3 .cmn-parts-box {
		display: flex;
		flex-direction: row;
		justify-content: center;
		width: 100%;
	}
	.lower_bottom-2 .cmn-parts-box .txt-wrap {
		width: 100%;
		padding-right: 3%;
		display: flex;
		flex-direction: column;
		justify-content: center;
	}
	.lower_bottom-2 .cmn-parts-box .btn-wrap {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		flex-direction: column;
		width: 100%;
		margin: -1rem 0 0;
	}
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-web,
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-tel,
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-internal {
		width: 100%;
		align-self: stretch;
		display: flex !important;
		align-items: stretch;
		justify-content: center;
		flex: auto;
	}
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-web a,
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-tel a,
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-internal a {
		display: flex;
		width: 100%;
		font-size: 1.6rem;
		margin: 0 auto;
		align-items: center;
		justify-content: center;
		flex: auto;
		padding: 1rem 3rem 1rem 1rem;
	}
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-web a,
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-internal a {
		margin-top: 1rem;
	}
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-tel a {
		margin-top: 1rem;
		padding: 1rem 3rem 1rem 2.5rem;
	}
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-tel a::after {
		left: 7px;
		top: calc((100% - 30px) / 2);
	}
	.lower_bottom .cmn01-paragraph {
		background: #f9f2e1;
		padding: 17px 10px 14px 10px;
		margin: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
	.lower_bottom .cmn01-paragraph .txt_bold,
	.lower_bottom .cmn01-paragraph span.txt_marker {
		display: block;
	}
	/*　テキストバナー
----------------------------- */
	.text-banner-area {
		position: relative;
		display: block;
		padding: 1rem;
		overflow: hidden;
	}
	.cmn02-text-banner-area__image {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 100%;
		object-fit: contain;
		border-radius: 5px;
		z-index: -1;
	}
	.cmn02-text-banner-area__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
	}
	.text-banner-area__text {
		padding: 3%;
		border-radius: 5px;
		background: rgba(249, 242, 225, .8);
	}
	.text-banner-area .cmn02-text-banner-area__title {
		font-size: 2.0rem;
	}
	/*　監修者パーツ
----------------------------- */
	.supervision-area {
		padding: 3%;
	}
	.supervision-area.cmn-column1 .cmn-parts-box .mainttl,
	.supervision-area.cmn-column2 .cmn-parts-box .mainttl {
		font-size: 2.0rem;
	}
	.supervision-area.cmn-column1 .cmn-parts-box .mainttl {
		margin: -3.5% -3.4% 1rem;
		padding: 3%;
	}
	.supervision-area .image-wrap .text-wrap .catch-copy {
		font-size: 1.8rem;
	}
	.supervision-area .image-wrap {
		display: block;
	}
	.supervision-area .image-left,
	.supervision-area .image-right,
	.supervision-area .text-wrap {
		width: 100%;
		padding: 0;
	}
	.supervision-area .text-wrap {
		margin-top: 2rem;
	}
	.supervision-area.cmn-column2 {
		display: block;
	}
	.cmn-column2 .cmn-parts-box {
		width: 100%;
	}
	.supervision-area.cmn-column2 .cmn-parts-box:not(:first-child) {
		margin-top: 5rem;
	}
}


/* add end */