html{
	font-size: 62.5%;
	scroll-behavior: smooth;
	font-feature-settings: "palt" 1;
}
body{
	font-family: 'Noto Sans JP',sans-serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.385;
	letter-spacing: 0;
	word-break: normal;
	color: #000;
	background: #fff;
}
.tfh-loader{
	position: fixed;
	z-index: 9999;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity 0.45s ease,visibility 0.45s ease;
	background: #fff;

	inset: 0;
}
.tfh-loader.is-hide{
	visibility: hidden;
	opacity: 0;
}
.tfh-loader__inner{
	font-size: 18px;
	font-weight: 700;
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 18px;
	letter-spacing: 0.08em;
}
.tfh-loader__mark{
	width: 46px;
	height: 46px;
	animation: tfh-spin 1s linear infinite;
	border: 4px solid #b3b3b3;
	border-top-color: #000000;
	border-radius: 50%;
}
@keyframes tfh-spin{
	to{
		transform: rotate(360deg);
	}
}
.tfh-page{
	overflow: hidden;
	background: #fff;
}
.tfh-wrap{
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
.tfh-inner{
	width: 100%;
	max-width: 960px;
	margin: 0 auto;
}
.tfh-section{
	margin-top: 120px;
}
.tfh-hero{
	padding-top: 0;
}
.tfh-hero__visual{
	position: relative;
	width: 100%;
}
.tfh-hero__brand {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 5;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	padding: 19px 0px 0;
}
.tfh-logo{
	width: 257px;
	height: auto;

	flex: 0 0 auto;
}
.tfh-site-title{
	font-size: 52px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 46px;
	text-align: right;
	white-space: nowrap;
	letter-spacing: -0.02em;
	color: #000;
}
.tfh-splide{
	width: 100%;
	padding-top: 150px;
}
.tfh-splide .splide__track{
	width: 100%;
}
.tfh-splide__image{
	width: 100%;
	height: auto;
	object-fit: cover;

	aspect-ratio: 3/2;
}
.tfh-splide .splide__arrow{
	width: 44px;
	height: 44px;
	opacity: 0.84;
	background: #fff;
}
.tfh-splide .splide__arrow svg{
	fill: #000;
}
.tfh-lead {
	margin-top: 55px;
	font-size: 26px;
	line-height: 1.385;
	text-align: left;
	color: #000000;
	letter-spacing: 0;
}
.tfh-photo{
	width: 100%;
	height: auto;
	background: #eee;
}
.tfh-photo--wide{
	object-fit: cover;

	aspect-ratio: 960/640;
}
.tfh-photo--media-wide{
	object-fit: cover;

	aspect-ratio: 960/403;
}
.tfh-title{
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 50px;
	text-align: left;
	color: #000;
}
.tfh-copy{
	font-size: 26px;
	font-weight: 400;
	line-height: 1.385;
	margin-top: 50px;
	text-align: left;
	color: #000;
}
.tfh-copy2{
	margin-top: 18px;
}
.tfh-ul{
	display: block;
	margin-top: 10px;
}
.tfh-ul li{
	padding-left: 1em;
	text-indent: -1em;
	margin: 0;
	display: block;
	line-height: 1.4em;
}
.tfh-price{
	font-size: 36px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 48px;
	text-align: left;
	color: #000;
}
.tfh-price-tax{
	font-size: 26px;
	font-weight: 400;
}
.tfh-notice{
	font-size: 36px;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 18px;
	text-align: left;
	color: #000;
}
.tfh-table{
	width: 100%;
	margin-top: 55px;
	border-top: 1px solid #000;
	border-left: 1px solid #000;
}
.tfh-table__row{
	display: flex;
	width: 100%;
	min-height: 87px;
}
.tfh-table__term{
	font-size: 26px;
	font-weight: 400;
	line-height: 1.25;
	width: 22.8125%;
	padding: 26px 18px 24px 29px;
	text-align: left;
	color: #000;
	flex: 0 0 22.8125%;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
.tfh-table__data{
	font-size: 26px;
	font-weight: 400;
	line-height: 1.25;
	padding: 26px 18px 24px 29px;
	text-align: left;
	color: #000;
	flex: 1;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
.tfh-karinto-products{
	display: flex;
	flex-direction: column;
	gap: 55px;
	margin-top: 54px;
}
.tfh-karinto-product{
	display: flex;
	align-items: flex-start;
	gap: 60px;
	width: 100%;
}
.tfh-karinto-product__image{
	width: 331px;
	max-width: 40%;
	height: auto;
	background: #eee;

	flex: 0 0 auto;
}
.tfh-karinto-product__image--large{
	width: 333px;
	max-width: 40%;
}
.tfh-karinto-product__prices{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	gap: 10px;
	flex: 1;
	margin-top: -10px;
}
.tfh-karinto-product__line{
	font-size: 36px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
	color: #000;
}
.tfh-tax{
	font-size: 26px;
	font-weight: 400;
	line-height: 1;
	color: #000;
}
.tfh-order-title{
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	margin-top: 113px;
	text-align: left;
	color: #000;
}
.tfh-button{
	font-size: 26px;
	font-weight: 700;
	line-height: 1.154;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	min-height: 90px;
	margin-top: 30px;
	padding: 18px 24px;
	transition: opacity 0.2s ease;
	text-align: center;
	color: #fff;
}
.tfh-button:hover{
	opacity: 0.86;
}
.tfh-button--mail{
	background: #b81c22;
}
.tfh-button--black{
	background: #000;
}
.tfh-media-title{
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 115px;
	text-align: left;
	color: #000;
}
.tfh-media-card{
	margin-top: 57px;
}
.tfh-media-card__title{
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 25px;
	text-align: left;
	color: #000;
}
.tfh-media-card__copy{
	font-size: 26px;
	font-weight: 400;
	line-height: 1.385;
	margin-top: 20px;
	text-align: left;
	color: #000;
}
.tfh-license-title{
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 114px;
	text-align: left;
	color: #000;
}
.tfh-license-text{
	font-size: 26px;
	font-weight: 400;
	line-height: 1.385;
	margin-top: 20px;
	text-align: left;
	color: #000;
}
.tfh-license-text-flex{
	display: flex;
	flex-flow: row nowrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.tfh-license-text-flex span{
	display: block;
}
.tfh-license-text-p {
}
.tfh-map{
	width: 100%;
	margin-top: 116px;
}
.tfh-map iframe{
	width: 100%;
	height: 689px;
	border: 0;
}
.tfh-shop{
	margin-top: 115px;
	padding-bottom: 36px;
}
.tfh-shop__name{
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
	color: #000;
}
.tfh-shop__info{
	font-size: 26px;
	font-weight: 400;
	line-height: 1.385;
	margin-top: 18px;
	text-align: left;
	color: #000;
}
.tfh-copyright{
	font-size: 26px;
	font-weight: 400;
	line-height: 1.4;
	margin-top: 48px;
	text-align: left;
	color: #000;
	letter-spacing: 0.05em;
}
.tfh-loader__inner,
.tfh-loader__mark,
.tfh-wrap,
.tfh-section,
.tfh-hero__brand,
.tfh-logo,
.tfh-site-title,
.tfh-splide,
.tfh-splide .splide__arrow,
.tfh-lead,
.tfh-title,
.tfh-copy,
.tfh-copy2,
.tfh-price,
.tfh-price-tax,
.tfh-notice,
.tfh-table,
.tfh-table__term,
.tfh-table__data,
.tfh-karinto-products,
.tfh-karinto-product,
.tfh-karinto-product__image,
.tfh-karinto-product__image--large,
.tfh-karinto-product__prices,
.tfh-karinto-product__line,
.tfh-tax,
.tfh-order-title,
.tfh-button,
.tfh-media-title,
.tfh-media-card,
.tfh-media-card__title,
.tfh-media-card__copy,
.tfh-license-title,
.tfh-license-text,
.tfh-license-text-p,
.tfh-map,
.tfh-map iframe,
.tfh-shop,
.tfh-shop__name,
.tfh-shop__info,
.tfh-copyright{
	transition: font-size 0.18s ease,line-height 0.18s ease,margin 0.18s ease,padding 0.18s ease,gap 0.18s ease,width 0.18s ease,height 0.18s ease,min-height 0.18s ease,flex-basis 0.18s ease,opacity 0.2s ease;
}
@media (prefers-reduced-motion: reduce){
	.tfh-loader__inner,
	.tfh-loader__mark,
	.tfh-wrap,
	.tfh-section,
	.tfh-hero__brand,
	.tfh-logo,
	.tfh-site-title,
	.tfh-splide,
	.tfh-splide .splide__arrow,
	.tfh-lead,
	.tfh-title,
	.tfh-copy,
	.tfh-copy2,
	.tfh-price,
	.tfh-price-tax,
	.tfh-notice,
	.tfh-table,
	.tfh-table__term,
	.tfh-table__data,
	.tfh-karinto-products,
	.tfh-karinto-product,
	.tfh-karinto-product__image,
	.tfh-karinto-product__image--large,
	.tfh-karinto-product__prices,
	.tfh-karinto-product__line,
	.tfh-tax,
	.tfh-order-title,
	.tfh-button,
	.tfh-media-title,
	.tfh-media-card,
	.tfh-media-card__title,
	.tfh-media-card__copy,
	.tfh-license-title,
	.tfh-license-text,
	.tfh-license-text-p,
	.tfh-map,
	.tfh-map iframe,
	.tfh-shop,
	.tfh-shop__name,
	.tfh-shop__info,
	.tfh-copyright{
		transition: none;
	}
}
@media (max-width:767px){
	body{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.385;
	}
	.tfh-loader__inner{
		font-size: clamp(14px, calc(1.0204vw + 10.1735px), 18px);
		gap: clamp(14px, calc(1.0204vw + 10.1735px), 18px);
	}
	.tfh-loader__mark{
		width: clamp(38px, calc(2.0408vw + 30.3469px), 46px);
		height: clamp(38px, calc(2.0408vw + 30.3469px), 46px);
		border-width: clamp(3px, calc(0.2551vw + 2.0434px), 4px);
	}
	.tfh-wrap{
		padding-right: clamp(18px, calc(0.5102vw + 16.0878px), 20px);
		padding-left: clamp(18px, calc(0.5102vw + 16.0878px), 20px);
	}
	.tfh-section{
		margin-top: clamp(44px, calc(19.3878vw - 28.7041px), 120px);
	}
	.tfh-hero__brand{
		gap: clamp(10px, calc(3.5714vw - 3.3929px), 24px);
		padding-top: clamp(12px, calc(1.7857vw + 5.3036px), 19px);
		padding-right: 0;
		padding-left: 0;
	}
	.tfh-logo{
		width: clamp(94px, calc(41.5816vw - 61.9311px), 257px);
	}
	.tfh-site-title{
		font-size: clamp(21px, calc(7.9082vw - 8.6556px), 52px);
		line-height: 1.2;
		margin-top: clamp(18px, calc(7.1429vw - 8.7857px), 46px);
		letter-spacing: -0.04em;
	}
	.tfh-splide{
		padding-top: clamp(66px, calc(21.4286vw - 14.3571px), 150px);
	}
	.tfh-splide__image{
		display: block;
	}
	.tfh-splide .splide__arrow{
		width: clamp(32px, calc(3.0612vw + 20.5204px), 44px);
		height: clamp(32px, calc(3.0612vw + 20.5204px), 44px);
	}
	.tfh-lead{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.385;
		margin-top: clamp(26px, calc(7.398vw - 1.7423px), 55px);
	}
	.tfh-title{
		font-size: clamp(20px, calc(4.0816vw + 4.6939px), 36px);
		line-height: 1.2;
		margin-top: clamp(24px, calc(6.6327vw - 0.8724px), 50px);
	}
	.tfh-copy{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.385;
		margin-top: clamp(16px, calc(8.6735vw - 16.5255px), 50px);
	}
	.tfh-copy2{
		margin-top: clamp(12px, calc(1.5306vw + 6.2602px), 18px);
	}
	.tfh-price{
		font-size: clamp(20px, calc(4.0816vw + 4.6939px), 36px);
		line-height: 1.2;
		margin-top: clamp(23px, calc(6.3776vw - 0.9184px), 48px);
	}
	.tfh-price-tax{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1;
	}
	.tfh-notice{
		font-size: clamp(18px, calc(4.5918vw + 0.7806px), 36px);
		line-height: 1.4;
		margin-top: clamp(12px, calc(1.5306vw + 6.2602px), 18px);
	}
	.tfh-table{
		margin-top: clamp(26px, calc(7.398vw - 1.7423px), 55px);
	}
	.tfh-table__row{
		min-height: 0;
	}
	.tfh-table__term{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.25;
		width: clamp(112px, 36%, 167px);
		padding-top: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		padding-right: clamp(10px, calc(2.0408vw + 2.3469px), 18px);
		padding-bottom: clamp(13px, calc(2.8061vw + 2.477px), 24px);
		padding-left: clamp(12px, calc(4.3367vw - 4.2628px), 29px);
		flex: 0 0 clamp(112px, 36%, 167px);
		word-break: break-word;
	}
	.tfh-table__data{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.25;
		padding-top: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		padding-right: clamp(12px, calc(1.5306vw + 6.2602px), 18px);
		padding-bottom: clamp(13px, calc(2.8061vw + 2.477px), 24px);
		padding-left: clamp(12px, calc(4.3367vw - 4.2628px), 29px);
		word-break: break-word;
	}
	.tfh-karinto-products{
		gap: clamp(28px, calc(6.8878vw + 2.1709px), 55px);
		margin-top: clamp(26px, calc(7.1429vw - 0.7857px), 54px);
	}
	.tfh-karinto-product{
		align-items: center;
		gap: clamp(16px, calc(11.2245vw - 26.0918px), 60px);
	}
	.tfh-karinto-product__image,
	.tfh-karinto-product__image--large{
		width: clamp(132px, 42%, 291px);
		max-width: 42%;
	}
	.tfh-karinto-product__prices{
		gap: clamp(8px, calc(0.5102vw + 6.0878px), 10px);
		margin-top: clamp(-10px, calc(2.551vw - 19.5663px), 0px);
	}
	.tfh-karinto-product__line{
		font-size: clamp(18px, calc(4.5918vw + 0.7806px), 36px);
		line-height: 1.4;
	}
	.tfh-tax{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1;
	}
	.tfh-order-title{
		font-size: clamp(15px, calc(2.8061vw + 4.477px), 26px);
		line-height: 1.4;
		margin-top: clamp(42px, calc(18.1122vw - 25.9209px), 113px);
	}
	.tfh-button{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.154;
		min-height: clamp(58px, calc(8.1633vw + 27.3878px), 90px);
		margin-top: clamp(22px, calc(2.0408vw + 14.3469px), 30px);
		padding-top: clamp(14px, calc(1.0204vw + 10.1735px), 18px);
		padding-right: clamp(18px, calc(1.5306vw + 12.2602px), 24px);
		padding-bottom: clamp(14px, calc(1.0204vw + 10.1735px), 18px);
		padding-left: clamp(18px, calc(1.5306vw + 12.2602px), 24px);
	}
	.tfh-media-title{
		font-size: clamp(15px, calc(2.8061vw + 4.477px), 26px);
		line-height: 1.2;
		margin-top: clamp(42px, calc(18.6224vw - 27.8342px), 115px);
	}
	.tfh-media-card{
		margin-top: clamp(26px, calc(7.9082vw - 3.6556px), 57px);
	}
	.tfh-media-card__title{
		font-size: clamp(15px, calc(2.8061vw + 4.477px), 26px);
		line-height: 1.2;
		margin-top: clamp(16px, calc(2.2959vw + 7.3903px), 25px);
	}
	.tfh-media-card__copy{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.385;
		margin-top: clamp(12px, calc(2.0408vw + 4.3469px), 20px);
	}
	.tfh-license-title{
		font-size: clamp(15px, calc(2.8061vw + 4.477px), 26px);
		line-height: 1.2;
		margin-top: clamp(44px, calc(17.8571vw - 22.9643px), 114px);
	}
	.tfh-license-text{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.385;
		margin-top: clamp(12px, calc(2.0408vw + 4.3469px), 20px);
	}
	.tfh-license-text-flex{
	}
	.tfh-license-text-p{
		margin-top: clamp(4px, calc(1.0204vw + 0.1735px), 8px);
	}
	.tfh-map{
		margin-top: clamp(26px, calc(22.9592vw - 60.0969px), 116px);
	}
	.tfh-map iframe{
		height: clamp(260px, calc(109.4388vw - 150.3954px), 689px);
	}
	.tfh-shop{
		margin-top: clamp(42px, calc(18.6224vw - 27.8342px), 115px);
		padding-bottom: clamp(28px, calc(2.0408vw + 20.3469px), 36px);
	}
	.tfh-shop__name{
		font-size: clamp(18px, calc(3.5714vw + 4.6071px), 32px);
		line-height: 1.2;
	}
	.tfh-shop__info{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.385;
		margin-top: clamp(12px, calc(1.5306vw + 6.2602px), 18px);
	}
	.tfh-copyright{
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		line-height: 1.4;
		margin-top: clamp(20px, calc(7.1429vw - 6.7857px), 48px);
	}
}


.tfh-license-sub-title {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 60px;
	text-align: left;
	color: #000;
}
.tfh-tokusho-table {
	width: 100%;
	margin-top: 24px;
	border-top: 1px solid #000;
	border-left: 1px solid #000;
}
.tfh-tokusho-table__row {
	display: flex;
	width: 100%;
}
.tfh-tokusho-table__term {
	font-size: 26px;
	font-weight: 700;
	line-height: 1.4;
	width: 30%;
	padding: 20px;
	text-align: left;
	color: #000;
	background: #f9f9f9;
	flex: 0 0 30%;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	word-break: break-all;
}
.tfh-tokusho-table__data {
	font-size: 26px;
	font-weight: 400;
	line-height: 1.4;
	padding: 20px;
	text-align: left;
	color: #000;
	flex: 1;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
	word-break: break-all;
}
.tfh-tokusho-table__data a {
	color: #b81c22;
	text-decoration: underline;
}
.tfh-tokusho-table__data a:hover {
	text-decoration: none;
}
.tfh-license-sub-title,
.tfh-tokusho-table,
.tfh-tokusho-table__term,
.tfh-tokusho-table__data {
	transition: font-size 0.18s ease, line-height 0.18s ease, margin 0.18s ease, padding 0.18s ease, gap 0.18s ease, width 0.18s ease, height 0.18s ease, min-height 0.18s ease, flex-basis 0.18s ease, opacity 0.2s ease;
}
@media (prefers-reduced-motion: reduce){
	.tfh-license-sub-title,
	.tfh-tokusho-table,
	.tfh-tokusho-table__term,
	.tfh-tokusho-table__data {
		transition: none;
	}
}
@media (max-width:767px){
	.tfh-license-sub-title {
		font-size: clamp(15px, calc(2.8061vw + 4.477px), 26px);
		margin-top: clamp(30px, calc(4.0816vw + 10px), 60px);
	}
	.tfh-tokusho-table {
		margin-top: clamp(12px, calc(1.5306vw + 6.2602px), 24px);
	}
	.tfh-tokusho-table__row {
		flex-direction: column;
	}
	.tfh-tokusho-table__term {
		width: 100%;
		flex: 0 0 auto;
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		padding: 12px 16px;
		border-bottom: none;
	}
	.tfh-tokusho-table__data {
		font-size: clamp(14px, calc(3.0612vw + 2.5204px), 26px);
		padding: 12px 16px;
	}
}
