html {
	width: 100%;
	/* height: 100vh;
    */
	height: calc(var(--vh) * 100);
}

/* コンテンツ */
.contents {
	opacity: 0;
}
.contents.activate {
	opacity: 1;
	animation: fadeIn 0.5s ease-in 0s;
}

/* kv */
.kv {
	position: relative;
}
.kv .swiper-slide {
	-webkit-backface-visibility: hidden;
	/* -webkit-transform-style: preserve-3d; */
}
.kv .swiper-slide img {
	width: 100%;
	display: block;
	-webkit-transform: perspective(0);
}
.kv .progressBar.lateral::after {
	content: '';
	display: block;
	background-color: #000000;
	position: absolute;
	bottom: 1px;
	width: 53vw;
	height: 1px;
	z-index: 1;
}
.kv .progressBar.vertical::after {
	content: '';
	display: block;
	background-color: #000000;
	position: absolute;
	left: 2px;
	top: 0;
	width: 1px;
	height: 53vw;
	z-index: 1;
}
.kv .progressBar::after {
	opacity: 0;
}
.kv .progressBar.active::after {
	transition: opacity 1s;
	opacity: 1;
}
/* １枚目が縦から始まる場合は、scaleY(0)のコメントを外す*/
.kv .progressBar .swiper-progress-bar {
	transform: scaleX(0);
	position: absolute;
	z-index: 2;
	background-color: #CDE2D4;
	transition: transform 3s ease;
	/* swiper:barDurationの秒数に合わせる */
	opacity: 1;
}
.kv .swiper-parts {
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.kv .swiper-button-prev {
	position: relative;
	left: 0;
	top: 0;
	margin-top: 0;
}
.kv .swiper-button-next {
	position: relative;
	left: 0;
	top: 0;
	margin-top: 0;
}
.kv .swiper-button-next {
	background-image: url(/wp-content/themes/mytrex/img/top/slider/next@2x.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.kv .swiper-button-prev {
	background-image: url(/wp-content/themes/mytrex/img/top/slider/next@2x.png);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	transform: scale(-1, 1);
	/* 左右反転 */
}
.kv .swiper-button-prev:after,
.kv .swiper-button-next:after {
	display: none;
}
.kv .swiper-pagination {
	position: relative;
	left: 0;
	top: 0;
	text-align: left;
	width: auto;
	display: inline-block;
	padding: 0 0.7vw;
}
.kv .progressBar.lateral .swiper-progress-bar {
	left: 0;
	bottom: 0;
	width: 53vw;
	height: 4px;
}
.kv .progressBar.vertical .swiper-progress-bar {
	left: 0;
	top: 0;
	width: 4px;
	height: 53vw;
}
.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	/* 10秒かけてズームアウトさせる */
	/* animation: zoomOut 10s linear 0s;*/
	animation-fill-mode: both;
}

@keyframes fadeIn {
	0% {
		display: none;
		opacity: 0;
	}
	1% {
		display: block;
		opacity: 0;
	}
	100% {
		display: block;
		opacity: 1;
	}
}

@keyframes zoomOut {
	/* 1.15倍させる指定 */
	0% {
		transform: scale(1.15);
	}
	100% {
		transform: scale(1);
	}
}

@media screen and (min-width: 768px) {
	/* pc */
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}

	.kv .swiper-parts {
		justify-content: center;
		bottom: 2.0vw;
		font-size: 1.0vw;
		position: absolute;
		left: 0;
		right: 0;
	}
	.kv .progressBar::after {
		content: '';
		display: block;
		background-color: #000000;
		position: absolute;
		bottom: 2.6vw;
		right: 0;
		width: 20vw;
		height: 1px;
		z-index: 1;
	}
	.kv .progressBar .swiper-progress-bar {
		right: 0;
		bottom: 2.5vw;
		width: 20vw;
		height: 4px;
	}
	.kv .swiper-button-next,
	.kv .swiper-button-prev {
		width: 1.25vw;
		height: 1.25vw;
	}
}

@media screen and (max-width: 767px) {
	/* sp */
	.sp {
		display: block;
	}

	.pc {
		display: none;
	}

	.kv .swiper-parts {
		bottom: 0;
		right: 3.0vw;
		font-size: 2.4vw;
		position: absolute;
	}
	.progressBar {
		position: absolute;
	}
	.kv .swiper-button-next,
	.kv .swiper-button-prev {
		width: 2.8vw;
		height: 2.8vw;
	}
}

/* コンテンツ */
@media screen and (min-width: 768px) {
	main {
		/* margin-top: 0; */
	}

	.kv {
		margin-bottom: 8vw;
	}

	.kv_nav {
		background-color: #484848;
		display: flex;
	}
	.kv_nav li {
		width: 50%;
		font-size: 1.1vw;
		letter-spacing: 0.5em;
		text-align: center;
	}
	.kv_nav li a {
		color: #fff;
		display: block;
		padding: 1.0vw;
	}
	.kv_nav li:not(:first-child) {
		position: relative;
	}
	.kv_nav li:not(:first-child)::after {
		content: "";
		display: block;
		width: 1px;
		height: calc(100% - 1.6vw);
		background-color: #fff;
		position: absolute;
		left: 0;
		top: 0.8vw;
	}

	.technology_content {
		width: 58vw;
		margin: 0 auto 14vw;
	}
	.technology_content_navi{
		position: relative;
		width: 100%;
		bottom: 10vw;
	}
	.technology_content img {
		width: 100%;
		-webkit-transform: perspective(0);
	}

	.product_content {
		margin-bottom: 10vw;
	}
	.product_content_ttl {
		font-size: 1.8vw;
		text-align: center;
		margin-bottom: 5vw;
	}
	.product_list {
		margin-right: -2.4%;
	}
	.product_list>li {
		width: 22.6%;
		margin-right: 2.4%;
		margin-bottom: 2vw;
	}
	.product_list>li:first-child {
		background-color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.product_list>li:first-child::after {
		display: none;
	}
	.product_list>li:first-child img {
		width: 80%;
	}

	.technology_content_ttl {
		font-size: 1.8vw;
		letter-spacing: 0.56em;
		text-align: center;
		margin-left: 4vw;
		margin-bottom: 3.0vw;
	}
	.technology_animation {
		text-align: center;
		margin-bottom: 3.0vw;
	}
	.technology_animation .scrolldown {
		display: inline-block;
		position: relative;
		width: 1px;
		height: 6.5vw;
		overflow: hidden;
	}
	.technology_animation .scrolldown::before {
        content: "";
        width: 1px;
        height: 100%;
        background-color: #261e1c;
        position: absolute;
        top: 0;
        right: 0;
    }
	.technology_animation .scrolldown::after {
        height: 100%;
    }

	.journal_head {
		display: flex;
		align-items: flex-end;
		column-gap: 1.0vw;
		margin-bottom: 1.5vw;
	}
	.journal_logo {
		width: 15vw;
	}
	.journal_logo img {
		width: 100%;
	}
	.journal_ttl {
		font-size: 1.2vw;
	}
	.journal_more {
		text-align: center;
		font-size: 0.72vw;
		letter-spacing: 0.08em;
	}
	.journal_more a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.35vw 2vw;
        border: 1px solid #484848;
        border-radius: 50px;
    }
	.journal_more_arrow {
        padding-left: 0.8vw;
    }
	.journal_more img {
		width: 1vw;
	}
	.journal_content {
		width: 58vw;
		margin: 0 auto 12vw;
	}
	.journal_body {
		margin-bottom: 3.0vw;
	}
	.journal_list {
		display: flex;
		margin-left: -0.4vw;
		margin-right: -0.4vw;
	}
	.journal_list li {
		width: 19vw;
		margin: 0 0.4vw;
	}
	.journal_list li a {
		display: block;
		position: relative;
	}
	.journal_list_thumb img {
		width: 100%;
		height: 18vw;
		object-fit: cover;
	}
	.journal_list_ttl {
		position: absolute;
		left: 0;
		bottom: 0;
		background-color: rgba(255,255,255,0.8);
		padding: 1.0vw 1.0vw;
		font-size: 0.8vw;
		line-height: 1.7;
		overflow: hidden;
	}

	#topics-news-top {
		width: 58vw;
		margin-bottom: 12vw;
	}
	#topics-news-top ul {
        padding-bottom: 2.5vw;
		border-bottom: 4px solid rgba(235,234,238,0.45);
		margin-bottom: 2.5vw;
    }
	#topics-news-top li {
        padding-bottom: 1.5vw;
    }
	.news-pop {
		margin-bottom: 2.0vw;
		font-size: 1.1vw;
		letter-spacing: 0.16em;
		text-align: center;
	}
	.news-pop a {
		display: block;
		background-color: rgba(235,234,238,0.50);
		padding: 0.8vw;
	}
	.news-ttl {
		font-size: 1.0vw;
		text-align: center;
		margin-bottom: 1.0vw;
	}
	.news-date {
		float: left;
		font-size: 0.9vw;
		line-height: 1.5;
	}
	.news-list-ttl {
		display: block;
		margin-left: 6.5vw;
		font-size: 0.9vw;
		line-height: 1.2;
	}
	.news-more {
        text-align: center;
        font-size: 0.72vw;
        letter-spacing: 0.08em;
    }
	.news-more a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0.35vw 2vw;
        border: 1px solid #484848;
        border-radius: 50px;
    }
	.news-more-arrow {
        padding-left: 0.8vw;
    }

	.service_content {
		width: 65vw;
		margin-inline: auto;
	}
	.service_content img {
		width: 100%;
		vertical-align: bottom;
	}
	.service_ttl {
		font-size: 1.0vw;
		letter-spacing: 0.1em;
		text-align: center;
		margin-bottom: 1.0vw;
	}
	.service_txt {
		font-size: 0.98vw;
		letter-spacing: 0.12em;
		text-align: center;
		margin-bottom: 1.0vw;
	}
	.service_nav {
		display: flex;
		background-color: rgba(235,234,238,0.5);
	}
	.service_menu {
		width: calc(100% - 22vw);
		padding: 1.5vw 1.5vw;
	}
	.service_img {
		width: 22vw;
	}
	.service_lists {
		display: flex;
		background-color: #fff;
		padding: 0.25vw;
	}
	.service_list {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25vw;
	}
	.service_list li {
		width: 14.1vw;
	}
	.service_list li.service_list_05 {
		width: 10.8vw;
	}
}

@media screen and (max-width: 767px) {
	.contents+main {
		margin-top: 0;
	}
	.contents.activate+main {
		margin-top: 12vw;
/*			margin-top: 39.8vw; */
	}

	.kv {
		min-height: 145vw;
		margin-bottom: 17vw;
	}

	.kv_nav {
		background-color: #484848;
		display: flex;
	}
	.kv_nav li {
		width: 50%;
		font-size: 2.6vw;
		letter-spacing: 0.2em;
		text-align: center;
	}
	.kv_nav li a {
		color: #fff;
		display: block;
		padding: 2.0vw;
	}
	.kv_nav li:not(:first-child) {
		position: relative;
	}
	.kv_nav li:not(:first-child)::after {
		content: "";
		display: block;
		width: 1px;
		height: calc(100% - 3.2vw);
		background-color: #fff;
		position: absolute;
		left: 0;
		top: 1.6vw;
	}

	.technology_content {
		width: 91vw;
		margin: 0 auto 30vw;
	}
	.technology_content img {
		width: 100%;
		-webkit-transform: perspective(0);
	}
	.technology_content_navi{
		position: relative;
		width: 100%;
		bottom: 15vw;
	}
	.technology_content_more {
		font-size: 2.4vw;
		display: flex;
		align-items: baseline;
		justify-content: flex-end;
		gap: 0 1vw;
		position: inherit;
		margin-top: 2vw;
		padding-top: 3vw;
	}
	.technology_content_more::after {
		content: '';
		display: block;
		width: 2.4vw;
		height: 0.8vw;
		background: url(/wp-content/themes/mytrex/img/icon/more@2x.png) no-repeat left top;
		background-size: contain;
	}
	.technology_content .swiper-slide img {
		aspect-ratio: 685 / 630;
	}

	.product_content {
		margin-bottom: 21vw;
	}
	.product_content_ttl {
		font-size: 4.2vw;
		text-align: center;
		margin-bottom: 9vw;
	}
	.product_list {
		gap: 2vw 2vw;
	}
	.product_list>li {
		width: 48.89%;
	}
	.product_list>li:first-child {
		background-color: #ffffff;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.product_list>li:first-child::after {
		display: none;
	}
	.product_list>li:first-child img {
		width: 80%;
	}
	.product_content_more {
		text-align: right;
		font-size: 2vw;
		position: relative;
		margin-right: 2vw;
		padding-right: 5vw;
	}
	.product_content_more .icon-wrap {
		position: absolute;
		right: 0;
		top: 50%;
		transform: translatey(-50%);
		width: 4vw;
		height: 4vw;
		background: #D2E2D6;
		border-radius: 50%;
	}
	.product_content_more .icon {
		position: relative;
		display: inline-block;
		width: 100%;
		height: 100%;
	}
	.product_content_more .icon:before,
	.product_content_more .icon:after {
		position: absolute;
		content: "";
		display: block;
		transition: all 0.4s;
		background: #000000;
		left: 50%;
		top: 50%;
		width: 50%;
		height: 1px;
		transform: translate(-50%, -50%);
	}
	.product_content_more .icon:before {
		transform: translate(-50%, -50%) rotate(90deg);
	}
	/*＋、－切り替え*/
	.product_content_more.is_open .icon:before {
		transform: translate(-50%, -50%) rotate(0deg);
	}

	.journal_content {
		margin-bottom: 30vw;
	}
	.journal_head {
		margin-bottom: 5vw;
	}
	.journal_logo {
		width: 39vw;
		margin: 0 auto 6.0vw;
	}
	.journal_logo img {
		width: 100%;
	}
	.journal_ttl {
		text-align: center;
		font-size: 2.9vw;
		letter-spacing: 0.08em;
		line-height: 1.5;
	}
	.journal_list {
		display: flex;
		justify-content: space-between;
		margin-bottom: 7.0vw;
	}
	.journal_list li {
		width: 48vw;
	}
	.journal_list li:last-child {
		display: none;
	}
	.journal_list li a {
		display: block;
        position: relative;
	}
	.journal_list_thumb {
		margin-bottom: 3vw;
	}
	.journal_list_thumb img {
		width: 100%;
		height: 48vw;
		object-fit: cover;
	}
	.journal_list_ttl {
        position: absolute;
        left: 0;
        bottom: 0;
        background-color: rgba(255, 255, 255, 0.8);
        padding: 2.5vw 2.5vw;
        font-size: 2.2vw;
        line-height: 1.5;
        overflow: hidden;
    }
	.journal_foot {
		text-align: right;
		margin-right: 2vw;
	}
	.journal_more {
        text-align: center;
        font-size: 2.4vw;
        letter-spacing: 0.08em;
    }
	.journal_more a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 1.0vw 6.5vw;
        border: 1px solid #484848;
        border-radius: 50px;
    }
	.journal_more_arrow {
        padding-left: 2.0vw;
    }

	#topics-news-top {
		padding: 0 4.0vw;
		margin-bottom: 32vw;
	}
	#topics-news-top ul {
        padding: 0;
		border-bottom: 4px solid rgba(235, 234, 238, 0.50);
		margin-bottom: 6.5vw;
    }
	.news-ttl {
		font-size: 3.2vw;
		letter-spacing: 0.1em;
		text-align: center;
		margin-bottom: 4.0vw;
	}
	.news-pop {
        margin-bottom: 6.0vw;
        font-size: 2.9vw;
        letter-spacing: 0.10em;
        text-align: center;
	}
	.news-pop a {
        display: block;
        background-color: rgba(235, 234, 238, 0.50);
        padding: 2.0vw;
    }
	#topics-news-top li {
        padding-bottom: 4vw;
    }
	.news-date {
        float: left;
        font-size: 2.8vw;
        line-height: 1.5;
    }
	.news-list-ttl {
        display: block;
        margin-left: 20vw;
        font-size: 3.0vw;
        line-height: 1.5;
    }
	.news-more {
        text-align: center;
        font-size: 2.4vw;
        letter-spacing: 0.08em;
    }
	.news-more a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 1.0vw 6.5vw;
        border: 1px solid #484848;
        border-radius: 50px;
    }
	.news-more-arrow {
        padding-left: 2.0vw;
    }

	.service_content img {
        width: 100%;
        vertical-align: bottom;
    }
	.service_ttl {
		font-size: 3.2vw;
		letter-spacing: 0.12em;
		text-align: center;
		margin-bottom: 4.5vw;
	}
	.service_nav {
        background-color: rgba(235, 234, 238, 0.5);
    }
	.service_menu {
		position: relative;
		padding-top: 6.5vw;
		z-index: 1;
	}
	.service_txt {
		font-size: 3.3vw;
		letter-spacing: 0.12em;
		text-align: center;
		margin-bottom: 4.5vw;
	}
	.service_lists {
		background-color: #fff;
		padding: 0.6vw;
		margin-inline: 4.5vw;
		display: flex;
		flex-direction: column;
		gap: 1.1vw;
	}
	.service_list {
		display: flex;
		flex-wrap: wrap;
		gap: 1.1vw;
	}
	.service_list li {
		width: 44.26vw;
	}
	.service_list li.service_list_05 {
		width: 100%;
	}
	.service_img {
		margin-top: -8.5vw !important;
	}
}

/* page_top */
#pageTop {
	position: fixed;
	bottom: 5vw;
	right: 2vw;
	z-index: 10000;
}
#pageTop img {
	width: 100%;
}
#pageTop i {
	padding-top: 6px;
}
#pageTop a {
	display: block;
	z-index: 999;
	padding: 8px 8px 8px 8px;
	border-radius: 0px;
	width: 35px;
	height: 35px;
	background-color: #231815;
	color: #fff;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
}
#pageTop a:hover {
	text-decoration: none;
	background-color: #ffffff;
}

@media screen and (max-width: 767px) {
	#pageTop {
		bottom: 10vw;
	}
}

/* レビュー */
@font-face {
	font-family: 'icomoon';
	src:  url('/wp-content/themes/mytrex/fonts/icomoon.eot?q600zz');
	src:  url('/wp-content/themes/mytrex/fonts/icomoon.eot?q600zz#iefix') format('embedded-opentype'),
	  url('/wp-content/themes/mytrex/fonts/icomoon.ttf?q600zz') format('truetype'),
	  url('/wp-content/themes/mytrex/fonts/icomoon.woff?q600zz') format('woff'),
	  url('/wp-content/themes/mytrex/fonts/icomoon.svg?q600zz#icomoon') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}
[data-rating="0.0"]::before {
    content: "\e9d7\e9d7\e9d7\e9d7\e9d7";
}
[data-rating="0.5"]::before {
    content: "\e9d8\e9d7\e9d7\e9d7\e9d7";
}
[data-rating="1.0"]::before {
    content: "\e9d9\e9d7\e9d7\e9d7\e9d7";
}
[data-rating="1.5"]::before {
    content: "\e9d9\e9d8\e9d7\e9d7\e9d7";
}
[data-rating="2.0"]::before {
    content: "\e9d9\e9d9\e9d7\e9d7\e9d7";
}
[data-rating="2.5"]::before {
    content: "\e9d9\e9d9\e9d8\e9d7\e9d7";
}
[data-rating="3.0"]::before {
    content: "\e9d9\e9d9\e9d9\e9d7\e9d7";
}
[data-rating="3.5"]::before {
    content: "\e9d9\e9d9\e9d9\e9d8\e9d7";
}
[data-rating="4.0"]::before {
    content: "\e9d9\e9d9\e9d9\e9d9\e9d7";
}
[data-rating="4.5"]::before {
    content: "\e9d9\e9d9\e9d9\e9d9\e9d8";
}
[data-rating="5.0"]::before {
    content: "\e9d9\e9d9\e9d9\e9d9\e9d9";
}

.scrolldown::after{
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 1px;
	background: #c1dccc;
	animation: pathmove 2.0s ease-in-out infinite;
	opacity:1;
}
@keyframes pathmove{
	0%{
		height:0;
		top:0;
		opacity: 1;
	}
	50%{
		height:40px;
		opacity: 1;
	}
	100%{
		height:0;
		top:100%;
		opacity: 1;
	}
}

.fixed_campaign_link_list {
	position: relative;
}
.fixed_campaign_link_close {
	position: absolute;
	top: 50%;
	transform: translate(0, -50%);
	right: 2vw;
}
.fixed_campaign_link_close_icon {
	display: block;
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
}
.fixed_campaign_link_close_icon::before, .fixed_campaign_link_close_icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1px;
	height: 25px;
	background: #333;
	border-radius: 0;
}
.fixed_campaign_link_close_icon::before {
	transform: translate(-50%,-50%) rotate(45deg);
}
.fixed_campaign_link_close_icon::after {
	transform: translate(-50%,-50%) rotate(-45deg);
}

@media screen and (min-width: 768px) {
/*
	.contents.kv img {
        aspect-ratio: 16 / 9;
    }
*/

	.topics_content {
		margin-bottom: 10vw;
	}
	.topics_list {
		width: 58vw;
		margin-inline: auto;
	}
/*
	.topics_page:not(:last-child) {
		margin-bottom: 4.5vw;
	}
*/
	.topics_page img {
		width: 100%;
	}

    .product_slider_content {
        width: 58vw;
        margin-inline: auto;
        margin-bottom: 13vw;
    }
    .product_slider {
        position: relative;
        padding-left: 3.5vw;
        padding-right: 3.5vw;
    }
	.product_health_slider {
		margin-bottom: 8.0vw;
	}

    .item_content_ttl {
        font-size: 1.3vw;
        letter-spacing: 0.16em;
        text-align: center;
        position: relative;
		margin-bottom: 4.0vw;
    }
	.item_content_ttl span {
		padding-left: 1.5vw;
		padding-right: 1.5vw;
		border-left: 1px solid #000000;
		border-right: 1px solid #000000;
	}
	.item_content_subttl {
		text-align: center;
		margin-bottom: 1.5vw;
	}
	.item_content_subttl > div {
		display: inline-block;
		padding-bottom: 0.5vw;
		border-bottom: 2px solid #C4D4C8;
	}
	.item_content_subttl_en {
		font-size: 1.5vw;
		letter-spacing: 0.08em;
	}
	.item_content_subttl_line{
		border-bottom: 1.5px solid #261e1c;
		width: 0.8vw;
		display: inline-block;
		margin: 0vw 0.2vw 0.4vw 0.1vw;
	}
	.item_content_subttl_ja {
		font-size: 1.3vw;
		letter-spacing: 0.14em;
	}
    .product_slider_content .swiper-container {
        margin-bottom: 4vw;
    }
    .item_list > li {
        text-align: left;
    }
	.item_list .item_img {
		background-color: rgba(218,217,219,0.2);
		margin-bottom: 0.8vw;
	}
    .item_list .item_img img {
        width: 100%;
    }
    .item_list .item_name_ja {
        font-size: 0.8vw;
        letter-spacing: 0.03em;
        margin-bottom: 0.5vw;
    }
    .item_list .item_name_en {
        font-size: 1.2vw;
        /* letter-spacing: 0.09em; */
		line-height: 1.1;
        margin-bottom: 0.5vw;
        font-weight: 500;
    }
	.item_list .item_name_en sup {
		font-size: .8vw;
	}
	.item_price {
		font-size: 0.8vw;
		letter-spacing: 0.06em;
	}
    .item_list .item_ttl {
        font-size: 0.9vw;
        letter-spacing: 0.10em;
        line-height: 1.7;
        margin-bottom: 2.0vw;
    }
    .item_list .item_star:before {
		font-family: 'icomoon' !important;
        speak: none;
        font-style: normal;
        font-weight: 400;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        color: #e59a15;
        font-size: 1.2vw;
        margin-right: 0.8vw;
    }
	.item_list .item_star {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.item_list .item_new {
		color: #e59a15;
	}
	.item_list [data-rating="1.0"].item_new:before {
		content: "\e9d9";
	}
    .item_list .item_star_review {
        font-size: 0.88vw;
        letter-spacing: 0.05em;
    }
    .item_more_txt {
        text-align: center;
        font-size: 0.72vw;
        letter-spacing: 0.08em;
    }
    .item_more_txt a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
		padding: 0.35vw 2vw;
		border: 1px solid #484848;
		border-radius: 50px;
    }
	.item_more_arrow {
		padding-left: 0.8vw;
	}
    .item_more_txt img {
        width: 1.3vw;
        margin-left: 1vw;
    }
    .info-pop {
        margin-bottom: 6vw;
		display: flex;
    	justify-content: center;
    }

    .product_slider .swiper-button-prev  {
        background-image: none;
		top: 35%;
		left: 0;
    }
	.product_slider .swiper-button-next  {
        background-image: none;
		top: 35%;
		right: 0;
    }
    .product_slider .swiper-button-prev::after,
    .product_slider .swiper-button-next::after {
        bottom: 0;
        content: "";
        height: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 0;
    }
    .product_slider .swiper-button-prev::after {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin: 0 10px;
        border-left: 1px solid #424245;
        border-bottom: 1px solid #424245;
        transform: rotate(45deg);
    }
    .product_slider .swiper-button-next::after {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin: 0 10px;
        border-left: 1px solid #424245;
        border-bottom: 1px solid #424245;
        transform: rotate(225deg);
    }

    .technology_content .swiper-button-prev  {
        background-image: none;
    }
    .technology_content .swiper-button-next {
        background-image: none;
    }
    .technology_content .swiper-button-prev::after,
    .technology_content .swiper-button-next::after {
        bottom: 0;
        content: "";
        height: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 0;
    }
    .technology_content .swiper-button-prev::after {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin: 0 10px;
        border-left: 1px solid #424245;
        border-bottom: 1px solid #424245;
        transform: rotate(45deg);
		left: -4vw;
    }
    .technology_content .swiper-button-next::after {
        display: inline-block;
        width: 10px;
        height: 10px;
        margin: 0 10px;
        border-left: 1px solid #424245;
        border-bottom: 1px solid #424245;
        transform: rotate(225deg);
		right: -4vw;
    }
    .technology_content .swiper {
        aspect-ratio: 130 / 43;
    }
	/* ページネーションのサイズと色 */
	.swiper-pagination{
		bottom: -12vw;
		left: 0;
		right: 0;
	}
	.swiper-pagination-bullet {
		background-color: rgba(0,0,0,0.53);
		height: 8px;
		width: 8px;
		margin: 0vw 1vw;
	}

	.fixed_campaign_link {
		position: fixed;
		width: 100%;
		bottom: 0;
		left: 0;
		/* background-color: #C4D4C8; */
		background-color: rgba(196, 212, 200, 0.9);
		z-index: 998;
		text-align: center;
	}
	.fixed_campaign_link_list > span {
		font-size: 1.2vw;
		letter-spacing: 0.58em;
		display: inline-block;
		padding: 1.0vw;
	}
	.fixed_campaign_link_list > span a {
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: 1.4vw;
	}
	.fixed_campaign_icon {
		width: 1.25vw;
	}
	
}

@media screen and (max-width: 767px) {
/*
	.contents.kv img {
        aspect-ratio: 375 / 545;
    }
*/

	.topics_content {
		margin-bottom: 18vw;
	}
	.topics_list {
		width: 88vw;
		margin-inline: auto;
	}
	.topics_page:not(:last-child) {
		margin-bottom: 6.0vw;
	}
	.topics_page img {
		width: 100%;
	}

    .product_slider_content {
        margin-bottom: 30vw;
    }

    .item_content_ttl {
        font-size: 3.2vw;
        letter-spacing: 0.22em;
        text-align: center;
		margin-bottom: 8.0vw;
    }
	.item_content_ttl span {
		padding-left: 4vw;
		padding-right: 4vw;
		border-left: 1px solid #000000;
        border-right: 1px solid #000000;
	}
	.item_content_subttl {
		text-align: center;
        margin-bottom: 5.0vw;
	}
	.item_content_subttl > div {
        display: inline-block;
        padding-bottom: 1.5vw;
        border-bottom: 2px solid #C4D4C8;
    }
	.item_content_subttl_en {
        font-size: 3.50vw;
        letter-spacing: 0.08em;
    }
	.item_content_subttl_line{
		border-bottom: 1.0px solid #261e1c;
	    width: 1.8vw;
	    display: inline-block;
	    margin: 0vw 0.2vw 1.0vw 0.1vw;
	}
	.item_content_subttl_ja {
        font-size: 2.83vw;
        letter-spacing: 0.14em;
    }
    .item_list {
		padding-left: 2.5vw;
        margin-bottom: 6vw !important;
    }
    .item_list li {
        width: 48.89%;
    }
	.item_list .item_img {
		background-color: rgba(218, 217, 219, 0.2);
        margin-bottom: 2.5vw;
	}
    .item_list .item_img img {
		aspect-ratio: 1 / 1;
        width: 100%;
    }
    .item_list .item_name_ja {
        font-size: 2.1vw;
        letter-spacing: 0.06em;
        margin-bottom: 2.0vw;
    }
    .item_list .item_name_en {
        font-size: 3.1vw;
        margin-bottom: 2.5vw;
        font-weight: 500;
		line-height: 1.1;
    }
	.item_list .item_name_en sup {
		font-size: 2.1vw;
		vertical-align: middle;
	}
	.item_list .item_price {
		font-size: 2.1vw;
		letter-spacing: 0.06em;
	}
    .item_list .item_ttl {
        font-size: 2.4vw;
        letter-spacing: 0.01em;
        line-height: 1.7;
        margin-bottom: 4.5vw;
    }
	.item_list .item_star {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.item_list .item_new {
		color: #e59a15;
	}
	.item_list [data-rating="1.0"].item_new:before {
		content: "\e9d9";
	}
    .item_list .item_star_review {
        font-size: 2.2vw;
        letter-spacing: 0.05em;
    }
    .item_list .item_star:before {
		font-family: 'icomoon' !important;
        speak: none;
        font-style: normal;
        font-weight: 400;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        color: #e59a15;
        font-size: 2.5vw;
        margin-right: 2vw;
    }
    .item_more_txt {
        text-align: center;
        font-size: 2.4vw;
        letter-spacing: 0.08em;
    }
	.item_more_txt a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 1.0vw 6.5vw;
        border: 1px solid #484848;
        border-radius: 50px;
    }
	.item_more_arrow {
        padding-left: 2.0vw;
    }
    .info-pop {
        margin-bottom: 15vw;
    }

    .product_slider {
        position: relative;
    }
	.product_health_slider {
        margin-bottom: 17vw;
    }
    .product_slider .swiper-button-prev  {
		display: none;
        background-image: none;
        left: 15px;
    }
    .product_slider .swiper-button-next {
		display: none;
        background-image: none;
        right: 15px;
    }
    .product_slider .swiper-button-prev::after,
    .product_slider .swiper-button-next::after {
        bottom: 0;
        content: "";
        height: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 0;
    }
    .product_slider .swiper-button-prev::after {
        display: inline-block;
        width: 20px;
        height: 20px;
        border-left: 1px solid #424245;
        border-bottom: 1px solid #424245;
        transform: rotate(45deg);
    }
    .product_slider .swiper-button-next::after {
        display: inline-block;
        width: 20px;
        height: 20px;
        border-left: 1px solid #424245;
        border-bottom: 1px solid #424245;
        transform: rotate(225deg);
    }

	.technology_content_ttl {
		font-size: 4.8vw;
		letter-spacing: 0.22em;
		text-align: center;
		margin-bottom: 5.0vw;
	}
	.technology_content_subttl {
		font-size: 3.2vw;
		letter-spacing: 0.1em;
		text-align: center;
		margin-bottom: 3.5vw;
	}
	.technology_animation {
		text-align: center;
		margin-bottom: 6.0vw;
	}
	.technology_animation .scrolldown {
        display: inline-block;
        position: relative;
        width: 1px;
        height: 16.5vw;
        overflow: hidden;
    }
	.technology_animation .scrolldown::before {
        content: "";
        width: 1px;
        height: 100%;
        background-color: #261e1c;
        position: absolute;
        top: 0;
        right: 0;
    }
	.technology_animation .scrolldown {
        display: inline-block;
        position: relative;
        width: 1px;
        height: 16.5vw;
        overflow: hidden;
    }
    .technology_content .swiper-button-prev  {
        background-image: none;
        left: 15px;
    }
    .technology_content .swiper-button-next {
        background-image: none;
        right: 15px;
    }
    .technology_content .swiper-button-prev::after,
    .technology_content .swiper-button-next::after {
        bottom: 0;
        content: "";
        height: 0;
        margin: auto;
        position: absolute;
        top: 0;
        width: 0;
    }
    .technology_content .swiper-button-prev::after {
        display: inline-block;
        width: 20px;
        height: 20px;
        border-left: 1px solid #424245;
        border-bottom: 1px solid #424245;
        transform: rotate(45deg);
		left: -8vw;
    }
    .technology_content .swiper-button-next::after {
        display: inline-block;
        width: 20px;
        height: 20px;
        border-left: 1px solid #424245;
        border-bottom: 1px solid #424245;
        transform: rotate(225deg);
		right: -8vw;
    }
    .technology_content .swiper {
		aspect-ratio: 685 / 630;
    }
	/* ページネーションのサイズと色 */
	.swiper-pagination{
		/* bottom: -20vw; */
		left: 0;
		right: 0;
	}
	.swiper-pagination-bullet {
		background-color: rgba(0,0,0,0.53);
		height: 8px;
		width: 8px;
		margin: 0vw 1.5vw;
	}

	.fixed_campaign_link {
		position: fixed;
		width: 100%;
		bottom: 0;
		left: 0;
		/* background-color: #C4D4C8; */
		background-color: rgba(196, 212, 200, 0.9);
		z-index: 998;
		text-align: center;
	}
	.fixed_campaign_link_list > span {
		font-size: 3.0vw;
		letter-spacing: 0.12em;
		display: inline-block;
		padding: 2.5vw;
	}
	.fixed_campaign_link_list > span a {
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: 2.4vw;
	}
	.fixed_campaign_icon {
		width: 3.0vw;
	}
	footer {
		padding: 30vw 0 0;
	}
}

.topics_content_ttl{
	font-size: 3.0vw;
  color: #555;
  letter-spacing: 0.13em;
  border-left: solid 1px #555;
  border-right: solid 1px #555;
  margin: 0 auto;
  width: 40vw;
  text-align: center;
  margin-bottom: 6.5vw;
  margin-top: 5.5vw !important;
  padding: 0.5vw 0vw;
}
@media screen and (min-width: 768px) {
.topics_content_ttl{
	font-size: 1.2vw;
    color: #555;
    letter-spacing: 0.1vw;
    border-left: solid 1px #555;
    border-right: solid 1px #555;
    margin: 0 auto;
    width: 18vw;
    text-align: center;
    margin-bottom: 3.5vw;
    margin-top: 2.5vw !important;
    padding: 0.2vw 0vw;
}	
}



/* 25/7/9 TOP New Design
=====================================*/
.kv .progressBar .swiper-progress-bar{
    background-color: #c8bda1;
}

/* loop slide */
@keyframes infinity-scroll-right {
    from {
    transform: translateX(-50%);
    }
    to {
    transform: translateX(0);
    }
}
@keyframes infinity-scroll-left {
    from {
    transform: translateX(0);
    }
    to {
    transform: translateX(-50%);
    }
}
.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
}
.scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0
}
.scroll-infinity__list--right {
    animation: infinity-scroll-right 50s infinite linear 0.5s both;
}
.scroll-infinity__list--left {
    animation: infinity-scroll-left 50s infinite linear 0.5s both;
}
.scroll-infinity__item img {
    width: 100%;
}
.scroll-infinity__item--text {
    white-space: nowrap;
}

#top_tpcs_sld .splide__slide img {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .top_cnt_ttl {
        text-align: center;
	    font-size: 1.5vw;
    	margin-bottom: 2vw;
	    position: relative;
    	letter-spacing: 0.1em;		
    }
    #topics .top_cnt_ttl {
        letter-spacing: .15vw;
    }
    #topics {
        margin-bottom: 9vw;
    }
    #top_tpcs_sld .splide__slide{
        width: 34vw !important;
    }
    .pd_sub_ttl {
        text-align: center;
	    color: #353535;
    	padding: 1vw 0vw 0.4vw;
	    width: 15.5vw;
	    margin: 0 auto;
    }
    .product_container {
        display: flex;
        justify-content: space-between;
        padding: 2.5vw 5.5vw 1.5vw;
    }
    .product_item {
        width: 28vw;
        background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(245, 245, 245, 1) 50%, rgba(235, 235, 235, 1) 100%);
        position: relative;
    }
    .item_img img {
        width: 100%;
    }
    .item_info {
        height: 19vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: absolute;
        top: 1vw;
        left: 1.5vw;
    }
    .item_info_sub {
        display: flex;
        flex-direction: column;
        gap: .5vw;
    }
    .item_name_ja {
        font-size: .8vw;
    }
    .item_name_en {
        font-size: 1vw;
    }
    .item_more_txt {
        text-align: right;
        font-size: .9vw;
        padding: 0 5.5vw;
        margin-bottom: 1vw;
    }
    .item_more_txt a {
        padding: 0.35vw 3vw;
    }
    .item_more_arrow {
        padding-left: 0;
        height: .5vw;
        width: .5vw;
        border-top: 2px solid #484848;
        border-right: 2px solid #484848;
        transform: rotate(45deg);
        margin-left: .7vw;
    }
    .item_link {
        height: 2.2vw;
        width: 2.2vw;
        background: #fff;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        bottom: .8vw;
        right: 1vw;
        font-size: 1.1vw;
        color: #888;
    }
    .tech_container {
        display: flex;
        padding: 7vw 16vw 8vw 14vw;
        justify-content: space-between;
        align-items: flex-end;
    }
    .tech_img {
        width: 52vw;
    }
    .tech_img img {
        width: 100%;
    }
    .tech_text{
        width: 13vw;
    }
    .tech_ttl {
        font-size: 1.4vw;
        letter-spacing: .05vw;
        white-space: nowrap;
        padding-bottom: 1vw;
        margin-bottom: 2.5vw;
        position: relative;
    }
    .tech_ttl::after {
        display: block;
        content: '';
        height: 1.5px;
        width: 18.2vw;
        background: #ccc;
        position: absolute;
        bottom: 0;
        right: 0;
    }
    .tech_item_txt {
        font-size: 1vw;
        line-height: 1.8;
        margin-bottom: 1.5vw;
    }
    .tech_item_ttl {
        font-size: 2.2vw;
        letter-spacing: .05vw;
        margin-bottom: 2.5vw;
    }
    .tech_text .item_more_txt {
        padding: 0;
        text-align: left;
        margin-bottom: 3vw;
    }
    .tech_text .item_more_txt a {
        padding: .5vw 1.3vw;
    }
    #award .top_cnt_ttl::before,
    #media .top_cnt_ttl::before,
    #news .top_cnt_ttl::before,
    #service .top_cnt_ttl::before,
    #award .top_cnt_ttl::after,
    #media .top_cnt_ttl::after,
    #news .top_cnt_ttl::after,
    #service .top_cnt_ttl::after {
        display: inline-block;
        content: '';
        height: 1px;
        background: #888;
        position: absolute;
        top: 50%;
    }
    #award .top_cnt_ttl::before,
    #media .top_cnt_ttl::before,
    #news .top_cnt_ttl::before,
    #service .top_cnt_ttl::before{
        left: 0;
    }
    #award .top_cnt_ttl::after,
    #media .top_cnt_ttl::after,
    #news .top_cnt_ttl::after,
    #service .top_cnt_ttl::after {
        right: 0;
    }
    #award .top_cnt_ttl::before,
    #media .top_cnt_ttl::before,
    #news .top_cnt_ttl::before,
    #award .top_cnt_ttl::after,
    #media .top_cnt_ttl::after,
    #news .top_cnt_ttl::after {
        width: 46vw;
    }
    #service .top_cnt_ttl::before,
    #service .top_cnt_ttl::after {
        width: 40.5vw;
    }
    #award {
        margin-bottom: 3vw;
    }
    #award .scroll-infinity__list {
        gap: 2vw;
    }
    #award .scroll-infinity__item {
        width: 10vw;
    }
    
    #media .scroll-infinity {
        margin-bottom: 1vw;
    }
    #media .scroll-infinity__list {
        gap: 3vw;
    }
    #media .scroll-infinity__item {
        width: 11vw;
    }
    .media_txt {
        text-align: right;
        padding-right: 1vw;
        font-size: .7vw;
    }
    #media {
        margin-bottom: 2.5vw;
    }
    .news_wrap {
        padding: 1vw 20vw 1.5vw;
    }
    .news-pop {
        font-size: 1.2vw;
        margin-bottom: 2.5vw;
        letter-spacing: .1vw;
        text-align: left;
    }
    .news-pop a {
        display: inline-block;
        background: none;
        color: #c8bda1;
        padding: 0 0 .5vw;
        border-bottom: 1px solid;
    }
    .news_cnt {
        display: flex;
        flex-direction: column;
        gap: 2.5vw;
        margin-bottom: 2vw;
    }
    .news_cnt li a {
        display: block;
        padding-bottom: 1.2vw;
        border-bottom: 1px solid #888;
    }
    .news-date {
        font-size: .8vw;
    }
    .news-list-ttl {
        margin-left: 5vw;
        font-size: .9vw;
        font-feature-settings: 'palt';
        letter-spacing: .1vw;
        white-space: pre-wrap;
		line-height: 1.5;
    }
    #news .item_more_txt {
        padding: 0;
        margin-bottom: 4vw;
    }
    #service {
        margin-bottom: 8vw;
    }
    #service table {
        padding: 2vw 12.5vw .5vw;
        margin: 0 auto;
        border-collapse: separate;
        border-spacing: .5vw;
    }
    #service table th {
        font-size: 1vw;
    }
    .svc_ttl,
    .svc_ttl2,
    .svc_ttl3{
        font-size: 1.1vw;
        letter-spacing: .05vw;
        line-height: 1.2;
        text-align: center;
    }
    .svc_ttl span {
        font-size: 2.2vw;
    }
    .svc_ttl2 span {
        color: #c8bda1;
        font-size: 2.4vw;
        letter-spacing: .2vw;
    }
    .svc_ttl3 span {
        font-size: 1.9vw;
    }
    .td01 {
        display: block;
        border: 1px solid #c8bda1;
        width: 17vw;
        padding: 1.5vw 0;
        position: relative;
    }
    .td02 {
        display: block;
        border: 1px solid #c8bda1;
        padding: 3.2vw 1.5vw;
        position: relative;
    }
    .td02 .svc_ttl span {
        font-feature-settings: 'palt';
        letter-spacing: .1vw;
    }
    .td03 {
        display: block;
        width: 23vw;
        background: #f9f8f4;
        padding: 1.3vw 0;
        position: relative;
    }
    .td_blank {
        width: 2vw;
    }
    .svc_num {
        background: #c5b79a;
        color: #fff;
        height: 1.2vw;
        width: 1.2vw;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        left: 0;
    }
    .td01::after,
    .td02::after,
    .td03::after {
        display: inline-block;
        content: '';
        height: .4vw;
        width: .4vw;
        border-bottom: 2px solid #888;
        border-right: 2px solid #888;
        transform: rotate(45deg);
        position: absolute;
        bottom: .7vw;
        right: .8vw;
    }
    .service_txt2b {
        text-align: right;
        font-size: .6vw;
        padding-right: 13vw;
    }
    #about {
        margin-bottom: 7vw;
    }
    .about_container {
        display: flex;
        gap: 5.5vw;
        align-items: flex-end;
    }
    .about_img {
        width: 63vw;
    }
    .about_img img{
        width: 100%;
    }
    .about_txt {
        display: flex;
        flex-direction: column;
        gap: 2vw;
    }
    .about_logo {
        margin-bottom: 1vw;
    }
    .about_txt01 {
        font-size: 1.5vw;
        letter-spacing: .2vw;
    }
    .about_txt02 {
        font-size: 1vw;
        line-height: 2.1;
    }
    #about .item_more_txt {
        padding: 0;
        text-align: left;
    }
    .shop_bg {
        background: #f9f8f4;
        padding: 6vw 14vw 3vw;
    }
    #shop .top_cnt_ttl {
        letter-spacing: .1vw;
    }
    .online_shop_cnt {
        background: #fff;
        display: flex;
        justify-content: center;
        gap: .8vw;
        padding: 2.5vw 0;
        margin-bottom: 4vw;
    }
    .online_shop_cnt li {
        width: 10vw;
    }
    .online_shop_cnt li img {
        width: 100%;
    }
    .shop_list_cnt {
        background: #fff;
        display: flex;
        justify-content: center;
        padding: 2vw 5vw;
        margin-bottom: 1vw;
    }
    .shop_list_cnt img {
        width: 100%;
    }
    .shop_list_txt {
        text-align: right;
        font-size: .65vw;
    }
    
    .fixed_campaign_link_close{
        display: none;
    }
}

@media screen and (max-width:767px){
    .progressBar{
        top: 160vw!important;
    }
    .kv .swiper-container{
        overflow: visible;
    }
    .kv .swiper-parts{
        bottom: -8vw !important;
    }
    .kv{
        margin-bottom: 25vw;
    }
    .top_cnt_ttl {
        text-align: center;
        font-size: 3.5vw;
        margin-bottom: 3vw;
    }
    #topics .top_cnt_ttl, 
    #product .top_cnt_ttl {
        letter-spacing: .3vw;
    }
    #product .top_cnt_ttl{
        margin-bottom: 6vw;
    }
    #topics {
        margin-bottom: 13vw;
    }
    .pd_sub_ttl {
        text-align: center;
		color: #353535;
	    padding: 1vw 0vw 0.4vw;
	    width: 33.0vw;
    	margin: 0 auto;
    }
    .product_container {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        row-gap: 4vw;
        padding: 5vw 6vw;
    }
    .product_item {
        width: 42vw;
        height: 53vw;
        background: radial-gradient(circle, rgba(255, 255, 255, 1) 0%, rgba(245, 245, 245, 1) 50%, rgba(235, 235, 235, 1) 100%);
        position: relative;
    }
    .item_img img {
        width: 100%;
    }
    .item_info {
        height: 48vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        position: absolute;
        top: 2.5vw;
        left: 3vw;
    }
    .item_name_ja {
        font-size: 2vw;
    }
    .item_info_sub {
        display: flex;
        flex-direction: column;
        gap: 1.2vw;
    }
    .item_name_en {
        font-size: 2.5vw;
        letter-spacing: .05vw;
    }
    .item_price {
        font-size: 2vw;
        letter-spacing: .1vw;
    }
    .item_link {
        height: 5.2vw;
        width: 5.2vw;
        border-radius: 50%;
        display: flex;
        justify-content: center;
        align-items: center;
        background: #fff;
        position: absolute;
        bottom: 2vw;
        right: 2vw;
        font-size: 2.5vw;
        color: #c8bda1;
    }
    .item_more_txt a{
        border: 1px solid #888;
        position: relative;
    }
    .item_more_txt a::after {
        display: inline-block;
        content: '';
        height: 1.3vw;
        width: 1.3vw;
        border-top: 1px solid #888;
        border-right: 1px solid #888;
        transform: rotate(45deg);
    }
    .product_container + .item_more_txt {
        text-align: right;
        padding-right: 6vw;
        margin-bottom: 12vw;
    }
    #new_tech {
        margin-bottom: 19vw;
    }
    #new_tech .top_cnt_ttl {
        letter-spacing: .2vw;
        margin-bottom: 6vw;
    }
    .tech_container {
        width: 100%;
        padding: 0 6vw;
        position: relative;
    }
    .tech_img img {
        width: 100%;
    }
    .tech_text {
        position: absolute;
        bottom: 4vw;
        left: 11vw;
    }
    .tech_item_txt {
        font-size: 2.1vw;
        line-height: 1.8;
        margin-bottom: 2vw;
    }
    .tech_item_ttl {
        font-size: 4.5vw;
        letter-spacing: .2vw;
    }
    .tech_container .item_more_txt {
        position: absolute;
        bottom: 4vw;
        right: 10vw;
    }
    #new_tech .item_more_txt a {
        padding: 1vw 3vw;
    }
    #award {
        margin-bottom: 16vw;
    }
    #award .top_cnt_ttl {
        letter-spacing: .4vw;
        margin-bottom: 4vw;
    }
    #award .scroll-infinity__item {
        width: 22vw;
    }
    #media {
        margin-bottom: 21vw;
    }
    #media .top_cnt_ttl{
        letter-spacing: .4vw;
        margin-bottom: 7vw;
    }
    #media .scroll-infinity__list {
        gap: 5vw;
        margin-bottom: 2vw;
    }
    #media .scroll-infinity__item {
        width: 34vw;
    }
    .media_txt {
        text-align: right;
        padding-right: 2vw;
        font-size: 1.8vw;
        color: #888;
    }
    #news {
        margin-bottom: 10vw;
    }
    #news .top_cnt_ttl {
        letter-spacing: .3vw;
        margin-bottom: 6vw;
    }
    .news-pop a {
        width: fit-content;
        margin: 0 auto;
        background: none;
        color: #c5b79a;
        padding: 0 0 1.5vw 0;
        border-bottom: 1px solid;
    }
    .news_cnt {
        display: flex;
        flex-direction: column;
        gap: 4.5vw;
        padding: 0 7vw;
    }
    .news_cnt li {
        padding-bottom: 4vw;
        border-bottom: 1px solid #ccc;
    }
    .news_cnt li:last-child {
        border-bottom: none;
    }
    #news .item_more_txt {
        text-align: right;
        padding-right: 7vw;
    }
    #service {
        border-top: 1px solid #c5ba9c;
        padding: 12vw 5vw;
    }
    #service .top_cnt_ttl {
        letter-spacing: .3vw;
        margin-bottom: 4vw;
    }
    #service table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 1.3vw;
        margin-bottom: 1.5vw;
    }
    #service table th {
        font-size: 2.7vw;
        letter-spacing: .2vw;
        text-align: center;
        padding-bottom: 3vw;
    }
    #service table td {
        width: 50%;
    }
    .td01 {
        display: block;
        border: 1px solid #c8bda1;
        width: 42.7vw;
        padding: 3.5vw 0 5.5vw;
        position: relative;
    }
    .svc_num {
        background: #c5b79a;
        color: #fff;
        height: 3.2vw;
        width: 3.2vw;
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        top: 0;
        left: 0;
        font-size: 1.8vw;
    }
    .svc_ttl, 
    .svc_ttl3 {
        font-size: 3.5vw;
        line-height: 1.3;
        text-align: center;
    }
    .svc_ttl span {
        font-size: 5.5vw;
        letter-spacing: .3vw;
    }
    .td02 {
        display: block;
        border: 1px solid #c8bda1;
        width: 100%;
        padding: 5vw 0 6vw;
        position: relative;
    }
    .td02 .svc_ttl {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 1.5vw;
    }
    .td02 .svc_ttl span {
        font-feature-settings: 'palt';
        letter-spacing: .05vw;
    }
    .svc_ttl3 span {
        font-size: 5vw;
        letter-spacing: .3vw;
    }
    #service table tr:nth-child(5) th {
        padding: 5vw 0 3.5vw;
    }
    .td03 {
        display: block;
        background: #f9f8f4;
        padding: 4.5vw 0 7vw;
        position: relative;
    }
    .svc_ttl2 {
        font-size: 2.8vw;
        line-height: 1.3;
        text-align: center;
    }
    .svc_ttl2 span {
        font-size: 5.8vw;
        letter-spacing: .3vw;
    }
    .td01::after, 
    .td02::after, 
    .td03::after {
        display: inline-block;
        content: '';
        height: 1.8vw;
        width: 1.8vw;
        border-bottom: 1px solid #888;
        border-right: 1px solid #888;
        transform: rotate(45deg);
        position: absolute;
        bottom: 3.5vw;
        left: 50%;
    }
    .service_txt2b {
        font-size: 1.8vw;
        line-height: 1.6;
    }
    .about_img img {
        width: 100%;
    }
    .about_txt {
        display: flex;
        flex-direction: column;
        gap: 4vw;
        padding: 7vw 10vw 15vw;
    }
    .about_txt01 {
        font-size: 3.6vw;
        letter-spacing: .3vw;
    }
    .about_logo {
        width: 43vw;
        margin-bottom: 2vw;
    }
    .about_logo img {
        width: 100%;
    }
    .about_txt02 {
        font-size: 2.9vw;
        line-height: 2.2;
        margin-bottom: 3vw;
    }
    .about_txt .item_more_txt {
        text-align: left;
    }
    .about_txt .item_more_txt a {
        padding: 1.0vw 8vw;
    }
    .about_txt .item_more_txt a::after {
        position: absolute;
        right: 3vw;
    }
    .shop_bg {
        background: #f9f8f4;
        padding: 6vw 6vw 8vw;
    }
    #online-shop {
        background: #fff;
        padding: 8vw 8vw 1.5vw;
        margin-bottom: 4vw;
        position: relative;
    }
    #online-shop .top_cnt_ttl {
        letter-spacing: .3vw;
        margin-bottom: 5vw;
    }
    .online_shop_cnt {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        row-gap: 2vw;
        margin-bottom: 5.5vw;
    }
    .online_shop_cnt li {
        width: 48%;
    }
    .online_shop_cnt li img {
        width: 100%;
    }
    .shop_list_txt {
        position: absolute;
        bottom: 1vw;
        right: 2vw;
        font-size: 1.6vw;
    }
    #shop-list {
        background: #fff;
        padding: 8vw 8vw 6vw;
        position: relative;
    }
    #shop-list .top_cnt_ttl {
        letter-spacing: .4vw;
        margin-bottom: 5vw;
    }
    .shop_list_cnt img {
        width: 100%;
    }
    .shop_list_cnt .shop_list_txt {
        bottom: 2.5vw;
    }
    footer {
        padding: 14vw 0 0;
    }
    .fixed_campaign_link_close{
        display: none;
    }
}


@media screen and (min-width: 768px) {
	.td01a{
		width: 25%;
	}
	.td02a{
		width: 22%;
	}
	.td03a{
		width: 3%;;
	}
	.td03b{
		width: 25%;
	}
}

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

}

@media screen and (min-width: 768px){
    main {
        margin-top: 0;
    }
}