@charset "utf-8";

/* ================================================== RESET Style ============== */
body { font-size: 14px; line-height: 1.4em; margin: 0;
	font-family: "游ゴシック", "YuGothic", "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif !important;
	font-weight: 500;
}
ul { margin: 0; padding: 0; overflow: hidden; }
li { list-style: none; }
dl, dt, dd { margin: 0; padding: 0; }
a { text-decoration: none; }
img { width: 100%; vertical-align: top; }
a img, a img:hover {
	-moz-transition: 0.3s;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
a img:hover {
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	-moz-opacity: 0.8;
	-khtml-opacity: 0.8;
	opacity: 0.8;
}
h1, h2, h3, h4, p { margin: 0; padding: 0; letter-spacing: 1px; }

@media screen and (min-width:576px) {
    body { font-size: 16px; }
} 
/* ============ //EDN RESET Style ============== */

/* ================================================== common Style ============== */
.allCntWap { margin: 0 auto; padding: 20px 5% 0;  border-top: solid 1px #FFF; }
.allCntWap.topPage { padding: 40px 5% 0; background: url(../images/contBG_DK.jpg) left top/250px repeat; }
.allcontent { max-width: 1200px; margin: 0 auto; }

@media screen and (min-width: 480px) {
	.allCntWap { padding: 20px 10% 0; }
}

.alC { text-align: center; }
.alL { text-align: left; }
.alR { text-align: right; }

.tRED { color: #ff0000; }
.fontXL { font-size: 150%; }
.fontL { font-size: 120%; }
.fontS { font-size: 80%; }
.bold { font-weight: bold; }

.brXS, .brS, .brM, .brL, .brXL, .pcON { display: none; }
.brPC { display: none; }
@media (max-width: 479px) { .brXS { display: inline; } }
@media (max-width: 575px) { .brS { display: inline; } }
@media (max-width: 767px) { .brM { display: inline; } }
@media (max-width: 991px) { .brL { display: inline; } }
@media (max-width: 1440px) { .brXL { display: inline; } }
@media (min-width: 992px) { .brPC { display: inline; } }
@media (min-width: 1280px) { .pcON { display: inline; } }
/* ============ //EDN common Style ============== */

/* ================================================== header ============== */
#header { height: auto; }
header { text-align: center; margin: 0 auto 20px; }
.headImgBG img { width: 100%; max-width: 500px; }
.headImgSl img { max-width: 100px; }
@media screen and (min-width: 1280px) {
    header { margin: 0 auto 40px; }
}
/* ============ //EDN header ============== */

/* ================================================== navigation ============== */
nav ul { text-align: center; }
nav li { width: 46%; margin: 0 2% 0.5em; float: left; }

nav li a { font-size: 14px; color: #FFFFFF; width: calc(100% - 4px); line-height: 1.3em; font-weight: bold; background-color: #40a027; border-radius: 8px; border: solid 2px #010101; display: table; }
nav li a span { padding: 0.5em 0.6em; display: table-cell; vertical-align: middle; }
nav li a:not(.current):hover { border-radius: 0; }
nav li a, nav li a:hover {
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}

nav li a.current { color: #40a027; background-color: transparent; border: dotted 2px #40a027; cursor: default; }


@media screen and (min-width: 480px) {
	nav li { width: 29.333%; }
}
@media screen and (min-width: 992px) {
	nav li { width: 14.666%; margin: 0 1% 0.5em; }
}
/* ============ //EDN navigation ============== */

/* ================================================== contents ============== */
.contWrap { margin: -25px auto 0; padding: 10% 3%;
    background: url("../images/contBG_DK.jpg") left top/250px repeat; border-left: solid 3px #40a027; border-right: solid 3px #40a027;
	-moz-box-shadow: 0 8px 10px #252525;
    -webkit-box-shadow: 0 8px 10px #252525;
    -o-box-shadow: 0 8px 10px #252525;
    -ms-box-shadow: 0 8px 10px #252525;
	box-shadow: 0 8px 10px #252525;
}
.contBlock { margin: 0 auto 30px; }
.topImg { margin: 4vw 0 0; padding: 2% 0; text-align: center;
    background: url(../images/line.png) center center/100% no-repeat;
    position: relative;
    z-index: 100;
}
.topImg h2 { font-size: 18px; color: #40a027; margin: 0 auto; padding: 0.4em 1em;
    background-color: rgba(255,255,255,0.9);
    border: solid 3px #40a027;
    border-radius: 10px;
    position: relative;
    display: inline-block;
    z-index: 500;
}
.menuList li { width: 100%; }
.menuListInr { padding: 15px 15px; }
.menuTtl h4 { font-size: 16px; color: #ffff40; padding: 0.3em 1em 0.3em; text-align: center;
    border-top: double 4px #ffff40; background-color: #40a027; word-break: keep-all;
}
.menuBoxWrap{ padding: 5%; border-bottom: double 6px #ffff40; background-color: rgba(254, 206, 181, 0.6); }
.menuBox { overflow: hidden; }
.menuBox:not(:last-of-type) { border-bottom: dotted 1px #000; }
.menuBoxinr { margin: 0.6em auto; }
.menuBoxinr.menuBoxinr03 { margin: 0 auto 0.6em; }
.menuBox p { line-height: 1.3em; }
.menuTxt { color: #252525; padding: 3px 5px; margin: 0 0.3em 0.3em 0; background-color: #ffe3cb; border: dotted 1px #40a027; border-radius: 50px; display: inline-block; }
.menuBoxinr01 { color: #40a027; width: 100%; font-weight: bold; }
.menuBoxinr01, .menuBoxinr02 { font-size: 18px; line-height: 1.2em; }
.menuBoxinr01, .menuBoxinr03 { text-align: left; float: left; }
.menuBoxinr02 { width: 100%; font-weight: bold; text-align: right; float: right; }
.menuBoxinr03 { font-size: 14px; color: #252525; }
.menuBox:last-child .menuBoxinr03:not(:last-of-type) { margin: 0 0 3%; }
.menuBoxBtm { font-size: 14px; line-height: 1.4em; margin: 0.4em 0 0; text-align: left;
    text-shadow: 0 0 0.3em #f5dcbd, 0 0 0.3em #f5dcbd, 0 0 0.3em #f5dcbd, 0 0 0.3em #f5dcbd, 0 0 0.3em #f5dcbd, 0 0 0.3em #f5dcbd, 0 0 0.3em #f5dcbd;
}
.contTtl { text-align: center; }
.contTtl h4 { font-size: 20px; }

.popupText { font-size: 14px; line-height: 1.4em; font-weight: bold; margin: 1em 20% 1em; padding: 1.2em 0.8em; max-width: 500px; text-align: center;
	background-color: #ffff7f; border-bottom: solid 3px #40a027; border-radius: 50px; position: relative; }
.popupText:after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 30%;
    margin-left: -10px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 20px 20px 20px 0px;
    border-color: #ffff7f transparent transparent transparent;
    z-index: 100;
}

@media screen and (max-width: 479px) {
	.menuBoxinr.menuBoxinr01 { margin: 0.6em auto 0; }
}
@media screen and (min-width: 480px) {
	.menuTtl h4 { font-size: 18px; }
	.menuBoxinr01 { width: 65%; }
	.menuBoxinr02 { width: 35%; }
}
@media screen and (min-width: 576px) {
	.popupText { font-size: 16px; }
}
@media screen and (min-width: 768px) {
    .contWrap { margin: -40px auto 0; padding: 8% 3%; }
	.topImg h2 { font-size: 22px; padding: 0.6em 1em; }
    .contTtl h4 { font-size: 24px; }
}
@media screen and (min-width: 992px) {
	.menuList li { width: 50%; float: left; }
	.menuListInr { padding: 15px 20px; }
}
@media screen and (min-width: 1440px) {
	.menuBoxinr01, .menuBoxinr02 { font-size: 20px; }
}
/* ============ //EDN contents ============== */

/* ================================================== TOP page ============== */
.headImgBG { margin: 0 auto; }

.topMain { padding: 5px 5% 30px; text-align: center; }
.topMain h1 { font-size: 22px; color: #40a027; margin: 0 0 0.6em; line-height: 1.3em; letter-spacing: 0.2em;
    text-shadow: 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f, 0 0 3px #ffff7f;
}
.topMaiInr p { margin: 0 auto 0.6em; letter-spacing: 0.1em; font-weight: bold; }
.topPage nav ul { margin: 0 auto; }

.shopInfo.contWrap { margin: 0 auto; border-left: 0; border-right: 0; }
.shopInfo h2 { font-size: 20px; color: #40a027; margin: 0 auto -0.4em; padding: 0 1em; text-align: center; }
.shopInfo ul { margin: 0 auto; padding: 30px 3%; max-width: 1024px; background-color: #FFFFFF; }
.shopInfo li { margin: 0 3%; }
.shopInfo li.shopImg { position: relative; }
.shopInfo li.shopImg img { margin-top: 30px; border-radius: 10px; position: relative; }
.shopInfo li.shopImg .noticeWrap { color: #40a027; line-height: 1.2em; font-weight: bold; text-align: center; padding: 2em 0.8em 1.8em; border-radius: 100px; background-color: #ffff40;
    top: 0;
    left: 15px;
    position: absolute;    
    -moz-box-shadow: 0 4px 6px #252525;
    -webkit-box-shadow: 0 4px 6px #252525;
    -o-box-shadow: 0 4px 6px #252525;
    -ms-box-shadow: 0 4px 6px #252525;
    box-shadow: 0 4px 6px #252525;
}

.shopHours dl { padding: 0.5em 0 0; border-bottom: dotted 3px #ffc807; text-align: left; overflow: hidden; }
.shopHours dl:not(:last-child) { margin: 0 auto 1.6em; }
.telNO dd { color: #010101 !important; font-size: 1.4em; font-weight: bold; }
.telNO dd a { color: #010101 !important; }
.shopHours dt { width: 30%; text-align: left; float: left; }
.shopHours dd { width: 65%; text-align: left; float: right; }

@media screen and (max-width: 479px) {
	.topPage nav ul li:first-child { width: 96%; }
}
@media screen and (max-width: 991px) {
    .shopInfo li.shopHours { margin: 2vw 3% 0; }
}

@media screen and (min-width: 480px) {
	.shopInfo li.shopImg .noticeWrap { font-size: 16px; }
    .shopHours dd { text-align: right; }
}
@media screen and (min-width: 480px) and (max-width: 991px) {
	.topPage nav ul { max-width: 500px; }
	.topPage nav ul li:nth-child(4) { margin-left: 18.666%; clear: both; }
}
@media screen and (min-width: 768px) {
	.topMain h1 { font-size: 28px; }
    .topMaiInr p { line-height: 1.6em; }
	.shopInfo li.shopImg .noticeWrap { font-size: 20px; }
	.shopInfo h2 { font-size: 26px; }
    .telNO dd { font-size: 2em; line-height: 1em; }
}
@media screen and (min-width: 992px) {
	.topPage nav ul { max-width: 800px; }
	.topPage nav ul li { width: 18%; }
	.shopInfo.contWrap { padding: 5% 3%; }
    .shopInfo ul { display: -webkit-flex; display: flex; align-items: center; flex-wrap: wrap; }
    .shopInfo li { flex: 0 0 46%; margin: 0 2%; }
	.shopInfo li.shopImg .noticeWrap { font-size: 16px; }
}
/* ============ //EDN TOP page ============== */

/* ================================================== menuALL page ============== */
.menuBoxWrap.detail { background-color: transparent; border: dotted 2px #40a027; border-radius: 30px 0 30px 0; }

.menuText p { text-align: center; }
.menuTextP01 { font-size: 16px; line-height: 1.7em; font-weight: bold;
	-moz-transform: rotate(-45deg);
	-webkit-transform: rotate(-5deg5deg);
	-o-transform: rotate(-5deg);
	-ms-transform: rotate(-5deg);
	transform: rotate(-5deg);
}
.menuTextP01 span { background-color: #ffff40; }
.menuTextP02 { padding: 0.6em 1.8em; border-radius: 10px; background-color: #fcffed; }
.menuTextP02:not(:last-of-type) { margin: 0 0 1em; }

/* ============ //EDN menuALL page ============== */

/* ================================================== menuMens page ============== */
.mensIntro { margin: 0 auto; max-width: 900px; }
.mensIntro .listL { padding-bottom: 30px; }
.mensIntro .listL h3 { font-size: 18px; line-height: 1.6em; }
.mensIntro .listL h3 span { background-color: #ffff40; }
.mensIntro .listL p { font-size: 16px; line-height: 1.4em; font-weight: bold; margin: 1em auto 0; }
.mensIntro .listL p span { margin: 0 auto 0.6em; display: block; }

.mensIntro .listR { text-align: center; }
.mensIntro .listR p { font-size: 18px; color: #299e2b; font-weight: bold; }
.mensIntro .listR img { max-width: 280px; margin: 1em 0; }
.mensIntro .listR h3 { font-size: 16px; line-height: 1.4em; margin: 0 auto 1em; padding: 0.5em 0.8em; max-width: 300px; background-color: #FFFFFF; border-bottom: solid 3px #40a027; border-radius: 10px; position: relative; }
.mensIntro .listR h3:after {
    content: "";
    position: absolute;
    bottom: -40px;
    left: 50%;
    margin-left: -10px;
    display: block;
    width: 0px;
    height: 0px;
    border-style: solid;
    border-width: 20px 10px 20px 10px;
    border-color: #FFFFFF transparent transparent transparent;
    z-index: 100;
}

.menuMens .popupText { margin: 3em 20% 1em; }

.stepBlock .contTtl { margin: 3em auto 1.6em; }
.stepBlock .contTtl h4 { color: #40a027; display: inline; border-bottom: solid 3px; }
.stepList li { width: 100%; margin: 0 auto 30px; }
.stepList .ttl { font-size: 16px; font-weight: bold; margin: 0 0 1.6em; transform: rotate(-10deg); position: relative; z-index: 100; }
.stepList .ttl span { background-color: #ffff40; }
.stepList .detail { margin: 0.6em auto 0; max-width: 260px; background-color: rgba(254, 206, 181, 0.6); text-align: justify; }

.stepList .imgWrap { text-align: center; position: relative; }
.stepList .imgWrap img { width: calc(100% - 4px); max-width: 260px; border: solid 2px #ffff7f; position: relative; z-index: 10; }
.stepList .menuListInr.img2pc .imgWrap { overflow: hidden; }
.stepList .menuListInr.img2pc .imgWrap img { width: calc(80% - 4px); float: left; }
.stepList .menuListInr.img2pc .imgWrap img:last-child { margin-top: -30px; float: right; z-index: 50; }
.stepList .comment {
    font-size: 14px;
    color: #40a027;
    padding: 1em;
	font-weight: bold;
    line-height: 1.3em;
    right: -10px;
    top: -2em;
    text-align: center;
    letter-spacing: -1px;
    background-color: #ffff7f;
    border: solid 2px #40a027;
    border-radius: 50%;
    position: absolute; z-index: 100;
}
.menuMens .btmTxt { font-size: 18px; line-height: 1.8em; color: #40a027; font-weight: bold; text-align: center; text-shadow: 0 2px 2px #ffff40; }
.menuMens .btmTxt span { border-bottom: dotted 4px #40a027; }

@media screen and (max-width: 991px) {
    .mensIntro .listL { text-align: center; }
}
@media screen and (min-width: 480px) {
    .mensIntro p { font-size: 18px; }
}
@media screen and (min-width: 576px) {
    .stepList li { width: 50%; float: left; }
}
@media screen and (min-width: 768px) {
	.mensIntro .listL h3 { font-size: 22px; }
    .mensIntro .listR img { max-width: 350px; }
	.menuMens .btmTxt { font-size: 22px; line-height: 1.6em; }
}
@media screen and (min-width: 992px) {
    .menuList.mensMenu li { width: 70%; margin-left: 15%;}
}
@media screen and (min-width: 1024px) {
    .stepList li { width: 33.3333%; }
}
@media screen and (min-width: 1440px) {
	.stepList .ttl { font-size: 18px; }
}

/* ============ //EDN menuMens page ============== */

/* ================================================== menuLadys page ============== */
.ladysIntro { text-align: center; }
.ladysIntro h3 { font-size: 18px; line-height: 1.5em; }
.ladysIntro h3 span { background-color: #ffff40; }
.ladysIntro p { font-weight: bold; margin: 1.5em auto; }

.menuLadies .contWrap { padding-left: 0; padding-right: 0; }
.menuLadies .contBlock { padding-left: 3%; padding-right: 3%; }
.menuLadies .contTtl h3 { font-size: 16px; line-height: 1.5em; margin: 1em auto; padding: 0 1em; }

.ladysStep .stepList .menuListInr.img2pc .detail { max-width: inherit; }

.noteBlock { font-size: 16px; font-weight: bold; text-align: center; margin: 50px 12% 0; padding: 1em;
	background-color: rgba(255, 255, 127, 0.6); border: solid 2px #40a027; border-radius: 10px;
}
.noteBlock p { margin: 0.6em auto; }

.cont_bridal { background: url(../images/bg_bridal.png) center 100px/130% no-repeat; }
.cont_bridal .contBlock > .menuBox { margin: 2em 10% 3em; border-bottom: dotted 1px #000;
	text-shadow: 0 0 0.1em #FFF, 0 0 0.1em #FFF, 0 0 0.1em #FFF, 0 0 0.1em #FFF, 0 0 0.1em #FFF, 0 0 0.3em #FFF, 0 0 0.3em #FFF, 0 0 0.3em #FFF, 0 0 0.3em #FFF, 0 0 0.3em #FFF;
}
.cont_bridal .contBlock > .menuBox .menuBoxinr01, .cont_bridal .contBlock > .menuBox .menuBoxinr02 { font-size: 20px; line-height: 1.3em; }

.cont_bridal .menuInfoWrap { margin: 0 auto 30px; padding: 20px 10%; background-color: rgba(255, 255, 222, 0.7); }
.cont_bridal .menuInfoWrap:last-child { margin-bottom: 0; }
.cont_bridal .menuInfoWrap h3 { margin: 0 auto 0.4em; text-align: center; }
.cont_bridal .menuInfoWrap .ttl { font-weight: bold; border-bottom: dotted 1px; }
.cont_bridal .menuInfoWrap p:not(:last-child) { margin: 0 auto 0.6em; }

.cont_bridal .menuBoxWrap { background-color: rgba(255, 255, 255, 0.6); }
.cont_bridal .menuList li .alC { font-weight: bold; margin: 0.4em 0 0; }

@media screen and (max-width: 479px) {
	.cont_bridal .contBlock > .menuBox .menuBoxinr  { width: 100%; text-align: center; }
}
@media screen and (min-width: 576px) {
	.ladysStep .stepList li:last-child { margin-left: 25%; }
}
@media screen and (min-width: 768px) {
	.ladysIntro h3 { font-size: 22px; }
	.menuLadies .contTtl h3 { font-size: 20px; }
    .menuLadies .contTtl h2 { font-size: 24px; }
	.cont_bridal { background: url(../images/bg_bridal.png) center 50px/100% no-repeat; }
	.cont_bridal .contBlock > .menuBox .menuBoxinr01, .cont_bridal .contBlock > .menuBox .menuBoxinr02 { font-size: 22px; }
}
@media screen and (min-width: 992px) {
    .menuList.ladysMenu li { width: 70%; margin-left: 15%;}
	.cont_bridal .menuList li:last-child { margin-left: 25%; }
	.cont_bridal .contBlock > .menuBox {  margin: 3em 20%; }
	.cont_bridal .menuList li:last-child { margin-left: 25%; }
}
@media screen and (min-width: 1024px) {
	.ladysStep .stepList li:nth-child(4), .ladysStep .stepList li:nth-child(6) { margin-left: 12.5%; }
	.ladysStep .stepList li:nth-child(5) { margin-left: 8.333%; }
	.ladysStep .stepList li:last-child { margin-left: 8.333%; }
}
@media screen and (min-width: 1440px) {
	.cont_bridal .contBlock > .menuBox .menuBoxinr01, .cont_bridal .contBlock > .menuBox .menuBoxinr02 { font-size: 26px; }
}

/*PROFILEページSTART*/
.profList { overflow: hidden; margin: 0 auto; max-width: 900px; }
.profList li { width: 100%; }
.profList .imgWrap { background-color: #ffffff; border-radius: 10px 10px 0 0; text-align: center; }
.profList .imgWrap img { max-width: 220px; }
.profListInr { max-width: 300px; margin: 0 auto; padding: 15px 15px; }
.profTextWrap { padding: 1em 1em; background-color: #ffff40; border-radius: 0 0 10px 10px; }
.profTextWrap p:first-child { margin-bottom: 0.5em; border-bottom: dotted 1px; }

@media screen and (min-width: 768px) {
    .profList li { width: 50%; float: left; }
}









/*PROFILEページEND*/




















/*MAPページSTART*/
.map {}
.map h2 {
	text-align: center;
}
.map dl {
	overflow: hidden;
	margin: 0% auto;
	max-width: 500px;
	border-bottom: solid 2px #aacf53;
	padding: 1em 0 0;
}
.map dt {
	width: 100px;
	float: left;
}
.map dd {
	width: 50%;
	float: left;
	margin: 0%;
	padding: 0 0 0 1em;
	text-align: left;
}
.mapImg { width: 100%; max-width: 960px; margin: 0 auto; padding-bottom: 400px; text-align: center; height: 0; overflow: hidden; position: relative; }
.mapImg > iframe { width: 100%; height: 100%; max-height: 400px; left: 0; top: 0; position: absolute; }
.mapImg #mapDiv .review-box { display: none !important; }
.mapText { text-align: center; }
.mapText p { width: 80%; max-width: 600px; margin: -30px auto 50px; padding: 2em 1em; font-weight: bold;  background-color: rgba(255, 255, 222, 0.8); border-radius: 8px; position: relative; z-index: 100;
	-moz-box-shadow: 0 3px 6px #40a027;
    -webkit-box-shadow: 0 3px 6px #40a027;
    -o-box-shadow: 0 3px 6px #40a027;
    -ms-box-shadow: 0 3px 6px #40a027;
	box-shadow: 0 3px 6px #40a027;
}




@media screen and (min-width: 992px) {
	.shopHoursMap li {
		width: 100%;
	}
}
#footer {
    color: #fbeee0;
    text-align: center;
	padding: 2.5em 1em;
    background-color: #40a027;
}
#footer p { letter-spacing: 0; }


.scrollToTop { font-size: 1.25em; color: #ffff7f; width: 2.5rem; height: 2.5rem; line-height: 2.5rem; font-weight: bold; text-align: center;
    background-color: #40a027;
	border: solid 1px #ffff7f;
    position: fixed;
    bottom: 10px;
    right: 10px;
    z-index: 9999;
    opacity: .8;
    display: block;
    -webkit-border-radius: .35rem;
    -moz-border-radius: .35rem;
    border-radius: .35rem;
    -moz-transition: all .3s;
    -o-transition: all .3s;
    -webkit-transition: all .3s;
    transition: all .3s;
}

