
body { -webkit-text-size-adjust: 100%; }

p {
}
a {
	color:#333;
	cursor:pointer;
	}
a:hover {
	color:#A0082C !important;
}

div.linktxg a {
	color:#333;
}

hr.hr1 {
	margin-top: 5px;
    margin-bottom: 5px;
    border: 0;
    border-top: 1px solid #eee;
}

.flred { color:#e84545;}
.fred { color:#A0082C;}
.fblue { color:#06C;}
.fgold {color:#8C6900}
.darkbr {color:#220b05}
.fgray {color:#333}
.fgreen {color:#329796}
.fblk {color:#000}
.fwhite {color:#FFF}


.fgo { font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.fmin, 
.btn, 
.navi_tab, 
.footer, 
.works2022, 
.topics, 
.cc-window, 
.breadcrumbs, 
#menu2, 
.topall,
#shophead, 
.shopheadbt, 
#timeline, 
#reserv, 
#reserv00, 
.btn_g, 
#biz_calendar, 
#menu2-1, 
#tc-widget, 
.search-widget-search-container-bf1818, 
.box_bj, 
.mobileGBmenu, 
.drawer-nav, 
.wedlp_toi, 
.hm_list, 
.wedmbmn, 
.btn_en03, .btn_en08, .btn_en_wdd, .btn_en_gr, .btn_en_grbr {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;
	font-weight: normal !important;
}

.fgo, 
.works2022 .w90p, 
.work p, 
#shophead a, 
.priceset .price .fmm, 
.postpage h1, .postpage h2, .postpage h3, .postpage h4, .postpage h5  {
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
}


h1, h2, h3, h4, h5, 
.fm, .fmm, .fl, .fll, 
#shophead .fa-2x a, 
#shophead li a, 
#shophead .shopheadbt01 a, 
h1.ti02, h2.ti04, h2.ti04-1, h3.ti03, h3.rti03 {
	font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;
	font-weight: normal !important;
}

.fmin h1, 
.fmin h2, 
.fmin h3, 
.fmin h4, 
.fmin h5 {
	font-weight:normal !important;
}




.tx_line{
    text-decoration-line: underline;
    text-decoration-color: #000;
    text-decoration-thickness: 1px;
    text-underline-offset: 6px;
    text-decoration-skip-ink: none;
    line-height: 200%;
}



.fa, .far, .fas {
    font-family: "Font Awesome 5 Free" !important;
}

.ftt {
	-ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.hm_btn {
    width: 32px !important;
    height: 26px !important;
    margin: 8px 5px !important;
}

#wedding .hm_btn::before, #wedding .hm_btn::after {
    width: 32px !important;
    height: 1px !important;
}

.btn {
        margin-bottom:2px;
        background-color: #A0082C;
        color: #fff !important;
        font-weight: 600;
        border: 0;
        -moz-border-radius: 2px;
        -webkit-border-radius: 2px;
        border-radius: 2px;
        display: inline-block;
        /*	text-transform: uppercase;*/
}

.btn-wed {
        margin:2px;
	display:block;
	width:100%;
	height:100%;
	color: #000000;
	font-weight: 600;
	border: 0;
	-moz-border-radius: 2px;
	-webkit-border-radius: 2px;
	border-radius: 2px;
	display: inline-block;
/*	text-transform: uppercase;*/
}

.btn-large {
	padding: 10px;
	min-width:280px;
}
.btn-s {
	margin:0 !important;
	padding: 4px 10px !important;
	width:70px !important;
}
.btn-white {
	background-color:#FFF !important;
	color:#A0082C;
}
.btn-wk {
	padding:2px 10px;
	background-color:#FFF;
	border:#999 1px solid;
	color:#333;
}
.btn-radius {
	padding:4px 10px;
	border-radius:2px;
	color:#fff;
	font-size:90%;
}

.btn_readm {
	background-color:#FFF !important;
	color:#333;
}

.btn:hover, .btn:focus, .btn-white:hover, .btn-white:focus, .btn-wk:hover, .btn-wk:focus, .btn-gold:hover, .btn-gold:focus  {
	background-color: #000 !important;
	color: #fff !important;
}
.btn_readm:hover {
	background-color:#FFF !important;
	color:#ccc !important;
}

.btn-ac {
    display: block;
    text-align: left;
    border-bottom: 1px #bbbbbb dotted;
    margin: 10px 0;
    padding-bottom: 6px;
    color: #333333;
}
.btn-ac:hover {
opacity:0.6;
}


.btn_gs, .btn_l {
	background-color: #FFF;
	border:#666 1px solid;
	color: #666;
	border-radius:0 !important;
	font-weight:normal !important;
}
.btn_gs:hover {
	color: #fff !important;
	background-color: #666 !important;
opacity:1 !important;
}
.btn_gsr {
	background-color: #666;
	border:#666 1px solid;
	color: #FFF;
	border-radius:0 !important;
	font-weight:normal !important;
}
.btn_g {
background-color: #666 !important;
	border:#666 1px solid !important;
    color: #FFF !important;
padding: 12px !important;
}
.btn_gsr:hover, .btn_g:hover {
	color: #666 !important;
	background-color: #FFF !important;
	border:#666 1px solid; !important;
opacity:1 !important;
}

.btn_ll a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 1em 2em;
  width: 400px;
  color: #FFF;
  font-size: 18px;
  font-weight: 700;
  background-color: #a19574;
  box-shadow: 0 5px 0 #83795d;
  transition: 0.3s;
}

.btn_ll a::after {
  content: '';
  width: 10px;
  height: 10px;
  border-top: 3px solid #FFF;
  border-right: 3px solid #FFF;
  transform: rotate(45deg);
}

.btn_ll a:hover {
  transform: translateY(3px);
  text-decoration: none;
  box-shadow: 0 2px 0 #aaaaaa;
  color: #FFF !important;
opacity:0.75;
}

#reserv .btn_l {
    font-size: 100% !important;
    padding: 5px 10px !important;
    border-radius: 5px !important;
    font-weight: 500 !important;
	background-color: #A0082C !important;
    border: none !important;
}

@media screen and (max-width: 768px) {
.btn_ll a {
  width: 100% !important;
}
}

.width100 { width:100% }

/*グリッド高さそろえ（親要素に）*/
.grid_h {display:flex !important; flex-wrap:wrap !important;}
/*グリッド内の上下中央に配置*/
.grid_h_va {position: relative !important; top: 50% !important; -webkit-transform: translateY(-50%) !important; transform: translateY(-50%) !important;}


.sp15 { height:15px;}
.sp25 { height:25px;}
.sp50 { height:50px;}
.sp75 { height:75px;}
.sp100 { height:100px;}

.mg0 {margin: 0px !important;}
.mg10 {margin: 10px;}
.mg20 {margin: 20px;}
.mg30 {margin: 30px;}

.mgt0 {margin-top: 0px !important;}
.mgt5 {margin-top: 5px;}
.mgt10 {margin-top: 10px;}
.mgt20 {margin-top: 20px;}
.mgt30 {margin-top: 30px;}
.mgt50 {margin-top: 50px;}

.mgbt0 {margin-bottom: 0px !important;}
.mgbt5 {margin-bottom: 5px;}
.mgbt10 {margin-bottom: 10px;}
.mgbt20 {margin-bottom: 20px;}
.mgbt30 {margin-bottom: 30px;}
.mgbt50 {margin-bottom: 50px;}

.pd0 {padding: 0px !important;}
.pd10 {padding: 10px !important;}
.pd20 {padding: 20px !important;}
.pd30 {padding: 30px !important;}
.pd50 {padding: 50px !important;}
.pd70 {padding: 70px !important;}

.pd10s {padding: 10px !important;}
.pd20s {padding: 20px !important;}
.pd30s {padding: 30px !important;}
.pd50s {padding: 50px !important;}
.pd70s {padding: 70px !important;}
@media screen and (max-width: 768px) {
.pd10s, 
.pd20s, 
.pd30s, 
.pd50s, 
.pd70s {padding: 0px !important;}
}

.pdt0 {padding-top: 0px !important;}
.pdt5 {padding-top: 5px;}
.pdt10 {padding-top: 10px;}
.pdt20 {padding-top: 20px;}
.pdt30 {padding-top: 30px;}
.pdt50 {padding-top: 50px;}
.pdbt0 {padding-bottom: 0px !important;}
.pdbt5 {padding-bottom: 5px;}
.pdbt10 {padding-bottom: 10px;}
.pdbt20 {padding-bottom: 20px;}
.pdbt30 {padding-bottom: 30px;}
.pdbt50 {padding-bottom: 50px;}

.sm { display:none; }
.sm1200 { display:none; position:relative !important; z-index:9999999 !important; /*margin-top:50px;--2019/9/25*/}
.sm640 { display:none; }
.sm320 { display:none; }
.pc1500 { display:none; }

.al-ct { text-align:center !important; margin:auto !important;}
.al-lt { text-align:left !important;}
.al-rt { text-align:right !important;}
.fl-no { float:none !important;}

.table-cell {
 display: table-cell; /* IE8から使用可能 */
 vertical-align: middle;
}

.pccenter { text-align:center !important}
@media screen and (max-width: 768px) {
.pccenter { text-align:left !important}
}

.w100, .w100 .container { width:100% !important;}

.listdecmal li {margin-left:30px; list-style-type: decimal;}

/*NEW*/
.ic_new {
	color: #fff !important;
	font-size: 10px;
	background-color:#CC0000;
	padding:0 3px;
	margin:0 5px;
	line-height: 100% !important;
}

@media screen and (max-width: 768px) {
.table_normal td {
display:block;
vertical-align:top !important;
}
}

.gtable {
}
.gtable table th {
	background-color:#efefef;
	text-align:center;
}
.gtable table td {
	border:1px #333333 solid;
	border-collapse:collapse;
	padding:5px;
}

ol.kakko {
	margin-left: 2em; /* サイトに合せて調整 */
}

ol.kakko li {
	list-style-type: none;
	counter-increment: cnt;
	position: relative;
}

ol.kakko li:before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -3.5em; /* サイトに合せて調整 */
	width: 3em; /* サイトに合せて調整 */
	text-align: right;
	position: absolute;
	top: 0;
	left: 0;
}


/* ------------------------------------------------------------------------------
	Global Styles
-------------------------------------------------------------------------------*/
a {
	color:#333;
	/*color: #e84545;*/
text-decoration:none;
}
#page a {
color: #e84545;
}
a:hover, a:focus {
	text-decoration: none;
	-moz-transition: background-color, color, 0.3s;
	-o-transition: background-color, color, 0.3s;
	-webkit-transition: background-color, color, 0.3s;
	transition: background-color, color, 0.3s;
}
body {
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "游ゴシック", YuGothic, "メイリオ", Meiryo, Osaka,"ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: 400;
	color: #333;
	letter-spacing:0.02em;
	font-size: 1em;
	line-height: 1.6em;
	overflow:auto;
	overflow-x: hidden;
}
ul, ol {
	margin: 0;
	padding: 0;
}
ul li {
	list-style: none;
}
.section0 {
	padding-top: 0 !important;
}
.section {
	padding: 100px 0;
}
.section1 {
	padding: 100px 0 0 0 !important;
}
.section2 {
	padding: 50px 0 0 0 !important;
}
.section3 {
	padding: 20px 0 0 0 !important;
}
.section4 {
	padding: 50px 0;
}
.section4-1 {
	padding: 20px 0 50px 0;
}
@media screen and (max-width: 992px) {
	.section4-1 {
	padding-top: 30px !important;
}
}
.section5 {
	padding: 160px 0 0 0 !important;
}
.section6 {
	padding: 120px 0 0 0 !important;
}

.no-padding {
	padding: 0;
}
.no-gutter [class*=col-] {
	padding-right: 0;
	padding-left: 0;
}
.no-gutter [class*=colfx] {
	padding-right: 0 !important;
	padding-left: 0 !important;
}
.space {
	margin-top: 60px;
}


.fss { font-size:65% !important;}
.fs { font-size:80% !important;}
.fn { font-size:100% !important;}
.fmm { font-size:130% !important;}
.fm { font-size:150% !important;}
.fl { font-size:200% !important;}
.fll { font-size:260% !important;}

h3.title { 
font-size:1.3em; 
line-height:1.4em; 
border-left: #CCC 7px solid;
margin: 40px 0 0 0 !important;
    padding-left: 8px;
}
h5.title { 
font-size:1.2em; 
line-height:1.4em;
margin: 30px 0 10px 0 !important;
padding: 8px 15px;
background-color: rgba(0, 0, 0, 0.1);
}

h4 {
  position: relative;
  display: inline-block;
  padding: 0 55px;
  font-size: 1.5em;
  margin: 10px auto 60px auto;
  text-align: center;
}

h4:before, h4:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 1px;
  background-color: #333;
}

h4:before {
  left:0;
}
h4:after {
  right: 0;
}

@media screen and (max-width: 768px) {
h4 {
  margin: 10px auto 30px auto;
  padding: 0 40px;
}
h4:before, h4:after {
  width: 25px;
}
}

.container .container { width:100% !important; padding:0 !important; margin:0 !important;}

.sm { display:none; }
@media screen and (max-width: 768px) {
.pc { display:none; }
.sm { display:block; }
}

#topbutton { /* ▼表示位置を画面の右下に固定 */
      position: fixed;
      bottom: 10px;
      right: 15px;
      display: none;
      background-color: #333;
      opacity: 0.8;
      text-align: center;
      margin: 0px;
      padding-top: 15px;
      width: 60px;
      height: 60px;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      border-radius: 50%;
      z-index:9999999;
   }
   #topbutton a {
      color: #FFF;
      text-decoration: none;
      /* padding: 15px; */
   }
   #topbutton a:hover {
      color: #FFF !important;
   }
   #topbutton:hover {
	   background-color:#000;
   }

/* ------------------------------------------------------------------------------
	Foot
-------------------------------------------------------------------------------*/
#foot {
border-top:1px solid #CCC;
width:100%;
padding-top:30px;
}
#foot ul {
font-size:0.9em;
line-height:1.8em;
color:#555;
}
#foot ul a {
	color:#555;
}
.ftmenu li {
	float:left;
	padding-right:25px;
}
@media screen and (max-width: 768px) {
#foot .ftmenu {
	display:none;
}
#foot .text-end {
	text-align: center !important;
}
#foot.section2 {
	padding: 30px 0 60px 0 !important;
}
}

/* ------------------------------------------------------------------------------
	Headmenu_TOP
-------------------------------------------------------------------------------*/

#head {border-bottom:1px solid #CCC;width:100%;height:100px;padding:15px 0;position: fixed;background-color: #FFF;z-index: 1;}

#head h1 {
width: 80px;
text-align:left;
}

.header {
  position: relative;
  /*padding: 20px;*/
}

.gbmenu ul {
margin:45px auto 0 auto;
    text-align: center;
	width: 600px;
}
.gbmenu ul li {
float: left;
    text-align: center;
	width: 200px;
}
.gbmenu0930 ul li {
	width: 300px !important;
}
.gbmenu a {
	display:block;
	font-size:100%;
	color:#000 !important;
}
.gbmenu a:hover {
	color:#A0082C !important;
}

.hamburger {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 100;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #333;
  transition: all .4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}
.hamburger__line:nth-of-type(2) {
  top: 23px;
}
.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 100vh;
  background-color: #fff;
  box-shadow: 2px 0 4px rgba(0,0,0,.1);
  transform: translateX(-100%);
  transition: transform .4s;
  z-index: 90;
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 100px 0 0;
  list-style: none;
}

.nav__item {
  padding: 0 20px;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color: #333 !important;
  text-decoration: none;
  border-bottom: 1px solid #eee;
}

@media screen and (max-width: 768px) {
.gbmenu { 
display:none; 
}
#head {
height:80px;
padding:15px;
}
#head h1 {
width: 50px;
text-align:left;
}
}

#page ol li {
margin-left:20px;
}

/* ------------------------------------------------------------------------------
	 Serives
-------------------------------------------------------------------------------*/
.service-section {
	padding-top: 100px;
}
.services {
	margin-bottom: 20px;
}
.services-content {
	/*padding: 0 15px;*/
	padding: 0;
	margin-top: 30px;
}
.services .icon {
	color: #00aeda;
	font-size: 50px;
	padding-left: 15px;
}
.services a:hover img {
	opacity:0.5 !important;
}

.grid img {
    width: 100%;
}

/* ------------------------------------------------------------------------------
	 MAIN
-------------------------------------------------------------------------------*/
#main {
	padding-top:150px;
}
@media screen and (max-width: 768px) {
#main {
	padding-top:80px;
}
}

@media screen and (min-width: 769px) {
.anchor > a {
    display: block;
	padding-top: 150x !important;
	margin-top: -150px !important;
pointer-events: none;
}
}

@media screen and (max-width: 768px) {
.anchor > a {
    display: block;
	padding-top: 80px !important;
	margin-top: -80px !important;
pointer-events: none;
}
}

/* ------------------------------------------------------------------------------
	 news
-------------------------------------------------------------------------------*/
.display-posts-listing{
  list-style: none outside;
  margin: 0 auto;
  padding: 0;
}
.display-posts-listing .listing-item{
  border-bottom: 1px solid #CCC;
  padding: 20px 20px;
  display: flex;
  flex-wrap: nowrap;
}
.display-posts-listing .listing-item a{
  text-decoration: none;
  color: #333 !important;
}
.display-posts-listing .listing-item a:hover {
	color:#A0082C !important;
}
.display-posts-listing .listing-item:first-child{
  border-top: 1px solid #CCC;
}
.display-posts-listing .listing-item .date{
  margin: 0;
  min-width: 120px;
  font-size: 0.8em;
  color: #999;
  padding: 0 20px 0 0;
}
.display-posts-listing .listing-item .title{
  margin: 0;
  width: 100%;
}

@media screen and (max-width: 768px){
.display-posts-listing .listing-item{
  flex-wrap: wrap;
}
.display-posts-listing .listing-item .date{
  min-width: 100px;
}
.display-posts-listing .listing-item .title{
  margin-top: 10px;
}
}

#page .news .date {
font-size: 0.8em !important;
color: #999 !important;
margin-bottom: 0px;
}

/* ------------------------------------------------------------------------------
	 Form
-------------------------------------------------------------------------------*/

input, select {
	margin:3px;
	padding:0 3px;
	color:#000;
	vertical-align:middle;
	line-height:100%;
	font-size:15px;
}

label { font-weight:normal !important}

/******************************************************************/

input, button, textarea, select {
	padding:2px 4px;
	vertical-align:baseline;
}


.tabledt dl, .tabledt dl dl {
	width: 100% !important;
	margin:0 auto !important;
	display:block !important;
	clear:both !important;
	background-color:#EBEBEB !important;
}
.tabledt dt, .tabledt dt dt {
	float: left;
	text-align: left;
	padding-right:20px;
	font-weight:normal;
	vertical-align:bottom;
}
.tabledt dd, .tabledt dd dd {
	float: left;
	text-align: left;
	vertical-align:bottom;
}
.dt130 dt { width:140px;}




@media print, screen and (max-width: 899px) {
.mailform {
	width: 95%;
	text-align:left !important;
	margin-left:0 !important;
	padding-left:0 !important;
}
.mailform dt, .mailform dd, .tabledt dt, .tabledt dd, .tabledl dt, .tabledl dd {
	display:block !important;
	width:100% !important;
}
.mailform dt {
	margin-bottom:0 !important;
}

.tabledl dt {
	margin:5px 5px 0 5px !important;
}
.tabledl dd {
	margin:0 5px 5px 5px !important;
}

}


@media screen and (max-width: 640px) {
.mailform .sm100 {
	width:100% !important;
}

}






/*--------no print---------------------------------------------------------*/
@media print{
#nav1, #reserv.reserv_fix .row, #topbutton {
	display:none;
	}
}
/*--------print---------------------------------------------------------*/
body {
-webkit-print-color-adjust: exact;
}

