@charset "utf-8";

h1, h2, h3, h4 {
	line-height: 1.25;
}
#main {
	color: #000;
	background: #fff;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 80px;
	font-family: 'EB Garamond', 'Shippori Mincho', sans-serif;
	font-weight: normal;
	line-height: 1.5;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	overflow: hidden;
}
.wrapper h2 {
	margin: 0 0 10px;
	font-size: 1.5rem;
	font-weight: bold;
}
.wrapper h2 strong {
	display: block;
	margin-top: .75em;
	font-size: 1.2rem;
	font-weight: bold;
}
.wrapper .intro p:not(:last-of-type) {
	margin: 0 0 1em;
}
.pict_childbirth {
	min-height: 172px;
	margin: 20px 0 30px;
	background: url(../images/1802office/img_heart.svg) no-repeat top center;
	background-size: 185px 172px;
	text-align: center;
}
.pict_childbirth .catch {
	margin: 0;
	padding: 120px 0 0;
	color: #ff84a3;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: center;
}
@media print, screen and (min-width:1000px) {
	.only_sp {
		display: none;
	}
	#main {
		margin: 0 auto 100px;
		font-size: 1.6rem;
		line-height: 1.5em;
	}
	.wrapper .intro {
		font-size: 1.4rem;
	}
	.wrapper h2 {
		margin: 0 0 20px;
		font-size: 2.7rem;
	}
	.wrapper h2 strong {
		font-size: 2.2rem;
	}
	.pict_childbirth {
		margin: 40px 0 80px;
	}
	.pict_childbirth .catch {
		font-size: 1.8rem;
	}
}
@media only screen and (max-width:999px) {
	.only_pc {
		display: none;
	}
	.wrapper .intro {
		padding: 0 20px;
	}
}
.wrapper h3 {
	margin: 50px 0 15px;
	padding: 0 0 10px;
	border-bottom: 1px solid #000;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
.wrapper .catch-special {
	position: relative;
	max-width: 1000px;
	height: 30px;
	margin: 5px 5px -30px;
	background: #db2a6be0;
	clip-path : polygon(0% 0%, 100% 0%, 98% 50%, 100% 100%, 0% 100%, 2% 50%);
	color: #fff;
	font-family: Roboto, 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	line-height: 30px;
	font-weight: 300;
	text-align: center;
}
.subcatch {
	display: block;
	margin: 0;
	font-family: Roboto, 'Noto Sans JP', sans-serif;
	font-size: 1.7rem;
	font-weight: normal;
	color: #f36a84;
}
.lead {
	display: block;
	font-size: 1.6rem;
	margin: 0 0 5px;
}
.item + .lead {
	margin: 30px 0 0;
}
.lead > figcaption {
	display: block;
	margin: 20px 15px;
	font-size: 1.6rem;
	line-height: 1.75;
	text-align: left;
}
.thinking {
	padding: 40px 15px;
	font-size: 1.6rem;
	line-height: 1.75;
}
h3 + .thinking {
	padding-top: 20px;
}
.hr-thinking {
	height: 0;
	border: none;
	border-top: 1px solid #ccc;
	margin: 0 15px;
}
.hr-thinking:last-of-type {
	margin-bottom: 60px;
}
.icon img {
	width: 140px;
	margin: 0 auto 20px;
}
@media print, screen and (min-width:768px) {
	.wrapper h3 {
		margin: 50px 0 15px;
	}
	.wrapper .catch-special {
		margin: 5px auto -60px;
		height: 40px;
		clip-path : polygon(0% 0%, 100% 0%, 99% 50%, 100% 100%, 0% 100%, 1% 50%);
		font-size: 2.4rem;
		line-height: 40px;
	}
	.wrapper .fixed .catch-special {
		max-width: 98%;
	}
	.lead {
		margin: 10px 0 0;
	}
	.lead > figcaption {
		margin: 40px;
		font-size: 1.8rem;
	}
	.thinking {
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 580px;
		margin: 0 auto;
		padding: 0;
		font-size: 1.8rem;
	}
	.hr-thinking {
		margin: 40px 0;
	}
	.icon {
		width: 180px;
	}
	.icon img {
		width: 180px;
		margin: 0;
	}
	.desc {
		width: calc( 100% - 220px )
	}
}
.wrapper h3.hd-subctg {
	position: relative;
	font-size: 1.6rem;
	margin: 30px 10px 0;
	padding: 0 0 4px;
	border-bottom: 1px solid #000;
}
.wrapper h3.hd-subctg::first-letter {
	color: #f36a84;
}
.wrapper h3.hd-subctg::after {
	position: absolute;
	bottom: -6px;
	left: 50%;
	display: block;
	content: '';
	transform: translateX(-50%) rotate(45deg);
	width: 9px;
	height: 9px;
	background: #fff;
	border: #000 solid;
	border-width: 0 1px 1px 0;
}
.item {
	display: flex;
	flex-wrap: wrap;
}
.item a {
	color: #333;
	text-decoration: none;
}
a.disabled {
	pointer-events: none;
}
.item .chip {
	margin: 13px 8px 13px;
	text-align: left;
	line-height: 0;
	letter-spacing: -1em;
	word-spacing: -1em;
}
:root .item .chip {
	font-size: 1px;
	letter-spacing: -1px;
	word-spacing: -1px;
}
.chip span {
	display: inline-block;
	width: 15px;
	height: 15px;
	margin: 2px;
	-webkit-box-shadow: 1px 1px 2px 0 rgba(0,0,0,.15);
	-moz-box-shadow: 1px 1px 2px 0 rgba(0,0,0,.15);
	box-shadow: 1px 1px 2px 0 rgba(0,0,0,.15);
	font-size: 1rem;
	letter-spacing: normal;
	word-spacing: normal;
	*display: inline;
	*zoom: 1;
}
.item h4 {
	margin: 5px 0;
	padding: 0;
	font-size: 1.2rem;
	font-weight: normal;
	line-height: 1.25em;
	text-align: center;
}
.item a:hover h4 {
	color: #DC1B76;
}
.item .mark {
	display: table;
	margin: 10px auto 10px;
	font-size: 1.1rem;
}
.item .mark li {
	display: table-cell;
	text-align: center;
}
.item .mark li:nth-child(2) {
	padding-left: 10px;
}
.item .mark li::before {
	position: relative;
	bottom: 2px;
	display: inline-block;
	content: "";
	height: 28px;
	margin-right: 2px;
	vertical-align: middle;
}
.item .mark li:nth-child(1)::before {
	width: 14px;
	background: url(../images/1802office/icon_childbirth_before.svg) no-repeat;
	background-size: 14px 28px;
}
.item .mark li:nth-child(2)::before {
	width: 11px;
	background: url(../images/1802office/icon_childbirth_after.svg) no-repeat;
	background-size: 11px 28px;
}
.price {
	position: relative;
	margin: 12px 0 0;
	padding: 12px 0;
	border: 1px solid #ddd;
	font-family: Roboto, 'Noto Sans JP', sans-serif !important;
	line-height: 1;
}
.price::before {
	position: absolute;
	top: -6px;
	left: 50%;
	display: block;
	content: "";
	width: 8px;
	height: 8px;
	margin-left: -6px;
	background: #fff;
	transform: rotate(-45deg);
	border-top: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
.price_list {
	padding-right: 4.5em;
	color: #999;
	font-size: 1.1rem;
	text-align: center;
	text-decoration: line-through;
}
.price_list .tax {
	display: none;
}
.price .total {
	position: relative;
	margin-top: 4px;
}
.price .down {
	position: absolute;
	top: -17px;
	left: 50%;
	padding: 2px 2px 1px;
	background: #db2a34;
	color: #fff;
	font-size: 1.1rem;
}
.price .total {
	color: #db2a34;
	font-size: 1.8rem;
	text-align: center;
}
.price .total .tax {
	color: #333;
	font-size: 1rem;
	margin-left: 2px;
}
.pickup {
	position: relative;
	overflow: hidden;
	border: 0;
}
.pickup::before {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	content: '';
	display: block;
	border: 4px solid #e2e0d4;
	pointer-events: none;
}
.pickup::after {
	position: absolute;
	top: 4px;
	left: -114px;
	content: 'PICK UP';
	display: block;
	padding: 4px 120px 2px;
	background: #f36a84;
	color: #fff;
	font-family: Roboto;
	font-size: 1.4rem;
	font-weight: bold;
	transform: rotate(-14deg);
	pointer-events: none;
}
@media only screen and (max-width:640px) {
	.item {
		padding: 0 10px;
	}
	.item > li {
		width: 48%;
		width: -webkit-calc((100% - 10px) / 2);
		width: calc((100% - 10px) / 2);
		margin-top: 30px;
	}
	.item > li:nth-child(even) {
		margin-left: 10px;
	}
	.pickup > li:nth-child(1),
	.pickup > li:nth-child(2) {
		margin-top: 0;
	}
	.pickup {
		padding: 20px 10px;
	}
}
@media print, screen and (min-width:1000px) {
	.wrapper h3 {
		margin: 100px 0 20px;
		font-size: 3.2rem;
	}
	.subcatch {
		font-size: 2.4rem;
	}
	.wrapper h3.hd-subctg {
		margin-top: 40px;
		padding-bottom: 8px;
		font-size: 2.1rem;
	}
	.item > li {
		width: 23%;
		width: -webkit-calc((100% - 30px) / 4);
		width: calc((100% - 30px) / 4);
		margin-top: 40px;
	}
	.item > li:not(:nth-child(4n+1)) {
		margin-left: 10px;
	}
	.pickup {
		padding: 0 40px 40px !important;
	}
	.pickup > li {
		width: 48%;
		width: -webkit-calc( (100% - 40px) / 2);
		width: calc( (100% - 40px) / 2);
	}
	.pickup > li:not(:nth-child(4n+1)) {
		margin-left: 0;
	}
	.pickup > li:nth-child(even) {
		margin-left: 40px;
	}
	.pickup::before {
		border: 8px solid #e2e0d4;
	}
	.pickup::after {
		top: 14px;
		left: -184px;
		padding: 4px 200px 2px;
		font-size: 2.1rem;
	}
	.chip span {
		width: 18px;
		height: 18px;
	}
	.item h4 {
		min-height: 28px;
		font-size: 1.3rem;
	}
	.item .mark {
		font-size: 1.3rem;
	}
	.price_list {
		font-size: 1.2rem;
	}
	.price .total {
		font-size: 1.8rem;
	}
}
.swiper-slide {
	margin: 0 auto;
}
.rms-search a {
	display: block;
	width: 280px;
	height: 2em;
	margin: 0 auto 4em;
	padding: 0 1em;
	border:1px solid #000;
	border-radius: 1em;
	font-size: 1.6rem;
	font-weight: normal;
	line-height: 2em;
	opacity: .2s;
}
.rms-search a:hover {
	background: #000;
	color: #fff;
	text-decoration: none;
}


/* お宮参り用イントロ */
.intro-o::before {
	display: block;
	content: '';
	width: 10px;
	height: 10px;
	margin: 0 auto 30px;
	border: 1px solid #000;
}
.intro-o {
	max-width: 800px;
	margin: 30px auto;
	font-family: Roboto, 'Noto Sans JP', sans-serif;
	font-size: 1.6rem;
	line-height: 1.75;
	text-align: left;
}
.intro-o > h2 {
	position: relative;
	margin: 1.5em 0;
	padding: 4px 0 2px .5em;
	border-left: 3px solid #000;
	font-family: 'EB Garamond', 'Shippori Mincho', sans-serif;
	font-size: 1.8rem;
	font-weight: normal;
}
.intro-o > h2::before {
	position: absolute;
	top: 0;
	left: -3px;
	display: block;
	content: '';
	width: 3px;
	height: 50%;
	background: #cab588;
}
.intro-o .reason {
	padding: 10px 20px 20px;
	background: #f5f1e8;
}
.intro-o .reason > li {
	counter-increment: count;
}
.intro-o .reason h2 {
	position: relative;
	margin: 0;
	padding: 1em 0 1em 3rem;
	font-size: 1.7rem;
	font-weight: normal;
}
.intro-o .reason h2::before {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-45%);
	display: block;
	content: counter(count);
	font-family: cursive;
	font-size: 2.4rem;
}
@media only screen and (max-width:999px) {
	.intro-o {
		padding: 0 15px;
	}
}
@media print, screen and (min-width:1000px) {
	.intro-o {
		margin: 80px auto 120px;
		font-size: 1.8rem;
	}
	.intro-o > h2 {
		font-size: 2rem;
	}
	.intro-o .reason {
		padding: 10px 30px 30px;
	}
	.intro-o .reason h2 {
		padding: 1.5em 0 1.5em 4rem;
		font-size: 1.9rem;
	}
	.intro-o .reason h2::before {
		font-size: 3.2rem;
	}
}

/* フォーマル用イントロ */
.intro-f {
	margin: 10px;
}
.intro-f p {
	font-size: 1.3rem;
	text-align: center;
}
.intro-f p:nth-of-type(n+2) {
	margin-top: .5em;
}
.intro-f .marker {
	background: #fcc;
}
.intro-f + h3 {
	margin-top: 30px;
}
@media print, screen and (min-width:768px) {
	.intro-f {
		margin: 40px 0;
	}
	.intro-f p {
		font-size: 1.8rem;
	}
}

.howabout {
	margin: 20px 0 0;
}
.howabout > dt {
	position: relative;
	border: solid #000;
	border-width: 1px 0;
	margin: 0 0 10px;
	padding: 4px 0 3px;
	font-weight: bold;
	text-align: center;
	cursor: pointer;
}
.howabout > dt::after {
	position: absolute;
	top: 45%;
	right: 10px;
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border: solid #000;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
	margin-top: -4px;
	transition: .2s;
}
.howabout > dt.active::after {
	transform: rotate(-135deg);
	margin-top: -1px;
}
.howabout > dd {
	display: none;
}
.howabout > dd > p {
	padding: 10px 30px;
}
.howabout .ttl-reason {
	margin: 1em 0;
	font-family: 'EB Garamond', 'Shippori Mincho', sans-serif;
	font-size: 1.4rem;
	text-align: center;
}

/* Page Navi */
.wrapper-pnav {
	max-width: 1000px;
	margin: 0 auto;
}
.wrapper-pnav.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	max-width: none;
	margin: 0;
	z-index: 1000000;
}
.pnav {
	margin-top: 1px;
	background: #323232eb;
	border: solid #e5b5b9;
	border-width: 0 0 3px;
}
.wrapper-pnav.fixed .pnav {
		margin-top: 0;
}
.pnav > ul {
	display: flex;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
}
.pnav > ul > li {
	flex: 1;
}
.pnav2row > ul > li {
	flex: initial;
	width: 25%;
}
.pnav > ul > li:nth-child(n+2) {
	border-left: 1px solid #777173;
}
.pnav2row > ul > li:nth-child(n+2) {
	border-left: 0;
}
.pnav2row > ul > li:nth-child(n+5) {
	border-top: 1px solid #777173;
}
.pnav2row > ul > li:not(:nth-child(4n+1)) {
	border-left: 1px solid #777173;
}
.pnav > ul > li > a {
	position: relative;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 20px 0;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1.25;
	text-align: center;
}

.pnav > ul > li > a::after {
	position: absolute;
	bottom: 5px;
	left: 50%;
	display: block;
	content: '';
	width: 4px;
	height: 4px;
	margin: 0 0 0 -2px;
	border-bottom: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
/* .pnav > ul > li > a:hover::after {
	border-color: #fff;
} */

.pnav > ul > li > a:hover {
	background: #777173;
}
.pnav > ul > li > a > span {
	display: block;
	width:100%;
	color: #ed8895;
	font-size: 2rem;
}
/*
.pnav > ul > li > a::after {
	position: absolute;
	top: 50%;
	right: 6px;
	display: block;
	content: '';
	width: 4px;
	height: 4px;
	border: solid #fff;
	border-width: 0 1px 1px 0;
	transform: translateY(-50%) rotate(45deg);
}

4列4列
 .pnav-col4-col4 > ul {

}
.pnav-col4-col4 > ul > li {
 flex: initial;
 width: calc( 100% / 4 );
}
.pnav-col4-col4 > ul > li:nth-child(4n+1) {
 border-left: 0;
}
.pnav-col4-col4 > ul > li:nth-child(n+5) {
 border-top: 1px solid #777173;
}
*/
/* @media only screen and (max-width:767px) { */
/* 上4列下3列追加 */
.pnav-col4-col3 > ul > li,
.pnav-col4-col4 > ul > li {
	flex: initial;
	width: calc( 100% / 4 );
	height: 60px;
}
.pnav-col4-col3 > ul > li:nth-child(n+5) {
	border-top: 1px solid #777173;
	width: calc( 100% / 3 );
}
.pnav-col4-col4 > ul > li:nth-child(4n+1) {
	border-left: 0;
}
.pnav-col4-col4 > ul > li:nth-child(n+5) {
	border-top: 1px solid #777173;
}
}

@media print, screen and (min-width:768px) {
	/* .pnav {
		border-width: 0 0 5px;
	} */
	.pnav > ul > li > a {
		padding: 20px 0;
		font-size: 1.6rem;
	}
	.pnav > ul > li > a::after {
		right: 10px;
		width: 6px;
		height: 6px;
		border-width: 0 2px 2px 0;
	}
	.pnav > ul > li > a > span {
		font-size: 2.6rem;
	}
}

/* 1000円OFFクーポン */
.item > li {
	position: relative;
	margin-top: 40px !important;
}
.label-coupon1000 {
	position: absolute;
	top: -24px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	margin-bottom: 6px;
	padding: 4px;
	background: #bf0000e6;
	color: #fff;
	font-size: 1.2rem;
	line-height: 1;
	text-align: center;
}
.label-coupon1000::after {
	position: absolute;
	bottom: -4px;
	left: 50%;
	margin-left: -6px;
	display: block;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 6px 0 6px;
	border-color: #bf0000e6 transparent transparent transparent;
}
@media print, screen and (min-width:768px) {
	.item > li {
		margin-top: 60px !important;
	}
	.label-coupon1000 {
		top: -30px;
		padding: 6px 6px 5px;
		font-size: 1.4rem;
	}
}

.pagenav-ctg-col2,
.pagenav-ctg-col3,
.page-nav-bnr {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
/* 福袋 販売日程 */
.date-fuku {
	position: absolute;
	top: -30px;
	left: 0;
	white-space: nowrap;
	width: 100%;
	padding: 6px 6px 5px;
	background: #e272bc;
	color: #fff;
	font-size: 1.1rem;
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
.date-fuku::after {
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX( -50% );
	display: block;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 6px 0 6px;
	border-color: #e272bc transparent transparent transparent;
}
.list-timesale {
	margin-top: 30px;
}
@media only screen and (max-width: 767px) {
	.sp-item2.special > li {
		margin-top: 40px !important;
	}
}
@media print, screen and (min-width:768px) {
	.date-fuku {
		top: -34px;
		font-size: 1.6rem;
	}
	.list-timesale {
		margin-top: 40px;
	}
	.pc-item4.special > li {
		margin-top: 60px !important;
	}
}

.try-f {
	width: auto !important;
	max-width: 800px !important;
	margin: 60px auto !important;
}


.item h4 {
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
	justify-content: center;
}
.item h4 > * {
	width: 100%;
}
.item h4 > .notice {
	display: inline-block;
	margin: 4px 0;
	padding: 1px 6px 3px;
	background: #9c85c9e3;
	color: #fff;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1;
}
@media print, screen and (min-width:768px) {
	.item h4 > .notice {
		font-size: 1.3rem;
	}
}

/* 訴求ラベル */
.itembox .pic {
	position: relative;
}
.itemlabel-content {
	position: absolute;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 3px 0 2px;
	background: #db2a6be0;
	color: #fff;
	font-family: Roboto, 'Noto Sans JP', sans-serif;
	font-size: 1.4rem;
	line-height: 1;
	z-index: 10;
}
.formalcoupon500 .itemlabel-content {
	background: #db742ae0;
}

@media print, screen and (min-width:768px) {
	.itemlabel .pic::before {
		padding: 4px 0;
		font-size: 1.4rem;
	}
}

/* 03formalsale途中の価格順メニュー */
.nav-page {
	background: #333;
}
.nav-page ul {
	display: flex;
	max-width: 1000px;
	/* margin: 0 auto; */
	padding: 0;
}
.nav-page li {
	flex: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 60px;
	color: #fff;
	font-size: 3.6vw;
	text-align: center;
	line-height: 1.15em;
	cursor: pointer;
	transition: .2s;
}
/* 3列 */
/* .nav-page li:nth-child(n+2) {
	border-left: 1px solid #666;
} */
/* 上2列下2列 */
/* .nav-page > li:nth-child(-n+2) {
	width: calc( 100% / 2 );
}
.nav-page > li:nth-child(n+2) {
	width: calc( 100% / 2 );
} */
/* 上2列下2列の線 */

.nav-page li:hover {
	background: #444;
}
.nav-page li.active {
	background: #555;
}
.nav-page li:nth-child(n+2) {
	border-left: 1px solid #666;
}
@media print, screen and (min-width:769px) {
	.nav-page ul {
		border: solid #666;
		border-width: 0 1px 0
	}
	.nav-page li {
		font-size: 1.6rem;
	}
}

/* フォーマルセールをもっと見る */
.btn-formalsale a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 300px;
	height: 44px;
	margin: 10px auto 40px;
	background: #b51010;
	color: #fff;
	font-size: 1.4rem;
}
.btn-formalsale a:hover {
	background: #333;
}
.btn-formalsale a::after {
	position: absolute;
	top: 50%;
	right: 8px;
	display: block;
	content: '';
	width: 6px;
	height: 6px;
	border: solid #fff;
	border-width: 1px 1px 0 0;
	transform: rotate(45deg) translate(-52%, 0);
}
@media print, screen and (min-width:768px) {
	.btn-formalsale a {
		width: 400px;
		margin: 20px auto 80px;
		font-size: 1.6rem;
	}
}
