html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    /*font-size: 20px;*/
    color: #4d4d4d;
    /*vertical-align: baseline;*/
    background: transparent;
    /*
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", Osaka, sans-serif, Verdana, "游ゴシック", YuGothic;
    font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "メイリオ", Meiryo, Osaka, sans-serif, Verdana, "游ゴシック", YuGothic !important;
    */
    font-family: Arial,'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',"游ゴシック", YuGothic,"メイリオ", Meiryo,'sans-serif';
}

html{
  font-size: 62.5%;
}

body {
    min-width: 1300px;
}

ul,ol,li {
    list-style-type: none
}

a {
    /* color: #666; */
    color: #4d4d4d;
    text-decoration: none;
    outline: 0
}

a:link,a:visited,a:focus {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

h1 {
     font-size: 20px;
     font-weight: bold;
     color: #4c4c4c;
     text-align: center;
 }

h2 {
    font-size: 20px;
    color: #1043a9;
    font-weight: bold;
}

pre {
  overflow: hidden;
}

header {
  background: #fff;
  border-bottom: 1px solid #001030;
  position: fixed;
  width: 100%;
  z-index: 10000;
}

header .menu{
  width: 1300px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 15px 0px;
}

header nav{
  position: relative;
}
header nav *{
  /* font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, sans-serif, Verdana, "游ゴシック", YuGothic !important; */
  font-size: 1.4rem;
  line-height: 1.42857143;
  letter-spacing: 0;
  color: #001030;
  white-space: nowrap;
}


header nav .left{
  width: 170px;
  margin-left: 20px;
}
header nav .center{
  flex: 1;
}
header nav .right{
  width: 480px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-right: 20px;
}

header nav .center{
  display: flex;
  justify-content: flex-start;
}
header nav .center li{
  margin-right: 38px;
  position: relative;
}
header nav .center li>a {
  color: #001030;
  font-weight: bold;
}
header nav .center li>a.fashion_jewelry {
  border: 1px solid #001030;
  padding: 5px;
}
header nav .center li>a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #222;
  opacity: 0;
  -webkit-transition: opacity .4s;
  -o-transition: opacity .4s;
  transition: opacity .4s;
}
header nav .center li:not(:last-child):hover>a::after {
  opacity: 1;
}
header nav .center{
  position: relative;
}
header nav .right >*:not(.pc_menu_trigger){
  margin-right: 30px;
}
header nav .right .icon_txt,
header nav .right .icon_txt a{
  display: flex;
  align-items: center;
}
header nav .right .icon_txt p{
  font-weight: bold;
  margin-left: 2px;
}
header nav .right .reservation{
  margin-left: 14px;
  background-color: #001030;
  padding: 4px 16px;
  color: #fff;
}
header nav .right .reservation a{
}
header nav .right .reservation.active{
  margin-right: 30px;
}


header nav .bridal_submenu{
  display: none;
  opacity: 0;
  position:absolute;
  width:100%;
  /* bottom: -201px; */
  height: 120px;
  background-color: #fff;
  box-shadow: 0 4px 4px 0px rgba(80, 80, 80, 0.3);
  z-index: 10;
}
header nav .bridal_submenu>div{
  display:none;
  width: 1300px;
  margin: auto;
  padding: 10px 190px;
  box-sizing: border-box;
}
header nav .bridal_submenu ul,
header nav .bridal_submenu li a{
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  color: #001030;
}
header nav .bridal_submenu li{
  font-size: 1.4rem;
  padding: 20px 40px 0 0;
}
header nav .bridal_submenu img{
  width: 12px;
  margin-right: 4px;
}
header nav .bridal_submenu .spacer{
  width: 180px;
}

/*****
/* iPad mini 対応
******/
@media screen and (min-width:768px) and ( max-width:1024px) {
  .ipad header nav .center li{
    margin-right: 2vw;
  }
  .ipad header nav *{
    font-size: 1.6vw;
  }
  .ipad header nav .right >*:not(.pc_menu_trigger){
    margin-right: 2vw;
  }
}




/*
header .logo_area {
    width: 1300px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: auto;
    padding: 0;
    height: 80px;
}

header .gnavi_area {
    width: 1300px;
    background: #213872;
    padding: 0;
    margin: 0;
    margin-bottom: 30px;
}

header .logo_area .logo {
    flex-grow: 1;
    margin-left: 50px;
}

header .logo_area .logo img {
	width: 123px;
}

header .logo_area .brand {
    flex-grow: 2;
	text-align:left;
}

header .logo_area .brand img {
	text-align:left;
    margin: 35px 160px auto 0;
}

header .logo_area .info {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    position: relative;
}

header .logo_area .logo img {
    margin: 25px 5% 1% 0;
}

header .logo_area .info .reservation {
    display: flex;
    align-items: center;
    padding: 0 20px 0 20px;
    margin-right: 5%;
}


header .logo_area .info .tel {
    display: flex;
    align-items: center;
    margin-right: 5%;
    padding-left: 20px;
}

header .logo_area .info .reservation:before {
    content: "";
    position: relative;
    left: -20px;
    top: 0;
    height: 40px;
    border-left: 1px solid #cfdaee;
}

header .logo_area .info .tel:before {
    content: "";
    position: relative;
    left: -20px;
    top: 0;
    height: 40px;
    border-left: 1px solid #cfdaee;
}

header .logo_area .info p {
    font-size: 14px;
    color: #FFFFFF;
    margin-top: 5%;
}

header .logo_area .info .reservation p {
    line-height: 200%;
}

header .logo_area .info .reservation:hover {
    background-color: #a0b4dd;
}

.gnavi_area {
    width: 100%;
    background: #213872;
}

ul.nav {
    width: 1300px;
    height: 40px;
    margin: 0 auto;
    text-align: center;
}

ul.nav li {
    display: inline;
}

ul.nav li a {
    display: inline-block;
    padding: 0 0;
    margin: 0 -3px;
    width: 200px;
    line-height: 40px;
    color: #FFF;
    font-size: 13px;
    letter-spacing: 0.16em;
}

ul.nav li a:hover {
    background: #596a95;
}

ul.nav li a:focus {
    background: #596a95;
}

.line-before:before {
    content: "";
    position: absolute;
    left: 0.5px;
    top: 20%;
    height: 25px;
    border-left: 1px solid #8fa9dc;
}

.line-before-2:before {
    content: "";
    position: absolute;
    left: 1px;
    top: 20%;
    height: 25px;
    border-left: 1px solid #8fa9dc;
}

.line-before-3:before {
    content: "";
    position: absolute;
    left: 1.5px;
    top: 20%;
    height: 25px;
    border-left: 1px solid #8fa9dc;
}

.line-after:after {
    content: "";
    position: absolute;
    left: 198px;
    top: 20%;
    height: 25px;
    border-left: 1px solid #8fa9dc;
}

.nav li ul a {
    width: 100%;
}

.nav li.submenu-jptech-trigger:hover ul.submenu-jptech {
    display: block;
}

li ul.submenu-jptech {
    position: absolute;
    top: 22px;
    left: -3px;
    z-index: 10;
    display: none;
    min-width: 0px;
    width: 128px;
    padding: 0 0;
    margin: 2px 0 0;
    font-size: 13px;
    text-align: center;
    list-style: none;
    background-color: #213872;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    border: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.nav li ul.submenu-jptech li .submenu-divider1:before {
    content: "";
    position: absolute;
    left: 15px;
    top: 29px;
    width: 100px;
    border-top: 1px solid #8fa9dc;
}

.nav li ul.submenu-jptech li .submenu-divider2:before {
    content: "";
    position: absolute;
    left: 15px;
    top: 59px;
    width: 100px;
    border-top: 1px solid #8fa9dc;
}

.nav li ul.submenu-jptech li .submenu-divider3:before {
    content: "";
    position: absolute;
    left: 15px;
    top: 89px;
    width: 100px;
    border-top: 1px solid #8fa9dc;
}

.nav li.submenu-guarantee-trigger:hover ul.submenu-guarantee {
    display: block;
}

li ul.submenu-guarantee {
    position: absolute;
    top: 22px;
    left: -3px;
    z-index: 10;
    display: none;
    min-width: 0px;
    width: 128px;
    padding: 0 0;
    margin: 2px 0 0;
    font-size: 13px;
    text-align: center;
    list-style: none;
    background-color: #213872;
    -webkit-background-clip: border-box;
    background-clip: border-box;
    border: 0;
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
}
*/

/*
 * input类型为number的时候不显示上下小箭头
 */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
input[type="number"]{
    -moz-appearance: textfield;
}

.foot {
    width: 1300px;
    margin: auto;
    margin-top: 34px;
}

.foot1 {
    width: 100%;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    align-items: stretch;
    position: relative;
    margin-bottom: 53px;
}

.foot .foot1:before {
    content: "";
    position: absolute;
    left: 0;
    top: -4px;
    width: 100%;
    border-top: 1px solid #929292;
}

.foot1 .foot-present {
    flex-grow: 2;
    margin-right: 4px;
}

.foot1 .foot-reservation {
    flex-grow: 1;
    margin-right: 4px;
}

.foot1 .foot-tel {
    flex-grow: 1;
}

.foot1 .foot-present img,.foot-reservation img,.foot-tel img {
    width: 100%;
}

.foot2 {
    width: 100%;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    align-items: stretch;
    position: relative;
}

.foot .foot2:before {
    content: "";
    position: absolute;
    left: 0;
    top: -4px;
    width: 100%;
    border-top: 1px solid #929292;
}


/*.foot .foot2 .foot2-1 img,.foot2-2 img,.foot2-3 img,.foot2-4 img,.foot2-5 img {*/
    /*width: 100%;*/
/*}*/

.foot .foot1 .foot-present img:hover {
    -webkit-transition: all .1s linear;
    -moz-transition: all .1s linear;
    -ms-transition: all .1s linear;
    -o-transition: all .1s linear;
    transition: all .1s linear;
    opacity: 0.8;
}

.foot .foot1 .foot-reservation img:hover {
    -webkit-transition: all .1s linear;
    -moz-transition: all .1s linear;
    -ms-transition: all .1s linear;
    -o-transition: all .1s linear;
    transition: all .1s linear;
    opacity: 0.8;
}

.foot .foot2 img:hover {
    -webkit-transition: all .1s linear;
    -moz-transition: all .1s linear;
    -ms-transition: all .1s linear;
    -o-transition: all .1s linear;
    transition: all .1s linear;
    opacity: 0.8;
}

footer .footer-navi-bg {
    width: 100%;
    background-color: #e6e6e6;
}

footer .footer-navi {
    width: 1300px;
    background-color: #e6e6e6;
    font-size: 12px;
    padding: 0 2%;
    letter-spacing: 1px;
    margin: auto;
}

.footer-navi {
    width: 1300px;
    /* background-color: #e6e6e6; */
    background-color: #fff;
    font-size: 12px;
    padding: 0 2%;
    letter-spacing: 1px;
    margin: auto;
}

.footer-navi a {
    text-decoration: underline;
    line-height: 200%;
    position: relative;
    left: -10px;
}

.footer-navi a:hover {
    color: #1043a9;
}

.footer-navi span {
    color: #666;
    font-size: 14px;
	margin-left: -8px;
}

footer .footer-navi a {
    text-decoration: underline;
    line-height: 200%;
    position: relative;
    left: -10px;
}

footer .footer-navi a:hover {
    color: #1043a9;
}

footer .footer-navi span {
    color: #666;
    font-size: 14px;
}


/* footer */
footer{
  background-color: #e5e5e5;
}
footer *{
  font-size: 1.2rem;
  letter-spacing: 0;
  /* color: #333; */
  padding: 10px 0;
  line-height: 1;
  vertical-align: middle;
}
footer a:link,footer a:visited,footer a:focus {
  /* color: #333; */
  text-decoration: none;
}
footer .inner{
  width: 1300px;
  margin: 0 auto;
  padding: 50px 0 110px 0;
  font-weight: bold;
  display: flex;
  justify-content: space-around;
}
footer .inner .title{
  font-size: 1.4rem;
}
footer .inner .title~.title{
  margin-top: 16px;
}
footer .inner .title span{
  font-size: 1.2rem;
  margin-left: 8px;
}
footer .inner .reservation{
  background-color: #001030;
  padding: 10px 10px;
  color: #fff;
}
footer .inner .tel{
  width: 18px;
  margin-right: 2px;
  padding: 0;
}
footer .inner .sns{
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
footer .inner .sns a{
  padding: 0;
}
footer .inner .sns img{
  margin-right: 20px;
  padding: 0;
}
footer .external{
  width: 16px;
  margin-left: 6px;
  padding: 0;
}

footer .copyright {
  position: relative;
  color: #FFFFFF;
  text-align: center;
  background-color: #001030;
  padding: 22px 0;
  margin-top: 6px;
}
footer .copyright:before {
  content: '';
  position: absolute;
  left: 0;
  top: -10px;
  width: 100%;
  height: 10px;
  background-color: #fff;
}



.to-top {
    /*font-size: 20px;*/
    /*background-color: #edf0f9;*/
    /*padding: 0.5% 1%;*/
    width: 50px;
    height: 50px;
    padding: 19px;
    background-color: #e7ecf7;
    opacity: 0.8;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg); 	/* IE 9 */
    -moz-transform: rotate(45deg); 	/* Firefox */
    -webkit-transform: rotate(45deg); /* Safari 和 Chrome */
    -o-transform: rotate(45deg); 	/* Opera */
}

.to-top div {
    width: 20px;
    height: 20px;
    border-left: 1px solid #88a2d5;
    border-top: 1px solid #88a2d5;
}

.to-top:hover {
    opacity: 1;
}

#page_title {
	/*width: 100%;
	height: 35px;
	border-bottom: 1px solid #999;
	margin-bottom: 4px;
	display: inline-table;
	vertical-align: middle;*/
	width: 1300px;
	height: 35px;
	margin: -15px auto 4px;
  /*
	border-bottom: 1px solid #999;
	display: block;
  */
	display: none;
	border: 0;
}

.content {
    width: 1300px;
    margin: auto;
    padding-top: 71px;
}
.content980 {
    width: 980px;
    margin: auto;
    padding-top: 71px;
}

.pan {
	margin-top: 3%;
    width: 100%;
	background-color: #e6e6e6;
	display: block;
}

.pan span {
    width: 1300px;
    margin: 0 auto;
	background-color: #e6e6e6;
	font-size: 12px;
	display: block;
}

.footer-navi-bg {
  width: 1300px;
  background-color: #e6e6e6;
  margin: 0 auto;
  margin-top: 20px;
  display: block;
}



p{
  background: transparent;
}


.box {
  position: relative;
  width: 100%;
  text-align: center;
}
.split{
  width: 100%;
  display: flex;
  display: -webkit-flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
}


.link:hover{
    -webkit-transition: all .1s linear;
    -moz-transition: all .1s linear;
    -ms-transition: all .1s linear;
    -o-transition: all .1s linear;
    transition: all .1s linear;
    opacity: 0.8;
}
.link img:hover,
img.link:hover{
    cursor: pointer;
}




/*
 * footer
 */
.footer_contents {
    width: 1300px;
    margin: auto;
}
.footer_contents .box{
  align-items: flex-start;
}
.footer{
  margin-top: 26px;
}

.line{
	width: 100%;
	border-bottom: 1px solid #999;
	margin: 0 auto;
	margin-top: 52px;
	margin-bottom: 60px;
}

.present{
  position: relative;
}
.present img{
  width: 638px;
}
.present p{
  position: absolute;
  color : #fff;
  font-size: 19px;
}
.present .txt1{
  color : #ddd;
  top: 27px;
  left: 130px;
}
.present .txt2{
  top: 14px;
  left: 304px;
  font-size: 34px;
}
.present .txt3{
  top: 60px;
  left: 92px;
}
.present .txt4{
  top: 96px;
  left: 10px;
  font-size: 16px;
  font-weight: normal;
}
.present .txt5{
  top: 96px;
  left: 324px;
  font-size: 16px;
  font-weight: normal;
}

.reserve{
  background: linear-gradient(#a7a7a7, #fff);
  width: 640px;
  border: 1px solid #a0a0a0;
  box-sizing: border-box;
}
.reserve *{
  color: #333333;
}
.reserve img{
  width: 270px;
}
.reserve p{
  font-size: 22px;
}
.reserve .title{
  font-size: 38px;
  padding: 15px 0;
}
.reserve .split{
  justify-content: space-around;
}
.reserve .split >div{
  position: relative;
}
.reserve .split p{
  position: absolute;
  top: 92px;
  width: 100%;
}
.reserve .split p span{
  font-size: 30px;
}
.reserve .open{
  padding: 14px 0;
}

.ring2{
  margin-bottom: 20px;
}
.ring2 p{
  font-size: 21px;
  color: #595757;
  font-weight: bold;
}
.ring2 .title{
  font-size: 26px;
  margin-top: 10px;
  font-weight: normal;
}
.ring2 div{
  margin-bottom: 20px;
}

#common_footer_rings{
  margin-bottom: -20px;
}
#common_footer_reserve_present .footer > div{
  height: 326px;
}



/*
 * font
 */
.font_min{
  font-family : 'LibreBaskerville-Regular',"ヒラギノ明朝 Pro","Hiragino Mincho Pro",'ＭＳ Ｐ明朝',"MS PMincho",'serif';
  /* font-family : 'LibreBaskerville-Regular','PMingLiU-ExtB','SIL-Kai-Reg-Jian','Kai',"ヒラギノ明朝 Pro","Hiragino Mincho Pro",'宋体','SimSun','ＭＳ Ｐ明朝',"MS PMincho",Arial,'sans-serif'; */
  /* font-family : 'Libre Baskerville', 'SIL-Kai-Reg-Jian','Kai','ＭＳ Ｐ明朝','PMingLiU-ExtB',"ヒラギノ明朝 Pro","Hiragino Mincho Pro","MS PMincho",'SimSun',Arial,'宋体','sans-serif'; */
  /* font-family : 'SimSun', serif; */
  letter-spacing: 3px;
}
.font_min en{
  font-size: smaller;
}
.font_gothic{
  font-family: Arial,'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3',"游ゴシック", YuGothic,"メイリオ", Meiryo;,'sans-serif';
  /* font-family : Arial,'SIL-Hei-Med-Jian','Hei','Hiragino Sans GB', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3','黑体', 'Simhei','ＭＳ ゴシック', 'MS UI Gothic','sans-serif'; */
  /* font-family : 'SIL-Hei-Med-Jian','Hei','Hiragino Sans GB', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3','Simhei',Arial,'sans-serif'; */
  /* font-family : 'Microsoft YaHei', '微软雅黑', 'Simhei', sans-serif; */
  letter-spacing: 1px;
}
@font-face {
	font-family: 'LCALLIG';
	src: url('../font/LCALLIG.eot');
	src: local('LCALLIG'), url('../font/LCALLIG.woff') format('woff'), url('../font/LCALLIG.ttf') format('truetype');
}
@font-face {
  font-family: 'GoudyOldStyleT-Italic';
  src: url('../font/GoudyOldStyleT-Italic.eot?#iefix') format('embedded-opentype'),  url('../font/GoudyOldStyleT-Italic.woff') format('woff'), url('../font/GoudyOldStyleT-Italic.ttf')  format('truetype'), url('../font/GoudyOldStyleT-Italic.svg#GoudyOldStyleT-Italic') format('svg');
}
@font-face {
  font-family: 'Futura';
  src: url('../font/Futura.eot?#iefix') format('embedded-opentype'),  url('../font/Futura.otf')  format('opentype'),
	     url('../font/Futura.woff') format('woff'), url('../font/Futura.ttf')  format('truetype'), url('../font/Futura.svg#Futura') format('svg');
}
/* @import url('https://fonts.googleapis.com/css?family=Libre+Baskerville:700'); */
/* latin */
@font-face {
  font-family: 'LibreBaskerville-Regular';
  src: url('../font/LibreBaskerville-Regular.eot?#iefix') format('embedded-opentype'),  url('../font/LibreBaskerville-Regular.otf')  format('opentype'),
  url('../font/LibreBaskerville-Regular.woff') format('woff'), url('../font/LibreBaskerville-Regular.ttf')  format('truetype'), url('../font/LibreBaskerville-Regular.svg#LibreBaskerville-Regular') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'Jost-Regular';
  src: url('../font/Jost-Regular.eot?#iefix') format('embedded-opentype'),
/*  url('../font/Jost-Regular.otf')  format('opentype'), */
  url('../font/Jost-Regular.woff') format('woff'),
  url('../font/Jost-Regular.svg#Jost-Regular') format('svg'),
  url('../font/Jost-Regular.ttf')  format('truetype');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'DIN-Condensed-Bold';
  src: url('/font/DIN-Condensed-Bold.eot?#iefix') format('embedded-opentype'),
  url('/font/DIN-Condensed-Bold.otf')  format('opentype'),
  url('/font/DIN-Condensed-Bold.woff') format('woff'),
  url('/font/DIN-Condensed-Bold.svg#DIN-Condensed-Bold') format('svg'),
  url('/font/DIN-Condensed-Bold.ttf')  format('truetype');
  /* font-weight: normal;
  font-style: normal; */
}
@font-face {
  font-family: 'DIN-Bold';
  src: url('/font/DIN-Bold.eot?#iefix') format('embedded-opentype'),
  url('/font/DIN-Bold.otf')  format('opentype'),
  url('/font/DIN-Bold.woff') format('woff'),
  url('/font/DIN-Bold.svg#DIN-Bold') format('svg'),
  url('/font/DIN-Bold.ttf')  format('truetype');
  font-weight: bold;
  font-style: normal;
}
.font_din_bold{ font-family: 'DIN-Bold', sans-serif !important; font-weight: bold !important;}
@font-face {
  font-family: 'DIN-Medium';
  src: url('/font/DIN-Medium.eot?#iefix') format('embedded-opentype'),
  url('/font/DIN-Medium.otf')  format('opentype'),
  url('/font/DIN-Medium.woff') format('woff'),
  url('/font/DIN-Medium.svg#DIN-Medium') format('svg'),
  url('/font/DIN-Medium.ttf')  format('truetype');
  font-weight: normal;
  font-style: normal;
}
.font_din,
.font_din_medium{ font-family: 'DIN-Medium', sans-serif !important; }
@font-face {
  font-family: 'DIN-Regular';
  src: url('/font/DIN-Regular.eot?#iefix') format('embedded-opentype'),
  url('/font/DIN-Regular.otf')  format('opentype'),
  url('/font/DIN-Regular.woff') format('woff'),
  url('/font/DIN-Regular.svg#DIN-Regular') format('svg'),
  url('/font/DIN-Regular.ttf')  format('truetype');
  font-weight: normal;
  font-style: normal;
}
.font_din_regular{ font-family: 'DIN-Regular', sans-serif !important; }
@font-face {
  font-family: 'DIN-Light';
  src: url('/font/DIN-Light.eot?#iefix') format('embedded-opentype'),
  url('/font/DIN-Light.otf')  format('opentype'),
  url('/font/DIN-Light.woff') format('woff'),
  url('/font/DIN-Light.svg#DIN-Light') format('svg'),
  url('/font/DIN-Light.ttf')  format('truetype');
  font-weight: lighter;
  font-style: normal;
}
.font_din_light{ font-family: 'DIN-Light', sans-serif !important; font-weight: lighter !important;}

/*
 * 共通クラス
 */

.flex{
  display: flex;
  display:-webkit-flex;
}

/* 要素ホバーで半透過 */
.hover_alpha{
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: 1;
}
.hover_alpha:hover{
   opacity: 0.8 !important;
}


/* ハンバーガーメニュー */
.pc_menu_trigger {
  position: relative;
  width: 30px;
  height: 22px;
  cursor: pointer;
  z-index: 100000;
  transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
}
.pc_menu_trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #001030;
  border-radius: 4px;
}
.pc_menu_trigger, .pc_menu_trigger span {
  display: inline-block;
  transition: all .2s;
  box-sizing: border-box;
}
.pc_menu_trigger span:nth-of-type(1) {
  top: 0;
}
.pc_menu_trigger span:nth-of-type(2) {
  top: 10px;
}
.pc_menu_trigger span:nth-of-type(3) {
  bottom: 0;
}
.pc_menu_trigger.active {
  position: fixed;
  top: 25px;
  right: 20px;
}
.pc_menu_trigger.active span{
  background-color: #fff;
}
.pc_menu_trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(10px) rotate(-45deg);
  transform: translateY(10px) rotate(-45deg);
}
.pc_menu_trigger.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: anim_humb .8s forwards;
  animation: anim_humb .8s forwards;
}
.pc_menu_trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-10px) rotate(45deg);
  transform: translateY(-10px) rotate(45deg);
}
@-webkit-keyframes anim_humb {
  100% {
    height: 0;
  }
}
@keyframes anim_humb {
  100% {
    height: 0;
  }
}

/* サイドメニュー */
.h_navi *{
  color: #fff;
  font-size: 1.1rem;
  letter-spacing: 0rem;
}
.h_navi a{
	color: inherit;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
.h_navi {
    position: fixed;
    width: 0;
    height: 100%;
    margin-left: auto;
		padding: 0;
    background-color: #001030;
    opacity: 0;
    top: 0;
    right: 0px;
    -webkit-transform: translateX(200px);
    -ms-transform: translateX(200px);
    transform: translateX(200px);
    -webkit-transition: opacity .3s, width 0s .3s, -webkit-transform .3s;
    transition: opacity .3s, width 0s .3s, -webkit-transform .3s;
    -o-transition: opacity .3s, transform .3s, width 0s .3s;
    transition: opacity .3s, transform .3s, width 0s .3s;
    transition: opacity .3s, transform .3s, width 0s .3s, -webkit-transform .3s;
    z-index: 10000;
}
.h_navi.active {
    width: 410px;
    top: 0;
    right: 0;
    opacity: 1;
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    transform: translateX(0px);
    -webkit-transition: opacity .3s, width 0s, -webkit-transform .3s;
    transition: opacity .3s, width 0s, -webkit-transform .3s;
    -o-transition: opacity .3s, transform .3s, width 0s;
    transition: opacity .3s, transform .3s, width 0s;
    transition: opacity .3s, transform .3s, width 0s, -webkit-transform .3s;
}

.h_navi .h_navi_inner {
    height: 100%;
    width: 410px;
    margin-left: auto;
    position: absolute;
    top: 0;
}
.h_navi_inner {
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.h_navi_inner::-webkit-scrollbar {
  display: none;
}
/*
.h_navi_inner::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
.h_navi_inner::-webkit-scrollbar-track {
  border-radius: 5px;
  box-shadow: 0 0 4px #aaa inset;
  background: #001030;
}
.h_navi_inner::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background: #1959A8;
}
*/
.h_navi .side_menu .header{
  height: 71px;
}
.h_navi .side_menu>li:not(.header) {
		margin: 0 28px;
}
.h_navi .side_menu>li>a,
.h_navi .side_menu>li p {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
		line-height: 60px;
    margin: 0;
}
.h_navi .side_menu>li p .en {
    width: 42%;
    text-transform: uppercase;
}
body.Android .h_navi .en {
	font-family: 'Heebo', sans-serif;
}
.h_navi .side_menu>li p .jp {
    width: 46%;
		line-height: 60px;
		word-break: keep-all;
}
.h_navi .side_menu>li>a.btn_open::after,
.h_navi .side_menu>li p.btn_open::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 6px;
    width: 12px;
    height: 12px;
    background-image: url(/common_img/menu_arrow.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
    -webkit-transition: -webkit-transform .4s;
    transition: -webkit-transform .4s;
    -o-transition: transform .4s;
    transition: transform .4s;
    transition: transform .4s, -webkit-transform .4s;
    -webkit-transform: translateY(-50%) rotate(180deg);
    -ms-transform: translateY(-50%) rotate(180deg);
    transform: translateY(-50%) rotate(180deg);
}
.h_navi .side_menu>li>a.btn_open.active::after,
.h_navi .side_menu>li p.btn_open.active::after {
    -webkit-transform: translateY(-50%) rotate(0deg);
    -ms-transform: translateY(-50%) rotate(0deg);
    transform: translateY(-50%) rotate(0deg);
}
.h_navi .side_menu>li>a.btn_open.active,
.h_navi .side_menu>li p.btn_open.active,
.h_navi .side_menu>li:last-child{
	border-bottom: 1px solid #808080;
}
.h_navi .side_menu>li:last-child{
	margin-bottom: 6vw;
	/* iOS(iPhone6?)の場合、メニュー高さが画面より小さいと、
	メニューオープン時に裏のスクロールが選択され、
	フリーズしているように見えるので注意 */
}
.h_navi .side_menu>li p.btn_not_open a{
	width: 100%;
	display: flex;
  align-items: center;
}
.h_navi .side_menu>li .side_menu_sub {
    display: none;
    padding: 0;
}
.h_navi .side_menu>li .side_menu_sub li{
	position: relative;
  width: 300px;
  margin-left: auto;
}
.h_navi .side_menu>li .side_menu_sub li a {
    display: block;
    padding-left: 6px;
		line-height: 54px;
		margin-left: 20px;
    border-top: 1px solid #4d4d4d;
		box-sizing: border-box;
    color: #fff;
		text-decoration: none;
}
.h_navi .side_menu>li .side_menu_sub li:first-child a {
	border: 0 !important;
}
.h_navi .side_menu>li .side_menu_sub li:not(.not_link)::after ,
.h_navi .side_menu>li .btn_not_open::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 6px;
    width: 12px;
    height: 12px;
    background-image: url(/common_img/menu_arrow.png);
    background-size: auto 100%;
    background-repeat: no-repeat;
    -webkit-transform: translateY(-50%) rotate(90deg);
    -ms-transform: translateY(-50%) rotate(90deg);
    transform: translateY(-50%) rotate(90deg);
}
.h_navi .side_menu>li{
	border-bottom: 1px solid #a7a7a7;
  padding: 0 4px;
  cursor: pointer;
}
.h_navi .side_menu>li:first-child p ,
.h_navi .side_menu>li .side_menu_sub li:first-child a{
	border-top: 0;
}
.h_navi .t_dark_border { border-top: 1px solid #a7a7a7 !important; }
.h_navi .b_dark_border { border-bottom: 1px solid #a7a7a7 !important; }
.h_navi .side_menu>li>p .external{
	width: 20px;
  margin-left: -2px;
  object-fit: contain;
}
.h_navi .side_menu>li .side_menu_sub .external{
	width: 20px;
	height: 20px;
	margin-left: 10px;
	vertical-align: middle;
}
.h_navi .side_menu>li .side_menu_sub .not_link a{
  cursor: default;
}

/* 共通表示ブロック */
.block{
  margin-bottom: 20px;
}
.block.fair{
  /* 共通設定用 */
  width: 1300px;
  margin: auto;
  margin-bottom: 20px;
}

/* 来店予約・お客様サポート */
.res_sup{
  /* 共通設定用 */
  width: 1300px;
  margin: auto;
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.res_sup > div{
  background-color: #e0e0e0;
  width: 640px;
  padding-top: 10px;
  padding-bottom: 8px;
}
.res_sup .title{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 120px;
  font-size: 2.5rem;
  letter-spacing: 0.2rem;
}
.res_sup .btns{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
.res_sup .btns div{
  position: relative;
  width: 304px;
  height: 74px;
  background-color: #fff;
  border: 1px solid #888;
  margin: 8px;
  font-size: 1.9rem;
  letter-spacing: 0.1rem;
  line-height: 2.5rem;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
}
.res_sup .btns div.arrow{
  padding: 20px 60px 20px 20px;
}
.res_sup .btns div.arrow:after{
  position: absolute;
  right: 14px;
  top: 18px;
  content: "";
  display: block;
  background-image: url("/img/202007_renew/top_arrow.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 34px;
  height: 34px;
}
.res_sup .btns div > p:nth-child(2){
  font-size: 1.6rem;
}
.res_sup .top_reserve{
  flex: 1;
}
.res_sup .top_reserve .title img{
  margin-bottom: 20px;
}
.res_sup .top_reserve .btns > div:first-child{
  margin : 8px 100px; /*1行に1つ表示のため*/
}
.res_sup .top_support{
  width: 532px;
  margin-left: 18px;
}
.res_sup .top_support .title img{
  margin-bottom: 10px;
}
.res_sup .top_support .btns{
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* アンカー */
#integration ,#top_shoplist, #shop_info_sdj{
	margin-top:-70px;
    padding-top:70px;
	display: block;
}








/*トップページ2020年10月フェア*/




.top-box {
    position: relative;
}

.btn_01 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 60%;
left: 62%;}


.btn_02 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 71%;
left: 62%;}

.btn_03 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 82%;
left:62%;
}



.top-box2 {
    width: 1300px;
    display: block;
    margin: 0 auto;
    position: relative;
    margin-bottom: 20px;
}

.btn_01_02 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 68%;
left: 45%;}


.btn_02_02 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 68%;
left: 64.5%;}

.btn_03_02 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 67%;
left:82%;
}



/*10月10日 ブライダルfair　*/



.top-box_1010 {
    position: relative;
}

.btn_01_1010 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 60%;
left: 7%;}


.btn_02_1010 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 71%;
left: 7%;}

.btn_03_1010 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
position: absolute;
top: 82%;
left:7%;
}




.top-box3 {
    width: 1300px;
    display: block;
    margin: 0 auto;
    position: relative;
    margin-bottom: 20px;
}

.btn_01_03 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;
position: absolute;
top: 73%;
left: 3%;}


.btn_02_03 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 73%;
left: 27%;}

.btn_03_03 {
display: flex;
justify-content: center;
align-items: center;
cursor: pointer;

position: absolute;
top: 73%;
left:47%;
}
