/*! normalize.css v2.1.2 | MIT License | git.io/normalize */

/* ==========================================================================
 HTML5 display definitions
 ========================================================================== */

/**
 * Correct `block` display not defined in IE 8/9.
 */

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

/**
 * Correct `inline-block` display not defined in IE 8/9.
 */

audio,
canvas,
video {
 display: inline-block;
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

audio:not([controls]) {
 display: none;
 height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

[hidden] {
 display: none;
}

/* ==========================================================================
 Base
 ========================================================================== */

/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 * user zoom.
 */

html {
 font-family: sans-serif; /* 1 */
 -ms-text-size-adjust: 100%; /* 2 */
 -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */

body {
 margin: 0;
}

/* ==========================================================================
 Links
 ========================================================================== */

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
 outline: thin dotted;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

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

/* ==========================================================================
 Typography
 ========================================================================== */

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari 5, and Chrome.
 */

h1 {
 font-size: 2em;
 margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9, Safari 5, and Chrome.
 */

abbr[title] {
 border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
 */

b,
strong {
 font-weight: bold;
}

/**
 * Address styling not present in Safari 5 and Chrome.
 */

dfn {
 font-style: italic;
}

/**
 * Address differences between Firefox and other browsers.
 */

hr {
 -moz-box-sizing: content-box;
 box-sizing: content-box;
 height: 0;
}

/**
 * Address styling not present in IE 8/9.
 */

mark {
 background: #ff0;
 color: #000;
}

/**
 * Correct font family set oddly in Safari 5 and Chrome.
 */

code,
kbd,
pre,
samp {
 font-family: monospace, serif;
 font-size: 1em;
}

/**
 * Improve readability of pre-formatted text in all browsers.
 */

pre {
 white-space: pre-wrap;
}

/**
 * Set consistent quote types.
 */

q {
 quotes: "\201C" "\201D" "\2018" "\2019";
}

/**
 * Address inconsistent and variable font size in all browsers.
 */

small {
 font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */

sub,
sup {
 font-size: 75%;
 line-height: 0;
 position: relative;
 vertical-align: baseline;
}

sup {
 top: -0.5em;
}

sub {
 bottom: -0.25em;
}

/* ==========================================================================
 Embedded content
 ========================================================================== */

/**
 * Remove border when inside `a` element in IE 8/9.
 */

img {
 border: 0;
}

/**
 * Correct overflow displayed oddly in IE 9.
 */

svg:not(:root) {
 overflow: hidden;
}

/* ==========================================================================
 Figures
 ========================================================================== */

/**
 * Address margin not present in IE 8/9 and Safari 5.
 */

figure {
 margin: 0;
}

/* ==========================================================================
 Forms
 ========================================================================== */

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
 border: 1px solid #c0c0c0;
 margin: 0 2px;
 padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

legend {
 border: 0; /* 1 */
 padding: 0; /* 2 */
}

/**
 * 1. Correct font family not being inherited in all browsers.
 * 2. Correct font size not being inherited in all browsers.
 * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
 */

button,
input,
select,
textarea {
 font-family: inherit; /* 1 */
 font-size: 100%; /* 2 */
 margin: 0; /* 3 */
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
 line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
 text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 * and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 * `input` and others.
 */

button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
 -webkit-appearance: button; /* 2 */
 cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */

button[disabled],
html input[disabled] {
 cursor: default;
}

/**
 * 1. Address box sizing set to `content-box` in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 */

input[type="checkbox"],
input[type="radio"] {
 box-sizing: border-box; /* 1 */
 padding: 0; /* 2 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 * (include `-moz` to future-proof).
 */

input[type="search"] {
 -webkit-appearance: textfield; /* 1 */
 -moz-box-sizing: content-box;
 -webkit-box-sizing: content-box; /* 2 */
 box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
 -webkit-appearance: none;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
 border: 0;
 padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
 overflow: auto; /* 1 */
 vertical-align: top; /* 2 */
}

/* ==========================================================================
 Tables
 ========================================================================== */

/**
 * Remove most spacing between table cells.
 */

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

/* ==========================================================================
 Base
 ========================================================================== */

* {
 /* padding と border の幅を要素の幅と高さに含める */
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -ms-box-sizing: border-box;
 -o-box-sizing: border-box;
 box-sizing: border-box;
 /* Safari 初期スタイルをリセット */
 -webkit-appearance: none;
}

html {
 /* 日本語のfont-familyへの対応 */
 font-family: "Hiragino Kaku Gothic Pro","Yu Gothic","Meiryo",sans-serif;
}

/*上方向のmarginを0にします */
h1,h2,h3,h4,h5,h6,p,ul,ol,dl,table,pre {
 margin-top: 0;
 margin-bottom: 0;
}

/* ==========================================================================
 Typography
 ========================================================================== */

/* 禁則処理の追加 */
p,li,dt,dd,th,td,pre{
 -ms-line-break: strict;
 line-break: strict;
 -ms-word-break: break-strict;
 word-break: break-strict;
}

/* ==========================================================================
 Embedded content
 ========================================================================== */

img {
 /* フルードイメージへの対応 */
 max-width :100%;
 /* 追加箇所 */
 vertical-align: middle;
}

/* ==========================================================================
 Forms
 ========================================================================== */

fieldset {
 border: none;
 margin: 0;
 padding: 0;
}

/**
 * タイプ セッティング
 */
h1, h2, h3, h4, h5, h6 {
 font-size : 1em; /* 16px */
 line-height : 1.5; /* 24px */
}

/* レスポンシブ タイプセッティングへの対応 */
html { font-size: 87.5% }

/*1024px*/
@media screen and (min-width : 1024px) {
 /*レスポンシブタイプセッティングの指定*/
 html { font-size : 100% }
}

/**
 * 基本スタイル
 */
a {
 text-decoration: none;
}

a:hover {
 text-decoration: underline;
}

dl, dt, dd, ol, ul, li {
 list-style: none;
 padding: 0;
 margin: 0;
}

b, em, strong {
 font-style: normal;
 font-weight: normal;
}

table {
 border-collapse: collapse;
 border-spacing: 0;
 empty-cells: show;
}

.left {
 text-align: left;
}

.center {
 text-align: center;
}

.right {
 text-align: right;
}

/**
 * clear
*/
.clear {
 clear: both;
}

/**
 * clearfix
 */
.clearfix::before, .clearfix::after {
 content: "";
 display:table;
}

.clearfix::after {
 clear: both;
}

/**
 * Firefoxで常にスクロールバーを表示する
 */
html {
 overflow-y: scroll;
}

/**
 * 入力ボタン
 */
input, select, textarea {
 border: 1px solid #ccc;
}

input[type="text"],
input[type="password"],
input[type="email"],
input[type="tel"],
textarea {
 background-color: #fff;
 padding: .4em .4em .3em;
 border-size: 1px;
 line-height: 1.4;
 /* 影 (shadow) */
 -moz-box-shadow: none;
 -webkit-box-shadow: none;
 -o-box-shadow: none;
 -ms-box-shadow: none;
 box-shadow: none;
 /* 角 (corner) */
 -moz-border-radius: .3em;
 -webkit-border-radius: .3em;
 -o-border-radius: .3em;
 -ms-border-radius: .3em;
 border-radius: .3em;
}

input[type="checkbox"],
input[type="radio"] {
 width: 1em;
 height: 1em;
 vertical-align: middle;
 margin-top: -.2em;
}

textarea {
 line-height: 1.5;
}

/**
 * チェックボックス
 */
input[type="checkbox"] {
 display: inline-block;
 position: relative;
 background-color: #fff;
 border: 1px solid #999;
 font-size: 1.25rem;
 margin-right: .2em;
 appearance: button;
 /* 角 (corner) */
 -moz-border-radius: .3em;
 -webkit-border-radius: .3em;
 -o-border-radius: .3em;
 -ms-border-radius: .3em;
 border-radius: .3em;
}

 input[type="checkbox"]:checked::after {
 position: absolute;
 content: "";
 top: -.1em;
 left: .2em;
 width: .4em;
 height: .6em;
 border-right: .2em solid #007fff;
 border-bottom: .2em solid #007fff;
 -webkit-transform: rotate(45deg);
 -moz-transform: rotate(45deg);
 -ms-transform: rotate(45deg);
 -o-transform: rotate(45deg);
 transform: rotate(45deg);
 }

/**
 * ラジオボタン
 */
input[type="radio"] {
 display: inline-block;
 position: relative;
 background-color: #fff;
 border: 1px solid #999;
 margin-right: .3em;
 appearance: none;
 /* 角 (corner) */
 -moz-border-radius: 1em;
 -webkit-border-radius: 1em;
 -o-border-radius: 1em;
 -ms-border-radius: 1em;
 border-radius: 1em;
}

 input[type="radio"]:checked::after {
 position: absolute;
 content: "●";
 font-size: .75em;
 color: #007fff;
 top: -7%;
 left: 9%;
 width: 1em;
 height: 1em;
 }

/**
 * 選択リスト
 */
select {
 -moz-appearance: none;
 appearance: none;
 background: none transparent;
 text-indent: .01px; /*Firefox用*/
 text-overflow: ''; /*Firefox用*/
 cursor: pointer;
 margin: 0;
 padding: .1em .6em;
 vertical-align: middle;
 font-size: inherit;
 color: inherit;
 box-shadow: none;
 /* 角 (corner) */
 -moz-border-radius: .3em;
 -webkit-border-radius: .3em;
 -o-border-radius: .3em;
 -ms-border-radius: .3em;
 border-radius: .3em;
}

input:focus, select:focus, textarea:focus {
 outline: none;
}

::-webkit-input-placeholder {
 color: #ccc;
}

:-moz-placeholder {
 color: #ccc;
}

/**
 * 数字入力ボックス
 */
input.number, input.comma {
 text-align: right;
}

input.zip1 {
 width: 4em;
}

input.zip2, input.tel {
 width: 5em;
}

input.date {
 width: 7.2em;
}

/**
 * 入力ボックス サイズ
 */
input.full, textarea.full {
 width: 100%;
}

input.half, textarea.half {
 width: 60%;
}

input.third, textarea.third {
 width: 40%;
}

input.quarter, textarea.quarter {
 width: 25%;
}

/**
 * レスポンシブ
 */
@media screen and (max-width: 40em) {
 input.half, textarea.half {
 width: 80%;
 }

 input.third, textarea.third {
 width: 60%;
 }

 input.quarter, textarea.quarter {
 width: 40%;
 }
}

/**
 * ボタン
 */
.button a, .button input, .button span {
 display: inline-block;
 cursor: pointer;
 padding: .3em .5em;
 line-height: 1.4;
 font-weight: normal;
 border-radius: .3em;
 white-space: nowrap;
 text-decoration: none;
}

.btn-new {
 background-color: #0085cc;
 color: #fff;
}

.btn-edit {
 background-color: #0085cc;
 color: #fff;
}

.btn-del {
 background-color: #cc001f;
 color: #fff;
}

.btn-copy {
 background-color: #fffffc;
 border: 1px solid #aaa;
 color: #000;
}

.btn-on {
 background-color: #f39800;
 color: #fff;
}

.btn-off {
 background-color: #aaa;
 color: #fff;
}

.btn-detail {
 background-color: #fffffc;
 border: 1px solid #aaa;
 color: #000;
}

.btn-sort {
 background-color: #fff;
 border: 1px solid #aaa;
 color: #000;
}

.button span.btn-sort {
 color: #ccc;
 border: 1px solid #ccc;
}

.btn-save {
 background-color: #00a95f !important;
 color: #fff;
}

.csv-upload, .csv-download {
 border: 1px solid #aaa;
 color: #000;
}

.btn-publish {
 background-color: #ffffcc;
 border: 1px solid #aaa;
 color: #000;
}

.btn-suspend {
 background-color: #779438;
 border: 1px solid #aaa;
 color: #fff;
}

/**
 * 入力チェック メッセージ
 */
.notice, .message {
 position: relative;
 z-index: inherit;
 margin: 0;
 padding: 0;
 color: #ff0000;
 text-align: left;
}

 .notice em, .message em {
 display: block;
 position: absolute;
 min-height: 1.3em;
 bottom: 0;
 left: 0;
 z-index: 99;
 padding: .2em 1em;
 background-color: #fff;
 border: 1px solid #ff0000;
 -moz-border-radius: .3em;
 -webkit-border-radius: .3em;
 -o-border-radius: .3em;
 -ms-border-radius: .3em;
 border-radius: .3em;
 cursor: pointer;
 font-size: .928em;
 font-style: normal;
 line-height: 1.3;
 }

/**
 * 一覧
 */
.list {
/* width: 100%; */
 background-color: #fff;
 border: solid 1px #ccc;
 margin-bottom: 1em;
 font-size: .928em;
}

.list th, .list td {
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
 vertical-align: top;
 padding: .5em;
}

.list th {
 color: #fff;
 background-color: #666;
 font-weight: normal;
 text-align: center;
}

 .list th a {
 color: #fff;
 }

.list td {
 text-align: left;
 /* 禁則処理 */
 word-break: normal;
 word-wrap: break-word;
 overflow-wrap: break-word;
}

 .list th.left, .list td.left {
 text-align: left;
 }

 .list th.center, .list td.center {
 text-align: center;
 }

 .list th.right, .list td.right {
 text-align: right;
 }

/**
 * オーバーしたテキストを隠す
 */
.list .hide-over {
 white-space: nowrap;
 overflow: hidden;
 -o-text-overflow: ellipsis;
 text-overflow: ellipsis;
}

 .list .hide-over br {
 display: none;
 }

/**
 * 日時
 */
.list th.date, .list td.date {
 width: 8em;
 padding-left: 0;
 padding-right: 0;
 text-align: center;
 white-space: nowrap;
}

.list th.datetime, .list td.datetime {
 width: 11em;
 text-align: center;
 margin-left: 0;
 margin-right: 0;
}

.list .publish, .list .subject {
 min-width: 16em;
}

.list .publish-term {
 width: 20em;
 word-break: keep-all;
}

.list .publish-kind {
 width: 16em;
 word-break: keep-all;
}

/**
 * No.
 */
.list .number {
 min-width: 8em;
 width: 8em;
}

 .list td.number {
 text-align: right;
 }

/**
 * 行背景色
 */
.line-zebra tr:nth-child(2n+1) {
 background-color: #fff;
}

.line-zebra tr:nth-child(2n+0), .line {
 background-color: #ecead8;
}

.line-main {
 background-color: #ffffcc;
}

/**
 * 複合行
 */
table.complex {
 border-bottom: 3px solid #696969;
}

 .complex .line-main {
 border-top: 3px solid #696969;
 }

 .complex .line-main:first-child {
 border-top: none;
 }

/**
 * 集計
 */
.list th.count, .list td.count {
 min-width: 6em;
}

.list td.count {
 text-align: right;
}

/**
 * チェックボックス
 */
.list th.check, .list td.check {
 width: 2em;
 text-align: center;
}

/**
 * フォーム
 */
.form {
 width: 100%;
 border: solid 1px #ccc;
 margin-bottom: 1em;
}

.continue {
 margin-bottom: 2em;
}

 .form th, .form td {
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
 padding: .5em 1em;
 text-align: left;
 vertical-align: middle;
 line-height: 1.5;
 /* 禁則処理 */
 word-break: normal;
 word-wrap: break-word;
 overflow-wrap: break-word;
 }

 .form th {
 background-color: #f5f5f5;
 width: 16em;
 }

 .form td {
 position: relative;
 }

label {
 display: inline-block;
 padding: .1em;
 white-space: nowrap;
}

/**
 * 文字数カウント
 */
.form em.count {
 display: block;
 position: absolute;
 top: .2em;
 right: .8em;
 font-size: .75em;
 color: #666;
}

.form em.caution {
 color: #ff0000;
}

/**
 * 完了
 */
#complete {
 margin-bottom: 2em;
 background-color: #f5f5f5;
 border: 1px solid #ccc;
 padding: 1em 1.5em;
 border-radius: .5em;
}

 #complete h2 {
 margin-bottom: 1em;
 color: #ff0000;
 }

 #complete p {
 font-size: 1em;
 }

/**
 * 次の項目へ
 */
.next-button {
 float: right;
}

 .next-button::after {
 display: block;
 clear: both;
 height: 0px;
 visibility: hidden;
 content: ".";
 }

 .next-button li {
 margin-bottom: .2em;
 padding-left: 1em;
 color: #6699ff;
 text-align: left;
 line-height: 2.0;
 list-style: none;
 white-space: nowrap;
 }

 .next-button i {
 color: #00a95f;
 }

/**
 * 一覧へ戻る
 */
.back-button {
 font-size: .928em;
 margin-bottom: 1em;
}

 .back-button i {
 color: #00a95f;
 }

/**
 * 必須項目
 */
i.required {
 color: #ff0000;
 font-style: normal;
 font-weight: bold;
 font-size: .875em;
}

.required th::after {
 float: right;
 content: "必須";
 color: #ff0000;
 font-size: .875em;
 position: relative;
 right: -.5em;
}

.any th::after {
 float: right;
 content: "任意";
 color: #aaa;
 font-size: .875em;
 position: relative;
 right: -.5em;
}

/**
 * グーグルマップ
 */
#google-map {
 border: 1px solid #ccc;
 width: 100%;
 height: 25em;
}

 #google-map img {
 /* レスポンシブデザインでグーグルマップのコントローラーが表示されない不具合を解消する */
 max-width: none;
 }

 .get-location {
 width: 10em;
 margin-right: 0;
 margin-left: auto;
 }

/**
 * Datepicker
 */
.ui-datepicker .ui-datepicker-title {
 font-weight: normal;
}

.ui-datepicker .ui-datepicker-title select.ui-datepicker-year {
 margin-right: .6em;
 width: 4em;
 border: 1px solid #fff;
 line-height: 1.3;
}

.ui-datepicker .ui-datepicker-title select.ui-datepicker-month {
 margin-left: .3em;
 width: 4em;
 border: 1px solid #fff;
 line-height: 1.3;
}

/**
 * 注意事項 例
 */
.note {
 line-height: 2.0;
}

em.note {
 display: block;
 font-style: normal;
}

span.note, b.note {
 margin-left: .5em;
}

p.note {
 margin-top: .2em;
}

/**
 * 年月日
 * チェックリスト
 */
span.date, span.checklist {
 display: inline-block;
 white-space: nowrap;
}

b.year, .month, b.day {
 padding-left: .1em;
}

b.year, b.month {
 padding-right: .3em;
}

/**
 * キャプション
 */
.filename, .caption {
 clear: both;
 padding-top: .3em;
}

/**
 * リスト表示
 */
ul.cols {
 display: block;
}

ul.cols li {
 display: inline-block;
 margin-right: 1em;
}

/**
 * ファイル
 */
.file-size {
 margin-left: .5em;
 font-size: .8125em;
}

.file-type {
 font-size: 1.5em;
 margin-left: .2em;
}

.file-pdf {
 color: #ff0000;
}

.file-image {
 color: #0000ff;
}

.file-doc {
 color: #1e90ff;
}

.file-xls {
 color: #008000;
}

.file-ppt {
 color: #ff0000;
}

/**
 * ファイル アップロード
 */
input[type="file"] {
 border: none;
 -moz-appearance: none;
 appearance: none;
 filter: alpha(opacity=0);
 -moz-opacity: 0;
 opacity: 0;
 margin: 0;
 padding: 0;
}

.upload-image, .upload-document {
 display: block;
 position: relative;
 width: 10em;
 height: 5em;
}

.upload-loading,
.image-file, .image-note, .image-display,
.document-input, .document-file, .document-note {
 position: absolute;
 width: 10rem;
 height: 5rem;
 top: 0;
 left: 0;
}

.upload-image .image-file,
.upload-document, .document-file {
 z-index: 20;
}

.document-input {
 z-index: 10;
}

.image-note, .image-display,
.document-note {
 font-size: .875em;
 line-height: 1.5;
 color: #666;
 background-color: #fff;
 border: 1px solid #aaa;
 border-radius: .3em;
}

.image-note,
.document-note {
 z-index: 10;
 padding: .6em .4em;
}

.image-display {
 z-index: 30;
 padding: 0;
 text-align: center;
 display: none;
}

.image-display img {
 width: auto;
 height: 100%;
}

.image-delete {
 z-index: 40;
 position: absolute;
 top: .1em;
 right: -2.2em;
 color: #ff0000;
 width: 1.5em;
 height: 1.5em;
 line-height: 1;
 cursor: pointer;
 display: none;
}

.image-delete i,
.document-delete i {
 font-size: 1.5em;
}

/**
 * 書類
 */
.document-display {
 position: absolute;
 z-index: 40;
 top: 0;
 left: 0;
 padding-top: 1em;
 padding-right: 2em;
 width: 22em;
 height: 5rem;
}

.document-delete {
 float: right;
 color: #ff0000;
 width: 1.5em;
 height: 1.5em;
 line-height: 1;
 cursor: pointer;
}

/**
 * アップロード
 */
.upload-loading {
 z-index: 50;
 background-color: #fff;
 text-align: center;
}

.upload-loading i {
 font-size: 3em;
 margin-top: 1rem;
}

/**
 * 検索ボックス
 */
.search {
 margin-bottom: 2em;
 padding: .5em 1em;
 text-align: left;
 border: 1px solid #aaa;
 background-color: #fffffc;
 border-radius: .3em;
}

 .search::after {
 content: "";
 display: table;
 clear: both;
 }

 .search li {
 display: inline-block;
 }

/**
 * 検索ボタン
 */
.search-button {
 float: right;
 margin-top: .5em;
 margin-left: 1em;
 margin-bottom: 1.5em;
}

.btn-search {
 background-color: #00a95f;
 color: #fff;
}

 .button .btn-search {
 padding-left: 1em;
 padding-right: 1em;
 }

.btn-reset {
 background-color: #fff;
}

 .search .button .btn-reset {
 font-size: .75em;
 }

.search dl {
 float: left;
 display: table;
}

.search dt, .search dd {
 display: table-cell;
 vertical-align: middle;
}

 .search dt {
 font-weight: bold;
 white-space: nowrap;
 text-align: right;
 height: 3.4em;
 }

 .search dd {
 text-align: left;
 padding-top: .5em;
 padding-left: .5em;
 padding-right: 2em;
 padding-bottom: .5em;
 height: 3.4em;
 }

 .search dd li {
 white-space: nowrap;
 }

/**
 * ページ
 */
.page {
 font-size: .875rem;
 margin-bottom: .5em;
 text-align: center;
}

 .page::after {
 display: block;
 clear: both;
 height: 0px;
 visibility: hidden;
 content: ".";
 }

.page-left {
 float: left;
 text-align: left;
 line-height: 1.5;
}

.page-right {
 float: right;
 text-align: right;
 line-height: 1.5;
}

 .page ul {
 display: inline-block;
 color: #999;
 }

 .page li {
 display: inline-block;
 margin: 0 .1em;
 }

 .page i {
 text-decoration: none;
 }

 .page .listup a, .page .listup b {
 display: inline-block;
 border: 1px solid #ddd;
 width: 1.6em;
 font-size: 1em;
 font-family: arial;
 text-align: center;
 line-height: 1.3;
 }

 .page .listup a {
 text-decoration: none;
 }

 .page .listup a:hover, .page .listup a:active {
 background-color: #ffffcc;
 }

 .page .listup b {
 background-color: #ffa500;
 color: #fff;
 font-weight: normal;
 font-style: normal;
 }

 .page .next, .page .back {
 padding: 0;
 font-size: 1em;
 }

 .page .next {
 padding-left: .2em;
 }

 .next i {
 margin-left: .3em;
 }

 .page .back {
 padding-right: .2em;
 }

 .back i {
 margin-right: .3em;
 }

/**
 * 並び順
 */
.order select {
 position: relative;
 z-index: 10;
 border: 1px solid #ccc;
 padding-right: 1em;
}

.order i {
 position: relative;
 z-index: 5;
 margin-left: -1em;
}

/**
 * テーブル列
 */
.list th.kind, .list td.kind,
.list th.icon, .list td.icon {
 width: 3em;
 text-align: center;
 padding-left: 0;
 padding-right: 0;
 white-space: nowrap;
}

/**
 * ログイン
 */
.list th.login, .list td.login {
 width: 5em;
}

.list td.login,
.list td.kind {
 text-align: center;
}

/**
 * ナンバー
 */

.list th.number, .list td.number {
 min-width: 8em;
}

.list td.number {
 text-align: center;
}

.list th.count, .list td.count,
.list th.sort, .list td.sort {
 min-width: 3em;
}

.list td.count,
.list td.sort {
 text-align: right;
}

.list td.bold {
 font-weight: bold;
}

.list th.image, .list td.image {
 min-width: 8em;
 text-align: center;
 padding-left: 0;
 padding-right: 0;
}

.list td.image {
 padding-top: 0;
}

.list th.publish, .list td.publish {
 min-width: 15em;
 text-align: center;
}

.list th.title, .list td.title {
 min-width: 24em;
}

/**
 * サイト エリア カテゴリー
 */
.list th.site, .list td.site,
.list th.area, .list td.area,
.list th.category, .list td.category {
 min-width: 8em;
}

/**
 * YouTube
 */
.list th.youtube, .list td.youtube {
 min-width: 8em;
 text-align: center;
}

/**
 * ポップアップ
 */
#popup {
 display: none;
 background-color: #fff;
 border: 1px solid #aaa;
 position: absolute;
 z-index: 98;
 border-radius: .3em;
 overflow: hidden;
 width: 480px;
}

#popup-bg {
 display: none;
 width: 100%;
 height: 100%;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 97;
 background-color: #000;
 filter: alpha(opacity=50);
 -moz-opacity: .5;
 opacity: .5;
}

#popup-title {
 position: relative;
 cursor: move;
 text-align: center;
 padding: .4em;
}

#popup-title #close {
 display: block;
 position: absolute;
 z-index: 99;
 top: 6px;
 right: 6px;
 text-align: center;
 cursor: pointer;
 font-size: 22px;
 color: #ff0000;
 width: 22px;
 height: 22px;
 line-height: 17px;
}

#popup-body {
 position: relative;
}

#popup-list {
 overflow: scroll;
 -webkit-overflow-scrolling: touch;
}

/**
 * 矢印
 */
.arrow-right, .arrow-up {
 display: none;
 width: 100%;
 height: 1px;
 margin-bottom: 0;
 position: relative;
}

 .arrow-right i {
 display: block;
 position: absolute;
 z-index: 10;
 }

 .arrow-right i {
 top: .1em;
 right: 0;
 }

 .arrow-head i {
 top: -.8em;
 }

 .arrow-foot i {
 top: .1em;
 }

/* 掲載期日前 */
table.list tbody .date-wait, .color-guide .date-wait {
 background-color: #f0e68c;
}

/* 掲載終了 */
table.list tbody .date-close, .color-guide .date-close {
 background-color: #a9a9a9;
}

/* 保留 */
table.list tbody .publish-false, table.list tbody .display-false, .color-guide .publish-false, .color-guide .display-false {
 background-color: #8fbc8f;
}

/**
 * 掲載カラー説明
 */
.color-guide {
 padding-top: 4px;
 float: left;
}

 .color-guide li {
 float: left;
 margin-right: 20px;
 }

 .color-guide li span {
 padding: 0 12px;
 margin-right: 6px;
 }

/**
 * ガイド
 */
.guide {
 margin-bottom: 1em;
}

 .guide::after {
 display: block;
 clear: both;
 height: 0px;
 visibility: hidden;
 content: ".";
 }

.guide-left {
 float: left;
}

ul.guide-right {
 float: right;
 display: table;
}

 ul.guide-right li {
 display: table-cell;
 }

 ul.guide-right li.button {
 padding-right: 1em;
 }

 ul.guide-right li.button:last-child {
 padding-right: 0;
 }

/**
 * ナビ
 */
.navi {
 text-align: left;
}

nav .navi {
 padding-top: 1em;
 padding-bottom: 1em;
}

 .navi li a {
 font-size: 1.25em;
 }

 .navi li i {
 margin-right: .2em;
 color: #9acd32;
 }

/**
 * 編集
 */
#edit .number {
 margin-top: 1em;
}

#note {
 margin-bottom: .5em;
}

/**
 * ディスプレイ
 */
.display {
 width: 1000px;
 margin: 10px auto;
 padding: 10px;
 border: 1px solid #ddd;
 color: #666;
 font-size: 14px;
 background-color: #f0f0f0;
 font-family: "Noto Sans Japanese",serif;
}

/*
.display ul, .display ol {
 margin-left: 2em;
}

.display ul li, .display ol li {
 line-height: 1.5;
}

.display ul li {
 list-style-type: disc;
}

.display ol li {
 list-style-type: decimal;
}


.display b {
 font-weight: bold;
}

.display i {
 font-style: italic;
}

.display u {
 text-decoration: underline;
}

.display strike {
 text-decoration: line-through;
}
*/

/**
 * アップロード
 */
.upload {
 position: relative;
 min-height: 48px;
 margin-bottom: 1em;
 padding-left: 64px;
}

.upload .upload-file {
 display: block;
 position: absolute;
 width: 48px;
 height: 48px;
 top: 0;
 left: 0;
}

.upload input.upload-file {
 z-index: 100;
}

.upload i.upload-file {
 z-index: 99;
 color: #333;
 font-size: 32px;
 padding: 8px;
 border: 1px solid #aaa;
 border-radius: .2em;
}

.file {
 margin-bottom: 1em;
}

.file-display {
 display: table;
 width: 100%;
 margin-bottom: .5em;
 vertical-align: top;
}

.file-display .file-type {
 display: table-cell;
 magrin: 0;
 padding-right: 10px;
 width: 60px;
 vertical-align: top;
 text-align: center;
}

.file-display .file-type i {
 font-size: 3em;
}

.file-display .file-type i.pdf {
 color: #ff0000;
}

.file-display .file-name {
 display: table-cell;
 vertical-align: top;
}

.file-display .file-delete-button {
 display: table-cell;
 width: 4em;
 text-align: right;
 vertical-align: top;
 padding-top: .2em;
 padding-right: .2em;
}

.file-display .file-delete-button .file-delete {
 color: #ff0000;
 font-weight: normal !important;
 cursor: pointer;
}

.file-note {
 display: table;
 width: 100%;
}

.file-note .file-note-textarea {
 display: table-cell;
}

.file-note .file-note-button {
 display: table-cell;
 width: 4em;
 text-align: right;
 vertical-align: top;
 padding-top: .2em;
}

/**
 * ローディング
 */
#upload-loading {
 position: absolute;
 z-inde: 110;
 top: 20px;
 left: 196px;
}

#upload-loading i {
 font-size: 40px;
}

/*
//
// Tip: to integrate this plugin seamlessly into your application, use these styles as a starting
// point to build your own stylish alerts and confirmations!
//
*/

/* Modal */
.alertable {
 position: fixed;
 z-index: 9999;
 top: 38vh;
 left: calc(50% - 150px);
 width: 300px;
 background: white;
 border-radius: 4px;
 padding: 20px;
 margin: 0 auto;
}

/* Overlay */
.alertable-overlay {
 position: fixed;
 z-index: 9998;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 background: rgba(0, 0, 0, .5);
}

/* Message */
.alertable-message {
 margin-bottom: 20px;
}

/* Prompt */
.alertable-prompt {
 margin-bottom: 20px;
}

.alertable-input {
 width: 100%;
 border-radius: 4px;
 box-shadow: none;
 border: solid 1px #ccc;
 font-family: inherit;
 font-size: inherit;
 color: inherit;
 padding: 6px 12px;
 display: block;
 box-sizing: border-box;
 margin-bottom: 10px;
}

/* Button group */
.alertable-buttons {
 text-align: right;
}

/* OK button */
.alertable-ok {
 background: #09d;
 border: solid 1px #09d;
 font-family: inherit;
 font-size: inherit;
 color: white;
 border-radius: 4px;
 padding: 6px 12px;
 margin-left: 4px;
 cursor: pointer;
}

.alertable-ok:hover,
.alertable-ok:focus,
.alertable-ok:active {
 background-color: #08c;
}

/* Cancel button */
.alertable-cancel {
 border: solid 1px #ddd;
 background: white;
 font-family: inherit;
 font-size: inherit;
 color: #888;
 border-radius: 4px;
 padding: 6px 12px;
 margin-left: 4px;
 cursor: pointer;
}

.alertable-cancel:hover,
.alertable-cancel:focus,
.alertable-cancel:active {
 background-color: #f2f2f2;
}
html.lb-disable-scrolling {
 overflow: hidden;
 /* Position fixed required for iOS. Just putting overflow: hidden; on the body is not enough. */
 position: fixed;
 height: 100vh;
 width: 100vw;
}

.lightboxOverlay {
 position: absolute;
 top: 0;
 left: 0;
 z-index: 9999;
 background-color: black;
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
 opacity: 0.8;
 display: none;
}

.lightbox {
 position: absolute;
 left: 0;
 width: 100%;
 z-index: 10000;
 text-align: center;
 line-height: 0;
 font-weight: normal;
}

.lightbox .lb-image {
 display: block;
 height: auto;
 max-width: inherit;
 max-height: none;
 border-radius: 3px;

 /* Image border */
 border: 4px solid white;
}

.lightbox a img {
 border: none;
}

.lb-outerContainer {
 position: relative;
 *zoom: 1;
 width: 250px;
 height: 250px;
 margin: 0 auto;
 border-radius: 4px;

 /* Background color behind image.
 This is visible during transitions. */
 background-color: white;
}

.lb-outerContainer:after {
 content: "";
 display: table;
 clear: both;
}

.lb-loader {
 position: absolute;
 top: 43%;
 left: 0;
 height: 25%;
 width: 100%;
 text-align: center;
 line-height: 0;
}

.lb-cancel {
 display: block;
 width: 32px;
 height: 32px;
 margin: 0 auto;
 background: url(/common/img/lightbox/loading.gif) no-repeat;
}

.lb-nav {
 position: absolute;
 top: 0;
 left: 0;
 height: 100%;
 width: 100%;
 z-index: 10;
}

.lb-container > .nav {
 left: 0;
}

.lb-nav a {
 outline: none;
 background-image: url('data:image/gif;base64,R0lGODlhAQABAPAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');
}

.lb-prev, .lb-next {
 height: 100%;
 cursor: pointer;
 display: block;
}

.lb-nav a.lb-prev {
 width: 34%;
 left: 0;
 float: left;
 background: url(/common/img/lightbox/prev.png) left 48% no-repeat;
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
 opacity: 0;
 -webkit-transition: opacity 0.6s;
 -moz-transition: opacity 0.6s;
 -o-transition: opacity 0.6s;
 transition: opacity 0.6s;
}

.lb-nav a.lb-prev:hover {
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
 opacity: 1;
}

.lb-nav a.lb-next {
 width: 64%;
 right: 0;
 float: right;
 background: url(/common/img/lightbox/next.png) right 48% no-repeat;
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
 opacity: 0;
 -webkit-transition: opacity 0.6s;
 -moz-transition: opacity 0.6s;
 -o-transition: opacity 0.6s;
 transition: opacity 0.6s;
}

.lb-nav a.lb-next:hover {
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
 opacity: 1;
}

.lb-dataContainer {
 margin: 0 auto;
 padding-top: 5px;
 *zoom: 1;
 width: 100%;
 border-bottom-left-radius: 4px;
 border-bottom-right-radius: 4px;
}

.lb-dataContainer:after {
 content: "";
 display: table;
 clear: both;
}

.lb-data {
 padding: 0 4px;
 color: #ccc;
}

.lb-data .lb-details {
 width: 85%;
 float: left;
 text-align: left;
 line-height: 1.1em;
}

.lb-data .lb-caption {
 font-size: 13px;
 font-weight: bold;
 line-height: 1em;
}

.lb-data .lb-caption a {
 color: #4ae;
}

.lb-data .lb-number {
 display: block;
 clear: left;
 padding-bottom: 1em;
 font-size: 12px;
 color: #999999;
}

.lb-data .lb-close {
 display: block;
 float: right;
 width: 30px;
 height: 30px;
 background: url(/common/img/lightbox/close.png) top right no-repeat;
 text-align: right;
 outline: none;
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
 opacity: 0.7;
 -webkit-transition: opacity 0.2s;
 -moz-transition: opacity 0.2s;
 -o-transition: opacity 0.2s;
 transition: opacity 0.2s;
}

.lb-data .lb-close:hover {
 cursor: pointer;
 filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
 opacity: 1;
}

/**
 * サイト全体
 */
html {
 font-size: 87.5%;
}

a {
 color: #691107;
}

p {
 color: #40210f;
}

i {
 font-style: normal;
}

h1, h2, h3, h4, h5, h6 {
 font-weight: normal;
}

body {
 background-color: #fff;
 background-image: url("/common/img/header/back.jpg");
 background-repeat: no-repeat;
 background-position: top center;
}

header {
 width: 1200px;
 margin: 0 auto;
}

article {
 width: 1020px;
 margin: 0 auto;
 padding-top: 20px;
 padding-bottom: 40px;
}

 article::after {
 content: "";
 display: table;
 clear: both;
 }

/**
 * ヘッダー
 */
#header-top {
 background-image: url("/common/img/header/line.gif");
 background-repeat: repeat-x;
 background-position: top center;
 position: relative;
}

#header-logo {
 position: absolute;
 z-index: 10;
 top: 92px;
 left: 184px;
 width: 300px;
 text-align: center;
}

#header-logo .catch {
 width: 60%;
 margin-bottom: 6px;
}

.header-menu {
 width: 1020px;
 margin: 0 auto;
}

 .header-menu::after {
 content: "";
 display: table;
 clear: both;
 }

.header-menu p {
 float: left;
}

.header-menu ul {
 float: right;
}

.header-menu ul li {
 display: inline-block;
}

.header-menu p, .header-menu ul li a {
 color: #fff;
}

#header-bottom {
 width: 1020px;
 margin: 240px auto 0;
 text-align: center;
}

/**
 * キャッチコピー
 */
.header-pr {
 font-size: 16px;
}

.header-pr em {
 font-size: 12px;
}

/**
 * フッター
 */
footer {
 background-color: #f3ef9f;
}

#footer-top, #footer-bottom {
 width: 1020px;
 margin: 0 auto;
}

 #footer-top::after, #footer-bottom::after {
 content: "";
 display: table;
 clear: both;
 }

#footer-top {
 padding-top: 40px;
 padding-bottom: 40px;
}

#footer-bottom {
 padding-bottom: 60px;
}

.footer-navi1, .footer-navi2 {
 border: 1px solid #ed7537;
 border-radius: 4px;
 float: left;
 height: 220px;
 overflow: hidden;
 padding: 1em;
 background-color: #fff;
}

.footer-navi1 {
 width: 240px;
 margin-right: 30px;
 text-align: center;
}

.footer-navi2 {
 width: 480px;
}

.footer-navi2-pri {
 float: left;
 width: 50%;
 text-align: center;
}

.footer-navi2-sec {
 float: right;
 width: 50%;
 padding: 15px 5px 0;
}

#footer-top h3 {
 text-align: center;
 color: #ed7537;
 font-weight: bold;
 font-size: 1.25em;
}

#footer-top h4 {
 color: #ed7537;
}

#footer-top i {
 display: block;
 width: 100px;
 height: 60px;
 margin: 1em auto;
 background-repeat: no-repeat;
 background-position: center center;
 background-size: contain;
}

#footer-top i.flow {
 background-image: url("/common/img/footer/flow.gif");
}

#footer-top i.delivery {
 background-image: url("/common/img/footer/delivery.gif");
}

#footer-top i.tel {
 background-image: url("/common/img/footer/tel.gif");
}

#footer-top p {
 font-size: 12px;
 margin-bottom: .5em;
}

#footer-top a {
 font-weight: bold;
}

#footer-top a.tel {
 font-weight: bold;
 font-size: 1.25em;
}

#footer-top a.otoiawase {
 display: block;
 background-color: #2cb498;
 color: #fff;
 text-align: center;
 padding: 2px 0;
}

address {
 float: left;
 width: 240px;
 font-style: normal;
 color: #40210f;
}

address img {
 margin-bottom: .5em;
}

.footer-navi {
 float: left;
 margin-left: 80px;
}

.footer-navi li {
 display: block;
}

.footer-navi h3 {
 color: #40210F;
 font-weight: bold;
}

small {
 display: block;
 text-align: center;
 padding: 1em 0;
 background-color: #ec6839;
 color: #fff;
}

/**
 * 2カラム
 */
#contents {
 float: right;
 width: 785px;
 padding-left: 60px;
}

#menu {
 float: left;
 width: 235px;
}

/**
 * パンくず
 */
.pankuzu {
 margin-bottom: 1em;
}

.pankuzu::after {
 clear: both;
 content: ".";
 display: block;
 height: 0;
 visibility: hidden;
}

.pankuzu li {
 float: left;
 font-size: .875em;
 margin-right: .3em;
 max-width: 20em;
 overflow: hidden;
 text-overflow: ellipsis;
 white-space: nowrap;
 color: #40210f;
}

.pankuzu li::after {
 content: " >";
}

.pankuzu li:last-child::after {
 content: none;
}

.pankuzu a {
 color: #40210f;
}

/**
 * コンテンツ
 */
.contents {
 margin-bottom: 20px;
}

.contents .title {
 font-size: 20px;
 font-weight: bold;
 margin-bottom: 20px;
 background-position: left top;
 background-repeat: no-repeat;
 background-image: url("/common/img/contents/title.gif");
 background-size: 100% auto;
 height: 40px;
 padding-left: 30px;
 line-height: 40px;
 color: #40210f;
}

.contents .par {
 margin-left: 20px;
 margin-bottom: 40px;
 color: #40210f;
}

.contents .par h3 {
 margin-left: 0;
 margin-bottom: 10px;
 font-weight: bold;
 color: #40210f;
}

.contents .par p {
 margin-left: 0;
 margin-bottom: 0;
 color: #40210f;
}

.contents h3 {
 margin-left: 20px;
 margin-bottom: 10px;
 font-weight: bold;
 color: #40210f;
}

.contents p {
 margin-left: 20px;
 margin-bottom: 40px;
 color: #40210f;
}

.contents em {
 color: #de6641;
}

.contents p b {
 display: block;
 padding-left: 20px;
 padding-top: 10px;
 font-size: 12px;
}

/**
 * 備考
 */
.contents .par ul {
 margin-top: 10px;
}

.contents .par li {
 position: relative;
 padding-left: 16px;
 color: #40210f;
}

.contents .par li::before {
 position: absolute;
 z-index: 10;
 top: 0;
 left: 0;
 content: "※";
}

/**
 * Youtube
 */
.youtube {
 margin: 0 auto;
 width: 560px;
}

/**
 * サイド
 */
.menu {
 margin-bottom: 10px;
}

.menu h3 {
 height: 42px;
 line-height: 42px;
 background-repeat: no-repeat;
 background-position: left center;
 background-image: url("/common/img/side/bar.gif");
 background-size: contain;
 color: #693905;
 font-weight: bold;
 font-size: 18px;
 padding-left: 24px;
 margin-bottom: 10px;
}

.menu li {
 display: block;
 width: 100%;
 border-bottom: 2px dotted #2cb498;
 padding: 8px 0;
}

.menu li a {
 display: table;
 width: 100%;
}

.menu li i {
 display: table-cell;
 width: 54px;
 height: 54px;
}

.menu li i img {
 border: 2px solid #2cb498;
 border-radius: 4px;
}

.menu li b {
 display: table-cell;
 vertical-align: middle;
 font-size: 1.125em;
 padding-left: 1em;
}

.menu li span {
 display: block;
 font-size: 14px;
}

.menu-bannar {
 margin-bottom: 10px;
}

/**
 * 社長紹介
 */
.president-introduction {
 border: 1px solid #2cb498;
 padding: 10px;
}

.president-photo {
 width: 140px;
 margin: 0 auto;
}

.president-introduction p {
 font-size: 12px;
}

.president-introduction p.president-name {
 font-size: 14px;
 text-align: center;
}

.president-introduction a {
 display: block;
 text-align: center;
 margin: 5px auto 0;
 padding: 5px 10px;
 width: 140px;
 background-color: #2cb498;
 color: #fff;
 border-radius: 4px;
 font-weight: bold;
}

/**
 * コラム
 */
.koutsuanzen-column {
 border: 1px solid #2cb498;
 padding: 10px;
}

.koutsuanzen-column p {
 font-size: 12px;
}

.koutsuanzen-column a {
 display: block;
 text-align: center;
 margin: 5px auto 0;
 padding: 5px 0;
 width: 200px;
 background-color: #2cb498;
 color: #fff;
 font-size: 14px;
 border-radius: 4px;
 font-weight: bold;
}

/**
 * カレンダー
 */
.calendar-head {
 display: table;
 width: 100%;
 margin-bottom: 5px;
}

.calendar-prev-month,
.calendar-next-month,
.calendar-current-month {
 display: table-cell;
 vertical-align: middle;
}

.calendar-current-month {
 text-align: center;
 font-weight: bold;
}

.calendar {
 width: 231px;
 margin: 0 auto 20px;
 border: 1px solid #666;
}

.calendar:last-child {
 margin-bottom: 0;
}

.calendar th, .calendar td {
 width: 33px;
 height: 33px;
 text-align: center;
 vertical-align: middle;
 border: 1px solid #666;
}

.sun {
 color: #ff0000;
}

.sat {
 color: #0000ff;
}

td.before, td.after {
 color: #ccc;
}

.calendar td {
 position: relative;
}

.calendar td .event {
 display: block;
 position: absolute;
 z-index: 10;
 top: 0;
 left: 0;
 width: 33px;
 height: 33px;
 font-size: 34px;
 line-height: 26px;
 color: #ff0000;
 text-align: center;
}

p.calendar-note {
 color: #333;
 font-size: 12px;
 margin-top: -10px;
 line-height: 1.5;
}

p.calendar-note i {
 color: #ff0000;
 font-size: 18px;
}

/**
 * Ｑ＆Ａ
 */
.faq {
 margin-left: 20px;
 margin-bottom: 20px;
 border-top: 1px dotted #2cb498;
}

.faq dt, .faq dd {
 padding-top: 10px;
 padding-bottom: 10px;
 color: #40210f;
}

.faq dt {
 font-size: 16px;
 font-weight: bold;
 border-bottom: 1px dotted #2cb498;
}

.faq dt::before {
 display: inline-block;
 width: 20px;
 height: 20px;
 border-radius: 20px;
 background-color: #2cb498;
 content: "？";
 font-size: 14px;
 color: #fff;
 text-align: center;
 margin-right: 8px;
}

.faq dd {
 margin-top: 5px;
 padding-left: 20px;
 padding-right: 20px;
 background-color: #f5f5f5;
}

/**
 * 送料
 */
.souryo {
 margin-left: 40px;
 margin-bottom: 20px;
 width: 320px;
 border-top: 1px solid #ccc;
 border-left: 1px solid #ccc;
}

.souryo th, .souryo td {
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
 vertical-align: middle;
 text-align: center;
 white-space: nowrap;
 padding: 10px;
}

.souryo tr:nth-child(even) {
 background-color: #f2efd6;
}

.souryo-notes {
 font-size: 12px;
 margin-left: 60px;
 color: #40210f;
}

/**
 * 特定商取引法に関する表記
 */
.law {
 margin: 40px 0;
 width: 100%;
 border-top: 1px solid #ccc;
 border-left: 1px solid #ccc;
}

.law th, .law td {
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
 vertical-align: middle;
 text-align: left;
 padding: 10px;
 color: #40210f;
}

.law th {
 width: 200px;
}

.law tr:nth-child(odd) {
 background-color: #f2efd6;
}

/**
 * 名入れ
 */
.naire {
 position: relative;
 margin-left: 30px;
 padding-left: 18px;
 padding-bottom: 40px;
 border-left: 2px solid #2cb498;
}

 .naire:last-child {
 border-left: none;
 }

.naire h2 {
 font-size: 24px;
 font-weight: bold;
 margin-left: 20px;
 margin-bottom: 20px;
 color: #ed7537;
}

.naire h2 b {
 display: block;
 font-size: 16px;
 font-weight: bold;
 color: #40210f;
}

.naire p {
 line-height: 2.0;
 margin-bottom: 0;
}

.naire p em {
 display: inline-block;
 background-color: #ed7537;
 color: #fff;
 line-height: 1.2;
 padding: 2px 4px;
 border-radius: 4px;
}

/**
 * 名入れ STEP
 */
.naire .step, .naire .step-end {
 display: block;
 position: absolute;
 z-inde: 10;
 top: 0;
 left: -30px;
 width: 54px;
 height: 54px;
 border-radius: 54px;
 background-color: #2cb498;
 color: #fff;
 text-align: center;
 font-weight: bold;
 line-height: 1.2;
 padding-top: 11px;
}

.naire .step-end {
 background-color: #ed7537;
}

/**
 * 商品一覧
 */
#goods-list {
 margin: 10px 0;
}

 #goods-list::after {
 content: "";
 display: table;
 clear: both;
 }

.goods-list {
 float: left;
 width: 230px;
 margin-right: 15px;
 margin-bottom: 15px;
 border: 1px solid #a9cc5c;
}

 .goods-cell::after {
 content: "";
 display: table;
 clear: both;
 }

.goods-cell .goods-list:nth-child(3n) {
 margin-right: 0;
}

.goods-list .goods-image {
 padding: 10px;
}

.goods-list .goods-data {
 padding: 10px;
 background-color: #a9cc5c;
 min-height: 134px;
}

.goods-list .goods-name {
 font-weight: bold;
 height: 48px;
 overflow: hidden;
}

.goods-list .goods-price {
 text-align: right;
 font-weight: bold;
}

/**
 * 商品カテゴリー
 */
.goods-category-note {
 font-weight: bold;
 border: 4px solid #fbda95;
 border-radius: 6px;
 padding: 10px 20px;
 margin-right: 20px;
}

.contents p.goods-category-note {
 color: #691107;
}

/**
 * 商品詳細
 */
 .goods::after {
 content: "";
 display: table;
 clear: both;
 }

.goods-pre {
 float: left;
 width: 440px;
}

.goods-sec {
 float: right;
 width: 285px;
 padding-left: 25px;
}

.goods .goods-image, .goods .goods-detail {
 margin-bottom: 40px;
 color: #40210f;
}

.goods .goods-image a {
 display: block;
 margin-bottom: 5px;
}

.goods .goods-number {
 display: inline-block;
 border: 1px solid #691107;
 color: #691107;
 line-height: 1.2;
 padding: 4px 8px;
 margin-top: 40px;
 margin-bottom: 40px;
}

.goods .goods-price {
 color: #691107;
 font-weight: bold;
 margin-bottom: 40px;
 text-align: right;
}

.goods-price b {
 font-size: 24px;
 font-weight: bold;
}

.goods-price span {
 display: block;
 font-weight: normal;
}

/**
 * 特徴
 */
.goods-feature li {
 display: inline-block;
 position: relative;
 white-space: nowrap;
 margin: .5em;
}

/**
 * ボタン
 */
.goods-buttons a {
 display: block;
 color: #fff;
 text-align: center;
 font-weight: bold;
 border-radius: 4px;
 line-height: 1.4;
 padding: 6px 12px;
 margin-bottom: 20px;
}

.goods-buttons a.goods-order {
 background-color: #ed7537;
 font-size: 24px;
}

.goods-buttons a.goods-otoi {
 background-color: #2cb498;
 font-size: 18px;
}

/**
 * 注意事項
 */
.goods-notes {
 clear: both;
 padding-top: 40px;
 margin-left: 10px;
 margin-bottom: 40px;
}

.goods-notes .goods-column {
 border: 1px solid #ccc;
 border-radius: 6px;
 padding: 10px 20px;
}

.goods-notes p {
 margin-left: 0;
 margin-bottom: 10px;
}

.goods-notes li {
 font-size: 12px;
 color: #40210f;
}

/**
 * ピックアップ
 */
.goods-category {
 border: 4px solid #fbda95;
 border-radius: 6px;
 margin-bottom: 40px;
 padding: 10px 6px 0;
}

.goods-category .goods-category-note {
 border: none;
 margin-bottom: 10px;
 margin-left: 0;
 margin-right: 0;
}

.goods-category .goods-list {
 margin-right: 6px;
}

.goods-category h3 {
 font-size: 16px;
 margin-bottom: 10px;
 margin-left: 0;
 margin-right: 0;
}

/**
 * 注文方法
 */
.contents a.tel, .contents a.fax, .contents a.mail {
 font-size: 16px;
 color: #de6641;
 line-height: 2;
}

.contents i.pdf {
 margin-top: 10px;
 font-size: 24px;
 color: #ff0000;
}

/**
 * 支払方法
 */
.pay-card {
 display: block;
 margin-top: 10px;
 text-align: center;
}

.pay-account {
 min-width: 300px;
 margin: 10px 20px;
 border-top: 1px solid #ccc;
 border-left: 1px solid #ccc;
}

.pay-account th, .pay-account td {
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
 padding: 4px 8px;
 color: #40210f;
 text-align: left;
}

.pay-account th {
 width: 120px;
}

/**
 * お知らせ一覧
 */
.news-list {
 margin-bottom: 40px;
}

.news-list li {
 margin-bottom: 5px;
 margin-left: 20px;
 list-style-type: disc;
 color: #2cb498;
}

.news-list .news-date {
 display: inline-block;
 width: 110px;
 font-size: 12px;
}

/**
 * お知らせ詳細
 */
.news-body {
 margin-bottom: 40px;
}

.news-body div {
 float: left;
 width: 320px;
 margin-right: 20px;
 margin-bottom: 10px;
}

.news-body p {
 line-height: 1.7;
}

.news-body .news-date {
 font-weight: normal;
 font-size: 12px;
 text-align: right;
}

/**
 * 会社概要
 */
.company {
 margin: 40px 0;
 width: 100%;
 border-top: 1px solid #ccc;
 border-left: 1px solid #ccc;
}

.company th, .company td {
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
 vertical-align: middle;
 text-align: left;
 padding: 10px;
 color: #40210f;
}

.company th {
 width: 200px;
}

.company tr:nth-child(odd) {
 background-color: #f2efd6;
}

/**
 * お問い合わせ
 */
.contact {
 margin-bottom: 20px;
 width: 100%;
 border-top: 1px solid #ccc;
 border-left: 1px solid #ccc;
}

.contact th, .contact td {
 border-right: 1px solid #ccc;
 border-bottom: 1px solid #ccc;
 vertical-align: middle;
 text-align: left;
 padding: 10px;
 color: #40210f;
}

.contact th {
 width: 180px;
 background-color: #f2efd6;
}

.contact td {
 color: #000;
 font-size: 16px;
}

.contents p.notice {
 margin: 0;
}

.submit-button {
 text-align: center;
}

.submit-button .btn {
 display: inline-block;
 border: 1px solid #ccc;
 border-radius: 4px;
 padding: 6px 12px;
}

.btn-kakunin, .btn-soushin {
 font-weight: bold;
 font-size: 18px;
 background-color: #009140;
 color: #fff;
}

.btn-modoru {
 margin-right: 20px;
}

.contact select {
 color: #000;
}

.contact input, .contact textarea, .contact select {
 font-size: 16px;
}

/**
 * ブログ
 */
.menu ul.blog-news li, .menu ul.blog-month li {
 border-bottom: none;
 padding: 4px 0;
}

/**
 * ブログ一覧
 */
#blog-list {
 margin: 10px 0;
}

 #blog-list::after {
 content: "";
 display: table;
 clear: both;
 }

.blog-list {
 float: left;
 width: 230px;
 margin-right: 15px;
 margin-bottom: 15px;
 border: 1px solid #ccc;
 border-radius: 4px;
}

 .blog-cell::after {
 content: "";
 display: table;
 clear: both;
 }

.blog-cell .blog-list:nth-child(3n) {
 margin-right: 0;
}

.blog-list .blog-image {
 padding: 10px 10px 0;
}

.blog-list .blog-data {
 padding: 10px;
 margin-bottom: 6px;
 height: 146px;
 overflow: hidden;
}

.blog-list .blog-date {
 text-align: right;
 font-size: 11px;
 font-weight: normal;
 margin: 0;
 padding: 0;
}

.blog-list .blog-title {
 font-weight: bold;
 margin: 0;
 padding: 0;
 width: 210px;
 white-space: nowrap;
 text-overflow: ellipsis;
 overflow: hidden;
}

.blog-list .blog-body {
 margin: 0;
 padding: 0;
 width: 210px;
 font-size: 12px;
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 3;
 overflow: hidden;
 height: 8em;
}

/**
 * ブログ詳細
 */
.blog-body {
 margin-bottom: 40px;
}

.blog-body h1,
.blog-body h2,
.blog-body h3,
.blog-body h4,
.blog-body h5,
.blog-body h6,
.blog-body p {
 color: #40210f;
}

.blog-body h2 {
 font-size: 14px;
 font-weight: bold;
 margin-bottom: 10px;
}

.blog-body h3.blog-subject {
 margin-left: 0;
 font-size: 16px;
}

.blog-body .blog-image {
 float: left;
 width: 320px;
 margin-right: 20px;
 margin-bottom: 10px;
}

.blog-body p.blog-caption {
 font-size: 12px;
 margin: 5px 0 0;
 padding: 0;
}

.blog-body p.blog-article {
 margin-left: 0;
 line-height: 1.7;
 font-size: 15px;
}

.blog-body .blog-date {
 font-weight: normal;
 font-size: 12px;
 text-align: right;
 color: #40210f;
}

.style1 .blog-image {
 float: none;
 width: 100%;
 margin-right: 0;
 margin-bottom: 20px;
}

.style2 .blog-image {
 float: right;
 margin-right: 0;
 margin-left: 20px;
}

/**
 * コラム
 */
.column h1.title {
 height: auto;
 background-position: left bottom;
 background-image: url("/common/img/contents/column-title-bg.gif");
 padding-left: 10px;
 padding-bottom: 5px;
 line-height: 1.5;
}

/**
 * 一覧
 */
 #column-list {
 margin: 10px 0;
}

 #column-list::after {
 content: "";
 display: table;
 clear: both;
 }

.column-list {
 float: left;
 width: 230px;
 margin-right: 15px;
 margin-bottom: 15px;
 border: 1px solid #ccc;
 border-radius: 4px;
}

 .column-cell::after {
 content: "";
 display: table;
 clear: both;
 }

.column-cell .column-list:nth-child(3n) {
 margin-right: 0;
}

.column-list .column-image {
 padding: 10px 10px 0;
}

.column-list .column-data {
 padding: 10px;
 margin-bottom: 6px;
 height: 146px;
 overflow: hidden;
}

.column-list .column-date {
 text-align: right;
 font-size: 11px;
 font-weight: normal;
 margin: 0;
 padding: 0;
}

.column-list .column-title {
 font-weight: bold;
 margin: 0;
 padding: 0;
 width: 210px;
 white-space: nowrap;
 text-overflow: ellipsis;
 overflow: hidden;
}

.column-list .column-body {
 margin: 0;
 padding: 0;
 width: 210px;
 font-size: 12px;
 display: -webkit-box;
 -webkit-box-orient: vertical;
 -webkit-line-clamp: 3;
 overflow: hidden;
 height: 8em;
}

/**
 * 詳細
 */
.column-body {
 margin-bottom: 60px;
}

.column-body:last-child {
 margin-bottom: 40px;
}

.column-body h1,
.column-body h2,
.column-body h3,
.column-body h4,
.column-body h5,
.column-body h6,
.column-body p {
 color: #40210f;
 margin-bottom: 1em;
}

.column-body h2 {
 font-size: 18px;
 font-weight: bold;
}

.column-body h3 {
 font-size: 18px;
 font-weight: bold;
}

.column-body h3.column-subject {
 margin-left: 0;
 font-size: 16px;
}

.column-body .column-main-image {
 margin-bottom: 20px;
}

.column-body .column-main-box {
 float: left;
 width: 320px;
 margin-right: 20px;
 margin-bottom: 10px;
}

.column-body .column-image {
 float: left;
 width: 320px;
 margin-right: 20px;
 margin-bottom: 10px;
}

.column-body p.column-caption {
 color: #0f2e40;
 font-size: 12px;
 margin: 5px 0 0;
 padding: 0;
}

.column-body p.column-article {
 margin-left: 0;
 line-height: 1.7;
 font-size: 15px;
}

.column-body .column-date {
 font-weight: normal;
 font-size: 12px;
 text-align: right;
 color: #40210f;
 margin-bottom: 20px;
}

.style1 .column-image {
 float: none;
 width: 100%;
 margin-right: 0;
 margin-bottom: 20px;
}

.style2 .column-image {
 float: right;
 margin-right: 0;
 margin-left: 20px;
}

/* Youtube */
.column-youtube {
 margin-top: 40px;
}

/* 囲み記事 */
.column-box {
 border: 1px solid #666;
 border-radius: 4px;
 padding: 20px 30px 10px;
}

/**
 * オススメの商品
 */
.column-recommend {
 margin-bottom: 40px;
}

.column-recommend h2 {
 font-size: 18px;
 font-weight: bold;
 margin-bottom: 1em;
 padding: 6px 18px;
 background-color: #ed7537;
 color: #fff;
}

.goods-list {
 margin-right: 15px;
 margin-bottom: 15px;
}

.goods-list:nth-child(3n) {
 margin-right: 0;
}

/**
 * 見積り
 */
.mitsumori {
 margin-left: 20px;
 margin-bottom: 10px;
 color: #40210f;
}

.mitsumori b {
 font-size: 13px !important;
}

.mitsumori-notice {
 margin-left: 20px;
 margin-bottom: 40px;
 color: #40210f;
}

.mitsumori-notice li {
 margin-left: 30px;
 margin-bottom: 10px;
 list-style-type: decimal;
}

.mitsumori-notice li b {
 display: block;
 margin-top: 10px;
 font-size: 13px;
}

/**
 * 入札物件
 */
.nyusatsu-notice {
 margin-left: 20px;
 margin-bottom: 10px;
 font-weight: bold;
 color: #40210f;
}

