@charset "utf-8";

/* ------------------------------------------------------------ common */

.menu_nav { padding: 65px 0 60px;}
.menu_nav ul { border: 1px solid #c7b08a;}
.menu_nav ul li { display: inline-block; *display: inline; *zoom: 1; text-align: center; border-left: 1px solid #c7b08a;}
.menu_nav ul li:first-child { border: none; width: 500px;}
.menu_nav ul li:first-child a { width: 500px;}
.menu_nav ul li a { display: inline-block; *display: inline; *zoom: 1; padding: 15px 0; width: 499px;}
.menu_nav ul li a.on { background: #c7b08a; color: #fff;}

p.btn_01 { padding: 20px 0 155px;}
p.btn_01 a { height: 40px; line-height: 40px;}

h3.menu { text-align: center; background: url(../images/menu/common/line.png) center 10px repeat-x; margin: 95px 0 50px;}
h3.menu span { background: #fff; display: inline-block; *display: inline; *zoom: 1; padding: 0 15px;}
h3.menu span small { display: block; font-size: 18px; padding: 15px 0 0;}

/* ------------------------------------------------------------ index */

#fv { background: url(../images/menu/fv.jpg) center center no-repeat; background-size: cover;}
#fv h2 span { color: #fff;}

#menu { background: #f2f2f2; padding: 50px 0 15px; margin: 0 0 100px;}
#menu ul li { background: #fff; margin: 0 0 15px;}
#menu ul li img.photo { float: left;}
#menu ul li div { float: left; width: 410px; padding: 45px 50px 35px;}
#menu ul li div h4 span { padding: 10px 0 0;}
#menu ul li div { text-align: center;}
#menu ul li div p { text-align: center;}
#menu ul li div p.btn { margin: 20px auto 0;}

#menu_intro { text-align: center; padding: 0 0 90px;}
#menu_intro h3 { font-size: 24px; padding: 10px 0 45px; letter-spacing: 4px;}
#menu_intro p { letter-spacing: 3px; }



/* ------------------------------------------------------------ shinkyu */

#fv.shinkyu { background: url(../images/menu/shinkyu/fv.jpg) center center no-repeat; background-size: cover;}
#fv.shinkyu h2 span { color: #fff;}

#s_menu h3 { background: url(../images/menu/shinkyu/bg.gif); text-align: center; padding: 60px 0 50px;}
#s_menu h3 span { display: block; font-size: 16px; padding: 25px 0 0;}
#s_menu ul { padding: 35px 0 50px;}
#s_menu .main_menu li { padding: 25px 0; border-top: 1px dotted #dddddd; }
#s_menu .main_menu li:first-child { border: none;}
#s_menu .main_menu li img { float: left;}
#s_menu .main_menu li div { float: right; width: 675px; padding: 40px 0 0;}
#s_menu .main_menu li div dl { background: url(../images/menu/shinkyu/line.gif) left bottom repeat-x; padding: 0 0 15px;}
#s_menu .main_menu li div dl dt { font-size: 18px; float: left; width: 535px;}
#s_menu .main_menu li div dl dt.plus { padding: 0 0 0 80px; width: 455px;}
#s_menu .main_menu li div dl dt span { font-size: 14px; display: block;}
#s_menu .main_menu li div dl dd { font-size: 19px; float: right; width: 140px;}
#s_menu .main_menu li div p { font-size: 14px; padding: 30px 0 0; letter-spacing: 1px;}

#s_menu .main_menu.second li div { padding: 20px 0 0;}
#s_menu .main_menu.second li div p { line-height: 24px; letter-spacing: 0;}

#s_menu .option_menu { padding: 0 0 0 -30px;}
#s_menu .option_menu li { float: left; width: 480px; padding: 0 0 60px 20px;}
#s_menu .option_menu li img { float: left;}
#s_menu .option_menu li div { float: left; width: 305px; padding: 0 0 0 25px;}
#s_menu .option_menu li div h4 { font-size: 18px;}
#s_menu .option_menu li div h4 span { display: block; font-size: 19px;}
#s_menu .option_menu li div p { font-size: 14px; padding: 15px 0 0; letter-spacing: 0;}

/* ------------------------------------------------------------ products */

#fv.products { background: url(../images/menu/products/fv.jpg) center top no-repeat; background-size: cover;}
#fv.products span { color: #000;}
#products { padding: 0 0 0 -10px;}
#products li { float: left; width: 190px; padding: 0 0 0 10px; }
#products li dl { text-align: center; font-size: 13px; letter-spacing: 0; padding: 10px 0 10px; min-height: 100px;}


/* ------------------------------------------------------------ carte */

#fv.carte { background: url(../images/menu/carte/fv.jpg) center top no-repeat; background-size: cover;}
#fv.carte span { color: #000;}
#fv.carte h2.h2 img.SP { display: none; width: 50%; height: auto;}
#carte_menu .all li div ul { width: 610px;}
#carte_menu .all li div ul li { border-top: 1px solid #dddddd; padding: 15px 0;}
#carte_menu .all li div ul li:first-child { border: none; padding: 0 0 15px;}
#carte_menu .all li div ul li dl { font-size: 18px; padding: 0 0 10px;}
#carte_menu .all li div ul li dl dt { float: left; width: 505px; clear: both;}
#carte_menu .all li div ul li dl dd { float: right; width: 105px; text-align: right;}
#carte_menu .all li div ul li p { letter-spacing: 0;}

#carte_menu .wrapper1 img { float: left;}
#carte_menu .wrapper1 ul { float: right;}
#carte_menu .wrapper2 img { float: right;}
#carte_menu .wrapper2 ul { float: left;}

/* ------------------------------------------------------------ bridal */

#fv.bridal { background: url(../images/menu/bridal/fv.jpg) center center no-repeat; background-size: cover;}
#fv.bridal span { color: #000;}

#course .wrapper li.frame h4.bridal_h4 { font-size: 22px; }

#recommend { background: #faf9f6; padding: 10px 0 0;}
#recommend h3.menu span { background: #faf9f6;}
#recommend ul { margin: 0 0 0 -35px;}
#recommend ul li { float: left; width: 310px; margin: 0 0 0 35px; text-align: center;}
#recommend ul li img { width: 100%; height: auto;}
#recommend ul li.bottom1 { margin: 0 17px 0 173px;}
#recommend ul li.bottom2 { margin: 0 173px 0 17px;}
#recommend ul li div { padding: 25px 0; min-height: 100px;}
#recommend ul li div h4 { font-size: 15px; letter-spacing: 1px;}

#course .wrapper { margin: 0 0 0 -8px; padding: 0 0 100px;}
#course .wrapper li.frame { float: left; width: 434px; border: 1px solid #c7b08a; padding: 40px 30px 20px; margin: 0 0 8px 8px; min-height: 480px;}
#course .wrapper li.top { width: 998px; padding: 0; margin: 0 0 30px 8px;}
#course .wrapper li.top img { float: right;}
#course .wrapper li.frame div { padding: 40px 25px 20px; float: left; width: 440px;}
#course .wrapper li.frame h4 { font-size: 24px; color: #b19d7c; border-bottom: 1px solid #b19d7c;}
#course .wrapper li.frame dl.price { padding: 15px 0 30px;}
#course .wrapper li.frame dl.price dt { float: left; width: 120px; font-size: 14px; }
#course .wrapper li.frame dl.price dd { float: right; width: 200px; font-size: 24px; text-align: right; letter-spacing: 1px; line-height: 100%;}
#course .wrapper li.frame h5 { font-size: 17px; color: #8e7854; letter-spacing: 0; padding: 0 0 25px;}
#course .wrapper li.top div ul { background: #f9f8f5; padding: 20px 20px 30px; margin: 25px 0 0;}
#course .wrapper li.top div ul li { background: url(../images/menu/bridal/dot.gif) left 6px no-repeat; padding: 0 0 0 15px; font-size: 13px;}
#course .wrapper li.frame p.select { background: #f5f3ef; text-align: center; padding: 5px 0; font-size: 14px; letter-spacing: 1px; margin: 0 0 25px;}
#course .wrapper li.frame ul.course_detail li { padding: 0 0 25px;}
#course .wrapper li.frame ul.course_detail li p { font-size: 14px; letter-spacing: 0;}
#course .wrapper li.frame ul.course_detail li p.course_name { font-weight: bold; } 
#course .wrapper li.frame ul.course_detail li dl { margin: 15px 0 0; font-size: 14px; letter-spacing: 1px; border: 1px solid #c7b08a; }
#course .wrapper li.frame ul.course_detail li dl dt { float: left; width: 60px; background: #c7b08a; color: #fff; text-align: center; padding: 3px 0; }
#course .wrapper li.frame ul.course_detail li dl dd { float: left; width: 357px; padding: 3px 0 3px 15px;}
#course .wrapper li.frame ul.course_detail li dl dt.double { padding: 15px 0;}

#oneday { background: #faf9f6; padding: 10px 0 65px;}
#oneday h3.menu span { background: #faf9f6;}
#oneday #oneday_detail { background: url(../images/menu/bridal/pic_09.jpg) no-repeat #fff; padding: 0 25px 0 530px;}
#oneday #oneday_detail dl { font-size: 24px; padding: 35px 0 0; border-bottom: 1px solid #b19d7c; }
#oneday #oneday_detail dl dt { color: #b19d7c; float: left; width: 240px;}
#oneday #oneday_detail dl dd { float: right; width: 120px; letter-spacing: 1px;}
#oneday #oneday_detail ul { padding: 20px 0;}
#oneday #oneday_detail ul li { color: #fff; background: #c7b08a; font-size: 16px; padding: 15px; letter-spacing: 1px; line-height: 130%; margin: 0 0 8px;
border-radius: 5px; 
-moz-border-radius: 5px; 
-webkit-border-radius: 5px;}
#oneday #oneday_detail p { font-size: 14px; letter-spacing: 0;}
#oneday ol { padding: 50px 20px 55px; background: #fff; margin: 0 0 0 -6px;}
#oneday ol li { list-style-type: none; border: 1px solid #c7b08a; float: left; width: 455px; margin: 0 0 6px 6px; padding: 10px; height: 100px;
border-radius: 10px; 
-moz-border-radius: 10px; 
-webkit-border-radius: 10px;}
#oneday ol li.height { height: 135px;}
#oneday ol li.last { width: 940px; height: 40px; background: #c7b08a; color: #fff; margin: 5px 0 0 6px;}
#oneday ol li.last h4 { color: #fff; }
#oneday ol li h4 { font-size: 16px; color: #b19d7c; font-weight: bold; padding: 0 0 0 7px;}
#oneday ol li h4 span { font-size: 24px;}
#oneday ol li p { font-size: 14px; padding: 0 0 0 6px; letter-spacing: 1px;}
#oneday ol li.last span { padding: 0 425px 0 0;}


#flow ol.flow_box li { list-style-type: none; }
#flow ol.flow_box li.frame { background: url(../images/menu/bridal/arw_01.gif) center bottom no-repeat; padding: 0 0 39px; margin: 0 0 15px;}
#flow ol.flow_box li.frame .container { border: 1px solid #c7b08a;}
#flow ol.flow_box li.frame .container h4 { font-size: 28px; color: #b19d7c; padding: 0 0 20px;}
#flow ol.flow_box li.frame .container h4 img { padding: 0 20px 0 0;}
#flow ol.flow_box li.one .container img { float: left;}
#flow ol.flow_box li.one .container div { float: left; width: 617px; padding: 25px 40px;}
#flow ol.flow_box li.one p { font-size: 14px; }
#flow ol.flow_box li.second .container { background: #faf9f6; padding: 40px 30px;}
#flow ol.flow_box li.second .container h4 { text-align: center;}
#flow ol.flow_box li.second .container ol li { background: #fff; margin: 0 0 20px;}
#flow ol.flow_box li.second .container ol li img { float: left;}
#flow ol.flow_box li.second .container ol li div { float: left; width: 620px; padding: 20px 25px;}
#flow ol.flow_box li.second .container ol li div p.step { color: #fff; background: #cbb695; text-align: center; width: 95px; font-size: 18px; }
#flow ol.flow_box li.second .container ol li div p.text { padding: 20px 0 0; line-height: 26px; letter-spacing: 1px;}
#flow ol.flow_box li.second .container ol li div p.text span { display: block; color: #929292; font-size: 13px; }
#flow ol.flow_box li.bottom { background: none;}

#contact { padding: 0 0 70px;}

/* ------------------------------------------------------------ mobile */
@media only screen and (max-width:640px){

/* ------------------------------------------------------------ common */

.menu_nav { padding: 35px 0 30px;}
.menu_nav ul { border: none;}
.menu_nav ul li { width: 100%; border-top: 1px solid #fff; border-left: none;}
.menu_nav ul li:first-child { border: none; width: 100%;}
.menu_nav ul li:first-child a { width: 94%;}
.menu_nav ul li a { width: 94%; letter-spacing: 1px; background: url(../images/menu/common/arw.gif) 97% center no-repeat #eeeeee; background-size: 9px 15px; text-align: left; color: #3f3f3f; padding: 15px 3%;}

p.btn_01 { padding: 20px 0 60px;}
p.btn_01 a { height: 40px; line-height: 40px;}

h3.menu { text-align: center; background: url(../images/menu/common/line.png) center 10px repeat-x; margin: 30px 0 20px;}
h3.menu img { height: 20px; width: auto;}
h3.menu span { background: #fff; display: inline-block; *display: inline; *zoom: 1; padding: 0 15px;}
h3.menu span small { display: block; font-size: 14px; padding: 10px 0 0;}

/* ------------------------------------------------------------ index */

#menu { padding: 25px 0 15px; margin: 0 0 40px;}
#menu ul li img.photo { float: none; width: 100%; height: auto;}
#menu ul li div { float: none; width: 94%; padding: 15px 3%;}

#menu_intro { padding: 20px 0 50px;}
#menu_intro h3 { font-size: 20px; padding: 10px 0 20px; letter-spacing: 1px;}
#menu_intro p { letter-spacing: 2px; text-align: left; font-size: 14px; padding: 0 2%;}



/* ------------------------------------------------------------ shinkyu */


#fv.shinkyu h2 img.SP { height: 50px; display: inline;}
#fv.shinkyu h2 span { color: #fff;}

#s_menu h3 { padding: 30px 0 0;}
#s_menu h3 img { width: 80%; height: auto;}
#s_menu h3.h3 img { height: 20px; width: auto;}
#s_menu h3 span { font-size: 13px; padding: 5px 0 20px; letter-spacing: 0;}
#s_menu ul { padding: 20px 0 30px;}
#s_menu .main_menu li { padding: 10px 0;}
#s_menu .main_menu li img { float: none; width: 100%; height: auto;}
#s_menu .main_menu li div { float: none; width: 100%; padding: 20px 0 0;}
#s_menu .main_menu li div p { padding: 15px 0 0;}
#s_menu .main_menu li div dl { padding: 0 0 10px;}
#s_menu .main_menu li div dl dt { font-size: 16px; float: none; width: 100%;}
#s_menu .main_menu li div dl dt.plus { padding: 5px 0 0; width: 100%;}
#s_menu .main_menu li div dl dt span { font-size: 13px;}
#s_menu .main_menu li div dl dd { font-size: 14px; width: 100%; float: none; padding: 5px 0 0;}

#s_menu .option_menu { padding: 3% 0 0;}
#s_menu .option_menu li { float: none; width: 100%; padding: 10px 0; border-bottom: 1px solid #c7b08a;}
#s_menu .option_menu li img { width: 40%; height: auto;}
#s_menu .option_menu li div { width: 56%; padding: 0 0 0 4%;}
#s_menu .option_menu li div h4 { font-size: 14px;}
#s_menu .option_menu li div h4 span { font-size: 14px;}
#s_menu .option_menu li div p { font-size: 12px; padding: 10px 0 0;}

/* ------------------------------------------------------------ products */

#products { padding: 0 0 0 -2%;}
#products li { float: left; width: 48%; padding: 0 0 0 2%;}
#products li img { width: 100%; height: auto;}
#products li dl { text-align: center; font-size: 13px; letter-spacing: 0; padding: 10px 0 15px; min-height: 150px;}


/* ------------------------------------------------------------ carte */

#fv.carte h2.h2 img.SP { display: inline; }


#carte_menu .menu-wrap { padding: 40px 0; }

#carte_menu .inner { padding: 0 6%; width: 88%; }
#carte_menu .all li div ul { width: 100%;}
#carte_menu .all li div ul li dl { font-size: 16px;}
#carte_menu .all li div ul li:first-child { padding: 15px 0;}
#carte_menu .all li div ul li dl dt { width: 75%;}
#carte_menu .all li div ul li dl dt span { display: block;}
#carte_menu .all li div ul li dl dd { width: 25%; text-align: right;}

#carte_menu .wrapper1 img { float: none; width: 100%; height: auto;}
#carte_menu .wrapper1 ul { float: none;}
#carte_menu .wrapper2 img { float: none; width: 100%; height: auto;}
#carte_menu .wrapper2 ul { float: none;}

/* ------------------------------------------------------------ bridal */

#recommend { padding: 30px 0 0;}
#recommend ul { margin: 0;}
#recommend ul li { float: none; width: 100%; margin: 0 0 15px;}
#recommend ul li.bottom1 { margin: 0 0 15px;}
#recommend ul li.bottom2 { margin: 0 0 15px;}
#recommend ul li div { padding: 15px 0; min-height: 80px;}



#course { padding: 30px 0 0 0; }
#course .wrapper { margin: 0; padding: 0 0 30px;}
#course .wrapper li.frame { float: none; width: 90%; padding: 5%; margin: 0 0 10px 0; min-height: 100px;}
#course .wrapper li.top { width: 100%; padding: 0; margin: 0 0 20px;}
#course .wrapper li.top img { width: 100%; height: auto; float: none;}
#course .wrapper li.frame div { padding: 5%; float: none; width: 90%;}
#course .wrapper li.frame h4 { font-size: 20px; text-align: center; line-height: 140%; padding: 0 0 5%;}
#course .wrapper li.frame dl.price { padding: 15px 0 20px;}
#course .wrapper li.frame dl.price dt { width: 40%; }
#course .wrapper li.frame dl.price dd { width: 60%; font-size: 18px; line-height: 120%;}
#course .wrapper li.frame h5 { font-size: 16px; padding: 0 0 15px;}
#course .wrapper li.top div ul { padding: 5%; margin: 15px 0 0;}
#course .wrapper li.top div ul li { font-size: 12px; letter-spacing: 1px;}
#course .wrapper li.frame p.select { font-size: 14px; margin: 0 0 15px;}
#course .wrapper li.frame ul.course_detail li { padding: 0 0 15px;}
#course .wrapper li.frame ul.course_detail li p { font-size: 12px;}
#course .wrapper li.frame ul.course_detail li dl { font-size: 12px; background: #c7b08a; }
#course .wrapper li.frame ul.course_detail li dl dt { width: 100%; padding: 2% 0;}
#course .wrapper li.frame ul.course_detail li dl dt.double { }
#course .wrapper li.frame ul.course_detail li dl dd { width: 94%; padding: 3%; background: #fff;}



#oneday { padding: 10px 0 25px;}
#oneday #oneday_detail { background: url(../images/menu/bridal/pic_16.jpg) center top no-repeat #fff; padding: 55% 5% 0; background-size: contain;}
#oneday #oneday_detail dl { font-size: 16px; padding: 15px 0 0; }
#oneday #oneday_detail dl dt { width: 60%;}
#oneday #oneday_detail dl dd { width: 40%; text-align: right;}
#oneday #oneday_detail ul li { font-size: 14px; padding: 10px 3%;}
#oneday #oneday_detail p { font-size: 12px;}
#oneday ol { padding: 20px 4% 35px; margin: 0;}
#oneday ol li { float: none; width: 94%; margin: 0 0 6px; padding: 10px 3%; height: inherit;}
#oneday ol li.height { height: inherit;}
#oneday ol li.last { width: 94%; margin: 0; height: 30px;}
#oneday ol li h4 { font-size: 14px;}
#oneday ol li h4 span { font-size: 18px;}
#oneday ol li p { font-size: 12px; padding: 0 0 0 15px;}
#oneday ol li.last span { padding: 0 40% 0 0;}

#flow { padding: 0;}
#flow ol.flow_box li.frame { background-size: 39px auto; padding: 0 0 20px;}
#flow ol.flow_box li.frame .container h4 { font-size: 18px; padding: 0 0 15px; line-height: 100%; text-align: center; width: 200px; margin: 0 auto;}
#flow ol.flow_box li.frame .container h4 span { vertical-align: middle; letter-spacing: 0;}
#flow ol.flow_box li.frame .container h4 img { padding: 0 10px 0 0; height: 25px; width: auto; float: none;}
#flow ol.flow_box li.one .container img.image { float: none; width: 100%; height: auto;}
#flow ol.flow_box li.one .container div { float: none; width: 90%; padding: 25px 5%;}
#flow ol.flow_box li.one .container div p { font-size: 12px; }
#flow ol.flow_box li.second .container { padding: 40px 3% 0;}
#flow ol.flow_box li.second .container ol li { margin: 0 0 15px;}
#flow ol.flow_box li.second .container ol li img { float: none; width: 100%; height: auto;}
#flow ol.flow_box li.second .container ol li div { float: none; width: 90%; padding: 5%;}
#flow ol.flow_box li.second .container ol li div p.step { font-size: 14px; margin: 0 auto;}
#flow ol.flow_box li.second .container ol li div p.text { padding: 15px 0 0; line-height: 20px;}
#flow ol.flow_box li.second .container ol li div p.text span { font-size: 12px; }
#flow ol.flow_box li.bottom .container h4.h4 { width: 100%; line-height: 120%; text-align: center;}

#contact { padding: 0 0 30px;}

}



