/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */


/**
* reset.css
* ========================== */
html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
html, body {
    margin: 0;
    padding: 0;
}
body {
	font-family: "Noto Serif JP", serif;
}
*,
::before, 
::after {
    box-sizing: inherit;
}
h1, h2, h3, h4, h5, h6, a, p, span, em, small, strong, sub, sup, mark, del, ins, strike, abbr, dfn, blockquote, q, cite, code, pre, ol, ul, li, dl, dt, dd, div, section, article, main, aside, nav, header, hgroup, footer, img, figure, figcaption, address, time, audio, video, canvas, iframe, details, summary, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
    border: 0;
    margin: 0;
    padding: 0;
}
h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
	position: relative;
	z-index: 2;
}
article, aside, footer, header, nav, section, main, figure, figcaption {
    display: block;
}
ul, ol {
    list-style: none;
    list-style-type: none;
}
code, kbd, pre, samp {
    font-family: monospace, sans-serif;
    font-size: inherit;
}
blockquote, q {
    quotes: none;
}
blockquote::after, blockquote::before, q::after, q::before {
    content: "";
    content: none;
}
address {
    font-style: normal;
}
@media(min-width: 1080px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}
a {
	padding: 0;
}
.elementor-button {
	padding: 0;
}

video {
	max-width: 100%;
    height: auto;
}

.elementor-swiper-button .cls-1 {
    stroke: #fff !important;
}

#page {
	overflow-x: clip;
}
.u-sp {
	display: none;
}
.u-tab {
	display: none;
}
@media screen and (max-width: 1080px) {
	.u-tab {
		display: block;
	}
}

@media screen and (max-width: 480px) {
	.u-sp {
		display: block;
	}
	
	.u-pc {
		display: none;
	}
}
.hfe-nav-menu {
	flex-direction: column;
}

.ehf-header #masthead {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

div[class*=ays-pb-modal_].ays-pb-modal, div[class*=ays-pb-modal_].ays-pb-modal-macos {
	width: 100% !important;
	height: 100vh !important;
}

#info .e-con-inner,
#lights .e-con-inner {
	position: relative;
	z-index: 2;
}
.elementor-element-4aa7630,
.elementor-element-9a63c4e,
#info .e-con-inner div {
	position: relative;
	z-index: 2;
}

.c-bg {
	width:76.4%;
	position: absolute;
	top: 0;
}

.c-bg--right {
	right: 0;
}

.c-bg--left {
	left: 0;
}

.c-bg--white {
	background: #fff;
}
.elementor-element {
	position: relative;
}

#info.elementor-element::after {
	content: "";
	height: calc(100% - 102px);
	width:76.4%;
	position: absolute;
	top: 0;
	right: 0;
	background: #fff;
}

@media screen and (max-width: 1080px) {
 #info.elementor-element::after {
	height: calc(100% - 49px - 15px);
	width:73.4%;
}
}
#lights.elementor-element::after {
	content: "";
	height: 100%;
	width:76.4%;
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
}

@media screen and (max-width: 480px) {
 #lights.elementor-element::after {
	height: 100%;
	width:100%;
}
}
#sounds.elementor-element::after {
	content: "";
	height: 100%;
	width:76.4%;
	position: absolute;
	top: 0;
	right: 0;
	background: #f1f1f1;
}
@media screen and (max-width: 1080px) {
 #sounds.elementor-element::after {
	width:92%;
}
}
@media screen and (max-width: 480px) {
 #sounds.elementor-element::after {
	width:100%;
}
}

#visuals.elementor-element::after {
	content: "";
	height: 100%;
	width:76.4%;
	position: absolute;
	top: 0;
	left: 0;
	background: #f1f1f1;
}
@media screen and (max-width: 1080px) {
 #visuals.elementor-element::after {
	width:92%;
}
}

@media screen and (max-width: 480px) {
 #visuals.elementor-element::after {
	width:100%;
}
}

.l-header__open-btn {
        width: 100px;
        height: 100px;
        position: fixed;
        top: 0;
        right: 0;
        background-color: transparent;
        border: none;
		background: #605a4d !important;
		color: #fff !important;
		font-size:12px;
}

@media screen and (max-width: 1080px) {
 .l-header__open-btn {
        width: 75px;
        height: 75px;
}
}
@media screen and (max-width: 480px) {
 .l-header__open-btn {
        width: 50px;
        height: 50px;
	 font-size:9px;
}
}

.l-header__open-btn:hover,
.l-header__open-btn:active {
	background: #605a4d !important;
}
.l-header__open-btn span:nth-child(1),
.l-header__open-btn span:nth-child(2) {
	width: 40.7px;
	height: 1px;
	background-color: #fff;
	position: absolute;
	left: 30px;
	transition: .4s all;
}

@media screen and (max-width: 1080px) {
.l-header__open-btn span:nth-child(1),
.l-header__open-btn span:nth-child(2) {
	width: 30.525px;
	left: 22.5px;
	transition: .4s all;
}
}
@media screen and (max-width: 480px) {
.l-header__open-btn span:nth-child(1),
.l-header__open-btn span:nth-child(2) {
	width: 27.5px;
	left: 11px;
}
}
.l-header__open-btn span:nth-child(1) {
	 top: 34px;
}
.l-header__open-btn span:nth-child(2) {
	 top: 44px;
}

@media screen and (max-width: 1080px) {
.l-header__open-btn span:nth-child(1) {
	 top: 25.5px;
}
.l-header__open-btn span:nth-child(2) {
	 top: 33px;
}
}
@media screen and (max-width: 480px) {
.l-header__open-btn span:nth-child(1) {
	 top: 17px;
}
.l-header__open-btn span:nth-child(2) {
	 top: 21.5px;
}
}

.l-header__open-btn span:nth-child(3) {
	position: absolute;
	top: 60px;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
}

@media screen and (max-width: 1080px) {
.l-header__open-btn span:nth-child(3) {
	top: 45px;
}
}
@media screen and (max-width: 480px) {
.l-header__open-btn span:nth-child(3) {
	top: 30px;
}
}
.l-header__open-btn.active span:nth-child(1) {
	 transform: translateY(-6px) rotate(22deg);
	top: 51px
}

.l-header__open-btn.active span:nth-child(2) {
	 transform: translateY(6px) rotate(-22deg);
	top: 39px
}

@media screen and (max-width: 1080px) {
.l-header__open-btn.active span:nth-child(1) {
	top: 38.25px
}

.l-header__open-btn.active span:nth-child(2) {
	top: 27.25px
}
}
@media screen and (max-width: 480px) {
.l-header__open-btn.active span:nth-child(1) {
	 transform: translateY(-6px) rotate(22deg);
	top: 25.5px
}

.l-header__open-btn.active span:nth-child(2) {
	 transform: translateY(6px) rotate(-22deg);
	top: 14.5px
}
}


.elementor-element-8c8d281 {
	position:fixed;
	left: 0;
	top: -120%;
	width: 100%;
	height: 100vh;
	transition: .5s all;
}
.elementor-element-8c8d281.active {
	top: 0;
}
.elementor-element-8c8d281 .elementor-element-c8a2100 {
	width: 100vw;
	height: 100vh;
	max-width: none;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	-ms-overflow-style: none;
	scrollbar-width: none;
	background: #fff;
}
.elementor-element-8c8d281 > .e-con-inner::-webkit-scrollbar{
		display: none;
	}

    .elementor-19 .elementor-element.elementor-element-7c174a0 .elementor-swiper-button.elementor-swiper-button-prev, .elementor-19 .elementor-element.elementor-element-7c174a0 .elementor-swiper-button.elementor-swiper-button-next  {
		z-index: 10;
}

.c-link {
	position: relative;
	border: 1px solid #938563;
	background: #938563;
	color: #fff !important;
	padding: 12px 30px 10px 24px;
	transition: .4s all;
	margin-right: 20px;
}
@media screen and (max-width: 480px) {
.c-link {
	padding: 14px 70px 15px 65px;
	margin-right: 0px;
	margin-left: 3px;
}
}
.c-link::before,
.c-link::after {
	content:"";
	width: 20px;
	height: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transition: .4s all;
}
.c-link::before {
	right: 0;
	background: #fff;
}
.c-link::after {
	right: -20px;
	background: #938563;
}

.c-link:hover {
	background: #fff;
	color: #938563 !important;
}

.c-link:hover:before {
	background: #938563;
}
.elementor-element-2d35585,
.elementor-element-22cd7a9,
.elementor-element-6a5aa9e,
.elementor-element-41e2a82,
.elementor-element-a1afb37{
	position: absolute !important;
	z-index: 1 !important;
}
.elementor-element-236a732.elementor-element > *,
.elementor-element-236a732.elementor-element .page,
.elementor-element-650b975 .elementor-element > *{
	position: relative !important;
}
.elementor-element-650b975 .elementor-element > * {
	z-index: 3;
}
.elementor-element-f68f275 a {
	width: 100% !important;
}
.footer-width-fixer .elementor-button-icon {
	width: 12px;
}
@media screen and (max-width: 1080px) {
.footer-width-fixer .elementor-button-icon {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
}
@media screen and (max-width: 480px) {
.footer-width-fixer .elementor-button-icon {
	width: 15px;
}
}
.elementor-button-content-wrapper {
	align-items: center;
	position: relative;
}

#js-to-top {
	opacity: 0; /* フェードアウト */
    transform: translateY(100px); /* 下に移動 */
    transition: opacity 0.6s ease, transform 0.6s ease; /* アニメーション */
}
#js-to-top.active {
	opacity: 1; /* フェードイン */
    transform: translateY(0); /* 元の位置に戻す */
}

.breadcrumbs,
.breadcrumbs a{
	color: #727171;
}

#page-menu .menu-item,
#menu .menu-item {
	border-bottom: 1px solid #fff;
}

.elementor-widget-wpr-popup-trigger {
	width: 40px;
	height: 40px;
}
.wpr-popup-trigger-button {
	width: 100%;
}

#c-menu .menu-item a span {
	color: #938563;
}

#c-menu .menu-item.current_page_item {
	color: #b8a774;
}

.pum-overlay {
	    background: rgba(0, 0, 0, 0.9);
}
.pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close {
	background: transparent;
	box-shadow: none;
	color: #fff;
	font-size: 4vw;
	padding: 0;
	top: -52px;
	right: 0;
}
@media screen and (max-width: 1080px) {
	.pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close {
		font-size: 6vw;
		top: -42px;
	}
}
@media screen and (max-width: 480px) {
.pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close {
	top: -32px;
}

}
.pum-container, .pum-theme-default-theme .pum-container {
	padding: 0;
	background: transparent !important;
}

.pum-container, .pum-theme-default-theme .pum-container img,
.pum-container, .pum-theme-default-theme .pum-container video {
	vertical-align: bottom;
}


.breadcrumbs {
	font-weight: 500;
	color: #727171;
	font-size: 14px;
}
.breadcrumbs .current-item {
	color: #856c34;
}

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

.breadcrumbs {
	font-size: 12px;
}
}

.elementor-19 .elementor-element.elementor-element-3f56d32 {
    --display: auto !important;
	position: relative;
	z-index: 2;
}

.elementor-element.elementor-element-3f56d32.e-con.e-flex>.e-con-inner {
	margin: 0;
	width: 100%;
}

.e-hosted-video,
.elementor-widget-container {
	width: 100%;
}
.bdt-arrows-align-center.bdt-panel-slider.bdt-text-on-always {
	position: relative;
}
.elementor-widget-image-carousel .swiper {
	position: relative
}
.elementor-19 .elementor-element.elementor-element-3fd45de .elementor-image-carousel-wrapper .elementor-image-carousel .swiper-slide-image {
    aspect-ratio: 380 / 260;
}

.elementor-widget-image-carousel .swiper-slide {
	padding: 0 22.5px;
}
@media screen and (max-width: 1080px) {

.elementor-widget-image-carousel .swiper-slide {
	padding: 0 12px;
}
}

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

.elementor-widget-image-carousel .swiper-slide {
	padding: 0;
}
}
.elementor-swiper-button {
	z-index: 10 !important;
}
.elementor-swiper-button svg {
	width: 100% !important;
	
}

.modal-txt span {
	font-size: 12px;
	line-height: 1;
}

@media screen and (max-width: 480px) {
	.modal-txt span {
		font-size: 10px;
		line-height: 1.4;
	}
}

.elementor-image-carousel-caption {
	font-style: normal;
}

.pum-content popmake-content img {
	width: 100%;
}

/* .elementor-19 .elementor-element.elementor-element-5885f94  */
.bdt-panel-slider .swiper-carousel .swiper-wrapper {
	height: auto !important;
}

.swiper {
	overflow: initial;
	z-index: 3;
}
/* .elementor-19 .elementor-element.elementor-element-5885f94  */
.swiper-carousel {
	width: 100vw;
	margin: 0 calc(50% - 50vw) !important;
}
.elementor-19 .elementor-element.elementor-element-5885f94 .swiper-slide {
	aspect-ratio: 380 / 260;
	padding: 0 22.5px;
	position: relative;
}
#page03-slider .swiper-slide {
	aspect-ratio: 490 / 336;
	padding: 0 11px;
	position: relative;
}
@media screen and (max-width: 766px) {
	
	#page03-slider .swiper-slide {
		padding: 0 22.5px;
	}
}
@media screen and (max-width: 480px) {

	.elementor-19 .elementor-element.elementor-element-5885f94 .swiper-slide {
		padding: 0 13.5px;
	}
	
	#page03-slider .swiper-slide {
		padding: 0 15px;
	}
}

.bdt-panel-slider .bdt-navigation-next, .bdt-panel-slider .bdt-navigation-prev {
	width: 40px;
	height: 40px;
	z-index: 20;
}
@media screen and (max-width: 480px) {
	.bdt-panel-slider .bdt-navigation-next, .bdt-panel-slider .bdt-navigation-prev {
		width: clamp(24px, 48 / 750 * 100vw, 48px);
		height: clamp(24px, 48 / 750 * 100vw, 48px);
	}
}

.bdt-panel-slider .bdt-navigation-next i, .bdt-panel-slider .bdt-navigation-prev i {
	display: none;
}
.bdt-panel-slider .bdt-navigation-next::before,
.bdt-panel-slider .bdt-navigation-prev::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}
/* .elementor-19 .elementor-element.elementor-element-5885f94  */
.bdt-panel-slider .bdt-navigation-next {
    right: 25px;
    top: -40px;
}
.bdt-panel-slider .bdt-navigation-next::before {
	background-image: url(https://imperial-wedding.denon-onsite.jp/wp-content/uploads/2025/09/icon-next-1.svg);
}
/* .elementor-19 .elementor-element.elementor-element-5885f94  */
.bdt-panel-slider .bdt-navigation-prev {
    left: auto !important;
    top: -40px;
    right: 81px;
}
.bdt-panel-slider .bdt-navigation-prev::before {
	background-image: url(https://imperial-wedding.denon-onsite.jp/wp-content/uploads/2025/09/アセット-1-5.svg);
}

@media screen and (max-width: 766px) {
/* 	.elementor-19 .elementor-element.elementor-element-5885f94  */
	.bdt-panel-slider .bdt-navigation-next,
/* 	.elementor-19 .elementor-element.elementor-element-5885f94  */
	.bdt-panel-slider .bdt-navigation-prev {
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
	}
	
/* 	.elementor-19 .elementor-element.elementor-element-5885f94  */
	.bdt-panel-slider .bdt-navigation-next {
		right: -20px !important;
	}
/* 	.elementor-19 .elementor-element.elementor-element-5885f94  */
	.bdt-panel-slider .bdt-navigation-prev {
		left: -20px !important;
		right: auto;
	}
}
@media screen and (max-width: 480px) {
	
/* 	.elementor-19 .elementor-element.elementor-element-5885f94  */
	.bdt-panel-slider .bdt-navigation-next {
		right: -10px !important;
	}
/* 	.elementor-19 .elementor-element.elementor-element-5885f94  */
	.bdt-panel-slider .bdt-navigation-prev {
		left: -10px !important;
	}
}

.bdt-panel-slide-link {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	margin: 0;
}
[class*="elementor-widget-bdt-"] .swiper-slide {
	overflow: initial;
}
.bdt-panel-slide-thumb-wrapper {
    aspect-ratio: 380 / 260;
}

.bdt-panel-slide-thumb {
	position: static;
	background-size: cover;
	background-position: ceter;
	background-repeat: no-repeat;
}

.bdt-panel-slide-title.bdt-transition-slide-bottom {
	height: auto;
	position: absolute;
	left: 22.5px;
	color: #938563;
	font-family: "Cormorant SC", Noto Serif JP !important;
/* 	bottom: -34px; */
	top: 100%;
	font-size: 18px;
	width: calc(100% - 22.5px * 2);
	text-align: left;
}
.bdt-panel-slide-title span {
	font-size: 0.6em; /* ← 日本語のサイズをここで調整 */
}
#page03-slider .bdt-panel-slide-title.bdt-transition-slide-bottom {
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	width: 100%;
}

@media screen and (max-width: 480px) {
	 .bdt-panel-slide-title.bdt-transition-slide-bottom {
		left: 13.5px;
		 font-size: 12px;
		 bottom: -22px;
	}
	
	#page03-slider .bdt-panel-slide-title.bdt-transition-slide-bottom {
	    bottom: -36px;
	}
}

@media (max-width: 959px) {
    .bdt-visible\@m {
        display: block !important;
    }
}

@media screen and (max-width: 766px) {
	 .elementor-element-5885f94.elementor-widget.elementor-widget-bdt-panel-slider.e-widget-swiper {
/* 		width: 80%; */
		margin: 0 auto;
	}
}
@media screen and (max-width: 480px) {
	 .elementor-element-5885f94.elementor-widget.elementor-widget-bdt-panel-slider.e-widget-swiper {
		width: 100%;
	}
}
.bdt-arrows-align-center .bdt-position-center {
	height: 100%;
}
@media screen and (max-width: 766px) {
	 .bdt-arrows-align-center .bdt-position-center {
		height: auto;
	}
}
.bdt-arrows-align-center .bdt-position-center.bdt-position-z-index{
	z-index: 2;
}
@media screen and (max-width: 766px) {
	 .bdt-arrows-align-center .bdt-position-center.bdt-position-z-index{
		 z-index: 3;
	}
}
[class*="elementor-widget-bdt-"] .swiper-slide {
	padding: 0 15px;
}

.pum-container.pum-responsive img {
	width: 100%;
    object-fit: cover;
    object-position: center;
}
.elementor-icon-list-item {
	border-bottom: 1px solid #fff;
}
.elementor-icon-list-item a {
	padding: 18px 3px;
	width: 100%;
}
.elementor-icon-list-item a span {
	    color: #938563;
}
@media screen and (max-width: 766px) {
	 .elementor-icon-list-item a {
		padding: 12.5px 5px;
	}
}

.bdt-panel-slide-thumb {
	transform: translateZ(0);
  will-change: transform;
}
.e-n-accordion-item-title-text{
  font-size: 48px !important;
  line-height: 1.2 !important;
}
.accordion-lights .e-n-accordion-item-title-text,
.accordion-lights .e-n-accordion-item-title-text a{
  color: #856C34 !important;
}