
#contents .box-side-main .main {
	min-width: 0;
}

h2.svc-title {
	font-size: 32px;
	font-weight: 800;
	color: #222;
	text-align: center;
	background-image: url('../img/svc_line.png');
	background-position: center bottom;
	background-size: 80px auto;
	background-repeat: no-repeat;
	padding-bottom: 20px;
}

.svc-layout-area2 {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}

.svc-layout-area1-photo {
	width: 495px;
}

.svc-layout-area1-photo img {
	width: 100%;
}

.svc-layout-area1-txt {
	width: 495px;
	font-size: 16px;
	color: #444;
}


.svc-layout-area3 {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}

a.svc-button {
	background-color: #00AF95;
	font-size: 16px;
	color: #fff !important;
	text-align: center;
	border-radius: 6px;
	font-weight: bold;
	padding: 14px 10px;
	width: 240px;
	position: relative;
}

.svc-button::after {
	content: '';
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-top: 8px solid #00AF95;
}

.svc-layout-area4 {
	margin-top: 100px;
	background-color: #F3F3F3;
	padding: 100px 30px;
}

.svc-layout-area5 {
	margin-top: 60px;
	display: flex;
	justify-content: space-between;
}

.svc-layout-boxA {
	background-color: #fff;
	border-radius: 6px;
	padding: 24px;
	width: 310px;
	position: relative;
	text-align: center;
}

.svc-layout-number {
	position: absolute;
	top: -25px;
	left: 50%;
    transform: translate(-50%, 0);
	background-color: #C2D968;
	color: #fff;
	font-size: 28px;
	font-weight: bold;
	border-radius: 100px;
	width: 50px;
	height: 50px;
	line-height: 1.9;
}

.svc-layout-boxA-image {
	margin: 40px auto 30px;
}

.svc-layout-boxA-image img {
	height: 140px;
	text-align: center;
}

.svc-layout-boxA-title {
	font-size: 22px;
	color: #00AF95;
}

.svc-layout-boxA-txt {
	font-size: 14px;
	color: #555;
	text-align: left;
}

.svc-layout-boxA-txt span {
	font-size: 12px;
}

.svc-layout-area6 {
	margin-top: 100px;
}

.svc-title-sub {
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #00AF95;
	margin-bottom: 0.2em !important;
}

.svc-layout-area7 {
	margin-top: 60px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.svc-layout-boxB {
	width: 510px;
	border: 4px solid #F3F3F3;
	border-radius: 6px;
	margin-bottom: 30px;
	position: relative;
}


.svc-layout-boxB .svc-layout-number {
	position: absolute;
	top: -20px;
	left: 10px;
	background-color: #C2D968;
	color: #fff;
	font-size: 22px;
	font-weight: bold;
	border-radius: 100px;
	width: 40px;
	height: 40px;
	text-align: center;
	line-height: 1.9;
}

.svc-layout-boxB-txt {
	font-size: 20px;
	color: #444;
	line-height: 1.6;
	margin: 40px 10px 30px 30px;
}

.svc-layout-boxB-image1 {
	float: right;
	height: 100px;
    margin: -10px 20px 20px 20px;
}

.svc-layout-boxB-image2 {
	float: right;
	height: 100px;
    margin: -10px 20px 20px 20px;
}

.svc-layout-boxB-image3 {
	float: right;
	height: 120px;
    margin: -20px 30px 0 20px;
}

.svc-layout-boxB-image4 {
	float: right;
	height: 70px;
    margin: 0 30px 20px 20px;
}



@media (max-width: 1300px) {
	.svc-layout-area1-photo,
	.svc-layout-area1-txt {
		width: 48%;
	}
	a.svc-button {
		width: 23%;
	}
	.svc-layout-boxA {
		width: 32%;
	}
	.svc-layout-boxB {
		width: 48%;
	}
	.svc-layout-boxA-image img {
		height: 100px;
	}
}


@media (max-width: 900px) {
	.svc-layout-area2 {
		margin-top: 30px;
		display: block;
	}
	.svc-layout-area1-photo,
	.svc-layout-area1-txt {
		width: 100%;
	}
	.svc-layout-area1-txt {
		margin-top: 10px;
	}
	.svc-layout-area3 {
		margin-top: 30px;
	}
	.svc-layout-area3 {
		flex-wrap: wrap;
	}
	.svc-layout-area4,
	.svc-layout-area5,
	.svc-layout-area6 {
		margin-top: 50px;
	}
	.svc-title-sub {
		font-size: 14px;
	}
	.svc-layout-area4 {
		padding: 50px 20px;
	}
	h2.svc-title {
		font-size: 22px;
	}
	.svc-layout-area1-txt {
		font-size: 12px;
	}
	a.svc-button {
		font-size: 12px;
		padding: 6px 6px 8px;
	}
	.svc-layout-number,
	.svc-layout-boxB .svc-layout-number {
		font-size: 16px;
		width: 32px;
		height: 32px;
		top: -12px;
	}
	.svc-layout-boxA-txt {
		font-size: 12px;
	}
	.svc-layout-boxA-title {
		font-size: 18px;
	}
	.svc-layout-area5 {
		display: block;
	}
	.svc-layout-boxA {
		width: 100%;
        margin-top: 30px;
        padding: 18px;
	}
	.svc-layout-boxA-image {
		margin: 20px auto 10px;
	}
	.svc-layout-area7 {
		margin-top: 30px;
		display: block;
	}
	.svc-layout-boxB {
		width: 100%;
		border: 2px solid #F3F3F3;
		margin-bottom: 20px;
	}
	.svc-layout-boxB-txt {
		font-size: 16px;
		margin: 20px 10px 12px 20px;
	}
	
	.svc-layout-boxB-image1 {
		height: 60px;
	    margin: -8px 10px 10px 20px
	}
	
	.svc-layout-boxB-image2 {
		height: 60px;
	    margin: -8px 10px 10px 20px;
	}
	
	.svc-layout-boxB-image3 {
		height: 70px;
        margin: -12px 20px 0px 10px;
	}
	
	.svc-layout-boxB-image4 {
		height: 46px;
        margin: -1px 20px 10px 20px;
	}
	.svc-button::after {
		bottom: -6px;
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		border-top: 6px solid #00AF95;
	}
	.svc-layout-boxA-image img {
		height: 80px;
	}
	
}

@media (max-width: 600px) {
	.svc-layout-area3 {
		flex-wrap: wrap;
	}
	.svc-layout-area3 {
		margin-top: 10px;
	}
	a.svc-button {
		margin-top: 20px;
		width: 48%;
	}
}

/* 20260114追加 */
.column-area {
	background-color: #F3F3F3;
	padding: 30px;
}
@media screen and (max-width: 600px) {
	.column-area {
		padding: 10px;
	}
}

.box-items{
	--gap:0px;
	--col:1;
	display: flex;
	flex-wrap: wrap;
	gap: var(--gap);
}

.box-items.col4{
	--gap:30px;
	--col:4;
}

@media screen and (max-width: 600px) {
	.box-items.col4{
		--gap:10px;
		--col:2;
	}
}

.box-item{
	flex-basis: calc( 100% / var(--col) - ( var(--gap) * (var(--col) - 1) / var(--col) ) );
	box-sizing: border-box;
}

.item-cluster{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 8px;
}

.tag{
	font-size: 11px;
	font-weight: normal;
	line-height: 1;
	padding: 6px;
	border-radius: 4px;
	color: #444;
	background-color: #F3F3F3;
	margin: 0px;
}

.item-card{
	background-color: #ffffff;	
	padding: 3px;
	border-radius: 6px;
}

.item-card a{
	color: inherit;
	text-decoration: none;
}

.item-card .img {
    position: relative;
    width: 100%;
    aspect-ratio: 1;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}
.item-card .texts {
		text-align: center;
}

.item-card-name{
	font-size: 12px;
	font-weight: bold;
	line-height: 1.7;
	margin-top: 14px;
}
.item-card-annotation{
    font-size: 11px;
    margin-top: -10px;
}

.price-text{
	font-size: 20px;
	font-weight: bold;
	color: #E60012;
	margin: 10px 0px 18px;
}

.price-unit{
	font-size: 0.583em;
}

.tab-slider-tabs{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin:30px 0px 30px;
}

.common-button {
	padding: 0.5em;
	position: relative;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	height: 32px;
	font-size: 0.86rem;
	font-weight: bold;
	color:  var(--text-color);
	background-color: var(--bg-color);
	border-radius: 4px;
	border: none;
	cursor: pointer;
}

.common-button.fill-green{
	--text-color: #ffffff;
	--bg-color: #C2D968;
}

.common-button.fill-green.active {
    --bg-color: #00AF95;
}

.common-button.active::after {
    --size: 12px;
    content: "";
    position: absolute;
    z-index: 1;
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
    background: var(--bg-color);
    width: var(--size);
    height: calc(var(--size) / 2 * tan(60deg));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
}

/* ▼20260122 即日プリントサービスページ作成 */
.scn-compatible {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 4rem;
}
.scn-compatible-item {
	display: flex;
	flex-wrap: wrap;
	width: calc(50% - 12px);
	background-color: #fff;
	padding-top: 20px;
	position: relative;
	border: 1px solid #CCC;
}
.scn-compatible-item-img {
	width: 165px;
	margin-left: 20px;
	margin-bottom: 20px;
}
.scn-compatible-item-img img {
	width: 100%;
	border-radius: 6px;
}
.scn-compatible-txtBox {
	width: calc(100% - 225px);
	margin: 0 20px;
	display: flex;
	flex-direction: column;
}
.scn-compatible-txtBox-ttl {
	line-height: 1.5em;
	font-size: 1rem;
	color: #16af96;
}
.scn-compatible-txtBox p {
	line-height: 1.7em;
	font-size: 0.8em;
}
.scn-compatible-txtBox-tel a {
	font-weight: normal;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 600;
}
.scn-compatible-item-tel a::after {
	content: "";
	display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
}
.scn-compatible-txtBox-tel a:hover {
	text-decoration: none;
}
.scn-compatible-txtBox-link {
	margin-top: auto;
	text-align: right;
}
.scn-compatible-txtBox-link img {
	margin-left: 8px;
}

@media screen and (max-width: 1000px){
	.scn-compatible-item {
		width: 100%;
	}
	.scn-compatible-item-img {
		width: 80px;
	}
	.scn-compatible-txtBox {
		width: calc(100% - 140px);
		margin: 0 20px;
		display: block;
	}
	.scn-compatible-txtBox-ttl {
		font-size: 1.1rem;
	}
}
/* ▲20260122 即日プリントサービスページ作成 */

/* ▼2026 サービス利用者レビュー */
.review-works-area {
    background-color: #e9f6f3;
    border-radius: 8px;
	padding-top: 40px;
    padding-bottom: 20px;
    margin-bottom: 60px;
}
.product_review {
    background-color: #fff;
    border-radius: 8px;
    padding: 20px;
    margin-left: 10px;
    align-items: stretch;
}
.product_review p.product_review3 {
    font-size: 0.8em;
    text-align: left;
    margin-top: 1em;
    margin-bottom: 0px;
}
.recommended_products{
    padding: 10px;
    margin: 0px;
}
.recommended_products.review-slides {
    display: block;
}
.review-works-area .slide-common .slick-arrow {
		width: 25px;
		height: 35px;
		background-image: url("/itemcategory/root/img/right_arrow.png");
}
.recommended_products .prevArrow, .recommended_products .nextArrow {
    display: block;
    width: 24px;
    height: 24px;
    border-top: solid 2px #dcdddd;
    position: absolute;
    z-index: 1;
    top: calc(50% - 12px);
}
.review-works-area .slide-common .prevArrow {
    width: 25px;
    height: 35px;
    background-image: url("/itemcategory/root/img/left_arrow.png");
}
.recommended_products .prevArrow {
    transform: none !important;
    left: 10px !important;
    z-index: 100000;
    border: none !important;
    text-indent: -9999px;
    width: 25px !important;
    height: 36px !important;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("/itemcategory/root/img/left_arrow.png");
}
.recommended_products .nextArrow {
    border-right: solid 2px #dcdddd;
    transform: rotate(45deg);
    right: 0;
}
.recommended_products .nextArrow {
    transform: none !important;
    right: 10px !important;
    z-index: 100000;
    border: none !important;
    text-indent: -9999px;
    width: 25px !important;
    height: 36px !important;
    background-size: contain;
    background-repeat: no-repeat;
    background-image: url("/itemcategory/root/img/right_arrow.png");
}
.product_review_image.-left {
    float: left;
    margin-right: 10px;
}
.product_review_image img {
    width: 60px;
    height: 60px;
}
@media screen and (max-width: 1000px) {
	.product_review_image img {
	    width: 40px;
	    height: 40px;
	}
}
.product_review_image.-avatar {
    border-radius: 100px;
	overflow: hidden;
	margin-bottom: 10px;
}
.product_review p.product_review2 {
	margin-bottom: 0 !important;
}
/* ▲2026 サービス利用者レビュー */

/* ▼20260129 即日プリントサービスページ店舗SP */
@media screen and (max-width: 500px) {

	/* 一覧は1列 */
	.scn-compatible {
		flex-direction: column;
	}

	/* カードも1列 */
	.scn-compatible-item {
		width: 100%;
		flex-direction: column;
		padding: 16px;
	}

	.scn-compatible-item-img {
		width: 100%;
		margin: 0 0 12px 0;
	}

	.scn-compatible-txtBox {
		width: 100%;
	}
    .scn-compatible-txtBox-link img {
	padding-right: 10px;
    }
}

.sp-br {
  display: none;
}

/* スマホだけ改行 */
@media screen and (max-width: 500px) {
  .sp-br {
    display: block;
  }
}

.slick-track {
    display: flex;
}
.slick-slide {
    height: auto !important;
}

/* ▲20260129 即日プリントサービスページ店舗SP */


/* 来店サービス */
.checklist li {
  position: relative;
  padding-left: 25px; /* チェックマーク分のスペース */
  margin-bottom: 16px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.5;
  color: #555;
}

.checklist li::before {
  content: "✔"; /* チェックマークの記号 */
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1rem;
  color: #00af95; /* チェックマークの色 */
}
@media (max-width: 900px) {
    .checklist li {
        font-size: 12px;
    }
}
.store-img{
    height: auto;
    width: 140px;
    border-radius: 6px;
}
.store-txt1{
    font-size: 14px;
}
.store-txt2{
    font-size: 20px;
}
.store-txt3{
    font-size: 15px;
}
.store-txt4{
    font-size: 14px;
    margin: 20px 0px 5px 0px;
}
.store-txt5{
    margin: 0px 0px 5px 0px;
    font-size: 13px;
}
.title-color{
    color: #00af95;
}
.store-m{
    margin: 30px 10px 30px 30px;
}
.store-container-bc{
    background-color: #ffff;
}
.store-line{
    border: 4px solid #F3F3F3;
}
@media screen and (max-width: 767px) {
    .features-box-area .features-txt {
        display: block !important;
    }
}
@media (max-width: 900px) {
    .store-txt2 {
        font-size: 18px;
    }
    .store-line{
        margin-top: 10px;
    }
}
.store-print-box{
    padding: 30px 30px 30px 30px;
}
.store-mr{
    margin-right: 50px;
}
.store-link {
  color: #00AF95 !important;
  text-decoration: none !important;
  transition: color 0.3s !important;
}
.store-link:hover {
  color: #c2d968 !important;
}


.store-button a {
  background: #00AF95;
  border-radius: 5px;
  position: relative;
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 10px 0;
  color: #fff !important;
  transition: 0.3s ease-in-out;
  font-weight: bold;
  font-size: 18px;
}

.store-button a:hover {
  background: #C2D968;
  color: #fff;
}

/* 塗りつぶし矢印に変更 */
.store-button a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px; /* ボタン右端からの距離 */
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 10px solid #fff; /* 塗りつぶし矢印 */
  pointer-events: none; /* 矢印がhoverに干渉しない */
}

.store-button a:hover:after {
  border-left-color: #fff; /* ホバー時も白 */
}

@media screen and (max-width: 400px) {
    .store-button a {
        font-size: 14px;
}
}

.store-button1 {
  display: flex;               /* 親をflexに */
  justify-content: flex-end;   /* 右寄せ */
  margin-top: 2rem;
}

.store-button1 a {
  display: inline-flex;        /* ボタン内のテキストと矢印を中央揃え */
  justify-content: center;
  align-items: center;
  max-width: 200px;
  padding: 5px 30px;
  background: #00AF95;
  color: #fff !important;
  font-weight: bold;
  font-size: 13px;
  border-radius: 5px;
  text-decoration: none;       /* 下線なし */
  position: relative;
  transition: 0.3s ease-in-out;
  letter-spacing: 1px;
}

.store-button1 a:hover {
  background: #C2D968;
  color: #fff;
}



/* 矢印（右向き塗りつぶし） */
.store-button1 a:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;                 /* ボタン右端からの距離 */
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid #fff; /* 塗りつぶし右向き矢印 */
  pointer-events: none;         /* 矢印がhoverに干渉しない */
}

.store-button1 a:hover:after {
  border-left-color: #fff;      /* ホバー時の矢印色 */
}
@media screen and (max-width: 900px) {
    .store-button1 {
        display: flex; 
        justify-content: center;
        margin-top: 2rem;
}
}

.store-mt{
    margin-top: 40px;
}
@media screen and (max-width: 900px) {
    .store-mt {
        margin-top: 30px;
}
}
/* PC */
.store-txt6{
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #00AF95;
    margin-top: 20px;
    display: block;
}
/* SP */
.store-txt6.sp {
  display: none;
}

@media screen and (max-width: 900px) {
  .store-txt6.pc {
    display: none;
  }
  .store-txt6.sp {
    display: block;
    font-size: 18px;
  }
    .store-txt6{
     margin: 10px 0px -15px 0px;   
    }
}
@media screen and (max-width: 400px) {
  .store-txt6.pc {
    display: none;
  }
  .store-txt6.sp {
    font-size: 16px;
  }
}

.svc-layout-area8{
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; 
}
.store-button-text {
  text-align: center;
  font-size: 0.95rem;   /* 本文より少し小さめ */
  color: #555;
  margin-bottom: 10px;
}
.svc-layout-border{
    border: 3px solid #e3e1e1;
}
.svc-layout-area9{
    padding: 0px 30px;
}
.svc-layout-area10 {
	margin-top: 30px;
	background-color: #F3F3F3;
    padding: 15px 30px 40px 30px;
}
@media screen and (max-width: 900px) {
  .svc-layout-area10 {
    padding: 15px 20px;
    margin-top: 10px;
  }
}

.svc-layout-boxA-image1 {
	margin: 20px auto 20px;
}

.svc-layout-boxA-image1 img {
	height: auto;
	text-align: center;
    border-radius: 6px;
}
.svc-layout-boxA-title1 {
	font-size: 18px;
	color: #00AF95;
}
@media (max-width: 1000px) {
    .svc-layout-boxA-title1 {
	font-size: 15px;
    }
}
@media (max-width: 900px) {
    .svc-layout-boxA-image1 img {
        height: 150px;
    }
}


