@charset "UTF-8";

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


/* 全体 */

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

.viral-box-wrap.column2::after {
	content: none;
}

.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.column2 .basic-column-box {
	padding: 2rem 2.5rem;
}

.viral-box-wrap.column1 .basic-column-box:last-of-type {
    margin-bottom: 0;
}

.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 {
	/* 1、2カラムのみ */
	width: 8.5rem;
	flex: 0 0 8.5rem;
	margin: 0 1.5rem 1rem 0;
}

.viral-box-wrap:not(.column3) .basic-column-box .box-wrap__inner img {
	max-width: 100%;
	border-radius: 50%;
	width: 64px;
}

.viral-box-wrap .basic-column-box .box-wrap__inner .viral-info {
	margin: 1rem 0 0;
	color: #000;
}

.viral-box-wrap .basic-column-box .catch-copy {
	display: block;
	width: 100%;
	margin: 0 auto 1.5rem;
	padding: 0 0 1.5rem;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.4;
	border-bottom: 1px dashed #003265;
	color: #003265;
	text-align: left;
	border-left: none;
}

.viral-box-wrap .basic-column-box .catch-copy::before {
	content: none;
}

/* 2カラムのみ */
.viral-box-wrap.column2 .basic-column-box {
	width: calc((100% - 2.51rem) / 2);
	margin: 2.5rem 2.5rem 0 0;
}

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

.viral-box-wrap.column2 .basic-column-box:nth-of-type(-n+2) {
	margin-top: 0;
}


/* 3カラムのみ */
.viral-box-wrap.column3 .basic-column-box {
	width: calc((100% - 4rem) / 3);
	margin: 2rem 2rem 0 0;
}

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

.viral-box-wrap.column3 .basic-column-box:nth-of-type(-n+3) {
	margin-top: 0;
}

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

.viral-box-wrap.column3 .basic-column-box .box-wrap__inner img {
	width: 84px;
	border-radius: 50%;
	max-width: 100%;
}

.viral-box-wrap.column3 .basic-column-box .catch-copy {
	text-align: center;
}


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

.lower_bottom {
	margin: 40px 0;
	padding: 3rem 2rem 2rem;
	background: #fff;
	border-radius: 5px;
	border: 1px solid #aaa;
}

.lower_bottom .mainttl {
	padding: 0 0 5px;
	font-size: 28px;
	text-align: center;
	line-height: 1.4;
	position: relative;
	margin: 0 auto 4.5rem;
	font-weight: bold;
	display: inline-block;
	border-bottom: 4px solid #003265;
}

.lower_bottom .mainttl span {
	display: block;
	font-size: 1.8rem;
	color: #c72c12;
	margin-bottom: .5rem;
}

.lower_bottom .mainttl::after {
	content: '';
	width: 30px;
	height: 12px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -14px;
	margin: 0 auto;
	border-top: 12px solid #003265;
	border-right: 15px solid transparent;
	border-left: 15px solid transparent;
}

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

.lower_bottom .cmn-parts-box {
	background: #fff;
	padding: 1.5rem;
	border: 1px solid #004c99;
}

.lower_bottom .cmn-parts-box table span.txt_bold {
	color: #c72c12;
	font-size: 1.4rem;
	font-weight: normal;
}

.lower_bottom .cmn-column3 .cmn-parts-box {
	width: calc((100% - 38px) / 3);
}

.lower_bottom .cmn-parts-box .cmn01-catch-copy {
	margin: 0 0 2rem;
	padding: 0 0 1.5rem;
	color: #004c99;
	font-weight: bold;
	line-height: 1.4;
	font-size: 1.6rem;
	position: relative;
	text-align: left;
	background: url(img/parts/catch_bk.png) repeat-x bottom;
	background-size: 8px 4px;
	font-family: '小塚ゴシック Pro','Kozuka Gothic Pro', "Meiryo", "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic",'Noto Sans JP', sans-serif;
}

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

.lower_bottom .cmn01-paragraph {
	background: #faf7e0;
	padding: 15px 10px;
	margin: 0 10px;
	display: flex;
	align-items: center;
	text-align: center;
	font-family: '小塚ゴシック Pro','Kozuka Gothic Pro', "Meiryo", "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic",'Noto Sans JP', sans-serif;
}

.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: 3.2rem;
	background: none;
}

.lower_bottom .cmn01-ttl,
.lower_bottom .ttl {
	text-align: center;
	padding: 0;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.4;
	color: #222;
	margin: 0 0 10px;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

.lower_bottom .cmn01-ttl {
	font-size: 2.2rem;
	padding-bottom: 1rem;
	position: relative;
	margin-bottom: 2rem;
}

.lower_bottom .cmn01-ttl::after {
	content: '';
	width: 100px;
	height: 1px;
	background: #004c99;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}

.lower_bottom .cmn01-paragraph p:first-child {
	margin: 0 auto;
	text-align: center;
}

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

.lower_bottom .caption {
	font-size: 1rem;
}

.lower_bottom .cmn-parts-box div[class^="btn-"] a {
	font-size: 1.8rem;
}

.lower_bottom .cmn-parts-box div.btn-link a {
	font-size: 1.6rem;
}

.lower_bottom .btn-internal a,
.lower_bottom .btn-web a {
	padding: 15px 25px;
	background-size: 6px auto, cover;
	background-position: right 12px center;
}

.lower_bottom .btn-tel a {
	background-size: 17px auto, 6px auto,cover;
	background-position: left 15px center, right 12px center, center;
}

.lower_bottom .first-row table tr:nth-child(1),
.lower_bottom .table-layout.first-row table tr:nth-child(1),
.lower_bottom .js-scrollable.first-row table tr:nth-child(1),
.lower_bottom .first-column table td:nth-child(1),
.lower_bottom table th,
.lower_bottom .both-row-column tr:first-child,
.lower_bottom .both-row-column tr td:first-child {
	font-weight: normal;
}


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

.text-banner-area {}

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

.cmn02-text-banner-area__image {
	width: 43%;
	flex: 0 0 43%;
	border-top-left-radius: 5px;
	border-bottom-left-radius: 5px;
	position: relative;
	overflow: auto;
}

.cmn02-text-banner-area__image img {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	max-height: 100%;
}

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

.text-banner-area__text .mainttl {
	text-align: left;
	background: url(img/parts/catch_bk.png) repeat-x bottom;
	background-size: 8px 8px;
	padding: 0 0 1.5rem;
	margin: 0 0 2rem;
}

.text-banner-area .cmn02-text-banner-area__title {
	display: block;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.4;
	color: #003265;
	position: relative;
}

.text-banner-area .cmn02-text-banner-area__catch {
	display: block;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.4;
	color: #003265;
	margin: 0 0 .5rem;
}

.text-banner-area .cmn02-paragraph p {
	font-size: 1.6rem;
	color: #222;
}

.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: 0 4rem 4rem;
	border: 1px solid #008fc4;
	border-radius: 5px;
	justify-content: space-between;
}

.supervision-area.cmn-column2 {
	padding: 1.5rem 2rem;
}

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

.supervision-area.cmn-column2 .cmn-parts-box {
	width: calc((100% - 25px)/2);
}

.supervision-area.cmn-column1 .cmn-parts-box .mainttl {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.4;
	color: #fff;
	margin: .1rem -3.9rem 3rem;
	padding: 2rem;
	background: #008fc4;
	text-align: justify;
}

.supervision-area.cmn-column2 .cmn-parts-box .mainttl {
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.8;
	color: #ffffff;
	margin: 0 0 15px;
	padding: 1.5rem 2rem;
	background: #008fc4;
	text-align: justify;
}

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

/* .supervision-area .image-wrap .text-wrap .catch-copy {
	font-size: 25px;
	font-weight: bold;
	line-height: 1.4;
	color: #3aafb0;
	margin-bottom: 30px;
	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.cmn-column1 .image-wrap .text-wrap .catch-copy {
	background: url(img/parts/catch_bk.png) repeat-x bottom;
	background-size: 8px 5px;
	font-size: 2rem;
	color: #333;
	border: none;
	padding: .5rem 0 1.5rem;
	margin: 0 auto 1.5rem;
}

.supervision-area.cmn-column1 .image-wrap .text-wrap .catch-copy::before {
	content: none;
}

.supervision-area.cmn-column2 .image-wrap .text-wrap .catch-copy {
	text-align: left;
	padding-left: 1rem;
}

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

.supervision-area.cmn-column2 .image-left,
.supervision-area.cmn-column2 .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: 0 auto 1rem;
}

.supervision-area.cmn-column1 .image-left img,
.supervision-area.cmn-column1 .image-right img {
	border-radius: 50%;
}

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

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


/* add */

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

.viral-quote {
	text-align: left;
}

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


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

@media screen and (max-width: 480px) {
	/*　口コミパーツ
----------------------------- */
	.viral-box-wrap .basic-column-box,
	.viral-box-wrap.column2 .basic-column-box,
	.viral-box-wrap.column3 .basic-column-box {
		margin: 0 0 1.5rem;
	}
	.viral-box-wrap .basic-column-box:last-of-type {
		margin-bottom: 0;
	}
	.viral-box-wrap,
	.viral-box-wrap.column2,
	.viral-box-wrap.column3 {
		padding: 1.5rem;
	}
	.viral-box-wrap .basic-column-box,
	.viral-box-wrap.column2 .basic-column-box,
	.viral-box-wrap.column3 .basic-column-box {
		padding: 1.5rem;
	}
	.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: 25%;
		flex: 0 0 25%;
		margin: 0 1rem 1rem 0;
	}
	.viral-box-wrap.column3 .basic-column-box .box-wrap__inner img {
		width: 64px;
	}
	.viral-box-wrap .basic-column-box .box-wrap__inner .viral-info {
		font-size: 1rem;
	}
	.viral-box-wrap .basic-column-box .catch-copy {
		font-size: 1.5rem;
		padding: 0 0 1rem;
	}
	.viral-box-wrap.column3 .basic-column-box .catch-copy {
		text-align: left;
	}
	/* 2・３カラム */
	.viral-box-wrap.column2 .basic-column-box,
	.viral-box-wrap.column3 .basic-column-box {
		width: 100%;
	}
	/*　共通パーツ01,02
----------------------------- */
	.lower_bottom {
		padding: 1.5rem;
	}
	.lower_bottom .mainttl {
		font-size: 2rem;
		padding: .5rem 1rem 1rem;
		margin: 0 auto 2.5rem;
	}
	.lower_bottom .mainttl span {
		font-size: 1.3rem;
	}
	.basic-layout {
		margin: 3rem 0 5rem;
	}
	.basic-layout.column1 {
		padding: 1.5rem;
	}
	.lower_bottom .cmn-parts-box .cmn01-catch-copy {
		padding: 0 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: 1.5rem;
		margin: 0 auto 1.5rem;
	}
	.lower_bottom .cmn-parts-box div[class^="btn-"] a {
		font-size: 1.6rem;
	}
	.lower_bottom .btn-link a::before {
		width: 6px;
		right: 12px;
	}
	.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%;
		padding: 1.5rem 1rem;
	}
	.lower_bottom-2 .cmn-parts-box .txt-wrap {
		width: 100%;
		padding-right: 0.7rem;
		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 2.5rem 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 2.5rem 1rem 2.5rem;
		background-size: 13px auto, 6px auto, cover;
		background-position: left 7px center, right 12px center, center;
	}
	.lower_bottom-2 .cmn-parts-box .btn-wrap .btn-tel a::after {
		left: 7px;
		top: calc((100% - 30px) / 2);
	}
	.lower_bottom .cmn01-paragraph {
		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;
	}
	.lower_bottom .cmn01-paragraph span.txt_marker {
		line-height: 1.2;
		padding: 0;
	}

	/*　テキストバナー
----------------------------- */
	.text-banner-area {
		position: relative;
		display: block;
		padding: 1rem;
		overflow: hidden;
		background: none;
	}
	.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: 1.5rem;
		border-radius: 5px;
		background: rgba(250, 247, 224, .8);
	}
	.text-banner-area .cmn02-text-banner-area__title {
		font-size: 2.0rem;
	}
	.text-banner-area .cmn02-paragraph p {
		font-size: 1.4rem;
	}

	/*　監修者パーツ
    ----------------------------- */
	.supervision-area {
		padding: 0 1.5rem 1.5rem;
	}
	.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: .1rem -1.4rem 2rem;
		padding: 5%;
	}
	.supervision-area .image-wrap .text-wrap .catch-copy,
	.supervision-area.cmn-column1 .image-wrap .text-wrap .catch-copy,
	.supervision-area.cmn-column2 .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.cmn-column2 .image-left,
    .supervision-area.cmn-column2 .image-right,
	.supervision-area .text-wrap {
		width: 100%;
		padding: 0;
	}
	.supervision-area .image-left,
	.supervision-area .image-right {
		margin: 0 auto;
	}
	.supervision-area .text-wrap {
		margin-top: 2rem;
	}
	.supervision-area.cmn-column2 {
		display: block;
		padding: 1.5rem;
	}
	.cmn-column2 .cmn-parts-box,
	.supervision-area.cmn-column2 .cmn-parts-box {
		width: 100%;
	}
	.supervision-area.cmn-column2 .cmn-parts-box:not(:first-child) {
		margin-top: 6rem;
	}
}


/* add end */