@charset "utf-8";


/* ----------------------------------------------------------------------
	selection
---------------------------------------------------------------------- */

::selection { background: #381004; color: #fff; }
::-moz-selection { background: #381004; color: #fff; }


/* ----------------------------------------------------------------------
	font-face
---------------------------------------------------------------------- */

.en {
	font-family: "EB Garamond", serif;
	font-optical-sizing: auto;
	font-style: normal;
	letter-spacing: 0.04em;
}


/* ----------------------------------------------------------------------
	skip-nav
---------------------------------------------------------------------- */

#skip-nav { display: none; }


/* ----------------------------------------------------------------------
	img
---------------------------------------------------------------------- */

#content img {
	max-width: 100%;
	height: auto;
}

/* ----------------------------------------------------------------------
	overlay
---------------------------------------------------------------------- */

#overlay {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 7000;
	background: rgba(0,0,0,0.6);
	width: 100%;
	height: 100%;
	display: none;
	cursor: pointer;
}


/* ----------------------------------------------------------------------
	responsive-tabs
---------------------------------------------------------------------- */

.r-tabs .r-tabs-panel { display: none; }

.r-tabs .r-tabs-accordion-title { display: none; }

.r-tabs .r-tabs-panel.r-tabs-state-active { display: block; }

@media only screen and (max-width: 767px) {
    .r-tabs .r-tabs-nav { display: none; }

    .r-tabs .r-tabs-accordion-title { display: block; }
}


/* ----------------------------------------------------------------------
	html,body
---------------------------------------------------------------------- */

html { font-size: 62.5%; }

body {
	font-family: source-sans-pro, '游ゴシック', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	-webkit-font-smoothing: antialiased;
	color: #381004;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.692307692;
	-webkit-text-size-adjust: none;
}


/* ----------------------------------------------------------------------
	anchor
---------------------------------------------------------------------- */

a { -webkit-tap-highlight-color: rgba(0,0,0,0.3); }
a:link { color: #381004; text-decoration: underline; }
a:visited { color: #381004; text-decoration: underline; }
a:hover { color: #a18e87; text-decoration: none; }
a:active { color: #a18e87; text-decoration: none; }
a:focus { outline: none; }
a,a:hover {
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

a img { transition: 0.7s; }
a img:hover {
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
}


/* ----------------------------------------------------------------------
	heading
---------------------------------------------------------------------- */

h2.ttl,
h3.ttl {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	text-align: center;
	margin: 0 0 1em;
}

h2.ttl span,
h3.ttl span { display: block; }

h2.ttl .en,
h3.ttl .en {
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.4;
}


.under h2.ttl {
	font-weight: normal;
	text-align: center;
}

.under h2.ttl span { display: block; }

.under h2.ttl .en {
	font-size: 60px;
	font-size: 6rem;
	line-height: 1.4;
}


/* ----------------------------------------------------------------------
	wrapper
---------------------------------------------------------------------- */

/*#wrapper {
	position: fixed;
	z-index: 1;
}*/


/* ----------------------------------------------------------------------
	btn
---------------------------------------------------------------------- */

p.btn-default a {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E","ＭＳ Ｐ明朝", "MS PMincho", serif;
	background-repeat: no-repeat;
	background-position: right 15px center;
	background-size: 20px;
	color: #fff;
	font-size: 20px;
	font-size: 2rem;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	padding: 15px;
	display: block;
	transition: 0.7s;
}

p.btn-default a:hover {
	color: #fff;
	opacity: 0.7;
}

p.btn-default.orange a {
	background-color: #f39800;
	background-image: url("../img/icon_a_orange.gif");
}

@media screen and (max-width: 739px) {
	p.btn-default a { padding: 20px 15px 18px; }
}


/* ----------------------------------------------------------------------
	bn-bridal-fair
---------------------------------------------------------------------- */

p.bn-bridal-fair {
	background: url("../img/bg_08.gif") center center;
	background-size: 100px 96px;
	text-align: center;
	padding: 80px 30px;
}

p.bn-bridal-fair img { background: #fff; }

@media screen and (max-width: 959px) {
	p.bn-bridal-fair img {
		width: 100%;
		height: auto;
	}
}

@media screen and (max-width: 739px) {
	p.bn-bridal-fair { padding: 40px 15px; }
}


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

.bn-common {
	background: url("../img/bg_07.gif") center center;
	background-size: 100px 96px;
	padding: 60px 0;
}

.bn-common .inner {
	width: 960px;
	margin: 0 auto;
}

.bn-common .box {
	text-align: center;
	margin-left: 30px;
	width: 465px;
	float: left;
}

.bn-common .box:first-child { margin: 0; }

.bn-common .box p.ph img {
	width: 100%;
	height: auto;
}

.bn-common .box-inner {
	background: #fff;
	padding: 0 0 40px;
	margin-top: -1.4em;
}

.bn-common h2,
.bn-common p.ttl {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	text-align: center;
	margin: 0 0 0.4em;
}

.bn-common h2 span,
.bn-common p.ttl span { display: block; }

.bn-common h2 .en,
.bn-common p.ttl .en {
	font-size: 28px;
	font-size: 2.8rem;
	line-height: 1.4;
}


.bn-common dl { margin: 0; }

.bn-common dl dd { height: 6em; }

.bn-common .saryo dl dd { height: 5em; }
.bn-common .saryo dl dd { padding: 1em 0 0; }

.bn-common dl dt {
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E","ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-size: 26px;
	font-size: 2.6rem;
	letter-spacing: 0.1em;
}

.bn-common dl dd {
	font-size: 15px;
	font-size: 1.5rem;
}

.bn-common p.btn {
	margin: 0 auto;
	width: 300px;
}

.bn-common p.btn a {
	background: #381004;
	color: #fff;
	font-size: 18px;
	font-size: 1.8rem;
	line-height: 48px;
	text-align: center;
	text-decoration: none;
	height: 48px;
	display: block;
}
.bn-common p.btn a:hover {
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

@media screen and (max-width: 959px) {
	.bn-common { padding: 30px 15px; }

	.bn-common .inner {
		width: auto;
		margin: 0 auto;
	}

	.bn-common .box {
		text-align: center;
		padding: 0 15px;
		margin-left: 0;
		width: 50%;
		box-sizing: border-box;
	}

	.bn-common .box:first-child { margin: 0; }

	.bn-common .box-inner { padding: 0 30px 30px; }

	.bn-common p.btn { width: auto; }
}

@media screen and (max-width: 739px) {
	.bn-common { padding: 40px 15px; }
	
	.bn-common .box {
		padding: 0;
		width: auto;
	}
	
	.bn-common .box:first-child { margin: 0 0 15px; }
	
	.bn-common .box-inner { padding: 0 15px 15px; }
	
	.bn-common dl dt {
		font-size: 22px;
		font-size: 2.2rem;
	}
	
	.bn-common dl dd {
		font-size: 14px;
		font-size: 1.4rem;
	}
}


/* ----------------------------------------------------------------------
	s-fixed-bn
---------------------------------------------------------------------- */

.s-fixed-bn {
	position: fixed;
	left: 30px;
	bottom: 0;
	z-index: 1;
	width: 260px;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.2);
}

.s-fixed-bn .inner {
	position: relative;
	background: #fff;
	max-height: 100vh;
	transition: max-height 0.4s ease-out;
}

.s-fixed-bn.close .inner { max-height: 0; }

.s-fixed-bn .inner-block { padding: 0 0 15px; }

.s-fixed-bn a:hover { opacity: 0.7; }
.s-fixed-bn a:hover img { opacity: 1; }

.s-fixed-bn p.ph img {
	width: 100%;
	height: auto;
}

.s-fixed-bn p.date {
	background: #fff;
	border-radius: 5px 5px 0 0;
	overflow: hidden;
}

.s-fixed-bn p.date span {
	background: #c00;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	padding: 16px 0 14px;
	transition: 0.7s;
	display: block;
}

.s-fixed-bn.close { cursor: pointer; }
.s-fixed-bn.close p.date span:hover { opacity: 0.8; }

.s-fixed-bn p.ttl {
	color: #381004;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 1.5;
	font-weight: bold;
	padding: 15px;
}

.s-fixed-bn p.btn { margin: 0 15px; }

.s-fixed-bn p.btn a {
	background: #381004;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
	padding: 12px 0 10px;
	display: block;
}

.s-fixed-bn p.btn-close {
    position: absolute;
    top: -12px;
    right: -12px;
    cursor: pointer;
	transition: 0.7s;
}

.s-fixed-bn.close p.btn-close { display: none; }

.s-fixed-bn p.btn-close:hover,
.s-fixed-bn p.btn a:hover { opacity: 0.8; }

@media screen and (max-width: 767px) {
	.s-fixed-bn {	
		left: 15px;
		width: 280px;
	}
	
	.s-fixed-bn p.date span,
	.s-fixed-bn p.ttl,
	.s-fixed-bn p.btn a {
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	.s-fixed-bn p.date span { padding: 16px 0 14px; }
	
	.s-fixed-bn p.btn a { padding: 12px 0 10px; }
}

@media screen and (max-width: 321px) {
	.s-fixed-bn { width: 240px; }
	
	.s-fixed-bn p.date span,
	.s-fixed-bn p.ttl,
	.s-fixed-bn p.btn a {
		font-size: 12px;
		font-size: 1.2rem;
	}
}

@media screen and (max-width: 959px) and (orientation: landscape) {
	.s-fixed-bn { width: 200px; }
	
	.s-fixed-bn .inner-block { padding: 0 0 10px; }
	
	.s-fixed-bn p.date span,
	.s-fixed-bn p.ttl,
	.s-fixed-bn p.btn a {
		font-size: 10px;
		font-size: 1rem;
	}
	
	.s-fixed-bn p.date span { padding: 12px 0 12px; }
	
	.s-fixed-bn p.ttl { padding: 10px 10px 8px; }
	
	.s-fixed-bn p.btn { margin: 0 10px; }
	
	.s-fixed-bn p.btn a { padding: 10px 0 8px; }
}

@media screen and (max-width: 569px) and (orientation: landscape) {
	.s-fixed-bn p.ph { display: none; }
}


/* ----------------------------------------------------------------------
	header
---------------------------------------------------------------------- */

#header { height: 230px; }

#header .h-inner {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 6000;
	background: url(../img/line_01.gif) 0 bottom repeat-x #fff;
	width: 100%;
}

#header p.btn-official {
	font-weight: bold;
	width: 16%;
}

#header .h-inner div ul li a { text-decoration: none; }

#header p.btn-official a {
	background: #381004;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	line-height: 46px; 
	text-align: center;
	text-decoration: none;
	display: block;
	height: 46px;
	overflow: hidden;
}
#header p.btn-official a:hover {
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

#header .h-inner div {
	position: absolute;
	top: 5px;
	right: 15px;
}

#header .h-inner div p,
#header .h-inner div ul {
	font-size: 13px;
	font-size: 1.3rem;
	float: left;
}

#header .h-inner div p.h-tel .en {
	font-size: 20px;
	font-size: 2rem;
}

#header .h-inner div p.h-tel .en span {
	font-size: 16px;
	font-size: 1.6rem;
}

#header .h-inner div p.h-tel a { text-decoration: none; }

#header .h-inner div ul {
	line-height: 2.9; 
	margin-left: 10px;
}

#header .h-inner div ul li {
	margin-left: 10px;
	float: left;
}

#header h1 {
	text-align: center;
	padding: 70px 0 6px;
}

@media screen and (max-width: 959px) {
	#header  {
		position: relative;
		background: #fff;
		width: 100%;
		height: auto;
	}
	
	#header .h-inner {
		position: static;
		top: auto;
		left: auto;
		background: #fff;
		text-align: center;
		width: auto;
	}
	
	#header p.btn-official {
		font-weight: bold;
		width: auto;
	}
	
	#header .h-inner div {
		position: static;
		top: auto;
		right: auto;
		padding: 24px 15px;
		line-height: 1.6;
	}
	
	#header .h-inner div p.h-tel,
	#header .h-inner div ul {
		float: none;
		margin: 0;
	}
	
	#header .h-inner div p.h-tel { margin: 0 0 10px; }
	
	#header .h-inner div p.h-tel .en {
		font-size: 34px;
		font-size: 3.4rem;
		line-height: 1;
		margin: 0 0 6px;
		display: block;
	}
	
	#header .h-inner div p.h-tel .en span {
		font-size: 18px;
		font-size: 1.8rem;
	}
	
	#header .h-inner div p.h-tel .time {
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	#header .h-inner div ul {
		line-height: 1.6;
		border-top: 1px solid #381004;
		border-left: 1px solid #381004;
	}
	
	#header .h-inner div ul li {
		width: 33.333333333%;
		padding: 0;
		margin: 0;
		border-right: 1px solid #381004;
		border-bottom: 1px solid #381004;
		box-sizing: border-box;
	}
	
	#header .h-inner div ul li a {
		font-size: 14px;
		font-size: 1.4rem;
		padding: 12px 0 10px;
		display: block;
		line-height: 1;
	}
	
	#header h1 { padding: 20px 0; }
	
	#header h1 img {
		width: auto;
		height: 50px;
	}
	
	#header p.btn-official a {
		line-height: 52px;
		height: 52px;
	}
}

@media screen and (max-width: 767px) {	
	#header h1 {
		line-height: 1;
		padding: 10px 0;
	}
	
	#header h1 img { height: 40px; }
	
	#header .h-inner div p.h-tel a { text-decoration: underline; }
}


/* ----------------------------------------------------------------------
	globalnav
---------------------------------------------------------------------- */

#g-nav {
	background: #fff;
	padding: 20px 0;
	width: 100%;
	font-size: 0;
}

#g-nav nav {
	width: 960px;
	margin: 0 auto;
}

#g-nav.fixed {
	position: fixed;
	top: 37px;
	left: 0;
	z-index: 5500;
	padding: 12px 0;
	-webkit-box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
	-moz-box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
	-o-box-shadow: 0 0 5px 0 rgba(0,0,0,0.1);
	box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}


#g-nav nav ul { background: url(../img/g_nav_bg.gif) right 0 repeat-y; }

#g-nav nav ul li {
	position: relative;
	background: url(../img/g_nav_bg.gif) 0 0 repeat-y;
	float: left;
}

#g-nav nav ul li ul {
	position: absolute;
	top: 40px;
	z-index: 200;
	background: rgba(255,255,255, 0.95);
	width: 200px;
	padding: 0 10px;
	-webkit-box-shadow: 0 0 6px 0 rgba(0,0,0,0.1);
	-moz-box-shadow: 0 0 6px 0 rgba(0,0,0,0.1);
	-o-box-shadow: 0 0 6px 0 rgba(0,0,0,0.1);
	box-shadow: 0 0 6px rgba(0,0,0,0.1);
	display: none;
}

#g-nav nav ul li ul li {
	position: static;
	background: none;
	float: none;
	border-bottom: 1px solid #ddd;
}
#g-nav nav ul li ul li:last-child { border-bottom: none; }

#g-nav nav ul li.g-concept { width: 106px; }
#g-nav nav ul li.g-ceremony { width: 88px; }
#g-nav nav ul li.g-banquet { width: 106px; }
#g-nav nav ul li.g-cuisine { width: 93px; }
#g-nav nav ul li.g-report { width: 170px; }
#g-nav nav ul li.g-fair { width: 145px; }
#g-nav nav ul li.g-faq { width: 132px; }
#g-nav nav ul li.g-access { width: 120px; }

#g-nav nav ul li.g-ceremony ul { left: -66px; }
#g-nav nav ul li.g-banquet ul { left: -57px; }
#g-nav nav ul li.g-access ul { left: -52px; }

#g-nav nav ul li a {
	text-align: center;
	text-decoration: none;
	line-height: 1;
	padding: 6px 0 0;
	height: 34px;
	display: block;
}
#g-nav nav ul li a span { display: block; }

#g-nav nav ul li a .ja {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	margin: 0 0 4px;
}

#g-nav nav ul li a .en {
	color: #a18e87;
	font-size: 12px;
	font-size: 1.2rem;
}

#g-nav nav ul li ul li a {
	text-align: left;
	padding: 20px 0;
	height: auto;
	font-size: 14px;
	font-size: 1.4rem;
}

@media screen and (max-width: 959px) {
	#g-nav {
		position: fixed !important;
		top: 0 !important;
		left: inherit!important;
		z-index: 8000;
		right: -360px;
		overflow: hidden;
		background: #fff;
		padding: 0;
		width: 360px;
		height: 100%;
		max-height: 100%;
		overflow-y: scroll; 
		-webkit-transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		transition: right .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
		box-sizing: border-box;
		-webkit-overflow-scrolling: touch;
		display: block;
	}

	.drawer-open #g-nav {
		right: 0;
		display: block; 
	}
	
	#g-nav .menu-body { padding: 80px 0 0; }
	
	#g-nav.fixed {
		z-index: 8000;
		top: auto;
		left: auto;
		padding: 0;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		-o-box-shadow: none;
		box-shadow: none;
	}
	
	#g-nav nav {
		width: 100%;
		padding: 0;
		margin: 0;
	}
	
	#g-nav nav ul { border-top: 1px solid #eee; }
	
	#g-nav nav ul li {
		position: static;
		background:none;
		width: auto !important;
		float: none;
		border-bottom: 1px solid #eee;
	}
	
	#g-nav nav ul li ul {
		position: static;
		top: auto;
		background: #f8f8f8;
		width: auto;
		height: auto;
		display: block !important;
		-webkit-box-shadow: none;
		-moz-box-shadow: none;
		-o-box-shadow: none;
		box-shadow: none;
	}
	
	#g-nav.fixed nav ul li ul { padding-top: 0; }
	
	#g-nav nav ul li a {
		text-align: left;
		line-height: 1;
		padding: 24px 10px 22px;
		width: auto;
		height: auto;
	}
	#g-nav nav ul li a span { display: inline; }
	
	#g-nav nav ul li a .ja {
		font-size: 14px;
		font-size: 1.4rem;
		font-weight: bold;
		padding-right: 6px;
		margin: 0;
	}
	
	#g-nav nav ul li a .en {
		color: #a18e87;
		font-size: 12px;
		font-size: 1.2rem;
	}
	
	#g-nav nav ul li ul li { margin-left: 10px; }
	
	#g-nav nav ul li ul li a { text-align: left; }
}

@media screen and (max-width: 767px) {
	#g-nav {
		right: -100%;
		width: 100%;
	}
	
	#g-nav .menu-body { padding: 60px 0 0; }
}


/* ----------------------------------------------------------------------
	drawer
---------------------------------------------------------------------- */

/* drawer-open */
.drawer-open {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden !important;
}


/* drawer-hamburger */
.drawer-hamburger {
	position: fixed;
	z-index: 8001;
	top: 0;
	right: 0;
	
	width: 70px;
	height: 80px;
	padding: 40px 20px;

	-webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	border: 0;
	outline: 0;
	
	display: none;
	box-sizing: border-box;
}

.drawer-hamburger-icon {
	position: relative;
	display: block;
}

.drawer-hamburger-icon,
.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	width: 100%;
	height: 2px;
	-webkit-transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	transition: all .6s cubic-bezier(0.190, 1.000, 0.220, 1.000);
	background-color: #381004;
}

.drawer-hamburger-icon:before,
.drawer-hamburger-icon:after {
	position: absolute;
	top: -9px;
	left: 0;
	content: ' ';
}

.drawer-hamburger-icon:after {
	top: 9px;
}

.drawer-open .drawer-hamburger-icon {
	background-color: transparent;
	height: 2px;
}

.drawer-open .drawer-hamburger-icon:before,
.drawer-open .drawer-hamburger-icon:after {
	top: 0;
	height: 2px;
}

.drawer-open .drawer-hamburger-icon:before {
  -webkit-transform: rotate(45deg);
	  -ms-transform: rotate(45deg);
		  transform: rotate(45deg);
}

.drawer-open .drawer-hamburger-icon:after {
  -webkit-transform: rotate(-45deg);
	  -ms-transform: rotate(-45deg);
		  transform: rotate(-45deg);
}


/* accessibility */
.sr-only {
	position: absolute;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
	position: static;
	overflow: visible;
	clip: auto;
	width: auto;
	height: auto;
	margin: 0;
}

.drawer-open { overflow: hidden; }


/* overlay */
.drawer-overlay {
	position: fixed;
	z-index: 10;
	top: 0;
	left: 0;
	display: none;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.8);
}

.drawer-open .drawer-overlay { display: block; }


@media screen and (max-width: 959px) {
	.drawer-hamburger,
	.drawer-brand { display: block; }
}

@media screen and (max-width: 767px) {
	.drawer-hamburger {
		padding: 30px 20px;
		height: 60px;
	}
}


/* ----------------------------------------------------------------------
	container
---------------------------------------------------------------------- */

.container-wrap { background: url(../img/bg_01.jpg); }

#report-detail #container,
#gallery-detail #container,
#access #container,
#contact #container,
#document #container {
	width: 960px;
	margin: 0 auto;
}

#privacy #container,
#sitemap #container {
	width: 700px;
	margin: 0 auto;
}

@media screen and (max-width: 959px) {
	#gallery-detail #container {
		padding: 0;
		width: auto;
	}
	
	#report-detail #container,
	#access #container,
	#contact #container,
	#document #container,
	#privacy #container,
	#sitemap #container {
		padding: 0 30px;
		width: auto;
	}
}

@media screen and (max-width: 767px) {
	#report-detail #container,
	#contact #container,
	#document #container,
	#privacy #container,
	#sitemap #container { padding: 0 15px; }
	
	#access #container { padding: 0; }
}


/* ----------------------------------------------------------------------
	content
---------------------------------------------------------------------- */

#report-detail #content {
	width: 700px;
	float: right;
}

@media screen and (max-width: 959px) {
	#report-detail #content { width: 66%; }
}

@media screen and (max-width: 767px) {
	#report-detail #content { width: 100%; }
}

/* c-lef c-right */
.under #content .c-left {
	padding-right: 30px;
	margin: 0 0 50px;
	width: 670px;
	border-right: 1px solid #eee;
	float: left;
}

.under #content .c-right {
	width: 230px;
	float: right;
	margin: 0 0 30px;
}


/* tel-box */
.under .c-right .tel-box { text-align: center; }

.under .c-right .tel-box h3 {
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	padding: 0 0 6px;
	margin: 0 0 1em;
	border-bottom: 1px solid #381004;
}

.under .c-right .tel-box h3 span {
	background: url(../img/icon_tel.gif) 0 0 no-repeat;
	padding: 6px 0 6px 38px;
}

.under .c-right .tel-box p.txt {
	font-size: 14px;
	font-size: 1.4rem;
}

.under .c-right .tel-box p.tel { margin: 0 0 1em; }
.under .c-right .tel-box p.tel .en {
	font-size: 26px;
	font-size: 2.6rem;
}

.under .c-right .tel-box p.tel  a { text-decoration: none; }

.under .c-right .tel-box ul li { margin: 0 0 10px; }

.under .c-right .tel-box ul li a {
	background: #381004;
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	text-align: center;
	text-decoration: none;
	padding: 12px 10px 4px;
	display: block;
}
.under .c-right .tel-box ul li a:hover {
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}


@media screen and (max-width: 959px) {
	.under #content .c-left {
		padding-right: 14px;
		width: 70%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	.under #content .c-right {
		padding: 0 0 10px 15px;
		width: 30%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		box-sizing: border-box;
		border-bottom: 1px dotted #ddd;
	}
	
	.under .c-right .tel-box h3 {
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	.under .c-right .tel-box p.txt {
		font-size: 13px;
		font-size: 1.3rem;
	}
}

@media screen and (max-width: 767px) {
	.under #content .c-left {
		padding-right: 0;
		width: 100%;
		border: none;
	}
	
	.under #content .c-right {
		padding-left: 0;
		width: 100%;
	}
	
	.under .confirm #content .c-right,
	.under .error #content .c-right,
	.under .finish #content .c-right { display: none; }
	
	.under .c-right .tel-box h3 {
		font-size: 18px;
		font-size: 1.8rem;
	}
	
	.under .c-right .tel-box p.txt {
		font-size: 14px;
		font-size: 1.4rem;
	}
	
	#contact #content .c-right ul,
	#document #content .c-right ul { display: none; }
}


/* ----------------------------------------------------------------------
	style-box
---------------------------------------------------------------------- */

.style-box {
	padding: 80px 0;
	overflow: hidden;
}

#home .style-box {
	position: relative;
	background: url(../img/bg_02.jpg);
}
#concept .style-box { padding: 30px 0 70px; }

.style-box .box-inner {
	position: relative;
	margin: 0 auto;
	width: 960px;
}

.style-box .box-column {
	display: flex;
	justify-content: space-between;
}

.style-box .box { width: 300px; }

.style-box p.ph {
	position:relative;
	margin: 0 0 18px;
}

.style-box .txt { min-height: 70px; }

.style-box .btns {
	display: flex;
	flex-direction: column;
	align-self: start;
}

.style-box p.btn { margin: 15px 0 0; }

.style-box p.btn a {
	background: #381004;
	color: #fff;
	font-size: 15px;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 56px;
	text-align: center;
	text-decoration: none;
	height: 56px;
	display: block;
}
.style-box p.btn a:hover {
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

#home .style-box .txt-img {
	position: absolute;
	right: -60px;
	bottom: 40px;
}

.touch #home .style-box .txt-img { display: none; }

@media screen and (max-width: 959px) {
	.style-box { padding: 20px 0 30px; }
	
	.style-box .box-inner {
		padding: 0 15px;
		width: auto;
	}

	.style-box .box {
		width: 33.333%;
		padding: 0 15px;
		margin: 0;
		box-sizing: border-box;
	}
	
	#home .style-box .txt { min-height: 90px; }
	
	#home .style-box .txt-img { display: none; }
}

@media screen and (max-width: 767px) {
	#home .style-box {
		background: url(../img/bg_01.jpg);
		padding: 0;
	}
		
	.style-box .box-inner {
		padding: 0;
		display: block;
	}
	
	.style-box .box-column { display: block; }

	.style-box .box {
		width: 100%;
		padding: 20px 15px;
		margin: 9px 0 0;
		border-bottom: 1px solid #eee;
	}
	
	#home .style-box .box {
		background: url(../img/bg_02.jpg);
		border-bottom: 1px solid #e7e2c8;
	}
	
	.style-box .box:last-child { border: none; }
	
	.style-box .box p.ph { text-align: center; }
	
	.style-box .box p.ph img { width: 100%; }
	
	.style-box .box p.txt { min-height: 0 !important; }
}


/* ----------------------------------------------------------------------
	l-topics-list
---------------------------------------------------------------------- */

.l-topics-list {
	width: 960px;
	margin: 0 0 40px;
	display: flex;
	flex-wrap: wrap;
	gap: 40px 30px;
}

#topics .l-topics-list { margin-bottom: 80px; }

.l-topics-list li { width: 300px; }

.l-topics-list  li a {
	position: relative;
	font-size: 14px;
	font-size: 1.4rem;
	text-decoration: none;
	display: block;
}

.l-topics-list  li a p.ph { margin: 0 0 12px; }

.l-topics-list  li a p.ph img {
	width: 300px;
	height: 200px!important;
	object-fit: cover;
}

.l-topics-list  li a .date.pc {
	position: absolute;
	top: 0;
	left: 15px;
	background: url("../img/date_bg.png") center 45px no-repeat rgba(255,255,255,0.9);
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E","ＭＳ Ｐ明朝", "MS PMincho", serif;
}

.l-topics-list  li a .date.pc p {
	position: relative;
	width: 70px;
	height: 100px;
	border-bottom: 3px solid #7c0000;
}

.l-topics-list  li a .date.pc p span { position: absolute; }

.l-topics-list  li a .date.pc p .year {
	top: 5px;
	left: 0;
	font-size: 18px;
	font-size: 1.8rem;
	text-align: center;
	width: 100%;
}

.l-topics-list  li a .date.pc p .month {
	top: 32px;
	left: 10px;
	font-size: 22px;
	font-size: 2.2rem;
}

.l-topics-list  li a .date.pc p .day {
	top: 62px;
	right: 10px;
	font-size: 22px;
	font-size: 2.2rem;
}

.l-topics-list  li a .date.sp { display: none; }

@media screen and (max-width: 959px) {
	.l-topics-list  {
		width: auto;
		margin: 0 0 60px;
		gap:  20px;
	}

	.l-topics-list  li {
		margin-left: 0;
		width: calc((100% - 40px) / 3);
		box-sizing: border-box;
		
	}

	.l-topics-list  li a {
		position: relative;
		text-decoration: none;
		display: block;
	}
	
	.l-topics-list  li a p.ph img { height: 20vw!important; }

	.l-topics-list  li a .date.pc {
		left: 10px;
		background-position: center 40px;
	}
	
	.l-topics-list  li a .date.pc p {
		position: relative;
		width: 60px;
		height: 90px;
	}

	.l-topics-list  li a .date.pc p .year {
		font-size: 16px;
		font-size: 1.6rem;
	}

	.l-topics-list  li a .date.pc p .month {
		font-size: 18px;
		font-size: 1.8rem;
	}

	.l-topics-list  li a .date.pc p .day {
		top: 59px;
		font-size: 18px;
		font-size: 1.8rem;
	}
}

@media screen and (max-width: 767px) {
	.l-topics-list  {
		margin: 0 0 40px;
		border-top: 1px solid #ddd;
		display: block;
	}
	
	#topics .l-topics-list { margin-bottom: 60px; }
	
	.l-topics-list  li {
		padding: 15px 0;
		margin: 0;
		width: auto;
		float: none;
		border-bottom: 1px solid #ddd;
	}

	.l-topics-list  li a .date { display: none; }
	
	.l-topics-list  li a figure {
		width: 100%;
		display: table;
	}
	
	.l-topics-list  li a p.ph,
	.l-topics-list  li a .box {
		vertical-align: middle;
		display: table-cell;
	}
	
	.l-topics-list  li a p.ph {
		width: 30%;
		margin: 0;
	}
	
	.l-topics-list  li a .box { padding: 0 30px 0 10px; }
	
	.l-topics-list  li a .date.sp { display: block; }
}


/* ----------------------------------------------------------------------
	sidebar
---------------------------------------------------------------------- */

#sidebar {
	margin: 0 0 30px;
	width: 230px;
	float: left;
}

#sidebar h3 {
	font-size: 13px;
	font-size: 1.3rem;
	font-weight: normal;
	margin: 0 0 1em;
}

#sidebar h3 .en {
	font-size: 20px;
	font-size: 2rem;
}

#sidebar .recent-box ul { padding: 0 0 20px; }

#sidebar .recent-box ul li { margin: 0 0 20px; }

#sidebar .recent-box ul li a {
	font-size: 12px;
	font-size: 1.2rem;
	text-decoration: none;
	display: flex;
	align-items: center;
	gap: 0 10px;
}

#sidebar .recent-box ul li a img {
	width: 90px;
	height: 60px;
	object-fit: cover;
}

@media screen and (max-width: 959px) {
	#sidebar {
		width: 30%;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		box-sizing: border-box;
	}
}

@media screen and (max-width: 767px) {
	#sidebar {
		width: 100%;
		padding-right: 0;
	}
	
	#sidebar h3 { text-align: center; }
	
	#sidebar .recent-box ul li a {
		font-size: 13px;
		font-size: 1.3rem;
	}
}


/* ----------------------------------------------------------------------
	footer
---------------------------------------------------------------------- */

/* f-con-bn */
.f-con-bn {
	background: url(../img/f_con_bn_bg.gif);
	padding: 80px 0;
	border-top: 1px solid #eee;
}

.f-con-bn ul {
	width: 950px;
	margin: 0 auto;
}

.f-con-bn ul li {
	text-align: center;
	margin-left: 30px;
	width: 215px;
	float: left;
}

.f-con-bn ul li.f-instagram { margin-left: 0; }

.f-con-bn ul li a {
	background-color: #fff;
	background-position: 0 0;
	background-repeat: no-repeat;
    background-size: 215px 140px;
	text-decoration: none;
	padding: 146px 0 12px;
	display: block;
	-webkit-box-shadow: 0 0 3px 0 #ddd;
	-moz-box-shadow: 0 0 3px 0 #ddd;
	-o-box-shadow: 0 0 3px 0 #ddd;
	box-shadow: 0 0 3px 0 #ddd;
}
.f-con-bn ul li a:hover {
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

.f-con-bn ul li.f-instagram a { background-image: url(../img/f_con_bn_instagram_img.jpg) }
.f-con-bn ul li.f-faq a { background-image: url(../img/f_con_bn_faq_img.jpg?=20240313) }
.f-con-bn ul li.f-access a { background-image: url(../img/f_con_bn_access_img.jpg?=20240313) }
.f-con-bn ul li.f-blog a { background-image: url(../img/f_con_bn_blog_img.jpg) }

.f-con-bn ul li a .icon {
	background-position: 0 10px;
	background-repeat: no-repeat;
	padding-left: 46px;
	display: inline-block;
	*display: inline;
    *zoom: 1;
}

.f-con-bn ul li.f-instagram a .icon { background-image: url(../img/f_con_bn_instagram_icon.gif) }
.f-con-bn ul li.f-faq a .icon { background-image: url(../img/f_con_bn_faq_icon.gif) }
.f-con-bn ul li.f-access a .icon { background-image: url(../img/f_con_bn_access_icon.gif) }
.f-con-bn ul li.f-blog a .icon { background-image: url(../img/f_con_bn_blog_icon.gif) }

.f-con-bn ul li a .en {
	font-size: 20px;
	font-size: 2rem;
	display: block;
}

@media screen and (max-width: 959px) {
	.f-con-bn { padding: 40px 15px; }
	
	.f-con-bn ul { width: auto; }
	
	.f-con-bn ul li {
		width: 50%;
		padding: 0 15px;
		margin: 0;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-o-box-sizing: border-box;
		box-sizing: border-box;
	}
	
	.f-con-bn ul li.f-instagram,
	.f-con-bn ul li.f-faq { margin: 0 0 30px; }
	
	.f-con-bn ul li a {
		background-size: 138px 90px;
		text-align: left;
		padding: 16px 10px 0 148px;
		height: 74px;
	}

	.f-con-bn ul li a .icon {
		background-position: right 8px;
		padding-left: 0;
		padding-right: 46px;
		display: block;
	}
}

@media screen and (max-width: 767px) {
	.f-con-bn ul li {
		width: 100%;
		padding: 0;
		margin: 0 0 8px !important;
	}
	
	.f-con-bn ul li:last-child { margin: 0 !important; }
}

@media screen and (max-width: 479px) {
	.f-con-bn {
		background: none;
		padding: 40px 15px;
	}
	
	.f-con-bn ul li { margin: 0 0 15px !important; }
	
	.f-con-bn ul li a {
		background-position: -20px 0;
		text-align: left;
		padding: 16px 10px 0 132px;
		height: 74px;
	}
}


/* f-contact */
.f-contact {
	background: url(../img/f_contact_bg.gif);
	color: #fff;
	text-align: center;
	padding: 60px 0 80px;
}

.f-contact h3 {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: normal;
	padding: 0 0 6px;
	margin: 0 auto 16px;
	width: 768px;
	border-bottom: 1px solid #5c413a;
}

.f-contact h3 .en {
	font-size: 28px;
	font-size: 2.8rem;
}

.f-contact p.tel .en {
	font-size: 18px;
	font-size: 1.8rem;
	margin: 0 10px;
}

.f-contact p.tel .en span {
	font-size: 34px;
	font-size: 3.4rem;
}

.f-contact p.tel a {
	color: #fff;
	text-decoration: none;
}

.f-contact ul {
	margin-top: 16px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.f-contact ul li {
	width: 180px;
	margin: 0 6px;
	border: 1px solid #fff;
}


.f-contact ul li a {
	color: #fff;
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 46px; 
	text-decoration: none;
	height: 46px;
	display: block;
}
.f-contact ul li a:hover {
	filter: alpha(opacity=75);
	-moz-opacity:0.75;
	opacity:0.75;
	-webkit-transition: 0.7s;
	-moz-transition: 0.7s;
	-o-transition: 0.7s;
	transition: 0.7s;
}

.f-contact ul li.f-tour a span {
	background: url(../img/f_contact_mail_tour.png) 0 0 no-repeat;
	background-size: 18px;
	padding: 2px 0 2px 24px;
}

.f-contact ul li.f-mail a span {
	background: url(../img/f_contact_mail_icon.gif) 0 0 no-repeat;
	background-size: 22px 16px;
	padding: 1px 0 2px 28px;
}

.f-contact ul li.f-document a span {
	background: url(../img/f_contact_document_icon.gif) 0 0 no-repeat;
	background-size: 14px 16px;
	padding: 1px 0 2px 20px;
}

.f-contact ul li.f-fair a span {
	background: url(../img/f_contact_fair_icon.gif) 0 0 no-repeat;
	background-size: 14px 17px;
	padding: 2px 0 2px 20px;
}

@media screen and (max-width: 959px) {

}

@media screen and (max-width: 767px) {
	.f-contact { padding: 24px 15px 40px; }
	
	.f-contact h3 { width: auto; }
	
	.f-contact p.txt { margin: 0 0 1.4em; }
	
	.f-contact p.tel { line-height: 1.4; }
	
	.f-contact p.tel a { text-decoration: underline; }
	
	.f-contact p span { display: block; }
	
	.f-contact p .en { margin: 0 0 0.6em; }
	
	.f-contact p .en span { display: inline; }
	
	.f-contact ul {
		margin-top: 24px;
		width: auto;
		border-top: 1px solid #fff;
		border-left: 1px solid #fff;
	}
	
	.f-contact ul li {
		width: 50%;
		margin: 0;
		border: none;
		border-right: 1px solid #fff;
		border-bottom: 1px solid #fff;
		box-sizing: border-box;
	}
	
	.f-contact ul li:last-child { margin: 0; }
}


/* footer */
#footer { padding: 60px 0 0; }

#footer a { text-decoration: none; }
#footer a:hover { text-decoration: underline; }

#footer .f-logo {
	margin: 0 auto 50px;
	width: 575px;
	display: flex;
	justify-content: space-between;
}

#footer .f-logo dl {
	font-size: 14px;
	font-size: 1.4rem;
}

#footer .f-logo dl dt {
	font-weight: bold;
	margin: 0 0 0.6em;
}

#footer dl.f-logo dd.f-address { padding: 16px 0 2px; }

#footer .f-sitemap {
	font-size: 14px;
	font-size: 1.4rem;
	padding: 0 0 50px;
	margin: 0 auto;
	width: 960px;
	display: flex;
	justify-content: space-between;
}

#footer .f-sitemap ul li { margin: 0 0 0.4em; }

#footer .f-sitemap dl dt { margin: 0 0 0.4em; }

#footer .f-sitemap dl dd ul li a {
	background: url("../img/icon_f_sitemap.gif") 0 8px no-repeat;
	background-size: 6px 1px;
	padding-left: 1em;
}

#footer ul.sns {
	position: fixed;
	top: 50%;
	right: 15px;
	margin-top: -42px;
}

#footer ul.sns li { margin: 0 0 5px; }

#footer ul.sns li:last-child { margin: 0; }

#footer .f-btm {
	background: url("../img/bg_07.gif");
	font-size: 14px;
	font-size: 1.4rem;
	padding: 20px 0;
}

#footer .f-btm .f-btm-inner {
	margin: 0 auto;
	width: 960px;
	display: flex;
	justify-content: space-between;
}

#footer ul.f-nav li {
	margin-right: 30px;
	display: inline;
}

#footer #copyright { text-align: right; }

@media screen and (max-width: 959px) {
	#footer { padding: 40px 0 0; }
	
	#footer .f-logo { margin: 0 auto 30px; }

	#footer ul.sns {
		position: static;
		text-align: center;
		margin: 0 0 30px;
	}
	
	#footer ul.sns li {
		margin: 0 10px;
		display: inline;
	}
	
	#footer .f-sitemap {
		font-size: 13px;
		font-size: 1.3rem;
		padding: 0 0 40px;
		margin: 0 30px;
		width: auto;
	}
	
	#footer .f-btm {
		font-size: 13px;
		font-size: 1.3rem;
		padding: 12px 30px;
	}

	#footer .f-btm .f-btm-inner { width: auto; }
}

@media screen and (max-width: 767px) {
	#footer { padding: 30px 0 0; }
	
	#footer .f-logo {
		text-align: center;
		margin: 0 auto 20px;
		width: auto;
		display: block;
	}

	#footer .f-logo p { margin-bottom: 20px; }

	#footer .f-sitemap {
		font-size: 14px;
		font-size: 1.4rem;
		display: block;
	}
	
	#footer .f-sitemap ul:first-child,
	#footer .f-sitemap dl { margin: 0 0 1.6em; }

	#footer ul.sns {
		position: static;
		text-align: center;
		margin: 0 0 20px;
	}
	
	#footer ul.sns li {
		margin: 0 10px;
		display: inline;
	}
	
	#footer .f-btm {
		font-size: 14px;
		font-size: 1.4rem;
		padding: 15px 15px;
	}
	
	#footer .f-btm .f-btm-inner { display: block; }
	
	#footer ul.f-nav {
		text-align: center;
		margin: 0 0 0.2em;
	}
	
	#footer ul.f-nav li { margin: 0 10px; }
	
	#footer #copyright {
		font-size: 12px;
		font-size: 1.2rem;
		text-align: center;
	}
}


/* ----------------------------------------------------------------------
	pagetop
---------------------------------------------------------------------- */

#pagetop {
	position: fixed;
	right: 15px;
	bottom: 15px;
	display: none;
	z-index: 1;
}

@media screen and (max-width: 959px) {
	#pagetop {
		right: 15px;
		bottom: 15px;
	}
}


