@charset"utf-8";
/*
-----------------------------------------------
護王神社 Web Site  --  secion CSS
Latest Updated : 20 Oct., 2026
----------------------------------------------- */



/* **************************************************************************** */
/*
/* - home
/*
/* **************************************************************************** */

#billboard		{ position:relative; max-height:500px; text-align:center; background:#DAD9C6 url(../img/common/bg_billboard.png) no-repeat center top;}
#billboard-top	{ position:absolute; top:0; width:100%; height:11px; background:url(../img/billboard/billboard_shadow-top.png) repeat-x;}
#billboard-btm	{ position:absolute; bottom:0; width:100%; height:11px; background:url(../img/billboard/billboard_shadow-btm.png) repeat-x;}
#billboard #mainimage { position:relative; text-align:center;}
#billboard #mainimage img { margin:0 auto; max-width:768px; max-height:512px;}

/** - #selectmenu - */
#selectmenu		{ margin:0 0 4rem; padding:24px 8%; width:auto;}
#selectmenu li	{ margin:0 0 1.2rem; }
#selectmenu li a	{ display:block; padding:8px; background-color:#fff; border:1px solid #C9D3AE; border-radius:8px;}
#selectmenu li a img{ width:100%; height:auto;}

#col_news	{ padding:0 8% 4px; text-align:left;}
#col_news .home-news-title { position:relative; margin:0; border-bottom:1px solid #8CA64D;}
#col_news .home-news-title img { width:auto; height:36px;}
#col_news dl{ margin:0 0 21px 0; font-size:9pt; line-height:1.4; border-bottom:1px solid #8CA64D;}
#col_news dt{ margin:0.8em 0 0.4em 0; padding:0 0 0 7px;}
#col_news dd{ margin:0 0 0.8em 0; padding:0 0 0 7px; border-bottom:1px dotted #d0d0d0;}
#col_news a { color:#8CA64D;}
#col_news a:hover{ color:#550DA4;}
#col_news .home-news-title .newslist a { 
	position:absolute; right:0; bottom:2px;
	font-size:1.2rem; font-weight:400; font-family:sans-serif;
}

#col_banner	{ padding:0 8%; text-align:center;}
#col_banner ul  { margin:0; text-align:center; font-size:0;}
#col_banner li  { margin:5px 0% 8px;}
#col_banner li img  { width:100%;}
#col_banner li.half {}



/* **************************************************************************** */
/*
/* - yuisho
/*
/* **************************************************************************** */

/* 御由緒と御祭神 */
.section-yuisho	{ padding:0 0 40px;}
.section-yuisho p	{ text-indent:1em;}
.section-saishin	{ padding:0 0 40px;}
.section-saishin dt	{ font-size:2.1rem; font-weight:400; font-family:var(--font-family-serif);}
.section-denki p	{ text-indent:1em;}
.sintoku-item	{ padding:16px 0;}
.section-luck-origin p	{ text-indent:1em;}

/* 足腰のご利益 */
.goriyakus	{ padding:0 0 60px;}
.goriyakus dt	{ margin:0 0 12px; padding:0.6em 1em; background-color:#fff; border:1px solid #c8d4ac; border-radius:4px;}
.goriyakus dd	{ border:0;}
.section-spots .luck	{ margin-bottom:40px;}
.section-spots p	{ text-indent:1em;}



/* **************************************************************************** */
/*
/* - annai
/*
/* **************************************************************************** */

.section-hours	{ padding:24px 24px; line-height:1.5; background:#E9E8D9; border-radius:6px;}
dl.info		{ margin:0; padding:0; border-top:1px solid rgba(0,0,0,.2);}
dl.info dt	{ margin:16px 0 0 0; padding:0 0 0 20px; line-height:1.6; background:url(../img/common/icon-headline.png) no-repeat 0 0 / 16px;}
dl.info dd	{ line-height:1.6; border-bottom:1px solid rgba(0,0,0,.2);}

.section-event	{ padding:0 0 40px;}
.section-event p	{ text-indent:1em;}

.section-contact-info h3	{ font-size:1.8rem;}
.section-contact-info .tel a	{ font-size:2.8rem; font-weight:400; font-family:var(--font-family-serif); line-height:1;}


/* **************************************************************************** */
/*
/* - keidai
/*
/* **************************************************************************** */

/**
 *	#keidaimap
 */
#keidaimapwrap	{ position:relative;}
#keidaimap		{ margin:0 auto; padding:0;}
#keidaimapwrap ul li	{ padding-left:0;}
#keidaimapwrap ul li br	{ display:none;}
#keidaimapwrap ul li:before { background:none; border:solid transparent; border-width:4px 0 4px 6px; border-left-color:#FFCC33; border-radius:0;}
#keidaimapwrap li a	{ position:relative; display:block; padding:10px 2px 10px 14px; color:#111; text-decoration:none; background-color:#fff; border:1px solid #B98B01; border-radius:3px;}
#keidaimapwrap ul a:before { position:absolute; top:15px; left:4px; content:''; border:solid transparent; border-width:4px 0 4px 6px; border-left-color:#FFCC33; border-radius:0;}
#keidaimapwrap ul a:hover	{ background-color:#fff;}
#keidaimapwrap li span	{ position:relative; display:block; padding:10px 2px 10px 14px; color:#999; text-decoration:none; background-color:#fff; background-color:rgba(255,255,255,.8); border:1px solid #B98B01; border-radius:3px;}
#keidaimapwrap ul span:before { position:absolute; top:15px; left:4px; content:''; border:solid transparent; border-width:4px 0 4px 6px; border-left-color:#FFCC33; border-radius:0;}

.keidai-detail	{ max-width:920px; text-align:left;}
.keidai-detail .keidai-column-title	{ margin:6px 0; padding:12px 0; text-align:center; border:solid #C9C19F; border-width:1px 0;}
.keidai-detail p	{ margin:1em 0; text-align:left; font-size:1.4rem; line-height:2;}



/**
 *	#juyohin
 */
.itemlist ul	{ text-align:left; font-size:0; text-align:center;}
.itemlist li:before { background:none; border:0;}
.itemlist li	{ 
	position:relative;
	display:inline-block; vertical-align:top; margin:0 10% 4rem; padding:0 5% 16px; width:80%; max-width:375px;
	background-color:#CFBCDB; border-radius:5px;
}
.itemlist li .image	{ margin:0 auto 8px;}
.itemlist li h3	{ margin:0; padding:1.5rem 0 1rem; font-size:1.7rem; text-align:center;}
.itemlist li p	{ margin:0 0 4px; padding:0; text-align:left; font-size:1.4rem; line-height:1.5;}
.itemlist li p.hatsuho	{ font-weight:700;}
.itemlist li p.size	{ margin:0 0 8px; font-size:1.3rem;}
.itemlist li p.caption	{ font-size:1.4rem; color:#000;}


.juyohin-list ul	{ text-align:left; font-size:0; text-align:center;}
.juyohin-list li:before { background:none; border:0;}
.juyohin-list li	{ 
	position:relative;
	display:inline-block; vertical-align:top; margin:0 10% 4rem; padding:0 0; width:80%; max-width:375px;
	background-color:#CFBCDB; border-radius:5px;
}
.juyohin-list li:before	{ position:absolute; top:-5px; left:0; content:''; width:100%; height:15px; background:url(../img/common/item-bg-top.png) no-repeat left top / 100% auto; border-radius:0;} 
.juyohin-list li:after	{ position:absolute; bottom:-5px; left:0; content:''; width:100%; height:15px; background:url(../img/common/item-bg-bottom.png) no-repeat left bottom / 100% auto; border-radius:0;} 
.juyohin-list li .image		{}
.juyohin-list li .image img	{ width:100%; height:auto;}
.juyohin-list li h3	{ margin:00; padding:1.5rem 0 1rem; font-size:1.7rem; text-align:center;}
.juyohin-list li p.size	{ margin:0; padding:10px 0 10px; font-size:1.3rem; line-height:1.2; background-color:rgba(255,255,255,.25)}
.juyohin-list li p.caption	{ margin:0; padding:16px 5%; text-align:left; font-size:1.4rem; line-height:1.5; color:#000;}
div.btn-juyohin a	{ 
	display: inline-block; padding: 12px 24px;  
	font-weight:700; color: #fff; text-decoration: none; 
	background-color:#5A19A0; border-radius:4px;
}
div.btn-juyohin a:hover	{ background-color:#8c2af5;}



/* **************************************************************************** */
/*
/* - kigan
/*
/* **************************************************************************** */

.section-kitou	{ padding:0 0 40px;}
.kigan-notice	{ margin:0 0 40px; padding:1.6em 1.6em; background-color:rgba(255,255,255,.5); border: 1px solid #E1DDCA;}
.kigan-notice p	{ margin:0;}
.kitou ul	{ margin:0;}
.kitou ul li	{ margin:0 0 0.8em; padding-bottom:0.8em; border-bottom:1px solid rgba(0,0,0,.2);}

/**
 *	kekkon
 */
.page-kekkon table td { background:#EBE9DB; border-color:#fff;}
.page-kekkon table td.price{background:#E1DDCA; border-color:#fff;}
.plan{font:normal 11pt/1.2 "ヒラギノ明朝 Pro W3","ＭＳ Ｐ明朝", "細明朝体", serif; color:#1F004C;}
ul.kotobuki{margin:1em 0; font:normal 11pt/1.2 "ヒラギノ明朝 Pro W3","ＭＳ Ｐ明朝", "細明朝体", serif; color:#1F004C;}

ul.weddingflow li:before { background:none; border:0;}
ul.weddingflow li{
	margin:1.5em 0; padding:0 0 0 34px; font:normal 11pt/1.2 "ヒラギノ明朝 Pro W3","ＭＳ Ｐ明朝", "細明朝体", serif;
	background:url(../img/section/li_weddingflow.png) no-repeat 0 0 / 27px auto;
}


/* **************************************************************************** */
/*
/* - kouza
/*
/* **************************************************************************** */

.section-about	{}
.section-guidelines	{}

.page-jigyou .page-title img,
.page-koubunin .page-title img { height:68px;}
.section-about-seminar	{ padding:0 0 40px;}
.section-guidelines-seminar	{ padding:0 0 40px;}
table.seminorschedule { table-layout:auto; width:100%; min-width:600px;}
table.seminorschedule tbody th	{ text-align:center;}
table.seminorschedule tr td:nth-of-type(1)	{ white-space:nowrap;}



/* **************************************************************************** */
/*
/* - takao jyuujun
/*
/* **************************************************************************** */

h1.takao-project-title	{}
h1.takao-project-title img	{}

.takao-jigyou	{ margin:0 auto 50px; padding:30px 5% 20px; max-width:520px; text-align:center; background-color:rgba(79,36,125,.1);}
.takao-jigyou h3	{ font-weight:400; text-align:center;}
.takao-jigyou ul	{ 
	display:inline-block; margin:0 1em 0 0;
	text-align:left; font-size:1.7rem;
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.takao-jigyou ul li	{ padding:0 0 0 16px;}
.takao-jigyou ul li:before	{ width:8px; height:8px;} 

.takao-lead	{ 
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size:1.5rem;
}
.takao-lead p	{ text-indent:1em;}
.takao-table table	{ table-layout:auto;}
.takao-table tbody th	{ white-space:nowrap;}
.takao-table tbody td	{ text-align:center;}
.takao-table .ikari	{
	display:inline-block; width:30px; height:30px; color:transparent; background:url(../takao80/img/icon-ikari.svg) no-repeat center / 28px;
}


/* **************************************************************************** */
/*
/* - inosisi
/*
/* **************************************************************************** */

body#inosisi	{ background:#fff url(../img/common/bg_container.jpg) repeat center top;}
#inosisiwrap	{ margin:0 auto; width:auto; max-width:651px; text-align:left;}
#inosisiwrap h1	{ margin-bottom:2em; line-height:2;}
#inosisiwrap h1 img	{ width:100%; height:auto;}
#inosisiwrap p	{ margin-bottom:2em; line-height:2;}
#inosisiwrap p img	{ width:100%; height:auto;}


/* **************************************************************************** */
/*
/* - Modal Window
/*
/* **************************************************************************** */

.custom-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 99999;
	align-items: center;
	justify-content: center;
}
.custom-modal.is-active {
	display: flex;
}
.custom-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.7);
}
.custom-modal-window {
	position: relative;
	z-index: 1;
	width: 90%;
	max-width: 860px;
	max-height: 90vh;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}
.custom-modal-close {
	position:absolute; top:4px; right:4px; z-index:2;
	padding:0 !important; width:42px; height:42px;
	font-size:24px; font-weight:400; line-height:1 !important; color:#fff;
	background-color:#000;
	border:3px solid #fff; border-radius:50px; box-shadow:0 0 8px rgba(0,0,0,.2);
	cursor: pointer;
}
.custom-modal-close:hover {
	background-color: #520C9D;
}
.custom-modal-body {
	padding: 24px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.custom-modal-body.is-iframe {
	padding: 0;
	height: 80vh;
}
.custom-modal-body img {
	max-width: 100%;
	height: auto;
}



/* **************************************************************************** */
/*
/* - Media Query
/*
/* **************************************************************************** */

/* 720px <=                             */
@media screen and (min-width: 720px) {

	#selectmenu		{ margin:-24px 0 0; padding:0;}
	#selectmenu ul	{ margin:0; padding:0; text-align:center;}
	#selectmenu li	{ display:inline-block; margin:0 8px; width:204px; height:337px; padding:9px 10px; background:url(../img/nav/b_select.png) no-repeat 0 0 / 100% 100%;}
	#selectmenu li a	{ padding:0; background:transparent; border:0; border-radius:0;}

	#subcol { 
		padding:40px 8%;
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start; gap:10%;
	}
	#col_news	{ margin:0; padding:0; width:45%;}
	#col_news .b_instagram	{ margin:0 0 12px 0;}
	#col_news .b_contact	{ margin:0;}
	#col_news .sns { display:inline-block; vertical-align:top; margin:0 0 8px;}
	#col_news .sns li	{}
	#col_news .sns li a	{ width:54px; height:54px;}

	#col_banner	{ margin:0; padding:0; width:45%;}
	#col_banner li  { margin:0 0 8px;}


	/**
	 *	annai
	 */
	.section-hours	{ padding:24px 36px;}
	dl.info dt	{ float:left; margin:0; padding:16px 0 0 20px; width:200px; background-position:0 16px;}
	dl.info dd	{ margin:0; padding:16px 0 16px 200px;}
	dl.info dd:before	{ content:'：';}


	/**
	 *	#juyohin
	 */
	.itemlist ul	{ 
		display:flex; flex-flow:row wrap; justify-content:space-between; align-items:stretch;
		text-align:left; font-size:0;
	}
	.itemlist li	{ margin:0 3% 4rem; padding:0 3% 16px; width:44%; max-width:375px;}
	.itemlist li h3	{ padding:1.5em 0 1em; font-size:1.7rem;}
	.itemlist li p.size	{ margin:0 0 14px;}


	.juyohin-list ul	{ 
		text-align:left; font-size:0;
		display:flex; flex-flow:row wrap; justify-content:flex-start; align-items:stretch;
	}
	.juyohin-list li	{ margin:0 3% 4rem; padding:0 3%; width:44%; max-width:375px;}

}


/* 768px <=                             */
@media screen and (min-width: 768px) {

	#billboard		{ max-height:400px;}
	#billboard #mainimage img { max-width:1200px; max-height:400px;}

	/**
	 *	#juyohin
	 */
	.itemlist li	{ margin:0 1% 4rem; padding:0 2% 16px; width:31%;}
	.itemlist li.w2	{ margin:0 1% 4rem; padding:0 2%; width:64%; max-width:700px;}
	.itemlist li.w2 .w2wrap	{}
	.itemlist li.w2 .w2wrap .image	{ display:inline-block; vertical-align:top; width:50%; margin:0 3% 16px 0;}
	.itemlist li.w2 .w2wrap p		{ display:inline-block; vertical-align:top; width:47%;}


}


/* 980px <=                             */
@media screen and (min-width: 980px) {



	/**
	 *	home
	 */

	#selectmenu		{ margin:-24px 0 0 0; padding:0 0 40px; width:980px;}
	#selectmenu li	{ margin:0 4px; width:174px; height:285px; padding:9px 10px;}

	#subcol { margin:0 auto; padding:40px 24px; width:100%; justify-content:space-between; gap:0;}
	#col_news	{ width:422px;}
	#col_news .b_instagram	{ display:inline-block; vertical-align:top; margin:0 17px 12px 0; width:282px;}
	#col_news .sns li:last-child	{ margin-right:0;}

	#col_banner	{ width:432px;}
	#col_banner li  { margin:0 0 8px;}
	#col_banner li.half { display:inline-block; margin:0 8px 8px 0; width:calc(50% - 4px);}
	#col_banner li.no-margin-r { margin:0 0 8px;}


	.itemlist li	{ margin:0 0 4rem 0; padding:0 1rem 16px; width:32%;}

	.juyohin-list li	{ margin:0 2% 4rem 0; padding:0 1rem; width:32%; max-width:375px;}
	.juyohin-list li:nth-child(3n) { margin-right:0;}
	.juyohin-list li p.caption	{ padding:16px 0;}


	/**
	 *	#keidaimap
	 */
	#keidaimapwrap	{ margin:0 0;}
	#keidaimap		{ width:700px;}
	#keidaimapwrap ul	{ margin:0;}
	#keidaimapwrap ul li{ margin:0; padding:0; background:none;}
	#keidaimapwrap ul li br	{ display:block;}
	#keidaimapwrap li a img	{ opacity:0; filter:alpha(opacity=0); transition:opacity 0.2s ease-out; -moz-transition:opacity 0.2s ease-out; -webkit-transition:opacity 0.2s ease-out;}
	#keidaimapwrap li a:hover img	{ opacity:1; filter:alpha(opacity=100);}

	#keidaimapwrap li a	{ padding:3px 8px 3px 14px; font-size:1.3rem; box-shadow:1px 1px 3px rgba(0,0,0,.2);}
	#keidaimapwrap ul a:before { top:10px; left:4px;}
	#keidaimapwrap li span	{ padding:4px 4px 4px 12px;}
	#keidaimapwrap ul span:before { top:10px; left:4px;}

	#keidaimapwrap li#k1,
	#keidaimapwrap li#k2,
	#keidaimapwrap li#k3,
	#keidaimapwrap li#k4,
	#keidaimapwrap li#k5,
	#keidaimapwrap li#k6,
	#keidaimapwrap li#k7,
	#keidaimapwrap li#k8,
	#keidaimapwrap li#k9,
	#keidaimapwrap li#ka { position:absolute;}
	
	#keidaimapwrap li#k1 { top:264px; left:174px;}
	#keidaimapwrap li#k2 { top:294px; left:223px;}
	#keidaimapwrap li#k3 { top:260px; left:385px;}
	#keidaimapwrap li#k4 { top:272px; left:550px;}
	#keidaimapwrap li#k5 { top:331px; left:508px;}
	#keidaimapwrap li#k6 { top:388px; left:493px;}
	#keidaimapwrap li#k7 { top:413px; left:400px;}
	#keidaimapwrap li#k8 { top:450px; left:379px;}
	#keidaimapwrap li#k9 { top:517px; left:407px;}
	#keidaimapwrap li#ka { top:346px; left:157px;}

	.keidai-detail .cola { float:left; width:360px; margin-right:34px;}
	.keidai-detail .colb { float:right; width:412px;}

}



/* **************************************************************************** */
/*
/* - Shinzenshiki - wedding
/*
/* **************************************************************************** */

.wedding-wrap	{
	font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.wedding-headerwrap	{
	position:relative; display:flex; flex-flow:column-reverse wrap;
	background-color:#BC262C;
}
.wedding-headerwrap:after	{
	position:absolute; bottom:-2px; right:0; z-index:9; content:''; width:90%; height:20vh; 
	background:url(../img/kigan/wedding-headerwrap-bottom.svg) no-repeat bottom right / 100% auto;
}

.wedding-billboard	{ position:relative; height:90vh;}
.wedding-billboard img { height:90vh; object-fit:cover; object-position:50% 50%;}
.wedding-slider {
	position:relative; width:100%; height:90vh; overflow:hidden;
}
.wedding-slider .slide {
	position:absolute; top:0; left:0; z-index:1;
	width:100%; height:100%;
	opacity:0; /* 最初はすべて隠す */
}
.wedding-slider .slide picture,
.wedding-slider .slide img {
	width:100%; height:100%; object-fit:cover;
}

.wedding-header	{
	background:url(../img/kigan/wedding-branding-bg.png) no-repeat right top / 100% auto;
}
.wedding-branding	{ display:flex; justify-content:center; align-items:center; height:60vh; min-height:440px;}
.wedding-branding-title	{ writing-mode:vertical-rl; font-size:0;}
.wedding-branding-title span	{ 
	display:block; width:72px; background:url(../img/kigan/wedding-gooujinja.svg) no-repeat center top / 100% auto;
	aspect-ratio:12 / 50;
}

.wedding-head-content	{ position:relative; padding:40px 0;}
.wedding-head-content:before	{ position:absolute; top:0; right:0; content:''; width:200px; height:200px; background:url(../img/kigan/wedding-lead-bg.svg) no-repeat right -20px top / 100% auto;}
.wedding-heading	{ padding:0 0 40px;}
.wedding-heading p	{
	display:flex; flex-flow:row wrap; justify-content:center; align-items:flex-start;
	margin:0; width:100%;
}
.wedding-heading p span	{ margin:0 16px; width:20px;}
.wedding-heading p span:nth-child(2)	{ margin-top:2em;}
.wedding-heading p span:nth-child(1)	{ margin-top:4em;}
.wedding-lead	{ 
	display:flex; flex-flow:row-reverse wrap; justify-content:center; align-items:flex-start; gap:24px;
	padding:0 0 40px; width:100%;
}
.wedding-lead p	{ 
	writing-mode:vertical-rl; text-align:left; line-height:2.0; color:#fff;
}


/**
 * - 魅力
**/
.wedding-miryokus	{ position:relative; padding:0 10%; background-color:#F9F9F8;}
.wedding-miryokus:before	{ 
	position:absolute; top:-50px; right:0; z-index:9; content:''; width:90%; max-width:1280px; height:400px; 
	background:url(../img/kigan/wedding-miryokus-bg.webp) no-repeat top right / 100% auto;
}

.wedding-miryokus .wrapper	{ margin:0 auto; padding:20px 0; max-width:1180px;}
.wedding-miryokus .section-header	{ display:flex; flex-flow:row wrap; justify-content:center; padding:60px 0;}
.wedding-miryokus .section-header .section-title	{ writing-mode:vertical-rl; font-size:0;}
.wedding-miryokus .section-header .section-title span	{
	display:block; width:102px; background:url(../img/kigan/wedding-miryoku-title.svg) no-repeat center top / 100% auto;
	aspect-ratio:4 / 9;
}

.wedding-miryokus .section-content	{}
.wedding-miryokus .miryoku	{ padding:0 0 60px;}
.wedding-miryokus .miryoku .gallery	{ padding:24px 0;}
.wedding-miryokus .miryoku .gallery figure	{ margin:0;}
.wedding-miryokus .miryoku .gallery figure:nth-child(1)	{ margin-left:-20px;}
.wedding-miryokus .miryoku .gallery figure:nth-child(2)	{ margin-right:-20px;}
.wedding-miryokus .miryoku .content	{ padding:0; text-align:left;}
.wedding-miryokus .miryoku .miryoku-title	{ margin:0 0 0.8em; font-size:2.1rem; font-weight:400;}
.wedding-miryokus .miryoku p	{ line-height:2.0;}


/**
 * - 式次第
**/
.wedding-shikishidai	{ position:relative; padding:0 10%; background-color:#fff;}
.wedding-shikishidai:before	{ 
	position:absolute; top:-1px; left:-1px; content:'';
	width:100%; aspect-ratio:9 / 1;
	background:url(../img/kigan/wedding-shikishidai-top.svg) no-repeat top left / 100% auto;
}
.wedding-shikishidai .wrapper	{ margin:0 auto; padding:80px 0; max-width:1180px;}
.wedding-shikishidai .section-header	{ display:flex; flex-flow:row wrap; justify-content:center; }
.wedding-shikishidai .section-header .section-title	{ position:relative; padding:44px 10px; writing-mode:vertical-rl; font-size:0; background-color:#AB9447;}
.wedding-shikishidai .section-header .section-title:before	{ 
	position:absolute; top:0; left:2px; content:''; width:calc(100% - 4px); height:100%; border:solid #fff; border-width:0 1px;
}
.wedding-shikishidai .section-header .section-title span	{
	display:block; width:23px; background:url(../img/kigan/wedding-shikishidai-title.svg) no-repeat center center / 100% auto;
	aspect-ratio:1 / 4;
}

.wedding-shikishidai .section-content	{ text-align:center;}
.wedding-shikishidai ul	{ display:inline-block; text-align:left;}
.wedding-shikishidai ul li	{ position:relative; padding:18px 0;}
.wedding-shikishidai ul li:before	{
	position:absolute; top:3.6em; left:0.5em; content:''; width:0; height:60%; border-left:1px solid #AB9447;
}
.wedding-shikishidai ul li:last-child:before	{ border:0;}
.shikishidai .shikishidai-title	{ margin:0 0 0.8em; font-size:1.6rem; font-weight:400; color:#AB9447;}
.shikishidai p	{ margin:0; padding:0 0 0 2em;}



/**
 * - プラン
**/
.wedding-plans	{ padding:0 10%; background-color:rgba(255,255,255,.5);}
.wedding-plans .wrapper	{ margin:0 auto; padding:60px 0; max-width:1180px;}
.wedding-plans .section-header	{ display:flex; flex-flow:row wrap; justify-content:center; padding:0 0 60px;}
.wedding-plans .section-header .section-title	{ writing-mode:vertical-rl; font-size:0;}
.wedding-plans .section-header .section-title span	{
	display:block; width:102px; background:url(../img/kigan/wedding-plan-title.svg) no-repeat center top / 100% auto;
	aspect-ratio:4 / 9;
}
.wedding-plans .section-header p	{ line-height:2.0;}

.wedding-plans .section-content	{ text-align:left;}
.wedding-plans .plan-cards	{}
.wedding-plans .plan-card	{ margin:0 0 40px; background-color:#fff; box-shadow:0px 2px 16px rgba(0,0,0,.1);}
.wedding-plans .plan-card figure	{}
.wedding-plans .plan-card figure img	{ aspect-ratio:5 / 2; object-fit:cover;}
.wedding-plans .plan-card .content	{ padding:0 24px 26px;}
.wedding-plans .plan-card hgroup	{ display:flex; justify-content:space-between; align-items:flex-end; padding:8px 0 24px;}
.wedding-plans .plan-card .plan-title	{ margin:0; font-size:1.6rem; font-weight:400; color:#BC262C;}
.wedding-plans .plan-card .plan-title small	{}
.wedding-plans .plan-card .plan-title big	{}
.wedding-plans .plan-card .plan-price	{ font-size:1.8rem; line-height:1.4;}
.wedding-plans .plan-card .plan-price small	{ font-size:1.3rem;}
.wedding-plans .plan-card h4	{ margin:0 0 0.8em; font-size:1.4rem; font-weight:400; border-bottom:1px solid #AB9447;}
.wedding-plans .plan-card ul	{}
.wedding-plans .plan-card ul li	{ position:relative; margin:0 0 0.4em; padding:0 0 0 10px;}
.wedding-plans .plan-card ul li:before	{ position:absolute; top:0.5em; left:0; content:''; width:5px; height:5px; background-color:#AB9447; border-radius:50%;}

ul.notice	{}
ul.notice li	{ position:relative; margin:0 0 0.5em; padding:0 0 0 1em;}
ul.notice li:before	{ position:absolute; top:0; left:0; content:'※'; color:#BC262C;}


.wedding-contact	{ padding:40px 0;}
.wedding-contact h3	{ margin:0 0 0.8em; font-weight:400;}
.wedding-contact p	{ margin:0 0 ; line-height:1.8;}
.wedding-contact a	{ font-size:150%; color:#000; text-decoration:none;}
.wedding-contact address	{ line-height:1.8;}



/* 720px <=                             */
@media screen and (min-width: 720px) {

	.wedding-headerwrap	{flex-flow:row wrap;}
	.wedding-billboard	{ position:sticky; top:0; width:50%; height:100vh;}
	.wedding-billboard img { height:100vh;}
	.wedding-slider { height:100vh;}
	.wedding-header	{ width:50%;}
	.wedding-branding	{ height:500px;}
	.wedding-heading	{ padding:0 0 80px;}
	.wedding-head-content	{ padding:40px 0 120px;}

	/* 魅力 */
	.wedding-miryokus	{ padding:0 8%;}
	.wedding-miryokus:before	{ top:-100px;}
	.wedding-miryokus .wrapper	{ padding:60px 0;}
	.wedding-miryokus .section-header .section-title span	{ width:112px;}
	.wedding-miryokus .miryoku	{ 
		padding:0 0 60px;
		display:flex; flex-flow:row-reverse wrap; justify-content:space-between; align-items:center;
	}
	.wedding-miryokus .miryoku .gallery	{ 
		padding:0; width:64%;
		display:flex; flex-flow:row wrap; justify-content:space-between;
	}
	.wedding-miryokus .miryoku .gallery figure	{ margin:0; width:50%;}
	.wedding-miryokus .miryoku .gallery figure:nth-child(1),
	.wedding-miryokus .miryoku .gallery figure:nth-child(2)	{ margin:0;}
	.wedding-miryokus .miryoku .content	{ width:33%;}
	.wedding-miryokus .miryoku .miryoku-title	{ font-size:1.7rem;}
	.wedding-miryokus .miryoku p	{ font-size:1.3rem;}

	/* 式次第 */
	.wedding-shikishidai	{ padding:0 10%;}
	.wedding-shikishidai:before	{ width:75%;}
	.wedding-shikishidai .wrapper	{ padding:100px 0;}

	/* プラン */
	.wedding-plans	{ padding:0 10%;}
	.wedding-plans .wrapper	{ 
		padding:60px 0;
		display:flex; flex-flow:row-reverse wrap; justify-content:space-between; align-items:flex-start;
	}
	.wedding-plans .section-header	{ width:25%; flex-flow:column wrap; align-items:center; padding:0;}
	.wedding-plans .section-header .section-title span	{ width:112px;}
	.wedding-plans .section-header p	{ writing-mode:vertical-rl; text-align:left;}
	
	.wedding-plans .section-content	{ padding:50px 0 0; width:60%; text-align:left;}
	.wedding-plans .plan-card .content	{ padding:0 44px 26px;}
	.wedding-plans .plan-card .plan-title	{ font-size:1.8rem;}
	.wedding-plans .plan-card .plan-price	{ font-size:1.9rem;}

}


/* 1024px <=                             */
@media screen and (min-width: 1024px) {

	.wedding-header	{ background-size:80% auto;}
	.wedding-branding	{ height:90vh;}
	.wedding-head-content	{ padding:40px 0 200px;}
	.wedding-headerwrap:after	{ width:60%;}

	/* 魅力 */
	.wedding-miryokus	{ padding:0 8%;}
	.wedding-miryokus:before	{ top:-100px; width:66%;}
	.wedding-miryokus .wrapper	{ padding:60px 0;}
	
	/* 式次第 */
	.wedding-shikishidai	{ padding:0 5%;}
	.wedding-shikishidai .wrapper	{ padding:100px 0;}
	.wedding-shikishidai ul	{ 
		display:flex; flex-flow:row-reverse wrap; justify-content:center;
	}
	.wedding-shikishidai ul li	{ 
		margin:0 10px; padding:18px 0;
		display:flex; flex-flow:column wrap; justify-content:flex-start; align-items:flex-end;
	}
	.wedding-shikishidai ul li:before	{ border:0;}
	.shikishidai .shikishidai-title	{ 
		position:relative; margin:0 0 0.8em; padding:0 0.2em 0 0; width:2.4rem; height:7em; 
		color:#AB9447; writing-mode:vertical-rl;
	}
	.shikishidai .shikishidai-title:before	{ position:absolute; bottom:0; left:0.6em; content:''; width:0; height:2.5em; border-left:1px solid rgba(172,148,71,.5);}
	.shikishidai li:first-child h4:before,
	.shikishidai li:last-child h4:before	{ height:4.5em;}
	.shikishidai li:nth-child(4) h4:before	{ height:3.5em;}
	.shikishidai li:nth-child(9) h4:before	{ height:1.5em;}
	.shikishidai p	{ margin:0; padding:0; width:auto; line-height:2.0; writing-mode:vertical-rl;}

	/* プラン */
	.wedding-plans	{ padding:0 8%;}
	.wedding-plans .wrapper	{ padding:60px 0;}
	.wedding-plans .section-header	{ width:25%; flex-flow:row-reverse wrap; justify-content:space-around; align-items:flex-start;}
	.wedding-plans .section-header p	{ padding-top:55px;}
	.wedding-plans .section-content	{ padding:50px 0 0; width:70%;}
	.wedding-plans .plan-cards	{
		display:flex; flex-flow:row-reverse wrap; justify-content:space-between; align-items:stretch;
	}
	.wedding-plans .plan-card	{ width:46%;}
	.wedding-plans .plan-card .content	{ padding:0 24px 26px;}
	.wedding-plans .plan-card hgroup	{ flex-flow:row wrap;}
	.wedding-plans .plan-card .plan-title	{ width:100%; font-size:1.6rem;}
	.wedding-plans .plan-card .plan-price	{ width:100%; font-size:1.8rem;}
	.wedding-plans .plan-card ul li	{ font-size:1.3rem;}


}


/* 1280px <=                             */
@media screen and (min-width: 1280px) {

	.wedding-branding-title span	{ width:100px;}
	.wedding-lead p	{ font-size:1.5rem; line-height:2.4;}
	.wedding-head-content:before	{ width:260px; height:260px;}

	.wedding-miryokus .wrapper	{ 
		padding:60px 0;
		display:flex; flex-flow:row-reverse wrap; justify-content:space-between; align-items:flex-start;
	}
	.wedding-miryokus .section-header	{ width:15%; display:flex; justify-content:center;}
	.wedding-miryokus .section-content	{ width:75%; padding-top:calc(60px + 60px);}
	.wedding-miryokus .miryoku .miryoku-title	{ font-size:2.1rem;}
	.wedding-miryokus .miryoku p	{ font-size:1.4rem;}
	.wedding-miryokus .miryoku .gallery	{ width:64%;}
	.wedding-miryokus .miryoku .content	{ width:30%;}

	.wedding-shikishidai	{ padding:0 8%;}
	.wedding-shikishidai .wrapper	{ 
		padding:180px 0 120px;
		display:flex; flex-flow:row-reverse wrap; justify-content:space-between; align-items:flex-start;
	}
	.wedding-shikishidai .section-header	{ width:15%; display:flex; justify-content:center;}
	.wedding-shikishidai .section-content	{ width:85%; padding-top:20px;}
	.wedding-plans .plan-card .plan-title	{ width:auto;}
	.wedding-plans .plan-card .plan-price	{ width:auto;}
	.wedding-shikishidai ul li	{ margin:0 12px;}



}

/* 1440px <=                             */
@media screen and (min-width: 1440px) {

	.wedding-branding-title span	{ width:120px;}
	.wedding-heading p span	{ margin-left:20px; margin-right:20px; width:24px;}
	.wedding-lead	{ gap:40px;}
	.wedding-lead p	{ font-size:1.6rem; line-height:3.0;}
	.wedding-head-content:before	{ width:320px; height:320px;}
	.wedding-miryokus:before	{ top:-160px;}
	.wedding-miryokus .section-header .section-title span	{ width:124px;}
	.wedding-shikishidai .section-header .section-title	{ padding:54px 16px;}
	.wedding-shikishidai .section-header .section-title span	{ width:28px;}
	.wedding-shikishidai .section-content	{ width:85%; padding-top:40px;}
	.wedding-shikishidai ul li	{ margin:0 16px;}
	.wedding-plans .wrapper	{ padding:100px 0;}
	.wedding-plans .section-header .section-title span	{ width:124px;}
	.wedding-plans .section-header p	{ padding-top:60px; font-size:1.5rem; line-height:2.8;}
	.wedding-plans .section-content	{ padding:60px 0 0;}
	.wedding-plans .plan-card hgroup	{ flex-flow:row wrap;}
	.wedding-plans .plan-card .plan-title	{ width:auto; font-size:1.8rem;}
	.wedding-plans .plan-card .plan-price	{ width:auto; font-size:2.0rem;}
	.wedding-plans .plan-card ul li	{ font-size:1.4rem;}

}

.translatey	{ opacity:0;}
.translatey.show	{ animation:translatey 0.8s ease-in-out 0s 1 normal forwards;}
@keyframes translatey	{
	0%	{ transform:translateY(40px); opacity:0;}
	100%{ transform:translateY(0); opacity:1;}
}
