@charset "UTF-8";

/**
 * 全体
----------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Cinzel&display=swap');
:root{
	
	/* 配色 */
	--main:rgb(48,150,147);
	--sub:rgb(243,152,0);
	--black:rgb(69,45,49);
	--black:rgb(69,45,49);
	--pink:rgb(238,135,180);
	--orange:rgb(243,152,0);
	--green:rgb(0,153,68);
	--teal:rgb(48,150,147);
	--jetblack:rgb(0,0,0);
	
	--main9:rgb(68,160,157);
	--sub9:rgb(244,162,25);
	--black9:rgb(87,66,69);
	--black9:rgb(87,66,69);
	--pink9:rgb(239,147,187);
	--orange9:rgb(244,162,25);
	--green9:rgb(25,163,86);
	--teal9:rgb(68,160,157);
	--jetblack9:rgb(25,25,25);
	
	--main8:rgb(89,171,168);
	--sub8:rgb(245,172,51);
	--black8:rgb(106,87,90);
	--black8:rgb(106,87,90);
	--pink8:rgb(241,159,195);
	--orange8:rgb(245,172,51);
	--green8:rgb(51,173,105);
	--teal8:rgb(89,171,168);
	--jetblack8:rgb(51,51,51);
	
	--main7:rgb(110,181,179);
	--sub7:rgb(246,182,76);
	--black7:rgb(124,108,110);
	--black7:rgb(124,108,110);
	--pink7:rgb(243,171,202);
	--orange7:rgb(246,182,76);
	--green7:rgb(76,183,124);
	--teal7:rgb(110,181,179);
	--jetblack7:rgb(76,76,76);
	
	--main6:rgb(130,192,190);
	--sub6:rgb(247,193,101);
	--black6:rgb(143,129,131);
	--black6:rgb(143,129,131);
	--pink6:rgb(244,183,210);
	--orange6:rgb(247,193,101);
	--green6:rgb(101,193,142);
	--teal6:rgb(130,192,190);
	--jetblack6:rgb(101,101,101);
	
	--main5:rgb(151,202,201);
	--sub5:rgb(249,203,127);
	--black5:rgb(162,150,152);
	--black5:rgb(162,150,152);
	--pink5:rgb(246,195,217);
	--orange5:rgb(249,203,127);
	--green5:rgb(127,204,161);
	--teal5:rgb(151,202,201);
	--jetblack5:rgb(127,127,127);
	
	--main4:rgb(172,213,211);
	--sub4:rgb(250,213,153);
	--black4:rgb(180,171,172);
	--black4:rgb(180,171,172);
	--pink4:rgb(248,207,225);
	--orange4:rgb(250,213,153);
	--green4:rgb(153,214,180);
	--teal4:rgb(172,213,211);
	--jetblack4:rgb(153,153,153);
	
	--main3:rgb(192,223,222);
	--sub3:rgb(251,224,178);
	--black3:rgb(199,192,193);
	--black3:rgb(199,192,193);
	--pink3:rgb(249,219,232);
	--orange3:rgb(251,224,178);
	--green3:rgb(178,224,198);
	--teal3:rgb(192,223,222);
	--jetblack3:rgb(178,178,178);
	
	--main2:rgb(213,234,233);
	--sub2:rgb(252,234,204);
	--black2:rgb(217,213,213);
	--black2:rgb(217,213,213);
	--pink2:rgb(251,231,240);
	--orange2:rgb(252,234,204);
	--green2:rgb(204,234,217);
	--teal2:rgb(213,234,233);
	--jetblack2:rgb(204,204,204);
	
	--main1:rgb(234,244,244);
	--sub1:rgb(253,244,229);
	--black1:rgb(236,234,234);
	--black1:rgb(236,234,234);
	--pink1:rgb(253,243,247);
	--orange1:rgb(253,244,229);
	--green1:rgb(229,244,236);
	--teal1:rgb(234,244,244);
	--jetblack1:rgb(229,229,229);
	
	--gray:#ccc;
	--silver:#f5f5f5;
	--none:rgba(0,0,0,0);
	
	--gap:clamp(
	
		/* 【最小余白】SP時の余白(半分) */
		calc(1px * var(--gap-base) / 2),
		
		/* 【推奨余白】SP時の余白(半分)相当の画面比値 */
		calc(var(--gap-base) / var(--tab) * 100vw),
		
		/* 【最大余白】PC時の余白 */
		calc(1px * var(--gap-base))
	
	);
}

/* ボディ */
body{
	font-family:var(--mincho);
	font-size:var(--s);
	letter-spacing:.1em;
}

/**
 * プロトタイプ
----------------------------------------------------------------*/
/* reCATPCHA */
.grecaptcha-badge{ visibility:hidden; }

.teal{ color:var(--main); }

/* 背景 */
.bg.-bridal{ background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/bg/bg_bridal.png) no-repeat left top; }
.bg.-teal1{ background-color:var(--main1); }
.bg.-darkyellow{ background-color:#e0c1a7; }

/* 大テキスト */
.bigtext{
	font-size:var(--xxl);
	font-weight:bold;
	text-align:center;
	line-height:1.4;
	padding:20px;
}
.bigtext > small{ font-size:var(--xl); }
.bigtext.-normal{ font-weight:normal; }

/* 画像アイコン */
.imageicon{
	width:1.5em;
	display:inline-block;
	margin-right:.2em;
	vertical-align:middle;
}

/* ハッシュタグリスト */
.hashtaglist{ margin:20px 0; }
.hashtaglist > li{
	position:relative;
	padding-left:1.2em;
}
.hashtaglist > li::before{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/hashtag.png) no-repeat center center / contain;
	height:1em;
	width:1em;
	content:'';
	display:block;
	position:absolute;
	left:0;
	top:0.4em;
}

/* ドロップダウンメニュー */
.dropdown::after{
	content:'▼';
	font-size:60%;
	vertical-align:middle;
	margin:0 4px;
}

/* メインビジュアル */
.mvis > img{
	max-width:auto;
	width:100%;
}
.mvis > img:nth-child(1){ display:block; }
.mvis > img:nth-child(2){ display:none; }
.mvis > img:nth-child(3){ display:none; }
@media screen and (max-width: 1200px){
	.mvis > img:nth-child(1){ display:none; }
	.mvis > img:nth-child(2){ display:block; }
	.mvis > img:nth-child(3){ display:none; }
}
@media screen and (max-width: 768px){
	.mvis > img:nth-child(1){ display:none; }
	.mvis > img:nth-child(2){ display:none; }
	.mvis > img:nth-child(3){ display:block; }
}

/* ボタン */
.buttons > *{ position:relative; }
.buttons > *::before{
	content:'';
	height:100%;
	width:10px;
	background:rgba(0,0,0,.2);
	position:absolute;
	display:block;
	top:0;
	left:0;
	clip-path:polygon(0 0, 0% 100%, 100% 0);
}
.buttons.-big > *{ font-size:var(--l); }
.buttons.-wide > *{ flex-basis:400px; }
.buttons.-min{ margin:20px 0 10px; }
.buttons.-min > *{
	flex-basis:180px;
	padding:6px 10px;
	font-size:var(--xs);
	letter-spacing:.1em;
}
.buttons.-orange > a{ background:var(--orange); }
.buttons.-orange > a:hover{ background:rgb(240,131,0); }
.buttons > .disabled,
.buttons > .disabled:hover{ background:var(--jetblack3); }
@media screen and (max-width: 768px)
{
	.buttons.-wide > *{ flex-basis:100%; }
}

/* 見出し2 */
.h2{ font-size:var(--xxl); }
.h2::before,
.h2::after{
	content:'';
	display:block;
	width:100px;
}
.h2::before{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/theme/h2_top.png) no-repeat center center / contain;
	height:60px;
}
.h2::after{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/theme/h2_bottom.png) no-repeat center center / contain;
	height:40px;
}
.h2 > small{
	font-size:var(--m);
	letter-spacing:.1em;
	font-family:"Cinzel",serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
}
.h2.-bridal::before{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/theme/h2bridal_top.png) no-repeat center center / contain;
	width:280px;
	height:80px;
}
.h2.-bridal::after{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/theme/h2bridal_bottom.png) no-repeat center center / contain;
	width:280px;
	height:80px;
}
.h2.-bridal > small{ color:var(--sub); }

/* 見出し3 */
.h3{
	font-size:var(--xl);
	color:var(--main);
	font-weight:bold;
	margin-bottom:20px;
	margin-top:0;
}

/* 見出し4 */
.h4{
	font-size:var(--m);
	color:var(--sub);
	font-weight:bold;
	margin-bottom:10px;
	border-left:4px solid var(--sub);
	padding-left:7px;
}

/* 見出し6 */
.h6{
	font-size:var(--s);
	font-weight:bold;
}

/* 丸リスト */
.circlelist > li::before{
	content:'●';
	font-size:var(--m);
}

/* 番号リスト */
.numberlist > li::before{
	content:'●';
	color:var(--green);
	font-size:var(--s);
}
.numberlist > li:nth-child(1)::before{ content:'❶'; }
.numberlist > li:nth-child(2)::before{ content:'❷'; }
.numberlist > li:nth-child(3)::before{ content:'❸'; }
.numberlist > li:nth-child(4)::before{ content:'❹'; }
.numberlist > li:nth-child(5)::before{ content:'❺'; }
.numberlist > li:nth-child(6)::before{ content:'❻'; }
.numberlist > li:nth-child(7)::before{ content:'❼'; }
.numberlist > li:nth-child(8)::before{ content:'❽'; }
.numberlist > li:nth-child(9)::before{ content:'❾'; }
.numberlist > li:nth-child(10)::before{ content:'❿'; }
.numberlist > li:nth-child(11)::before{ content:'⓫'; }
.numberlist > li:nth-child(12)::before{ content:'⓬'; }
.numberlist > li:nth-child(13)::before{ content:'⓭'; }
.numberlist > li:nth-child(14)::before{ content:'⓮'; }
.numberlist > li:nth-child(15)::before{ content:'⓯'; }
.numberlist > li:nth-child(16)::before{ content:'⓰'; }
.numberlist > li:nth-child(17)::before{ content:'⓱'; }
.numberlist > li:nth-child(18)::before{ content:'⓲'; }
.numberlist > li:nth-child(19)::before{ content:'⓳'; }
.numberlist > li:nth-child(20)::before{ content:'⓴'; }

/* ウェディングプランアイコンリスト */
.planicons{
	display:flex;
	flex-wrap:wrap;
	margin:0 -10px;
	padding:10px 0;
}
.planicons > li{ margin:5px -10px; }

/* 備考 */
.note{
	background:var(--orange1);
	padding:10px 20px 20px;
	margin-top:40px;
}
.note.-center{ text-align:center; }
.note > h3,
.note > h4,
.note > h5,
.note > h6{
	background:var(--black);
	color:white;
	text-align:center;
	padding:0 20px;
	height:36px;
	width:fit-content;
	margin-top:-46px;
	margin-left:9px;
	margin-right:9px;
	position:relative;
	font-size:var(--m);
	font-weight:bold;
	line-height:36px;
	vertical-align:middle;
	display:inline-block;
}
.note > h3::before,
.note > h4::before,
.note > h5::before,
.note > h6::before{
	content:'';
	border-top:18px solid transparent;
	border-bottom:18px solid transparent;
	border-left:9px solid transparent;
	border-right:9px solid var(--black);
	position:absolute;
	left:-18px;
	top:0;
	bottom:0;
}
.note > h3::after,
.note > h4::after,
.note > h5::after,
.note > h6::after{
	content:'';
	border-top:18px solid transparent;
	border-bottom:18px solid transparent;
	border-left:9px solid var(--black);
	border-right:9px solid transparent;
	position:absolute;
	right:-18px;
	top:0;
	bottom:0;
}
.note.-company{ background:var(--main1); }
.note.-company > h3,
.note.-company > h4,
.note.-company > h5,
.note.-company > h6{ background:var(--main); }
.note.-company > h3::before,
.note.-company > h4::before,
.note.-company > h5::before,
.note.-company > h6::before{ border-right-color:var(--main); }
.note.-company > h3::after,
.note.-company > h4::after,
.note.-company > h5::after,
.note.-company > h6::after{ border-left-color:var(--main); }
.note.-center > *{ text-align:left; }
.lightnote{
	background:var(--orange1);
	padding:10px 15px;
	margin-top:20px;
	font-size:var(--xs);
}

/* 講座CTA */
.seminar_contactbox{
	max-width:960px;
	margin:0 auto;
}
.seminar_contactbox > div > a{
	max-width:400px;
}
.seminar_contactbox > div > a:hover{ opacity:.6; }

/* おすすめ商品 */
.recommend{
	padding-top:40px;
	background:var(--main1);
}
.recommend > .base > h2{
	font-size:var(--xxl);
	font-weight:bold;
	margin:0;
	padding:0 20px;
	letter-spacing:.1em;
	text-align:center;
}

/* タグリスト */
.tags > li{
	display:inline-block;
	background:var(--sub);
	color:white;
	font-size:90%;
	padding:0px 14px;
	border-radius:1em;
	line-height:1.4;
}
.tags > li.-orange{ background:var(--orange); }
.tags > li.-teal{ background:var(--teal); }
.tags > li.-green{ background:var(--green); }
.tags > li.-pink{ background:var(--pink); }
.tags > li.-black{ background:var(--black); }

/* カテゴリリスト */
.catlist > li{ margin-bottom:6px; }
.catlist > li > a{
	height:100%;
	padding:10px;
	border-left:6px solid var(--main);
	background:var(--main1);
	border-right:10px solid white;
	display:flex;
	flex-direction:column;
	justify-content:center;
}
.catlist > li > a:hover{ background:var(--main2); }

/* ページャー */
#pager{
	padding:20px;
	text-align:center;
}
#pager > ul > li{
	display:inline-block;
	margin:4px 0;
}
#pager > ul > li > *{
	border:1px solid var(--black);
	padding:5px 8px;
	display:inline-block;
}
#pager > ul > li > span{
	background:var(--main2);
	border:1px solid var(--main5);
	color:var(--main);
}
#pager > ul > li > a:hover{ background:var(--main2); }

/* サムネイル */
.thumb > img{
	aspect-ratio:3 / 2;
	object-fit:cover;
}

/**
 * ヘッダー
----------------------------------------------------------------*/
/* ヘッドカード */
#hlogo{
	width:290px;
	display:block;
	position:absolute;
	top:20px;
	left:20px;
}
#hcard{
	background:white;
	padding:20px;
}
#hcontact{
	width:300px;
	background:var(--black);
	display:block;
}
#hcontact:hover{ background:var(--main); }
#htel{
	width:300px;
	display:block;
}
@media screen and (max-width: 1024px){
	#hcard{
		background:none;
		padding:0;
	}
	#hcontact{ background:var(--main); }
	#hcontact:hover{ background:var(--main8); }
}
@media screen and (min-width: 1024px){
	#pnav{
		display:flex;
		gap:10px 20px;
		flex-wrap:wrap;
		flex-direction:row-reverse;
		align-items:flex-end;
		margin-left:310px;
	}
	#pnav > ul > li{
		display:inline;
		margin:0 5px;
	}
	#pnav > ul > li > a{
		font-weight:bold;
		font-size:var(--m);
	}
	#pnav > ul > li > a:hover{ color:var(--main); }
	#pnav > header{
		display:flex;
		gap:20px;
		flex-wrap:wrap;
	}
}
@media screen and (max-width: 1024px){
	body.clicked > header > #sphead,
	body.clicked > header > #sphead,
	body.clicked > :not(header){
		-ms-filter:blur(10px);
		filter:blur(10px);
	}
	#spmenu{
		padding:80px 20px 60px;
		background:rgba(213,234,233,0.5);
	}
	#spmenu > *{
		max-width:640px;
		margin:0 auto;
	}
	#pnav > ul{ background:rgba(255,255,255,.5); }
	#pnav > ul::before{
		content:'MENU';
		letter-spacing:.1em;
		font-size:var(--m);
		background:var(--main);
		color:white;
		display:block;
		text-align:center;
		padding:5px 10px;
		border-radius:8px 8px 0 0;
	}
	#pnav > ul > li > a{
		color:var(--black);
		display:block;
		padding:4px 10px;
		font-size:min(3vw, 16px);
		border-top:1px solid var(--main);
		border-left:1px solid var(--main);
		border-right:1px solid var(--main);
		letter-spacing:0;
	}
	#pnav > ul > li > a:hover{ background:var(--main3); }
	#pnav > header{
		display:flex;
		gap:20px;
		flex-wrap:wrap;
		justify-content:space-between;
		margin-bottom:20px;
	}
	#pnav > header > *{ width:calc(50% - 10px); }
}

/* モバイルヘッド */
@media screen and (max-width: 1024px){
	#sphead{
		height:60px;
		background:white;
	}
	#hlogo{
		width:232px;
		top:0;
		left:0;
		padding:6px;
	}
	#open,#close{
		width:60px;
		padding:10px;
	}
	#close{
		position:fixed;
		top:0;
		right:15px;
		z-index:20000;
		background:rgba(255,255,255,.8);
	}
	#close:hover{ background:white; }
}

/* グローバルナビゲーション */
@media screen and (min-width: 1024px){
	#gnav{
		background:var(--main);
		color:white;
		font-weight:bold;
		font-size:var(--s);
		letter-spacing:.2em;
		display:flex;
	}
	#gnav > header > div{
		background:var(--black);
		height:100%;
		display:flex;
		justify-content:center;
		align-items:center;
		width:200px;
	}
	#gnav > header > div:hover{
		background:var(--black8);
		cursor:pointer;
	}
	#gnav > ul{
		flex-wrap:wrap;
		gap:10px 0;
		padding:6px 0;
	}
	#gnav > ul > li{ position:relative; }
	#gnav > ul > li:not(:last-child){ border-right:1px solid var(--main5); }
	#gnav > ul > li > a{
		padding:0 10px;
		margin:0 10px;
	}
	#gnav > ul > li > a:hover{ opacity:.7; }
	#gnav > ul > li > a:hover + ul,
	#gnav > ul > li > ul:hover{ display:block; }
	#gnav > ul > li > ul{
		display:none;
		position:absolute;
		padding-top:6px;
		width:200px;
		z-index:10001;
	}
	#gnav > ul > li > ul > li{ background:var(--main8); }
	#gnav > ul > li > ul > li:not(:last-child){ border-bottom:1px solid var(--main5); }
	#gnav > ul > li > ul > li > a{
		display:block;
		padding:6px 10px;
		font-size:var(--s);
	}
	#gnav > ul > li > ul > li > a:hover{ background:var(--sub); }
}
@media screen and (max-width: 1024px){
	#gnav{
		border-radius:0 0 8px 8px;
		overflow:hidden;
	}
	#gnav > header > div{
		color:white;
		background:var(--sub);
		font-size:min(4vw, 20px);
		padding:10px;
		border-bottom:1px solid white;
		text-align:center;
		cursor:pointer;
	}
	#gnav > header > div:hover{ background:var(--sub8); }
	#gnav > ul > li > a{
		background:var(--main);
		font-size:min(4vw, 20px);
		padding:10px;
	}
	#gnav > ul > li:not(:last-child) > a{ border-bottom:1px solid white; }
	#gnav > ul > li > a:hover{ background:var(--main8); }
	#gnav > ul > li > ul{
		display:flex;
		flex-wrap:wrap;
		flex-direction:row;
		border-left:1px solid var(--main);
		border-right:1px solid var(--main);
		margin-top:-1px;
		background:rgba(255,255,255,.5);
	}
	#gnav > ul > li > ul > li{ width:50%; }
	#gnav > ul > li > ul > li:nth-child(2n - 1){ border-right:1px solid var(--main); }
	#gnav > ul > li > ul > li > a{
		display:block;
		padding:4px 10px;
		font-size:min(3vw, 16px);
		border-bottom:1px solid var(--main);
		letter-spacing:0;
	}
	#gnav > ul > li > ul > li > a:hover{ background:var(--main3); }
	#gnav > ul > li > ul > li:last-child > a,
	#gnav > ul > li > ul > li:nth-child(2n - 1):nth-last-child(2) > a{ border-bottom:none; }
}
@media screen and (max-width: 620px){
	#gnav > header > ul > li{
		width:100%;
		padding:10px;
	}
	#gnav > header > ul > li{ padding:10px; }
}

/* 一覧 */
body.clicked{ overflow:hidden; }
#gnav > header > ul{
	display:none;
	position:absolute;
	left:0;
	right:0;
	z-index:10000;
	background:rgba(250,250,250,.9);
	color:var(--black);
	flex-wrap:wrap;
	padding:10px;
}
#gnav > header > div.clicked + ul{ display:flex; }
#gnav > header > ul > li{
	width:300px;
	padding:20px;
}
#gnav > header > ul > li > a{
	font-size:var(--m);
	margin-bottom:15px;
	display:inline-block;
	letter-spacing:0;
}
#gnav > header > ul > li > ul > li > a{
	font-weight:normal;
	font-size:var(--s);
	letter-spacing:0;
	overflow:hidden;
	display:box;
	display:-webkit-box;
	text-overflow:ellipsis;
	display:block;
}
#gnav > header ul > li > a:hover{ color:var(--sub); }
@media screen and (max-width: 1530px){
	#gnav > header > ul > li{ width:calc(100% / 4); }
}
@media screen and (max-width: 1220px){
	#gnav > header > ul > li{ width:calc(100% / 3); }
}
@media screen and (max-width: 1024px){
	#gnav > header > ul{
		position:static;
		background:rgba(255,255,255,.5);
		border-right:1px solid var(--main);
		border-left:1px solid var(--main);
	}
	#gnav > header > ul > li{ width:calc(100% / 2); }
}
@media screen and (max-width: 768px)
{
	#gnav > header > ul > li{
		width:100%;
		padding:10px;
	}
	#gnav > header > ul > li{ padding:10px; }
	#gnav > header > ul > li > a{
		font-size:min(5vw, 20px);
		margin-bottom:min(3vw, 12px);
	}
	#gnav > header > ul > li > ul > li > a{ font-size:min(3vw, 16px); }
}

/**
 * フッター
----------------------------------------------------------------*/
/* 会社カード */
#comcard{ padding:60px 0; }
#comcard > .flex > figure > img{ max-width:380px; }
#comcard > .flex > div > address{ padding:20px 0; }
#ftel{
	max-width:300px;
	display:inline-block;
}
#fcontact{
	display:inline-block;
	width:280px;
	background:var(--black);
}
#fcontact:hover{ background:var(--main); }
@media screen and (max-width: 768px)
{
	#comcard{ padding:30px 0; }
	#comcard > .flex > div{ text-align:center; }
	#comcard > .flex > figure > img{ max-width:100%; }
	#fcontact{ width:100%; }
}

/* フッターナビ */
#fnav{
	background:var(--main1);
	padding:60px 0;
}
#fnav ul > li > a{
	font-size:var(--m);
	font-weight:bold;
	margin-bottom:10px;
}
#fnav ul > li:not(.sub) > a{ display:inline-block; }
#fnav ul > li > a:hover{ color:var(--sub); }
#fnav ul > li.sub > a{
	font-size:var(--s);
	font-weight:normal;
}
@media screen and (max-width: 768px)
{
	#fnav{ padding:30px 0; }
	#fnav > .flex{ margin:10px; }
}

/* ソーシャルナビ */
#snav > ul > li > a{ display:block; }
#snav > ul > li > a > figure{ position:relative; }
#snav > ul > li > a > figure > figcaption{
	transition:color 0.0s;
	width:100%;
	padding:10px 10px 10px 44px;
	line-height:20px;
	letter-spacing:0;
}
#snav > ul > li > a:hover > figure > figcaption{ color:var(--sub); }
#snav > ul > li > a > figure > img{
	width:40px;
	position:absolute;
	top:0;
	left:0;
}
#snav > ul > li > a > figure > img:nth-child(2){ opacity:0; }
#snav > ul > li > a:hover > figure > img:nth-child(1){ opacity:0; }
#snav > ul > li > a:hover > figure > img:nth-child(2){ opacity:1; }
@media screen and (max-width: 512px){
	#snav > ul > li > a > figure > figcaption{
		padding:5px 5px 5px 34px;
		line-height:20px;
	}
	#snav > ul > li > a > figure > img{ width:30px; }
}

/* 著作権表記 */
#cr{
	background:var(--main);
	color:white;
	text-align:center;
	padding:10px 20px;
	font-size:var(--s);
}

/**
 * コンテンツ
----------------------------------------------------------------*/
#pan{ font-size:var(--xxs); }
#pan > ol > li{ display:inline-block; }
#pan > ol > li:not(:last-child)::after{ content:'>'; }
#pagename{
	padding:40px 20px;
	background:var(--main1);
	text-align:center;
}
#pagename > p{
	text-align:center;
	font-size:var(--m);
}
#pagename > h1{
	font-size:var(--xl);
	font-weight:bold;
}
#bloglist > ul{ border-width:var(--gap-half); }
#bloglist > ul > li{
	width:240px;
	letter-spacing:0;
}
#bloglist > ul > li > a > time{
	margin-top:5px;
	color:var(--main);
	display:block;
}
#bloglist > ul > li > a > h3{ text-align:justify; }
#bloglist > ul > li > a > figure > img{ border-radius:8px; }
#seminarlist > ul{ border-width:var(--gap-half); }
#seminarlist > ul > li{
	width:300px;
	letter-spacing:0;
}
#seminarlist > ul > li > a > h3{ text-align:justify; }
#seminarlist > ul > li > a > figure > img{ border-radius:8px; }
#seminarlist > ul > li > a > header{ margin:5px 0; }
#seminarlist > ul > li > a > header > h3{
	color:var(--main);
	font-weight:bold;
	font-size:var(--m);
}
#seminarlist > ul > li > a > .table tr:nth-child(odd) > *{ background:#f5f5f5; }

/**
 * スポット：TOP
----------------------------------------------------------------*/
/* ブライトブーケの◯つのサービス */
#spot_index_service_summary > .flex{ margin-bottom:0; }
#spot_index_services > ul{
	border-top-width:0;
	margin:0 auto;
}
#spot_index_services > ul > li{ width:300px; }
#spot_index_services > ul > li > a{
	border-radius:20px;
	display:block;
	height:calc(100% - 30px);
}
#spot_index_services > ul > li > a.note:hover{ background:var(--sub2); }
#spot_index_services > ul > li > a.note.-company:hover{ background:var(--main2); }
#spot_index_services > ul > li > a.note > header > p{
	font-weight:bold;
	letter-spacing:0;
	font-size:var(--m);
	line-height:1.4;
	margin-bottom:10px;
	text-align:center;
}
#spot_index_services > ul > li > a.note > header > h3{
	color:var(--green);
	font-weight:bold;
	letter-spacing:0;
	font-size:var(--l);
	height:4em;
	text-align:center;
	padding:10px 0;
	line-height:1.4;
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:center;
}
#spot_index_services > ul > li > a.note > figure{ margin-bottom:10px; }
#spot_index_services > ul > li > a.note.-company > header > h3{ color:var(--main); }
#spot_index_services > ul > li > a.note > p{ font-size:var(--xs); }

/**
 * スポット：ブライダルプロデュース
----------------------------------------------------------------*/
#spot_bridal_flow{ padding:1px 0; }
#spot_bridal_flow > ol > li:not(:last-child)::after{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/arrow_bottom.png) no-repeat center center / contain;
	width:40px;
	height:40px;
	content:'';
	display:block;
	margin:0 auto;
}
#spot_bridal_flow > ol > li > h3{
	position:relative;
	text-align:center;
	width:fit-content;
	margin:0 auto;
	padding-left:40px;
	font-size:var(--m);
}
#spot_bridal_flow > ol > li > h3::before{
	background:no-repeat center center / contain;
	content:'';
	display:inline-block;
	width:40px;
	height:40px;
	position:absolute;
	left:0;
	top:-10px;
}
#spot_bridal_flow > ol > li:nth-child(1) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/01.png); }
#spot_bridal_flow > ol > li:nth-child(2) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/02.png); }
#spot_bridal_flow > ol > li:nth-child(3) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/03.png); }
#spot_bridal_flow > ol > li:nth-child(4) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/04.png); }
#spot_bridal_flow > ol > li:nth-child(5) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/05.png); }
#spot_bridal_flow > ol > li:nth-child(6) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/06.png); }
#spot_bridal_flow > ol > li:nth-child(7) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/07.png); }
#spot_bridal_flow > ol > li:nth-child(8) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/08.png); }
#spot_bridal_flow > ol > li:nth-child(9) > h3::before{ background-image:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/bridalnumbers/08.png); }
#spot_bridal_flow > ol > li > p{
	font-size:var(--xs);
	text-align:center;
}
#spot_bridal_iseshima{ padding:40px 0; }

/**
 * スポット：講座LP
----------------------------------------------------------------*/
/* 実績 */
.cp_achievements > h2,
.cp_achievements > h3{
	font-size:var(--xxxl);
	line-height:1.4;
	font-weight:bold;
	text-align:center;
	padding:20px;
}
@media screen and (max-width: 960px)
{
	.cp_achievements > h2,
	.cp_achievements > h3{ font-size:var(--xxl); }
}

/* リードコピー */
.cp_leadcopy{ overflow:hidden; }
.cp_leadcopy > div{
	display:flex;
	gap:5px;
	padding:var(--gap);
	position:relative;
}
.cp_leadcopy > div > div{ width:100%; }
.cp_leadcopy > div > div > h2{
	font-size:var(--xxl);
	font-weight:bold;
	letter-spacing:.1em;
	line-height:1.3;
	margin-bottom:.7em;
}
.cp_leadcopy > div > div > h2 > small{
	font-size:var(--xl);
	display:block;
	color:var(--green);
	margin-bottom:.5em;
}
.cp_leadcopy > div > div > p{}
.cp_leadcopy > div > figure{ width:370px; }
@media screen and (max-width: 960px)
{
	.cp_leadcopy > div{ display:block; }
	.cp_leadcopy > div > figure{
		position:absolute;
		z-index:-1;
		right:0;
		top:0;
		opacity:.2;
		width:250px;
	}
}

/* このような悩みを抱えていませんか？ */
.cp_troubles > h2{
	font-size:var(--xl);
	font-weight:bold;
	color:white;
	background:#a3272d;
	text-align:center;
	max-width:860px;
	border-radius:10px;
	position:relative;
	margin:0 auto -40px;
	letter-spacing:.1em;
	padding:10px;
}
.cp_troubles > h2::after{
	content:'';
	display:block;
	width:0;
	position:absolute;
	bottom:-20px;
	left:0;
	right:0;
	margin:0 auto;
	border:10px solid transparent;
	border-top-color:#a3272d;
}
.cp_troubles > div{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/bg/bg_troubles.png) no-repeat center top / cover;
	padding:60px 20px 40px;
	color:white;
	font-size:var(--m);
	font-weight:bold;
}
.cp_troubles > div > .flex{
	gap:var(--gap-half);
	padding:40px 0;
}
.cp_troubles > div section{
	max-width:fit-content;
	margin:0 auto;
	padding:var(--gap);
}
.cp_troubles > div > .flex > section{
	padding:0;
	margin:0;
}
.cp_troubles > div section > h3{
	font-size:var(--xl);
	margin-bottom:.5em;
}
.cp_troubles > div section > ul{}
.cp_troubles > div section > ul > li{
	position:relative;
	padding-left:35px;
}
.cp_troubles > div section > ul > li::before{
	content:'';
	display:block;
	width:30px;
	height:30px;
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/icons/check.png) no-repeat center center / contain;
	position:absolute;
	left:0;
}
.cp_troubles > div section > ul > li:not(:last-child){ margin-bottom:10px; }
.cp_troubles > p{
	text-align:center;
	padding:var(--gap);
	color:var(--green);
	font-size:var(--xxl);
	font-weight:bold;
}
.cp_troubles > p > strong{
	color:var(--orange);
	font-size:var(--xxxl);
	text-decoration:underline;
	padding-top:20px;
}
@media screen and (max-width: 960px)
{
	.cp_troubles > h2{
		max-width:auto;
		margin:0 20px -40px;
	}
	.cp_troubles > p > strong{ font-size:var(--xl); }
}
@media screen and (max-width: 768px)
{
	.cp_troubles > h2{ font-size:var(--l); }
	.cp_troubles > div{ font-size:var(--s); }
	.cp_troubles > div section{ padding:0; }
}

/* ◯◯◯◯とは？ */
cp_what > .flex > div > img{
	max-width:120px;
	margin:0;
	margin-top:20px;
}

/* このような方が受講されています */
.cp_targets > .flex > section > h3{
	background:var(--green);
	color:white;
	font-size:var(--m);
	padding:6px 10px;
}
.cp_targets > .flex > section > p{ margin-top:10px; }

/* 選べるコース */
.cp_courses > .base > section > div{ position:relative; }
.cp_courses > .base > section > div::before{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/bg/bg_bouquet.png) no-repeat center center / contain;
	content:'';
	display:block;
	width:200px;
	height:200px;
	position:absolute;
	top:-30px;
	left:-60px;
	z-index:-1;
}
.cp_courses > .base > section > div > header{ font-size:var(--m); }

/* 講師紹介 */
.cp_teacher > .base > .flex > div > header > h3{
	font-size:var(--xxxl);
	font-weight:bold;
	line-height:1.4;
}
.cp_teacher > .base > .flex > div > header > h3 > small{
	font-size:var(--xl);
	color:var(--green);
	display:block;
}
.cp_teacher > .base > .flex > div > p{ margin-bottom:20px; }
.cp_teacher > .base > .alone{
	padding-top:0;
	padding-bottom:0;
}
.cp_teacher > .base > .alone > .note > div{
	display:flex;
	gap:15px;
	letter-spacing:0;
}
.cp_teacher > .base > .alone > .note > div > figure{ min-width:150px; }
.cp_teacher > .base > .alone > .note > div > div{ width:100%; }
.cp_teacher > .base > .alone > .note > div > div > h5{
	font-size:var(--m);
	font-weight:bold;
	line-height:1.4;
	color:var(--green);
}
.cp_teacher > .base > .alone > .note > div > div > p > .r{
	display:block;
	font-size:var(--xxs);
}
.cp_teacher > .base > .alone > .note > div > footer{
	min-width:300px;
	font-size:var(--xs);
}
.cp_teacher > .base > .alone > .note > div > footer > h5{ margin-top:0; }
.cp_teacher > .base > .alone > .note > div > footer > .buttons{ margin:15px 0 0; }
.cp_teacher > .base > .flex > section > h3{
	font-size:var(--m);
	font-weight:bold;
	margin-bottom:10px;
}
.cp_teacher > .base > .flex > section > p{ font-size:var(--xxs); }
@media screen and (max-width: 768px)
{
	.cp_teacher > .base > .alone > .note > div{ flex-direction:column; }
	.cp_teacher > .base > .alone > .note > div > footer{ min-width:0; }
}

/* CTA */
.cp_cta{
	background:url(https://bright-bouquet.jp/wp-content/themes/brightbouquet/images/interface/bg/bg_cta.png) no-repeat center center / cover;
	color:white;
	padding:30px 20px;
	text-align:center;
}
.cp_cta > div > header > h2{
	font-size:var(--xxl);
	font-weight:bold;
}
.cp_cta > div > header > p{
	text-align:center;
	font-size:var(--m);
}
.cp_cta > div > p{
	letter-spacing:0;
	text-align:center;
}
.cp_cta > div > .buttons{ margin:20px 0 0; }

/* アクセス */
.cp_access address{
	display:flex;
	justify-content:center;
	align-items:center;
	flex-direction:column;
}

/* メッセージ */
.cp_message{ background:#eceef5; }
.cp_message > .base > h2{
	text-align:center;
	padding:40px 20px 0;
}
.cp_message > .base > .flex > div{ padding-bottom:40px; }
@media screen and (max-width: 768px)
{
	.cp_message > .base > .flex > div{ padding-bottom:20px; }
	.cp_message > .base > .flex > figure{
		max-width:300px;
		margin:0 auto;
	}
}

/**
 * スポット：募集講座
----------------------------------------------------------------*/
.seminars > section.stopped{ opacity:.5; }
.seminars > section > div > header > a{ vertical-align:middle; }
.seminars > section > div > header > a:hover{ color:var(--sub); }
.seminars > section > div > header > a > .imageicon{
	width:16px;
	height:16px;
}
.seminars > section > div > .table > table > tbody > tr > th{ font-weight:normal; }
.seminars > section > div > .table > table > tbody > tr > td{
	font-weight:bold;
	font-size:var(--m);
}
.seminars > section > div > .table > table > tbody > tr > *{ vertical-align:middle; }
.seminars > section > div > .table > table > tbody > tr:nth-child(odd) > *{ background:#f5f5f5; }
.seminars > section > div > div{ margin:20px 0; }
.seminars > section > div > div > p + p{ margin-top:1em; }

/**
 * フォーム
----------------------------------------------------------------*/
/* リッチフォーム初期設定 */
.richform{

	/* 配色 */
	--black:var(--black);
	--gray:var(--gray);
	--silver:var(--silver);
	--blue:var(--sub);
	--blue-disabled:var(--sub5);
	--white:white;
	--red:crimson;
	--default-color:rgba(0,0,0,0);

}
:focus{ outline:none; }

/* 入力フォーム */
.richform input[type="text"],
.richform input[type="tel"],
.richform input[type="email"],
.richform textarea{
	background:white;
	border:1px solid #ccc !important;
}

/* ラジオボタン */
.richform .radio input[type="radio"] + span{
	background:white;
	border:1px solid #ccc;
	padding:.2em .5em;
}
.richform .radio input[type="radio"]:checked + span{
	background:var(--sub);
	color:white;
}
.richform .radio .wpcf7-list-item{ margin:0; }
.richform .radio .wpcf7-list-item:not(:first-child) input[type="radio"] + span{
	border-top-left-radius:0;
	border-bottom-left-radius:0;
}
.richform .radio .wpcf7-list-item:not(:last-child) input[type="radio"] + span{
	border-top-right-radius:0;
	border-bottom-right-radius:0;
	border-right:0;
}

/* 必須 */
.richform th{ position:relative; }
.richform th::before{
	position:absolute;
	content:'任意';
	background:var(--sub5);
	color:white;
	border-radius:4px;
	display:inline-block;
	padding:0 10px;
	font-size:12px;
	line-height:1.5;
	margin-top:6px;
}
.richform th.req::before{
	content:'必須';
	background:var(--tomato);
}

.richform th p{ padding-left:55px; }

/* 送信ボタン */
.richform .submit{ padding:40px 20px; }
.richform .submit,
.richform .submit p{ text-align:center; }
.richform input[type="submit"]{
	padding:10px 100px;
}
.richform input[type="submit"]:hover{
	background:var(--sub5);
	color:white;
}
.richform .wpcf7-spinner{
	display:block !important;
	margin:20px auto !important;
}

/* スマホ */
@media screen and (max-width: 768px){
	.richform table,
	.richform table thead,
	.richform table tbody,
	.richform table tr,
	.richform table th,
	.richform table td{ display:block; }
}

/**
 * 本文
----------------------------------------------------------------*/
/* 段落 */
.content p + p{ margin-top:10px; }

/* リンク */
.content a:not(.wp-block-button__link){ color:var(--sub); }
.content a:not(.wp-block-button__link):hover{ color:var(--main); }

/* 見出し */
.content h2,
.content h3,
.content h4,
.content h5,
.content h6{
	font-weight:bold;
	margin:10px 0;
}
.content h2{ font-size:var(--xxl); }
.content h3{ font-size:var(--xl); }
.content h4{ font-size:var(--l); }
.content h5{ font-size:var(--m); }
.content h6{ font-size:var(--s); }

/* リスト */
.content ul,
.content ol{ margin:10px 0; }
.content ul > li::before{
	content:'●';
	color:var(--sub);
}
.content ol{ counter-reset:content-ol; }
.content ol > li::before{
	content:counter(content-ol)". ";
	counter-increment:content-ol;
	color:var(--sub);
	font-weight:bold;
}

/* カラム */
.wp-block-columns{ margin:40px 0; }

/* ボタン */
.wp-block-buttons{ margin:40px 0; }
.wp-block-button__link:hover{ opacity:.7; }

/* 画像 */
.wp-block-image{ margin:20px 0; }
