@charset "utf-8";

/*
Theme Name: theme299
Theme URI: http://theme.o2gp.com/
Description: theme299
Version: 1.0
Author: o2 Group
Author URI: http://theme.o2gp.com/
Tags: food

	o2 Group v1.0
	 http://theme.o2gp.com/

	This theme was designed and built by o2 Group,
	whose blog you will find at http://theme.o2gp.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/
* {
  margin: 0;
  padding: 0;
}

body {
  font: 14px/1.5 "メイリオ", "Meiryo", arial, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
  color: #666666;
  background: url(images/bg.png) repeat-y top center;
}

a {
  color: #333333;
  text-decoration: none;
}

a:hover {
  color: #999999;
}

a:active, a:focus {
  outline: 0;
}

img {
  border: 0;
}

.clear {
  clear: both;
}

li {
  color: #666666;
}

/*************
全体
*************/
#wrapper {
  width: 980px;
  margin: 0 auto;
}

#content {
  margin: 0 auto;
}

/*************
/* ヘッダー
*************/
#header {
  position: relative;
  margin: 0 auto;
  width: 980px;
  height: 400px;
}

#header .logo_area {
  display: block;
  position: absolute;
  top: 24px;
  left: 24px;
  z-index: 1;
  width: 273px;
  height: 69px;
}

#header .logo_area {
  width: 100%;
  height: auto;
}

/* トップスライド */
.slide {
  position: relative;
  width: 100%;
  height: 400px;
  overflow: hidden;
}

.slide a {
  width: 100%;
  height: 400px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  opacity: 0;
  animation: slideshow 30s ease-in-out infinite; will-change: opacity;
}

/* 5枚分を6秒刻みでずらす */
.slide a:nth-child(1) { animation-delay: 0s; }
.slide a:nth-child(2) { animation-delay: 6s; }
.slide a:nth-child(3) { animation-delay: 12s; }
.slide a:nth-child(4) { animation-delay: 18s; }
.slide a:nth-child(5) { animation-delay: 24s; }

@keyframes slideshow {
  0%   { opacity: 0; pointer-events: none; }
  8%   { opacity: 1; pointer-events: auto; }  /* ←フェードインを8%まで延長（2.4s） */
  20%  { opacity: 1; pointer-events: auto; }  /* 表示維持 */
  28%  { opacity: 0; pointer-events: none; }  /* ←フェードアウトも2.4s */
  100% { opacity: 0; pointer-events: none; }
}

/* 固定表示用（既存の .slide アニメを打ち消す） */
.slide--fixed a {
  position: relative;
  width: 100%;
  height: 400px;
  display: block;
  opacity: 1;
  z-index: 1;
  animation: none !important;
}

.slide--fixed img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/*************
メイン（右側）コンテンツ
*************/
#main {
  float: right;
  width: 740px;
  margin: 0;
  padding: 0 0 15px;
  display: inline;
}

#main h2 {
  display: block;
  margin: 0 10px 0 0;
  padding: 0 15px 0 20px;
  line-height: 38px;
  height: 41px;
  font-size: 18px;
  font-weight: bold;
  background: url(images/heading.png) no-repeat bottom;
}

#main h3 {
  margin: 0 10px 0 0;
  padding: 0 15px 0 20px;
  line-height: 38px;
  height: 41px;
  font-size: 18px;
  font-weight: bold;
  background: url(images/heading.png) no-repeat bottom;
}

#main table.about {
  margin-top: 10px;
  margin-left: 15px;
  margin-bottom: 20px;
  width: 700px;
  font-size: 14px;
}

#main table.about tr {
  background-color: #FFFFFF;
}

#main table.about td {
  padding: 5px;
  border-collapse: collapse;
  border-spacing: 1px;
  border: 1px solid #dcdcdc;
}

#main table.prb {
  width: 720px;
  font-size: 12px;
}

#main table.prb tr {
  background-color: #FFFFFF;
}

#main table.prb td {
  text-align: center;
  padding: 5px;
}

/* 画像を右に回りこみ */
#main p.withImage {
  width: 720px;
  margin: 20px 0;
  padding: 5px 0;
}

#main p.withImage img {
  float: right;
  margin-left: 20px;
}

#main p {
  padding: 0 10px 0 10px;
}

#main p.mo {
  padding: 10px 20px 10px 15px;
}

#date {
  text-align: right;
  padding: 5px 15px 10px 0;
  font-weight: bold;
  color: #999999;
}

#next {
  text-align: center;
  padding-top: 30px;
  padding-bottom: 30px;
}

/*注目の新着*/
.boxContainer {
  width: 618px;
  margin: 0 auto 20px;
}

/* 画像を右に回りこみ */
.boxContainer img {
  float: right;
  margin: 0 0 10px 10px;
}

/*新着一覧*/
#mainlist ul {
  display: block;
  margin: 0 0 0 15px;
  padding-right: 20px;
}

#mainlist li {
  list-style: square;
  list-style-position: inside;
  line-height: 120%;
  padding: 10px 10px 5px 10px;
  border-bottom: #cacdc2 1px solid;
}

.sublist ul {
  display: block;
  margin: 0 0 0 15px;
  padding-right: 20px;
}

.sublist li {
  list-style: square;
  list-style-position: inside;
  line-height: 120%;
  padding: 10px 10px 5px 10px;
  border-bottom: #cacdc2 1px solid;
}

#main a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
}

/*************
サイド（左側）コンテンツ
*************/
#sidebar {
  float: left;
  width: 230px;
  padding: 0 0 0 10px;
}

#sidebar p {
  margin-bottom: 10px;
}

#sidebar p.to {
  margin: 0;
  padding: 0 0 0 9px;
}

#sidebar h3 {
  display: block;
  height: 41px;
  margin-bottom: 5px;
  padding: 4px 10px 0 45px;
  line-height: 35px;
  font-size: 16px;
  font-weight: bold;
  background: url(images/heading2.png) no-repeat;
}

#sidebar ul {
  margin: 0 0 20px 10px;
  width: 180px;
}

#sidebar li {
  list-style: square;
  list-style-position: inside;
  line-height: 140%;
  padding: 5px 10px;
  border-bottom: #cacdc2 1px solid;
}

#sidebar select {
  margin-left: 15px;
  margin-bottom: 10px;
}

#wp-calendar {
  empty-cells: show;
  margin: 10px auto 0 7px;
  width: 210px;
}

#wp-calendar caption {
  background-color: #666666;
  color: #ffffff;
  font-weight: bold;
  padding: 3px;
  text-align: center;
  width: 210px;
}

#wp-calendar th {
  padding: 3px 0;
  text-align: center;
  color: #333333;
  background-color: #dcdcdc;
  border: 1px solid #dcdcdc;
}

#wp-calendar td {
  padding: 3px 0;
  text-align: center;
  border: 1px solid #dcdcdc;
}

#wp-calendar td a {
  color: #333333;
  font-weight: bold;
  text-decoration: underline;
}

#wp-calendar tfoot td {
  border: none;
}

/*************
/* フッター
*************/
#footer {
  clear: both;
  width: 980px;
  margin: 0 auto;
  padding: 20px 0 0;
}

#footer .inner {
  width: 980px;
  margin: 0 auto;
  overflow: hidden;
}

* html #footer .inner {
  height: 1%;
}

#footer ul {
  margin-left: 20px;
}

#footer li {
  padding: 0 0 5px 0;
  list-style: square;
  list-style-position: inside;
}

.box {
  float: left;
  width: 195px;
  margin: 0 16px 0 0;
  line-height: 1.2;
}

.last {
  margin-right: 0;
}

address {
  padding: 10px 0;
  text-align: center;
  font-style: normal;
  font-size: 15px;
  clear: both;
  display: block;
}

/*************
/*検索窓
*************/
#searchform div {
  padding: 20px 0 20px 10px;
}

/******************
 * PDFアイコン
 ******************/
.pdflink {
  background:url(images/pdf.svg) no-repeat;
  margin: 0 0 0 0;
  padding: 4px 0px 0px 36px;
  display:block;
  text-decoration: underline;
  color: blue;
}
