@charset "utf-8";
a{text-decoration:none;}
.l-header,
.l-header.is-top{box-shadow:0px 0px 15px -5px #777777;}
.l-footer{background-color:var(--white-color);}
.p-shopguide__body{margin-left:10px;}
#breadcrumbs{
	display:block;
	line-height:1.2;
	text-align:left;
}
#breadcrumbs li{
	display:inline-block;
	position:relative;
}
#breadcrumbs li+li:before{
	content:"\03e";
	position:absolute;
	top:0;
}
#breadcrumbs a{display:block;}
main{margin:0 auto;}
,single main{overflow:hidden;}
.blogTtl{
	width:100%;
	position:relative;
	margin:0;
	line-height:1.0;
	overflow:hidden;
}
.blogTtl figcaption{
	display:flex;
	height:100%;
	text-align:left;
	z-index:2;
}
.blogTtl .doubleTtl{
	margin-bottom:0;
	text-align:left;
}
.blogTtl .doubleTtl:after{content:none;}
.blogTtl .doubleTtl strong{color:var(--blue-color1);}
.home main{
	max-width:1200px;
	width:90%;
}
.blogSet{
	display:grid;
	grid-template-columns:30% auto 1fr;/*46.268% 49.85%*/
	column-gap:3%;
	grid-template-rows:auto 1fr;
	
	line-height:1.0;
}
.blogSet a{
	display:block;
	line-height:1.0;
}
.blogSet a img{
	display:block;
	width:100%;
	max-width:initial;
	vertical-align:top;
}
.blogFg{
	grid-column:1 / 2;
	grid-row:1 / 3;
}
.blogFg:hover{opacity:0.7;}
.blogSet time{
	grid-column:2 / 3;
	grid-row:1 / 2;
	align-self:center;
}
.blogSet .pCat{
	grid-column:3 / 4;
	grid-row:1 / 2;
}
.blogSet .pCat a,
.boxCat a{
	display:table;
	background-color:#f2f2f2;
	color:var(--blue-color1);
	border-radius:6px;
}
.blogSet .pTtl{
	grid-column:2 / 4;
	grid-row:2 / 3;
	line-height:1.8;
}
#pager{
	display:flex;
	width:100%;
	line-height:1.0;
}
#pager li+li{margin-left:4px;}
#pager a,
#pager strong{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:100%;
	border-radius:4px;
}
#pager .page a{
	background-color:#d0d0d0;
	color:#fff;
}
#pager .page a:hover,
#pager .page strong{
	background-color:var(--blue-color1);
	color:#fff;
}
#pager .next a,
#pager .prev a{color:var(--blue-color1);}
#sideBar .catLists li,
#sideBar .archivesLists li{line-height:1.2;}
#sideBar .popularLists a{
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
}
#sideBar .popularLists img{
	width:40%;
	height:auto;
	object-fit:cover;
	object-position:center center;
	aspect-ratio:16 / 9;
}
#sideBar .popularLists span{
	display:block;
	width:53.2%;
	line-height:1.8;
	text-align:left;
}
#searchform{
	display:block;
	position:relative;
}
#searchform #s{
	width:100%;
	border:1px solid #dcdcdc;
	border-radius:4px;
	background-color:#f5f5f5;
	outline:transparent;
	font-size:16px;
}
#searchform #s::placeholder{color:#bfbfbf;}
#searchsubmit{
	display:block;
	position:absolute;
	padding:0;
	background-color:transparent;
	border:none;
	outline:transparent;
	cursor:pointer;
}
#searchsubmit use{fill:#888;}
#sideBar h3{
	display:block;
	border-bottom:1px solid #dcdcdc;
	line-height:1.0;
}
#catArticle > h2{
	width:100%;
	display:block;
	line-height:1.0;
	color:var(--blue-color1);
}
#catArticle > h3{
	width:100%;
	display:block;
	margin-top:0;
	margin-bottom:28px;
	line-height:1.0;
}
#catArticle > h3 strong{color:var(--blue-color1);}
.home .blogTtl img,
.page-template-page-headplus .blogTtl img{
	position:relative;
	max-width:1600px;
	margin:0 auto;
	z-index:1;
}
.single #breadcrumbs,
.page #breadcrumbs{width:100%;}
.single .boxTtl,
.page .boxTtl{margin-bottom:0;}
.single .blogTtl,
.single .blogTtl a,
.page .blogTtl,
.page .blogTtl a{color:#fff;}
.single .boxCat,
.page .boxCat{
	margin-top:0;
	margin-bottom:0;
}
.single .boxCat a,
.page .boxCat a{color:var(--blue-color1);}
.single .blogTtl figcaption,
.page .blogTtl figcaption{
	flex-wrap:wrap;
	justify-content:flex-start;
	
}
.single .blogTtl figcaption,
.page:not(.page-template-page-headplus) .blogTtl figcaption{align-items:center;}
.page-template-page-headplus .blogTtl figcaption{display:block!important;}
.single .blogTtl figcaption{margin:0 auto;}
.single .blogTtl time,
.page .blogTtl time{
	display:table;
	line-height:1.0;
}
.single .blogTtl .boxTtl,
.page .blogTtl .boxTtl{
	display:block;
	width:100%;
	line-height:1.84;
}
.page .blogTtl .boxLead{
	display:block;
	line-height:1.6;
}
.eContent{
	margin:0 auto;
	line-height:2.25;
}
.eContent figure{margin:0 auto;}
.eContent h2{line-height:1.9;}
#introduced{
	width:100%;
	background-color:#f2f2f2;
}
#introduced .doubleTtl strong{color:#dfdfdf;}
#introduced .doubleTtl small{color:var(--blue-color1);}
#introduced .doubleTtl:after{background-color:#8cafcf;}
#introduced .itemsList{
	max-width:1000px;
	width:90%;
	margin:0 auto;
}
#introduced .itemsList li{background-color:#fff;}
#introduced .itemsList li > a{display:block;}
#introduced .itemsList li > a img{
	width:100%;
	max-width:initial;
}
#introduced .itemsList .itemName{line-height:1.777;}
#introduced .itemsList .itemPrice{
	display:block;
	line-height:1.0;
}
#introduced .itemsList .detailBtn{line-height:1.0;}
#introduced .itemsList .detailBtn a{
	display:table;
	border:1px solid var(--blue-color1);
	color:var(--blue-color1);
}
#introduced .itemsList .detailBtn a:hover{
	background-color:var(--blue-color1);
	color:#fff;
}
#related .doubleTtl strong{color:#ebebeb;}
#related .doubleTtl small{color:var(--blue-color1);}
#related .doubleTtl:after{background-color:#8cafcf;}
#related .blogList{
	max-width:800px;
	width:90%;
	margin:0 auto;
}
#related .blogLink{
	text-align:center;
	line-height:1.0;
}
#related .blogLink a{
	display:table;
	margin:0 auto;
	border:1px solid var(--blue-color1);
	color:var(--blue-color1);
}
#related .blogLink a:hover{
	background-color:var(--blue-color1);
	color:#fff;
}
@media all and (max-width:767.98px){
	body{
		padding-top:65px;
		font-size:14px;
	}
	#breadcrumbs{font-size:12px;}
	#breadcrumbs li+li{padding-left:18px;}
	#breadcrumbs li+li:before{left:6px;}
	.home .blogTtl figcaption,
	.page-template-page-headplus .blogTtl figcaption{
		position:absolute;
		top:0;
		left:0;
		width:100%;
		height:100%;
		display:flex;
	}
	.home #breadcrumbs{
		order:1;
		width:90vw;
		margin:16px 5.333vw 0;
	}
	.home .blogTtl .doubleTtl{
		order:2;
		width:80vw;
		height:56vw;
		position:absolute;
		top:0;
		left:16.5333vw;
		display:flex;
		flex-direction:column;
		align-items:flex-start;
		justify-content:center;
		z-index:1;
	}
	.home .blogTtl img,
	.page-template-page-headplus .blogTtl img{width:100%;}
	.home main{margin-top:40px;}
	#catArticle > h2{
		margin-bottom:26px;
		font-size:20px;
	}
	.blogSet+.blogSet{margin-top:20px;}
	.blogSet .blogFg img{
		max-width:initial;
		width:100%;
		margin:0 auto 18px;
	}
	.blogSet time,
	.blogSet .pCat{line-height:1.0;}
	.blogSet time{
		margin-top:0;
		font-size:13px;
	}
	.blogSet .pCat{
		margin:10px 0;
		text-align:left;
	}
	.blogSet .pCat a{
		padding:4px 12px;
		margin-left:0;
		border-radius:5px;
		font-size:14px;
		text-align:left;
	}
	.blogSet .pTtl{
		margin-top:0;
		font-size:16px;
		text-align:left;
	}
	#pager{
		justify-content:center;
		margin-top:54px;
		text-align:center;
		font-size:14px;
	}
	#pager li{
		width:30px;
		height:30px;
	}
	#sideBar{margin-top:65px;}
	#searchform #s{
		height:42px;
		padding:12px 32px 12px 8px;
	}
	#searchsubmit{
		width:18px;
		height:18px;
		top:calc(50% - 9px);
		right:16px;
	}
	#sideBar h3{
		margin:56px 0 14px;
		padding-bottom:14px;
		font-size:15px;
	}
	#sideBar aside li{font-size:15px;}
	#sideBar aside li+li{margin-top:20px;}
	.single .blogTtl,
	.page .blogTtl{background-color:var(--blue-color1);}
	.single .blogTtl figcaption,
	.page .blogTtl figcaption{padding:20px 5vw;}
	.single #breadcrumbs,
	.page #breadcrumbs{margin-bottom:36px;}
	.single .blogTtl time,
	.page .blogTtl time{font-size:14px;}
	.single .boxCat,
	.page .boxCat{margin-left:10px;}
	.single .boxCat a,
	.page .boxCat a{padding:4px 10px;}
	.single .blogTtl .boxTtl,
	.page .blogTtl .boxTtl{
		margin-top:12px;
		font-size:18px;
	}
	.page .blogTtl .boxLead{font-size:15px;}
	.page-template-page-headplus .blogTtl .boxLead{
		padding-right:3%;
		padding-left:3%;
	}
	.eContent{
		width:90vw;
		margin-top:48px;
		margin-bottom:80px;
	}
	.eContent h2{
		font-size:18px;
    	padding: .5em .7em;
    	border-left: 5px solid #2589d0;
    	border-bottom: 3px solid #cdd2d9;
    	background-color: #edf2f9;
    	color: #333333;
	}
	.eContent h3{
    	padding:0 .4em .2em;
    	border-bottom: 3px solid #2589d0;
    	background-color: #ffffff;
    	color: #333333;
	}
	.eContent *+h1{margin-top:60px;}
	.eContent *+h2{margin-top:50px;}
	.eContent *+h3{margin-top:40px;}
	.eContent *+h4{margin-top:26px;}
	.eContent *+h5{margin-top:18px;}
	.eContent *+h6{margin-top:12px;}
	.eContent p{font-size:16px;}
	.eContent *+p{margin-top:12px;}
	.eContent dl+.wp-block-image,
	.eContent ul+.wp-block-image,
	.eContent ol+.wp-block-image,
	.eContent p+.wp-block-image{margin-top:40px;}
	#introduced{padding:60px 0;}
	#introduced .itemsList li{
		padding:30px 3%;
		border-radius:10px;
	}
	#introduced .itemsList li+li{margin-top:30px;}
	#introduced .itemsList li > a{
		width:60%;
		margin:0 auto 16px;
	}
	#introduced .itemsList li .txtBox{width:100%;}
	#introduced .itemsList .itemName{font-size:16px;}
	#introduced .itemsList .itemPrice{margin-top:12px;}
	#introduced .itemsList .itemPrice strong{font-size:16px;}
	#introduced .itemsList .itemPrice span{font-size:12px;}
	#introduced .itemsList .detailBtn{
		margin:16px auto 0;
		font-size:16px;
	}
	#introduced .itemsList .detailBtn a{
		padding:10px 20px;
		margin:0 auto;
		border-radius:20px;
	}
	#related{padding:80px 0;}
	#related .blogLink{
		margin-top:36px;
		font-size:16px;
	}
	#related .blogLink a{
		padding:10px 20px;
		border-radius:20px;
		margin:0 auto;
	}
	.p-shopguide{padding-top:80px;}
}
@media all and (min-width:768px){
	body{
		padding-top:72px;
	}
	.l-header-main{height:72px;}
	.l-header-logo{width:78px;}
	.accountMenu span[lang="en"],
	.accountMenu .cartCount{display:none;}
	.accountMenu > li{
		width:22px;
		height:22px;
	}
	.accountMenu > li > label,
	.accountMenu > li > a{
		width:100%;
		height:100%;
	}
	.accountMenu > li > label:before,
	.accountMenu > li > a:before{content:none;}
	.accountMenu svg{
		top:0;
		left:0;
	}
	.accountMenu svg use{fill:var(--blue-color1);}
	.mainMenu .productSmMenu{top:72px;}
	#breadcrumbs{font-size:14px;}
	#breadcrumbs li+li{padding-left:18px;}
	#breadcrumbs li+li:before{left:6px;}
	.home #breadcrumbs{
		position:absolute;
		z-index:2;
	}
	.home main{
		display:grid;
		grid-template-columns:1fr 300px;
		grid-template-rows:auto;
		column-gap:4.167%;
		margin-top:90px;
	}
	#catArticle{display:block;}
	#catArticle > h2{font-size:28px;}
	.blogTtl:before{
		content:"";
		display:block;
		width:50vw;
		height:100%;
		position:absolute;
		top:0;
		z-index:0;
	}
	.home .blogTtl{overflow:hidden;}
	.home .blogTtl:before{
		right:0;
		background-color:#eefafc;
	}
	#sideBar{
		padding-left:50px;
	}
	#searchform #s{
		height:42px;
		padding:12px 32px 12px 8px;
	}
	#searchsubmit{
		width:18px;
		height:18px;
		top:calc(50% - 9px);
		right:16px;
	}
	#sideBar h3{
		margin:75px 0 16px;
		padding-bottom:16px;
		font-size:16px;
	}
	#sideBar aside li{font-size:16px;}
	#sideBar .catLists li+li,
	#sideBar .archivesLists li+li{margin-top:20px;}
	#sideBar .popularLists li+li{margin-top:15px;}
	.single .blogTtl:before,
	.page .blogTtl:before{
		left:0;
		background-color:var(--blue-color1);
	}
	.blogSet time{
		margin:0 0 20px;
		font-size:16px;
	}
	.blogSet .pCat{
		margin-top:0;
		margin-bottom:20px;
		
	}
	.blogSet .pCat a,
	.boxCat a{padding:8px 15px;}
	.blogSet .pCat a{font-size:15px;}
	.blogSet .pTtl{
		margin-top:0;
		font-size:18px;
		line-height:1.8;
	}
	.home .blogTtl figcaption,
	.page-template-page-headplus .blogTtl figcaption{
		flex-direction:column;
		align-items:flex-start;
		position:absolute;
		top:0;
		z-index:1;
	}
	.home .blogTtl figcaption{justify-content:center;}
	#pager{
		justify-content:flex-end;
		margin-top:40px;
		font-size:16px;
	}
	#pager li{
		width:30px;
		height:30px;
	}
	.p-shopguide{padding-top:120px;}
	.home #breadcrumbs{top:17px;}
	.single .blogTtl figcaption,
	.page .blogTtl figcaption{
		padding-top:20px;
		padding-bottom:60px;
		z-index:2;
	}
	.single .blogTtl figcaption,
	.page:not(.page-template-page-headplus) .blogTtl figcaption{position:relative;}
	.single #breadcrumbs,
	.page #breadcrumbs{margin-bottom:70px;}
	.single .blogTtl time,
	.page .blogTtl time{font-size:16px;}
	.single .boxCat,
	.page .boxCat{margin-left:18px;}
	.single .blogTtl .boxTtl,
	.page .blogTtl .boxTtl{
		margin-top:16px;
		font-size:25px;
	}
	.page .blogTtl .boxLead{font-size:18px;}
	.eContent{
		width:90%;
		max-width:1000px;
		margin-top:85px;
		margin-bottom:120px;
	}
	.eContent h2{
		font-size:24px;
		padding: .5em .7em;
    	border-left: 5px solid #2589d0;
    	border-bottom: 3px solid #cdd2d9;
    	background-color: #edf2f9;
    	color: #333333;
	}
	.eContent h3{
		font-size:22px;
    	padding:0 .4em .2em;
    	border-bottom: 3px solid #2589d0;
    	background-color: #ffffff;
    	color: #333333;
	}
	}
	.eContent *+h1{margin-top:120px;}
	.eContent *+h2{margin-top:100px;}
	.eContent *+h3{margin-top:80px;}
	.eContent *+h4{margin-top:50px;}
	.eContent *+h5{margin-top:36px;}
	.eContent *+h6{margin-top:24px;}
	.eContent p{font-size:17px;}
	.eContent *+p{margin-top:24px;}
	.eContent dl+.wp-block-image,
	.eContent ul+.wp-block-image,
	.eContent ol+.wp-block-image,
	.eContent p+.wp-block-image{margin-top:80px;}
	#introduced{padding:180px 0 140px;}
	#introduced .itemsList li{
		display:flex;
		align-items:center;
		justify-content:space-between;
		padding:30px 3%;
		border-radius:10px;
	}
	#introduced .itemsList li+li{margin-top:30px;}
	#introduced .itemsList li > a{width:25.53%;}
	#introduced .itemsList li .txtBox{width:66%;}
	#introduced .itemsList .itemName{font-size:18px;}
	#introduced .itemsList .itemPrice{margin-top:20px;}
	#introduced .itemsList .itemPrice strong{font-size:18px;}
	#introduced .itemsList .itemPrice span{font-size:13px;}
	#introduced .itemsList .detailBtn{
		margin-top:26px;
		font-size:18px;
	}
	#introduced .itemsList .detailBtn a{
		padding:16px 36px;
		border-radius:26px;
	}
	#related{padding:160px 0 120px;}
	#related .blogLink{
		margin-top:48px;
		font-size:18px;
	}
	#related .blogLink a{
		padding:16px 36px;
		border-radius:26px;
	}
}
@media all and (min-width:768px) and (max-width:1079.98px){
	.accountMenu{width:auto;}
	.accountMenu > li:nth-child(n+4){margin-top:0;}
	.accountMenu > li+li{margin-right:15px;}
}
@media all and (min-width:768px) and (max-width:1219.98px){
	.blogTtl figcaption{width:85.714%;}
	.home .blogTtl img,
	.page-template-page-headplus .blogTtl img{
		width:114.285%;
		margin:0 -7.1425%;
	}
	.home .blogTtl figcaption,
	.page-template-page-headplus .blogTtl figcaption{left:7.143%;}
	.blogSet:nth-of-type(n+2){margin-top:46px;}
}
@media all and (min-width:768px) and (max-width:1419.98px){
	.single .blogTtl,
	.page .blogTtl{background-color:var(--blue-color1);}
	.single .blogTtl figcaption,
	.page:not(.page-template-page-headplus) .blogTtl figcaption{background-color:var(--blue-color1);}
}
@media all and (min-width:1220px){
	.blogTtl figcaption{width:1200px;}
	.home .blogTtl,
	.home .blogTtl img img{height:400px;}
	.page-template-page-headplus .blogTtl,
	.page-template-page-headplus .blogTtl img{height:500px;}
	.home .blogTtl img,
	.page-template-page-headplus .blogTtl img{
		position:absolute;
		top:0;
		left:calc(50% - 800px);
		width:1600px;
	}
	.home .blogTtl figcaption,
	.page-template-page-headplus .blogTtl figcaption{left:calc(50% - 600px);}
	.blogSet:nth-of-type(n+2){margin-top:46px;}
}
@media all and (min-width:1420px){
	.single .blogTtl:after,
	.page .blogTtl:after{
		content:"";
		display:block;
		width:1400px;
		height:100%;
		position:absolute;
		top:0;
		left:calc(50% - 700px);
		background-color:var(--blue-color1);
		border-radius:0 0 96px 0;
		z-index:0;
	}
}
@media all and (min-width:1620px){
	.home .blogTtl figcaption,
	.page-template-page-headplus .blogTtl figcaption{width:1600px;}
}
@media print{
	.l-header,
	.l-header.is-top{position:relative;}
}



/* ===== カード型リンクのスタイル (nlink-card専用) ===== */

/* --- 基本設定 --- */
:root {
  --card-bg-color: #ffffff;
  --card-border-color: #e5e7eb;
  --card-shadow-color: rgba(0, 0, 0, 0.04);
  --card-hover-shadow-color: rgba(0, 0, 0, 0.1);
  --font-color-title: #111827;
  --font-color-excerpt: #4b5563;
  --ribbon-bg-color: #fb8c00;
  --ribbon-font-color: #ffffff;
  --card-border-radius: 12px;
}

/* --- カード全体のスタイル --- */
.nlink-card {
  display: block;
  background-color: var(--card-bg-color);
  border: 1px solid var(--card-border-color);
  border-radius: var(--card-border-radius);
  box-shadow: 0 4px 10px -2px var(--card-shadow-color);
  margin: 0px 10px 25px 10px;
  overflow: hidden;
  transition: transform 0.2s ease-out, box-shadow 0.2s ease-out;
  text-decoration: none;
  color: inherit;
  position: relative;
}

.nlink-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 20px -5px var(--card-hover-shadow-color);
  cursor: pointer;
}

/* --- nlink-cardに常にリボンを表示 --- */
.nlink-card:before { /* ★変更点: .is-relatedが不要に */
  content: "関連記事";
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--ribbon-bg-color);
  color: var(--ribbon-font-color);
  padding: 5px 12px;
  font-size: 0.75rem; /* 12px */
  font-weight: bold;
  border-bottom-right-radius: var(--card-border-radius);
  z-index: 1;
}

/* --- カード内部のレイアウト (Flexbox) --- */
.nlink-card a {
  display: flex;
  text-decoration: none;
  align-items: center;
}

/* --- サムネイル画像 --- */
.nlink-card-thumbnail {
  flex-shrink: 0;
  width: 30%;
  position: relative;
  aspect-ratio: 1140 / 780;
}

.nlink-card-thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  padding: 0;
}

/* --- テキストコンテンツ --- */
.nlink-card-content {
  flex-grow: 1;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
}

.nlink-card-title {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.5;
  color: var(--font-color-title);
  margin: 0;
}

.nlink-card-excerpt {
  font-size: 0.9em;
  line-height: 1.6;
  color: var(--font-color-excerpt);
  margin: 0;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* --- スマートフォン用の表示 (レスポンシブ対応) --- */
@media screen and (max-width: 600px) {
  .nlink-card a {
    flex-direction: column;
    align-items: stretch;
  }

  .nlink-card-thumbnail {
    width: 100%;
    aspect-ratio: 1140 / 780;
  }

  .nlink-card-content {
    padding: 20px;
  }

  .nlink-card-title {
    font-size: 1.1em;
  }

  .nlink-card-excerpt {
    font-size: 0.88em;
  }
}