@charset "UTF-8";

/* reset */
body,div,ul,ol,li,dl,dt,dd,form,th,td,h1,h2,h3,h4,h5,p{margin:0;padding:0;font-style:normal;}
ul{list-style-type:none;}
table,img{border:0;}
textarea{font-size:1em;}
em{font-style:normal;}
/* set */
body{background:#FFF;color:#555;font-size:62.5%;}
a{ color: #0033CC; text-decoration: underline; }
a:hover{ color: #999999; }
/* clear */
.clear::after{
    content:"";
    display:table;
    clear:both;
}
/* mouseover */
a:hover img.btn{opacity:0.7;}

/* =====================================================

Layout

===================================================== */

html,body{min-width:950px;}
.container{
	width:950px;
	margin:0 auto;
}
.container-m{
    width:800px;
    margin:0 auto;
}
.main{
	float:left;
	width:700px;
}
.side{
	float:right;
	width:200px;
}

/* =====================================================

Common Parts : header

===================================================== */

.h-logo{
	box-sizing:border-box;
	height:130px;
	padding-top:25px;
	text-align:center;
}
.gnavi{
	box-sizing:border-box;
	height:60px;
	padding-top:4px;
	border-top:1px solid #4D718B;
	border-bottom:1px solid #4D718B;
	background:#003459;
}
.gnavi ul{
    display:-webkit-flex;
    display:flex;
}
.gnavi li{
	box-sizing:border-box;
	width:180px;
	height:50px;
	border-left:1px solid #4C718A;
}
.gnavi li.gnavi-pacha{
	width:230px;
	border:none;
}
.gnavi a{
	display:block;
	text-align:center;
}
.gnavi-pacha a{
	background:#FFF;
}
.gnavi a:hover{
	background:#4C718A;
}
.gnavi-pacha a:hover{
	background:#B3C2CE;
}
.gnavi img{
	vertical-align:top;
}

/* =====================================================

Common Parts : topicpath

===================================================== */
.topicpath{
	padding:20px 0 10px;
	font-size:1.2em;
}

/* =====================================================

Common Parts : snsbtn

===================================================== */
.snsbtn {
  clear: both;
  padding: 60px 0 0;
  height: 30px;
  text-align: center;
}
.snsbtn__fb, .snsbtn__tw, .snsbtn__line {
  display: inline-block;
  line-height: 1;
}
.snsbtn__fb,
.snsbtn__tw {
  vertical-align: top;
}

/* =====================================================

Common Parts : gotop

===================================================== */
.gotop{
    position:fixed;
    z-index:18;
    right:20px;
    bottom:30px;
    width:40px;
    height:40px;
}
.gotop_start{
    opacity:0;
}
.gotop_show,
.gotop_hide {
    -webkit-transition:1s ease-in-out;
    transition:0.5s ease-in-out;
}
.gotop_show {
    opacity:1;
}
.gotop_hide {
    opacity:0;
}
.gotop a{
    display:block;
	box-sizing:border-box;
    width:40px;
    height:40px;
    padding:11px 0 0 0;
    border-radius:40px;
    background:rgba(0,0,0,0.7);
    text-align:center;
}
.gotop a:hover{background:rgba(0,0,0,0.4);}
.gotop svg{
    width:12px;
    height:12px;
    fill:#FFFFFF;
}

/* =====================================================

Common Parts : fnavi

===================================================== */
.fnavi{
	clear:both;
	padding:50px 0 25px;
	font-size:1.2em;
	line-height:1;
	text-align:center;
}
.fnavi ul{
	text-align:center;
}
.fnavi li{
	display:inline-block;
	padding:0 10px;
}
.fnavi li:not(:first-child){
	margin-left:-0.3em;
	border-left:1px solid #555;
}

/* =====================================================

Common Parts : footer

===================================================== */

.footer-bottom{
	padding:20px 0;
	background:#003459;
	color:#FFF;
	font-size:1.2em;
}
.footer-bottom:after{
    content:"";
    display:table;
    clear:both;
}
.footer-bottom a{ color: #FFF; text-decoration: none; }
.footer-bottom a:hover{ color: #CCC; }

/* footer-link */
.footer-link{
	float:left;
	width:740px;
}
.footer-link li{
	float:left;
	padding:0 15px 0 0;
}
.footer-link a{
	padding:5px 0 5px 10px;
	background:url(../images/mark02.gif) no-repeat 0 50%;
}
.footer-link a.link-site{
	padding:5px 0 5px 20px;
	background:url(../images/mark-link1b.gif) no-repeat 0 50%;
}

/* copyright */
.copyright{
	float:right;
	width:200px;
	text-align:right;
}

/* =====================================================

Common Parts : contents

===================================================== */

#contents{
	background:url(../images/contents-bg.gif) no-repeat left top;
}
#main{
    float:left;
	width:720px;
}
#side{
    float:right;
    width:200px;
}

/* layout -------------------------------------- */
.layout-center{ text-align:center; }
.layout-center20{ margin:20px 0; text-align:center; }
.layout-right{ text-align:right; }

/* btn -------------------------------------- */
.btn01{
    display:inline-block;
	min-width:300px;
    margin-top:20px;
    padding:24px 25px 24px 40px;
    border-radius:2px;
    color:#FFF;
    background:#003459 url(../images/mark02.gif) no-repeat 20px 50%;
    box-shadow:0 0 5px rgba(0,0,0,0.3);
    line-height:1.3;
    text-decoration:none;
}
.btn01:hover{
	color:#FFF;
	background:#4C718A url(../images/mark02.gif) no-repeat 20px 50%;
}

/* MailForm ----------------------------------- */

/* textfield */
.textfield-s { width:40%; }
.textfield-m { width:70%; }
.textfield-l { width:100%; }

/* mform */
.mform{
	margin:30px 0 0;
	text-align:center;
	font-size:1.4em;
	line-height:1.5;
}
.mform table{
	width:100%;
    border-collapse:collapse;
	border-top:1px dotted #999;
	text-align:left;
}
.mform th,
.mform td{
	border-bottom:1px dotted #999;
	text-align:left;
	vertical-align:top;
}
.mform th{
	padding:15px 0;
    color:#003459;
	font-weight:bold;
}
.mform td{
    padding:10px 0;
}
.mform td span{
	font-size:0.84em;
	color:#999999;
}
.mform input,
.mform textarea{
    padding:5px;
    box-sizing:border-box;
    font-size:16px;
}
.mform textarea{
	width:100%;
	height:200px;
}
.mform-btn{
	margin:20px 0 0 0;
	text-align:center;
}
.mform-btn input{
	padding:8px 50px;
    font-size:20px;
}
.mform-back{
	margin:10px 0 -10px;
	text-align:left;
}
/* complete */
.mform-complete{
	margin:50px 0 0 0;
	height:300px;
	text-align:center;
}
/* error */
.mform-error{
	margin:20px 0 0;
}
.mform-error p{
	padding:10px;
	border:1px solid #FF0000;
	color:#FF0000;
	font-size:1.2em;
	line-height:1.5;
}

/* =====================================================

Common Parts : contents - side

===================================================== */

.side-bn{
	margin:0 0 10px;
}

/* snavi ------------------------------------- */
.snavi{
	border-top:3px solid #003459;
	margin:0 0 15px 0;
    font-size:1.4em;
}
.snavi dt{
	padding:25px 0;
	background:#ECECEC;
	color:#003459;
	font-weight:bold;
	text-align:center;
}
.snavi dd{
	padding:5px 0 0;
}
.snavi ul li ul{
	margin:0 0 -7px;
}
.snavi li{
	border-top:1px dotted #CCC;
	line-height:1.5;
}
.snavi li a,
.snavi li span{
	display:block;
	padding:7px 0 7px 17px;
	background:url(../images/mark01.gif) no-repeat 5px 12px;
}
.snavi li.snavi-first{
	border:none;
}
.snavi li.snavi-category{
	font-weight:bold;
	padding:10px 0 0;
}
.snavi li.snavi-category ul{
	padding:2px 0 7px;
}
.snavi li.snavi-category li{
	font-size:0.85em;
	font-weight:normal;
}

/* side-link ------------------------------------ */
.side-link{
	margin:60px 0;
}
.side-link li{
	margin:10px 0 0;
}
.side-link img{
    vertical-align:top;
}

/* =====================================================

cms

===================================================== */
.cms-archivetitle{
	margin: 0 0 30px;
	padding: 7px 0 7px 15px;
	border-left: 3px solid #003459;
	color: #003459;
}
/* cms-article */
.cms-article{
    margin:0 0 100px;
}
.cms-articleheader{
    margin-bottom:20px;
}
.cms-articletitle{
	padding:12px 10px;
	border-bottom:1px solid #CCC;
	background:#EEE;
	font-size:2em;
	font-weight:bold;
	line-height:1.5;
}
.cms-articledate{
    padding:10px 10px 5px 10px;
	font-size:1.4em;
	line-height:1.5;
}
.cms-articlebody{
	padding:10px 5px 0;
	font-size:1.6em;
	line-height:1.7;
}
/* input data -------------------------- */
.cms-articlebody-text::after{
    content:"";
    display:table;
    clear:both;
}
.cms-articlebody-text p{ margin:0 0 15px 0;}
.cms-articlebody-text img{max-width:100%; height:auto;}
.cms-articlebody-text .img-right{ margin:0 0 20px 20px; }
.cms-articlebody-text .img-left{ margin:0 20px 20px 0; }
.cms-articlebody-text hr{
	clear:both;
	margin:20px 0;
	border:solid #999;
	border-width:1px 0 0 0;
   	height:1px;
}
.cms-articlebody-text blockquote{
	margin:30px 0;
	padding:10px 15px 5px 15px;
	border:1px solid #CCC;
	background:#EEE;
}
.cms-articlebody-text ul{
	list-style-type:disc;
	margin:20px 0 20px 25px;
}
.cms-articlebody-text ol{
	margin:20px 0 20px 30px;
}
.cms-articlebody-text h1,
.cms-articlebody-text h2,
.cms-articlebody-text h3{
	font-size:2em;
}
.cms-articlebody-text h4{
	font-size:1.8em;
}
.cms-articlebody-text h5{
	font-size:1.5em;
}
.cms-articlebody-text h6{
	font-size:1.2em;
}
/* cms-searchresult */
.cms-searchresult{
    margin:0 0 40px;
}
.cms-searchresultheader{
    margin-bottom:5px;
}
.cms-searchresulttitle{
    margin-bottom:10px;
	padding:10px;
	background:#EEE;
	font-size:2em;
	font-weight:bold;
	line-height:1.5;
}
.cms-searchresultdate{
	font-size:1.4em;
	line-height:1.5;
}
.cms-searchresultbody{
	font-size:1.6em;
	line-height:1.7;
}
/* cms-pagenumber / cms-pagenavi ------------- */
.cms-pagenumber,
.cms-pagenavi{
	clear:both;
	width:100%;
	margin:40px 0;
	padding:10px 0;
	border-top:1px solid #CCC;
	border-bottom:1px solid #CCC;
	font-size:1.4em;
	line-height:1;
	text-align:center;
}
.cms-pagenumber a,
.cms-pagenumber span,
.cms-pagenavi span,
.cms-pagenavi a{
	display:inline-block;
    margin:5px 0;
    padding:8px 8px 6px;
	border-radius: 2px;
}
.cms-pagenumber a,
.cms-pagenavi a{
	border:solid 1px #CCC;
	text-decoration:none;
}
.cms-pagenumber a:hover,
.cms-pagenavi a:hover{
	border:solid 1px #003459;
    background:#003459;
    color:#FFF;
    text-decoration: none;
}
.cms-pagenavi span{
	background:#3E3815;
	border:solid 1px #3E3815;
	color: #fff;
}

/* cms-snavi --------------------------------------- */
.cms-snavi{
    margin-bottom:20px;
}
.cms-snavi .snavi{
	border:none;
}
.cms-snavi-title{
	margin:0 0 10px;
	padding:4px 7px;
	border-bottom:1px solid #CCC;
	font-size:1.4em;
	font-weight:bold;
}
.snavi-archives,
.cms-snavi-search{
	margin:10px 0 20px;
	text-align:center;
}
.cms-snavi-select,
.cms-snavi-search-input{
    box-sizing:border-box;
	width:100%;
	margin:5px 0 0;
    padding:3px;
    font-size:16px;
}
.cms-snavi-search-btn{
	margin-top:5px;
}
/* cms-snavi --------------------------------------- */
.cms-sidecalendar{
	margin-bottom:20px;
    font-size:1.2em;
}
.cms-sidecalendar table{
    width:100%;
    border:0;
    border-collapse:collapse;
}
.cms-sidecalendar th,
.cms-sidecalendar td{
	padding:2px 0;
	text-align:center;
}
.cms-sidecalendar caption{
	margin:0 0 5px 0;
	padding:5px 0;
	background:#003459;
    color:#FFF;
}
.cms-sidecalendar caption a{
    color:#FFF;
}
.cms-sidecalendar th{
    font-size:0.85em;
}

/* =====================================================

indexpage

===================================================== */

.style-index .h-logo{
    position:absolute;
    z-index:3;
    top:0;
    left:50%;
    width:96%;
    max-width:950px;
    height:auto;
    padding-top:15px;
    text-align:left;
    -webkit-transform:translate(-50%, 0);
    transform:translate(-50%, 0);
}
.style-index .gnavi{
	position:absolute;
    z-index:3;
    top:580px;
    left:0;
    width:100%;
}

/* indexmain ----------- */
.indexmain{
	overflow:hidden;
    position:relative;
    min-width:950px;
    height:850px;
}
.indexmain li{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.indexmain img{
	position:absolute;
    top:0;
    left:calc(50% - 675px);
    width:1350px;
	height:auto;
	vertical-align:top;
}
/* fatdein fadeout */
.indexmain__img02,
.indexmain__img03,
.indexmain__img04{
	opacity: 0; transition: opacity 1s ease;
}
.indexmain__img02{ animation: indexmainfade 28s 8s infinite; }
.indexmain__img03{ animation: indexmainfade 28s 15s infinite; }
.indexmain__img04{ animation: indexmainfadelast 28s 22s infinite; }
@keyframes indexmainfade {
    0% {opacity: 0}
    5% {opacity: 1}
    30% {opacity: 1}
    35% {opacity: 0}
    100% {opacity: 0}
}
@keyframes indexmainfadelast {
    0% {opacity: 0}
    5% {opacity: 1}
    25% {opacity: 1}
    30% {opacity: 0}
    100% {opacity: 0}
}

/* index-info ----------- */
.index-info{
    position:relative;
    margin-top:-160px;
}
.index-info:after{
    content:"";
    display:table;
    clear:both;
}
.index-news{
    float:left;
    box-sizing:border-box;
    width:750px;
    height:180px;
    padding:10px 10px 10px 25px;
    background:rgba(0,0,0,0.3);
}
.index-news ul{
    overflow:auto;
    height:100%;
}
.index-news li{
	padding:8px 0 0;
	color:#FFF;
	font-size:1.4em;
	line-height:1.5;
}
.index-news .date{
	float:left;
	width:9em;
	margin:0 -9em 0 0;
	font-weight:bold;
}
.index-news .detail{
	margin:0 0 0 9em;
}
.index-news a{ color: #FFF; text-decoration: underline; }
.index-news a:hover{ color: #CCC; }
.index-newsbn{
    float:right;
}
.index-newsbn img{
	-webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); 
}

/* index-concept ----------- */
.index-concept{
    margin-top:80px;
    text-align:center;
}
.index-concept h2{
    margin:40px 0 20px;
}
.index-concept p{
    margin:15px 0 0;
    font-size:1.4em;
    line-height:2;
}
.index-concept p.index-concept-img{
    margin-top:40px;
}

/* index-dessertbuffet ----------- */
.index-dessertbuffet{
    margin-top:80px;
    padding:0;
    font-size:1.6em;
    line-height:2;
    text-align:center;
}
.index-dessertbuffet h2{
	margin:60px 0 10px;
}
.index-dessertbuffet-bg{
	position:relative;
	overflow:hidden;
	padding-top:50%;
}
.index-dessertbuffet-bg img{
	position:absolute;
	width:100%;
	height:auto;
	top:50%;
	left:0;
	transform:translate(0, -50%);
}
.index-dessertbuffet-img{
	margin-top:50px;
}
@media (min-width:1200px){
	.index-dessertbuffet-bg{
		padding-top:35%;
	}
}
/* index-pacha ----------- */
.index-pacha{
    margin-top:80px;
    padding:50px 0;
    background:#EEE;
    font-size:1.6em;
    line-height:2;
    text-align:center;
}

/* index-contact ----------- */
.index-contact{
    margin-top:80px;
    margin-bottom:150px;
}
.index-contact h2{
    margin-bottom:30px;
    text-align:center;
}
.index-contact p{
    margin-top:15px;
    font-size:1.4em;
    line-height:1.7;
    text-align:center;
}
.index-contact-tel{
    color:#003459;
    font-size:2em;
}

/* index-link ----------- */
.index-link{
    margin-top:100px;
    padding-top:50px;
    border-top:1px dotted #003459;
}
.index-link ul{
	text-align:center;
}
.index-link li{
	display:inline-block;
    margin:0 2px;
}

/* =====================================================

blog

===================================================== */
.blog-title{
    margin-bottom:40px;
}
.blog-title img{
    vertical-align:top;
}

/* =====================================================

contact

===================================================== */

.contact-container{
    margin:20px 0 50px;
    padding:50px 0;
    border:1px solid #CCC;
}
.contact-container p{
    margin-top:15px;
    font-size:1.4em;
    line-height:1.7;
    text-align:center;
}
.contact-title{
    margin-bottom:30px;
    font-size:2em;
    text-align:center;
}