@charset "utf-8";

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}

html {
  box-sizing: border-box;
}

*, *:before, *:after {
  box-sizing: inherit;
}

body {
	font-family: Avenir, Helvetica, Arial, Verdana, "游ゴシック", Yu Gothic, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
	line-height: 1;
	font-size: 13px;
}

article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}

ul {
	list-style: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

img {
	font-size: 0;
	line-height: 0;
	vertical-align: top;
}

.clearfix:after {
	content: '';
	clear: both;
	display: block;
}

a {
	margin: 0;
	padding: 0;
	display: block;
	text-decoration: none;
}

a.under {
	text-decoration: underline;
}

a:link {
}

a:visited {
}

a:hover {
}

a:active {
}

.pc-only {
  display: none !important;
}

.f_right {
	float: right;
}
.f_left {
	float: left;
}

.w100 {
  display: block;
  width: 100%;
}

.w50 {
  display: block;
  width: 50%;
}

.bold {
  font-weight: bold;
}

.roboto {
  	font-family: 'Roboto Condensed', sans-serif;
}

.t_center {
  text-align: center;
}

.wrap {
  overflow: hidden;
}

#wrap {
  position: relative;
}

/* ===================================
  ローディング画面
------------------------------------*/
.top_page {
  overflow-y: scroll;
}
#loader_wrap {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 9999;
  display: none;
}

.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #fff;
  z-index: 52;
}

.loader img {
  width: 50%;
}

/* ===================================
	ヘッダー
------------------------------------*/
header {
  position: relative;
	width: 100%;
	color: #fff;
	background: #fff;
  z-index: 901;
}

.h_logo {
	width: 35px;
	margin: auto;
  padding: 6px 0;
  height: 59px;
  display: flex;
  align-items: center;
}

.lang a {
	position: absolute;
	top: 0;
	right: 0;
  width: 70px;
  height: 60px;
  background: #4a4646;
  color: #fff;
  font-size: 15px;
  text-align: center;
  line-height: 60px;
}

/* メニュー */
.menu {
	overflow-y: auto;
	position: absolute;
	top: 0;
	left: 0;
	width: 65%;
	background: #fff;
	text-align: left;
  transition:all 0.3s linear;
}
.menu ul, .submenu {
  display: flex;
  flex-direction: column;
}
.menu ul li a {
  position: relative;
	display: block;
	padding: 15px 20px;
	border-bottom: #ccc 1px solid;
	color: #595146;
}
.menu ul li a.dotted {
  border-bottom: #e8e8e8 1px dotted;
}
.menu ul li a.gold {
  color: #d7c077;
}
.menu ul li a:before {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 8px;
  content: '';
  margin-top: -4px;
  border-top: solid 1px #bc9f42;
  border-right: solid 1px #bc9f42;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.menu ul li a.m_wed {
  background: #d7c077;
  color: #fff;
}

.menu ul li a.m_res {
  background: #4a4646;
  color: #fff;
}

.menu ul li a.m_res:before {
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}

.menuOff {
	-webkit-transform: translate3d(-100%, 0, 0);
	transform: translate3d(-100%, 0, 0);
	z-index: 999;
}

.menuOn {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.menuOn ul .submenu_wrap:first-child {
  border-top: solid 1px #ccc;
}

.fixed {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

.overlay {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.4);
	z-index: 900;
  transition:all 0.3s linear;
}

.nav_icon {
	position: absolute;
	top: 8px;
	left: 10px;
	width: 44px;
	height: 44px;
	display: block;
}

.hamburger {
		background: url(../img/h_btn_open.png) center center no-repeat;
		background-size: 40px 40px;
}

.arrow {
		background: url(../img/h_btn_close.png) center center no-repeat;
		background-size: 40px 40px;
}

/* ===================================
	コンテンツ
------------------------------------*/
/* 共通 */
.inner {
  padding: 60px 10px;
}

.toppage #concept {
  background: #ebebe8;
}

.inner2 {
  margin: 30px 10px;
}

.inner3 {
  margin: 30px 0;
}

.inner4 {
  margin: 73px 0;
}

.inner_color {
  margin: 34px 0;
  padding: 25px 11px;
  background: #ebebe8;
}

.title01 {
  margin: 32px 0 17px;
  font-size: 20px;
  text-align: center;
}

.title02 {
  margin: 17px 0;
  font-size: 15px;
  text-align: center;
  line-height: 1.2em;
}

.title03 {
  margin: 12px auto 32px;
  width: 140px;
  height: 18px;
	border-top: 1px solid #000;
  font-size: 15px;
  font-weight: normal;
  text-align: center;
}

.title03 span {
  position: relative;
	top: -50%;
	padding: 0 10px;
	background: #fff;
}

.title04 {
  color: #d7c077;
  font-size: 26px;
  font-weight: bold;
  text-align: center;
}

.title05 {
  margin: 17px 0 10px;
  font-size: 13px;
  text-align: center;
  line-height: 1.4em;
}

.title05 span {
  font-weight: normal;
}

.txt01 {
  margin: 10px 10px 45px;
  line-height: 1.8em;
}

.txt02 {
  margin: 10px;
  font-size: 12px;
  line-height: 1.8em;
}

.txt03 {
  margin: 10px;
  line-height: 1.8em;
}

.ph_area {
  display: block;
  width: 100%;
  margin: 10px 0;
}


/* ===================================
	トップ
------------------------------------*/
/* スライダー */
.slider {
	margin: 0;
	width: 100%;
	text-align: left;
	position: relative;
}

.slider ul {
	width: 100%;
}

.slider ul li {
	top: 0;
	left: 0;
	width: 100%;
	display: none;
	position: absolute;
}

.slider ul li img {
	width: 100%;
}


/* 各ページへのリンク */
.top_link a {
  position: relative;
  width: 50%;
}
.toppage .inner.top_link {
  display: flex;
}
.toppage .top_link a {
  height: fit-content;
}
.toppage .top_link img {
  height: 45vh;
  object-fit: cover;
}
.toppage .top_link a:last-child {
  margin-top: 100px;
}

.linktext_wrap {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 112px;
	height: 112px;
	border: 1px solid #fff;
}

.linktext {
	margin: 1px;
	width: 108px;
	height: 108px;
	background-color: rgba(255,255,255,0.8);
  color: #000;
	text-align: center;
	line-height: 0.8em;
	font-size: 17px;
  font-weight: bold;
	padding-top: 42px;
}

.linktext span {
	display: inline-block;
	font-size: 10px;
	font-weight: normal;
}

/* ニュース */

.news li a {
  padding: 14px 10px;
  border-bottom: 1px solid #ebebe8;
  line-height: 1.4em;
  color: #000;
}

.news li a span {
  display: block;
  margin-bottom: 6px;
  padding: 1px;
  width: 90px;
  background: #c8ae53;
  text-align: center;
  color: #fff;
}

.news_btn {
  display: block;
  margin: 30px auto;
  padding: 10px;
  width: 100px;
  border: 1px solid #000;
  font-size: 15px;
  text-align: center;
  color: #000;
}

/* 姉妹店 */
.other_res li {
  width: 48%;
}

.other_res li h3 {
  font-weight: normal;
  text-align: center;
  line-height: 1.2em;
  font-size: 12px;
  color: #000;
  margin: 3px 0 15px;
}

/* ===================================
	レストランページ
------------------------------------*/
/* アクセス */
.ac_subtitle {
  margin: 58px 0 9px;
  text-align: center;
}

.map_area {
  width: 100%;
}

/* コンセプト */
.isojima_ph {
  display: block;
  margin: auto;
  width: 190px;
}

.menu_link li {
  float: left;
  width: 32%;
  margin-right: 2%;
}

.menu_link li a::before {
  content:'';
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.menu_link li:last-child {
  margin-right: 0;
}

.menu_link li a {
  position: relative;
}

.menu_link li a div {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

/* アコーディオン */
.res_menu {
	margin-top: -12px;
}

.accordion {
  border-bottom: 1px solid #ebebe8;
}

.accordion dt {
	position: relative;
  padding: 10px 10px 14px;
  border-top: 1px solid #ebebe8;
	background: url(../img/restaurant/mark_down.png) 95% 90% no-repeat;
	background-size: 17px 11px;
  text-align: center;
  font-size: 12px;
  line-height: 1.4em;
}
.accordion dt.active {
	background: url(../img/restaurant/mark_up.png) 95% 90% no-repeat;
	background-size: 17px 11px;
}
.accordion dt#takeout {
  background: none;
}
.accordion dt span {
  font-size: 20px;
  font-weight: bold;
}

.accordion dd {
	padding: 20px;
  background: #ebebe8;
}

.accordion dd h3 {
  margin: 36px 0 8px;
  font-size: 15px;
  line-height: 1.5em;
  font-weight: bold;
  text-align: center;
}

.accordion dd h3.parti {
  margin: 46px 0 8px;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.accordion dd h4 {
  margin: 30px 0 8px;
  font-size: 15px;
  font-weight: bold;
}

.accordion dd h4.jn {
  font-size: 14px;
}

.accordion dd p {
  line-height: 1.4;
  margin: 6px 0 0;
}

.accordion dd .price {
  text-align: right;
  margin: 0;
}

.accordion dd .note{
  margin-top: 20px;
  font-size: 12px;
}


/* スペース */
.column2_ph {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  max-width: 960px;
  margin: 46px auto 68px;
  flex-wrap: wrap;
}
.column2_ph img {
  width: 50%;
  max-width: 300px;
  padding: 0 5px;
  margin: 5px 0;
}

.charlotte_ph_area {
  display: block;
  margin: 40px auto 0;
  width:200px;
}

.floor {
  margin: 30px 0 14px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

.floor span {
  display: block;
  font-size: 12px;
}

.seating {
  padding-bottom: 16px;
  margin-bottom: 16px;
  text-align: center;
  border-bottom: 1px solid #cdcdc5;
}

.seating_txt {
  text-align: center;
  line-height: 1.8em;
}

/* ===================================
	ウェディングページ
------------------------------------*/
.fair_area{
  display: flex;
  flex-wrap: wrap;
}
.style_area {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
  max-width: 960px;
  margin: 50px auto 100px;
}
.inner4 .style_area {
  margin-bottom: 20px;
}
.style_area li {
  width: 75%;
  padding: 0 10px;
  margin: 0 10px 15px;
  max-width: 300px;
}
.style_area li a img {
  height: 40vw;
  max-height: 182px;
  object-fit: cover;
  padding: 7px;
  border: solid 1px #d7c077;
}
.fair_area li {
  width: 50%;
  padding: 0 10px;
  margin-bottom: 22px;
  max-width: 216px;
}

.fair_ph {
  display: block;
  position: relative;
  float: left;
  padding: 100% 0 0;
  margin-bottom: 10px;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.fair_ph img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fair_area h3 {
  margin: 6px 0 ;
  font-size: 12px;
  font-weight: normal;
  line-height: 1.2em;
  color: #cbb15d;
}
.style_area h3 {
  margin: 12px 0;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.2em;
  text-align: center;
  letter-spacing: 1px;
  color: #000;
  text-transform: uppercase;
}
.style_area h3 span {
  font-size: 0.8em;
  font-weight: normal;
  display: block;
}

.fair_area p {
  font-size: 11px;
  line-height: 1.4em;
  color: #000;
  overflow: hidden;
}

.wed_btn {
  display: block;
  margin: auto;
  padding: 14px 0;
  width: 150px;
  text-align: center;
  color: #fff;
  background: #d7c077;
}

.wed2colum_ph {
  justify-content: center;
  display: flex;
  flex-wrap: wrap;
}
.wed2colum_ph img {
  width: 50%;
  padding: 0 10px;
  margin: 10px 0;
}

.wed_ph_area1,
.wed_ph_area2 {
  margin: 0 5px;
}

.wed_ph_area1 img {
  width: 100%;
  padding: 0 5px;
  margin: 5px 0;
}

.wed_ph_area2 img {
  width: 50%;
  padding: 0 5px;
  margin: 5px 0;
}

/* カレンダー */
.calendar {
  margin: 20px 10px;
  text-align: center;
}

.calendar h3 {
  margin: 40px 0 10px;
  font-size: 16px;
}

.calendar table {
  width: 100%;
}

.calendar table th {
	padding: 4px 0;
	background: #ebdeb6;
	border: 1px solid #e0cd91;
	font-weight: normal;
}

.calendar table td {
  padding: 4px 0;
  border: 1px solid #e0cd91;
}

.calendar table td span {
	display: block;
	margin-top: 3px;
	font-size: 18px;
}

.calendar table .sun {
	color: #F33;
}

.calendar table .sat {
	color: #69F;
}

.calendar p {
	text-align: left;
	line-height: 1.4em;
}

.btn_schedule {
  margin: 10px auto 40px;
  padding: 16px 0;
  width: 240px;
  background: #d7c077;
  text-align: center;
  color: #fff;
}

/* スタイル */
.border_wrap {
  margin: 10px;
  padding: 10px;
  border: 1px solid #d7c077;
}

.style_ph_area li {
  float: left;
}

.style_ph_area li img {
  width: 100%;
}

.s_69 {
  width: 69%;
}

.s_31 {
  width: 31%;
}

/* インスタ */
.insta_wrap {
  margin: 73px 5px;
}

.instagram_subtitle {
	margin: 30px 0 10px;
	text-align: center;
}

.insta_list {
  margin-bottom: 20px;
}


.insta_list li {
  float: left;
  width: 33%;
  padding: 0 5px;
}

.insta_list li a {
  display: block;
  position: relative;
  float: left;
  padding: 100% 0 0;
  margin-bottom: 10px;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.insta_list li a img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

/* ===================================
	プライバシーポリシー
------------------------------------*/
.privacy_inner {
  margin: 60px 20px;
}

.privacy_inner h3 {
  color: #d7c077;
  text-align: center;
  margin-bottom: 20px;
  font-size: 120%;
}

.privacy_inner h3 span.sub {
  display: block;
  margin-top: 8px;
  color: #000;
  font-size: 13px;
  font-weight: normal;
}

.privacy_inner h4 {
  margin-bottom: 10px;
  padding: 20px 0 5px;
  border-bottom: 1px solid #ebebe8;
  line-height: 1.4em;
}

.privacy_inner p {
  margin: 10px 0;
  line-height: 1.8em;
}


/* ===================================
	ニュース＆イベント
------------------------------------*/
.event_list li {
  width: 50%;
  float: left;
}
.event_list {
  display: flex;
  flex-wrap: wrap;
}

.event_list li a {
  display: block;
  margin: 0 10px 20px;
}

.event_list li img {
  width: 100%;
  border: solid 1px #ececec;
}

.event_list li p {
  font-size: 10px;
	color: #aca9a3;
  margin-top: 5px;
}

.event_list li h3 {
  font-weight: normal;
  line-height: 1.2em;
  font-size: 12px;
  color: #000;
  margin-top: 3px;
}

.event_wrap {
  margin: 10px;
  padding: 0 0 40px;
	border-bottom: 1px dotted #ccc;
}

.event_title {
  font-size: 16px;
  margin: 0 0 20px;
  line-height: 1.2em;
}

.event_date {
  font-size: 12px;
	color: #aca9a3;
  margin-bottom: 10px;
}

.event_txt {
	margin: 20px 0;
	line-height: 1.8em;
}

.event_wrap img {
  max-width: 100%;
}

.event_wrap table {
	line-height: 1.8em;
}

.event_detail {
  margin: 30px 0;
  padding: 20px 0 0;
	border-top: 1px solid #ebebe8;
	border-bottom: 1px solid #ebebe8;
}

.event_detail h4 {
  text-align: center;
}

.bold_type {
  display: block;
  margin-top: 5px;
  font-weight: bold;
}

.event_end {
  margin: 40px auto;
  color: #F33;
  line-height: 1.6em;
}

.eventform_btn {
  display: block;
  width: 300px;
  margin: 40px auto;
  padding: 20px 0;
	background: #d7c077;
  text-align: center;
  color: #fff;
}

.event_btn {
  display: block;
  width: 220px;
  margin: 40px auto 0;
  padding: 16px 0;
  border: 1px solid #000;
  text-align: center;
  color: #000;
}

/* ===================================
	オープンハウス
------------------------------------*/
.openhouse_title {
	margin: 0 0 20px;
	font-size: 16px;
	line-height: 1.2em;
  text-align: center;
}

.openhouse_title span {
  display: block;
  margin: 10px 0 0;
	font-size: 14px;
  font-weight: normal;
}

.openhouse_list li {
  margin-bottom: 30px;
}

.openhouse_list h4 {
  margin: 10px 0;
  font-size: 16px;
  text-align: center;
}

.openhouse_list p {
  font-size: 16px;
  text-align: center;
}

.openhouse_list p span {
  font-size: 12px;
}

.btn_openhouse {
  display: block;
  margin: auto;
  padding: 18px 0;
  width: 300px;
  background: #4a4646;
  font-size: 16px;
  text-align: center;
  color: #fff;
}

/* ===================================
	フッター
------------------------------------*/
/* フッターメニュー */
.f_menu {
  margin: 44px 0;
  border-top: 1px solid #ebebe8;
}

.f_menu li {
  float: left;
  width: 50%;
}

.f_menu li:nth-child(2n) {
  border-left: 1px solid #ebebe8;
}

.f_menu li a {
  position: relative;
  padding: 17px 10px;
  border-bottom: 1px solid #ebebe8;
  color: #000;
}

.f_menu li a:before {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 8px;
  height: 8px;
  content: '';
  margin-top: -4px;
  border-top: solid 1px #8f8f85;
  border-right: solid 1px #8f8f85;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.f_menu li a.gold {
  background: #d7c077;
  color: #fff;
}

.f_menu li a.gray {
  background: #4a4646;
  color: #fff;
}

.f_menu li a.gold:before,
.f_menu li a.gray:before {
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
}

/* レストラン問い合わせ */
.res_info {
  margin: 40px 0;
  text-align: center;
  line-height: 1.8em;
}

.res_info h2 {
  margin: 15px 0;
  font-size: 14px;
  text-align: center;
  line-height: 1.2em;
}

.res_info h2 span  {
  font-size: 12px;
  font-weight: normal;
}

.tel_btn {
  padding: 15px;
  margin: 7px auto;
  width: 265px;
  background: url(../img/restaurant/tel_mark02.png) 10% center no-repeat;
  background-size: 20px 27px;
  border: 1px solid #000;
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 1px;
  color: #000;
}

.res_btn {
  padding: 12px;
  margin: 7px auto;
  width: 230px;
	background: #4a4646;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
}

.mail_btn {
  padding: 12px;
  margin: 7px auto;
  width: 230px;
  border: 1px dotted #000;
  font-size: 14px;
  font-weight: bold;
  color: #000;
}

.res_info h3 {
  margin: 24px 0 0;
}

.res_info p span {
  font-size: 12px;
}

.res_info p.note {
	padding: 10px 20px;
  font-size: 12px;
	line-height: 1.4em;
	text-align: left;
}

/* ウェディング問い合わせ */
.wed_info {
  margin: 40px 10px;
  text-align: center;
  line-height: 1.8em;
}
.wed_info h2 span {
  font-weight: normal;
}

.wed_btn2,
.wed_btn4 {
  margin: 25px 0 17px;
}

.wed_btn2 li {
  float: left;
  width: 50%;
  padding: 0 5px;
}

.wed_btn4 li {
  width: 265px;
  margin: auto;
}

.wed_btn2 li a,
.wed_btn4 li a {
  display: block;
  margin: 5px 0;
  padding: 12px 0;
  color: #fff;
  background: #d7c077;
}

.wed_btn3 {
  display: block;
  margin: 5px auto;
  padding: 10px 0;
  width: 230px;
  color: #000;
  border: 1px solid #000;
}


/* トップへ戻る */
#topback {
  padding: 15px;
	background: #ebebe8;
	text-align: center;
}

#topback img {
  width: 29px;
}

footer {
  padding: 12px 0 76px;
  background: #4a4646;
  color: #fff;
}

/* SNSボタン */
.sns {
  margin: 0 10px;
  text-align: center;
  font-size: 0;
}

.sns li {
  display: inline-block;
  width: 33%;
}

.sns li a {
  margin: 0 3%;
  padding: 10px 0 10px 4px;
  text-align: center;
  color: #fff;
  border: 1px solid #ebebe8;
  font-size: 11px;
}

.face_btn {
  background: url(../img/facebook_btn.png) 12px center no-repeat;
  background-size: 12px 12px;
}

.ins_btn {
  background: url(../img/instagram_btn.png) 12px center no-repeat;
  background-size: 12px 12px;
}

.you_btn {
  background: url(../img/youtube_btn.png) 12px center no-repeat;
  background-size: 12px 12px;
}

/* 会社情報部分 */
.f_logo {
  margin: 36px auto 16px;
  display: block;
  width: 68px;
}

footer dl {
  text-align: center;
  font-size: 11px;
  line-height: 1.5em;
}

footer dl dt {
  font-weight: bold;
}

.f_submenu {
  margin: 30px 0 20px;
}

.f_submenu li {
  float: left;
  width: 50%;
  border-top: 1px solid #716e6e;
  border-bottom: 1px solid #716e6e;
  font-size: 11px;
}

.f_submenu li:last-child {
  border-left: 1px solid #716e6e;
}

.f_submenu li a {
  position: relative;
  padding: 17px 10px;
  color: #fff;
}

.f_submenu li a:before {
  position: absolute;
  top: 50%;
  right: 10px;
  width: 6px;
  height: 6px;
  content: '';
  margin-top: -3px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

small {
  display: block;
  text-align: center;
  font-size: 10px;
  color: #b4b4ac;
}

/* ===================================
	フッター固定ボタン
------------------------------------*/
.f_btn {
  position: fixed;
	display: flex;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 60px;
  z-index: 890;
  background: #ffffffaa;
  box-shadow: 0 0 4px;
}

.f_btn a {
	display: flex;
	height: 60px;
	align-items: center;
  justify-content: center;
  background: #d7c077;
}

.f_btn a.f_btn_tel {
  width: 70px;
  padding: 16px 0;
  background: transparent;
}

.f_btn_tel02 {
  width: 16%;
  padding: 16px 0;
}

.f_btn_mail {
  width: 16%;
  padding: 14px 0;
  background: url(../img/border.jpg) left center no-repeat;
}
.f_btn_mail+.f_btn_mail {
  width: auto;
  padding: 0 15px;
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 15px;
}

.f_btn_tel img,
.f_btn_tel02 img,
.f_btn_mail img {
  width: 27px;
}

.f_btn_txt01 {
  width: calc(50% - 35px);
  font-size: 15px;
  color: #fff;
}
.f_btn_txt01:first-child {
  border-top-right-radius: 5px;
}
.f_btn_txt01:last-child {
  border-top-left-radius: 5px;
}
.restaurant.f_btn a.f_btn_tel {
  background: #d7c077;
  border-top-right-radius: 5px;
}
.restaurant.f_btn a.central{
  border-radius: 0;
  background: transparent;
  color: #000;
  font-weight: bold;
  text-decoration: underline;
}

.f_btn .f_btn_txt02 {
  font-size: 15px;
  color: #fff;
  background: url(../img/border.jpg) left center no-repeat;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-grow: 1;
  padding: 0 10px;
}

/* ===================================
	英文お問い合わせ
------------------------------------*/
.inquiry_form {
}

.inquiry_form dt,
.confirm_area dt {
  font-weight: bold;
  margin: 15px 0 5px;
}

.inquiry_form dd span {
  display: block;
  margin: 5px 0;
}

.form_ex {
  margin: 10px 0;
  line-height: 1.6em;
}

.inquiry_form input,
.inquiry_form textarea {
  width: 100%;
  padding: 10px 5px;
  line-height: 1.6em;
  font-size: 16px;
}

.form_n_btn {
  display: block;
  width: 280px;
  margin: 5px auto;
  padding: 12px 0;
  color: #fff;
  background: #d7c077;
  border: 1px solid #d7c077;
}

.form_b_btn {
	display: block;
	margin: 17px auto;
	padding: 8px 0;
	width: 200px;
	background: #f7f7f7;
	border: 1px solid #ccc;
	text-align: center;
}

.confirm_area,
.complete_area {
	border: 1px solid #efefef;
  padding: 20px 15px;
  line-height: 1.6em;
}

/* モーダルウィンドウ用 */

#mdOverlay {
  top: 0;
  left: 0;
  width: 100%;
  position: fixed;
  z-index: 1500;
  background: #000;
  display: none;
}

#mdWindow {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 95%;
  height: 85%;
  position: fixed;
  z-index: 1501;
  background: #fff;
  display: none;
}

#mdWindow>.mdClose {
  top: -20px;
  right: 5px;
  width: 30px;
  height: 30px;
  line-height: 30px;
  color: #fff;
  text-align: center;
  font-size: 1.5em;
  background: #757575;
  border-radius: 30px;
  position: absolute;
  z-index: 99;
  cursor: pointer;
  box-shadow: 0 0 3px 0 #000;
}

.btnArea {
  text-align: center;
  margin: 20px 0;
}

#modalInclude {
  display: none;
}

#contWrap {
  margin: 0 auto;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow-y: auto;
  text-align: center;
}

#contWrap iframe, #contWrap video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
}

.big {
    display: block;
    font-size: 1.5em;
    font-weight: bold;
}
.small {
    font-size: 0.8em;
    line-height: 0.8em;
    letter-spacing: 0;
}

.banner2 {
    width: 220px;
    height: 220px;
    border-radius: 50%;
    overflow: hidden;
    position: absolute;
    left: 0px;
    bottom: 0px;
    z-index: 100;
    left: calc(50% - 110px);
    bottom: -110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    line-height: 1.7em;
    font-size: 1.2em;
    letter-spacing: 3px;
    color: #000;
    border-bottom: solid 1px;
}
.banner2::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    border: 50%;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.7);
    z-index: -1;
}
.banner2 img {
    position: absolute;
    left: 0;
    top: -20%;
    width: 100%;
    z-index: -2;
}
.catchcopy_big {
  text-align: center;
  margin: 0 0 10px;
  font-size: 1.4em;
  line-height: 1.8em;
}
.first-line, .big, .catchcopy_small {
  opacity: 0;
}
.loaded .first-line {
  display: block;
  animation: fadeLoadIn 2.5s 2s ease-out forwards;
}
.big {
  font-size: 1.25em;
  display: block;
}
.loaded .big {
  animation: fadeLoadIn 2.5s 3s ease-out forwards;
}
.catchcopy_small {
  text-align: center;
  font-size: 1.1em;
  font-weight: normal;
}
.loaded .catchcopy_small {
  animation: fadeLoadIn 2.5s 4s ease-out forwards;
}
.toppage .inner.top_link {
    padding: 0 10px 50px;
}
.toppage .inner {
  padding: 50px 10px;
}

.space_photo {
  padding-top: 30px;
}

@keyframes fadeLoadIn {
  0% {
    transform: translate3d(0,20px,0);
    opacity: 0;
  }
  50% {
    transform: translate3d(0,0,0);
  }
  100%{
    transform: translate3d(0,0,0);
    opacity: 1;
  }
}

.table_h {
    display: flex;
    justify-content: center;
}
.table_v {
    display: flex;
    align-items: center;
    flex-direction: column;
}
.table_h .table_v {
    width: 40%;
}
.highlight {
    display: inline-block;
    font-size: 1.2em;
    color: #fff;
    background: #214e8b;
    padding: 5px 30px;
    margin: 15px 0;
}
.table_v .big {
    line-height: 2em;
}

/* NEW PARTY REPORT */

.party_report {
  margin: 0 auto 100px;
  width: 100%;
  max-width: 960px;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
}
.report_mainImg {
  width: 100%;
  position: relative;
  margin-bottom: 30px;
}
.report_mainImg::before {
  content: '';
  position: absolute;
  top: 10px;
  right: -10px;
  width: 100%;
  height: 100%;
  background: #faf5e4;
  z-index: -1;
}
.report_mainImg img{
  height: 100%;
  object-fit: cover;
}
.report_mainTxt {
  text-align: center;
  margin-bottom: 30px;
}
.wedding_name {
  text-align: center;
}
.party_report .wedding_name h1::before {
  content: '';
  position: absolute;
  height: 1px;
  width: 200vw;
  top: 50%;
  left: -100vw;
  border-top: solid 1px #000;
  z-index: -1;
}
.wedding_name h1, .report_mainTxt h2 {
  margin: 12px 0;
  font-size: 15px;
  font-weight: bold;
  line-height: 1.2em;
  letter-spacing: 1px;
  color: #000;
  text-transform: uppercase;
}
.wedding_name h1{
  margin: 40px auto;
  display: inline-block;
  padding: 5px 20px;
  background: #fff;
  position: relative;
}
.party_report h1::before {
  height: 1px;
  width: 100%;
}
.report_mainTxt h2 span {
  font-size: 0.8em;
  font-weight: normal;
  display: block;
}
.report_mainTxt dl {
  display: flex;
  flex-direction: column;
  line-height: 1.7em;
}
.report_mainTxt dl > div {
  display: flex;
  justify-content: center;
}
.report_mainTxt dt {
  font-weight: bold;
  margin-right: 0.5em;
}
.report_mainTxt dd span {
  font-size: 0.7em;
  text-transform: capitalize;
}
.report_part img {
  margin: 4px 0;
}
.party_report .portrait {
  display: flex;
  justify-content: space-between;
}
.party_report .portrait.right {
  justify-content: flex-end;
}
.party_report .portrait img {
  width: calc(50% - 2px);
  margin: 0;
}
.report_txt {
  padding: 0 5px;
  width: calc(100% - 10px);
  max-width: 700px;
  margin: 30px auto;
  line-height: 2em;
}
.hero_image {
  height: 55vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-image: url(../img/home/hero.jpg);
  background-size: cover;
  background-position: center;
  text-shadow: 0 0 3px #000;
  color: #fff;
}

/* EMERGENCY NOTICE */
.sticky_bnr {
  width: 100vw;
  padding: 15px 0;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  align-items: center;
  background-color: #4a4646;
  border-top:solid 1px #fff;
  color: #fff;
  position: fixed;
  left: 0;
  bottom: 60px;
  opacity: 1;
  transition: 0.2s ease-out;
  margin-bottom: 0;
  z-index: 100;
}
.close {
  position: static;
  top: 0;
  right: 0;
  width: 15vw;
  height: 100%;
  cursor: pointer;
  text-decoration: underline;
  transition: ease-out 0.25s;
  display: flex;
  justify-content: center;
  line-height: 1.2em;
  align-items: center;
}
.close:hover {
  background-color: #bbb;
  color: #000;
}

.sticky_bnr p {
  width: 95%;
  margin-bottom: 15px;
  text-align: center;
  line-height: 1em;
}
.sticky_bnr p:hover {
  text-decoration: underline;
}
.sticky_bnr a {
  color: #fff;
  font-weight: bold;
}
.bnr_ttl {
  font-weight: bold;
  line-height: 1.2em;
}

.main_ph_area img {
  width: 100%;
  height: 30vh;
  object-fit: cover;
}

.video_wrap {
  position: relative;
}
.video_wrap > img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  cursor: pointer;
  transition: 0.5s 0.5s ease-in;
}
.clicked.video_wrap > img{
  opacity: 0;  
  pointer-events: none;
}
.ended.video_wrap > img {
  opacity: 1;
  pointer-events: initial;
}
#player {
  width: 100vw;
  max-width: 960px;
  height: 67vw;
  max-height: 640px;
}
.video_wrap > img:last-child {
  position: absolute;
  left: calc(50% - 20px);
  top: calc(50% - 20px);
  width: 40px;
  height: auto;
  z-index: 2;
}

.title_bg {
  display: block;
  width: fit-content;
  margin: 40px auto 0;
  padding: 0 30px;
  font-size: 1.15em;
  line-height: 2em;
  color: #fff;
  background: #d7c077;
  border-top-right-radius: 5px;
  border-top-left-radius: 5px;
}
.title_bg + p, .qa + p {
  padding-top: 25px;
  margin-top: 0;
  text-align: left;
}
.illustration {
  padding: 25px;
  border: solid 1px #d7c077;
  margin: 80px auto 0;
  border-radius: 5px;
  max-width: 960px;
}
.illustration img {
  width: 100%;
  max-width: 500px;
  display: block;
  margin: 20px auto;
}
.illustration p {
  text-align: left;
}
.hightlight {
  color: #d7c077;
  display: inline;
}
.qa {
  background: #4a4646;
  color: #fff;
  line-height: 1.5em;
  max-width: 960px;
  margin: 40px auto 0;
  padding: 15px 10px;
}

.connect_photos {
  width: 100%;
  max-width: 980px;
  display: flex;
  flex-wrap: wrap;
  margin: 80px auto 40px;
  justify-content: flex-start;
}
.connect_photos img {
  width: 48%;
  margin: 1%;
}

section:nth-of-type(2) .connect_photos img {
  width: 100%;
}
section:nth-of-type(2) .connect_photos {
  margin-top: 0;
}
.connect_photo {
  width: 100%;
  max-width: 500px;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 40px;
  justify-content: flex-start;
}
.connect_photo img {
  width: 100%;
}
.wed_connect section {
  position: relative;
  padding: 80px 0;
  width: 100%;
  max-width: 980px;
  margin: auto;
  line-height: 1.5em;
}
.wed_connect section:before {
  content: '';
  display: block;
  width: 50%;
  height: 1px;
  background: #4a4646;
  position: absolute;
  bottom: 0px;
  left: 25%;
}
.wed_connect section:first-of-type {
  padding-top: 0;
}
.wed_connect section:last-of-type:before {
  display: none;
}
.wed_connect .flex {
  justify-content: space-between;
  margin:0 auto 30px;
  max-width: 850px;
}
.wed_connect .flex + div {
  max-width: 850px;
  margin: auto;
}
.wed_connect .flex > div {
  width: 100%;
  margin: 40px 0;
}
.connect_ttl {
  margin-bottom: 20px;
  text-align: left;
  padding-left: 20px;
  background-image: url(../img/wedding/connect/flower.png);
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: 12px;
}

.flexslider {
  margin: 0 0 40px;
  background: #fff;
  position: relative;
  zoom: 1;
  height: 50vh;
}
.flexslider img {
  width: 100%;
  max-width: 1350px;
  display: block;
  margin: auto;
  height: 100%;
  object-fit: cover;
}
.content_inner {
  width: 100%;
  max-width: 980px;
  margin: auto;
}
.wed_intro {
  margin: 46px 5.3%;
  text-align: center;
}
.wed_intro_txt {
  margin: 5.3% 0;
  line-height: 2em;
}
.photo_right, .photo_left {
  width: 100%;
  display: flex;
  height: 70vw;
  max-height: 500px;
  max-width: 1350px;
  margin: 10px auto;
}
.photo_right {
  justify-content: flex-end;
}
.photo_right img, .photo_left img {
  width: 90%;
  max-width: 800px;
  object-fit: cover;
  margin-bottom: 20px;
}
.photo_P h3.title04 {
  letter-spacing: 0;
  text-align: left;
  margin-bottom: 15px;
  font-size: 16px;
  color: #4a4646;
}
dl.wed_intro_txt {
  max-width: 630px;
  text-align: left;
}
dl.wed_intro_txt dt {
  font-weight: bold;
}
.wed_intro .btn_schedule {
  margin-top: 20px;
  margin-bottom: 50px;
  display: inline-block;
}
.portrait {
  height: 100vw;
  max-height: 800px;
}
.portrait img {
  width: 70vw;
  max-width: 700px;
}
h2.title04 {
  font-size: 26px;
  font-weight: bolder;
  letter-spacing: 2px;
}
.link-announce {
  text-align: center;
  margin: 20px auto 0;
  padding: 10px;
  color: #000;
  font-weight: bold;
  text-decoration: underline;
}

.banner-wrap {
  padding: 20px;
  border: solid 3px #d7c077;
  display: block;
  width: 90%;
  max-width: 750px;
  margin: 30px auto 0;
  text-align: center;
  color: #000;
  transition: 0.25s ease-out;
  position: relative;
  overflow: hidden;
}
.banner-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background-image: url(../img/home/no-banner.jpg);
  background-size: cover;
  opacity: 1;
  transition: 0.25s ease-out;
  z-index: 0;
  background-position: center;
}
.banner-wrap{
  border-color: #000;
}
.banner-wrap p, .banner-wrap, .banner-wrap h2{
  color: #fff;
}
.banner-wrap .banner {
  border: solid 1px #000;
  width: 100%;
  height: 30vh;
  max-height: 250px;
  padding: 20px 10px;
  margin: 0;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.banner-wrap h2 {
  color: #000;
  font-size: 1.4em;
  margin: 0 0 1em;
  transition: 0s;
  text-shadow: 1px 2px white;
}
.banner-wrap p {
  color: #000;
  line-height: 1.5em;
  font-size: 1.1em;
  text-shadow: 1px 2px white;
}
.banner:hover p, .banner:hover h2 {
  text-shadow: none;
}
.banner-wrap span {
  display: block;
  margin-top: 10px;
}
.banner-wrap .small {
  margin: 0;
  font-size: 0.8em;
}
.banner-wrap:before {
  content: 'NEW';
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  background-color: #d7c077;
  color: #000;
  padding: 17px 0;
  width: 145px;
  transform: rotateZ(-45deg);
  transform-origin: 45% 155%;
  z-index: 2;
}
.banner-wrap:before {
  background: #fff;
  color: #000;
}
.banner-wrap .desktop, .desktop {
  display: none;
}

.best-rate {
  max-width: 600px;
  margin: 3em auto;
  text-align: center;
  display: flex;
  color: #cba948;
  font-family: serif;
  font-weight: bold;
  align-items: center;
  flex-direction: column;
}
.best-rate-img {
  max-width: 250px;
  margin: auto;
}
.dot-line {
  font-size: 1.4rem;
  margin-bottom: 0.4em;
  padding-bottom: 0.3em;
  position: relative;
  display: inline-block;
  color: #cba948;
  font-weight: normal;
}
.dot-line::after {
  content: '';
  position: absolute;
  width: 85%;
  left: 7.5%;
  bottom: 0;
  border-bottom: dotted 2px #cba948;
}
.best-rate-ttl {
  font-size: 2rem;
  margin: 0.2em 0;
}

.best-rate-cta {
  padding: 1em 2em;
  background-color: #cba948;
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  margin-top: 1.5em;
  border-radius: 2em;
  border: dotted 2px #cba948;
  transition: 0.4s ease-out;
}
.best-rate-cta:hover {
  background-color: transparent;
  color: #cba948;
}

@media screen and (min-width: 860px) {
  body {
    font-family: Avenir, Helvetica, Arial, Verdana, "游ゴシック", Yu Gothic, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 14px;
    line-height: 1;
  }
  
  article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block;
  }
  
  ol, ul {
    list-style: none;
  }
  
  .desktop {
    display: block;
  }
  .banner-wrap .desktop {
    display: inline;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  
  input, select {
    vertical-align: middle;
  }
  
  img {
    font-size: 0;
    line-height: 0;
    vertical-align: top;
  }
  
  .clearfix:after {
    content: '';
    clear: both;
    display: block;
  }
  
  a {
    background: transparent;
    font-size: 100%;
    margin: 0;
    padding: 0;
    text-decoration: none;
    vertical-align: baseline;
  }
  
  a:link {
  }
  
  a:visited {
  }
  
  a:hover {
  }
  
  a:active {
  }
  
  .f_rignt {
    float: right;
  }
  
  .f_left {
    float: left;
  }
  
  .inner {
    width: 1100px;
    margin: auto;
  }
  
  h1, h2, h3, h4 {
    text-align: center;
  }
  
  .w100 {
    width: 100%;
  }
  
  .bold {
    font-weight: bold;
  }
  
  .roboto {
      font-family: 'Roboto Condensed', sans-serif;
  }

  .sticky_bnr {
    bottom: 0;
    padding: 30px 5vw;
    align-items: flex-start;
  }
  .sticky_bnr p {
    width: 35%;
    min-width: 400px;
    text-align: left;
    line-height: 1em;
    margin-bottom: 0;
  }
  .close {
    position: absolute;
    top: 0;
    right: 0;
    width: 15vw;
    min-width: 300px;
    height: 100%;
    border-left:solid 1px #bbb;
    cursor: pointer;
    transition: ease-out 0.25s;
    display: flex;
    justify-content: center;
    line-height: 1.2em;
    align-items: center;
  }
  /* リンク設定用 */
  .ac_link {
    overflow: hidden;
  }
  
  .ac_link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: all 1s ease-out;
  }
  
  .ac_link:hover img {
    opacity: 0.6;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  
  .al_link {
    transition: all 0.5s linear;
  }
  
  .al_link:hover {
    opacity: 0.6;
  }
  
  /* アニメーション用 */
  .movey {
    -webkit-transform: translate(0, 30px);
    transform: translate(0, 30px);
    transition: all 0.8s ease-out;
  }
  
  .movey_on {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  
  .movexl {
    -webkit-transform: translate(-30px, 0);
    transform: translate(-30px, 0);
    transition: all 0.8s ease-out;
  }
  
  .movexl_on {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
  
  .movexr {
    -webkit-transform: translate(30px, 0);
    transform: translate(30px, 0);
    transition: all 0.8s ease-out;
  }
  
  .movexr_on {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    transition-delay: 0.6s;
  }
  
  .fade {
    transition: all 1.5s ease-out;
  }  
  
  /* ===================================
    ヘッダー
  ------------------------------------*/
  header {
    min-width: 1100px;
  }
  /* メインページヘッダー */
  
  .header_home {
    width: 100%;
    color: #fff;
    padding: 21px 48px;
    z-index: 49;
    display: flex;
    justify-content: space-between;
    position: absolute;
    top: 0;
    background: transparent
  }
  
  .header_home .lang {
    font-size: 12px;
    margin-bottom: 17px;
  }
  
  .header_home nav li,
  .header_home .lang li {
    display: inline-block;
  }
  
  .header_home .lang li a {
    padding: 2px 7px;
    color: #fff;
  }
  
  .header_home .lang li a:hover {
    background: #d2b865;
    transition: all 0.3s linear;
  }
  
  .header_home .lang li.current {
    margin-right: 15px;
    padding: 2px 7px;
    color: #000;
    background:#fff;
  }
  
  .header_home .lang li.other {
    padding-left: 22px;
    background: url(../img/home/slash.png) left center no-repeat;
    background-size: 5px;
  }
  
  /* 英語ページ */
  .header_home .lang li.current2 {
    padding: 2px 7px;
    color: #000;
    background: #fff;
  }
  
  .header_home .lang li.other2 {
    margin-right: 15px;
    padding-right: 22px;
    background: url(../img/home/slash.png) right center no-repeat;
  }
  
  .header_home .h_tel {
    font-size: 28px;
    padding: 0 0 2px;
    display: flex !important;
    transition: 0s !important;
  }
  
  .header_home .h_tel span {
    font-size: 16px;
  }
  
  .header_home nav {
    margin: 0;
    font-size: 16px;
  }
  
  .header_home nav li a {
    position: relative;
    display: block;
    margin: 0 20px;
    padding: 0 14px 6px;
    color: #fff;
  }
  
  .header_home nav li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 0;
    height: 2px;
    background-color: #d2b865;
    transition: all 0.3s linear;
  }
  
  .header_home nav li a:hover:after {
    width: 100%;
  }
  
  /* メインページヘッダー（スクロール後） */
  .header_home2 {
    position: fixed;
    width: 100%;
    padding: 0 4px 4px;
    background: rgba(255,255,255,0.7);
    color: #000;
    z-index: 50;
  }
  
  .header_home2 .header_inner {
    width: 100%;
    padding: 10px 48px 0;
    background: #fff;
  }
  
  .header_home2 h1 {
    display: none;
  }
  
  .header_home2 nav li a {
    padding: 0 14px 12px;
    color: #000;
  }
  
  .header_home2 .lang {
    margin-bottom: 7px;
  }
  
  .header_home2 .lang li a {
    color: #000;
  }
  
  .header_home2 .lang li.current {
    color: #fff;
    background: #4a4646;
  }
  
  .header_home2 .lang li.other {
    background: url(../img/home/slash2.png) left center no-repeat;
  }
  
  /* 英語ページ */
  .header_home2 .lang li.current2 {
    margin-left: 8px;
    color: #fff;
    background: #4a4646;
  }
  
  .header_home2 .lang li.other2 {
    margin-right: 8px;
    padding-right: 15px;
    background: url(../img/home/slash2.png) right center no-repeat;
  }
  
  .header_home2 .lang li a:hover {
    color: #fff;
  }
  
  
  /* 下層ページヘッダー */
  #header_other h1 {
    text-align: center;
    color: #d7c077;
    font-size: 20px;
  }
  
  #header_other h1 a {
    display: block;
    width: 82px;
    margin: 24px auto 13px;
  }
  
  #header_other .header_inner {
    position: relative;
    width: 100%;
    min-width: 1100px;
    background: #fff;
    z-index: 100;
  }
  
  #header_other nav {
    text-align: center;
    padding: 28px 0 2px;
  }
  
  #header_other nav li {
    display: inline-block;
  }
  
  .header_other nav li a {
    position: relative;
    display: block;
    padding: 0 20px 10px;
    margin: 0 15px;
    text-align: center;
    font-size: 15px;
    color: #000;
    border: none;
  }
  
  .header_other nav.wedding li a {
    padding: 0 15px 24px;
  }
  
  .header_other nav li a.gold {
    color: #d2b865;
  }
  
  .header_other nav li a:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: '';
    width: 0;
    height: 2px;
    background-color: #d2b865;
    transition: all 0.3s linear;
  }
  
  .header_other nav li a:hover:after {
    width: 100%;
  }
  
  .header_other .lang {
    font-size: 12px;
  }
  
  .header_other .lang li {
    padding: 0 7px;
    display: inline-block;
    line-height: 1.5em;
  }
  
  .header_other .lang li a {
    padding: 0 7px;
    color: #000;
    transition: all 0.3s linear;
  }
  
  .header_other .lang li a:hover {
    color: #fff;
    background: #d2b865;
  }
  
  .header_other .lang li.current {
    margin-right: 8px;
    color: #fff;
    background: #4a4646;
  }
  
  .header_other .lang li.other {
    padding-left: 15px;
    background: url(../img/home/slash2.png) left center no-repeat;
    background-size: 5px;
  }
  
  /* 英語ページ */
  .header_other .lang li.current2 {
    margin-left: 8px;
    color: #fff;
    background: #4a4646;
  }
  
  .header_other .lang li.other2 {
    margin-right: 8px;
    padding-right: 15px;
    background: url(../img/slash3.png) right center no-repeat;
  }
  
  .header_other .h_tel {
    font-size: 28px;
    margin-top: -10px;
  }
  
  .header_other .h_tel span {
    font-size: 15px;
    display: flex;
    align-items: flex-end;
  }
  
  .header_other .fair_bnr a {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 232px;
    padding: 15px 0;
    background: #d7c077 url(../img/wedding/fairbtn_mark.png) 17px center no-repeat;
    text-align: center;
    font-size: 18px;
    color: #fff;
    transition: all 0.3s linear;
  }
  
  .header_other .fair_bnr a:hover {
    background: #c0a54e url(../img/wedding/fairbtn_mark.png) 17px center no-repeat;
  }
  
  
  /* ===================================
    メインコンテンツ
  ------------------------------------*/
  
  /* ホーム
  =================================== */
  #photo_area {
    margin: 0 auto;
    width: 100%;
    min-width: 1100px;
    height: 100vh;
    background: -webkit-linear-gradient(top, rgba(30,28,28,0.5) 0%,rgba(30,28,28,0) 20%,rgba(30,28,28,0) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, rgba(30,28,28,0.5) 0%,rgba(30,28,28,0) 20%,rgba(30,28,28,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  }
  
  main {
    display: block;
    width: 100%;
    background: #fff;
  }
  
  /* イントロダクション */
  .introduction {
    width: 1100px;
    padding: 147px 0;
    margin: auto;
  }
  
  .introduction p {
    text-align: center;
    line-height: 2em;
  }
  
  /* ウェディング・レストランへのリンク部分 */
  .link {
    width: 100%;
    min-width: 1100px;
  }
  
  .wed,
  .res {
    display: block;
    position: relative;
    float: left;
    width: 50%;
    max-height: 800px;
    overflow: hidden;
  }
  
  .wed img,
  .res img {
    width: 100%;
    -webkit-transform: scale(1);
    transform: scale(1);
    transition: all 1s ease-out;
  }
  
  
  .wed:hover img,
  .res:hover img {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
  }
  
  .linktext_wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 180px;
    height: 180px;
    border: 1px solid #fff;
  }
  
  .linktext {
    margin: 2px;
    width: 174px;
    height: 174px;
    color: #000;
    text-align: center;
    line-height: 0.8em;
    font-weight: 700;
    font-size: 27px;
    padding-top: 70px;
  }
  
  .linktext span {
    display: inline-block;
    font-size: 14px;
    font-weight: normal;
  }
  
  a:hover .linktext {
    border: none;
    color: #d7c077;
    background: rgba(255,255,255,0.9);
    transition:all 1s ease-out;
  }
  
  .haikei {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(74,70,70,0.5);
    transition:all 0.3s linear;
  }
  
  a:hover .haikei {
    background: rgba(74,70,70,0);
  }
  
  /* ニュース */
  .news {
    width: 100%;
    max-width: 1100px;
    margin: 50px auto;
  }
  .news h2 {
    font-size: 25px;
    margin-bottom: 46px;
    border: none;
    font-weight: bold;
  }
  
  .news ul {
    width: 540px;
    margin: auto;
  }
  
  .news ul li span {
    float:left;
    color: #fff;
    font-size: 13px;
    background: #c8ae53;
    line-height: 12px;
    padding: 3px 5px;
    margin-right: 40px;
    width: auto;
  }
  
  .news ul li {
    line-height: 1.4em;
    margin-bottom: 25px;
  }
  
  .news ul li a {
    color: #000;
    padding: 0;
    margin-bottom: 25px;
    border: none;
  }
  
  .news ul li a:hover {
    color: #818181;
    transition: all 0.3s linear;
  }
  
  .btn_more {
    display: block;
    width: 150px;
    padding: 7px 0;
    margin: 36px auto 0;
    border: 1px solid #000;
    color: #000;
    text-align: center;
    transition: all 0.3s linear;
  }
  
  .btn_more:hover {
    color: #fff;
    background: #000;
  }
  
  /* 姉妹店 */
  .othershop {
    width: 1020px;
    text-align: center;
    margin: auto;
  }
  
  .othershop h2 {
    font-size: 20px;
  }
  
  .othershop ul li {
    display: inline-block;
    vertical-align: top;
    margin: 30px 10px;
    width: 230px;
  }
  
  .othershop ul li img {
    width: 100%;
  }
  
  .othershop ul li h3 {
    margin: 10px 0 5px;
    font-size: 14px;
    color: #000;
  }
  
  .othershop ul li p {
    text-align: left;
    line-height: 1.4em;
    color: #000;
  }
  
  /* 公園写真 */
  .photoarea {
    width: 100%;
    min-width: 1100px;
  }
  
  
  /* 下層ページ
  =================================== */
  .main_ph_area {
    max-height: 583px;
    min-width: 1100px;
    overflow: hidden;
  }
  .main_ph_area img {
    height: auto;
  }
  
  .main_ph_area.wedding {
    height: 583px;
    background-image: url(../img/wedding/wedding_main.jpg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
  
  .title01 {
    margin: 62px auto -5px;
    width: 270px;
    height: 26px;
    border-top: 1px solid #000;
    font-size: 18px;
    font-weight: normal;
  }
  
  .title01 span {
    position: relative;
    top: -50%;
    padding: 0 10px;
    background: #fff;
  }
  
  .title02 {
    margin: 0 0 20px;
    font-size: 40px;
  }
  
  .title03 {
    margin: 67px 0 20px;
    font-size: 28px;
  }
  
  .title04 {
    margin: 57px 0 17px;
    font-size: 24px;
  }
  
  .title04 span {
    display: block;
    font-size: 16px;
    margin-top: 2px;
  }
  
  .title04 span.sub {
    display: block;
    font-size: 14px;
    margin-top: 8px;
    font-weight: normal;
  }
  
  .title05 {
    margin: 56px 0 9px;
    font-size: 14px;
  }
  
  .title06 {
    margin: 50px auto 14px;
    padding: 5px 0;
    width: 760px;
    font-size: 15px;
    border-bottom: 1px solid #ccc;
  }
  
  .txt01 {
    margin: 23px auto 64px;
    text-align: center;
    line-height: 2em;
    max-width: 540px;
  }
  .toppage .txt01 {
    margin-top: 5vw;
  }
  .txt02 {
    text-align: center;
    line-height: 2em;
  }
  
  .img_center {
    display: block;
    margin: auto;
  }
  
  /* アルマン */
  .armand_name {
    margin: 25px 0 10px;
    font-size: 16px;
  }
  
  .armand_txt {
    width: 648px;
    margin: auto;
    line-height: 1.8em;
  }
  
  .cuisine_area1 {
    margin: 50px 0;
    width: 100vw;
    margin-left: -10px;
    display: flex;
  }
  
  .cuisine_area1 img {
    width: 50%;
  }
  
  /* 磯島さん */
  .isojima_area {
    width: 830px;
    margin: auto;
    display: flex;
    background: none;
  }
  
  .isojima_area img {
    display: block;
    margin-right: 30px;
    width: 400px; 
  }
  
  .isojima_area h4 {
    margin: 0 0 5px;
    text-align: left;
    font-size: 14px;
    font-weight: bold;
    line-height: 1.8em;
  }
  
  .isojima_area h4 span {
    font-weight: normal;
  }
  
  .isojima_area p {
    line-height: 1.8em;
    text-align: left;
    margin: auto 0;
  }
  
  /* メニューリンク */
  .menu_link {
    margin: 95px auto;
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 960px;
  }
  
  .menu_link li {
    position: relative;
    overflow: hidden;
    margin-right: 30px;
    width: 300px;
  }

  .menu_link a div {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  .menu_link li:last-child {
    margin-right: 0;
  }
  
  .menu_link li div {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(74,70,70,0.3);
    transition:all 0.3s linear;
  }
  
  .menu_link li a:hover div {
    background: rgba(74,70,70,0);
  }
  
  .menu_link li .roboto {
    position: absolute;
    top: 50%;
    left: 50%;
    margin-right: -50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 28px;
    font-weight: normal;
  }
  
  /* インテリア写真・シャルロット紹介 */
  .interior_ph,
  .charlotte_area {
    width: 960px;
    margin: 46px auto 68px;
    line-height: 1.8em;
  }
  .charlotte_area {
    display: flex;
  }
  .charlotte_area img {
    object-fit: contain;
    margin-top: 0;
  }
  .charlotte_area .title05 {
    margin-top: 0;
  }
  .charlotte_area .txt02 {
    text-align: left;
    margin: auto 0;
  }
  .charlotte_txt {
    width: 660px;
    float: right;
  }
  
  .interior_ph li {
    float: left;
    margin-right: 30px;
  }
  
  .interior_ph li:last-child {
    margin-right: 0;
  }
  
  .charlotte_area img {
    margin-right: 24px;
    width: 285px;
  }
  
  .charlotte_area h4 {
    text-align: left;
  }
  
  /* メニューページ */
  .menu_inner,
  .menu_inner3 {
    margin: 0 auto;
    padding: 170px 0 0;
    width: 960px;
  }
  
  .menu_inner1 {
    margin: 0 auto;
    padding: 40px 0 0;
    width: 960px;
  }
  
  .menu_title {
    font-size: 40px;
  }
  
  .menu_title span {
    display: block;
    margin-top: 4px;
    font-size: 14px;
    font-weight: normal;
  }
  
  .menu_inner h4,
  .menu_inner1 h4 {
    margin: 47px 0 8px;
    line-height: 1.4em;
  }
  
  .menu_inner3 h4 {
    margin: 47px 0 8px;
    font-size: 22px;
  }
  
  .menu_inner3 h4.under {
    margin: 100px 0 8px;
    font-size: 22px;
  }
  
  .menu_inner3 h5 {
    margin: 47px 0 8px;
    text-align: center;
    font-size: 14px;
  }
  
  .parti_ph {
    display: block;
    margin: 20px auto;
  }
  
  .menu_margin {
    margin: 83px 0 0;
  }
  
  .menu_txt {
    text-align: center;
    line-height: 1.6em;
  }
  
  .menu_txtsub {
    margin-top: 20px;
    font-size: 12px;
    text-align: center;
    line-height: 1.4em;
  }
  
  .menu_txt2,
  .menu_txt3 {
    margin: 12px 0;
    line-height: 1.4em;
  }
  
  .menu_txt2 span {
    display: inline-block;
    width: 390px;
  }
  
  .menu_txt3 span {
    display: inline-block;
    width: 360px;
  }
  
  .menu_txt4 {
    margin: 8px 0 0;
    text-align: center;
    line-height: 1.6em;
  }
  
  .menu_txt5 {
    margin: 0 0 40px;
    text-align: center;
    line-height: 1.6em;
  }
  
  
  #header_other .btn_res {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 232px;
    padding: 15px 0;
    background: #d7c077;
    text-align: center;
    font-size: 14px;
    color: #fff;
    transition: all 0.3s linear;
    font-family: Avenir, Helvetica, Arial, Verdana, "游ゴシック", Yu Gothic, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  }
  
  #header_other .btn_res:hover {
    background: #c4aa58;
  }
  
  #header_other .btn_res:after {
    position: absolute;
    top: 50%;
    right: 10px;
    width: 8px;
    height: 8px;
    content: '';
    margin-top: -4px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  
  
  /* 地図 */
  .map_area {
    margin: 0 auto 50px;
    width: 100%;
    max-width: 960px;
    height: 600px;
    display: block;
  }
  
  /* レストラン下部問合せ */
  .fo_contact {
    text-align: center;
    margin: 200px 0 90px;
  }
  
  .fo_contact h2 {
    margin: 0 0 10px;
    font-size: 16px;
  }
  
  .fo_contact h2 span {
    display: block;
    margin-top: 6px;
    font-size: 14px;
    font-weight: normal;
  }
  
  .fo_contact .tel {
    margin: 0 0 5px;
    font-size: 38px;
    font-weight: bold;
  }
  
  .fo_contact .tel span {
    font-size: 20px;
  }
  
  .btn_form2 {
    display: block;
    margin: 13px auto;
    padding: 14px 10px;
    width: 250px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    transition:all 0.3s linear;
    background: #000;
  }
  
  .btn_form2:hover {
    background: #555;
  }
  
  .btn_form {
    display: block;
    margin: 13px auto;
    padding: 10px;
    width: 250px;
    text-align: center;
    color: #000;
    font-weight: bold;
    border: 2px solid #4a4646;
    transition:all 0.3s linear;
  }
  
  .btn_form:hover {
    color: #fff;
    background: #000;
    border: 2px solid #000;
  }
  
  .fo_contact dl dt {
    font-weight: bold;
    margin: 8px 0 4px;
  }
  
  .fo_contact dl dd {
    line-height: 1.5em;
  }
  
  
  /* プライバシー */
  .txt_pry {
    width: 760px;
    margin: 5px auto;
    line-height: 1.8em;
  }
  
  /* ウェディングページ
  =================================== */
  
  .btn_more2 {
    display: block;
    margin: 0 auto 130px;
    padding: 10px 0;
    width: 200px;
    text-align: center;
    color: #fff;
    background: #d7c077;
    transition:all 0.3s linear;
  }
  
  .btn_more2:hover {
    background: #c0a54e;
  }
  
  /* フェア */
  .fair_area {
    width: 992px;
    margin: 24px auto;
  }
  
  .fair_area li,
  .stylelink_area li {
    float: left;
    margin: 0 16px;
  }
  
  .fair_area li a,
  .stylelink_area li a {
    display: flex;
    flex-direction: column;
    width: 216px;
  }
  
  .fair_ph {
    width: 216px;
    height: 216px;
    overflow: hidden;
  }
  
  .fair_area h3 {
    margin: 16px 0 10px;
    height: 32px;
    overflow: hidden;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
    line-height: 1.2em;
    color: #cbb15d;
  }
  
  /* スタイルへのリンク */
  .stylelink_area {
    width: 992px;
    margin: 24px auto 130px;
  }
  
  .stylelink_area h3 {
    margin: 12px 0 0;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.2em;
    color: #cbb15d;
  }
  
  .fair_area p {
    height: 59px;
    overflow: hidden;
    color: #000;
    line-height: 1.4em;
  }
  
  /* インスタ */
  .insta_list {
    width: 992px;
    margin: 24px auto;
  }
  
  .instagram_subtitle {
    margin: 30px 0 0;
  }
  
  /* 4列写真 */
  .wed_ph4 {
    text-align: center;
    margin-bottom: 110px;
  }
  
  .wed_ph4 li {
    display: inline-block;
    margin: 0 16px;
  }
  
  /* スペース */
  .space_pharea1 {
    display: block;
    margin: 20px auto 74px;
  }
  
  .space_pharea2 {
    margin: 20px auto 107px;
    width: 960px;
  }
  
  .space_pharea2 img {
    margin-bottom: 8px;
  }
  
  /* スタイル */
  .style_list {
    width: 996px;
    margin: 40px auto 124px;
  }
  
  .style_list li {
    float: left;
    width: 298px;
    margin: 0 17px 42px;
  }
  
  .sph_wrap {
    width: 298px;
    height: 298px;
    overflow: hidden;
  }
  
  .style_list li h3 {
    margin: 10px 0 0;
    font-size: 14px;
    font-weight: normal;
    color: #bc9f42;
    line-height: 1.5em;
  }
  
  .style_wrap {
    margin: 0 auto 130px;
    padding: 90px 0;
    width: 960px;
    border: 1px solid #d7c077;
  }
  
  .style_wrap h3 {
    margin: 29px 0 15px;
    line-height: 1.4em;
  }
  
  .style_wrap ul {
    margin: 57px auto 45px;
    width: 780px;
  }
  
  .style_wrap ul li {
    float: left;
  }
  
  .btn_style {
    display: block;
    margin: auto;
    padding: 10px 0;
    width: 200px;
    background: #d7c077;
    color: #fff;
    text-align: center;
  }
  
  .btn_style:hover {
    background: #c0a54e;
  }
  
  /* スケジュール */
  .schedule_wrap {
    margin: 0 auto 130px;
    padding: 90px;
    width: 960px;
    border: 1px solid #d7c077;
  }
  
  .schedule_wrap h2 {
    margin: 0 0 15px;
    font-size: 18px;
    line-height: 1.4em;
  }
  
  .schedule_wrap h3 {
    margin: 20px 0 10px;
  }
  
  .schedule_wrap ul li {
    float: left;
    width: 359px;
    margin: 15px;
  }
  
  .schedule_wrap table {
    width: 100%;
    text-align: center;
  }
  
  .schedule_wrap table th {
    padding: 6px 0;
    background: #ebdeb6;
    border: 1px solid #e0cd91;
    font-weight: normal;
  }
  
  .schedule_wrap table td {
    padding: 6px 0;
    border: 1px solid #e0cd91;
    font-size: 13px;
  }
  
  .schedule_wrap table td span {
    display: block;
    margin-top: 3px;
    font-size: 18px;
  }
  
  .schedule_wrap table .sat {
    color: #69F;
  }
  
  .schedule_wrap table .sun {
    color: #F33;
  }
  
  .schedule_wrap p {
    text-align: center;
  }
  
  .btn_schedule {
    display: block;
    margin: 30px auto 0;
    padding: 15px 0;
    width: 300px;
    background: #d7c077;
    color: #fff;
    text-align: center;
  }
  
  .btn_schedule:hover {
    background: #c0a54e;
  }
  
  
  
  /* お問い合わせ */
  .wed_contact {
    text-align: center;
    margin-bottom: 87px;
  }
  
  .wed_contact h2 {
    font-size: 14px;
    font-weight: normal;
  }
  
  .wed_contact .tel {
    margin: 10px 0 5px;
    font-size: 38px;
    font-weight: bold;
  }
  
  .wed_contact .tel span {
    font-size: 20px;
  }
  
  .wed_btn li,
  .wed_btn2 li {
    display: inline-block;
  }
  
  .wed_btn li a {
    display: block;
    margin: 23px 8px 0;
    padding: 10px 0;
    width: 140px;
    text-align: center;
    color: #fff;
    background: #d7c077;
    transition:all 0.3s linear;
  }
  
  .wed_btn2 {
    max-width: 700px;
    margin: auto;
    display: flex;
    justify-content: center;
  }
  
  .wed_btn2 li a {
    display: block;
    margin: 23px 8px 0;
    padding: 5px 0;
    text-align: center;
    color: #fff;
    background: #d7c077;
    transition:all 0.3s linear;
  }
  
  .wed_btn li a:hover,
  .wed_btn2 li a:hover {
    background: #c0a54e;
  }
  
  .availability_btn {
    display: block;
    margin: 30px auto 87px;
    padding: 13px 0;
    width: 300px;
    border: 1px solid #4a4646;
    color: #000;
    text-align: center;
    transition:all 0.3s linear;
  }
  
  .availability_btn:hover {
    background: #4a4646;
    color: #fff;
  }
  
  /* ニュース＆イベント */
  .event_list {
    width: 990px;
    margin: 60px auto 0;
  }
  
  .event_list li {
    float: left;
    margin: 30px 20px;
    width: 290px;
  }
  
  .event_list li p {
    margin: 10px 0 0;
    font-size: 12px;
    color: #aca9a3;
  }
  
  .event_list li h3 {
    margin: 5px 0 0;
    color: #000;
    height: 40px;
    overflow: hidden;
    font-size: 14px;
    font-weight: normal;
    line-height: 1.4em;
    text-align: left;
  }
  
  .event_list li a:hover {
    opacity: 0.6;
    transition: all 0.3s linear;
  }
  
  .event_wrap {
    width: 760px;
    margin: 60px auto 50px;
    padding: 0 0 80px;
    border-bottom: 1px dotted #ccc;
  }
  
  .event_title {
    margin-bottom: 80px;
  }
  
  .event_date {
    font-size: 12px;
    color: #aca9a3;
  }
  
  .event_txt {
    margin: 40px 0;
    line-height: 2em;
  }
  
  .event_detail {
    margin: 60px 0;
    padding: 40px 0 0;
    border-top: 1px solid #ebebe8;
    border-bottom: 1px solid #ebebe8;
  }
  
  .bold_type {
    font-weight: bold;
  }
  
  .eventform_btn {
    display: block;
    width: 380px;
    padding: 15px 0;
    margin: 90px auto 0;
    background: #d7c077;
    color: #fff;
    text-align: center;
    transition: all 0.3s linear;
  }
  
  .eventform_btn:hover {
    background: #ceb35f;
  }
  
  .event_end {
    margin: 40px 0;
    text-align: center;
    line-height: 2em;
    color: #F33;
  }
  
  .event_btn {
    display: block;
    width: 300px;
    padding: 15px 0;
    margin: 0 auto;
    border: 1px solid #000;
    color: #000;
    text-align: center;
    transition: all 0.3s linear;
  }
  
  .event_btn:hover {
    color: #fff;
    background: #000;
  }
  
  /* オープンハウス */
  .openhouse_title {
    margin: 40px 0 30px;
    font-size: 20px;
  }
  
  .openhouse_title span {
    display: block;
    margin: 10px 0 0;
    font-weight: normal;
    font-size: 14px;
  }
  
  .openhouse_list {
    width: 1030px;
    margin: auto;
  }
  
  .openhouse_list li {
    float: left;
    margin: 30px 20px;
    width: 475px;
  }
  
  .openhouse_list li h4 {
    margin: 14px 0 8px;
    font-size: 20px;
  }
  
  .openhouse_list li p {
    text-align: center;
    font-size: 16px;
  }
  
  .openhouse_list li p span {
    font-size: 12px;
  }
  
  .btn_openhouse {
    display: block;
    margin: 130px auto 60px;
    padding: 24px 0;
    width: 400px;
    border: 1px solid #000;
    font-size: 16px;
    text-align: center;
    color: #000;
    transition: all 0.3s linear;
  }
  
  .btn_openhouse:hover {
    color: #fff;
    background: #000;
  }
  
  /* ===================================
    フッター
  ------------------------------------*/
  
  footer.pc-only {
    position: relative;
    padding: 48px;
    min-width: 1100px;
    background: #4a4646;
    color: #fff;
  }
  
  .fo_adress {
    width: 500px;
    margin: 53px 0 0 55px;
    line-height: 1.4em;
    font-size: 13px;
  }
  
  .fo_adress dt {
    font-weight: bold;
    font-size: 14px;
    margin-bottom: 2px;
  }
  
  .sns {
    margin-top: 30px;
    text-align: right;
  }
  
  .sns img {
    margin-left: 13px;
  }
  
  .sub_nav li {
    float: right;
  }
  
  .sub_nav li a {
    display: block;
    color: #fff;
    background: url(../img/f_mark.png) left center no-repeat;
    padding-left: 8px;
    margin: 16px 0 10px 32px;
  }
  
  small {
    display: block;
    font-size: 11px;
    text-align: right;
  }
  
  /* トップへ戻るボタン */
  #topback {
    position: fixed;
    bottom: 185px;
    right: 20px;
    width: 40px;
    height: 40px;
    background: #000;
    border-radius: 20px;
    transition:all 0.3s linear;
  }
  
  #topback:hover {
    background: #c8ae53;
  }
  
  /* 英文フォーム
  =================================== */
  .inquiry_form {
    width: 600px;
    margin: auto;
    line-height: 1.6em;
  }
  
  .inquiry_form dt,
  .confirm_area dt {
    margin: 30px 0 5px;
    font-weight: bold;
  }
  
  .inquiry_form dd span {
    display: block;
    margin: 5px 0;
  }
  
  .form_ex {
    width: 600px;
    margin: 20px auto;
    line-height: 1.6em;
  }
  
  .inquiry_form input,
  .inquiry_form textarea {
    width: 100%;
    padding: 5px 10px;
    font-size: 18px;
    word-wrap: break-word;
    line-height: 1.6em;
  }
  
  .confirm_area {
    width: 700px;
    margin: auto;
    line-height: 1.6em;
    border: 1px solid #b7b7b7;
    margin: 40px auto 20px;
    padding: 20px 40px 40px;
  }
  
  .form_n_btn {
    display: block;
    margin: 13px auto;
    padding: 12px 0;
    width: 250px;
    text-align: center;
    color: #fff;
    font-weight: bold;
    border: 1px solid #d7c077;
    background: #d7c077;
    transition: all 0.3s linear;
    cursor: pointer;
  }
  
  .form_n_btn:hover {
    background: #c0a54e;
  }
  
  .form_b_btn {
    display: block;
    margin: 17px auto 0;
    padding: 8px 0;
    width: 200px;
    background: #f7f7f7;
    border: 1px solid #ccc;
    text-align: center;
    transition: all 0.3s linear;
  }
  
  .form_b_btn:hover {
    opacity: 0.6;
  }
  
  .confirm_btnarea {
    width: 700px;
    margin: 0 auto;
  }
  
  .confirm_btnarea li {
    float: left;
    margin: 0 30px 0 0;
  }
  
  .complete_area {
    width: 700px;
    border: 1px solid #b7b7b7;
    margin: 40px auto 20px;
    padding: 60px 40px;
    line-height: 1.6em;
  }
  .line_banner {
      position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      height: 100vh;
      display: flex;
      justify-content: center;
      align-items: center;
      opacity: 0;
      z-index: 1000;
      transition: ease-out 0.5s;
      visibility: hidden;
  }
  .line_banner .qr {
      width: 150px;
      opacity: 0;
      transition: ease-out 0.3s 0.5s;
  }
  .line_banner.showBanner {
      width: 100vw;
      height: 100vh;
      background-color: rgba(0,0,0,0.75);
      opacity: 1;
      border-radius: 0;
      visibility: visible;
  }
  .line_banner.showBanner .qr {
      opacity: 1;
  }
  .close-icon {
      position: fixed;
      top: 10px;
      right: 10px;
      cursor: pointer;
  }
  .tp_line {
      display: flex;
      position: absolute;
      top: 0;
      right: 250px;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      color: #D7C077;
      cursor: pointer;
      transition: ease-out 0.3s;
  }
  .tp_line:hover {
      opacity: 0.8;
  }
  .tp_line img {
      width: 50px;
      margin-right: 7px;
  }
  
  /* モーダルウィンドウ用 */
  
  #mdOverlay {
    top: 0;
    left: 0;
    width: 100%;
    position: fixed;
    z-index: 1500;
    background: #000;
    display: none;
  }
  
  #mdWindow {
    left: 50%;
      margin-left: -270px;
    top: 5%;
      width: 540px;
    position: fixed;
    z-index: 1501;
    background: #fff;
    display: none;
  }
  
  #mdWindow > .mdClose {
    position: absolute;
    top: -35px;
    right: 5px;
    width: auto;
    height: 30px;
    line-height: 30px;
    color: #fff;
    text-align: center;
    font-size: 30px;
    z-index: 99;
    cursor: pointer;
  }
  
  #mdWindow iframe {
      max-height: 100vh;
  }
  
  .btnArea {
    text-align: center;
    margin: 20px 0;
  }
  
  #modalInclude {
    display: none;
  }
  
  #contWrap {
    margin: 0 auto;
    box-sizing: border-box;
    text-align: center;
  }
  
  #contWrap h2 {
    margin-bottom: 20px;
    padding: 20px 0;
    font-size: 2em;
    font-weight: bold;
    text-align: center;
    border-bottom: #333 1px dotted;
  }
  
  .Caption {
      display: none !important;
  }
  
  .big {
      display: block;
      font-size: 1.5em;
      font-weight: bold;
  }
  .small {
      font-size: 0.8em;
      letter-spacing: 0;
  }
  .table_h {
      display: flex;
      justify-content: center;
  }
  .table_v {
      display: flex;
      align-items: center;
      flex-direction: column;
  }
  .table_h .table_v {
      width: 25%;
  }
  .highlight {
      display: inline-block;
      font-size: 1.2em;
      color: #fff;
      background: #214e8b;
      padding: 5px 30px;
      margin: 15px 0 0 80px;
  }
  .table_v .big {
      line-height: 2em;
  }
  .pc-only {
    display: block !important;
  }
  .mobile-only {
    display: none !important;
  }
  .lang a {
    position: static;
    width: auto;
    height: auto;
    background: none;
    font-size: 12px;
    line-height: 15px;
  }
  .header_home .lang li a:hover {
    background: none;
  }
  .h_logo {
    margin: 0;
    width: 80px;
    height: auto;
  } 
  .menuOff {
    -webkit-transform: translate3d(0, 0, 0);
	  transform: translate3d(0, 0, 0);
  }
  .menu {
    position: static;
    width: auto;
    background: transparent;
  }
  .header_home nav {
    display: flex;
    justify-content: flex-end;
  }
  .header_home nav ul {
    width: fit-content;
  }
  .header_home nav li a {
    border: none;
  }
  .header_home nav li a::before {
    display: none;
  }
  .header_inner {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
  .toppage .top_link img {
    height: auto;
  }
  .menu ul {
    flex-direction: row;
  }
  .submenu {
    display: none;
    position: absolute;
    border: dotted 1px #e8e8e8;
    border-top: none;
  }
  .menu ul .submenu_wrap:first-of-type{
    order: -1;
  }
  .menu ul .submenu_wrap:nth-of-type(2) {
    order: 100;
  }
  .menu ul li:nth-of-type(3) {
    order: 3;
  }
  .menu ul li:nth-of-type(4) {
    order: 2;
  }
  .menu ul li:nth-of-type(5) {
    order: 4;
  }
  .menu ul li:nth-of-type(6) {
    order: 5;
  }
  .submenu_wrap {
    position: relative;
  }
  .submenu_wrap:hover .submenu {
    display: flex;
    position: absolute;
    background: #fff;
    width: 100%;
  }
  .submenu_wrap .submenu li a {
    padding: 20px 0;
    text-align: left;
  }
  .header_other nav .submenu_wrap li .gold:hover:after {
    display: none;
  }
  .header_other nav .submenu li a:after {
    bottom: 1px;
  }
  #topback {
    padding: 0;
  }
  #topback img {
    width: 40px;
  }
  .toppage {
    display: flex;
    flex-direction: column;
  }
  .toppage .news {
    order: 0;
    border: none;
  }
  .toppage .top_link {
    padding: 0;
  }
  .toppage #concept {
    background: transparent;
  }
  .other_shop {
    margin-top: 100px;
  }
  .other_shop h2 {
    font-size: 20px;
  }
  .other_res {
    width: 100%;
    padding: 10px;
    max-width: 1000px;
    display: flex;
    justify-content: space-around;
    margin: auto;
  }
  .other_res li {
    width: 22.5%;
    margin: 0 1.5%;
    float: none !important;
  }
  .other_res li h3 {
    margin: 15px 0;
    font-weight: bold;
  }
  .flex {
    display: flex;
  }
  .res_info .flex {
    width: 100%;
    max-width: 500px;
    margin: auto;
  }
  .logo_footer {
    width: 80px;
  }
  footer dl {
    text-align: left;
  }
  .sns a {
    display: inline-block;
  }

  .reservation {
    position: fixed;
    left:0;
    top: 50vh;
    display: flex;
    flex-direction: column;
    transform: translateY(-50%);
    z-index: 1000;
  }
  .side-CTA {
    writing-mode: vertical-rl;
    text-orientation: upright;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: dotted 1px #000;
    padding: 35px 15px;
    background-color: #fff;
    color: #000;
    transition: ease-out 0.2s;
    letter-spacing: 1px;;
  }
  .side-CTA:hover {
    background: #4a4646;
    color: #fff;
  }
  .wedding_P .whiteCTA {
    display: none;
  }
  .wedding_top .wed_contact_area {
    border-bottom: none;
  }
  .restaurant_P .side-CTA:first-child {
    display: none;
  }
  .whiteCTA {
    background-color: #4a4646;
    color: #fff;
  }
  h2.title03 {
    margin: 62px auto 23px;
    width: 270px;
    height: 26px;
    border-top: 1px solid #000;
    font-size: 18px;
    font-weight: normal;
  }
  h2.title03 span {
    position: relative;
    top: -50%;
    padding: 0 10px;
    background: #fff;
  }
  .header_other .h_logo {
    margin: 0 auto;
    height: 143px;
  }
  .header_other .lang.pc-only, .header_other .h_tel {
    width: 20%;
    justify-content: center;
    display: flex !important;
    color: #000;
  }
  .header_other .lang a {
    color: #000;
  }
  .header_other .header_inner {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    padding-top: 20px;
    border-bottom: solid 1px #fff;
  }
  .header_other .menuOff {
    width: 80%;
    display: flex;
    justify-content: center;
    overflow: initial;
  }
  .header_other .menuOff ul {
    display: flex;
  }
  .header_other .menu ul li a:before {
    display: none;
  }
  /* RESTAURANT */
  h2.title03 {
    margin-bottom: 0;
  }
  .title03+.title01 {
    margin: 0 auto 20px;
    font-size: 40px;
    width: auto;
    font-weight: bold;
    border: none;
    height: auto;
  }
  .txt01, .txt03 {
    max-width: 960px;
    margin: auto;
    text-align: center;
  }
  .w650 {
    max-width: 680px;
    margin: auto;
    text-align: left;
  }
  h3.title01 {
    margin: 67px 0 20px;
    font-size: 28px;
    width: auto;
    height: auto;
    border: none;
    font-weight: bold;
  }
  .space_photo {
    max-width: 960px;
  }
  .space_photo .txt01 {
    margin: 23px auto 63px;
  }
  .space_photo .inner_color {
    background: none;
    max-width: 560px;
    margin: auto;
  }
  .accordion dt {
    border: none;
    background: none;
    padding: 150px 0 0;
  }
  .accordion dt span {
    font-size: 40px;
    line-height: 40px;
  }  
  .accordion dd {
    background: transparent;
    text-align: center;
    padding: 0;
  }
  .accordion dd .price {
    text-align: center;
    margin-top: 10px;
  }
  .menu_groupe {
    margin-bottom: 50px;
  }
  .menu_salon {
    display: flex;
    margin: auto;
    width: 960px;
    justify-content: space-between;
  }
  .price_right {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 10px 0;
  }
  .accordion .price_right p {
    margin: 0;
  }
  .accordion .price_right p:first-child {
    margin-right: 20px;
  }
  .menu_groupe {
    display: flex;
    flex-direction: column;
  }
  .menu_groupe > div {
    order: -1;
    margin-bottom: 20px;
  }
  .menu_groupe img {
    width: 700px;
    margin: auto;
  }
  .accordion dd h3.parti:first-child {
    margin-top: 0;
  }
  .menu_groupe + dd {
    max-width: 700px;
    margin: auto;
  } 
  .accordion {
    border: none;
  }
  .res_menu {
    margin-bottom: 150px;
  }
  .wed2colum_ph{
    display: flex;
    flex-wrap: wrap;
    max-width: 1100px;
    justify-content: center;
    margin: 64px auto;
  }
  .wed2colum_ph img {
    width: 215px;
  }
  .wed_cuisine .txt01 {
    max-width: 550px;
  }
  .style_area {
    justify-content: flex-start;
  }
  .style_area li {
    margin: 0 10px 65px;
  }
  .inner4 .style_area li {
    margin-bottom: 20px;
  }
  #concept .txt01{
    margin: 23px auto 64px;
  }
  .txt02 {
    font-size: 14px;
  }
  .toppage .inner {
    padding: 50px 10px;
  }
  .toppage .inner.top_link {
    padding: 50px 10px;
  }
  .connect_photos img {
    width: 33%;
    margin: 0.15%;
  }
  .wed_connect .flex > div {
    width: 45%;
  }
  .flexslider{
    height: auto;
  }
  .flexslider img {
    height: auto;
  }
  .wed_intro {
    margin: auto;
  }
  .wed_intro_txt {
    margin: 49px 0;
  }
  .portrait {
    margin-top: 80px;
    justify-content: center;
  }
  .content_inner.special {
    width: 700px;
  }
  .link-announce {
    order: -2;
    margin: 50px auto 0;
  }
}

/* WEDDING TOP */
.wedding-top {
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  font-size: 14px;
  font-family: 'Yu Mincho', serif;
  overflow-x: hidden;
}
.wedding-top h1, .wedding-top h2, .wedding-top h3, .wedding-top h4 {
  font-size: 1.4em;
  line-height: 1.5em;
}
.wedding-top .wedding-footer {
  min-height: 100px;
  border: solid 10px #E5C884;
  padding: 2em 2em 4em;
  display: flex;
  flex-direction: column;
  align-items: center;
  background: transparent;
  color: #000;
}
.wedding-top .wedding-footer .list-item, .wedding-top .wedding-footer .list-item:nth-child(2) {
  border: none;
}
.logo-footer {
  width: 100px;
  margin-bottom: 50px;
}
.wedding-top .wedding-footer .list-txt {
  margin-top: 1em;
}
.wedding-top .store-name {
  font-size: 1.4rem;
  font-weight: normal;
  line-height: 1.5em;
}
.wedding-top .phone {
  font-size: 1.2rem;
  text-align: left;
  line-height: 1.5em;
}
.wedding-top .big-phone {
  font-size: 1.7em;
  line-height: 1.5em;
}

.wedding-top section {
  max-width: 1400px;
  margin: auto;
}

.wedding-top .highlight, .wedding-page .highlight {
  width: 85%;
  max-width: 800px;
  margin: 2em auto 5em;
  padding: 3em 1em;
  border-radius: 15px;
  background: #E5C884;
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.8em;
  display: block;
}

.wedding-top .sec-ttl {
  padding: 2em 0;
  text-align: center;
  border-top: solid 2px #E5C884;
  border-bottom: solid 2px #E5C884;
}
.wedding-top .ttl-pre {
  color: #E5C884;
  font-size: 5rem;
  font-style: italic;
  display: block;
  font-family: 'Allura';
}
.wedding-top .sec-ttl h1 {
  font-size: 1.1rem;
  font-weight: bold;
  padding: 0 0.5em;
  display: inline-block;
  line-height: 2em;
}
.wedding-top .subline {
  display: block;
  position: relative;
}
.wedding-top .subline::before {
  content: '';
  width: 100%;
  height: 40%;
  background: #E5C884;
  position: absolute;
  bottom: 0;
  z-index: -1;
  left: 0;
}

.wedding-top .list-wrap {
  margin-top: 7em;
  padding-top: 7em;
  position: relative;
}
.wedding-top .list-ttl {
  position: absolute;
  top: 0;
  left: 0;
  justify-content: center;
  display: flex;
  align-items: center;
  height: 10rem;
  font-size: 1.5rem;
  font-weight: bold;
  z-index: 2;
}
.wedding-top .list-ttl::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 10rem;
  height: 100%;
  border-radius: 50%;
  background: #E5C884;
  z-index: -1;
}
.wedding-top .small {
  font-size: 0.5em;
  line-height: 1.5em;
}
.wedding-top .list-ttl .small {
  display: block;
  text-align: center;
}
.wedding-top .list-item {
  border-left: solid 1px #000;
  border-right: solid 1px #000;
  display: flex;
  flex-direction: column;
}
.wedding-top .list-item:nth-child(2) {
  border-top: solid 1px #000;
}
.wedding-top .list-item:last-child {
  border-bottom: solid 1px #000;
}
.wedding-top .list-txt {
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1em 0;
  margin: 4em 0 2em;
}
.wedding-top .item-desc {
  line-height: 1.5em;
}
.wedding-top .list-img {
  width: 100%;
  display: flex;
}
.wedding-top .list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wedding-top .time {
  font-size: 2.7rem;
  line-height: 1.5em;
  color: #E5C884;
  font-family: 'Allura';
}
.wedding-top .item-ttl {
  font-size: 1.15rem;
  margin-bottom: 1em;
}
.wedding-top .underlined {
  font-size: 1rem;
  line-height: 1.5em;
  font-weight: bold;
  display: inline-block;
  position: relative;
}
.wedding-top .underlined::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  bottom: 2px;
  background: #E5C884;
}

.wedding-top .cta-area {
  margin: 10em auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 1400px;
}
.wedding-top .cta-catch {
  font-size: 1.1rem;
  line-height: 1.5em;
  font-weight: bold;
  text-align: center;
}
.wedding-top .cta {
  display: inline-block;
  padding: 2rem 0em;
  background: #E5C884;
  color: #fff;
  font-size: 1.5rem;
  letter-spacing: 2px;
  text-align: center;
  width: 90%;
  margin-top: 2em;
}

.wedding-top #print-2 {
  max-width: 100%;
}
.wedding-top #print-2 .sec-ttl {
  max-width: 1400px;
  margin: auto;
}
.wedding-top .ttl-banner {
  width: 100%;
  height: 70vh;
  margin-top: 7em;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
}
.wedding-top #spring {background-image: url(/img/wedding/top/spring.jpg)}
.wedding-top #summer {background-image: url(/img/wedding/top/summer.jpg)}
.wedding-top #autumn {background-image: url(/img/wedding/top/autumn.jpg)}
.wedding-top #winter {background-image: url(/img/wedding/top/winter.jpg)}
.wedding-top .season {
  font-size: 7rem;
  color: #fff;
  font-weight: normal;
  font-family: 'Allura';
}
.wedding-top .sp-none {
  display: none;
}

.wedding-top .gallery {
  margin: 8em auto;
  max-width: 1400px;
  display: flex;
  flex-wrap: wrap;
  width: 95%;
  position: relative;
}
.wedding-top .gallery .img-wrap {
  width: 50%;
  height: 25vh;
}
.wedding-top .img-wrap > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wedding-top .season-desc {
  padding: 10px;
  max-width: 1000px;
  margin: auto;
  font-size: 1.05rem;
  line-height: 1.5em;
  text-align: center;
}
.wedding-top #karuizawa, .wedding-top #tabiwed {
  max-width: 100%;
}
.wedding-top .ttl-2 {
  padding: 1em 1em;
  background-color: #C2B59B;
  color: #fff;
  font-size: 1.8rem;
  font-weight: normal;
  margin-top: 7em;
  text-align: center;
}
.wedding-top .big-ttl {
  font-size: 1.5em;
}
.wedding-top .cross {
  width: 2em;
  height: 100%;
  position: relative;
  display: inline-block;
}
.wedding-top .cross::before, .wedding-top .cross::after {
  content: '';
  position: absolute;
  top: -5%;
  width: 1px;
  height: 110%;
  background-color: #fff;
}
.wedding-top .cross::before {
  left: 50%;
  transform: rotateZ(-35deg);
}
.wedding-top .cross::after {
  right: 50%;
  transform: rotateZ(35deg);
}
.wedding-top .small-gallery, .wedding-top .big-img, .wedding-top .big-img img {
  width: 100%;
  display: flex;
}
.wedding-top .small-gallery > img {
  width: 50%;
  object-fit: cover;
}
.wedding-top .gallery-wide {
  display: flex;
  flex-direction: column;
  margin-bottom: 10em;
}
.wedding-top .big-img img {
  height: 100%;
  object-fit: cover;
}
.wedding-top .mini-gallery {
  display: flex;
  height: 50vh;
}
.wedding-top .mini-gallery-2 {
  display: flex;
  flex-direction: column;
}
.wedding-top .mini-gallery-2 > img {
  height: 50%;
}
.wedding-top .gallery-ttl {
  width: 8rem;
  height: 8rem;
  border-radius: 50%;
  background-color: #fff;
  border: solid 2px #C2B59B;
  position: absolute;
  top: -4rem;
  left: 0rem;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2rem;
  font-weight: normal;
  letter-spacing: -4px;
  color: #C2B59B;
}
.wedding-top .gallery-ttl h2 {
  display: inline-flex;
  align-items: center;
}
.wedding-top .gallery-ttl .small {
  margin-left: 5px;
}
.wedding-top .gallery-ttl h2::before {
  content: '';
  position: absolute;
  height: 1px;
  width: 1em;
  background-color: #C2B59B;
  bottom: 30%;
  left: 50%;
  transform: translateX(-50%);
}
.wedding-top .gallery .ttl-2 {
  margin:0;
  width: 100%;
  padding: 1rem 0;
  font-family: sans-serif;
  letter-spacing: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.wedding-top .icon {
  width: 20px;
  margin-left: 20px;
  margin-top: -5px;
}
.wedding-top .cta-2 {
  display: flex;
  width: 90%;
  background-color: #C2B59B;
  color: #fff;
  font-size: 1.2rem;
  text-align: center;
  align-items: center;
  justify-content: center;
  padding: 0.7em 0;
  font-family: 'Yu Mincho', serif;
  margin-top: 2em;
  position: relative;
}
.wedding-top .cta-area .season-desc {
  font-family: 'Yu Mincho', serif;
}
.wedding-top .cta-2::before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: -1;
  background-color: #E5C884;
}
.wedding-top #tabiwed .big-ttl {
  display: block;
  line-height: 2em;
}
.wedding-top #tabiwed .ttl-2 {
  font-size: 1.5rem;
}
.wedding-top #tabiwed .gallery-wide {
  flex-direction: row;
  flex-wrap: wrap;
}
.wedding-top #tabiwed .list-img {
  width: 50%;
  height: 40vh;
}

@media (min-width: 1024px) {
  .wedding-top .pc-none {
      display: none;
  }
  .wedding-top .sp-none {
      display: block;
  }
  .wedding-top .wedding-header {
      height: 40vw;
  }
  .wedding-top .header_other {
    height: auto;
  }
  .wedding-top .hero-img {
      width: 150%;
      left: -25%;
  }
  .wedding-top .logo {
      width: 150px;
  }
  .wedding-top .sub-ttl {
      width: 35%;
      margin: auto;
      text-align: center;
      position: relative;
  }
  .wedding-top .sub-ttl::before, .sub-ttl::after{
      content: '';
      width: 20%;
      height: 1px;
      position: absolute;
      top: 50%;
      background: black;
  }
  .wedding-top .sub-ttl::before {left:0}
  .wedding-top .sub-ttl::after {right: 0}
  .wedding-top .highlight {
      width: calc(100% - 8em);
      padding: 4em;
      font-size: 1.4rem;
  }
  .wedding-top .subline {
      display: inline-block;
  }
  .wedding-top .sec-ttl h1 {
      font-size: 1.4rem;
  }
  .wedding-top .list-item { 
      flex-direction: row;
  }
  .wedding-top .list-txt {
      width: 50%;
      margin: 0;
  }
  .wedding-top .list-img {
      width: 50%;
  }
  .wedding-top .list-item:nth-child(2n + 1) {
      flex-direction: row-reverse;
  }
  .wedding-top .cta-catch {
      width: 45%;
      margin: auto;
      padding: 1.5em 0;
      position: relative;
  }
  .wedding-top .cta-catch::before, .wedding-top .cta-catch::after {
      content: '';
      position: absolute;
      height: 100%;
      width: 1px;
      background: #000;
      top: 0;
  }
  .wedding-top .cta-catch::before {
      left: 0;
      transform: rotateZ(-25deg);
  }
  .wedding-top .cta-catch::after {
      right: 0;
      transform: rotateZ(25deg);
  }
  .wedding-top .cta, .wedding-top .cta-2 {
      width: 45%;
  }
  .wedding-top .ttl-banner {
      height: 20vw;
  }
  .wedding-top .gallery .img-wrap {
      width: 33.33%;
      height: 12vw;
  }
  .wedding-top .small-gallery {
      width: 33.33%;
      flex-direction: column;
  } 
  .wedding-top .small-gallery > img {
      width: 100%;
      height: 50%;
      object-fit: cover;
  }
  .wedding-top .big-img {
      width: 66.66%;
  }
  .wedding-top .gallery-wide {
      flex-direction: row;
      margin-bottom: 0;
      flex-wrap: wrap;
  }
  .wedding-top .mini-gallery {
      height: auto;
  }
  .wedding-top .gallery-ttl {
      left: 1.5rem;
      top: -2rem;
  }
  .wedding-top .gallery .ttl-2 {
      flex-direction: row;
  }
  .wedding-top .gallery .ttl-2 .small {
      margin-left: 1em;
  }
  .wedding-top .season-desc {
      font-size: 1.4rem;
  }
  .wedding-top #tabiwed .list-img {
      height: auto;
  }
  .wedding-top #tabiwed .big-ttl {
      margin-right: 2em;
      display: inline;
  }
  .wedding-top #tabiwed .ttl-2 {
      font-size: 2rem;
  }
  .wedding-top .wedding-footer {
      max-width: 1000px;
      margin: 10em auto;
  }
  .wedding-top .wedding-footer .list-txt {
      align-items: flex-start;
      padding-left: 4em;
  }
  .wedding-top .wedding-footer .cta {
      width: 80%;
  }
  .banner-wrap::after{
    opacity: 0;
  }
  .banner-wrap:hover{
    border-color: #000;
  }
  .banner-wrap:hover::after {
    opacity: 1;
  }
  .banner-wrap:hover p, .banner-wrap:hover, .banner-wrap:hover h2{
    color: #fff;
  }
  .banner-wrap:before {
    background: #E5C884;
    color: #fff;
  }
  .banner-wrap:hover::before {
    background: #fff;
    color: #000;
  }

  .best-rate {
    flex-direction: row;
  }
}
.wedding-top .title04, .wedding-page .title04 {
  font-family: Avenir, Helvetica, Arial, Verdana, "游ゴシック", Yu Gothic, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 2px;
  line-height: 1.5em;
}