@font-face {
	font-family: "Erte Bold Italic";
	src: url(../../fonts/ErteBoldItalic.otf);
}
:root {
	--header-height:90px;/* headerの高さ */
}
html { visibility:hidden;}
html.wf-active { visibility:visible;}
body {
	margin: 0;
	padding: 0;
	font-family:"Noto Sans JP", sans-serif;
	font-size:16px;
	line-height:180%;
	color: #555;
	/*	min-width:1000px;*/
	-webkit-text-size-adjust: 100% ;/* iPhone?t?H???g?T?C?Y?g???? */
}

/* �|�󒆂̃c�[���o�[���̗]���ǉ� */
html[class*="translated"] body,
body:has(> div.skiptranslate:not([style*=":"]):not([id])) { padding-top:38px;}
[id] { scroll-margin-top:var(--header-height);}
img {
	border: none;
	vertical-align:bottom;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd {
	font-size:100%;
	margin: 0;
	padding: 0;
	list-style:none;
	box-sizing:border-box;
}
div, p, ul, ul li, h1, h2, h3, h4, h5, dl, dt, dd, ol, ol li, table, th, td {
	background-image:url(../image/spacer.gif); /* Android?y?[?W??P?v?f??????? */
}
a:link { color:#000; outline:none; }
a:visited { color:#555;}
a:hover { color: #9f9f9f;}
a:active { color:#DC000C;}
a:hover img { opacity: 0.7; filter: alpha(opacity=70); -moz-opacity: 0.7;}
img { width: 100%; }
#wrapper {}
#base {}

.pc {display:block;}
.sm {display:none;}


/*====================================================================================================
  HEADER
====================================================================================================*/

#header {
	position:fixed;
	width:100%;
	height:var(--header-height);
	display: flex;
	align-items: center;
	justify-content: space-between;
	inset:0 auto auto 0;
	background-color:#fff;
	z-index:9999;
}


/*** LOGO ******************************************************************/
#header h1,
#header h1 a { display: block; width:194px; height:35px; }
#header h1 { margin-left: 30px; }
#header h1 a {
	color: #222;
	text-indent: -9999px;
	background: url(../image/logo1.svg) no-repeat;
}
body:not(.home) #header h1 a:hover { opacity:0.5;}

/*** NAVIGATION ************************************************************/
#Nav.sm { display: none!important; }
ul.main_nav { display: flex; align-items: center; }
ul.main_nav > li a {
	color: #1A1311;
	position: relative;
	text-decoration: none;
}
ul.main_nav > li p a {
	height: 90px;
	display: flex;
	font-size: 93.8%;
	line-height: 130%;
	text-align: center;
	align-items: center;
	position:relative;
	z-index:3;
}
ul.main_nav > li p a::after {
	content: "";
	position: absolute;
	right:max(10px, 1.5vw);
	bottom: 0;
	width: 0;
	height: 5px;
	background: #1A1311;
	transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}
ul.main_nav > li > p a { padding:0 max(10px, 0.9vw);}
ul.main_nav > li:nth-child(6) > p a { padding-right:0;}
ul.main_nav > li:nth-child(-n+3) p a { font-size: 100%; font-weight: 700; }
ul.main_nav > li.search_nav { /*width:115px;*/ width:calc(115px + max(10px, 1.5vw)); margin:0;}
ul.main_nav > li.search_nav p a { padding:0;}
ul.main_nav > li.search_nav p span {
	display:block;
	width:35px;
	height:35px;
	margin:auto;
	border-radius: 50%;
	text-indent: -9999px;
	background: #555 url(../image/icon_search1.svg) no-repeat center;
	background-size: 16px 16px;
}
ul.main_nav > li.search_nav .search_box { max-width:unset; justify-content:right; margin-right:251px;}
ul.main_nav > li.global { width: 90px; min-width: 90px; margin: 0; z-index:1 }
ul.main_nav > li.global a { background:#1A1311; padding: 0 18px; }
ul.main_nav > li.global a img { width: 100%; }
ul.main_nav > li.global a:hover { opacity: 0.52;  }
ul.main_nav > li.product { width: 211px; margin: 0; }
ul.main_nav > li.product p a {
	color: #FFF;
	font-size: 100%;
	font-weight: 900;
	background: #DC000C;
	justify-content: center;
	position:relative;
	padding:0;
	z-index:1;
}
ul.main_nav > li.product p a:before{
	content:"";
	position:absolute;
	display:block;
	width:0%;
	height:100%;
	inset:0 auto auto 0;
	background:#FF363F;
	transition:width 0.4s cubic-bezier(.19,1,.22,1);
	z-index:-1;
}
ul.main_nav > li.lang {
	--w:142px;
	--h:90px;

	position:relative;
	width:var(--w);
	height:var(--h);
}
ul.main_nav > li.lang .front {
	position:absolute;
	display:flex;
	align-items:center;
	justify-content:center;
	gap:0.5em;
	background-color:#D1D0CF;
	color:#1A1311;
	width:100%;
	height:100%;
	pointer-events:none;
}
ul.main_nav > li.lang .front:before {
	content:"";
	display:block;
	width:1em;
	aspect-ratio:1;
	background:url(../image/icon_lang.svg) no-repeat center / contain;
}
ul.main_nav > li.lang #google_language_translator select.goog-te-combo {
	width:100%;
	height:var(--h)!important;
	margin:0;
}



/* DROPDOWN NAVIGATION */
.nav_dropdown {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	opacity: 0;
	width: 100%;
	margin: auto;
	background: #FFF;
	visibility: hidden;
	padding-block: 45px;
	pointer-events: none;
	transition: all .5s cubic-bezier(0.43, 0.05, 0.17, 1);
	transition-property: visibility, opacity;
}
.nav_dropdown img { width: 100%; }
.nav_dropdown .box1200 { display: flex; column-gap: 100px; align-items: center; }
.nav_dropdown .photo_box { position: relative; max-width: 480px; }
.nav_dropdown .photo_box .mid {
	position: absolute;
	left: 0;
	bottom: -5px;
	color: #FFF;
}
.nav_dropdown .photo_box .mid small { display: block; font-size: 100%; font-weight: 700; margin-left: 20px; }
.nav_dropdown .photo_box .mid b {
	display: block;
	font-size: 287.5%;
	line-height: 100%;
	letter-spacing: 0.05em;
	font-family: "Erte Bold Italic", sans-serif;
}
.nav_dropdown .sub_nav {}
.nav_dropdown ul { display: flex; flex-wrap: wrap; flex-direction: column; height: 116px; gap: 0 60px }
.nav_dropdown ul li {}
.nav_dropdown ul li a { line-height: 240%; }
.nav_dropdown ul li a::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -5px;
	width: 0;
	height: 1px;
	background: #707070;
	transition: 0.2s cubic-bezier(0.260, 0.005, 0.000, 1.035);
}
.nav_dropdown ul li a:hover::after { width: 100%; left: 0; }
/* DROPDOWN SEARCH BOX */
.search_box { display: flex; justify-content: center; }
.search_box .searchField {
	width: 356px;
	height: 50px;
	font-size: 100%;
	font-weight: 400;
	padding: 5px 10px;
	pointer-events: all;
	vertical-align: middle;
	border: 1px solid #707070;
	font-family: "Noto Sans JP", sans-serif;
}
.search_box .searchField::placeholder { color: #9F9F9F; }
.search_box .searchField:focus { outline: none; }
.search_box .searchSubmit {
	padding: 0;
	width: 109px;
	height: 50px;
	border: none;
	cursor: pointer;
	margin-left: 25px;
	border-radius: 25px;
	text-indent: -9999px;
	vertical-align: middle;
	background: #1A1311 url(../image/icon_search1.svg) no-repeat center;
	background-size: 24px 24px;
}
.search_box .searchSubmit:hover {
	background-color: #DC000C;
}


/* HOVER EFFECTS */
#header::before {
	content: "";
	opacity: 0;
	z-index: -1;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(26, 19, 17, 0.6);
	/* transition-duration: 0.16s; */
	transition-duration:1.0s;
	transition-timing-function: cubic-bezier(0.260, 0.005, 0.000, 1.035);
	pointer-events:none;
}
#header.nav_dropdown_header::before { opacity: 1; z-index: 2; }

.nav_dropdown.nav_open {
	z-index: 2;
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
ul.main_nav > li p:hover a::after { left:max(10px, 1.5vw); width:calc(100% - (max(10px, 1.5vw) * 2)); }
ul.main_nav > li:nth-child(6) p a::after {
	--width:calc(100% - (max(10px, 1.5vw) * 2));
	--padding:max(10px, 0.9vw);	/* padding-left */
	--pos-left:calc(var(--padding) + ((100% - var(--padding)) / 2) - var(--width) / 2);
	--pos-right:calc((100% - var(--padding)) / 2 - var(--width) / 2);

	left:auto;
	right:var(--pos-right);
}
ul.main_nav > li.product p a:hover:before { width:100%;}
ul.main_nav > li.search_nav p a::after,
/* ul.main_nav > li:last-child p a::after { display: none; } */
ul.main_nav > li.product p a::after { display: none; }
ul.main_nav > li:nth-child(6) p:hover a::after {
	width:var(--width);
	left:var(--pos-left);
	right:auto;
}
ul.main_nav > li.active_nav p a,
ul.main_nav > li.active_nav p:hover a { z-index: 11; color:#FFF; }
ul.main_nav > li.active_nav p a::after,
ul.main_nav > li.active_nav p:hover a::after { background: #FFF; }

ul.main_nav > li.active_nav.search_nav p span,
ul.main_nav > li.active_nav.search_nav p:hover span {
	background: #FFF url(../image/icon_search2.svg) no-repeat center;
	background-size: 16px 16px;
}





/*====================================================================================================
  CONTENT
====================================================================================================*/

#content { clear:both; width:100%; margin-top:var(--header-height);}

.box1400 { max-width: 92.3%; width: 100%; margin: auto; }
.box1200 { max-width: 1200px; margin: auto; }

@media only screen and (min-width:1301px) {
	.box1400 { max-width: 1400px; }
}

/* BTN */
.b_more a {
    color: #FFF;
    height: 46px;
    display: flex;
    font-weight: 700;
    position: relative;
    background: #1A1311;
    border-radius: 39px;
    align-items: center;
    text-decoration: none;
    justify-content: center;
}
.b_more a::after {
	--w:7px;
	content: "";
	position: absolute;
	right: 5%;
	top: 50%;
	width:var(--w);
	height:auto;
	aspect-ratio:1/1;
	border-radius: 50%;
	background: #DC000C;
	translate:50% -50%;
}
.content_box a[target="_blank"] {
    margin-block: 10px;
    position: relative;
}

/* ????CSS??????N????????????K?p???????? */
.content_box a[target="_blank"]:not(:has(> img))::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -32px;
    width: 18px;
    height: 18px;
    transform: translateY(-50%);
    background: url(../image/icon_link2.svg) no-repeat;
    background-size: contain;
    top: auto;
    bottom: 5px;
    transform: none;
}

.content_box a.wp-block-button__link[target="_blank"]::after {
	--w: 7px;
    content: "";
    position: absolute;
    right: 5%;
    top: 50%;
    width: var(--w);
    height: auto;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: #DC000C;
    translate: 50% -50%;
}

.content_box a:hover { opacity: 0.7; }
.wp-block-buttons>.wp-block-button a {
	color: #FFF;
	height: 46px;
	display: flex;
	font-weight: 700;
	position: relative;
	padding-inline:calc(1.333em + 6px);
	background: #1A1311;
	border-radius: 39px;
	align-items: center;
	text-decoration: none;
	justify-content: center;
	overflow:hidden;
}
.wp-block-buttons>.wp-block-button a::after {
	content: "";
	position: absolute;
	right: 5%;
	top: 50%;
	width: 7px;
	height:auto;
	aspect-ratio:1/1;
	border-radius: 50%;
	background: #DC000C;
	transform:translate(-50%,-50%);
	transition:all 0.5s;
}

.lists_box {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	column-gap: 8.15%;
	row-gap: 115px;
	margin-top: 25px;
/*	justify-content: space-between;*/
}
.lists_box a { text-decoration: none; }
.lists_box li { width: 27.9%; height: 100%; position: relative; }
.lists_box li::before {
	content: "";
	position: absolute;
	top: 0;
	right: -14.7%;
	width: 1px;
	height: 100%;
	background: #EEE;
}
.lists_box .photo { overflow: hidden; }
.lists_box .photo img { transition: all 0.5s ease; height:122px; object-fit: cover; object-position: right; }
.lists_box .title {
	color: #1A1311;
	font-size: 112.5%;
	font-weight: 700;
	position: relative;
	margin-block: 35px 20px;
	padding-right:1rem;
	font-family: zen-kaku-gothic-new, sans-serif;
}
.lists_box .title span {
	background-image: linear-gradient(#1A1311, #1A1311);
	transition: background-size .2s cubic-bezier(.165, .84, .44, 1);
	background-position: 100% 100%;
	background-size: 0% 1px;
	background-repeat: no-repeat;
}
.lists_box a:hover .photo img { transform: scale(1.15); }
.lists_box a:hover .title span {
	background-position: 0 100%;
	background-size: 100% 1px;
}
.lists_box .title::after {
	--w:7px;
	content: "";
	position: absolute;
	top: 50%;
	right: 3px;
	width:var(--w);
	height:auto;
	aspect-ratio:1/1;
	border-radius: 50%;
	background: #DC000C;
	translate:50% -50%;
	transition:all 0.2s;
}
.lists_box a:hover .title:after { width:calc(var(--w) + 3px);}
.lists_box .come { color: #9F9F9F; font-weight: 500; }

.lists_box2 { position: relative; margin-top: 40px; }
.lists_box2 li { padding-block: 20px; border-bottom: 1px solid #EEE; }
.lists_box2 li:first-child { padding-top: 0; }
.lists_box2 .date { font-size: 87.5%; }
.lists_box2 .title a {
	display: block;
	color: #1A1311;
	font-size: 93.8%;
	font-weight: 500;
	position: relative;
	padding-right: 40px;
	text-decoration: none;
	/* text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap; */
}
.lists_box2 .title a span {
	background-image: linear-gradient(#1A1311, #1A1311);
	transition: background-size .2s cubic-bezier(.165, .84, .44, 1);
	background-position: 100% 100%;
	background-size: 0% 1px;
	background-repeat: no-repeat;
}
.lists_box2 .title a::after {
	--w:7px;
	content: "";
	position: absolute;
	top: 12px;
	right: 10px;
	width:var(--w);
	height:auto;
	translate:50% -50%;
	aspect-ratio:1/1;
	border-radius: 50%;
	background: #DC000C;
	transition:all 0.2s;
}
.lists_box2 .title a:hover:after{
	width:calc(var(--w) + 5px);
}

.lists_box2 .title a:hover span {
	background-position: 0 100%;
	background-size: 100% 1px;
}

/* YouTube?????X?^?C?????O */
.wp-block-embed-youtube .wp-block-embed__wrapper, .wp-block-embed .wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}

.wp-block-embed-youtube, .wp-block-embed {
    margin: 0 auto;
}

.wp-block-embed-youtube iframe, .wp-block-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}



/*====================================================================================================
  FOOTER
====================================================================================================*/

.footer { width:100%; color: #FFF; background:#1A1311; }
.footer a { text-decoration: none; color:#FFF; }
.footer .logo a { display:block; width:100%; height:100%;}
.dflex { display: flex; }

.contact_box { background: #F8F8F8; color: #555; padding-block:90px 75px; }
.contact_box .box1200 { max-width: 78.5%; justify-content: space-between; }
.contact_box dl {}
.contact_box dl dt {
	color: #1A1311;
	font-size: 187.5%;
	font-weight: 700;
	position: relative;
	z-index: 1;
}
.contact_box dl dt::before {
	content: "";
	top: -90px;
	left: -6.2vw;
	width:  auto;
	position: absolute;
	width: 678px;
	height: 104px;
	z-index: -1;
	background: url(../image/title_contact.svg) no-repeat;
	background-size: contain;
}
.contact_box dl dd { font-weight: 500; margin-top: 10px; }
.contact_box .b_wh { width: 358px; }
.contact_box .b_wh a { position:relative; height: 78px; color: #1A1311; /*background: #FFF;*/ background:unset; z-index:0;}
.contact_box .b_wh a:before{
	content:"";
	display:block;
	position:absolute;
	width:100%;
	height:100%;
	background:#fff;
	border-radius:50px;
	transition:scale 0.2s cubic-bezier(0.165, 0.84, 0.44,1);
	z-index:-1;
}
.contact_box .b_wh a:hover:before{
	scale:1.10;
	box-shadow:0 30px 60px -8px rgba(26, 19, 17, 0.2);
}
.contact_box .b_wh a:after { right: 8%; transition:width 0.2s;}
.contact_box .b_wh a:hover:after { width:calc(var(--w) + 5px);}

.f_nav {}
.f_nav li { flex-shrink: 0; }
.f_nav li a span {
	background-image: linear-gradient(#FFF, #FFF);
	transition: background-size .2s cubic-bezier(.165, .84, .44, 1);
	background-position: 100% 100%;
	background-size: 0% 1px;
	background-repeat: no-repeat;
}
.f_nav li a:hover span { background-position: 0 100%; background-size: 100% 1px; }
.f_nav1 { column-gap: 4.2vw; }
.f_nav1 li a { font-size: 93.8%; font-weight: 700; }
.f_nav2 { justify-content: flex-end; column-gap: 50px; }
.f_nav2 li a { font-size: 81.3%; font-weight: 500; }
.f_nav2 li a[target="_blank"] { padding-right:1.5rem; position:relative;}
.f_nav2 li a[target="_blank"]:after{
	content: "";
    display: block;
    width: 1rem;
    aspect-ratio: 1/1;
    background: url(../image/icon_link.svg)no-repeat center / 100% auto;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
}

.f_box1 { padding-block: 90px 25px; justify-content: space-between; }
.f_box1 .logo {
	width: 181px;
	height: 32px;
	text-indent: -9999px;
	background: url(../image/logo3.svg) no-repeat;
	background-size: contain;
}
.f_box1 .sns { flex-wrap: wrap; margin-top:65px; align-items: center; column-gap: 20px; }
.f_box1 .sns li:nth-child(1) {
	flex-basis: 100%;
	margin-top: 15px;
	font-size: 75%;
	letter-spacing: 0.19em;
	font-family: yantramanav, sans-serif;
}
.f_box1 .f_nav1 li:last-child a {
	padding-right: 25px;
	background: url(../image/icon_link.svg) no-repeat right;
}
.f_box1 .f_nav2 { margin-top: 25px; }

.f_box2 {
	padding-block: 35px 45px;
	flex-direction: row-reverse;
	border-top: 1px solid #4B4644;
	justify-content: space-between;
}
.f_box2 .f_nav2 { column-gap: 30px; }
.f_box2 .copy {
	font-size: 68.8%;
	letter-spacing: 0.19em;
	font-family: yantramanav, sans-serif;
}


@media only screen and (min-width:1301px){
	.contact_box .box1200 { max-width: 1200px; }
	.f_nav1 li a { font-size: 112.5%; }
	.f_nav2 li a { font-size: 100%; }
	.f_box1 .logo {
		width: 212px;
		height: 38px;
		background: url(../image/logo2.svg) no-repeat;
		background-size: contain;
	}
	.f_box1 .sns li:nth-child(1) { font-size: 87.5%; }
	.f_box1 .f_nav2 { margin-top: 40px; }
	.f_box2 .copy { font-size: 87.5%; }
}



/*====================================================================================================
  PAGE
====================================================================================================*/

#page,
#page a { display:block; width:64px; height:64px;}
#page { position: fixed; bottom:0; right: 0; z-index: 99; }
#page a {
	text-indent: -9999px;
	background:#1A1311 url(../image/arrow_up.svg) no-repeat center;
}
#page a:hover { background-color:#DC000C;}


/*====================================================================================================
  reCAPTCHA
====================================================================================================*/
.grecaptcha-badge { bottom:70px!important; z-index:1;}