@charset "utf-8";
/* ------------------------------
 見出し・テキスト（PC）
------------------------------ */
/* h2 */
.contents h2 {
	margin-bottom: 50px;
	font-size: 4rem;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}
.contents h2::after {
	content: "";
	display: block;
	width: 50px;
	height: 6px;
	margin: 17px auto 0;
	background: #005bac;
	background: linear-gradient(90deg,rgba(0,91,172,1) 0%, rgba(18,182,202,1) 100%);
}
/* h3 */
.contents h3 {
	margin-bottom: 40px;
	font-size: 2.6rem;
	font-weight: bold;
}
/* テキストブロック見出し */
.heading {
	font-size: 4rem;
	font-weight: bold;
	text-align: center;
}
.heading strong {
	display: inline-block;
	margin: 0 10px;
	padding: 2px 15px 0;
	border-radius: 8px;
	background: #005bac;
	background: linear-gradient(90deg,rgba(0,91,172,1) 0%, rgba(18,182,202,1) 100%);
	color: #fff;
	line-height: 1.45;
}
.lead {
	font-size: 2rem;
	font-weight: bold;
}
@media print, screen and (min-width: 768px) {
	/* h3 */
	.contents h3 {
		text-align: center;
	}
	.contents h3 span {
		display: block;
	}
	/* テキストブロック見出し */
	.cms_text.lead {
		margin-bottom: 0;
		text-align: center;
	}
	.lead span {
		display: block;
	}
}
/* ------------------------------
 見出し・テキスト（スマホ）
------------------------------ */
@media screen and (max-width: 767px) {
	/* h2 */
	.contents h2 {
		margin: 0 0 35px;
		font-size: 2.6rem;
	}
	.contents h2::after {
		margin-top: 12px;
	}
	.contents h2 span {
		display: block;
	}
	.content .wide h2 {
		margin: 0 5% 35px;
	}
	/* h3 */
	.contents h3 {
		margin: 0 0 30px;
		font-size: 2rem;
		line-height: 1.55;
	}
	.contents .wide h3 {
		margin: 0 5% 30px;
	}
	/* テキストブロック見出し */
	.heading {
		font-size: 2.6rem;
	}
	.heading strong {
		padding: 2px 10px 0;
	}
	.heading span {
		display: block;
	}
	.lead {
		font-size: 1.8rem;
	}
}

/* ------------------------------
 横幅（PC）
------------------------------ */
@media print, screen and (min-width: 768px) {
	/* 1/2 */
	.w1-2 {
		width: 47.89474%;
	}
	.w546 {
		width: 546px;
	}
	/* 1/3 */
	.w1-3 {
		width: 30.70175%;
	}
	.w350 {
		width: 350px;
	}
	.w1-3.cms_fl + .w1-3.cms_fl,
	.w1-3.fl + .w1-3.fl {
		margin-left: 3.94736%;
	}
	.w350.cms_fl + .w350.cms_fl,
	.w350.fl + .w350.fl {
		margin-left: 45px;
	}
	/* 2/3 */
	.w2-3 {
		width: 65.35087%;
	}
	.w745 {
		width: 745px;
	}
	/* 1/4 */
	.w1-4 {
		width: 22.63157%;
	}
	.w258 {
		width: 258px;
	}
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl {
		margin-left: 3.15789%;
	}
	.w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl {
		margin-left: 36px;
	}
	/* 3/4 */
	.w3-4 {
		width: 74.21052%;
	}
	.w846 {
		width: 846px;
	}
	/* -- その他 -- */
	.w240 {
		width: 240px;
	}
	.w394 {
		width: 394px;
	}
	.w944 {
		width: 944px;
	}
}
/* ----------------------
 横幅（SP）
---------------------- */
@media screen and (max-width: 767px) {
	.w1-4.cms_fl,
	.w1-4.fl,
	.w258.cms_fl,
	.w258.fl {
		float: left !important;
		width: 47.25%;
	}
	.w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl,
	.w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl,
	.w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl + .w1-4.fl + .w1-4.fl,
	.w258.cms_fl + .w258.cms_fl + .w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl + .w258.fl + .w258.fl {
		margin-left: 5.5%;
	}
	.w1-4.cms_fl + .w1-4.cms_fl + .w1-4.cms_fl,
	.w1-4.fl + .w1-4.fl + .w1-4.fl,
	.w258.cms_fl + .w258.cms_fl + .w258.cms_fl,
	.w258.fl + .w258.fl + .w258.fl {
		margin-left: 0;
	}
}

/* ------------------------------
 ボックス（PC）
------------------------------ */
/* 枠 */
.lineBox {
	padding: 40px;
	border: 8px solid #edf1f5;
}
.lineBox::after {
	content: "";
	display: block;
	clear: both;
}
/* 背景色 */
.bgBlock {
	padding: 105px 0 120px;
	background-color: #eaf3f5;
}
/* 背景色（薄い） */
.bgBlock.light {
	background-color: #f7fafb;
}
/* 横並び */
.flexBox {
	display: flex !important;
	flex-wrap: wrap;
}
.cms_block.flexBox::after {
	content: none;
}
/* 横並び センター揃え */
.flexBox.jc-c {
	justify-content: center;
}
/* 横並び 端揃え */
.flexBox.jc-sb {
	justify-content: space-between;
}
/* 横並び 縦センター揃え */
.flexBox.ai-c {
	align-items: center;
}
/* 横並び4列（SP横並び2列） */
.flexBox.div4 {
	flex-wrap: wrap;
}
/* 横並びで写真キャプションが上 */
.flexBox.capTop > * {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
	/* 横並び2列 */
	.flexBox.div2 {
		gap: 40px 48px;
	}
	.flexBox.div2 > * {
		width: 546px;
		margin-bottom: 0;
	}
	/* 横並び3列 */
	.flexBox.div3 {
		gap: 40px 45px;
	}
	.flexBox.div3 > * {
		width: 350px;
		margin-bottom: 0;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 {
		gap: 40px 36px;
	}
	.flexBox.div4 > * {
		width: 258px;
		margin-bottom: 0;
	}
}
/* ------------------------------
 ボックス（スマホ）
------------------------------ */
@media screen and (max-width: 767px) {
	/* 枠 */
	.lineBox {
		padding: 20px;
		border: 8px solid #edf1f5;
	}
	/* 背景 */
	.bgBlock {
		padding: 50px 0 60px;
	}
	/* 横並び2列・横並び3列 */
	.flexBox.div2,
	.flexBox.div3 {
		display: block !important;
	}
	/* 横並び4列（SP横並び2列） */
	.flexBox.div4 > * {
		width: 47.895%;
	}
	.flexBox.div4 {
		gap: 0 4.21%;
	}
}

/* ------------------------------
 テーブル（PC）
------------------------------ */
/* デフォルト */
.contents table {
	width: 100%;
	border-top: 1px solid #dcdcdc;
}
.contents table th,
.contents table td {
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #dcdcdc;
}
@media print, screen and (min-width: 768px) {
	.contents table th {
		width: 30%;
		padding-left: 15px;
	}
	.contents table td {
		padding-right: 15px;
	}
}

/* ------------------------------
 テーブル（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	/* デフォルト */
	.contents table th,
	.contents table td {
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.contents table th {
		width: 40%;
		padding-left: 10px;
	}
	.contents table td {
		padding-right: 10px;
	}
	/* スマホ時縦積み */
	.contentst .res table {
		border-top: 1px solid #dcdcdc;
	}
	.contents .res table th,
	.contents .res table td {
		display: block;
		width: auto !important;
		padding: 5px 10px;
	}
	.contents .res table th {
		border-bottom: none;
		padding-bottom: 0;
	}
	/* スクロール */
	.contents .scroller table {
		width: 940px !important;
	}
}

/* ------------------------------
 リスト
------------------------------ */
/* ノーマルリスト */
.cms_text ul > li {
	position: relative;
	padding-left: 11px;
}
.cms_text ul > li::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 100%;
	background-color: #12b5c9;
	vertical-align: top;
	position: absolute;
	top: .5em;
	left: 0;
}
/* 横並びリスト */
.cms_text ul.inline > li {
	display: inline-block;
}
.cms_text ul.inline li:not(:last-child) {
	margin-right: .75em;
}
/* 数字リスト */
.cms_text ol > li {
	list-style-type: none;
	list-style-position: inside;
	counter-increment: cnt;
	position: relative;
	padding-left: 2em;
}
.cms_text ol > li:before {
	content: counter(cnt)".";
	position: absolute;
	top: 0;
	left: 0;
	margin-right: 1em;
}

/* ------------------------------
 ボタン（PC）
------------------------------ */
.cms_link.btn a {
	display: inline-block;
	width: 400px;
	padding: 23px 0 22px;
	border-radius: 40px;
	background: #fff;
	color: #005bac;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	transition: .3s ease-in-out;
}
.cms_link.btn a::before {
	content: none;
}
.cms_link.btn.download a span::after {
	content: "";
	display: inline-block;
	width: 14px;
	height: 17px;
	margin: 0 0 4px 10px;
	background: url(../../img/lp/icon_download.svg) no-repeat 0 0 / cover;
	vertical-align: middle;
}
.cms_link.btn.free a span::after {
	content: "無料";
	display: inline-block;
	width: 44px;
	height: 22px;
	margin: 0 0 4px 10px;
	border-radius: 5px;
	background-color: #f2713a;
	color: #fff;
	font-size: 1.3rem;
	line-height: 22px;
	font-weight: bold;
	vertical-align: middle;
}
@media print, screen and (min-width: 768px) {
	.cms_link.btn a:hover {
		opacity: .7;
	}
}
/* ------------------------------
 ボタン（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_link.btn a {
		width: 100%;
		max-width: 337px;
		padding: 21px 0 20px;
		border-radius: 36px;
		font-size: 1.8rem;
	}
	.cms_link.btn.download a span::after {
		width: 12px;
		height: 15px;
		margin: 0 0 4px 10px;
	}
	.cms_link.btn.free a span::after {
		width: 40px;
		height: 20px;
		margin: 0 0 4px 10px;
		font-size: 1.2rem;
		line-height: 20px;
	}
}

/* ------------------------------
 角丸（PC）
------------------------------ */
.r15,
.r15 img {
	border-radius: 15px;
}
/* ------------------------------
 角丸（SP）
------------------------------ */

/* ------------------------------
 メインイメージ（PC）
------------------------------ */
.mainimg {
	position: relative;
}
.mainimgBack img {
	width: 100%;
	height: 1000px;
	object-fit: cover;
	object-position: center bottom;
}
.mainimgText {
	position: absolute;
	color: #fff;
	font-size: 2.5rem;
	line-height: 1.85;
	font-weight: bold;
}
.mainimgText p {
	margin-bottom: 28px;
	font-size: 6.8rem;
	line-height: 1;
}
.mainimgText h1 {
	margin-top: 38px;
	line-height: 1;
}
.mainimgText h1 span {
	display: block;
	margin-bottom: 10px;
	font-size: 1.7rem;
}
.mainimgText h1 img {
	width: 350px;
}
.mainimgImage {
	position: absolute;
}
@media print, screen and (min-width: 768px) {
	.cms_block.mainimg,
	.cms_image.mainimgBack {
		margin-bottom: 0;
	}
	.cms_block.wide .cms_text.mainimgText {
		top: 100px;
		left: 50%;
		margin-left: -600px;
	}
	.mainimgImage {
		top: 485px;
		left: 50%;
		width: 1140px;
		margin-left: -570px;
		padding-left: 32px;
		text-align: left !important;
	}
	.mainimgImage img {
		width: 450px;
	}
}
/* ------------------------------
 メインイメージ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_image.mainimgBack  {
		margin-bottom: 55px;
	}
	.mainimgBack img {
		width: 100%;
		height: 607px;
	}
	.mainimgText {
		top: 65px;
		left: 0;
		font-size: 1.7rem;
	}
	.mainimgText p {
		margin-bottom: 10px;
		font-size: 3.5rem;
	}
	.mainimgText h1 {
		margin-top: 32px;
	}
	.mainimgText h1 span {
		margin-bottom: 5px;
		font-size: 1.35rem;
	}
	.mainimgText h1 img {
		width: 230px;
	}
	.cms_image.mainimgImage {
		top: 320px;
		width: 100%;
		margin-bottom: 0;
		padding-right: 5px;
	}
	.mainimgImage img {
		width: 100%;
		width: 240px;
	}
}
@media screen and (max-width: 359px) {
	.mainimgText {
		font-size: 1.5rem;
	}
	.mainimgText p {
		font-size: 3.2rem;
	}
}

/* ------------------------------
 フォーム共通（PC）
------------------------------ */
textarea::placeholder,
input::placeholder {
	color: #aaaeaf;
}
input[type='text'],
textarea {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	width: 100%;
	padding: 3px 12px 2px;
	background: #fff;
	color: #323232;
	font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: medium;
	font-weight: 500;
	text-align: left;
	vertical-align: middle;
}
input[type='text']:focus,
textarea:focus,
select:focus {
	outline: 0;
	box-shadow: 0 0 2px 3px #ddd inset;
}
/* プルダウン */
select {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	position: relative;
	width: 100%;
	padding: 3px 32px 2px 12px;
	background: #fff url("../../img/select.png") no-repeat right 12px center / 10px auto;
	color: #323232;
	font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	font-size: medium;
	font-weight: 500;
	text-align: left;
	vertical-align: middle;
}
select::-ms-expand {
	display: none;
}

/* ------------------------------
 カタログダウンロード（PC）
------------------------------ */
.catalog > div input[type='text'] {
	border: 1px solid #d3d6d6;
}
.catalog > div p:has(input[type='submit']) {
	position: relative;
	display: inline-block;
}
.catalog > div p:has(input[type='submit'])::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 20px;
	right: 28px;
	width: 14px;
	height: 17px;
	background: url(../../img/lp/icon_download_white.svg) no-repeat 0 0 / cover;
}
.catalog > div input[type='submit'] {
	width: 320px;
	padding: 17px 0;
	border-radius: 30px;
	background: #005bac;
	background: linear-gradient(90deg,rgba(0,91,172,1) 0%, rgba(18,182,202,1) 100%);
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	transition: .3s ease-in-out;
	cursor: pointer;
}
.catalog > div .contact {
	margin: 35px 0 5px;
	font-size: 1.35rem;
	line-height: 1.6;
	text-align: center;
}
.catalog > div > a {
	display: block;
	margin-bottom: 20px;
	padding: 17px 0;
	border-radius: 30px;
	background-color: #a3abb2;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	transition: .3s ease-in-out;
}
.catalog > div .agree {
	color: #a3abb2;
	font-size: 1rem;
	line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
	.contents .cms_block.wide .cms_text.catalog {
		position: absolute;
		top: 70px;
		left: 50%;
		z-index: 2;
		width: 1140px;
		margin: 0 0 0 -570px;
		padding-left: 760px;
	}
	.catalog > div {
		position: relative;
		width: 380px;
		height: 860px;
		padding: 35px 30px 0;
		border-radius: 15px;
		background-color: #fff;
	}
	.catalog > div::after {
		content: "";
		display: block;
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(160,170,175,.5);
		filter: blur(10px);
		mix-blend-mode: multiply;
	}
	.catalog > div input[type='submit']:hover {
		opacity: .7;
	}
	.catalog > div > a:hover {
		opacity: .7;
	}
	.contents .cms_text.catalog > div > a:hover {
		text-decoration: none;
	}
}
/* ------------------------------
 カタログダウンロード（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.catalog .blue.tac.mb20 {
		margin-bottom: 20px !important;
	}
	.catalog .f15.mb5 {
		font-size: 1.7rem;
	}
	.catalog .mb10 {
		margin-bottom: 30px !important;
	}
	.catalog .mb20 {
		margin-bottom: 35px !important;
	}
	.catalog > div p:has(input[type='submit']) {
		display: block;
		width: 100%;
		max-width: 337px;
		margin: 5px auto 0;
	}
	.catalog > div input[type='submit'] {
		width: 100%;
	}
	.catalog > div > a {
		width: 100%;
		max-width: 337px;
		margin-left: auto;
		margin-right: auto;
	}
}
@media screen and (max-width: 359px) {
	.catalog > div p:has(input[type='submit'])::after {
		right: 14px;
	}
}

/* ------------------------------
 問題（PC）
------------------------------ */
.problemBox {
	display: flex;
}
.problemBox > div {
	position: relative;
	padding: 100px 50px 40px;
	border-radius: 15px;
	background-color: #fff;
	box-shadow: 0 0 15px 5px #e3eaee;
}
.problemBox > div::before {
	content: "";
	display: block;
	position: absolute;
	top: 40px;
	left: 50%;
	width: 40px;
	height: 40px;
	margin-left: -20px;
	border-radius: 50%;
	background-color: #12b6ca;
}
.problemBox > div::after {
	content: "";
	display: block;
	position: absolute;
	top: 43px;
	left: 50%;
	width: 6px;
	height: 16px;
	margin-left: -9px;
	border-color: #fff;
	border-width: 0 3px 3px 0;
	border-style: solid;
	transform-origin: bottom left;
	transform: rotate(45deg);
}
.problemBox > div > p {
	margin-bottom: 25px;
	font-size: 2.4rem;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
}
.problemBox > div > p > span {
	padding: 0 5px 2px;
	background: #fadac2;
	background: linear-gradient(0deg,rgba(250,218,194,1) 0%, rgba(250,218,194,1) 53%, rgba(250,218,194,0) 53%, rgba(250,218,194,0) 100%);
}
@media print, screen and (min-width: 768px) {
	.problemBox {
		flex-wrap: wrap;
		justify-content: center;
		gap: 48px;
	}
	.problemBox > div {
		width: 546px;
	}
}
/* ------------------------------
 問題（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.problemBox {
		flex-direction: column;
		row-gap: 30px;
	}
	.problemBox > div {
		padding: 75px 25px 20px;
		border-radius: 10px;
		box-shadow: 0px 0px 10px 3px #e3eaee;
	}
	.problemBox > div::before {
		top: 30px;
		width: 32px;
		height: 32px;
		margin-left: -16px;
	}
	.problemBox > div > p {
		margin-bottom: 25px;
		font-size: 2rem;
	}
	.problemBox > div::after {
		top: 32px;
		width: 4px;
		height: 12px;
		margin-left: -7px;
		border-color: #fff;
		border-width: 0 3px 3px 0;
		border-style: solid;
		transform-origin: bottom left;
		transform: rotate(45deg);
	}
}

/* ------------------------------
 運営施設のお困りごと（PC）
------------------------------ */
.problemImage01 {
	position: relative;
	z-index: 1;
}
@media print, screen and (min-width: 768px) {
	.problemImage01.pc {
		margin-top: -52px;
	}
}
/* ------------------------------
 運営施設のお困りごと（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.problemImage01.sp img {
		width: 207px
	}
}

/* ------------------------------
 赤ちゃん連れ家族のお困りごと（PC）
------------------------------ */
.cms_block.wide.bgBlock.light.mb0 {
	position: relative;
}
.cms_block.wide.bgBlock.light.mb0::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -60px;
	left: 50%;
	z-index: 1;
	width: 0;
	height: 0;
	margin-left: -50px;
	border-style: solid;
	border-width: 60px 50px 0 50px;
	border-color: #f7fafb transparent transparent transparent;
}
.problemImage02 {
	position: relative;
	z-index: 1;
}
@media print, screen and (min-width: 768px) {
	.contents .cms_block.wide.bgBlock.light .cms_text.heading {
		margin-bottom: 0;
	}
	.problemImage02.pc {
		margin-top: -45px;
		padding-left: 55px;
	}
}
/* ------------------------------
 赤ちゃん連れ家族のお困りごと（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_block.wide.bgBlock.light.mb0::after {
		bottom: -30px;
		margin-left: -25px;
		border-width: 30px 25px 0 25px;
	}
	.problemImage02.sp img {
		width: 277px
	}
}

/* ------------------------------
 データからわかる授乳室の必要性（PC）
------------------------------ */
.dataBox {
	display: flex;
}
.dataBox .q1,
.dataBox .q2 {
	position: relative;
	margin-bottom: 25px;
	padding-left: 70px;
	font-size: 2rem;
	line-height: 1.6;
	font-weight: bold;
}
.dataBox .q1::before,
.dataBox .q2::before {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	left: 0;
	width: 50px;
	height: 57px;
	background: url(../../img/lp/icon_q1.svg) no-repeat 0 0 / 50px 57px;
}
.dataBox .q2::before {
	background: url(../../img/lp/icon_q2.svg) no-repeat 0 0 / 50px 57px;
}
.dataBox img {
	margin-bottom: 25px;
	border-radius: 15px;
}
@media print, screen and (min-width: 768px) {
	.dataBox {
		flex-wrap: wrap;
		justify-content: center;
		gap: 48px;
	}
	.dataBox > div {
		width: 546px;
	}
}
/* ------------------------------
 データからわかる授乳室の必要性（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.dataBox {
		flex-direction: column;
		row-gap: 30px;
	}
	.dataBox .q1,
	.dataBox .q2 {
		margin-bottom: 15px;
		padding-left: 60px;
		font-size: 1.8rem;
	}
	.dataBox .q1::before,
	.dataBox .q2::before {
		top: 4px;
		width: 45px;
		height: 51px;
		background: url(../../img/lp/icon_q1.svg) no-repeat 0 0 / 45px 51px;
	}
	.dataBox .q2::before {
		background: url(../../img/lp/icon_q2.svg) no-repeat 0 0 / 45px 51px;
	}
	.dataBox img {
		margin-bottom: 15px;
		border-radius: 10px;
	}
}

/* ------------------------------
 ママロソラナで解決（PC）
------------------------------ */
.cms_text.mamarosolanaText {
	margin-bottom: 15px;
	color: #54bcb7;
	font-size: 1.9rem;
	line-height: 1;
	font-weight: bold;
	text-align: center;
}
.cms_image.mamarosolanaLogo {
	margin-bottom: 40px;
	line-height: 1;
}
.mamarosolanaImage h4 {
	position: relative;
	margin-bottom: 35px;
	padding-bottom: 30px;
	font-size: 2.4rem;
	line-height: 1;
	font-weight: bold;
}
.mamarosolanaImage h4::before,
.mamarosolanaImage h4::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #e4e7eb;
}
.mamarosolanaImage h4::after {
	width: 80px;
	background-color: #12b6ca;
}
@media print, screen and (min-width: 768px) {
	.cms_image.mamarosolanaImage {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin-bottom: 48px;
	}
	.cms_image.mamarosolanaImage:nth-child(odd) {
		flex-direction: row-reverse;
	}
	.cms_image.mamarosolanaImage img {
		width: 546px;
		border-radius: 15px;
	}
	.cms_image.mamarosolanaImage .cms_caption_b {
		width: 546px;
	}
}
/* ------------------------------
 ママロソラナで解決（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_text.mamarosolanaText {
		margin-bottom: 8px;
		font-size: 1.5rem;
	}
	.cms_image.mamarosolanaLogo {
		margin-bottom: 25px;
	}
	.cms_image.mamarosolanaLogo img {
		width: 265px;
	}
	.cms_image.mamarosolanaImage {
		margin-bottom: 30px;
		flex-direction: column;
	}
	.cms_image.mamarosolanaImage img {
		border-radius: 10px;
	}
	.cms_image.mamarosolanaImage .cms_caption_b {
		margin-top: 30px;
	}
	.mamarosolanaImage h4 {
		margin-bottom: 20px;
		padding-bottom: 20px;
		font-size: 1.8rem;
	}
}

/* ------------------------------
 導入メリット（PC）
------------------------------ */
.cms_image.meritImage {
	padding: 55px 105px 55px 55px;
	border-radius: 15px;
	background-color: #fff;
	box-shadow: 0 0 15px 5px #e3eaee;
}
.cms_image.meritImage:last-child {
	margin-bottom: 0;
}
.cms_image.meritImage img {
	width: 150px;
}
.meritImage h4 {
	margin-bottom: 15px;
	color: #005bac;
	font-size: 2.2rem;
	font-weight: bold;
}
.meritImage h4 span {
	display: inline-block;
	width: 86px;
	height: 26px;
	padding-top: 2px;
	border-radius: 13px;
	color: #fff;
	background-color: #005bac;
	color: #fff;
	font-family: "Hind", sans-serif;
	font-size: 1.6rem;
	line-height: 24px;
	font-weight: 600;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
	.cms_image.meritImage  {
		display: flex;
		align-items: center;
		column-gap: 40px;
		width: 1140px;
		margin: 0 auto 30px;
	}
	.meritImage h4 {
		display: flex;
		align-items: center;
		column-gap: 15px;
		line-height: 26px;
	}
}
/* ------------------------------
 導入メリット（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.cms_image.meritImage {
		margin: 0 5% 30px;
		padding: 40px 25px 20px;
		border-radius: 10px;
		box-shadow: 0px 0px 10px 3px #e3eaee;
	}
	.meritImage .cms_caption_b {
		margin-top: 30px;
	}
	.meritImage h4 {
		font-size: 1.8rem;
		line-height: 1.6;
		text-align: center;
	}
	.meritImage h4 span {
		display: block;
		margin: 0 auto 15px;
	}
}

/* ------------------------------
相談・お見積 （PC）
------------------------------ */
.consultationBlock {
	padding: 120px 0;
	background: #005bac;
	background: linear-gradient(90deg,rgba(0,91,172,1) 0%, rgba(18,182,202,1) 100%);
	color: #fff;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
	.consultationBlock .cms_text.pc {
		margin-bottom: 50px;
		font-size: 3.4rem;
		line-height: 1;
		font-weight: bold;
	}
	.consultationBlock .cms_link {
		display: inline-block;
	}
	.consultationBlock .cms_link + .cms_link {
		margin-left: 40px;
	}
}
/* ------------------------------
相談・お見積 （SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.consultationBlock {
		padding: 60px 0;
	}
	.consultationBlock .cms_text.sp {
		margin-bottom: 25px;
		font-size: 2rem;
		line-height: 1.6;
		font-weight: bold;
	}
	.consultationBlock .cms_link + .cms_link {
		margin-top: 30px;
	}
}

/* ------------------------------
 導入事例（PC）
------------------------------ */
.facilityText {
	border-radius: 5px;
	background-color: #eaf3f5;
	font-size: 1.8rem;
	font-weight: bold;
}
.facilityBlock {
	display: flex;
}
.facilityBlock .cms_image {
	margin-bottom: 0;
}
.facilityBlock .cms_image img {
	border-radius: 15px;
}
.facilityBlock .cms_image .cms_caption_b {
	margin-top: 15px;
}
.facilityBlock .cms_image .cms_caption_b h4 {
	margin-bottom: 5px;
	font-size: 1.8rem;
	font-weight: bold;
}
@media print, screen and (min-width: 768px) {
	.facilityText {
		display: inline-block;
		height: 40px;
		padding: 0 1em;
		line-height: 40px;
	}
	.facilityBlock {
		flex-wrap: wrap;
		gap: 50px 45px;
	}
	.facilityBlock .cms_image {
		width: 350px;
	}
	.facilityBlock .cms_image img {
		border-radius: 15px;
	}
}
/* ------------------------------
 導入事例（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.facilityText {
		padding: 15px 20px 10px;
		font-size: 1.7rem;
	}
	.facilityBlock {
		flex-direction: column;
		row-gap: 30px;
	}
	.facilityBlock .cms_image img {
		border-radius: 10px;
	}
}

/* ------------------------------
 ご利用者様の声（PC）
------------------------------ */
#pl07.bgBlock {
	padding-bottom: 0;
}
#pl07 .dataBox {
	margin-top: 45px;
	margin-bottom: 55px;
}
.dataBox .f20 {
	margin-bottom: 10px;
	font-weight: bold;
	text-align: center;
}
.feedbackBox {
	margin-bottom: 45px;
}
.feedbackBox p {
	position: relative;
	padding: 31px 0;
	border-radius: 10px;
	background-color: #fff;
	font-weight: bold;
	text-align: center;
	box-shadow: 0 0 15px 5px #e3eaee;
}
.feedbackBox p::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -14px;
	left: 50%;
	width: 22px;
	height: 15px;
	margin-left: -11px;
	background-color: #fff;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	box-shadow: 0 10px 15px 5px #e3eaee;
}
.feedbackBox p span {
	color: #12b6ca;
}
@media print, screen and (min-width: 768px) {
	.contents #pl07 h3 {
		margin-bottom: 10px;
	}
	#pl07 .f18.pc_tac {
		line-height: 2;
	}
	.feedbackBox {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 40px 20px;
	}
	.feedbackBox p {
		width: 400px;
	}
	.feedbackBox p:first-of-type,
	.feedbackBox p:nth-of-type(2) {
		width: 440px;
	}
	.feedbackBox p:nth-of-type(3),
	.feedbackBox p:nth-of-type(5) {
		width: 330px;
	}
}
/* ------------------------------
 ご利用者様の声（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	#pl07 .dataBox {
		margin-top: 30px;
		margin-bottom: 60px;
	}
	#pl07 .dataBox img {
		margin-bottom: 0;
	}
	.feedbackBox p {
		width: 83%;
		margin-left: auto;
		margin-right: auto;
		padding: 16px;
	}
	.feedbackBox p:not(:last-of-type) {
		margin-bottom: 30px;
	}
	.feedbackBox .sp {
		position: relative;
		z-index: 1;
		text-align: center;
	}
	.feedbackBox .sp:first-of-type img {
		width: 164px;
	}
	.feedbackBox .sp:last-of-type img {
		width: 88px;
	}
	#pl07 .cms_image.sp img {
		width: 108px;
	}
}

/* ------------------------------
 工夫がいっぱいのママロソラナ（PC）
------------------------------ */
.ingenuityBlock {
	display: flex;
}
.ingenuityBlock .cms_image {
	margin-bottom: 0;
}
.ingenuityBlock .cms_image img {
	border-radius: 15px;
}
.ingenuityBlock .cms_image .cms_caption_b {
	margin-top: 25px;
}
.ingenuityBlock h4 {
	position: relative;
	margin-bottom: 10px;
	padding-left: 40px;
	font-size: 2rem;
	line-height: 30px;
	font-weight: bold;
}
.ingenuityBlock h4 span {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	padding-top: 5px;
	border-radius: 50%;
	background-color: #12b6ca;
	color: #fff;
	font-family: "Hind", sans-serif;
	font-size: 1.6rem;
	line-height: 25px;
	font-weight: 600;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
	.ingenuityBlock {
		flex-wrap: wrap;
		gap: 40px 48px;
	}
	.ingenuityBlock .cms_image {
		width: 546px;
	}
}
/* ------------------------------
 工夫がいっぱいのママロソラナ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.ingenuityBlock {
		flex-direction: column;
		row-gap: 30px;
	}
	.ingenuityBlock .cms_image img {
		border-radius: 10px;
	}
	.ingenuityBlock .cms_image .cms_caption_b {
		margin-top: 20px;
	}
	.ingenuityBlock h4 {
		margin-bottom: 5px;
		padding-left: 32px;
		font-size: 1.8rem;
		line-height: 1.4;
	}
	.ingenuityBlock h4 span {
		width: 24px;
		height: 24px;
		padding-top: 4px;
		border-radius: 50%;
		font-size: 1.4rem;
		line-height: 20px;
	}
}

/* ------------------------------
 よくあるご質問（PC）
------------------------------ */
.faqBlock > .cms_text {
	padding: 26px 30px 25px;
	border-radius: 15px;
	background-color: #fff;
	transition: .3s ease-in-out;
}
.faqBlock > .cms_text:not(:last-of-type) {
	margin-bottom: 20px;
}
.faqBlock details summary {
	list-style: none;
	display: block;
	position: relative;
	width: 100%;
	padding-left: 30px;
	padding-right: 40px;
	color: #005bac;
	font-size: 2rem;
	font-weight: bold;
	outline: none;
	cursor: pointer;
}
.faqBlock details summary span {
	position: absolute;
	top: 6px;
	left: 0;
	color: #005bac;
	font-family: 'Hind', sans-serif;
	font-size: 2.6rem;
	line-height: 1;
	font-weight: 600;
}
.faqBlock details summary::-webkit-details-marker {
	display: none;
}
.faqBlock details summary::before {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
	right: 0;
	width: 24px;
	height: 4px;
	margin: auto 0;
	background-color: #005bac;
}
.faqBlock details summary::after {
	content: "";
	display: block;
	position: absolute;
	top: 5px;
	right: 10px;
	width: 4px;
	height: 24px;
	margin: auto 0;
	background-color: #005bac;
}
.faqBlock details[open] summary::after {
	content: none;
}
.faqBlock details div  {
	position: relative;
	padding-left: 30px;
	padding-right: 40px;
}
.faqBlock details[open] div {
	animation: accordion .5s linear;
	margin-top: 14px;
}
@keyframes accordion {
	0% {
		opacity: 0;
		height: 0;
	}
	20% {
		opacity: 0;
		height: 25%;
	}
	40% {
		opacity: .25;
		height: 50%;
	}
	60% {
		opacity: .5;
		height: 75%;
	}
	80% {
		opacity: .75;
		height: 100%;
	}
	100% {
		opacity: 1;
	}
}
@media print, screen and (min-width: 768px) {
}
/* ------------------------------
 よくあるご質問（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.faqBlock > .cms_text {
		padding: 26px 20px;
		border-radius: 10px;
	}
	.faqBlock details summary {
		padding-left: 20px;
		padding-right: 25px;
		font-size: 1.8rem;
		line-height: 1.4;
	}
	.faqBlock details summary span {
		top: 4px;
		font-size: 2rem;
	}
	.faqBlock details summary::before {
		top: 11px;
		width: 19px;
		height: 3px;
	}
	.faqBlock details summary::after {
		top: 3px;
		right: 8px;
		width: 3px;
		height: 19px;
	}
	.faqBlock details div {
		padding-left: 20px;
		padding-right: 25px;
	}
	.faqBlock details[open] div {
		margin-top: 4px;
	}
}

/* ------------------------------
 製品仕様（PC）
------------------------------ */
.drawingBox {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #dcdcdc;
	border-radius: 15px;
}
.drawingBox img {
	width: 82%;
}
/* ------------------------------
 製品仕様（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.drawingBox {
		border-radius: 10px;
	}
	.drawingBox img {
		width: 90%;
		margin: 10px 0;
	}
}

/* ------------------------------
 ハマネツについて（PC）
------------------------------ */
.aboutBlock h4 {
	margin-bottom: 15px;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
}
@media print, screen and (min-width: 768px) {
	.aboutBlock h3 {
		margin-bottom: 10px;
	}
	.aboutBlock .f18.pc_tac {
		line-height: 2;
	}
	.aboutBlock .f18.pc_tac + .cms_image {
		margin: 60px 0 80px;
	}
}
/* ------------------------------
 ハマネツについて（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.aboutBlock .f18.pc_tac + .cms_image {
		margin: 20px 0  40px;
	}
	.aboutBlock .cms_image img {
		width: 90%;
	}
	.aboutBlock h4 {
		margin-bottom: 10px;
		font-size: 1.8rem;
	}
	.aboutBlock .mb50 {
		margin-bottom: 20px !important;
	}
}

/* ------------------------------
 お問合せ（PC）
------------------------------ */
.contactBlock {
	padding: 110px 0 120px;
	background: #005bac;
	background: linear-gradient(90deg,rgba(0,91,172,1) 0%, rgba(18,182,202,1) 100%);
	color: #fff;
}
.contents .contactBlock h2::after {
	background: #fff;
}
.contactBox p:has(input[type='submit']) {
	text-align: center;
}
.contactBox input[type='submit'] {
	width: 400px;
	padding: 23px 0 22px;
	border-radius: 40px;
	background: #fff;
	color: #005bac;
	font-size: 2rem;
	font-weight: bold;
	transition: .3s ease-in-out;
	cursor: pointer;
}
@media print, screen and (min-width: 768px) {
	.cms_block.wide .cms_text.contactBox {
		width: 750px;
	}
	.contactBox input[type='submit']:hover {
		opacity: .7;
	}
}
/* ------------------------------
 お問合せ（SP）
------------------------------ */
@media screen and (max-width: 767px) {
	.contactBlock {
		padding: 55px 0 60px;
	}
	.contents .contactBlock h3 {
		text-align: center;
	}
	.contactBox .mb10 {
		margin-bottom: 5px !important;
	}
	.contactBox .mb35 {
		margin-bottom: 30px !important;
	}
	.contactBox input[type='submit'] {
		width: 100%;
		max-width: 337px;
		padding: 21px 0 20px;
		border-radius: 36px;
		font-size: 1.8rem;
	}
}