@charset "UTF-8";
/* ------ キーヴィジュアル ------ */
.kv {
				background: url(../images/items/kv.jpg) no-repeat center center;
				background-size: cover;
}

/* ------ pageタイトル ------ */
.page-ttl-box .page-ttl {
				letter-spacing: 0.05em !important;
}

/* ------ sectionタイトル ------ */
.sec-ttl-box {
				margin: 0 0 30px;
}
@media (min-width: 641px) {
				.sec-ttl-box {
								margin: 0 0 54px;
				}
}
.sec-ttl-box .sec-ttl {
				font-size: clamp(18px, 1rem + 2vw, 22px);
				text-align: center;
}
@media (min-width: 641px) {
				.sec-ttl-box .sec-ttl {
								font-size: 2.7rem;
				}
}

.sec-ttl-box p {
				font-size: 1.7rem;
				}

/* 見出し共通 */
.head {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				flex-wrap: wrap;
				border-bottom: 2px solid #39b54a;
				color: #39b54a;
				font-size: clamp(18px, 1rem + 1vw, 22px);
				font-weight: 500;
				line-height: 1.8;
				padding: 0 0 5px;
}
@media (min-width: 641px) {
				.head {
								font-size: 2rem;
								padding: 0;
				}
}
.head.symbol-sun-g:before {
				width: 10vw;
				height: 6vw;
				margin: 0 4px 0 0;
}
@media (min-width: 641px) {
				.head.symbol-sun-g:before {
								width: 40px;
								height: 23px;
								margin: 0 6px 0 0;
				}
}

/* サイドメニュー */
.side-menu {
				width: 100%;
				margin: 20px 0 0;
}
@media (min-width: 641px) {
				.side-menu {
								width: 169px;
								margin: 0;
				}
}
.side-menu .head {
				margin: 0 0 6px;
}
@media (min-width: 641px) {
				.side-menu .head {
								margin: 0 0 9px;
				}
}
.side-menu .side-menu-item {
				border-bottom: 1px dashed #959595;
}
@media (min-width: 641px) {
				.side-menu .side-menu-item {
								padding: 7px 0 0;
				}
}
.side-menu .side-menu-item:last-child {
				border-bottom: none;
}
.side-menu .side-menu-link {
				position: relative;
				display: block;
				color: #39b54a;
				font-size: clamp(18px, 1rem + 1vw, 22px);
				line-height: 2.2;
}
@media (min-width: 641px) {
				.side-menu .side-menu-link {
								font-size: 2rem;
				}
}
.side-menu .side-menu-link:after {
				position: absolute;
				top: 50%;
				transform: translateY(-50%) translateX(-50%) scale(0.625, 1);
				content: "＞";
				display: block;
				right: 0;
				font-size: clamp(14px, 1rem + 1vw, 18px);
				font-weight: 900;
				line-height: 1.29;
}
@media (min-width: 641px) {
				.side-menu .side-menu-link:after {
								right: -7px;
								font-size: 2.1rem;
				}
}

/* ------ 商品一覧、商品詳細ページ共通 ------ */
.items {
				margin: 23px 0 0;
}
@media (min-width: 641px) {
				.items {
								margin: 43px 0 0;
				}
}
.items .content-wrap {
				display: flex;
				justify-content: flex-start;
				align-items: flex-start;
				flex-wrap: wrap;
				flex-direction: column-reverse;
				padding: 0 0 50px;
}
@media (min-width: 641px) {
				.items .content-wrap {
								flex-direction: row;
								width: 993px;
								margin: 0 auto;
								padding: 0 0 94px;
				}
}
.items .item-wrap {
				width: 100%;
}
@media (min-width: 641px) {
				.items .item-wrap {
								width: 747px;
								margin: 0 0 0 77px;
				}
}
.items .item-wrap .head {
				margin: 0 0 15px;
}
@media (min-width: 641px) {
				.items .item-wrap .head {
								margin: 0 0 21px;
				}
}
.items .item-list-wrap {
				display: flex;
				justify-content: flex-start;
				align-items: flex-start;
				flex-wrap: wrap;
}
.items .item {
				width: 47%;
				margin: 0 6% 25px 0;
}
@media (min-width: 641px) {
				.items .item {
								width: 165px;
								margin: 0 33px 40px 0;
				}
}
.items .item:nth-child(2n) {
				margin-right: 0;
}
@media (min-width: 641px) {
				.items .item:nth-child(2n) {
								margin-right: 20px;
				}
}
@media (min-width: 641px) {
				.items .item:nth-child(4n) {
								margin-right: 0;
				}
}
.items .item-link {
				display: flex;
				justify-content: center;
				align-items: flex-start;
				flex-wrap: wrap;
				flex-direction: column-reverse;
				color: #000;
}
.items .item-name {
				font-size: clamp(16px, 1rem + 1vw, 20px);
				font-weight: 400;
				line-height: 2.11;
}
@media (min-width: 641px) {
				.items .item-name {
								font-size: 1.7rem;
								margin: -3px 0 0;
				}
}
.items .item-img {
				position: relative;
				width: 100%;
}
.items .item-img img {
				width: 100%;
}
.items .item-icon {
				position: absolute;
				top: 9px;
				left: 9px;
				width: 12vw;
				height: 12vw;
}
@media (min-width: 641px) {
				.items .item-icon {
								top: 9px;
								left: 9px;
								width: 52px;
								height: 52px;
				}
}

/* 商品詳細ページ */
.product-content .product {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				flex-wrap: wrap;
				flex-direction: column-reverse;
}
@media (min-width: 641px) {
				.product-content .product {
								align-items: flex-start;
								flex-direction: row;
				}
}
.product-content .product-detail {
				text-align: left;
				margin: 10px 0 0;
}
@media (min-width: 641px) {
				.product-content .product-detail {
								width: 259px;
								margin: -10px 0 0;
				}
}
.product-content .product-name {
				text-align: center;
				margin: 0 0 8px;
				padding: 0 0 5px;
}
@media (min-width: 641px) {
				.product-content .product-name {
								text-align: left;
				}
}
.product-content .product-period {
				text-align: center;
}
@media (min-width: 641px) {
				.product-content .product-period {
								text-align: left;
				}
}
.product-content .product-txt {
				padding: 14px 20px;
}
@media (min-width: 641px) {
				.product-content .product-txt {
								margin: 36px 0 0;
								padding: 0;
				}
}
@media (min-width: 641px) {
				.product-content .product-img {
								margin: 0 0 0 69px;
								width: 419px;
				}
}

.product-btm {
				margin: 10px 0 0;
}
@media (min-width: 641px) {
				.product-btm {
								margin: 30px 0 0;
				}
}

.product-tips {
				display: flex;
				justify-content: center;
				align-items: center;
				flex-wrap: wrap;
				flex-direction: column;
				border-top: 1px solid #676767;
				padding: 20px;
}
@media (min-width: 641px) {
				.product-tips {
								flex-direction: row;
								padding: 14px 25px 14px 0;
				}
}

.product-tips-ttl {
				font-size: clamp(16px, 1rem + 1vw, 20px);
				font-weight: 500;
				letter-spacing: 0.05em;
				line-height: 1.47;
				margin: 0 0 10px;
				padding: 0;
}
@media (min-width: 641px) {
				.product-tips-ttl {
								font-size: 1.7rem;
								min-width: 168px;
								margin: 0;
				}
}

.product-tips-txt {
				flex: 1;
				font-size: clamp(16px, 1rem + 1vw, 20px);
				letter-spacing: 0.05em;
				line-height: 1.47;
}
@media (min-width: 641px) {
				.product-tips-txt {
								font-size: 1.7rem;
				}
}