@charset "utf-8";
#content > section {
	width: 100%;
}
#content > section .inn {
	width: 1200px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	min-height: 1%;
}
#content > section .inn h2 img {
	width: 100%;
}
#content > section .inn h3 {
	font-size: 30px;
	font-size: 3.0rem;
	text-align: center;
	margin-top: 40px;
	line-height: 1.0;
}
#content > section .inn h3 span {
	background: url(../images/line.png) repeat-x left bottom;
	background-size: 24px auto;
	padding-bottom: 15px;
}
#content > section .inn h3 span.br::before {
	content: "\A\A";
	white-space: pre;
}

.flex {display: flex;}

.flex a:hover img {
	opacity: 0.8;
}
.flex3 {
	justify-content: center;
	margin: 60px 30px 0;
}
.flex3 div {
	width: 33%;
	box-sizing: border-box;
	padding: 0 15px;
}
.flex3 div p {
	margin-top: 15px;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
	text-align: justify;
	text-justify:auto;
}
.flex3 div h4 img {
	width: 100%;
}
.flex4 {
	justify-content: space-between;
	margin: 60px 30px 0;
}
.flex4 div {
	width: 23%;
}
.flex4 div p {
	margin-top: 20px;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
	text-align: justify;
	text-justify:auto;
}
.flex4 div h4 {
	margin-bottom: 10px;
}
.flex4 div h4 img {
	width: 100%;
}
.flex4 div h5 {
	height: 3em;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.6;
}
.flex3 div h5 {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.6;
	margin-top: 10px;
}
.flex2 {
	justify-content: space-between;
	margin: 60px 30px 0;
}
.flex2 .txt {
	width: 50%;
	box-sizing: border-box;
	padding: 0 40px;
}
.flex2 .pic {
	box-sizing: border-box;
	width: 50%;
}
.flex2 .pic.pimg {
	box-sizing: border-box;
	padding: 0 50px;	
}
.flex2 .pic img {
	width: 100%;
}
.flex2 .txt p {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
	margin-bottom: 20px;
	text-align: justify;
	text-justify:auto;
}
.flex2 .txt h4 {
	font-size: 25px;
	font-size: 2.5rem;
	margin-bottom: 20px;
}
.noflex {
	margin-top: 40px;
}
.noflex .txt {
	margin: 0 30px 0 80px;
}
.noflex .txt p {
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
	margin-bottom: 20px;
	text-align: justify;
	text-justify:auto;
}
.noflex .txt h4 {
	font-size: 25px;
	font-size: 2.5rem;
	margin-bottom: 20px;
	text-align: center;
}
.noflex .flex {
	justify-content: center;
}
.noflex .flex p {
	width: 40%;
	margin-top: 20px;
}
.noflex .flex p img {
	width: 100%;
}
.noflex #bnrSkincare {
	text-align: center;
	margin-top: 30px;
}
.hosoku {
	display: flex;
	background: #D2EBF1;
	box-sizing: border-box;
	padding: 0 0 20px 40px;
	margin-top: 20px;
}
.hosoku .pic {
	box-sizing: border-box;
	padding: 0 20px;
}
.hosoku .pic img {
	margin-top: -40px;
}
.hosoku .txt {
	margin-top: 40px;
}
.btnShop {
	text-align: center !important;
}
.btnShop img {
	width: 26rem;
}
.btnShop a:hover img {
	opacity: 0.8;
}
.bgBlue {background: #d6ebf0;}
.pc {display: block !important;}
.sp {display: none !important;}
.softG {/*font-family: "ソフトゴシック R",Soft Gothic Regular !important;*/ font-family: "Helvetica Neue",Arial,Helvetica,Geneva !important;}
.justify {text-align: justify; text-justify:auto;}
.underline {
	border-bottom: dashed 2px #E8E6E7;
	padding-bottom: 30px;
}

/*----------------------------------
BREAD

#bread {
	border-top: 1px solid #F0EFE8;
	border-bottom: 1px solid #F0EFE8;
}
#bread nav {
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0 15px;
}
#bread nav ul li {
	display: inline-block;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 32px;
	margin-left: 5px;
}
#bread nav ul li::after {
	content: ">";
	margin-left: 10px;
}
#bread nav ul li:last-child::after {
	content: "";
}
------------------------------------*/
/*----------------------------------
MAIN AREA
------------------------------------*/
#mainArea {
	position: relative;
	padding: 30px 0;
}
/*#mainArea h1 img {
	width: 100%;	
}*/
#mainArea h2 img {
	width: 100%;	
}
#mainArea p.lead {
	font-size: 18px;
	font-size: 1.8rem;
	margin: 40px 80px 20px;
	line-height: 1.8;
}
#mainArea .menu {
	margin-top: 4rem;
}
#mainArea .menu ul {
	display: flex;
	min-height: 1%;
	justify-content: space-between;
}
#mainArea .menu ul li {
	width: 16%;
}
#mainArea .menu ul li img {
	width: 100%;
}
#mainArea .menu ul li a:hover {
	opacity: 0.8;
}

/*----------------------------------
妊娠期
------------------------------------*/
#mt01,#mt02,#m0,#m02,#m03,#y01 { margin-top: 30px; }

/*----------------------------------
新生児期
------------------------------------*/
#m0 h4 {
	border-top:solid 1px #C6E7F9;
	margin-top: 40px;
	padding-left: 20px;
}
#m0 h4 img {
	width: 24rem;
	margin-top: -4%;
}
#m0 .step {
	justify-content: center;
	margin: 30px 20px 0;
}
#m0 .step div {
	width: 30%;
	box-sizing: border-box;
	padding: 0 10px;
}
#m0 .step.one div {
	width: 40%;
	box-sizing: border-box;
	padding: 0 10px;
}
#m0 .step div.orPlus {
	width: 8%;
	margin-top: 11%;
}
#m0 .step div img {
	width: 100%;
}
#m0 .step div h6 {
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 1.6;
	margin-top: 10px;
}
#m0 .step div p {
	margin-top: 20px;
	font-size: 15px;
	font-size: 1.5rem;
	line-height: 1.8;
	text-align: justify;
	text-justify:auto;
}
#m0 p.kome {
	margin: 40px 30px;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.6;
}
#m0 p.lead {
	margin: 30px 30px;
	font-size: 16px;
	font-size: 1.6rem;
	line-height: 1.8;
}
#m0 h4#step02 {
	border-top:solid 1px #F6C8D4;
	margin-top: 80px;
}
#m0 h4#step03 {
	border-top:solid 1px #CAC0DE;
	margin-top: 60px;
}
#m0 p#banner {
	margin-top: 40px;
	text-align: center;
}
#m0 p#banner img { width: 40rem; }



@media screen and (max-width: 989px){

}

@media screen and (max-width: 767px){
	
#content > section .inn h3 {
	font-size: 2.6rem;
	margin-top: 40px;
	line-height: 1.0;
}
.flex3 {
	margin: 60px 10px 0;
}
.flex3 div {
	padding: 0 10px;
}
.flex4 {
	margin: 60px 20px 0;
}
.flex2 {
	margin: 60px 10px 0;
}
.flex2 .txt {
	padding: 0 20px 0 10px;
}
.flex2 .pic.pimg {
	padding: 0 10px;	
}
.flex2 .txt h4 {
	font-size: 2.2rem;
}
.hosoku {
	padding: 0 0 20px 20px;
	margin-top: 10px;
}
.hosoku .pic {
	box-sizing: border-box;
	padding: 0 20px 0 0;
}
.hosoku .pic img {
	margin-top: 20px;
}
/*----------------------------------
MAIN AREA
------------------------------------*/
#mainArea p.lead {
	font-size: 1.6rem;
	margin: 40px 20px 20px;
	line-height: 1.8;
}
/*----------------------------------
新生児期
------------------------------------*/
#m0 h4 {
	padding-left: 0;
	text-align: center;
}
#m0 h4 img {
	width: 20rem;
	margin-top: -4%;
}
#m0 .step {
	margin: 30px 5px 0;
}
#m0 p.kome {
	margin: 40px 20px;
}
#m0 p#banner img { width: 30rem; }
/*----------------------------------
1歳
------------------------------------*/
	#m03 .mt20 {margin-top: 0 !important;}
}

@media screen and (max-width: 484px){
.pc {display: none !important;}
.sp {display: block !important;}
	
#content > section .inn h3 {
	font-size: 2.0rem;
	margin: 20px 30px 0;
	line-height: 1.6;
}
#content > section .inn h3 span {
	background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #FFDFEF 0%) repeat scroll 0 0;
	padding: 0;
}
#content > section .inn h3 span.br::before {
	content: "";
	white-space: pre;
}
.flex {
	flex-wrap: wrap;
	}
.flex4 {
	margin: 30px 30px 0;
}
.flex4 div {
	width: 100%;
	margin: 0 auto 20px;
}
.flex4 div:last-of-type {
	margin-bottom: 0;
}
.flex4 div h4 {
	box-sizing: border-box;
	padding: 0 50px;
}
.flex4 div h5 {
	height: auto;
	text-align: center;
}
.flex4 div p {
	margin-top: 10px;
}
.flex2 {
	margin: 20px 20px 0;
}
.flex2 .txt {
	width: 100%;
	padding: 0;
	order: 1;
}
.flex2 .pic {
	box-sizing: border-box;
	width: 100%;
	order: 2;
}
.flex2 .txt h4 {
	font-size: 1.8rem;
	text-align: center;
}
.noflex {
	margin-top: 40px;
}
.noflex .txt {
	margin: 0 20px 0 20px;
}
.noflex .txt h4 {
	font-size: 1.8rem;
}
.noflex .flex p {
	box-sizing: border-box;
	width: 100%;
	padding: 0 30px;
}
.noflex .flex p img {
	width: 100%;
}
.noflex #bnrSkincare {
	margin: 30px 20px 0 20px;
}
.noflex #bnrSkincare img {
	width: 100%;
}
.hosoku {
	flex-wrap: wrap;	
	padding: 10px 20px;	
	margin-top: 10px;
}
.hosoku .pic {
	padding: 0;
	order: 1;
}
.hosoku .txt {
	margin-top: 20px;
	order: 2;
}
.flex3 {
	margin: 40px 10px 0;
}
.flex3 div {
	width: 100%;
	padding: 0 10px;
	margin-bottom: 20px;
}
.flex3 div:last-of-type {
	margin-bottom: 0;
}
.flex3 div h4 {
	box-sizing: border-box;
	padding: 0 30px;
}

	
/*----------------------------------
MAIN AREA
------------------------------------*/
#mainArea {
	padding: 10px 0 0;
}
#mainArea p.lead {
	margin: 20px;
}
#mainArea .menu {
	margin: 20px 5px 0;
}
#mainArea .menu ul {
	flex-wrap: wrap;
}
#mainArea .menu ul li {
	width: 32%;
	margin-bottom: 10px;
}
/*----------------------------------
妊娠期
------------------------------------*/
#mt01,#mt02,#m0,#m02,#m03,#y01 { margin-top: 20px; }
/*----------------------------------
新生児期
------------------------------------*/
#m0 h4 img {
	width: 18rem;
	margin-top: -6%;
}
#m0 .step {
	margin: 20px 20px 0;
	flex-wrap: wrap;
}
#m0 .step div,
#m0 .step.one div{
	width: 100%;
	box-sizing: border-box;
	padding: 0;
	margin-bottom: 20px;
}
#m0 .step div h5 {
	box-sizing: border-box;
	padding: 0 40px;		
}
#m0 .step.one div h5 {
	box-sizing: border-box;
	padding: 0 !important;		
}		
#m0 .step div.orPlus {
	width: 16%;
	margin-top: 10px;
}
#m0 .step div h6 {
	text-align: center;
}
#m0 .step div p {
	margin-top: 15px;
}
#m0 p.kome {
	margin: 10px 20px 0;
}
#m0 p.lead {
	margin: 20px;
}
#m0 h4#step02 {
	margin-top: 40px;
}
#m0 h4#step03 {
	margin-top: 30px;
}
#m0 p#banner {
	margin-top: 10px;
	box-sizing: border-box;
	padding: 0 20px;
}
#m0 p#banner img { width: 100%; }
/*----------------------------------
1歳
------------------------------------*/	
#y01 .flex2 .txt {
	order: 2;
}
#y01 .flex2 .pic {
	order: 1;
}
}
@media screen and (max-width: 484px) {
	a img {
	width: 100%;
}
}