@charset "UTF-8";

/* -----------------------------------------------
FileName: base.css
----------------------------------------------- */

/* Base */	

body {
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	margin:0 auto;
	background:#040000;}


h1, h2, h3, h4, h5, h6 {
	font-size: 1em;
	font-weight: normal;
}

h1 {
	line-height:1.6em;}
h2 {
	line-height:1em;}

ul {
	list-style: none;
}

p,ul,ol,dl,address {
	font-size:12px;
	line-height:1.8em;
	font-style:normal;}

table {
	font-size:14px;
	line-height:1.8em;
	border-collapse:collapse;
}


img {
	border: none;
	vertical-align:bottom;
}

a {
	color:#17998c;
	text-decoration:none;}

#header {
	margin:0 auto;
	text-align:left;
	width:800px;
	height:112px;
	position:relative;}
	
#header h1 {
	position:absolute;
	top:7px;
	left:0;}
	
#header ul {
	position:absolute;
	right:0;
	top:0;
	margin:0;
	padding:0;}
	
#header ul li {
	float:left;
	margin:0;}
	
#contentsTop {
	width:760px;
	background:#505050;
	padding:20px;}
	
#leftColumn {
	width:490px;
	float:left;}
	
#rightColumn {
	width:230px;
	float:right;}
	
#infoArea {
	width:200px;
	padding:14px;
	border:1px solid red;
	background:#404040;
	border:1px solid #b3b2b2;
	color:#fff;}
	
#infoArea h2 {
	font-size:14px;
	margin:0 auto 10px;
	font-weight:bold;
	text-align:center;
	padding:0;
	border:1px solod red;}
	
#infoArea dl {
	font-size:12px;}
	
#infoArea dl dt {
	width:60px;
	float: left;}

#infoArea dl dd {
	margin:0 0 0 60px;}
	
#blogNews {
	width:480px;
	padding:5px;
	background:#fff;}
	
#blogNews h2 {
	margin:0 0 10px 0;
	padding:0;}
	
#blogNews dl {
	margin:0 0 10px 10px;}

#blogNews dl dt {
	width:80px;
	height:24px;
	float:left;
	border-bottom:1px solid #e5e5e5;
	margin:0 0 5px 0;}
	
#blogNews dl dd {
	width:360px;
	height:24px;
	margin:0 0 5px 80px;
	padding:0 0 0 10px;
	border-bottom:1px solid #e5e5e5;}
	
/************** shop *************/
#shopContents01 {
	width:680px;
	padding:10px 60px;
	background:#fff;}
	
#pictSlide {
	width:320px;
	float:left;
	margin:0 30px 0 0;}
	
#changeImg {
	width:310px;
	margin:0 0 10px 0;}
	
#shop {
	padding:0;
	width:320px;
	}

#shop li {
	float:left;
	margin:0 10px 10px 0;}

/************** bridal *************/	
#bridalContents {
	width:730px;
	padding:0 35px;}
	
.textRed {
	color:#c10e23;}
	
/************** hearing *************/	
#hearingContents {
	width:680px;}
	
#importBox {
	width:650px;
	padding:15px;
	border:1px solid #b6b7b7;}
	
#importBox p {
	margin:0;}
	
#importBox h3 {
	font-size:18px;
	padding:0 !important;
	text-indent:0 !important;
	margin:0 0 10px 0 !important;
	line-height:1em;
	font-weight:bold;}
	
.joa {
	margin-top:0;}
	
	
/************** frame *************/
.frameLeft{
	width:400px;
	height:;
	
	}
	
.frameRight{
	width:400px;
	height:;
	}

.contentText{
	display:block;
	width:250px;
}

#keySlider,
.bxslider {
	width:800px;
	height:400px;
	margin:0;
	padding:0;}

.bxslider ul,
.bxslider ul li {
	margin:0;
	padding:0;}
	
.left {
	float:left;}
	
.right {
	float:right;}
	
.mar10 {
	margin-right:10px;}
.mar20 {
	margin-right:20px;}
.mab10 {
	margin-bottom:10px;}	
.mab20 {
	margin-bottom:20px;}


/* clearfix */

.clearfix:after {content: ".";display: block;clear: both;height: 0;visibility: hidden;}

.clearfix {display: inline-block;}

/*\*/

* html .clearfix {height: 1%}

.clearfix {display:block;}

/**/
	
	
#map {
	width:425px;
	height:350px;}
	
#shopTitle {
	width:234px;
	height:60px;
	color:#777;
	letter-spacing:0.1em;
	line-height:80px;}

.frame #keySlider,
.frame .bxslider {
	width:680px;
	height:340px;
	margin:0;
	padding:0;}

.frame .bxslider ul,
.frame .bxslider ul li {
	margin:0;
	padding:0;}

.frame .bx-wrapper .bx-pager {
    text-align: center;
    font-size: .85em;
    font-family: Arial;
    font-weight: bold;
    color: #666;
    top: 290px;
    /* padding-top: 20px; */
}


/* 2025/7 update */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

#header h1 {
	margin: 0;
	padding: 9px 0;
}
#header ul {
	transform: translateX(78px);
}
@media screen and (max-width: 970px) {
	#header ul {
		transform: translateX(0);
	}
}
.header-contact {
	padding: 15px 0 0;
}
.header-contact a {
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="20.996" height="16.997" viewBox="0 0 20.996 16.997"><path d="M-1105.5-17a2.5,2.5,0,0,1-2.5-2.5V-31.481c0-.015,0-.03,0-.045A2.5,2.5,0,0,1-1105.5-34h16a2.5,2.5,0,0,1,2.5,2.475c0,.015,0,.03,0,.045V-19.5a2.5,2.5,0,0,1-2.5,2.5Zm-1.5-2.5a1.5,1.5,0,0,0,1.5,1.5h16a1.5,1.5,0,0,0,1.5-1.5V-30.541l-9.211,6.448a.5.5,0,0,1-.287.09.5.5,0,0,1-.287-.09L-1107-30.541Zm9.5-5.609,9.478-6.634A1.5,1.5,0,0,0-1089.506-33h-16a1.5,1.5,0,0,0-1.479,1.254Z" transform="translate(1108.002 34.001)" fill="%23fff"/></svg>') no-repeat 50% 24.5px / 21px auto;
	border: 1px solid #fff;
	box-sizing: border-box;
	color: #fff!important;
	display: block;
	font-family: "Poppins", sans-serif!important;
	font-size: 9px!important;
	font-weight: 500!important;
	height: 80px;
	padding: 47px 0 0;
	text-align: center;
	width: 74px;
}
.header-contact a:hover {
	opacity: .8;
}
.gmap {
	padding-top: 10px;
	width: 100%;
}
.gmap iframe {
	height: 300px!important;
	width: 100%!important;
}

.line {
	padding-bottom: 10px;
}
.line-ttl {
	font-weight: 700;
	margin: 25px 0 5px;
}
.line ul {
	display: flex;
	gap: 15px;
	margin: 0;
	padding: 0;
}
.line li {
	flex: 1;
}
.line img {
	width: 100%;
}

#contact {
	background: #363a39;
	border-top: 2px solid #fff;
	box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	line-height: calc(30 / 16);
	min-height: 615px;
	padding: 72px 0 100px;
	text-align: left;
	-webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
	
}
.contact-inner {
	margin: 0 auto;
	width: 802px;
}
.contact-ttl {
	font-family: "Poppins", sans-serif;
	font-size: 40px;
	font-weight: 600;
}
.contact-lead {
	font-size: 16px;
	line-height: calc(30 / 16);
	margin: 0 0 20px;
	padding: 0;
}
#contact form {
	margin: 0;
	padding: 0;
}

.form-block {
	border-bottom: 1px solid #777777;
	display: flex;
	gap: 20.5px;
	padding: 30px 0;
}
.form-label {
	align-items: center;
	display: flex;
	justify-content: space-between;
	width: 228px;
}
.form-label .required {
	align-items: center;
	background-color: #AD3535;
	display: flex;
	font-size: 14px;
	font-weight: 500;
	height: 24px;
	line-height: 1;
	justify-content: center;
	width: 44px;
}
.form-input {
	flex: 1;
	position: relative;
}
.form-input input[type="text"],
.form-input input[type="mail"],
.form-input input[type="tel"],
.form-input select {
	background: #fff;
	border-radius: 4px;
	border: none;
	height: 58px;
	padding: 0 20px;
	width: 100%;
	appearance: none;        /* 標準化 */
  -webkit-appearance: none; /* Safari / Chrome */
  -moz-appearance: none;   /* Firefox */
}
.form-input select {
	background: #fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12.334" height="7.052" viewBox="0 0 12.334 7.052"><path d="M12.357,16.173l4.664-4.667a.878.878,0,0,1,1.245,0,.889.889,0,0,1,0,1.249l-5.284,5.288a.88.88,0,0,1-1.215.026l-5.321-5.31a.882.882,0,0,1,1.245-1.249Z" transform="translate(-6.188 -11.246)"/></svg>') no-repeat right 20px top 50% / 12.33px auto;
	cursor: pointer;
}
.form-input .flex {
	display: flex;
	gap: 25.5px;
}
.form-input .error {
	bottom: -25px;
	color: #FF5E5E;
	font-size: 12px;
	left: 0;
	position: absolute;
}
.form-input .is-error {
	background-color: #FFCACA!important;
	box-sizing: border-box;
}
.form-input .is-s {
	width: 210px!important;
}
.form-input-verification {
	font-size: 16px;
	line-height: calc(24 / 16);
	margin: 0;
	padding: 0;
}
.form-button {
	display: flex;
	justify-content: center;
	gap: 2rem;
	padding: 49.9px 0 0;
}
#contact .btn {
	appearance: none;        /* 標準化 */
  -webkit-appearance: none; /* Safari / Chrome */
  -moz-appearance: none;   /* Firefox */
	align-items: center;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10.638" height="18.607" viewBox="0 0 10.638 18.607"><path d="M18.682,15.495,11.641,8.46a1.33,1.33,0,0,1,1.883-1.878L21.5,14.553a1.327,1.327,0,0,1,.039,1.834l-8.01,8.026a1.33,1.33,0,1,1-1.883-1.878Z" transform="translate(-11.251 -6.194)" fill="%23fff"/></svg>') no-repeat right 20.9px top 50% / 10.64px auto;
	border: 1px solid #fff;
	box-sizing: border-box;
	color: #fff;
	cursor: pointer;
	display: flex;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	font-size: 16px;
	font-weight: 500;
	justify-content: center;
	height: 60px;
	position: relative;
	width: 230px;
}
#contact .btn.is-back {
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="10.638" height="18.607" viewBox="0 0 10.638 18.607"><path d="M14.457,15.495,21.5,8.46a1.33,1.33,0,1,0-1.883-1.878l-7.977,7.971a1.327,1.327,0,0,0-.039,1.834l8.01,8.026a1.33,1.33,0,1,0,1.883-1.878Z" transform="translate(-11.251 -6.194)" fill="%23fff"/></svg>') no-repeat left 20.9px top 50% / 10.64px auto;
}
.confirm .form-button {
	padding: 110px 0 0;
}
.contact-thanks {
	padding: 38px 0 0;
	text-align: center;
}
.contact-thanks1 {
	font-size: 30px;
	font-weight: 700;
	margin: 0 0 15px;
}
.contact-thanks2 {
	font-size: 16px;
	margin: 0 0 40px;
}
.contact-thanks .btn {
	margin: 0 auto;
}
#form-error-box {
	background: #fff;
	border: 3px solid #AD3535;
	color: #AD3535;
	font-weight: 700;
	margin: 30px 0;
	padding: 10px 20px;
	text-align: center;
	width: 100%;
}