@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');



/* =================== */
/*       pubulic       */
/* =================== */
body.lower #header #site-logo {
	width:16rem;
	margin-top:2rem;
	margin-left:4rem;
	animation:none !important;
}
body.lower #header #site-logo .yoko { display:block; }
body.lower #header #site-logo .sq { display:none; }
body.lower #header { padding-bottom:2rem; }
body.lower #header .move-box {
	animation:none !important;
  width:100%;
  position:fixed;
  top:4.2rem;
  left:0;
}
body.lower #header .move-box ul.main-nav {
	padding-left:5rem;
	display:flex;
	justify-content:center;
	align-items:center;
}
body.lower #header .move-box ul.main-nav li {
	margin:0 1.5rem;
	font-size:1.6rem;
}
body.lower #header .move-box .head-news-box { display:none; }
body.lower #header .move-box ul.sns-nav { display:none; }

body.lower #fixed-online-btn a {
	width:10rem;
  height:10rem;
	top:6.5rem;
	right:3rem;
}
body.lower #fixed-online-btn a .txt {
	font-size: 1.5rem;
  margin-top: 3.5rem;
}
body.lower #fixed-online-btn a .icon { font-size:2rem; margin-top:1.2rem; }

main { margin-top:15rem; }

.breadcrumbs-box {
	margin:0 4rem;
	font-size:1.6rem;
}
.breadcrumbs-box a:hover { opacity:.5; }

h1#page-ttl {
	font-size:4.25rem;
	text-align:center;
	margin:5rem 0 11rem;
}
h1#page-ttl span { position:relative; }
h1#page-ttl span::before {
	content:"";
	width:15.2rem;
	height:6.75rem;
	background:url(/img/ttl_deco5.png) no-repeat;
	background-size:cover;
	display:block;
	position:absolute;
	bottom:-4rem;
	right:-6.5rem;
}

@media screen and (max-width: 960px) {
	/*body.lower #fixed-online-btn a { background:#ffa96d; color:#fff; width:100%; top:initial; bottom:0; right:0; height:75px; border-radius:0; border:0; display:flex; align-items:center; justify-content:center; transition:none; }
	body.lower #fixed-online-btn a .txt { font-size:25px; order:2; margin-left:20px; margin-top:0; }
	body.lower #fixed-online-btn a .icon { font-size:28px; margin-top:0; order:1; }*/
	body.lower #fixed-online-btn a { width:107px; height:107px; top:initial; bottom:15px; right:15px; border:2.5px solid #fff; box-sizing:border-box; background:#ffa96d; color:#fff; }
	body.lower #fixed-online-btn a .txt { font-size:15px; margin-top:37px; }
	body.lower #fixed-online-btn a .icon { font-size:20px; margin-top:12px; }
	
	body.lower #header #site-logo { width:180px; margin:30px auto 0; }
	.breadcrumbs-box { font-size:14px; }
	h1#page-ttl { font-size:25px; margin:60px 0; }
	body.lower #header { padding-bottom:10px; }
	body.lower #header #hamburger { top:12px; }
	body.lower #header.open #hamburger { top:33px; }
	body.lower #header #site-logo { width:180px; margin-top:10px; }
	body.lower #header.open #site-logo { margin-top:30px; }
	body.lower #header .move-box ul.main-nav { padding-left:0; display:block; }
	body.lower #header .move-box { position:initial; width:85%; margin:40px auto 0; }
	body.lower #header .move-box ul.main-nav li { font-size:18px; margin:0 0 30px; }
	body.lower #header .move-box ul.sns-nav { display:flex; }
	body.lower #header .move-box .head-news-box { display:flex; }
}







/* =================== */
/*       body.company-html       */
/* =================== */
body.company-html #top-box {
	width:100%;
	padding:4rem 0;
	position:relative;
}
body.company-html #top-box::before {
	content:"";
	background:#f7edeb;
	width:95%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
	border-radius:0 10rem 10rem 0;
}
body.company-html #top-box .illust {
	order:1;
	width:48.9rem;
	order:1;
}
body.company-html #top-box .txt-box {
	width:calc(100% - 48.9rem - 12.5rem);
	order:2;
}
body.company-html #top-box .txt-box .copy {
	font-size:3.25rem;
	line-height:1.69;
	margin-bottom:3rem;
}
body.company-html #top-box .txt-box .txt { font-size:1.8rem; }
body.company-html .main-cont-wrap h2 {
	font-size:4rem;
	line-height:1.375;
}
body.company-html .main-cont-wrap .ttl-en {
	font-size:32.5rem;
	color:#f7edeb;
	font-family:"Barlow Condensed", sans-serif;
  font-weight:100;
  font-style:normal;
}
body.company-html #story-sec { margin:16rem auto 6rem; }
body.company-html #story-sec .flex-box {
	align-items:flex-start;
	margin-top:5rem;
}
body.company-html #story-sec .txt-box {
	width:55rem;
	margin-left:4rem;
}
body.company-html #story-sec .txt-box p {
	font-size:1.8rem;
	margin-bottom:2em;
	line-height:2;
}
body.company-html #story-sec .pic {
	width:70rem;
	margin-right:-10rem;
	margin-top:2rem;
}
body.company-html #story-sec .ttl-en {
	position:absolute;
	top:-10.5rem;
	left:0;
	right:0;
	margin:0 auto;
	width:1.7em;
	z-index:-1;
}
body.company-html #feature-sec { margin-top:16rem; }
body.company-html #feature-sec .stop-box .stop-in {
	padding-top:0rem;
	height:100vh;
}
body.company-html #feature-sec .ttl-en {
	position:absolute;
	top:-6rem;
	right:0;
	z-index:-1;
}
body.company-html #feature-sec .slide-wrap {
	width:100%;
	margin-top:3rem;
	padding:3rem 0 4rem;
	overflow-x:auto;
	-ms-overflow-style:none;
	scrollbar-width:none;
	/*height:100vh;*/
}
body.company-html #feature-sec .slide-wrap::-webkit-scrollbar{ display: none; }
body.company-html #feature-sec .feature-slide {
	width:calc(74rem * 3);
	margin:0 10rem;
	display:flex;
	justify-content:flex-start;
	align-items:flex-start;
}
body.company-html #feature-sec .feature-slide .slick-track { left:-18rem; }
body.company-html #feature-sec .feature-slide li {
	margin-left:4rem;
	width:70rem;
}
body.company-html #feature-sec .feature-slide li .txt-box { margin:2.5rem 2rem 0; }
body.company-html #feature-sec .feature-slide li h3 {
	font-size:2.1rem;
	font-weight:bold;
	padding-bottom:.5rem;
	display:inline-block;
	border-bottom:1px solid #000;
}
body.company-html #feature-sec .feature-slide li .txt {
	font-size:1.8rem;
	line-height:2;
	margin-top:.5rem;
}
body.company-html #case-sec { margin-top:5rem; }
body.company-html #case-sec .ttl-en {
	position:absolute;
	top:-1rem;
	left:-2rem;
	z-index:-1;
}
body.company-html #case-sec li { position:relative; }
body.company-html #case-sec li.list1 .pic { width:37.9rem; }
body.company-html #case-sec li.list2 .pic { width:33.9rem; }
body.company-html #case-sec li.list3 .pic { width:26.2rem; }
body.company-html #case-sec li.list4 .pic { width:31.55rem; }
body.company-html #case-sec li.list5 .pic { width:29.45rem; }
body.company-html #case-sec li .txt {
	font-size:1.8rem;
	line-height:1.38;
	position:absolute;
}
body.company-html #case-sec li.list5 .txt { text-align:right; }
body.company-html #case-sec li.list1 { margin:-4rem 0 0 60rem; }
body.company-html #case-sec li.list2 { margin:-9rem 0 0 23rem; }
body.company-html #case-sec li.list3 { margin:-29rem 0 0 calc(100% - 26.2rem); }
body.company-html #case-sec li.list4 { margin:1rem 0 0 7rem; }
body.company-html #case-sec li.list5 { margin:-25rem 0 0 65rem; }
body.company-html #case-sec li.list1 .txt { top:6.5rem; left:29rem; }
body.company-html #case-sec li.list2 .txt { top:4rem; left:-6rem; }
body.company-html #case-sec li.list3 .txt { bottom:-4rem; left:3rem; }
body.company-html #case-sec li.list4 .txt { bottom:6rem; left:26rem; }
body.company-html #case-sec li.list5 .txt { top:-3rem; left:-3rem; }

@media screen and (max-width: 960px) {
	body.company-html #top-box { padding:40px 0 25px; }
	body.company-html #top-box > .flex-box { display:block; }
	body.company-html #top-box .txt-box { width:100%; }
	body.company-html #top-box .txt-box .copy { font-size:22px; }
	body.company-html #top-box .txt-box .txt { font-size:14px; }
	body.company-html #top-box .illust { width:95%; margin-top:25px; }
	body.company-html .main-cont-wrap h2 { font-size:22px; }
	body.company-html .main-cont-wrap .ttl-en { font-size:28rem; }
	body.company-html #story-sec { margin-bottom:70px; }
	body.company-html #story-sec .flex-box { display:block; }
	body.company-html #story-sec .txt-box { width:100%; margin-left:0; }
	body.company-html #story-sec .txt-box p { font-size:16px; }
	body.company-html #story-sec .pic { width:95vw; margin-left:5vw; margin-right:0; margin-top:30px; }
	body.company-html #feature-sec .stop-box .stop-in { padding-top:0; height:auto; }
	body.company-html #feature-sec .ttl-en { right:0; text-align:center; z-index:-1; }
	body.company-html #feature-sec .slide-wrap { overflow-x:hidden; padding-top:0; }
	body.company-html #feature-sec .feature-slide { width:84.4%; margin:50px auto 0; display:block; transform:none !important; }
	body.company-html #feature-sec .feature-slide li { margin-left:0; margin-bottom:30px; width:100%; }
	body.company-html #feature-sec .feature-slide li h3 { font-size:18px; }
	body.company-html #feature-sec .feature-slide li .txt-box { margin:2.5rem 1.5rem 0; }
	body.company-html #feature-sec .feature-slide li .txt { font-size:14px; margin-top:5px; }
	body.company-html #case-sec ul { width:330px; margin:0 auto; }
	body.company-html #case-sec li .txt { font-size:14px; }
	body.company-html #case-sec li.list1 { margin:30px auto; }
	body.company-html #case-sec li.list1 .txt { top:18px; left:150px; }
	body.company-html #case-sec li.list2 { margin:0 0 10px 130px; }
	body.company-html #case-sec li.list2 .txt { top:10px; left:-80px; }
	body.company-html #case-sec li.list3 { margin:0 0 0 60px; }
	body.company-html #case-sec li.list3 .txt { left:25px; bottom:-35px; }
	body.company-html #case-sec li.list4 { margin:50px 0 }
	body.company-html #case-sec li.list5 { margin:0 0 0 150px; }
	body.company-html #case-sec li.list5 .txt { top:-30px; left:-70px; }
	body.company-html #case-sec li.list4 .txt { bottom:10px; left:150px; }

	/* 英語版SP専用: case-sec の p.txt 配置調整 */
	body.locale-en.company-html #case-sec li.list1 .txt { top:-10px !important; left:160px !important; }
	body.locale-en.company-html #case-sec li.list2 .txt { top:-15px !important; left:-130px !important; }
	body.locale-en.company-html #case-sec li.list3 .txt { left:25px !important; bottom:-35px !important; }
	body.locale-en.company-html #case-sec li.list4 .txt { bottom:10px !important; left:160px !important; }
	body.locale-en.company-html #case-sec li.list5 .txt { top:-40px !important; left:-90px !important; }
}







/* =================== */
/*       body.series       */
/* =================== */
body.series h1#page-ttl span::before { display:none; }
body.series h1#page-ttl::after {
	content:"";
  width:17.6rem;
  height:1.95rem;
  background:url(/img/ttl_deco2.png) no-repeat;
  background-size:cover;
  display:block;
  margin:2rem auto 0;
}
body.series ul.series-list {
	flex-wrap:wrap;
	/*justify-content:center;*/
	margin-top:6rem;
}
body.series ul.series-list li {
	width:calc((100% - 7rem) / 3);
	margin-bottom:6rem;
}
/*body.series ul.series-list li:nth-child(odd) {
	width:31.35%;
	margin-bottom:4rem;
}
body.series ul.series-list li:nth-child(even) {
	width:33.2%;
	margin:0 1.7% 4rem 2.4%;
}*/
body.series .remainder2 ul.series-list li:nth-last-child(2) { margin-left:33.68%; }
body.series .remainder1 ul.series-list li:nth-last-child(1) { margin-left:46.68%; }
body.series ul.series-list li:nth-child(6n + 2) .thumb { transform:rotate(-8deg); }
body.series ul.series-list li:nth-child(6n + 5) .thumb { transform:rotate(8deg); }
body.series .remainder2 ul.series-list li:nth-last-child(2) .thumb,
body.series .remainder1 ul.series-list li:nth-last-child(1) .thumb { transform:rotate(8deg); }
body.series .remainder2 ul.series-list li:nth-last-child(1) .thumb { transform:none; }
body.series ul.series-list li .thumb {
	aspect-ratio:9 / 5.63;
	overflow:hidden;
}
body.series ul.series-list li:nth-child(6n + 1) .thumb,
body.series ul.series-list li:nth-child(6n + 2) .thumb,
body.series ul.series-list li:nth-child(6n + 3) .thumb { border-radius:0 10rem 10rem 0; }
body.series ul.series-list li:nth-child(6n + 4) .thumb,
body.series ul.series-list li:nth-child(6n + 5) .thumb,
body.series ul.series-list li:nth-child(6n + 6) .thumb { border-radius:10rem 0 0 10rem; }
body.series ul.series-list li .txt-box {
	width:30rem;
	margin:2.5rem auto 0;
}
body.series ul.series-list li .txt-box .name {
	font-size:2.45rem;
	letter-spacing:0;
}
body.series ul.series-list li .txt-box .name span {
	padding-bottom:.5rem;
	border-bottom:1px solid #000;
	font-weight:bold;
}
body.series ul.series-list li .txt-box .txt {
	font-size:1.8rem;
	line-height:2;
	margin-top:1rem;
}
body.series ul.series-list li a:hover { opacity:.5; }
body.series .main-cont-wrap { position:relative; }
body.series .main-cont-wrap .sub-pic {
	width:18.6%;
	position:absolute;
	left:9%;
	bottom:10rem;
}
body.series .main-cont-wrap.remainder1 .sub-pic { left:18%; }
body.series .main-cont-wrap.remainder0 .sub-pic { width:13%; bottom:-12rem; }

body.series #series-page #top-box .box1 { justify-content:flex-start; }
body.series #series-page #top-box .box1 .main { width:74rem; order:1; }
body.series #series-page #top-box .box1 .copy {
	font-size:3.25rem;
	line-height:2;
	width:calc(100% - 74rem - 5rem);
	order:2;
	margin-left:5rem;
}
body.series #series-page #top-box .box2 {
	margin-top:-12rem;
	align-items:flex-end;
}
body.series #series-page #top-box .box2 .sub { width:51.1rem; }
body.series #series-page #top-box .box2 .txt {
	font-size:1.8rem;
	line-height:2;
	width:57rem;
	margin:0 12rem 4rem 6rem;
}
body.series #series-page .products-menu {
	padding:0 3rem;
	margin:5rem auto 10rem;
}
body.series #series-page .products-menu .ttl-en {
	font-family: "Barlow Condensed", sans-serif;
  font-weight: 100;
  font-style: normal;
  font-size:17.5rem;
  color:#f7edeb;
}
body.series #series-page .products-menu ul.menu-list {
	flex-wrap:wrap;
	justify-content:flex-start;
	margin-top:-1rem;
	position:relative;
	z-index:1;
}
body.series #series-page .products-menu ul.menu-list li {
	margin-right:1rem;
	margin-bottom:1rem;
}
body.series #series-page .products-menu ul.menu-list li a {
	font-size:1.3rem;
	border:1px solid #000;
	border-radius:100vmax;
	padding:.5rem 1.5rem;
	box-sizing:border-box;
	display:block;
	background:#fff;
}
body.series #series-page .products-menu ul.menu-list li a i {
	font-size:60%;
	display:inline-block;
	vertical-align:middle;
	margin-right:.5rem;
}
body.series #series-page .products-menu ul.menu-list li a span {
	vertical-align:middle;
	display:inline-block;
}
body.series #series-page .products-menu ul.menu-list li a:hover { opacity:.5; }
body.series #series-page .item-bk-box {
	padding:15rem 0 0;
	position:relative;
}
body.series #series-page .item-bk-box::before {
	content:"";
	width:100%;
	height:100%;
	background:#f7f5f5;
	mix-blend-mode:multiply;
	display:block;
	position:absolute;
	top:0;
	left:0;
}
body.series #series-page .item-layout {
	position:relative;
	padding-bottom:12rem;
}
body.series #series-page .item-layout::before {
	content:"";
	width:88.5rem;
	height:9.85rem;
	background:url(/img/series/sec_deco.png) no-repeat;
	background-size:cover;
	display:block;
	position:absolute;
	left:-1rem;
	top:4.25rem;
}
body.series #series-page .item-layout .item-title {
	font-size:4.25rem;
	text-align:center;
	position:relative;
	line-height:1.3;
}
body.series #series-page .item-layout .item-title .mini { font-size:60%; }
body.series #series-page .item-layout .item-copy {
	font-size:1.9rem;
	text-align:center;
	margin:5rem 0 7rem;
	position:relative;
}
body.series #series-page .item-layout .cont-box { align-items:flex-start; }
body.series #series-page .item-layout .cont-box .pic-box { width:64rem; }
body.series #series-page .item-layout .cont-box.pic-r .pic-box { order:2; }
body.series #series-page .item-layout .cont-box.pic-r .txt-box { order:1; }
body.series #series-page .item-layout .cont-box .txt-box {
	width:calc(100% - 64rem - 4rem);
	margin-top:5rem;
}
body.series #series-page .item-layout .cont-box .main-txt {
	font-size:1.8rem;
	line-height:2;
	margin-bottom:4rem;
}
body.series #series-page .item-layout .cont-box .type-title { font-size:1.8rem; }
body.series #series-page .item-layout .cont-box .type-title i { margin-right:.5rem; }
body.series #series-page .item-layout .cont-box .list-box {
	padding:2.5rem 0 3rem;
	border-bottom:1px dotted #aaa;
}
body.series #series-page .item-layout .cont-box .type-list {
	margin-left:1.5rem;
}
body.series #series-page .item-layout .cont-box .type-list li {
	font-size:1.5rem;
	line-height:2;
}
body.series #series-page .item-layout .cont-box .type-list li::before {
	content:"・";
	display:inline-block;
}
body.series #series-page .item-layout .cont-box .more-btn a {
  display:block;
  background: #ffa96d;
  border-radius:100vmax;
  text-align:center;
  color:#fff;
  font-size:1.3rem;
  width:14rem;
  line-height:2rem;
  padding-left:5px;
  margin-left:2rem;
  margin-top:1rem;
}
body.series #series-page .item-layout .cont-box .more-btn a i {
	font-size:60%;
	display:inline-block;
	vertical-align:middle;
	margin-left:.5rem;
}
body.series #series-page .item-layout .cont-box .more-btn a span {
	display:inline-block;
	vertical-align:middle;
}
body.series #series-page .item-layout .cont-box .more-btn a:hover { opacity:.5; }
body.series #series-page .item-layout .cont-box .pic-box .main {
	aspect-ratio:1 / 1;
	border-radius:2.5rem;
	overflow:hidden;
	margin-bottom:1.5rem;
}
body.series #series-page .item-layout .cont-box .pic-box .thumbnail .slick-track {
	transform: unset !important;
	display:flex;
	justify-content:flex-start;
	flex-wrap:wrap;
	width:100% !important;
}
body.series #series-page .item-layout .cont-box .pic-box .thumbnail img {
	width:calc((100% - 4.5rem) / 4) !important;
	margin-right:1.49rem;
	margin-bottom:1.5rem;
	border-radius:2.5rem;
}
body.series #series-page .item-layout .cont-box .pic-box .thumbnail img:nth-child(4n) { margin-right:0; }
body.series #series-page .item-layout .cont-box .cop-box {
	background:#fff;
	padding:.5rem 0 .5rem 2rem;
	margin-top:4rem;
}
body.series #series-page .item-layout .cont-box .cop-box .cop-txt {
	width:calc(100% - 12.7rem - .5rem);
	font-size:1.45rem;
	line-height:1.8;
}
body.series #series-page .item-layout .cont-box .cop-box .cop-mark { width:12.7rem; }

/* =================== */
/*  TODO: 削除予定 - 残っている日本語を赤く表示するスタイル */
/* =================== */
body.series .needs-translation {
	color: #ff0000 !important;
	background-color: #fff0f0 !important;
	border: 1px dashed #ff0000 !important;
	padding: 2px 4px !important;
}
/* =================== */


@media screen and (max-width: 960px) {
	body.series h1#page-ttl::after { width:130px; height:13px; }
	body.series ul.series-list { display:block; margin:50px auto 0; max-width:600px; }
	body.series ul.series-list li { width:100%; margin-bottom:30px; }
	body.series ul.series-list li .thumb { padding-top:0; width:calc(100% - 12px); }
	body.series ul.series-list li .txt-box .name { font-size:23px; }
	body.series ul.series-list li .txt-box .name span { padding-bottom:5px; }
	body.series ul.series-list li .txt-box .txt { font-size:17px; margin-top:15px; }
	body.series ul.series-list li .txt-box { width:75%; margin-top:35px; }
	/*body.series ul.series-list li:nth-child(even) { width:100%; margin:0; }
	body.series ul.series-list li:nth-child(even) .thumb { width:110%; margin:0 -5%; }*/
	body.series .remainder2 ul.series-list li:nth-child(5) .thumb { margin-left:12px; }
	body.series .remainder0 ul.series-list li:nth-child(6) .thumb { margin-left:12px; }
	body.series .main-cont-wrap .sub-pic { position:initial; width:180px !important; margin:0 auto; }
	body.series .remainder1 ul.series-list li:nth-last-child(1) { margin-left:auto; }
	body.series .remainder2 ul.series-list li:nth-last-child(2) { margin-left:auto; }

	body.series #series-page #top-box .box1 { display:block; }
	body.series #series-page #top-box .box1 .copy { width:84.4%; margin:0 auto; font-size:20px; }
	body.series #series-page #top-box .box1 .main { width:100%; }
	body.series #series-page #top-box .box2 { margin-top:50px; display:block; }
	body.series #series-page #top-box .box2 .txt { width:100%; margin:0 auto 30px; font-size:16px; }
	body.series #series-page #top-box .box2 .sub { width:100%; max-width:600px; margin:0 auto; }
	body.series #series-page .products-menu { padding:0; }
	body.series #series-page .products-menu ul.menu-list li { margin:0 10px 10px 0; }
	body.series #series-page .products-menu ul.menu-list li a { font-size:13px; padding:6px 15px 7px; }
	body.series #series-page .item-layout { padding-bottom:80px; }
	body.series #series-page .item-layout .item-title { font-size:25px; }
	body.series #series-page .item-layout .item-copy { font-size:17px; margin:25px 0 35px; line-height:1.5; }
	body.series #series-page .item-layout .cont-box { display:block; max-width:600px; }
	body.series #series-page .item-layout .cont-box .pic-box { width:100%; }
	body.series #series-page .item-layout .cont-box .txt-box { width:100%; margin-top:15px; }
	body.series #series-page .item-layout .cont-box .main-txt { font-size:17px; }
	body.series #series-page .item-layout .cont-box .type-title { font-size:17px; }
	body.series #series-page .item-layout .cont-box .type-list { margin-left:15px; }
	body.series #series-page .item-layout .cont-box .type-list li { font-size:14px; }
	body.series #series-page .item-layout .cont-box .more-btn a { font-size:13px; width:120px; line-height:23px; }

	/* 英語版SP専用: list-box内のp.txtスタイル */
	body.locale-en.series #series-page .item-layout .cont-box .type-box .list-box p.txt {
		font-size:14px;
		line-height:1.6;
		margin-bottom:10px;
	}

	body.series #series-page .item-layout .cont-box .cop-box { display:block; padding:25px 30px 5px 30px; }
	body.series #series-page .item-layout .cont-box .cop-box .cop-txt { width:100%; font-size:14px; line-height:1.8; }
	body.series #series-page .item-layout .cont-box .cop-box .cop-mark { width:150px; margin:0 auto; }
}









/* =================== */
/*       body.news       */
/* =================== */
body.news h1#page-ttl span::before { display:none; }
body.news h1#page-ttl::after {
	content:"";
	width:13.45rem;
	height:1.7rem;
	background:url(/img/ttl_deco4.png) no-repeat;
	background-size:cover;
	display:block;
	margin:1rem auto 0;
}
body.news ul.news-list li {
	display:flex;
	align-items:center;
	justify-content:space-between;
	border-bottom:1px solid #000;
	padding:4.5rem 2rem;
}
body.news ul.news-list li:first-child { padding-top:0; }
body.news ul.news-list li time {
	font-size:1.8rem;
	width:13rem;
}
body.news ul.news-list li .cat-name {
	font-size:1.5rem;
	color:#888;
	width:10rem;
	text-align:center;
}
body.news ul.news-list li .cat-name a:hover { opacity:.5; }
body.news ul.news-list li .ttl {
	font-size:1.8rem;
	overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp:1;
  width:calc(100% - 23rem - 4rem);
}
body.news ul.news-list li .ttl a { line-height:1.1; }
body.news ul.news-list li .ttl a:hover { color:#ffa96d; }
body.news ul.news-list li.no-posts {
	justify-content:center;
	padding:4.5rem 2rem;
}
body.news ul.news-list li.no-posts p {
	font-size:1.8rem;
	text-align:center;
}
body.news ul.category-list {
	justify-content:center;
	margin-bottom:8rem;
	margin-top:-2rem;
}
body.news ul.category-list li a {
	font-size:1.5rem;
  padding:.5rem 1.5rem;
  border-radius:100vmax;
  border:1px solid #ffa96d;
  background:#fff;
  color:#ffa96d;
  display:block;
  margin:0 .5rem;
}
body.news ul.category-list li a:hover {
	background:#ffa96d;
	color:#fff;
}
body.news .pagination-box { margin-top:5rem; }
body.news .pagination-box .nav-links {
	display:flex;
	justify-content:center;
	align-items:center;
	flex-wrap:wrap;
	color:#404040;
}
body.news .pagination-box .nav-links .page-numbers {
	font-size:1.5rem;
	margin:0 .5rem;
	width:3rem;
	line-height:3rem;
	text-align:center;
}
body.news .pagination-box .nav-links a.page-numbers:hover { opacity:.5; }
body.news .pagination-box .nav-links .page-numbers.current {
	background:#ffa96d;
	color:#fff;
}
body.news .pagination-box .nav-links .page-numbers.next {
	font-size:1.5rem;
	margin-left:1.5rem;
	width:auto;
}
body.news .pagination-box .nav-links .page-numbers.prev {
	font-size:1.5rem;
	margin-right:1.5rem;
	width:auto;
}

body.news.single #post-art {
	width:100rem;
	margin:0 auto;
}
body.news.single #post-art .article-category {
	font-size:1.5rem;
	text-align:center;
	color:#888;
	margin-bottom:3rem;
	text-transform:uppercase;
}
body.news.single #post-art .article-title {
	font-size:2.5rem;
	text-align:center;
	line-height:1.5;
	margin-bottom:3rem;
}
body.news.single #post-art .article-time {
	font-size:1.8rem;
	text-align:center;
	display:block;
}
body.news.single #post-art .editor-box { margin-top:5rem; }
body.news.single #post-art .editor-box .wp-block-image img {
	width:auto;
	max-width:100%;
	margin:3rem auto;
	display:block;
}
body.news.single #post-art .editor-box p {
	font-size:1.8rem;
	line-height:2;
	margin-bottom:1em;
}
body.news.single #post-art .editor-box p strong { font-weight:bold; }
body.news.single #post-art .editor-box p.mb0 { margin-bottom:0; }
body.news.single #post-art .editor-box p.mt0 { margin-top:0; }
body.news.single #post-art .editor-box p.mb1 { margin-bottom:1rem; }
body.news.single #post-art .editor-box p.mt1 { margin-top:1rem; }
body.news.single #post-art .editor-box p.mb2 { margin-bottom:2rem; }
body.news.single #post-art .editor-box p.mt2 { margin-top:2rem; }
body.news.single #post-art .editor-box p a { text-decoration:underline; }
body.news.single #post-art .editor-box p a:hover { opacity:.5; }
body.news.single #post-art .editor-box .wp-element-caption {
	margin-top:-1.5rem;
	text-align:center;
	font-size:1.2rem;
	margin-bottom:3rem;
}
body.news.single #post-art .editor-box .wp-block-image.mt0 img { margin-top:0; }
body.news.single #post-art .editor-box .wp-block-image.mb0 img { margin-bottom:0; }
body.news.single #post-art .editor-box .wp-block-image.mt1 img { margin-top:1rem; }
body.news.single #post-art .editor-box .wp-block-image.mb1 img { margin-bottom:1rem; }
body.news.single #post-art .editor-box .wp-block-image.mt2 img { margin-top:2rem; }
body.news.single #post-art .editor-box .wp-block-image.mb2 img { margin-bottom:2rem; }
body.news.single #post-art .editor-box .wp-block-image.ml0 img { margin-left:0; }
body.news.single #post-art .editor-box .wp-block-image.mr0 img { margin-right:0; }
body.news.single #post-art .editor-box h3 {
	font-size:2rem;
  padding-bottom:1rem;
  border-bottom:1px solid #000;
  margin:6rem 0 3rem;
}
body.news.single #post-art .editor-box .wp-block-columns { margin-bottom:3rem; }

@media screen and (max-width: 960px) {
	body.news h1#page-ttl::after { width:120px; height:15px; }
	body.news ul.news-list li:first-child { padding-top:0; }
	body.news ul.news-list li { display:block; padding:50px 0; }
	body.news ul.news-list li time { font-size:17px; display:block; text-align:center; width:100%; }
	body.news ul.news-list li .cat-name { font-size:14px; text-align:center; width:100%; margin:20px 0; }
	body.news ul.news-list li .ttl { font-size:17px; width:100%; -webkit-line-clamp:2; line-height:2; }
	body.news ul.news-list li.no-posts { padding:50px 0; }
	body.news ul.news-list li.no-posts p { font-size:17px; text-align:center; }
	body.news ul.category-list li a { font-size:14px; margin:0 5px; }
	body.news .pagination-box .nav-links .page-numbers { font-size:15px; width:30px; line-height:30px; }
	body.news .pagination-box .nav-links .page-numbers.next { font-size:15px; }
	body.news .pagination-box .nav-links .page-numbers.prev { font-size:15px; }

	body.news.single #post-art { width:84.4%; }
	body.news.single #post-art .article-category { font-size:17px; }
	body.news.single #post-art .article-title { font-size:20px; }
	body.news.single #post-art .article-time { font-size:17px; }
	body.news.single #post-art .editor-box p { font-size:14px; }
	body.news.single #post-art .editor-box .wp-block-image img { margin:30px auto; }
	body.news.single #post-art .editor-box .wp-element-caption { font-size:12px; }
	body.news.single #post-art .editor-box h3 { font-size:17px; }
}







/* =================== */
/*       body.shop       */
/* =================== */
body.shop h1#page-ttl span::before { display:none; }
body.shop h1#page-ttl::after {
	content:"";
  width:2.9rem;
  height:15.75rem;
  background:url(/img/ttl_deco3.png) no-repeat;
  background-size:cover;
  display:block;
  transform:rotate(270deg);
  margin:-5rem auto 0;
}
body.shop .shop-list-box {
	background:linear-gradient(180deg, transparent 0%, transparent 83.65rem, #f7f5f5 83.65rem, #f7f5f5 100%);
  mix-blend-mode:multiply;
  padding-top:22rem;
  position:relative;
  padding-bottom:4rem;
  margin-top:-8rem;
}
body.shop .shop-list-box::before {
	content:"";
	width:100%;
	height:83.65rem;
	background:url(/img/shop/bk.png) no-repeat top center;
	background-size:cover;
	mix-blend-mode:multiply;
	position:absolute;
	top:0;
	left:0;
}
body.shop .shop-list-box ul.shop-list li {
	display:flex;
	position:relative;
	margin-bottom:14rem;
	padding-left:5rem;
}
body.shop .shop-list-box ul.shop-list li::before {
	content:"";
	width:45rem;
	height:8.15rem;
	background:url(/img/shop/list_deco.png) no-repeat;
	background-size:cover;
	display:block;
	position:absolute;
	right:-10rem;
	bottom:-4rem;
}
body.shop .shop-list-box ul.shop-list li .pic { width:44rem; }
body.shop .shop-list-box ul.shop-list li .txt-box {
	margin-top:5rem;
	margin-left:5rem;
}
body.shop .shop-list-box ul.shop-list li .shop-name { font-size:4rem; }
body.shop .shop-list-box ul.shop-list li .place {
	font-size:2.5rem;
	margin-top:1rem;
}
body.shop .shop-list-box ul.shop-list li .address {
	line-height:2;
	font-size:1.9rem;
	margin:5rem 0;
}
body.shop .shop-list-box ul.shop-list li .map-btn a {
	font-size:1.9rem;
  width:39rem;
  display:block;
  line-height:4rem;
  background:#ffa96d;
  border-radius:100vmax;
  text-align:center;
  color:#fff;
  margin-top:2.5rem;
}
body.shop .shop-list-box ul.shop-list li .map-btn a span { vertical-align:middle; }
body.shop .shop-list-box ul.shop-list li .map-btn a i {
	font-size:60%;
  vertical-align:middle;
}
body.shop .shop-list-box ul.shop-list li .map-btn a:hover { opacity:.5; }

@media screen and (max-width: 960px) {
	body.shop .shop-list-box { padding-top:100px; margin-top:-80px; }
	body.shop .shop-list-box ul.shop-list li { display:block; padding-left:0; margin-bottom:80px; }
	body.shop .shop-list-box ul.shop-list li .pic { width:100%; }
	body.shop .shop-list-box ul.shop-list li .txt-box { margin-left:0; }
	body.shop .shop-list-box ul.shop-list li .shop-name { font-size:24px; }
	body.shop .shop-list-box ul.shop-list li .place { font-size:19px; margin-top:10px; }
	body.shop .shop-list-box ul.shop-list li .address { font-size:16px; }
	body.shop .shop-list-box ul.shop-list li .map-btn a { font-size:16px; line-height:35px; margin:25px auto 0; }
	body.shop .shop-list-box ul.shop-list li::before { bottom:-50px; }
}










/* =================== */
/*       body.products-html       */
/* =================== */
body.products-html h1#page-ttl span::before { display:none; }
body.products-html h1#page-ttl::after {
	content:"";
	width:33rem;
	height:3.55rem;
	background:url(/img/ttl_deco6.png) no-repeat right;
	background-size:contain;
	display:block;
	padding-left:17rem;
	box-sizing:border-box;
	margin:0 auto;
}
body.products-html .main-cont-wrap h2 {
	font-size:2rem;
	font-weight:bold;
	margin-bottom:2rem;
}
body.products-html .main-cont-wrap h2.mt { margin-top:6rem; }
body.products-html .main-cont-wrap article .title-box {
	justify-content:flex-start;
	margin:3rem 0 1.5rem;
}
body.products-html .main-cont-wrap article .title-box .thumb {
	width:5.1rem;
	margin-right:1rem;
}
body.products-html .main-cont-wrap article .title-box h3 { font-size:1.8rem; }
body.products-html .main-cont-wrap article .item-list { flex-wrap:wrap; justify-content:flex-start; }
body.products-html .main-cont-wrap article .item-list .item {
	width:calc((100% - 6rem) / 3);
	margin-bottom:3rem;
	margin-right:3rem;
	background-color:#FFF;
  border:1px solid #ececec;
}
body.products-html .main-cont-wrap article .item-list .item iframe { width:100%; }
body.products-html .main-cont-wrap article .item-list .item:nth-child(3n) { margin-right:0; }
body.products-html .main-cont-wrap .item-list .item #coverFrame {
  border: 10px solid #FFF;
  box-sizing: border-box;
  display: block;
  height: 303px;
  overflow: hidden;
  position: relative;
  width: 100%;
}
body.products-html .main-cont-wrap .item-list .item #coverFrame .l_centering {
  display: table;
  height: 100%;
  width: 100%;
  z-index: 1;
}
body.products-html .main-cont-wrap .item-list .item #coverFrame .l_centering > .c {
  display: table-cell;
  vertical-align: middle;
}
body.products-html .main-cont-wrap .item-list .item #coverFrame .l_centering > .c #buyButton {
  background-color: #FFF;
  border-radius: 30px;
  color: #333;
  display: block;
  font-size: 12px;
  font-weight: bold;
  height: 40px;
  line-height: 40px;
  margin: 0 auto;
  opacity: 0;
  padding: 0 15px;
  position: relative;
  text-align: center;
  text-transform: uppercase;
  transition: opacity .2s;
  /* opacity: 0; */
  max-width: 150px;
  width: 50%;
  z-index: 3;
}

/* =================== */
/*   英語版専用スタイル   */
/* =================== */

/* 英語版のみtext-transform: uppercase;を無効化 */
body.locale-en #header ul.main-nav li a,
body.locale-en body.series ul.series-list li .txt-box .name,
body.locale-en body.series ul.series-list li .txt-box .name span,
body.locale-en #products-sec .products-list li .name,
body.locale-en #footer ul.foot-link-list li span {
	text-transform: none !important;
}

/* 英語版のパンくずリスト（Home）も無効化 */
body.locale-en .breadcrumbs-box .home {
	text-transform: none !important;
}

/* 英語版のみの追加スタイルは以下に記述 */

/* 英語版: company.html の case-sec レイアウト調整（PC版のみ） */
@media screen and (min-width: 961px) {
	/* 英語版PC: list-box内の見出しスタイル */
	body.locale-en.series #series-page .item-layout .cont-box .type-box .list-box p.txt {
		font-size:1.6rem;
		line-height:2 !important;
		margin-bottom:1rem !important;
	}
	body.locale-en.company-html #case-sec li.list5 .txt {
		top: -5rem !important;
		left: -3rem !important;
	}
	body.locale-en.company-html #case-sec li.list2 .txt {
		top: 1rem !important;
		left: -15rem !important;
	}
}




body.products-html .main-cont-wrap .item-list .item #coverFrame:hover .l_centering > .c #buyButton {
	opacity:.8;
	transition:all .2s ease;
}
body.products-html .main-cont-wrap .item-list .item #coverFrame #itemImage {
    display: inline-block;
    height: 323px;
    position: absolute;
    inset: 0;
    text-align: center;
    width: 100%;
    z-index: 1;
}
body.products-html .main-cont-wrap .item-list .item #coverFrame #itemImage img {
	width:100%;
	height:100%;
	object-fit:cover;
	transition: all .3s ease;
}
body.products-html .main-cont-wrap .item-list .item #coverFrame:hover #itemImage img {
	-webkit-filter:blur(3px);
	transform: scale(.933);
	transition: all .2s ease;
}
/* Disable hover effect for EN/ZH pages (no links) */
body.products-html .main-cont-wrap .item-list .item #coverFrame.no-hover:hover #itemImage img {
	-webkit-filter: none;
	transform: none;
	transition: none;
}
body.products-html .main-cont-wrap .item-list .item #coverFrame #itemLink {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2;
}
body.products-html .main-cont-wrap .item-list .item #itemDetail {
  color: #999;
  margin: 11px 10px 11px;
  /*overflow: hidden;*/
  text-align: center;
  /*text-overflow: ellipsis;
  white-space: nowrap;*/
}
body.products-html .main-cont-wrap .item-list .item #itemDetail .title {
  color: #101010;
  font-size: 16px;
  line-height: 18px;
  margin: 0 0 8px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
body.products-html .main-cont-wrap .item-list .item #itemDetail .title a:hover { opacity:.5; }
body.products-html .main-cont-wrap .item-list .item #itemDetail #itemDescription {
  display: block;
  /*overflow: hidden;*/
  text-align: center;
  /*text-overflow: ellipsis;
  white-space: nowrap;*/
}
body.products-html .main-cont-wrap .item-list .item #itemDetail #itemDescription .price {
  color: #333;
  font-size: 15px;
  font-weight: bold;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-top:13px;
  line-height:13px;
}
body.products-html .main-cont-wrap .item-list .item #itemDetail #itemDescription .desp-txt {
	font-size: 15px;
	line-height:1.5;
	color: #333;
	text-align:left;
	margin-top:15px;
	padding:0 20px;
}


/* =================== */
/*   Contact / FAQ     */
/* =================== */
body.contact .contact-content {
	padding: 6rem 0;
}

body.contact .contact-notice {
	background: #f8f8f8;
	padding: 4rem 6rem;
	border-radius: 0.8rem;
	margin-bottom: 6rem;
}

body.contact .contact-notice p {
	font-size: 1.9rem;
	line-height: 2;
	color: #333;
}

body.contact .faq-section {
	margin-top: 6rem;
}

body.contact .faq-section .section-title {
	font-size: 3rem;
	font-weight: bold;
	margin-bottom: 5rem;
	text-align: center;
	color: #333;
	letter-spacing: 0.1em;
}

body.contact .faq-item {
	margin-bottom: 5rem;
	padding-bottom: 5rem;
	border-bottom: 0.1rem solid #e0e0e0;
}

body.contact .faq-item:last-child {
	border-bottom: none;
}

body.contact .faq-question {
	font-size: 2rem;
	font-weight: bold;
	margin-bottom: 2rem;
	color: #222;
	line-height: 1.7;
}

body.contact .faq-answer {
	font-size: 1.9rem;
	line-height: 2;
	color: #555;
}

body.contact .faq-answer strong {
	color: #c54027;
	font-weight: bold;
}

/* Contact Responsive */
@media screen and (max-width: 960px) {
	body.contact .contact-content {
		padding: 40px 0;
	}
	
	body.contact .contact-notice {
		padding: 25px 20px;
		margin-bottom: 40px;
	}
	
	body.contact .contact-notice p {
		font-size: 16px;
		line-height: 1.8;
	}
	
	body.contact .faq-section {
		margin-top: 40px;
	}
	
	body.contact .faq-section .section-title {
		font-size: 20px;
		margin-bottom: 30px;
	}
	
	body.contact .faq-item {
		margin-bottom: 30px;
		padding-bottom: 30px;
	}
	
	body.contact .faq-question {
		font-size: 16px;
		font-weight: bold;
		margin-bottom: 12px;
		line-height: 1.6;
	}
	
	body.contact .faq-answer {
		font-size: 15px;
		line-height: 1.8;
	}

	/* Products/Category page - Item list responsive */
	body.products-html .main-cont-wrap article .item-list,
	body.lower .main-cont-wrap article .item-list {
		display: block;
		margin: 50px auto 0;
		max-width: 600px;
	}
	body.products-html .main-cont-wrap article .item-list .item,
	body.lower .main-cont-wrap article .item-list .item {
		width: 100%;
		margin-bottom: 30px;
		margin-right: 0;
	}
	body.products-html .main-cont-wrap article .item-list .item:nth-child(3n),
	body.lower .main-cont-wrap article .item-list .item:nth-child(3n) {
		margin-right: 0;
	}
}




/* 404 page */
body.error404 .main-cont-wrap {
	font-family:'游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif;
	padding-top:1.6rem;
}
body.error404 h1#page-ttl span::before { display:none; }
body.error404 h1#page-ttl span::after {
	content: "";
	width: 17.6rem;
	height: 1.95rem;
	background: url(/img/ttl_deco2.png) no-repeat;
	background-size: cover;
	display: block;
	margin: 2rem auto 0;
}
body.error404 .main-cont-wrap .txt-box {
	text-align:center;
	font-size:1.8rem;
	line-height:2;
}
body.error404 .main-cont-wrap .txt-box p { margin-bottom:3rem; }
body.error404 .main-cont-wrap .txt-box p.zh-txt {
	font-family: 'Noto Serif TC', '游明朝', 'Yu Mincho', YuMincho, 'Hiragino Mincho Pro', serif !important;
}
body.error404 .main-cont-wrap .clr-bk-box {
	background:#f7f5f5;
    mix-blend-mode:multiply;
    padding:4.5rem 0 2.5rem;
    font-size:1.8rem;
    margin-top:10rem;
}
body.error404 .main-cont-wrap .clr-bk-box p {
	width:22em;
	margin:0 auto 2rem;
	white-space:nowrap;
}
body.error404 .main-cont-wrap .clr-bk-box p span {
	width:7em;
	display:inline-block;
}
body.error404 .main-cont-wrap .clr-bk-box p a:hover { color:#ffa96d; }
body.error404 #page-btm-bnr { display:none; }

@media screen and (max-width: 960px) {
	body.error404 .main-cont-wrap { padding-top:14px; }
	body.error404 .main-cont-wrap .txt-box { font-size:16px; }
	body.error404 .main-cont-wrap .txt-box p { margin-bottom:5rem; }
	body.error404 .main-cont-wrap .clr-bk-box { font-size:16px; }
	body.error404 .main-cont-wrap .clr-bk-box p { width:19em; margin:0 auto 4rem; }
	body.error404 .main-cont-wrap .clr-bk-box p span { width:5em; }
}
