@charset "UTF-8";
/*
Theme Name: TRADITIONAL
Description: TRADITIONAL
Version: 2025.09
Author: YH
*/

#page_content {
    height: 100%;
    font-size: 16px;
    line-height: 2em;
    background: url(../img/bg_content.webp) repeat-y center top / 100% auto fixed;
    color: #fff;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
    font-weight: 400;
    transition: opacity 0.6s ease;
    -webkit-print-color-adjust: exact;
    -webkit-text-size-adjust: none;
    /* font-feature-settings: "palt"; */
    overflow: hidden;
}
#page_content p {
    color: inherit;
    font-size: inherit;
    line-height: 2em;
    letter-spacing: 0;
}
#page_content a,
#page_content a img,
#page_content button {
    text-decoration: none;
    color: #656464;
    transition: all 0.3s ease;
}
.pc_view #page_content a:hover,
.pc_view #page_content button:hover {
    opacity: 0.75;
}
#page_content span {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}
#page_content pictuire,
#page_content img {
    display: block;
    max-width: 100%;
    height: auto;
}
#page_content *[data-view=pc] {
    display: block !important;
}
#page_content *[data-view=sp] {
    display: none !important;
}
#page_content .f_en {
	font-family: "Inter", sans-serif;
	font-weight: 400;
	letter-spacing: 0.5em;
	text-indent: 0.5em;
}
#page_content .f_goth {
	font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
}


#page_content .scrollactive.fadein {
    position: relative;
    top: 20px;
    transition: all ease 1s;
    opacity: 0;
}
#page_content .scrollactive.fadein.active {
    opacity: 1;
    top: 0;
}

#page_content .maskimg {
  /* マスク画像の適用 */
  mask-image: url('../img/img_mask.png');
  mask-repeat: no-repeat;
  mask-size: cover;
  mask-position: 0 0px;

  /* Safari用のプレフィックス（重要） */
  -webkit-mask-image: url('../img/img_mask.png');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: 100% 2000px;
  -webkit-mask-position: 0 0px;
  transition: all ease 2s;
}
#page_content .maskimg.active {
  mask-position: 0 -1000px;
  -webkit-mask-position: 0 -1000px;
}
#page_content .maskgrad {
	overflow: hidden;
	display: block;
	position: relative;
}
#page_content .maskgrad span {
  transition: all ease 1s;
  position: relative;
  top: 40px;
  display: block;
}
#page_content .maskgrad.active span {
  top: 0;
}

#page_content .bt_fixed {opacity: 0;position: fixed;right: 20px;bottom: 20px;z-index: 99;width: 169px;pointer-events: none;}
.pc_view #page_content .bt_fixed:hover {
	transform: scale(1.07);
}
.pc_view #page_content .bt_fixed:hover img {
	opacity: 1;
}
#page_content .bt_fixed.show {
	opacity: 1;
	pointer-events: auto;
}
#page_content .pabetitle {background: #fff;}
#page_content .pabetitle .title {display: flex;flex-direction: column;align-items: center;height: 146px;justify-content: center;}
#page_content .pabetitle .title img {width: 186px;}
#page_content .pabetitle .title .f_en {font-size: 13px;line-height: 1em;margin-top: 20px;color: #131314;letter-spacing: 0.25em;text-indent: 0.35em;}
#page_content .visual {
  position: relative;
  z-index: 30;
}
#page_content .visual .bg {width: 100%;opacity: 0;transition: all ease 2s;}
#page_content .visual.active .bg {
	opacity: 1;
}
#page_content .visual .text {position: absolute;left: 0;top: 0;width: 33.4%;transform: translate(-50%, -50%);left: 28%;top: 51%;}
#page_content .visual.active .text {top: 48%;}
#page_content .intro {
	position: relative;
	padding: 140px 0 160px 0;
}
#page_content .intro::before {
	content: "";
	background: url(../img/bg_intro.webp) no-repeat calc(50% - 160px) -300px / 1879px auto;
	display: block;
	width: 100%;
	height: 2000px;
	position: absolute;
	left: 0;
	top: 0;
	mix-blend-mode: screen;
}
#page_content .intro >.inner {max-width: 1280px;margin: 0 auto;width: 96%;display: flex;justify-content: space-between;}
#page_content .intro .video {width: 44%;}
#page_content .intro .video video#v_intro {display: block;object-fit: cover;aspect-ratio: 1/ 1;width: 100%;z-index: 10;position: relative;}
#page_content .intro .video .caption {
	font-size: 12px;
	margin-top: 5px;
}
#page_content .intro .info {width: 50%;padding-top: 13px;position: relative;}
#page_content .intro .info h2 {max-width: 590px;}
#page_content .intro .info h2 img {width: 100%;height: auto;}
#page_content .intro .info .text {font-size: 18px;line-height: 3.3em;margin-top: 40px;}
#page_content .intro .info::before,
#page_content .intro .video::before {
  content: "";
  width: 0.5px;
  height: 0px;
  display: block;
  position: absolute;
  right: -30px;
  background: #fff;
  transform: translate(0, 0) rotate(28deg);
  transform-origin: 0 0;
  top: 270px;
  transition: all ease 1s +0.5s;
}
#page_content .intro .info::before {
	right: -100px;
	top: -160px;
	transition-delay: 0s;
}
#page_content .intro .info.active::before,
#page_content .intro .video.active::before {
  height: 530px;
}

#page_content .hstyle {display: flex;flex-direction: column;align-items: center;justify-content: center;padding-bottom: 80px;position: relative;}
#page_content .hstyle::after {
	content: "";
	display: block;
	width: 1px;
	height: 0px;
	background: #fff;
	position: absolute;
	top: 126px;
	left: 50%;
  transition: all ease 1s;
}
#page_content .hstyle.active::after {
	height: 40px;
}
#page_content .hstyle img {height: 38px;}
#page_content .hstyle .f_en {font-size: 13px;background: radial-gradient(circle at center, #fae0a5 0%, #ac8945 50%);-webkit-background-clip: text;background-clip: text;color: transparent;line-height: 1em;margin-top: 35px;}
#page_content .review {padding: 100px 0;}
#page_content .review >.inner {
}
#page_content .review h2 {}
#page_content .review .slider {width: 810px;margin: 0 auto 0 auto;}
#page_content .review .slider .slick-list {overflow: visible;}
#page_content .review .slider .slick-track {
}
#page_content .review .slider .slide {background: #141414;margin: 0 35px;padding: 10px;display: flex;justify-content: space-between;position: relative;border-top: 1px solid;border-image: linear-gradient(to right, transparent, transparent, #fae0a5, transparent, transparent) 1;border-image-slice: 1;}
#page_content .review .slider .slide::after {
	content: "";
	display: block;
	position: absolute;
	bottom: -50px;
	left: 0;
	height: 50px;
	width: 100%;
	background: url(../img/bg_grad3.webp) no-repeat center center / 100% 100%;
	mix-blend-mode: multiply;
}
#page_content .review .slider .slide .img {width: 240px;}
#page_content .review .slider .slide .img img {
}
#page_content .review .slider .slide .info {padding: 0px 40px 0px 40px;width: calc(100% - 250px);box-sizing: border-box;display: flex;flex-direction: column;justify-content: center;}
#page_content .review .slider .slide .info .text {font-size: 15px;min-height: 6em;}
#page_content .review .slider .slide .info .reviewer {font-size: 13.5px;margin-top: 15px;}

#page_content .slider .slick-prev,
#page_content .slider .slick-next {
  width: 70px;
  height: 70px;
  background: url(../img/icon_arrow.webp) no-repeat 52% center / 25px auto;
  right: -34px;
  left: auto;
  top: 50%;
  z-index: 10;
  transform: translate(0, -50%);
  text-indent: -9999px;
  overflow: hidden;
  border: none;
}
#page_content .slider .slick-prev {
  right: auto;
  left: -34px;
  transform: translate(0, -50%) rotate(180deg);
}
#page_content .slider .slick-prev::before,
#page_content .slider .slick-next::before,
#page_content .slider .slick-prev::after,
#page_content .slider .slick-next::after {
	display: none;
}
#page_content .slider .slick-next {
  left: auto;
}
#page_content .slider .slick-dots {
	bottom: 0;
	display: flex !important;
	justify-content: center;
	z-index: 9;
	gap: 6px;
	padding: 14px 0;
}
#page_content .slider .slick-dots li {
	position: relative;
	display: block;
	width: 10px;
	height: 10px;
	margin: 0;
	background: no-repeat;
}
#page_content .slider .slick-dots li button {
	display: block;
	width: 8px;
	height: 8px;
	padding: 0;
	background: no-repeat;
	border-radius: 100px;
	box-sizing: border-box;
	background: none;
	border: 1px solid #fff;
}
#page_content .slider .slick-dots li.slick-active button {
	background: #fff;
}
#page_content .slider .slick-dots li button:before {
	display: none;   
}
#page_content .technique {
}
#page_content .technique >.inner {
}
#page_content .technique h2 {
}
#page_content .technique h2 img {
}
#page_content .technique h2 .f_en {
}
#page_content .technique .slider {margin: 0;}
#page_content .technique .slider .slide {
}
#page_content .technique .slider .slide .img {height: 600px;position: relative;overflow: hidden;}
#page_content .technique .slider .slide .img::before,
#page_content .technique .slider .slide .img::after {
	content: "";
	display: block;
	width: 100vw;
	height: 100%;
	background: #fff;
	position: absolute;
	left: calc(50% + 285px);
	z-index: 5;
	opacity: 0.7;
}
#page_content .technique .slider .slide .img::after {
	left: auto;
	right: calc(50% + 545px);
}
#page_content .technique .slider .slide .img > div {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	background: url(../img/img_technique1_1.webp) repeat calc(50% - 130px) center / auto 100%;
	animation: fadeLoop 15s infinite;
	opacity: 0;
}
#page_content .technique .slider .slide .img .bg2 {
  animation-delay: 5s;
}
#page_content .technique .slider .slide .img .bg3 {
  animation-delay: 10s;
}
@keyframes fadeLoop {
  0%   { opacity: 0; }
  15%   { opacity: 1; }   /* フェードイン開始 */
  33%  { opacity: 1; }   /* 表示キープ */
  48%  { opacity: 0; }   /* フェードアウト開始 */
  100% { opacity: 0; }   /* 次に備えて非表示 */
}
#page_content .technique .slider .slide1 .img .bg1 { background-image: url(../img/img_technique1_1.webp); }
#page_content .technique .slider .slide1 .img .bg2 { background-image: url(../img/img_technique1_2.webp); }
#page_content .technique .slider .slide1 .img .bg3 { background-image: url(../img/img_technique1_3.webp); }
#page_content .technique .slider .slide2 .img .bg1 { background-image: url(../img/img_technique2_1.webp); }
#page_content .technique .slider .slide2 .img .bg2 { background-image: url(../img/img_technique2_2.webp); }
#page_content .technique .slider .slide2 .img .bg3 { background-image: url(../img/img_technique2_3.webp); }
#page_content .technique .slider .slide3 .img .bg1 { background-image: url(../img/img_technique3_1.webp); }
#page_content .technique .slider .slide3 .img .bg2 { background-image: url(../img/img_technique3_2.webp); }
#page_content .technique .slider .slide3 .img .bg3 { background-image: url(../img/img_technique3_3.webp); }
#page_content .technique .slider .slide4 .img .bg1 { background-image: url(../img/img_technique4_1.webp); }
#page_content .technique .slider .slide4 .img .bg2 { background-image: url(../img/img_technique4_2.webp); }
#page_content .technique .slider .slide4 .img .bg3 { background-image: url(../img/img_technique4_3.webp); }
#page_content .technique .slider .slide5 .img .bg1 { background-image: url(../img/img_technique5_1.webp); }
#page_content .technique .slider .slide5 .img .bg2 { background-image: url(../img/img_technique5_2.webp); }
#page_content .technique .slider .slide5 .img .bg3 { background-image: url(../img/img_technique5_3.webp); }
#page_content .technique .slider .slide6 .img .bg1 { background-image: url(../img/img_technique6_1.webp); }
#page_content .technique .slider .slide6 .img .bg2 { background-image: url(../img/img_technique6_2.webp); }
#page_content .technique .slider .slide6 .img .bg3 { background-image: url(../img/img_technique6_3.webp); }
#page_content .technique .slider .slide .info {background: #141414;position: absolute;left: calc(50% + 160px);top: 50%;z-index: 10;width: 370px;height: 460px;transform: translate(0, -50%);box-sizing: border-box;border-top: 1px solid;border-image: linear-gradient(to right, transparent, #fae0a5, transparent) 1;border-image-slice: 1;padding: 55px 40px 40px 40px;}
#page_content .technique .slider .slide .info .title {position: relative;padding-bottom: 33px;}
#page_content .technique .slider .slide .info .title::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	height: 1px;
	background: #fff;
	width: 30px;
	transform: translate(-50%, 0);
	bottom: 0;
}
#page_content .technique .slider .slide .info .title img {height: 37px;margin: 0 auto;}
#page_content .technique .slider .slide .info .text {font-size: 16px;margin-top: 55px;}
#page_content .technique .slider .slick-prev {left: calc(50% + 210px);top: 447px;}
#page_content .technique .slider .slick-next {left: calc(50% + 410px);top: 447px;}

#page_content .technique .slick-dots {width: 370px;left: calc(50% + 160px);bottom: 132px;}
#page_content .traditional {
}
#page_content .traditional .nav {display: flex;}
#page_content .traditional .nav .hbox {width: 493px;background: url(../img/bg_traditional.webp) no-repeat center center / cover;display: flex;justify-content: center;align-items: center;}
#page_content .traditional .nav .hbox h2 {
  padding-bottom: 0;
}
#page_content .traditional .nav .hbox h2::after {
	display: none;
}
#page_content .traditional .nav .hbox h2 img {}
#page_content .traditional .nav .hbox h2 .f_en {}
#page_content .traditional .nav ol {width: calc(100% - 493px);}
#page_content .traditional .nav ol li {
  border-bottom: 1px solid #1a1a1a;
}
#page_content .traditional .nav ol li a {
  display: flex;
  align-items: center;
  height: 100px;
	transition: all ease 0.3s;
}
#page_content .traditional .nav ol li a::before {
	content: "";
	background: url(../img/bg_grad1.webp) no-repeat center top / 100% auto;
	position: absolute;
	left: 0;
	top: 0;
	width: 90px;
	height: 100%;
	opacity: 0;
	transition: 0.3s ease all;
}
#page_content .traditional .nav ol li a::after {
	content: "";
	background: url(../img/bg_traditional1.webp) no-repeat center center / cover;
	position: absolute;
	right: 0;
	top: 0;
	width: 270px;
	height: 100%;
	opacity: 0;
	transition: 0.3s ease all;
}
#page_content .traditional .nav ol li:nth-child(2) a::after {
	background-image: url(../img/bg_traditional2.webp);
}
#page_content .traditional .nav ol li:nth-child(3) a::after {
	background-image: url(../img/bg_traditional7.webp);
}
#page_content .traditional .nav ol li:nth-child(4) a::after {
	background-image: url(../img/bg_traditional3.webp);
}
#page_content .traditional .nav ol li:nth-child(5) a::after {
	background-image: url(../img/bg_traditional4.webp);
}
#page_content .traditional .nav ol li:nth-child(6) a::after {
	background-image: url(../img/bg_traditional5.webp);
}
#page_content .traditional .nav ol li:nth-child(7) a::after {
	background-image: url(../img/bg_traditional6.webp);
}
#page_content .traditional .nav ol li a .num {
  font-size: 24px;
  color: #fff;
  position: relative;
  display: block;
  width: 100px;
  text-align: center;
  margin-right: 20px;
	transition: all ease 0.3s;
}
#page_content .traditional .nav ol li a .num::after {
	content: "";
	width: 0.5px;
	height: 40px;
	display: block;
	position: absolute;
	right: 10px;
	background: #fff;
	transform: translate(0, -50%) rotate(30deg);
	top: 50%;
	transition: all ease 0.3s;
}
#page_content .traditional .nav ol li a .title {
  position: relative;
}
#page_content .traditional .nav ol li a .title img {
  height: 28px;
}
#page_content .traditional .nav ol li a .title img + img {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
.pc_view #page_content .traditional .nav ol li a:hover {
	opacity: 1;
	background: #fff;
}
.pc_view #page_content .traditional .nav ol li a:hover::before,
.pc_view #page_content .traditional .nav ol li a:hover::after {
	opacity: 1;
}
.pc_view #page_content .traditional .nav ol li a:hover .num {
	color: #1a1a1a
}
.pc_view #page_content .traditional .nav ol li a:hover .num::after {
	background: #1a1a1a
}
.pc_view #page_content .traditional .nav ol li a:hover .title img + img {opacity: 1;}

#page_content .traditional .insec {padding: 115px 0 50px 0;}
#page_content .traditional .insec >.inner {max-width: 1280px;margin: 0 auto;width: 96%;display: flex;align-items: start;position: relative;}
#page_content .traditional .insec >.inner:after {
  content: "";
  width: 0.5px;
  height: 0;
  display: block;
  position: absolute;
  right: -35px;
  background: #fff;
  transform: translate(0, 0) rotate(28deg);
  transform-origin: 0 0;
  top: 200px;
  transition: all ease 1s +0.5s;
}
#page_content .traditional .insec.active >.inner:after {
  height: 530px;
}
#page_content .traditional .insec h3 {
  position: absolute;
  right: 30px;
  top: -50px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
#page_content .traditional .insec h3 .num {
  display: block;
  margin-bottom: 60px;
  position: relative;
  width: 110%;
}

#page_content .traditional .insec h3 .num::after {
  content: "";
  width: 0.5px;
  height: 70px;
  display: block;
  position: absolute;
  right: 10px;
  background: #fff;
  transform: translate(0, 0) rotate(30deg);
  top: -5px;
  transition: all ease 0.3s;
}
#page_content .traditional .insec h3 .num span {
  font-size: 36px;
  font-weight: 400;
  display: block;
  clip-path: polygon(0 0, 120% 0%, 70% 100%, 0% 100%);
  text-align: center;
}
#page_content .traditional .insec h3 img {
  width: 40px;
}
#page_content .traditional .insec .img {width: 50%;position: relative;aspect-ratio: 640 / 550;}
#page_content .traditional .insec .img::after {
  content: "";
  display: block;
  position: absolute;
  bottom: -50px;
  left: 0;
  height: 50px;
  width: 100%;
  background: url(../img/bg_grad3.webp) no-repeat center center / 100% 100%;
  mix-blend-mode: multiply;
}
#page_content .traditional .insec .imgimg {}
#page_content .traditional .insec .info {width: 380px;margin: 0 80px;position: relative;z-index: 20;}
#page_content .traditional .insec .info .title {display: flex;flex-direction: column;gap: 20px;align-items: start;width: 110%;}
#page_content .traditional .insec .info .title span {
  font-size: 24px;
  line-height: 1em;
  letter-spacing: 0.05em;
  background: radial-gradient(circle at 0% 0%, #fae0a5 0%, #ac8945 50%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
#page_content .traditional .insec .info .text {font-size: 15.5px;margin-top: 40px;min-height: 290px;}

#page_content .traditional .insec .info .subimg {width: 270px;margin: 50px 0 0 auto;position: relative;right: -40px;aspect-ratio: 270 / 170;}
#page_content .traditional .insec .info .subimg img {
	animation: fadeLoop2 8s infinite;
}
@keyframes fadeLoop2 {
  0%   { opacity: 0; }   /* 非表示開始 */
  45%  { opacity: 0; }   /* 非表示キープ */
  50%  { opacity: 1; }   /* フェードイン開始 */
  95%  { opacity: 1; }   /* 表示キープ */
  100% { opacity: 0; }   /* 再非表示準備 */
}
#page_content .traditional .insec .info .subimg img + img {
	position: absolute;
	left: 0;
	top: 0;
	animation-delay: 4s;
	opacity: 0;
}
#page_content .traditional .insec:nth-child(odd) h3 {
  right: auto;
  left: 30px;
}
#page_content .traditional .insec:nth-child(odd)  >.inner {
	flex-direction: row-reverse;
}
#page_content .traditional .insec:nth-child(odd) >.inner:after {right: auto;left: 130px;}
#page_content .traditional .insec:nth-child(odd)  .info .subimg {margin-left: 0;right: auto;left: -40px;}

#page_content .contact {padding: 60px 0;margin-top: 20px;}
#page_content .contact::before {
	content: "";
	background: url(../img/bg_contact.webp) no-repeat center center / cover;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	mix-blend-mode: multiply;
}
#page_content .contact >.inner {max-width: 1280px;margin: 0 auto;width: 96%;position: relative;z-index: 10;background: url(../img/bg_line1.webp) no-repeat right top / 200px auto, url(../img/bg_line2.webp) no-repeat left bottom / 200px auto;padding: 30px 0 40px 0;}
#page_content .contact .text {text-align: center;font-size: 22px;}
#page_content .contact .note {text-align: center;font-size: 14px;margin-top: 20px;}
#page_content .contact .bt_more {display: block;width: 630px;border: 1px solid #fff;margin: 40px auto 0 auto;padding: 24px 0;background: url(../img/bg_grad2.webp) no-repeat left -10px / 90px auto, url(../img/icon_arrow.webp) no-repeat right 30px top 50% / 13px auto, url(../img/txt_contact_b.webp) no-repeat center center / 288px auto;}
#page_content .contact .bt_more img {
  width: 288px;
  margin: 0 auto;
  transition: all ease 0.3s;
}
.pc_view #page_content .contact .bt_more:hover {
	background: url(../img/bg_grad1.webp) no-repeat left -10px / 90px auto, url(../img/icon_arrow_b.webp) no-repeat right 30px top 50% / 13px auto, url(../img/txt_contact_b.webp) no-repeat center center / 288px auto;
	opacity: 1;
	background-color: #fff;
}
.pc_view #page_content .contact .bt_more:hover img {
	opacity: 0;
}

/**************************************************************/
/** SP ********************************************************/
/**************************************************************/
@media screen and (max-width: 767px) {
    /* style
	-------------------------------------------------------------- */
    #page_content a:hover {
        opacity: 1;
    }
    #page_content *[data-view=pc] {display: none !important;
    }
    #page_content *[data-view=sp] {display: block !important;
    }
	
	
	#page_content {
		height: 100%;
		font-size: 14px;
		line-height: 2em;
		background: url(../img/bg_content.webp) repeat-y center top / 800px auto;
		color: #fff;
		font-family: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ 明朝", serif;
		font-weight: 400;
		transition: opacity 0.6s ease;
		-webkit-print-color-adjust: exact;
		-webkit-text-size-adjust: none;
		/* font-feature-settings: "palt"; */
		overflow: hidden;
	}
	#page_content p {
		color: inherit;
		font-size: inherit;
		line-height: 2em;
		letter-spacing: 0;
	}
	#page_content a,
	#page_content a img,
	#page_content button {
		text-decoration: none;
		color: #656464;
		transition: all 0.3s ease;
	}
	#page_content span {
		font-size: inherit;
		font-weight: inherit;
		color: inherit;
	}
	#page_content pictuire,
	#page_content img {
		display: block;
		max-width: 100%;
		height: auto;
	}
	#page_content .f_en {
		font-family: "Inter", sans-serif;
		font-weight: 400;
		letter-spacing: 0.5em;
		text-indent: 0.5em;
	}
	#page_content .f_goth {
		font-family: "游ゴシック", "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "ＭＳ ゴシック", sans-serif;
	}


	#page_content .scrollactive.fadein {
		position: relative;
		top: 20px;
		transition: all ease 1s;
		opacity: 0;
	}
	#page_content .scrollactive.fadein.active {
		opacity: 1;
		top: 0;
	}

	#page_content .maskimg {
	  /* マスク画像の適用 */
	  mask-image: url('../img/img_mask.png');
	  mask-repeat: no-repeat;
	  mask-size: cover;
	  mask-position: 0 0px;

	  /* Safari用のプレフィックス（重要） */
	  -webkit-mask-image: url('../img/img_mask.png');
	  -webkit-mask-repeat: no-repeat;
	  -webkit-mask-size: 100% 2000px;
	  -webkit-mask-position: 0 0px;
	  transition: all ease 2s;
	}
	#page_content .maskimg.active {
	  mask-position: 0 -1000px;
	  -webkit-mask-position: 0 -1000px;
	}
	#page_content .maskgrad {
		overflow: hidden;
		display: block;
		position: relative;
	}
	#page_content .maskgrad span {
	  transition: all ease 1s;
	  position: relative;
	  top: 40px;
	  display: block;
	}
	#page_content .maskgrad.active span {
	  top: 0;
	}

	#page_content .bt_fixed {opacity: 0;position: fixed;right: 0;bottom: 0;z-index: 99;width: 130px;pointer-events: none;}

	#page_content .bt_fixed.show {
		opacity: 1;
		pointer-events: auto;
	}
	#page_content .pabetitle {background: #fff;padding-top: 50px;}
	#page_content .pabetitle .title {display: flex;flex-direction: column;align-items: center;height: 115px;justify-content: center;}
	#page_content .pabetitle .title img {width: 156px;}
	#page_content .pabetitle .title .f_en {font-size: 12px;line-height: 1em;margin-top: 17px;/* color: #000; */letter-spacing: 0.25em;text-indent: 0.35em;}
	#page_content .visual {
	  position: relative;
	  z-index: 30;
	}
	#page_content .visual .bg {width: 100%;opacity: 0;transition: all ease 2s;}
	#page_content .visual.active .bg {
		opacity: 1;
	}
	#page_content .visual .text {position: absolute;left: 0;top: 0;width: 66%;transform: translate(-50%, -50%);left: 50%;top: 31%;}
	#page_content .visual.active .text {top: 28%;}
	#page_content .intro {
		position: relative;
		padding: 50px 0 50px 0;
	}
	#page_content .intro::before {
		content: "";
		background: url(../img/bg_intro.webp) no-repeat calc(50% - 160px) -300px / 1719px auto;
		display: block;
		width: 100%;
		height: 2000px;
		position: absolute;
		left: 0;
		top: 0;
		mix-blend-mode: screen;
	}
	#page_content .intro >.inner {max-width: 1280px;margin: 0 auto;width: 93%;display: flex;justify-content: space-between;flex-direction: column;}
	#page_content .intro .video {width: 100%;margin-top: 40px;}
	#page_content .intro .video video#v_intro {display: block;object-fit: cover;aspect-ratio: 1/ 1;width: 100%;z-index: 10;position: relative;}
	#page_content .intro .info {width: auto;padding: 13px 5% 0 5%;position: relative;}
	#page_content .intro .info h2 {display: flex;flex-direction: column;gap: 22px;}
	#page_content .intro .info h2 img {width: auto;height: 30px;}
	#page_content .intro .info .text {font-size: 16px;line-height: 3em;margin-top: 40px;}
	#page_content .intro .info::before,
	#page_content .intro .video::before {
	  content: "";
	  /* width: 1px; */
	  height: 0px;
	  display: block;
	  position: absolute;
	  right: -30px;
	  background: #fff;
	  transform: translate(0, 0) rotate(28deg);
	  transform-origin: 0 0;
	  top: 270px;
	  transition: all ease 1s +0.5s;
	}
	#page_content .intro .info::before {
		right: -50px;
		top: -60px;
		transition-delay: 0s;
	}
	#page_content .intro .info.active::before,
	#page_content .intro .video.active::before {
	  height: 250px;
	}
	#page_content .intro .video.active::before {
		display: none;
	}

	#page_content .hstyle {display: flex;flex-direction: column;align-items: center;justify-content: center;padding-bottom: 80px;position: relative;}
	#page_content .hstyle::after {
		content: "";
		display: block;
		width: 1px;
		height: 0px;
		background: #fff;
		position: absolute;
		top: 153px;
		left: 50%;
		transition: all ease 1s;
	}
	#page_content .hstyle.active::after {
		height: 40px;
	}
	#page_content .hstyle img {height: 70px;}
	#page_content .hstyle .f_en {font-size: 13px;background: radial-gradient(circle at center, #fae0a5 0%, #ac8945 50%);-webkit-background-clip: text;background-clip: text;color: transparent;line-height: 1em;margin-top: 30px;}
	#page_content .review {padding: 50px 0;}
	#page_content .review >.inner {
	}
	#page_content .review h2 {}
	#page_content .review .slider {width: 100%;margin: 0 auto 0 auto;}
	#page_content .review .slider .slick-list {overflow: visible;}
	#page_content .review .slider .slick-track {
	}
	#page_content .review .slider .slide {/* background: #000; */margin: 0 45px;padding: 10px;display: flex;justify-content: space-between;position: relative;border-top: 1px solid;border-image: linear-gradient(to right, transparent, transparent, #fae0a5, transparent, transparent) 1;border-image-slice: 1;flex-direction: column;}
	#page_content .review .slider .slide::after {
		content: "";
		display: block;
		position: absolute;
		bottom: -50px;
		left: 0;
		height: 50px;
		width: 100%;
		background: url(../img/bg_grad3.webp) no-repeat center center / 100% 100%;
		mix-blend-mode: multiply;
	}
	#page_content .review .slider .slide .img {width: 100%;}
	#page_content .review .slider .slide .img img {
	}
	#page_content .review .slider .slide .info {padding: 20px 20px 20px 20px;width: auto;box-sizing: border-box;display: flex;flex-direction: column;justify-content: center;}
	#page_content .review .slider .slide .info .text {font-size: 15px;min-height: 6em;}
	#page_content .review .slider .slide .info .reviewer {font-size: 13.5px;margin-top: 15px;}

	#page_content .slider .slick-prev,
	#page_content .slider .slick-next {
	  width: 50px;
	  height: 50px;
	  background: url(../img/icon_arrow.webp) no-repeat 52% center / 20px auto;
	  right: -5px;
	  left: auto;
	  top: 50%;
	  z-index: 10;
	  transform: translate(0, -50%);
	  text-indent: -9999px;
	  overflow: hidden;
	  border: none;
	}
	#page_content .slider .slick-prev {
	  right: auto;
	  left: -3px;
	  transform: translate(0, -50%) rotate(180deg);
	}
	#page_content .slider .slick-prev::before,
	#page_content .slider .slick-next::before,
	#page_content .slider .slick-prev::after,
	#page_content .slider .slick-next::after {
		display: none;
	}
	#page_content .slider .slick-next {
	  left: auto;
	}
	#page_content .slider .slick-dots {
		bottom: 0;
		display: flex !important;
		justify-content: center;
		z-index: 9;
		gap: 6px;
		padding: 14px 0;
	}
	#page_content .slider .slick-dots li {
		position: relative;
		display: block;
		width: 10px;
		height: 10px;
		margin: 0;
		background: no-repeat;
	}
	#page_content .slider .slick-dots li button {
		display: block;
		width: 8px;
		height: 8px;
		padding: 0;
		background: no-repeat;
		border-radius: 100px;
		box-sizing: border-box;
		background: none;
		border: 1px solid #fff;
	}
	#page_content .slider .slick-dots li.slick-active button {
		background: #fff;
	}
	#page_content .slider .slick-dots li button:before {
		display: none;   
	}
	#page_content .technique {
	padding-bottom: 50px;
	}
	#page_content .technique >.inner {
	}
	#page_content .technique h2 {
	}
	#page_content .technique h2 img {
	}
	#page_content .technique h2 .f_en {
	}
	#page_content .technique .slider {margin: 0;}
	#page_content .technique .slider .slide {
	}
	#page_content .technique .slider .slide .img {height: auto;position: relative;height: 288px;}
	#page_content .technique .slider .slide .img::before,
	#page_content .technique .slider .slide .img::after {
		display: none;
	}
	#page_content .technique .slider .slide .img > div {
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
		background: url(../img/img_technique1_1.webp) repeat center center / cover;
		animation: fadeLoop 15s infinite;
		opacity: 0;
	}
	#page_content .technique .slider .slide .img .bg2 {
	  animation-delay: 5s;
	}
	#page_content .technique .slider .slide .img .bg3 {
	  animation-delay: 10s;
	}
	#page_content .technique .slider .slide1 .img .bg1 { background-image: url(../img/img_technique1_1.webp); }
	#page_content .technique .slider .slide1 .img .bg2 { background-image: url(../img/img_technique1_2.webp); }
	#page_content .technique .slider .slide1 .img .bg3 { background-image: url(../img/img_technique1_3.webp); }
	#page_content .technique .slider .slide2 .img .bg1 { background-image: url(../img/img_technique2_1.webp); }
	#page_content .technique .slider .slide2 .img .bg2 { background-image: url(../img/img_technique2_2.webp); }
	#page_content .technique .slider .slide2 .img .bg3 { background-image: url(../img/img_technique2_3.webp); }
	#page_content .technique .slider .slide3 .img .bg1 { background-image: url(../img/img_technique3_1.webp); }
	#page_content .technique .slider .slide3 .img .bg2 { background-image: url(../img/img_technique3_2.webp); }
	#page_content .technique .slider .slide3 .img .bg3 { background-image: url(../img/img_technique3_3.webp); }
	#page_content .technique .slider .slide4 .img .bg1 { background-image: url(../img/img_technique4_1.webp); }
	#page_content .technique .slider .slide4 .img .bg2 { background-image: url(../img/img_technique4_2.webp); }
	#page_content .technique .slider .slide4 .img .bg3 { background-image: url(../img/img_technique4_3.webp); }
	#page_content .technique .slider .slide5 .img .bg1 { background-image: url(../img/img_technique5_1.webp); }
	#page_content .technique .slider .slide5 .img .bg2 { background-image: url(../img/img_technique5_2.webp); }
	#page_content .technique .slider .slide5 .img .bg3 { background-image: url(../img/img_technique5_3.webp); }
	#page_content .technique .slider .slide6 .img .bg1 { background-image: url(../img/img_technique6_1.webp); }
	#page_content .technique .slider .slide6 .img .bg2 { background-image: url(../img/img_technique6_2.webp); }
	#page_content .technique .slider .slide6 .img .bg3 { background-image: url(../img/img_technique6_3.webp); }
	#page_content .technique .slider .slide .info {/* background: #000; */position: relative;left: auto;top: auto;z-index: 10;width: 88%;height: 480px;transform: none;box-sizing: border-box;border-top: 1px solid;border-image: linear-gradient(to right, transparent, #fae0a5, transparent) 1;border-image-slice: 1;padding: 55px 20px 40px 20px;margin: -54px auto -30px auto;}
	#page_content .technique .slider .slide .info .title {position: relative;padding-bottom: 33px;}
	#page_content .technique .slider .slide .info .title::after {
		content: "";
		display: block;
		position: absolute;
		left: 50%;
		height: 1px;
		background: #fff;
		width: 30px;
		transform: translate(-50%, 0);
		bottom: 0;
	}
	#page_content .technique .slider .slide .info .title img {height: 37px;margin: 0 auto;}
	#page_content .technique .slider .slide .info .text {font-size: 16px;margin-top: 55px;}
	#page_content .technique .slider .slick-prev {left: calc(50% - 140px);top: auto;bottom: 7px;width: 70px;height: 70px;background-size: 27px auto;}
	#page_content .technique .slider .slick-next {left: calc(50% + 70px);top: auto;bottom: 7px;width: 70px;height: 70px;background-size: 27px auto;}

	#page_content .technique .slick-dots {width: 100%;left: 0;bottom: 55px;}
	#page_content .traditional {
	}
	#page_content .traditional .nav {display: block;}
	#page_content .traditional .nav .hbox {width: auto;background: url(../img/bg_traditional.webp) no-repeat center center / cover;display: flex;justify-content: center;align-items: center;height: 280px;}
	#page_content .traditional .nav .hbox h2 {
	  padding-bottom: 0;
	}
	#page_content .traditional .nav .hbox h2::after {
		display: none;
	}
	#page_content .traditional .nav .hbox h2 img {
  height: 27px;
}
	#page_content .traditional .nav .hbox h2 .f_en {}
	#page_content .traditional .nav ol {width: auto;display: flex;flex-wrap: wrap;}
	#page_content .traditional .nav ol li {
	  border-bottom: 1px solid #1a1a1a;
	  width: 50%;
	  box-sizing: border-box;
	}
	#page_content .traditional .nav ol li:last-child:nth-child(odd) {
	width: 100%;
	}
	#page_content .traditional .nav ol li:nth-child(2n) {
	  border-left: 1px solid #1a1a1a;
	}
	#page_content .traditional .nav ol li a {
	  display: flex;
	  align-items: center;
	  height: 50px;
	  transition: all ease 0.3s;
	}
	#page_content .traditional .nav ol li a::before {
		content: "";
		background: url(../img/bg_grad1.webp) no-repeat center top / 100% auto;
		position: absolute;
		left: 0;
		top: 0;
		width: 90px;
		height: 100%;
		opacity: 0;
		transition: 0.3s ease all;
		display: none;
	}
	#page_content .traditional .nav ol li a::after {
		content: "";
		position: absolute;
		right: 0;
		top: 0;
		width: 270px;
		height: 100%;
		opacity: 0;
		transition: 0.3s ease all;
		display: none;
	}
	#page_content .traditional .nav ol li a .num {
	  font-size: 14px;
	  color: #fff;
	  position: relative;
	  display: block;
	  width: 50px;
	  text-align: center;
	  margin-right: 16px;
	  transition: all ease 0.3s;
	}
	#page_content .traditional .nav ol li a .num::after {
		content: "";
		/* width: 1px; */
		height: 20px;
		display: block;
		position: absolute;
		right: 2px;
		background: #fff;
		transform: translate(0, -50%) rotate(30deg);
		top: 50%;
		transition: all ease 0.3s;
	}
	#page_content .traditional .nav ol li a .title {
	  position: relative;
	}
	#page_content .traditional .nav ol li a .title img {
	  height: 15px;
	}
	#page_content .traditional .nav ol li a .title img + img {
	  position: absolute;
	  left: 0;
	  top: 0;
	  opacity: 0;
	}

	#page_content .traditional .insec {padding: 50px 0 50px 0;}
	#page_content .traditional .insec >.inner {max-width: 1280px;margin: 0 auto;width: 93%;display: block;}
	#page_content .traditional .insec >.inner:after {
	  content: "";
	  /* width: 1px; */
	  height: 0;
	  display: block;
	  position: absolute;
	  right: auto;
	  left: calc(50% + 50px);
	  background: #fff;
	  transform: translate(0, 0) rotate(28deg);
	  transform-origin: 0 0;
	  top: 172px;
	  transition: all ease 1s +0.5s;
	}
	#page_content .traditional .insec.active >.inner:after {
	  height: 530px;
	}
	#page_content .traditional .insec#traditional4 >.inner:after,
	#page_content .traditional .insec#traditional5 >.inner:after {
		top: 247px;
	}
	#page_content .traditional .insec#traditional7 >.inner:after {
		top: 213px;
	}
	#page_content .traditional .insec h3 {
	  position: relative;
	  right: auto;
	  top: auto;
	  display: flex;
	  flex-direction: column;
	  align-items: center;
	  justify-content: center;
	  width: 40px;
	  margin: 0 auto;
	}
	#page_content .traditional .insec h3 .num {
	  display: block;
	  margin-bottom: 40px;
	  position: relative;
	  width: 100%;
	}

	#page_content .traditional .insec h3 .num::after {
	  content: "";
	  /* width: 1px; */
	  height: 50px;
	  display: block;
	  position: absolute;
	  right: 10px;
	  background: #fff;
	  transform: translate(0, 0) rotate(30deg);
	  top: -3px;
	  transition: all ease 0.3s;
	}
	#page_content .traditional .insec h3 .num span {
	  font-size: 28px;
	  font-weight: 400;
	  display: block;
	  clip-path: polygon(0 0, 100% 0%, 64% 100%, 0% 100%);
	  text-align: center;
	}
	#page_content .traditional .insec h3 img {
	  width: 28px;
	}
	#page_content .traditional .insec .img {width: auto;position: relative;margin-top: 100px;z-index: 10;}
	#page_content .traditional .insec .img::after {
	  content: "";
	  display: block;
	  position: absolute;
	  bottom: -50px;
	  left: 0;
	  height: 50px;
	  width: 100%;
	  background: url(../img/bg_grad3.webp) no-repeat center center / 100% 100%;
	  mix-blend-mode: multiply;
	}
	#page_content .traditional .insec .imgimg {}
	#page_content .traditional .insec .info {width: auto;margin: 50px 5% 0 5%;position: relative;z-index: 20;}
	#page_content .traditional .insec .info .title {display: flex;flex-direction: column;gap: 20px;align-items: start;width: 110%;}
	#page_content .traditional .insec .info .title span {
	  font-size: 25px;
	  line-height: 1em;
	  letter-spacing: 0.05em;
	  background: radial-gradient(circle at 0% 0%, #fae0a5 0%, #ac8945 50%);
	  -webkit-background-clip: text;
	  background-clip: text;
	  color: transparent;
	}
	#page_content .traditional .insec .info .text {font-size: 15.5px;margin-top: 40px;min-height: 0;}

	#page_content .traditional .insec .info .subimg {width: 284px;margin: 40px auto 0 auto;position: relative;right: auto;}
	#page_content .traditional .insec .info .subimg img {
		animation: fadeLoop2 8s infinite;
		/* opacity: 0; */
	}
	#page_content .traditional .insec .info .subimg img + img {
		position: absolute;
		left: 0;
		top: 0;
		animation-delay: 4s;
	}
	#page_content .traditional .insec:nth-child(odd) h3 {
	  right: auto;
	  left: auto;
	}
	#page_content .traditional .insec:nth-child(odd)  >.inner {
		flex-direction: row-reverse;
	}
	#page_content .traditional .insec:nth-child(odd) >.inner:after {right: auto;left: calc(50% + 50px);}
	#page_content .traditional .insec:nth-child(odd)  .info .subimg {margin-left: auto;right: auto;left: auto;}

	#page_content .contact {padding: 60px 0;margin-top: 20px;}
	#page_content .contact::before {
		content: "";
		background: url(../img/bg_contact.webp) no-repeat center center / cover;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		mix-blend-mode: multiply;
	}
	#page_content .contact >.inner {max-width: 1280px;margin: 0 auto;width: 93%;position: relative;z-index: 10;background: url(../img/bg_line1.webp) no-repeat right top / 200px auto, url(../img/bg_line2.webp) no-repeat left bottom / 200px auto;padding: 50px 0 70px 0;}
	#page_content .contact .text {text-align: center;font-size: 18px;}
	#page_content .contact .note {text-align: center;font-size: 12px;margin-top: 20px;}
	#page_content .contact .bt_more {display: block;width: 90%;border: 1px solid #fff;margin: 40px auto 0 auto;padding: 24px 0;background: url(../img/bg_grad2.webp) no-repeat left top / 116px auto, url(../img/icon_arrow.webp) no-repeat right 20px top 50% / 10px auto;}
	#page_content .contact .bt_more img {
	  width: 220px;
	  margin: 0 auto;
	}
	
}