@charset 'utf-8';

/*
Theme Name: daiko-ken
Theme URI: www.sunloftweb.jp
Description: 2017年版の WordPress テーマ「コーポレート」は、企業サイト制作により最適なレスポンシブテーマです。カスタム投稿、ヘッダの余計なタグを無効化、カスタムメニュー利用可能、パンくずリスト自動生成、「続きを読む」リンクの#を無効化、トップページ新着情報のNEWマーク表示（デフォルト7日間）、トップページでのRSS取得（複数ブログ可能）、投稿カテゴリ毎の月別表示（プラグイン使用）、コメント非表示、固定ページのコーナータイトルを自動表示、固定ページのサイドメニューを自動表示（階層無制限）、管理者以外にワードプレスアップデートのお知らせ非表示、管理画面の「ダッシュボード」「投稿」「ページ」の不要なコンテンツを非表示、ビジュアルエディタの最適化に対応しています。
Author: 株式会社サンロフト
Version: 1.0
License: GNU General Public License
License URI: license.txt
*/


/* ============================
   Global Elements
/* ============================ */


/*windows用*/

@font-face {
    font-family: YuGothicM;
    font-weight: 500;
    src: local(Yu Gothic Medium), local(Yu Gothic);
}

body,
input,
textarea,
#content,
#content input {
    font-family: "ten-mincho","source-han-serif-japanese" ,"Kozuka Mincho Pro", "Kozuka Mincho Std", "小塚明朝 Pro R", "小塚明朝 Std R", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "Times New Roman”", “游明朝”, YuMincho, "“ヒラギノ明朝 ProN W3”", "“Hiragino Mincho ProN”", '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'YuGothicM', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 1em;
    font-weight: 400;
    line-height: 1.75em;
}

hr {
    clear: both;
    height: 1px;
    margin-bottom: 1.5em;
    border: 0;
    background-color: #e7e7e7;
}

/*fontawesomeアイコン*/
.fa{
        font-family: Font Awesome\ 5 Free, FontAwesome;
        font-weight: bold;
}

/* Text elements
--------------------------------------------- */

p {
    margin: 0 0 1em 0;
}

ul {
    margin: 0 0 1em 1.5em;
    list-style: square;
}

ol {
    margin: 0 0 1em 1.5em;
    list-style: decimal;
}

ol ol {
    list-style: upper-alpha;
}

ol ol ol {
    list-style: lower-roman;
}

ol ol ol ol {
    list-style: lower-alpha;
}

ul ul,
ol ol,
ul ol,
ol ul {
    margin-bottom: 0;
}

dl {
    margin: 0 0 1.5em 0;
}

dt {
    font-weight: bold;
}

dd {
    margin-bottom: 1em;
}

strong {
    font-weight: bold;
}

cite,
em,
i {
    font-style: italic;
}

big {
    font-size: 131.25%;
}

ins {
    text-decoration: none;
    background: #ffc;
}

blockquote {
    font-style: italic;
    background: #f5f5f5;
    border: 1px solid #ddd;
    padding: 1em!important;
    margin: 1em 0!important;
}

blockquote cite,
blockquote em,
blockquote i {
    font-style: normal;
}

pre {
    line-height: 1.2;
    margin-bottom: 1em;
    padding: 1.5em;
    color: #222;
    background: #f7f7f7;
}

abbr,
acronym {
    cursor: help;
    border-bottom: 1px dotted #666;
}

sup,
sub {
    line-height: 1;
    position: relative;
    height: 0;
    vertical-align: baseline;
}

sup {
    bottom: 1ex;
}

sub {
    top: .5ex;
}

input[type='text'],
textarea {
    padding: 5px;
    border: 1px solid #ccc;
    background: #f9f9f9;
    -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .1);
    -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .1);
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .1);
}

a:link {
    color: #010101;
}

a:visited {
    color: #010101;
}

a:active,
a:hover {
    opacity: .8;
    filter: alpha(opacity=80);
    -moz-opacity: .8;
    -webkit-opacity: .8;
}

a,
a:hover,
a:focus,
content,
input[type=submit],
img,
p {
    -webkit-transition: .2s;
    transition: .2s;
}


/* Images
----------------------------- */

img.size-auto,
img.size-full,
img.size-large,
img.size-medium,
.attachment img {
    width: auto;
    max-width: 100%;
    height: auto;
}

.alignleft,
img.alignleft {
    display: inline;
    float: left;
    margin-top: 4px;
    margin-right: 1em;
}

.alignright,
img.alignright {
    display: inline;
    float: right;
    margin-top: 4px;
    margin-left: 1em;
}

.aligncenter,
img.aligncenter {
    display: block;
    clear: both;
    margin-right: auto;
    margin-left: auto;
}

img.alignleft,
img.alignright,
img.aligncenter {
    margin-bottom: 1.5em;
}


/* キャプション機能用
----------------------------- */

.wp-caption {
    line-height: 1;
    max-width: 632px !important;
    margin-bottom: 1em;
    padding: 4px;
    text-align: center;
    background: #f1f1f1;
}

.wp-caption img {
    margin: 5px 5px 0;
}

.wp-caption p.wp-caption-text {
    font-size: .7em;
    margin: 5px;
    color: #888;
}


/* ギャラリー機能用
----------------------------- */

.gallery {
    margin: auto;
}

.gallery .gallery-item {
    float: left;
    margin-top: 10px;
    text-align: center;
}

.gallery img {
    border: 2px solid #cfcfcf;
}

.gallery .gallery-caption {
    margin-left: 0;
}


/* カラム毎のサイズ
----------------------------- */

.gallery-columns-1 .gallery-item {
    width: 25%;
}

.gallery-columns-2 .gallery-item {
    width: 50%;
}

.gallery-columns-3 .gallery-item {
    width: 33%;
}

.gallery-columns-4 .gallery-item {
    width: 25%;
}

.gallery-columns-5 .gallery-item {
    width: 20%;
}

.gallery-columns-6 .gallery-item {
    width: 16%;
}

.gallery-columns-7 .gallery-item {
    width: 14%;
}

.gallery-columns-8 .gallery-item {
    width: 12%;
}

.gallery-columns-9 .gallery-item {
    width: 11%;
}

.entry-content dl.gallery-item {
    margin: 0;
}

.gallery-item a,
.gallery-caption {
    width: 90%;
}

.gallery-item a {
    display: block;
}

.gallery-caption a {
    display: inline;
}

.gallery-columns-1 .gallery-item a {
    width: auto;
    max-width: 100%;
}

.gallery .gallery-icon img {
    max-width: 90%;
    height: auto;
    padding: 5%;
}

.gallery-columns-1 .gallery-icon img {
    padding: 3%;
}


/* ============================
   Original CSS Library
/* ============================ */


/* フォント
----------------------------- */

.bold {
    font-weight: bold;
}

.font-small {
    font-size: .8em !important;
}


/* 画像
----------------------------- */

img.f_left {
    margin: 0 20px 20px 0;
}

img.f_right {
    margin: 0 0 20px 20px;
}

img.border {
    padding: 3px;
    border: 1px solid #e8e8e8;
    background: #fff;
}


/* 配置
----------------------------- */

.center {
    text-align: center !important;
}

.left {
    text-align: left !important;
}

.right {
    text-align: right !important;
}

.top {
    vertical-align: top !important;
}

.middle {
    vertical-align: middle !important;
}

.bottom {
    vertical-align: bottom !important;
}

.width_auto {
    width: auto !important;
}

.block {
    display: block;
}

.inline {
    display: inline;
}

.hidden {
    display: none;
}

.overflow {
    overflow: hidden !important;
}

.f_left {
    float: left;
}

.f_right {
    float: right;
}

.f_none {
    float: none !important;
}

.clear {
    clear: both;
}

.clear_none {
    clear: none;
}

.clear_left {
    clear: left;
}

.clear_right {
    clear: right;
}

.clearfix {
    zoom: 1;
}

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

.nowrap {
    white-space: nowrap;
}

.width50 {
    width: 50% !important;
}

.width100 {
    width: 100% !important;
}


/* 余白
----------------------------- */

.m_auto {
    margin-right: auto !important;
    margin-left: auto !important;
}

.m_top0 {
    margin-top: 0 !important;
}

.m_right0 {
    margin-right: 0 !important;
}

.m_bottom0 {
    margin-bottom: 0 !important;
}

.m_left0 {
    margin-left: 0 !important;
}

.m_top10 {
    margin-top: 10px !important;
}

.m_right10 {
    margin-right: 10px !important;
}

.m_bottom10 {
    margin-bottom: 10px !important;
}

.m_left10 {
    margin-left: 10px !important;
}

.m_top15 {
    margin-top: 15px !important;
}

.m_right15 {
    margin-right: 15px !important;
}

.m_bottom15 {
    margin-bottom: 15px !important;
}

.m_left15 {
    margin-left: 15px !important;
}

.m_top20 {
    margin-top: 20px !important;
}

.m_right20 {
    margin-right: 20px !important;
}

.m_bottom20 {
    margin-bottom: 20px !important;
}

.m_left20 {
    margin-left: 20px !important;
}

.m_top30 {
    margin-top: 30px !important;
}

.m_right30 {
    margin-right: 30px !important;
}

.m_bottom30 {
    margin-bottom: 30px !important;
}

.m_left30 {
    margin-left: 30px !important;
}

.m_top40 {
    margin-top: 40px !important;
}

.m_right40 {
    margin-right: 40px !important;
}

.m_bottom40 {
    margin-bottom: 40px !important;
}

.m_left40 {
    margin-left: 40px !important;
}

.m_top50 {
    margin-top: 50px !important;
}

.m_right50 {
    margin-right: 50px !important;
}

.m_bottom50 {
    margin-bottom: 50px !important;
}

.m_left50 {
    margin-left: 50px !important;
}

.m_top100 {
    margin-top: 100px !important;
}

.m_right100 {
    margin-right: 100px !important;
}

.m_bottom100 {
    margin-bottom: 100px !important;
}

.m_left100 {
    margin-left: 100px !important;
}

.p_top0 {
    padding-top: 0 !important;
}

.p_right0 {
    padding-right: 0 !important;
}

.p_bottom0 {
    padding-bottom: 0 !important;
}

.p_left0 {
    padding-left: 0 !important;
}

.p_top10 {
    padding-top: 10px !important;
}

.p_right10 {
    padding-right: 10px !important;
}

.p_bottom10 {
    padding-bottom: 10px !important;
}

.p_left10 {
    padding-left: 10px !important;
}

.p_top20 {
    padding-top: 20px !important;
}

.p_right20 {
    padding-right: 20px !important;
}

.p_bottom20 {
    padding-bottom: 20px !important;
}

.p_left20 {
    padding-left: 20px !important;
}

.p_top30 {
    padding-top: 30px !important;
}

.p_right30 {
    padding-right: 30px !important;
}

.p_bottom30 {
    padding-bottom: 30px !important;
}

.p_left30 {
    padding-left: 30px !important;
}

.p_top40 {
    padding-top: 40px !important;
}

.p_right40 {
    padding-right: 40px !important;
}

.p_bottom40 {
    padding-bottom: 40px !important;
}

.p_left40 {
    padding-left: 40px !important;
}

.p_top50 {
    padding-top: 50px !important;
}

.p_right50 {
    padding-right: 50px !important;
}

.p_bottom50 {
    padding-bottom: 50px !important;
}

.p_left50 {
    padding-left: 50px !important;
}


/* ソーシャルプラグイン
----------------------------- */

.entry-social {
    clear: both;
    overflow: hidden;
    height: auto;
    text-align: left;
}

.single .entry-social {
    clear: both;
    overflow: hidden;
    margin: 20px;
    padding: 10px 10px 10px 10px;
    border-radius: 3px;
    background: #f2f2f2;
    box-shadow: 0 0 5px 0 rgba(0, 0, 0, .1) inset;
}

.entry-social iframe {
    border: 0 !important;
}

.entry-social .twitter {
    float: left;
    margin-right: 10px;
}

.entry-social .facebook {
    float: left;
    margin-right: 10px;
}

.entry-social .googleplus {
    float: left;
}


/* ============================
   mainimage
/* ============================ */

#mainimage ul li {
    list-style-type: none;
}


/* ============================
   pankuzu
/* ============================ */

#pankuzu {
    font-size: .8em;
    line-height: 1.25;
    max-width: 1000px;
    margin: 0 auto;
    padding: 1em 20px;
    text-align: right;
}


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

#content #content {
    width: 100%\9;
    /* IE10以下 */
}

#content:after {
    display: block;
    clear: both;
    content: '';
}

.home #content {
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
}

#main {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    clear: both;
    overflow: hidden;
    flex-direction: row-reverse;
    box-sizing: border-box;
    max-width: 1000px;
    margin: 0 auto 20px auto;
/*    padding: 0 20px 100px 20px;*/
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
    -ms-flex-direction: row-reverse;
}

#content input {
    padding: 5px;
}

#content p,
#content ul,
#content ol,
#content dd,
#content pre,
#content hr {
    margin-bottom: 1.5em;
}

#content ul ul,
#content ol ol,
#content ul ol,
#content ol ul {
    margin-bottom: 0;
}

#content ul,
#content ol  {
    margin-left: 2.5em;
}

#content pre,
#content kbd,
#content tt,
#content var {
    font-size: 1em;
    line-height: 1.2em;
}

#content code {
    font-size: .8em;
}


/* ============================
  サイド
/* ============================ */

#sidebox {
    float: left;
    overflow: hidden;
    width: 30%;
    width: 25%\9;
    /* IE10以下 */
    margin: 10px 10px 30px 10px;
}

#sidebox #sidemenu ul.side_title_year li a::after {
content:"年";
}

/* iframe
----------------------------- */

#content iframe {
    border: 1px solid #e5e5e5;
}


/* トップページ
----------------------------- */

.home #main {
    width: 100%;
    max-width: 100%;
    margin: 0;
}

.contentbox {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 20px 20px 60px 20px;
}


/*お知らせ*/

#news ul {
    overflow: hidden;
    margin: 0;
    margin-bottom: 0 !important;
    list-style: none;
}

#news ul li {
    overflow: hidden;
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    border-bottom: 1px dotted #bfbfbf;
    display: flex;
}

#news ul li .date {
    font-weight: bold;
    margin-right: .75em;
}

.cate a {
  /* font-size: .8em; */
  margin-right: .75em;
  padding: 0.5em 0.8em;
  white-space: nowrap;
  text-decoration: none;
  color: white;
  background: #122303;
}
.cate.news a {
  font-size: .8em;
  margin-right: .75em;
  padding: 0.5em 0.8em;
  white-space: nowrap;
  text-decoration: none;
  color: white;
  background: #b29049;
}

/*newマーク*/

.new {
    font-size: .7em;
    padding: 0 .5em;
    letter-spacing: .1em;
    color: #971e31;
}

.new.blinking {
    -webkit-animation: blink 1s ease-in-out infinite alternate;
    animation: blink 1s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
    0% {
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}

@keyframes blink {
    0% {
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        opacity: 1;
    }
}


/* コンテンツページ
----------------------------- */

.entry-meta {
    font-size: 12px;
    margin-bottom: 10px;
    text-align: right;
    color: #888;
}

.entry-meta abbr,
.entry-utility abbr {
    border: none;
}

.entry-meta abbr:hover,
.entry-utility abbr:hover {
    border-bottom: 1px dotted #666;
}

.entry-content,
.entry-summary {
    clear: both;
    padding: 0;
}

#content .entry-summary p:last-child {
    margin-bottom: 12px;
}

.entry-content fieldset {
    margin: 0 0 24px 0;
    padding: 24px;
    border: 1px solid #e7e7e7;
}

.entry-content fieldset legend {
    font-weight: bold;
    padding: 0 24px;
    color: #000;
    background: #fff;
}

.entry-content input {
    margin: 0 0 24px 0;
}

.entry-content input.file,
.entry-content input.button {
    margin-right: 24px;
}

.entry-content select {
    margin: 0 0 24px 0;
}

.entry-content sup,
.entry-content sub {
    font-size: 10px;
}

.entry-content blockquote.left {
    float: left;
    width: 33%;
    margin-right: 24px;
    margin-left: 0;
    text-align: right;
}

.entry-content blockquote.right {
    float: right;
    width: 33%;
    margin-right: 0;
    margin-left: 24px;
    text-align: left;
}


/* ページネーション　タイプ：[1/5][1][2][3][4][5][>] */

#content .wp-pagenavi {
    margin: 10px 0 0 0;
    padding: 5px 0;
    text-align: center;
}

#content .wp-pagenavi .pages {
    color: #fff;
    border: 1px solid #666;
    background: #666;
}

#content .wp-pagenavi a,
#content .wp-pagenavi span {
    padding: 6px 10px;
    color: #666;
    border-radius: 3px;
    background: #f2f2f2;
}

#content .wp-pagenavi a:hover {
    border: 1px solid #666;
    background: #ccc;
}

#content .wp-pagenavi span.current {
    color: #fff;
    border: 1px solid #666;
    background: #666;
}


/* ページネーション　タイプ：[<前へ] [次へ>] */

#nav-below {
    position: relative;
    overflow: hidden;
    margin: 0 10px 10px 10px;
    padding: 7px 0;
}

#nav-below .nav-previous {
    float: left;
    width: 50%;
}

#nav-below .nav-next {
    float: right;
    width: 50%;
    text-align: right;
}

#nav-below .nav-list {
    width: 100px;
    margin: 0 auto;
}

#nav-below .nav-previous a,
#nav-below .nav-next a {
    padding: 6px 10px;
    text-decoration: none;
    color: #666;
    border: 1px solid #bfbfbf;
    border-radius: 3px;
    background: #f2f2f2;
}

#nav-below .nav-previous a:hover,
#nav-below .nav-next a:hover {
    color: #fff;
    border: 1px solid #666;
    background: #666;
}

.edit-link {
    display: block;
    clear: both;
    padding-top: 15px;
}

#entry-author-info {
    font-size: 14px;
    line-height: 20px;
    clear: both;
    overflow: hidden;
    margin: 24px 0;
    padding: 1em 20px;
    border-top: 4px solid #000;
    background: #f2f7fc;
}

#entry-author-info #author-avatar {
    float: left;
    height: 60px;
    margin: 0 -104px 0 0;
    padding: 11px;
    border: 1px solid #e7e7e7;
    background: #fff;
}

#entry-author-info #author-description {
    float: left;
    margin: 0 0 0 104px;
}

#entry-author-info h2 {
    font-size: 100%;
    font-weight: bold;
    margin-bottom: 0;
    color: #000;
}

.entry-utility {
    font-size: .8em;
    line-height: 1.5;
    clear: both;
    color: #888;
}

.entry-meta a,
.entry-utility a {
    color: #888;
}

.entry-meta a:hover,
.entry-utility a:hover {
    color: #ff4b33;
}

#content .video-player {
    padding: 0;
}


/*子ページ間のリンク*/

ul#page_link {
    overflow: hidden;
    margin: 0;
    padding: 0;
    list-style: none;
}

ul#page_link li {
    width: 48%;
    text-align: center;
}

ul#page_link li.prev_link {
    float: left;
}

ul#page_link li.next_link {
    float: right;
}

ul#page_link li a {
    display: block;
    padding: 10px 20px;
    text-decoration: none;
    color: #333;
    background: #d7d7d6;
}

ul#page_link li a:hover {
    text-decoration: underline;
}


/* 新着情報・ニュース
----------------------------- */

.entry-list {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px dotted #ccc;
}

.entry-list span {
    margin-right: 10px;
}


/* お問い合わせ
----------------------------- */

#content .wpcf7 table input {
    width: 350px;
    max-width: 100%;
    padding: 0 5px 8px 0;
}

#content .wpcf7 table input.text_short {
    width: 50px;
}

#content .wpcf7 table textarea {
    width: 350px;
    height: 8em;
    padding: 0 5px 8px 0;
}

#content table wpcf7-checkbox input {
    width: auto;
    height: 1;
    padding: 0 2px 8px 0;
}

#content span.wpcf7-list-item {
    display: block;
    white-space: nowrap;
        margin: 0;
}

#content span.wpcf7-list-item input {
    width: auto;
    margin: 0 2px 3px 0 !important;
    vertical-align: middle;
}

.wpcf7-form-control.wpcf7-radio,
.wpcf7-form-control-wrap.your-occupation,
.wpcf7-form-control-wrap.your-subject,
.wpcf7-form-control.wpcf7-checkbox.wpcf7-validates-as-required {
    display: block;
    width: 100%;
}

span.wpcf7-list-item {
    display: inline;
    padding: 0 12px 0 0 !important;
    white-space: nowrap;
}

span.wpcf7-list-item input {
    padding: 0 2px 3px 0 !important;
    vertical-align: middle;
}

span.wpcf7-form-control-wrap select {
    font-size: 1em;
    margin: 0;
    padding: 5px;
}

form.inputnone input[type='text'],
form.inputnone textarea {
    padding: 4px;
    border: 1px solid #eee;
    background: #f9f9f9;
    -webkit-box-shadow: inset 0 0 0 rgba(0, 0, 0, .1);
    -moz-box-shadow: inset 0 0 0 rgba(0, 0, 0, .1);
    box-shadow: inset 0 0 0 rgba(0, 0, 0, .1);
}


/* 通常のフォーム用 */

input[type='text'],
input[type='email'],
textarea {
    padding: 4px;
    border: 1px solid #ccc;
    background: #f9f9f9;
    -webkit-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .1);
    -moz-box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .1);
    box-shadow: inset 1px 1px 1px rgba(0, 0, 0, .1);
}


/* 任意・必須マーク*/

#content .wpcf7 table tr th:after {
    font-size: .7em;
    margin-left: 10px;
    padding: 1px 5px;
    content: '任意';
    color: #fff;
    background-color: #808080;
}

#content .wpcf7 table tr th.need:after {
    content: '必須';
    background-color: #d40000;
}


/* 送信・確認ボタン */

.btn_submit input,
.wpcf7-submit {
    font-size: 1.2em!important;
    font-weight: bold;
    display: inline-block;
    width: 150px;
    cursor: pointer;
    -webkit-transition: none;
    transition: none;
    text-align: center;
    text-decoration: none;
    letter-spacing: 5px;
    color: #fff;
    border: none;
    background: #666;
    text-shadow: 0 1px 1px rgba(0, 0, 0, .4);
}

img.ajax-loader {
    display: inline-block;
}


/*記入に関してのお願い*/

.referencemark {
    font-size: .8em;
    line-height: 1.5;
    width: 100%;
    max-width: 1000px;
    margin: auto;
    padding: 10px;
    border: 1px dotted #ccc;
    background: #ffe5e8;
}

.referencemark strong {
    line-height: 2.5;
    color: #d40000;
}


/* 404
----------------------------- */

.page404 {
    padding: 100px;
    text-align: center;
}


/* Widget Areas
----------------------------- */

.widget-area ul {
    margin-left: 0;
    list-style: none;
}

.widget-area ul ul {
    margin-left: 1.3em;
    list-style: square;
}

.widget-area select {
    max-width: 100%;
}

.widget_search #s {
    width: 60%;
}

.widget_search label {
    display: none;
}

.widget-container {
    margin: 0 0 1em 0;
}

.widget-title {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3em;
    margin-bottom: 15px;
    padding: 0 10px;
    border-left: 5px solid #000;
}

.widget-area a:link,
.widget-area a:visited {
    text-decoration: none;
}

.widget-area a:active,
.widget-area a:hover {
    text-decoration: underline;
}

.widget-area .entry-meta {
    font-size: 11px;
}

#wp_tag_cloud div {
    line-height: 1.6em;
}

#wp-calendar {
    width: 100%;
}

#wp-calendar caption {
    font-size: 14px;
    font-weight: bold;
    padding-bottom: 4px;
    text-align: left;
    color: #222;
}

#wp-calendar thead {
    font-size: 11px;
}

#wp-calendar tbody {
    color: #aaa;
}

#wp-calendar tbody td {
    padding: 3px 0 2px;
    text-align: center;
    border: 1px solid #fff;
    background: #f5f5f5;
}

#wp-calendar tbody .pad {
    background: none;
}

#wp-calendar tfoot #next {
    text-align: right;
}

.widget_rss a.rsswidget {
    color: #000;
}

.widget_rss a.rsswidget:hover {
    color: #ff4b33;
}

.widget_rss .widget-title img {
    width: 11px;
    height: 11px;
}

#secondary {
    margin-bottom: 30px;
}

#secondary ul {
    margin: 0;
    list-style: none;
}


/* ============================
   ページトップ
/* ============================ */

.pagetop {
    position: fixed;
    z-index: 9000;
    right: 0;
    bottom: 0;
}

.pagetop a {
    font-size: 10px;
    display: block;
    margin: 0 0 0 auto;
    padding: 5px;
    text-decoration: none;
    color: #fff;
    background: #7d7d7d;
    box-shadow: 0 0 5px #ccc;
}

.pagetop a:hover {
    opacity: 1;
    color: #fff;
    background: #000;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    -webkit-opacity: 1;
}


/* ============================
   Mobile Safari ( iPad, iPhone and iPod Touch )
/* ============================ */

pre {
    -webkit-text-size-adjust: 140%;
}

code {
    -webkit-text-size-adjust: 160%;
}

#access,
.entry-meta,
.entry-utility,
.navigation,
.widget-area {
    -webkit-text-size-adjust: 120%;
}


/* ============================
   Print Style
/* ============================ */

@media print {
    body {
        background: none !important;
    }
    #wrapper {
        position: relative !important;
        display: block !important;
        float: none !important;
        clear: both !important;
    }
    #header {
        padding-bottom: 18pt;
        border-bottom: 2pt solid #000;
    }
    #colophon {
        border-top: 2pt solid #000;
    }
    #site-title,
    #site-description {
        line-height: 1.4em;
        float: none;
        margin: 0;
        padding: 0;
    }
    #site-title {
        font-size: 13pt;
    }
    .entry-content {
        font-size: 14pt;
        line-height: 1.6em;
    }
    .entry-title {
        font-size: 21pt;
    }
    #access,
    #branding img,
    #respond,
    .comment-edit-link,
    .edit-link,
    .navigation,
    .page-link,
    .widget-area {
        display: none !important;
    }
    #container,
    #header,
    #footer {
        width: 100%;
        margin: 0;
    }
    #content,
    .one-column #content {
        width: 100%;
        margin: 24pt 0 0;
    }
    .wp-caption p {
        font-size: 11pt;
    }
    #site-info,
    #site-generator {
        float: none;
        width: auto;
    }
    #colophon {
        width: auto;
    }
    img#wpstats {
        display: none;
    }
    #site-generator a {
        margin: 0;
        padding: 0;
    }
    #entry-author-info {
        border: 1px solid #e7e7e7;
    }
    #main {
        display: inline;
    }
    .home .sticky {
        border: none;
    }
}


/* ============================
   レスポンシブ
/* ============================ */

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
tbody {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}


/* 24カラム ----------------------

.col_01 {
	width: 4.16666666667%;
}

.col_02 {
	width: 8.33333333333%;
}

.col_03 {
	width: 12.5%;
}

.col_04 {
	width: 16.6666666667%;
}

.col_05 {
	width: 20.8333333333%;
}

.col_06 {
	width: 25%;
}

.col_07 {
	width: 29.1666666667%;
}

.col_08 {
	width: 33.3333333333%;
}

.col_09 {
	width: 37.5%;
}

.col_10 {
	width: 41.6666666667%;
}

.col_11 {
	width: 45.8333333333%;
}

.col_12 {
	width: 50%;
}

.col_13 {
	width: 54.1666666667%;
}

.col_14 {
	width: 58.3333333333%;
}

.col_15 {
	width: 62.5%;
}

.col_16 {
	width: 66.6666666667%;
}

.col_17 {
	width: 70.8333333333%;
}

.col_18 {
	width: 75%;
}

.col_19 {
	width: 79.1666666667%;
}

.col_20 {
	width: 83.3333333333%;
}

.col_21 {
	width: 87.5%;
}

.col_22 {
	width: 91.6666666667%;
}

.col_23 {
	width: 95.8333333333%;
}

.col_24 {
	width: 100%;
}


/* 16カラム ----------------------

.col_16 {
	width: 100%;
}

.col_15 {
	width: 93.75%;
}

.col_14 {
	width: 87.5%;
}

.col_13 {
	width: 81.25%;
}

.col_12 {
	width: 75%;
}

.col_11 {
	width: 68.75%;
}

.col_10 {
	width: 62.5%;
}

.col_09 {
	width: 56.25%;
}

.col_08 {
	width: 50%;
}

.col_07 {
	width: 43.75%;
}

.col_06 {
	width: 37.5%;
}

.col_05 {
	width: 31.25%;
}

.col_04 {
	width: 25%;
}

.col_03 {
	width: 18.75%;
}

.col_02 {
	width: 12.5%;
}

.col_01 {
	width: 6.25%;
}


/* 12カラム ---------------------- */

.col_12 {
    width: 100%;
}

.col_11 {
    width: 91.66666667%;
}

.col_10 {
    width: 83.33333333%;
}

.col_09 {
    width: 75%;
}

.col_08 {
    width: 66.66666667%;
}

.col_07 {
    width: 58.33333333%;
}

.col_06 {
    width: 50%;
}

.col_05 {
    width: 41.66666667%;
}

.col_04 {
    width: 33.33333333%;
}

.col_03 {
    width: 25%;
}

.col_02 {
    width: 16.66666667%;
}

.col_01 {
    width: 8.33333333%;
}


/* 12,16,24カラム共通 ---------------------- */

.col_01,
.col_02,
.col_03,
.col_04,
.col_05,
.col_06,
.col_07,
.col_08,
.col_09,
.col_10,
.col_11,
.col_12,
.col_13,
.col_14,
.col_15,
.col_16,
.col_17,
.col_18,
.col_19,
.col_20,
.col_21,
.col_22,
.col_23,
.col_24 {
    position: relative;
    display: inline-block;
    float: left;
    box-sizing: border-box;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px;
}


/*箱*/

html {
    overflow: auto;
}

.clearfix {
    zoom: 1;
}

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

.width100 {
    width: 100%;
    padding: 0;
}


/*画像*/

img,
canvas,
iframe,
video,
svg {
    max-width: 100%;
    height: auto;
}

.width100 img {
    width: 100%;
    padding: 0;
}


/*テキスト*/

p {
    line-height: 1.75;
    margin: 0 0 .5em 0;
}


/*テーブルをPCと同じ表示にする場合、「table_scrollbox」クラスをつけたdivで囲む*/

#content .table_scrollbox table {
    width: 96%;
}

#content .table_scrollbox table tr th,
#content .table_scrollbox table tr td {
    display: table-cell;
}

#content .table_scrollbox table {
    margin-bottom: 10px!important;
}

#content .table_scrollbox table tbody {
    display: block;
    width: auto!important;
    white-space: nowrap;
}

.table_scrollbox {
    overflow-x: auto;
    margin-bottom: 24px;
}

.table_scrollbox::-webkit-scrollbar {
    height: 5px;
}

.table_scrollbox::-webkit-scrollbar-track {
    border-radius: 5px;
    background: #eee;
}

.table_scrollbox::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background: #666;
}


/*文字サイズ指定*/

html {
    font-size: 75%;
}

@media screen and (min-width: 768px) {
    html {
        font-size: 87.5%;
    }
}

@media screen and (min-width: 1024px) {
    html {
        font-size: 100%;
    }
}


/*ボタンiOS装飾削除*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*　----------　PC用　----------　*/

@media(min-width:769px) {
    #spnavi,
    .sp {
        display: none!important;
    }
    /*レイアウト*/
    #main {
        box-sizing: border-box;
        width: 100%;
        padding: 0;
        max-width: 1000px;
    }
    #content,
    #sidebox {
        float: none;
        margin: 0 auto;
    }
    #content {
        width: 95%;
        /* IE8以下とAndroid4.3以下用フォールバック */
        width: calc(100% - 40px);
        margin-bottom: 1em;
    }
    #sidebox {
        margin-right: 20px;
    }
    #footer_inner {
        padding: 0;
    }
    #utilitymenu ul {
        list-style-type: none;
    }
    #utilitymenu ul li {
        display: inline-block;
        margin: 0;
        padding: 0;
    }
    #utilitymenu ul li:first-child {
        margin: 0;
        padding: 0;
    }
    #utilitymenu ul li a {
        padding: 10px 5px;
        text-decoration: none;
    }
    .single .entry-social {
        height: auto;
    }
}


/*フッター　アクセスマップ*/

#accessmap {
    position: relative;
    overflow: hidden;
    height: 0;
    padding-bottom: 30%;
}

#accessmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/*　----------　タブレット用　----------　*/

@media(max-width:768px) {
    .pc,
    div.pagetop {
        display: none!important;
    }
    img {
        display: block;
        width: 100%;
        height: auto;
        margin: 0 auto;
    }
    /*ヘッダー*/
    h1#site-title {
        margin: 0;
        padding: 0;
    }
    #site-title img {
        width: auto;
        max-width: 50%;
        margin: 0 1em 0 0;
    }
    /*スマホ用ナビ*/
    #spnavi .menu-header {
        position: absolute;
        z-index: 1000;
        top: 60px;
        left: 0;
        display: none;
        box-sizing: border-box;
        width: 100vw;
        padding: 0;
    }
    #spnavi {
        width: 100%;
        padding: 5px;
    }
    #sp_navi_right {
        display: flex;
        flex-direction: row-reverse;
    }
    #spnavi #sp_access {
        margin: 0;
    }
    #spnavi #sp_access ul {
        box-sizing: border-box;
        width: 100%;
        margin: 0;
        list-style: none;
        background: #fff;
    }
    #spnavi #sp_access ul li {
        border-top: 1px solid #ccc;
    }
    #spnavi #sp_access ul li:last-child {
        border-bottom: 1px solid #ccc;
    }
    #spnavi #sp_access ul li a {
        font-size: 1em;
        font-weight: bold;
        line-height: 1.5em;
        display: block;
        padding: 1em;
        text-decoration: none;
        color: #000;
    }
    #sp_access ul li a::after {
        font-family: Font Awesome\ 5 Free, FontAwesome;
        font-weight: bold;
        float: right;
        margin-right: 10px;
        content: '\f105';
        color: #ccc;
    }
        #sp_access ul li a[target="_blank"]::after {
                content: "\f08e";
}
    #spnavi #sp_access ul.sub-menu li a {
        padding: 10px 10px 10px 20px;
    }
    #spnavi #sp_access ul.sub-menu li:last-child {
        border-bottom: none;
    }
    /*スマホ　トグルメニュー、お問い合わせボタン*/
    #sp_contact,
    .button-toggle {
        display: block;
        margin: 0 0 0 10px;
    }
    #sp_contact a,
    .button-toggle a {
        font-size: 20px;
        display: block;
        width: 60px;
        height: 50px;
        padding: 5px 0 0 0;
        text-align: center;
        text-decoration: none;
        color: #aaa;
    }
    #sp_contact span,
    .button-toggle span {
        font-size: 13px;
        font-weight: bold;
        display: block;
        color: #000;
    }
    /*スライド*/
    #mainimage {
        width: 100%;
        max-width: 100%;
        height: auto;
    }
    /*メイン*/
    #main,
    #pankuzu {
        padding: 0 1em;
    }
    #main {
        display: block;
        padding: 0;
        /* padding: 2em 10px 1em 10px; */
    }
    /*サイドメニュー*/
    #sidebox {
        float: none;
        width: 100%;
        margin: 0 auto;
        padding: 1em;
    }
    #sidebox #sidemenu {
        margin-bottom: 0;
    }
    /*フッター*/
    #footer {
        color: #fff;
    }
    #footer a {
        color: #fff;
    }
    #utilitymenu ul li {
        margin: 0;
        padding: 0;
    }
    #utilitymenu ul li:first-child {
        margin: 0;
        padding: 0;
    }
    #utilitymenu ul li a {
        font-weight: bold;
        display: block;
        padding: 10px;
        text-decoration: none;
        color: #000;
        border-top: 1px solid #ccc;
        background-color: #fff;
    }
    #utilitymenu ul li:last-child a {
        border-bottom: 1px solid #ccc;
    }
    #utilitymenu ul li a::before {
        margin-right: .5em;
        color: #666;
    }
    #utilitymenu ul li a::after {
        font-family: Font Awesome\ 5 Free, FontAwesome;
        font-weight: bold;
        font-size: 1.2em;
        float: right;
        margin-right: .5em;
        content: '\f105';
        color: #666;
    }
    #site-info {
        height: auto;
        padding: 1em 0 0 0;
        text-align: center;
    }
    #site-info p {
        padding: .5em 1em 1em 1em;
    }
    #utilitymenu {
        position: initial;
    }
    #utilitymenu ul {
        overflow: hidden;
        margin: 0;
        padding: 0;
        list-style: none;
    }
    #utilitymenu ul li:before {
        content: none;
    }
    /*アーカイブ*/
    #news ul li {
        padding: 0 10px;
    }
    .entry-list {
        padding-bottom: 0;
    }
}


/*　----------　スマホ用　----------　*/

@media(max-width:640px) {

.wp-caption {
    max-width: 100% !important;
}
    /*お知らせ一覧*/
    span.title {
        line-height: 1em;
        display: block;
        margin: 0 0 0.5em 0;
    }
    /*見出し*/
    #content h1,
    #content h2,
    #content h3,
    #content h4,
    #content h5,
    #content h6 {
        font-size: 1.2em;
    }
    .pagetitle h1.entry-title {
        font-size: 1.25em;
        margin: 0;
        padding: 1.5em 0;
    }
    #content .wp-pagenavi {
        margin: 1em 0;
        padding: 1em 0;
    }
 /*画像*/
img.alignleft, img.alignright, img.aligncenter{
width: 100%;
    padding: 0 10px;
}


    /*テーブルを2段にする*/
    #content table,
    #content table tbody,
    #content table tr,
    #content table tr th,
    #content table tr td {
        display: block;
        overflow: auto;
        box-sizing: border-box;
        width: 100%;
    }

/*テーブルをPCと同じ表示にする場合、「table_scrollbox」クラスをつけたdivで囲む*/

#content .table_scrollbox {
overflow: scroll;
}
#content .table_scrollbox table,
#content .table_scrollbox table tbody,
#content .table_scrollbox table tr,
 #content .table_scrollbox table tr th,
  #content .table_scrollbox table tr td{
        width:auto;
}
#content .table_scrollbox table {
        display: table;
}
#content .table_scrollbox table tbody{
    display: table-row-group;
}
#content .table_scrollbox table tr {
    display:table-row;
}
#content .table_scrollbox table th {
    display:table-cell;
}
#content .table_scrollbox table td {
        display:table-cell;
}

    /*お問い合わせフォーム*/
    #main table {
        padding-bottom: 0;
    }
    #main .entry-content .wpcf7 table,
    #main .entry-content .wpcf7 table tbody,
    #main .entry-content .wpcf7 table tbody tr,
    #main .entry-content .wpcf7 table tbody th {
        display: block;
        width: 100%;
    }
    #main .entry-content .wpcf7 table tr th {
        display: block;
        text-align: left;
        vertical-align: middle;
        border: 0;
    }
    #main .entry-content .wpcf7 table tr td {
        display: block;
        padding: 10px;
        border: 0;
    }
    #content .wpcf7 table input,
    #main .entry-content .wpcf7 table textarea {
        width: 100%;
    }
#main .entry-content .wpcf7 table label{
    white-space: normal;}
    img.ajax-loader {
        display: inline;
        width: auto;
    }
    #content table tr:nth-child(even) {
        background: inherit;
    }
     /*アーカイブ*/
    #news ul li {
        flex-wrap: wrap;
    }
    #accessmap {
        padding-bottom: 40%;
    }
}
