@charset "utf-8";

/*
Theme Name:ANGEL
Theme URI:
Description:WordPressテーマ「ANGEL」
Author:Design Plus
Author URI:http://design-plus1.com/tcd-w/
Version:1.4
Text Domain:tcd-w
*/


/* ------------------------------------------------------------------------------------
 web fonts　ウェブフォントファイルを変更した場合はv=1.0の数字を変更（キャッシュ対策）
------------------------------------------------------------------------------------ */

@font-face {
    font-family: 'design_plus';
    src: url('fonts/design_plus.eot');
    src: url('fonts/design_plus.eot#iefix') format('embedded-opentype'), url('fonts/design_plus.woff') format('woff'), url('fonts/design_plus.ttf') format('truetype'), url('fonts/design_plus.svg#design_plus') format('svg');
    font-weight: normal;
    font-style: normal;
}


/* ----------------------------------------------------------------------
 reset css
---------------------------------------------------------------------- */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
}

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

audio,
canvas,
video {
    display: inline-block;
    max-width: 100%;
}

html {
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

ul,
ol {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

a:focus {
    outline: none;
}

ins {
    text-decoration: none;
}

mark {
    font-style: italic;
    font-weight: bold;
}

del {
    text-decoration: line-through;
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

button,
input,
select,
textarea {
    outline: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 100%;
}

input,
textarea {
    background-image: -webkit-linear-gradient(hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, 0));
    -webkit-appearance: none;
    border-radius: 0;
    /* Removing the inner shadow, rounded corners on iOS inputs */
}

input[type="checkbox"] {
    -webkit-appearance: checkbox;
}

input[type="radio"] {
    -webkit-appearance: radio;
}

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

img {
    -ms-interpolation-mode: bicubic;
}


/* clearfix */

.clearfix:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    font-size: 0.1em;
    line-height: 0;
    visibility: hidden;
    overflow: hidden;
}

.clearfix {
    display: inline-block;
}


/* exlude MacIE5 \*/

* html .clearfix {
    height: 1%
}

.clearfix {
    display: block;
}


/* end MacIE5 */


/* ----------------------------------------------------------------------
 基本設定
---------------------------------------------------------------------- */

body {
    font-family: Arial, sans-serif;
    color: #333;
    line-height: 1;
    width: 100%;
}

.pc .admin-bar {
    padding-top: 33px;
}

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

a,
a:before,
a:after,
input {
    -webkit-transition-property: background-color, color;
    -webkit-transition-duration: 0.2s;
    -webkit-transition-timing-function: ease;
    -moz-transition-property: background-color, color;
    -moz-transition-duration: 0.2s;
    -moz-transition-timing-function: ease;
    -o-transition-property: background-color, color;
    -o-transition-duration: 0.2s;
    -o-transition-timing-function: ease;
    transition-property: background-color, color;
    transition-duration: 0.2s;
    transition-timing-function: ease;
}

a:hover {
    text-decoration: underline;
}

.clear {
    clear: both;
}

.hide {
    display: none;
}


/* レイアウト */

#main_contents {
    background: #fff;
    width: 100%;
    position: relative;
    z-index: 10;
    margin-bottom: 150px;
}

#main_col {
    width: 1200px;
    min-width: 1200px;
    margin: 0 auto;
    overflow: hidden;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#left_col {
    width: 790px;
    float: left;
}

#side_col {
    width: 380px;
    float: right;
}

.layout2 #left_col {
    float: right;
}

.layout2 #side_col {
    float: left;
}

.pc .no_side_content #left_col {
    width: auto;
    float: none;
}


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


/* スライダー */

#header_slider_wrap {
    width: 1200px;
    height: 500px;
    overflow: hidden;
    min-width: 1200px;
    margin: 0 auto 50px;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#header_slider {
    width: 820px;
    height: 500px;
    float: left;
    position: relative;
    background: #000;
}

#header_slider_wrap.no_banner_content #header_slider {
    width: 100%;
    float: none;
}

#header_slider .item {
    width: 820px;
    height: 500px;
    position: relative;
}

#header_slider_wrap .slick-vertical .slick-slide {
    border: none !important;
}

#header_slider .item img {
    width: 100%;
    height: auto;
    display: block;
}

#header_slider .caption {
    width: 375px;
    position: absolute;
    z-index: 5;
}

#header_slider .caption .title {
    font-size: 16px;
    line-height: 1.6;
    padding: 25px;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
    background: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#header_slider .caption .title a {
    display: block;
    text-decoration: none;
}

#header_slider .caption .button {
    display: block;
    font-size: 14px;
    text-decoration: none;
    padding: 0 25px;
    height: 45px;
    line-height: 45px;
    text-decoration: none;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#header_slider .caption .button:after {
    font-family: 'design_plus';
    content: '\e910';
    color: #fff;
    font-size: 15px;
    display: block;
    position: absolute;
    top: 1px;
    right: 20px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#header_slider .caption .button:hover:after {}

#header_slider .meta {
    font-size: 12px;
    color: #aaa;
    padding: 0 25px;
    height: 40px;
    margin-top: -10px;
    background: #fff;
}

#header_slider .date {
    float: left;
}

#header_slider .category {
    float: left;
}

#header_slider .category a {
    color: #aaa;
    background: none !important;
}

#header_slider .meta p:last-child {
    border-left: 1px solid #ddd;
    margin: 0 0 0 10px;
    padding: 0 0 0 10px;
}


/* 丸いナビゲーション */


/*.pc #header_slider .slick-dots {
  width:13px; position:absolute; z-index:2;
  top:50%; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); right:20px;
}*/

#header_slider .slick-dots {
    display: block;
    position: absolute;
    z-index: 2;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}

#header_slider .slick-dots li,
#header_slider .slick-dots li:last-child {
    display: inline-block;
    margin: 0 4px;
    position: relative;
}

#header_slider .slick-dots button {
    cursor: pointer;
    border: none;
    color: transparent;
    width: 13px;
    height: 13px;
    display: block;
    font-size: 0;
    background: none;
}

#header_slider_wrap.no_banner_content #header_slider .slick-dots button {
    display: inline-block;
}

#header_slider .slick-dots button::before {
    content: '';
    display: block;
    width: 13px;
    height: 13px;
    line-height: 13px;
    background: #ddd;
    border-radius: 20px;
    position: absolute;
    top: 0;
    left: 0;
}

#header_slider .slick-dots button:hover::before,
#header_slider .slick-dots .slick-active button::before {
    background: #000;
}

#header_slider_wrap.no_banner_content #header_slider .slick-dots {
    top: auto;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: auto;
    width: auto;
    text-align: center;
}

#header_slider_wrap.no_banner_content #header_slider .slick-dots li {
    display: inline-block;
    margin: 0 5px;
}


/* 右側のバナー */

#header_banner_content {
    width: 380px;
    height: 500px;
    position: relative;
    float: right;
}

#header_banner_content .item {
    width: 380px;
    height: 250px;
    position: relative;
}

#header_banner_content .item .overlay {
    width: 100%;
    height: 100%;
    display: block;
}

#header_banner_content .button {
    width: 100%;
    display: block;
    padding: 12px 20px;
    font-size: 14px;
    line-height: 2;
    text-decoration: none;
    position: absolute;
    z-index: 2;
    bottom: 0;
    right: 0px;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}


/* スライダーのキャッチコピーのアニメーション */

.pc #header_slider .caption {
    opacity: 0;
}

.pc #header_slider .slick-active .caption {
    -webkit-animation: opacityAnimation 1.0s ease forwards 1.0s;
    animation: opacityAnimation 1.0s ease forwards 1.0s;
}

.pc #header_slider .first_active .caption {
    -webkit-animation: opacityAnimation 1.0s ease forwards 2.0s !important;
    animation: opacityAnimation 1.0s ease forwards 2.0s !important;
}

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

@keyframes opacityAnimation {
    0% {}
    100% {
        opacity: 1;
    }
}


/* ----------------------------------------------------------------------
 記事一覧
---------------------------------------------------------------------- */

#index_featured_post {
    margin: 0 0 50px 0;
    padding: 0;
    border-bottom: 1px solid #ddd;
}

#index_recent_post,
#archive_post {
    overflow: hidden;
    position: relative;
    margin-right: -30px;
}

.post_list_headline {
    font-size: 20px;
    margin: 0 0 30px 0;
    font-weight: 400;
}

.post_list {
    font-size: 0;
}

.post_list article {
    display: inline-block;
    vertical-align: top;
    width: 380px;
    position: relative;
    margin: 0 30px 50px 0;
}

#index_featured_post .post_list article:nth-child(3n) {
    margin-right: 0;
}


/* 小さいサイズ */

.post_list .item {
    font-size: 12px;
}

.post_list .item .image {
    width: 380px;
    height: 200px;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.post_list .item .image img {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    max-width: none;
}

.post_list .item .title {
    font-size: 18px;
    line-height: 1.6;
    font-weight: 700;
    min-height: 85px;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

.post_list .item .title a {
    display: block;
    padding: 20px 0 5px;
    color: #000;
}

.post_list .item .title a:hover {
    text-decoration: none;
}

.post_list .excerpt {
    font-size: 14px;
    line-height: 2.3;
}

.post_list .meta {
    margin: 10px 0 0 0;
}

.post_list .meta li {
    font-size: 12px;
    line-height: 1;
    color: #aaa;
    float: left;
}

.post_list .meta li a {
    color: #aaa;
}

.post_list .meta li:first-child {
    border-right: 1px solid #ccc;
    margin: 0 10px 0 0;
    padding: 0 10px 0 0;
}

.post_list .meta li:only-child {
    border: none;
    margin: 0;
    padding: 0;
}

.post_list .meta li.child_category:after {
    content: ',';
    padding: 0 5px 0 0px;
}

.post_list .meta li:last-child:after {
    display: none;
}

.post_list .category {
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 3;
}

.post_list .category a {
    font-size: 12px;
    color: #fff;
    display: block;
    height: 40px;
    line-height: 40px;
    padding: 0 22px;
    text-decoration: none;
}

.post_list .category a:hover {
    background: #333 !important;
    color: #fff;
}


/* 大きいサイズ */

.post_list .large_item {
    float: none;
    clear: both;
    width: 790px;
    overflow: hidden;
}

.post_list .large_item .image_area {
    position: relative;
    margin: 0 0 20px 0;
}

.post_list .large_item .image {
    width: 100%;
    height: 417px;
    display: block;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.post_list .large_item .title {
    font-size: 18px;
    line-height: 1.6;
    position: absolute;
    bottom: 0px;
    z-index: 999;
    width: 100%;
    font-weight: 500;
}

.post_list .large_item .title a {
    display: block;
    color: #fff;
    padding: 18.5px 20px;
    width: 100%;
    background: rgba(0, 0, 0, 0.8);
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.post_list .large_item .title a:hover {
    text-decoration: none;
}

.post_list .item .title a:hover {
    text-decoration: none;
}

.post_list .large_item .excerpt {
    font-size: 14px;
    line-height: 2.5;
}


/* 広告 */

.post_list .post_list_banner {
    display: block;
    width: auto;
    text-align: center;
    border: 1px solid #ddd;
    padding: 25px;
    margin-bottom: 60px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.post_list .post_list_banner img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.post_list .post_list_banner.no_border {
    border: none;
    padding: 0;
}


/* ajaxロード */

#load_post {
    text-align: center;
    padding: 0;
    height: 50px;
    position: relative;
}

#load_post a {
    font-size: 14px;
    color: #fff;
    display: inline-block;
    background: #bbb;
    text-decoration: none;
    height: 50px;
    line-height: 50px;
    padding: 0 45px;
}

#load_post a:hover {
    color: #fff;
    background: #e48898;
}

#infscr-loading {
    text-align: center;
    z-index: 100;
    position: absolute;
    bottom: 0;
    width: 100%;
    font-size: 14px;
}

#infscr-loading img {
    display: block;
    margin: 0 auto 12px;
}


/* ----------------------------------------------------------------------
 アーカイブページ
---------------------------------------------------------------------- */

#page_header {
    margin: 0 0 40px 0;
    border-top: 1px solid #ddd;
    padding: 40px 0 0 0;
    position: relative;
}

#page_header .headline {
    font-size: 20px;
    margin: 0;
}

#page_header .desc {
    font-size: 14px;
    line-height: 2.2;
    margin: 10px 0 0 0;
}

.page_header_cat_parent {
    color: #999;
    font-size: 14px;
    position: absolute;
    top: 46px;
    right: 0;
}


/* ページング */

.page_navi {
    margin: 0;
}

.page_navi ul {
    margin: 0;
    text-align: center;
    font-size: 0;
}

.page_navi li {
    display: inline;
    margin: 0 -1px -1px 0;
}

.page_navi a,
.page_navi a:hover,
.page_navi span {
    font-size: 12px;
    padding: 14px 16px;
    line-height: 1;
    margin: 0;
    background: #fff;
    display: inline-block;
    border: 1px solid #ccc;
}

.page_navi a:hover {
    color: #fff;
    background: #222;
    text-decoration: none;
}

.page_navi span.dots {
    background: none;
}

.page_navi span.current {
    color: #fff;
    background: #333;
    border-color: #333;
}

.page_navi p.back {
    margin: 0;
    text-align: center;
}

.page_navi p.back a {
    background: #bbb;
    color: #fff;
    text-decoration: none;
    display: inline-block;
    width: 200px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 12px;
    position: relative;
    padding: 0;
}

.page_navi p.back a:hover {
    color: #fff;
}

.page_navi p.back a:hover:before {
    color: #fff;
}


/* ----------------------------------------------------------------------
 記事
---------------------------------------------------------------------- */

#article {
    position: relative;
    border: 1px solid #ddd;
    margin-bottom: 50px;
}

.post_content a:hover {
    text-decoration: underline;
}


/* アイキャッチ画像・カテゴリー */

#post_header {
    position: relative;
}

#post_header.no_thumbnail {
    min-height: 40px;
}

#post_header .category {
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 3;
}

#post_header .category a {
    font-size: 12px;
    background: #333;
    color: #fff;
    display: block;
    height: 40px;
    line-height: 40px;
    padding: 0 22px;
    text-decoration: none;
}

#post_header .category a:hover {
    background: #333 !important;
    color: #fff;
}

#post_image {
    padding: 0;
    margin: 0;
    position: relative;
}

#post_image img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0;
    z-index: 1;
}


/* 記事タイトル */

#post_title_area {
    padding: 40px 45px 20px;
}

#post_title {
    margin: 0;
    font-size: 32px;
    line-height: 1.6;
    font-weight: 500;
    color: #000;
}

.pc .no_side_content #post_title {
    text-align: center;
}

#post_title_area .meta {
    margin: 10px 0 0 0;
}

#post_title_area .meta li {
    font-size: 12px;
    line-height: 1;
    color: #aaa;
    float: left;
}

#post_title_area .meta li a {
    color: #aaa;
}

#post_title_area .meta li:first-child {
    border-right: 1px solid #ccc;
    margin: 0 10px 0 0;
    padding: 0 10px 0 0;
}

#post_title_area .meta li:only-child {
    border: none;
    margin: 0;
    padding: 0;
}

#post_title_area .meta li.child_category:after {
    content: ',';
    padding: 0 5px 0 0px;
}

#post_title_area .meta li:last-child:after {
    display: none;
}


/*  記事本文*/

#article .post_content {
    padding: 44px 45px 0;
}

.single #article .post_content {
    padding: 15px 45px 0;
}


/* SNSボタン */

#single_share_top {
    margin: 0 45px -20px;
}

#single_share_top #share_top1 {
    padding-top: 0;
}

#single_share_bottom {
    margin: 20px 45px;
}

#single_share_bottom .share-btm {
    margin-bottom: 0;
    padding: 0;
}

#single_share_bottom .mb45 {
    margin-bottom: 35px !important;
}


/* ページ分割 */

#post_pagination {
    margin: 0 0 30px 0;
    clear: both;
    font-size: 0;
    text-align: center;
}

#post_pagination h5 {
    margin: 0 0 10px 0;
    font-size: 12px;
}

#post_pagination a,
#post_pagination p {
    font-size: 12px;
    display: inline-block;
    background: #fff;
    margin: 0 -1px 0 0;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    text-decoration: none;
    color: #333;
    border: 1px solid #ccc;
}

#post_pagination p {
    background: #000;
    color: #fff;
    border-color: #000;
}

#post_pagination a:hover {
    color: #fff;
}


/* メタ情報 */

#post_meta_bottom {
    margin: 0 45px 40px;
    background: #fafafa;
    padding: 25px;
}

#post_meta_bottom li {
    display: inline;
    margin: 0 10px 0 0;
    padding: 0 15px 0 20px;
    border-right: 1px solid #ddd;
    font-size: 12px;
    line-height: 1.8;
    position: relative;
}

#post_meta_bottom li:last-child {
    border: none;
    margin: 0;
}

#post_meta_bottom li:before {
    font-family: 'design_plus';
    color: #aaa;
    font-size: 13px;
    display: block;
    position: absolute;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#post_meta_bottom li.post_category:before {
    content: '\e92f';
    top: -2px;
    left: 0px;
}

#post_meta_bottom li.post_tag:before {
    content: '\e935';
    top: -1px;
    left: 0px;
}

#post_meta_bottom li.post_author:before {
    content: '\e90d';
    top: -2px;
    left: 0px;
}

#post_meta_bottom li.post_comment:before {
    content: '\e916';
    font-size: 16px;
    top: -2px;
    left: 0px;
}


/* 次の記事、前の記事 */

#previous_next_post {
    margin: 0;
    border-top: 1px solid #ddd;
}

#previous_next_post .prev_post,
#previous_next_post .next_post {
    float: left;
    width: 50%;
}

#previous_next_post a {
    width: 100%;
    display: block;
    border-right: 1px solid #ddd;
    padding: 0 25px 0 60px;
    color: #333;
    font-size: 14px;
    line-height: 1.8;
    height: 97px;
    color: #333;
    text-decoration: none;
    position: relative;
    display: table;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#previous_next_post .next_post a {
    border-right: none;
}

#previous_next_post a span {
    display: table-cell;
    vertical-align: middle;
    ;
    height: 50px;
    overflow: hidden;
}

#previous_next_post span.nav {
    display: none;
}

#previous_next_post .next_post a {
    padding: 0 60px 0 25px;
}

#previous_next_post a:hover {
    background: #f7f7f7;
    color: #333;
}

#previous_next_post .prev_post a:before {
    content: '';
    width: 15px;
    height: 20px;
    font-family: 'design_plus';
    color: #aaa;
    font-size: 16px;
    display: block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\e90f';
    position: absolute;
    top: -6px;
    bottom: 0px;
    left: 20px;
    margin: auto;
}

#previous_next_post .next_post a:before {
    content: '';
    width: 15px;
    height: 20px;
    font-family: 'design_plus';
    color: #aaa;
    font-size: 16px;
    display: block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    content: '\e910';
    position: absolute;
    top: -6px;
    bottom: 0px;
    right: 20px;
    margin: auto;
}


/* 広告 */

#single_banner_area_top {
    margin: 18px 0 12px;
    text-align: center;
}

#single_banner_area_bottom {
    margin: 0 0 50px 0;
    text-align: center;
    border: 1px solid #ddd;
    padding: 25px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#single_banner_area_bottom.no_border {
    border: none;
    padding: 0;
}

#single_banner_shortcode {
    margin: 0 0 30px 0;
    padding: 10px 0 0 0;
    text-align: center;
}

.single_banner_area .single_banner_left {
    display: inline-block;
    margin: 0 10px 0 0;
}

.single_banner_area .single_banner_right {
    display: inline-block;
    margin: 0 0 0 10px;
}

.single_banner_area img {
    max-width: 100%;
    height: auto;
    display: block;
}

.single_banner_area.one_banner .single_banner_left {
    float: none;
    margin: 0 auto;
}

.single_banner_area.one_banner img {
    margin: 0 auto;
}

#single_banner_area_bottom img {
    max-width: 100%;
    height: auto;
    display: inline-block;
}


/* 関連記事 */

#related_post {
    margin: 0;
}

#related_post .headline {
    font-size: 20px;
    margin: 0 0 30px 0;
    font-weight: 400;
}

#related_post ol {
    margin: 0 0 -30px 0;
    position: relative;
    font-size: 0;
}

#related_post li {
    width: 180px;
    display: inline-block;
    vertical-align: top;
    margin: 0 23px 30px 0;
}

#related_post li:nth-child(4n) {
    margin-right: 0;
}

#related_post li .image_area {
    position: relative;
    width: 100%;
    margin: 0 0 15px 0;
}

#related_post li .image_area:before {
    content: "";
    display: block;
    padding-top: 100%;
}

#related_post li .image_area:before {
    padding-top: 100%;
}

#related_post li .image {
    display: block;
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
}

#related_post li a.image img {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    max-width: none;
}

#related_post li .title {
    font-size: 14px;
    line-height: 1.7;
    font-weight: 400;
}

#related_post li .title a {
    display: block;
}

#related_post li .title a:hover {
    text-decoration: none;
}


/* ----------------------------------------------------------------------
 固定ページ
---------------------------------------------------------------------- */

.page #post_title_area {
    padding: 40px 45px 0;
    margin-bottom: -10px;
}

.page #article {
    margin-bottom: 0;
}


/* プロフィールページ */

#profile_page_top {
    padding: 50px 0 0 0;
}

#profile_page_top .user_avatar {
    overflow: hidden;
    width: 200px;
    height: 200px;
    display: block;
    margin: 0px auto 30px;
    border-radius: 130px;
}

#profile_page_top .user_avatar img {
    width: 100%;
    height: auto;
    display: block;
}

#profile_page_top .user_name {
    font-size: 21px;
    margin: 0 0 25px 0;
    text-align: center;
    font-weight: 400;
}

#profile_page_top .user_sns {
    text-align: center;
    margin-bottom: 33px;
    padding: 0;
    font-size: 0;
}

#profile_page_top li {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 0;
    line-height: 100%;
    font-size: 11px;
    background: none;
    width: 30px;
}

#profile_page_top li a {
    position: relative;
    text-decoration: none;
}

#profile_page_top li a span {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
}

#profile_page_top li a:before {
    font-family: 'design_plus';
    color: #333;
    font-size: 12px;
    display: block;
    position: absolute;
    top: 10px;
    left: -5px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#profile_page_top li.twitter_button a:before {
    content: "\e904";
}

#profile_page_top li.facebook_button a:before {
    content: "\e902";
}

#profile_page_top li.insta_button a:before {
    content: "\ea92";
    top: 10px;
}

#profile_page_top li.pint_button a:before {
    content: "\e905";
}

#profile_page_top li.mail_button a:before {
    content: "\f0e0";
}

#profile_page_top li.twitter_button a:hover:before {
    color: #16b9dc;
}

#profile_page_top li.facebook_button a:hover:before {
    color: #3B5998;
}

#profile_page_top li.insta_button a:hover:before {
    color: #8a3ab9;
}

#profile_page_top li.pint_button a:hover:before {
    color: #c92228;
}

#profile_page_top li.mail_button a:hover:before {
    color: #16b9dc;
}


/* 404ページ */

#header_image_for_404 {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto 20px;
    position: relative;
    overflow: hidden;
}

#header_image_for_404 img {
    width: 100%;
    height: auto;
    display: block;
}

#header_image_for_404 .caption {
    margin: 0;
    width: 100%;
    padding: 0 30px;
    line-height: 1.5;
    text-align: center;
    color: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -mox-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translateY(-50%, -50%);
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#header_image_for_404 .caption p+p {
    margin-top: 0.5em;
}


/* 広告 */

#page_banner {
    margin: 50px 0;
    text-align: center;
    font-size: 0;
}

#page_banner img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
}

#page_banner .page_banner {
    width: 50%;
    display: inline-block;
    border: 1px solid #ddd;
    padding: 40px;
    text-align: center;
    font-size: 14px;
    width: -webkit-calc(50% - 15px);
    width: -moz-calc(50% - 15px);
    width: calc(50% - 15px);
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#page_banner .banner_left {
    margin: 0 15px 0 0;
}

#page_banner .banner_right {
    margin: 0 0 0 15px;
}

#page_banner.one_banner .banner_left,
#page_banner.one_banner .banner_right {
    margin: 0;
}


/* 記事一覧 */

.page_post_list {
    overflow: hidden;
}

.page_post_list .headline {
    margin: 0 0 30px 0;
    font-weight: 400;
}

.page_post_list ol {
    position: relative;
    list-style-type: none;
    margin: 0 -20px -20px 0;
    padding: 0;
    font-size: 0;
}

.page_post_list li {
    background: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    width: 25%;
    margin: 0 20px 20px 0;
    padding: 0;
    width: -webkit-calc(25% - 20px);
    width: -moz-calc(25% - 20px);
    width: calc(25% - 20px);
}

.page_post_list li:nth-child(4n) {
    margin-right: 0px;
}

.page_post_list .image_area {
    position: relative;
    width: 100%;
    margin: 0 0 15px 0;
}

.page_post_list .image_area:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.page_post_list .image_area:before {
    padding-top: 100%;
}

.page_post_list .image {
    display: block;
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
}

.page_post_list .image img {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    max-width: none !important;
}

.page_post_list .title {
    font-size: 14px;
    margin: 0;
    padding: 0;
    display: block;
    font-weight: 400;
    line-height: 1.6;
}

.page_post_list .title:hover {
    text-decoration: none;
}

.page_post_list .category {
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 3;
}

.page_post_list .category a {
    font-size: 12px;
    background: #333;
    color: #fff;
    display: block;
    height: 40px;
    line-height: 40px;
    padding: 0 22px;
    text-decoration: none;

}

.page_post_list .category a:hover {
    background: #333 !important;
    color: #fff;
}

.page_post_list .meta {
    margin: 10px 0 0 0;
    padding: 0;
}

.page_post_list .meta li {
    display: inline;
    margin: 0;
    padding: 0;
    width: auto;
    line-height: 1.5;
    color: #aaa;
    font-size: 12px;
}

.page_post_list .meta li:last-child {
    margin: 0 0 0 10px;
    padding: 0 0 0 10px;
    border-left: 1px solid #ccc;
}

.page_post_list .meta li:only-child {
    margin: 0;
    padding: 0;
    border: none;
}

.page_post_list .meta a {
    color: #aaa;
}


/* ----------------------------------------------------------------------
 LP
---------------------------------------------------------------------- */

body.page-template-lp #bread_crumb {
    width: initial;
    max-width: 1000px;
}

body.page-template-lp #main_col {
    width: initial;
    min-width: initial;
    max-width: 1000px;
}

body.page-template-lp #article {
    border: none;
}

body.page-template-lp #article .post_content {
    padding: 0;
}

.lpb_font_family_type1 {
    font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-weight: normal;
}

.lpb_font_family_type2 {
    font-family: "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
    font-weight: 400;
}

.lpb_font_family_type3 {
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 500;
}

.lpb_content {
    margin: 0 0 80px;
    line-height: 2.5;
}

.lpb_content:last-child {
    margin-bottom: 0 !important;
}

.lpb_content .lpb_content_headline {
    margin: 0;
    padding: 0;
    line-height: 55px;
    color: #fff;
    font-size: 20px;
    text-align: center;
    background: #000;
}

.lpb_content .post_row {
    line-height: 2.5 !important;
}

.lpb_content table.lbp_table {
    margin-bottom: 0 !important;
    width: 100%;
}

.lpb_content table.lbp_table th,
.lpb_content table.lbp_table td {
    padding: 9px 20px;
    line-height: 2.5;
    background: #fbfbfb;
    border: 1px solid #ddd;
}

.lpb_content table.lbp_table th {
    padding: 9px 16px;
    text-align: center;
    font-weight: normal;
    white-space: nowrap;
}

.lpb_content-catch_and_desc {
    margin-bottom: 68px;
}

.lpb_content-catch_and_desc h2 {
    margin: 0;
    padding: 0;
}

.lpb_content-catch_and_desc p {
    margin: 0 !important;
}

.lpb_content-image {
    overflow: hidden;
    position: relative;
}

.lpb_content-image img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

.lpb_content-image .lpb_image_caption {
    width: 100%;
    text-align: center;
    position: absolute;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
}

.lpb_content-image .lpb_image_caption .lpb_image_caption_catchcopy {
    margin: 0;
    padding: 0;
}

.lpb_content-image .lpb_image_caption .lpb_image_caption_subcopy {
    margin: 0;
    padding: 0;
}

.lpb_content-image .lpb_image_caption .lpb_image_caption_catchcopy+.lpb_image_caption_subcopy {
    margin-top: 1em;
}

.lpb_content-link_button {
    text-align: center;
}

.lpb_content-link_button .lpb_link_button {
    display: inline-block;
    margin: 0;
    padding: 20px;
    min-width: 300px;
    max-width: 80%;
    color: #fff;
    font-size: 18px;
    line-height: 1.6;
    text-decoration: none !important;
}

.lpb_content-wysiwyg {
    margin-bottom: 68px;
}

.lpb_content-border_box {
    padding: 32px 48px;
    background: #fbfbfb;
    border: 1px solid #ddd;
}

.lpb_content-border_box .lpb_content_headline {
    margin: -33px -49px 32px;
}

.lpb_content-border_box p {
    margin: 0 !important;
}

.lpb_content-voice {
    background: #fbfbfb;
    border: 1px solid #ddd;
}

.lpb_content-voice .lpb_content_headline {
    margin: 0 0 48px;
}

.lpb_content-voice ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    font-size: 0;
}

.lpb_content-voice ul li {
    display: inline-block;
    vertical-align: top;
    width: 27.3333%;
    margin: 0 0 48px 4.5%;
    padding: 0;
    font-size: 14px;
    line-height: 2.5;
}

.lpb_content-voice .voice_user {
    margin: 0 0 0.5em;
}

.lpb_content-voice .voice_user_image {
    display: block;
    margin: 0 auto;
    width: 120px;
    height: 120px;
    overflow: hidden;
    border-radius: 50%;
}

.lpb_content-voice .voice_user_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.lpb_content-voice .voice_user_image.noimage {
    background: #eee;
    position: relative;
}

.lpb_content-voice .voice_user_image.noimage:before {
    content: '\e971';
    font-family: 'design_plus';
    font-size: 120px;
    line-height: 1;
    color: #fff;
    position: absolute;
    left: 50%;
    bottom: -5px;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
}

.lpb_content-voice .voice_user_name {
    margin: 0.75em 0 0;
    text-align: center;
    font-weight: 600;
}

.lpb_content-voice .voice_comment {
    margin: 0 !important;
}

.lpb_content-access iframe {
    display: block;
    width: 100%;
}


/* ----------------------------------------------------------------------
 ヘッダー
---------------------------------------------------------------------- */

#header {
    width: 100%;
    position: relative;
    z-index: 20;
    margin: 0 0 60px 0;
}

#header_inner {
    height: 265px;
    margin: 0 auto;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    /* width:1200px; max-width:1200px; */
}


/* 固定ヘッダー */

.pc .header_fix {
    padding-top: 325px;
}


/* #header_inner height + #header margin bottom */

.pc .header_fix #header {
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 200;
    border-bottom: 1px solid #ddd;
    background: #fbfbfb;
    animation: slideDown 0.5s ease;
    -ms-animation: slideDown 0.5s ease;
    -webkit-animation: slideDown 0.5s ease;
    -moz-animation: slideDown 0.5s ease;
}

.pc .header_fix #header_inner {
    height: 53px;
}

@-webkit-keyframes slideDown {
    0% {
        top: -54px;
    }
    100% {
        top: 0px;
    }
}

@keyframes slideDown {
    0% {
        top: -54px;
    }
    100% {
        top: 0px;
    }
}


/* ロゴ */

.pc #logo_text,
.pc #logo_image {
    position: absolute;
    display: inline;
    margin: auto;
    text-align: center;
    left: 0;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

#logo_image .logo {
    display: inline-block;
}

.pc #logo_image img.pc_logo_image {
    display: block;
    margin: 0 auto;
}

.pc #logo_image img.mobile_logo_image {
    display: none;
}

.pc #logo_text .tagline {
    margin: 15px 0 0 0;
    font-size: 14px;
    font-weight: normal;
}

.pc #logo_text a {
    text-decoration: none;
}

.pc .header_fix #header #logo_text,
.pc .header_fix #header #logo_image {
    display: none;
}


/* グローバルメニュー */

.pc #global_menu {
    text-align: center;
    position: absolute;
    bottom: 0px;
    left: 0;
    right: 0;
    margin: auto;
}

.pc #global_menu>ul {
    height: 55px;
    font-size: 0;
    position: relative;
}

.pc #global_menu>ul>li {
    font-size: 1%;
    position: relative;
    display: inline-block;
}

.pc #global_menu>ul>li>a {
    font-size: 14px;
    text-decoration: none;
    height: 55px;
    line-height: 54px;
    display: block;
    padding: 0 20px;
    width: 150px;
    border: 1px solid #ddd;
    border-right: 0;
    background: #fbfbfb;
    margin: 0;
    overflow: hidden;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.pc #global_menu>ul>li:last-child>a {
    border-right: 1px solid #ddd;
}

.pc #global_menu>ul>li.active>a {
    color: #fff !important;
}

.pc #global_menu a:hover {
    color: #fff !important;
}

.pc .home #global_menu>ul>li.current-menu-item {}

.pc .home #global_menu>ul>li.current-menu-item>a {
    background-color: #999;
}

.pc #global_menu ul ul {
    display: none;
    width: 250px;
    position: absolute;
    top: 55px;
    left: 0px;
    margin: 0;
    padding: 0;
}

.pc #global_menu ul ul ul {
    left: 100%;
    top: 0;
    margin: 0;
    border: none;
}

.pc #global_menu ul ul li {
    line-height: 1.5;
    padding: 0;
    margin: 0;
    text-align: left;
    position: relative;
    display: block;
}

.pc #global_menu ul ul a {
    background: #222;
    color: #fff;
    display: block;
    font-size: 14px;
    border: none;
    position: relative;
    padding: 14px 20px;
    height: auto;
    line-height: 1.6;
    margin: 0;
    text-align: left;
    box-shadow: none;
}

.pc #global_menu ul ul a:hover {
    text-decoration: none;
    border: none;
}

.pc #global_menu ul ul li.menu-item-has-children>a:before {
    margin: 0;
    display: block;
    top: 23px;
    right: 10px;
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 4px 0px 4px 4px;
    border-color: transparent transparent transparent #fff;
}

.pc #global_menu li li.current-menu-item>a {}

.pc .header_fix #header #global_menu {
    bottom: -1px;
}

.pc a.menu_button {
    display: none;
}


/* 右上のメニュー */

#header_menu {
    position: absolute;
    right: 0px;
    top: 35px;
}

#header_menu li {
    float: left;
    font-size: 14px;
    margin: 0 0 0 30px;
}

.pc .header_fix #header #header_menu {
    display: none;
}

#header_menu a:hover {
    text-decoration: none;
}


/* SNSボタン */

#header_social_link {
    position: absolute;
    left: 0px;
    top: 20px;
}

.social_link li {
    float: left;
    margin: 0;
    position: relative;
}

.social_link li a {
    display: block;
    text-indent: -200px;
    overflow: hidden;
    width: 25px;
    height: 30px;
    position: relative;
    -webkit-transition-property: none;
    -moz-transition-property: none;
    -o-transition-property: none;
}

.social_link li:before {
    font-family: 'design_plus';
    color: #333;
    font-size: 12px;
    display: block;
    position: absolute;
    top: 10px;
    left: 9px;
    width: 17px;
    height: 17px;
    line-height: 17px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.social_link li.twitter:before {
    content: '\e904';
}

.social_link li.facebook:before {
    content: '\e902';
}

.social_link li.insta:before {
    content: '\ea92';
    top: 10px;
}

.social_link li.pint:before {
    content: '\e905';
}

.social_link li.mail:before {
    content: '\f0e0';
}

.social_link li.rss:before {
    content: '\e90b';
}

.social_link li.twitter:hover:before {
    color: #16b9dc;
}

.social_link li.facebook:hover:before {
    color: #3B5998;
}

.social_link li.insta:hover:before {
    color: #8a3ab9;
}

.social_link li.pint:hover:before {
    color: #c92228;
}

.social_link li.rss:hover:before {
    color: #ffcc00;
}

.social_link li.mail:hover:before {
    color: #16b9dc;
}

.pc .header_fix #header #header_social_link {
    display: none;
}

#footer_social_link {
    display: none;
}


/* パンくずリンク */

#bread_crumb {
    width: 1200px;
    margin: 0 auto 26px;
}

#bread_crumb ul {
    margin: 0 auto;
    width: 1200px;
}

#bread_crumb li.home {
    padding: 0;
}

#bread_crumb li.home a {
    float: left;
    height: 15px;
    width: 13px;
    line-height: 15px;
    display: block;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#bread_crumb li.home a span {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
}

#bread_crumb li.home a:before {
    font-family: 'design_plus';
    color: #666;
    font-size: 14px;
    display: block;
    position: absolute;
    top: 1px;
    left: 0px;
    width: 17px;
    height: 17px;
    line-height: 17px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#bread_crumb li.home:after {
    display: none;
}

#bread_crumb li.home a:before {
    content: '\e90c';
}

#bread_crumb li.home a:hover:before {
    color: #fff;
}

#bread_crumb li {
    color: #666;
    font-size: 12px;
    display: inline;
    padding: 0 15px 0 0;
    margin: 0 0 0 15px;
    line-height: 1.6;
    position: relative;
}

#bread_crumb li:after {
    font-family: 'design_plus';
    content: '\e910';
    color: #666;
    font-size: 9px;
    display: block;
    position: absolute;
    left: -20px;
    top: 3px;
    height: 9px;
    margin: auto;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#bread_crumb li a {
    color: #666;
}


/* ----------------------------------------------------------------------
 フッター
---------------------------------------------------------------------- */


/* スライダー */

#footer_slider_wrap {
    width: 1200px;
    margin: 0 auto 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#footer_slider_wrap .headline {
    font-size: 20px;
    margin: 0 0 30px 0;
    font-weight: 400;
}

#footer_slider {
    width: 1200px;
    position: relative;
}

#footer_slider .item {
    position: relative;
    width: 200px;
    height: 199px;
    border: none;
    border-right: 1px solid #fff;
    /*background:#000;*/
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#footer_slider .image {
    display: block;
    opacity: 1;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

#footer_slider .image img {
    display: block;
    width: 100%;
    height: auto;
}

#footer_slider .title {
    background: rgba(0, 0, 0, 0.7);
    width: 100%;
    height: 100%;
    position: absolute;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    justify-content: center;
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
    opacity: 0;
    text-decoration: none;
}

#footer_slider .item:hover .title {
    opacity: 1;
}

#footer_slider .title span {
    display: block;
    padding: 15px;
    width: 100%;
    font-size: 14px;
    line-height: 1.7;
    color: #fff;
    text-decoration: none;
    box-sizing: border-box;
}


/* arrow */

#footer_slider .slick-arrow {
    width: 30px;
    height: 30px;
    overflow: hidden;
    cursor: pointer;
    background: none !important;
}

#footer_slider .slick-arrow span {
    text-indent: -200px;
    display: block;
}

#footer_slider .slick-arrow:before {
    font-family: 'design_plus';
    color: #aaa;
    font-size: 30px;
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#footer_slider .slick-prev:before {
    content: '\e90f';
}

#footer_slider .slick-next:before {
    content: '\e910';
}

#footer_slider .slick-prev {
    position: absolute;
    top: 90px;
    left: -40px;
}

#footer_slider .slick-next {
    position: absolute;
    top: 90px;
    right: -40px;
}

#footer_slider .slick-arrow:hover:before {}

@media screen and (max-width:1300px) {
    #footer_slider .slick-arrow {
        display: none !important;
    }
}


/* フッターウィジェット */

#footer {
    width: 1200px;
    min-width: 1200px;
    padding: 50px 0px 30px;
    margin: 0 auto;
    overflow: hidden;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#footer_left_widget {
    width: 300px;
    float: left;
    margin: 0 80px 0 0;
}

#footer_center_widget {
    width: 300px;
    float: left;
    margin: 0 80px 0 0;
}

#footer_right_widget {
    width: 440px;
    float: left;
}

#footer .side_widget {
    margin: 0 0 30px 0;
}

.footer_headline {
    font-size: 16px;
    margin: 0 0 30px 0;
    display: none;
}


/* フッター下部 */

#footer_bottom {
    width: 1200px;
    margin: 0 auto;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

#footer_bottom_inner {
    width: 1200px;
    height: 70px;
    border-top: 1px solid #ddd;
}

#footer_bottom a {
    text-decoration: none;
}


/* メニュー */

#footer_menu {
    float: left;
    margin: 30px 0 0 0;
}

#footer_menu ul {}

#footer_menu li {
    float: left;
    border-right: 1px solid #ddd;
    padding: 0 10px 0 0;
    margin: 0 10px 0px 0;
    font-size: 12px;
}

#footer_menu li:last-child {
    margin: 0;
    padding: 0;
    border: none;
}

#footer_menu a {
    display: block;
}

#footer_menu a:hover {}


/* コピーライト */

#copyright {
    float: right;
    font-size: 12px;
    margin: 30px 0 0 0;
}


/* ページ上部へ戻るボタン */

#return_top {
    position: fixed;
    right: 20px;
    bottom: 10px;
    z-index: 10;
    -webkit-transform: translate3d(0, 120%, 0);
    transform: translate3d(0, 120%, 0);
    -webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
}

#return_top.active {
    -webkit-transform: translate3d(0px, -20px, 0);
    transform: translate3d(0px, -20px, 0);
}

#return_top a {
    display: block;
    height: 60px;
    width: 60px;
    text-decoration: none;
    background: #ccc;
    border-radius: 60px;
    z-index: 100;
}

#return_top span {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
}

#return_top a:before {
    font-family: 'design_plus';
    color: #fff;
    font-size: 18px;
    display: block;
    position: absolute;
    width: 18px;
    height: 18px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#return_top a:before {
    content: '\e911';
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}


/* ----------------------------------------------------------------------
 サイドコンテンツ
---------------------------------------------------------------------- */


/* 基本設定 */

.side_widget {
    margin: 0 0 50px 0;
    font-size: 12px;
    position: relative;
}

.side_widget:last-child,
.side_widget:only-child {
    margin: 0;
}

.side_headline {
    font-size: 20px;
    margin: 0 0 30px 0;
    font-weight: 400;
}

.side_widget ul {
    margin: 0;
}

.side_widget li ul {
    margin: 10px 0 0 0;
}

.side_widget li {
    line-height: 2;
    padding: 2px 0;
    margin: 0 0 10px 0;
}

.side_widget a {
    text-decoration: none;
}

.side_widget a:hover {}

.side_widget img {
    height: auto;
    max-width: 100%;
}


/* 広告 */

.ml_ad_widget {
    margin: 0 0 50px 0;
    border: none;
    padding: 0;
    background: none;
}

.ml_ad_widget img {
    height: auto;
    max-width: 100%;
    margin: 0 auto;
    display: block;
}

#side_col .ml_ad_widget {
    border: 1px solid #ddd;
    padding: 40px;
}


/* カレンダー */

.widget_calendar {}

#wp-calendar {
    margin: 0 auto;
    width: 100%;
    font-size: 11px;
    border-collapse: separate;
    table-layout: fixed;
}

#wp-calendar th,
#wp-calendar td {
    color: #333;
    padding: 2px;
    line-height: 3.4;
    text-align: center;
}

#wp-calendar td a {
    display: block;
    margin: 0;
    padding: 0;
    text-decoration: none;
    color: #333;
    background-color: #eee;
}

#wp-calendar td a:hover {
    text-decoration: none;
    color: #fff;
    background: #ccc;
}

#wp-calendar caption {
    padding: 7px 0;
}

#wp-calendar thead th,
#wp-calendar tfoot td {
    border: none;
    padding: 0;
    line-height: 2;
}

#wp-calendar #prev,
#wp-calendar #next {
    line-height: 3;
}

#wp-calendar #prev a,
#wp-calendar #next a {
    text-decoration: none;
    background: none;
    color: #333;
}

#wp-calendar #prev a:hover,
#wp-calendar #next a:hover {
    color: #fff;
    background: #ccc;
}

#wp-calendar td#today {
    font-weight: bold;
}


/* デザインされた記事一覧１ */

.styled_post_list1_widget {}

.styled_post_list1 {
    margin: 0;
    padding: 0;
}

.styled_post_list1 li {
    margin: 0 0 20px 0;
    padding: 0;
    background: none;
}

.styled_post_list1 li:last-child {
    border: none;
    padding: 0;
    margin: 0;
}

.styled_post_list1 .image {
    float: left;
    display: block;
    margin: 0 20px 0 0;
    overflow: hidden;
    width: 100px;
    height: 100px;
    position: relative;
    z-index: 2;
}

.styled_post_list1 .image img {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    max-width: none;
}

.styled_post_list1 .info {}

.styled_post_list1 .title {
    font-size: 14px;
    margin: 0;
    padding: 0;
    display: block;
    font-weight: 400;
    line-height: 1.7;
    color: #000;
}

.styled_post_list1 .title:hover {
    text-decoration: none;
}

.styled_post_list1 .date {
    margin: 10px 0 0 0;
    position: relative;
    display: block;
    line-height: 1;
    color: #aaa;
}


/* デザインされた記事一覧２ */

.styled_post_list2_widget {}

.styled_post_list2 {
    margin: 0 -20px -20px 0;
    padding: 0;
    font-size: 0;
}

.styled_post_list2 li {
    background: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    width: 50%;
    margin: 0 20px 20px 0;
    padding: 0;
    width: -webkit-calc(50% - 20px);
    width: -moz-calc(50% - 20px);
    width: calc(50% - 20px);
}

.styled_post_list2 li:nth-child(2n) {
    margin-right: 0px;
}

.styled_post_list2 .image_area {
    position: relative;
    width: 100%;
    margin: 0 0 15px 0;
}

.styled_post_list2 .image_area:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.styled_post_list2 .image_area:before {
    padding-top: 100%;
}

.styled_post_list2 .image {
    display: block;
    overflow: hidden;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 2;
}

.styled_post_list2 .image img {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    max-width: none;
}

.styled_post_list2 .title {
    font-size: 14px;
    margin: 0;
    padding: 0;
    display: block;
    font-weight: 400;
    line-height: 1.6;
    color: #000;
}

.styled_post_list2 .title:hover {
    text-decoration: none;
}

.styled_post_list2 .category {
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 3;
}

.styled_post_list2 .category a {
    font-size: 12px;
    background: #333;
    color: #fff;
    display: block;
    height: 40px;
    line-height: 40px;
    padding: 0 22px;
    text-decoration: none;
}

.styled_post_list2 .category a:hover {
    background: #333 !important;
    color: #fff;
}

.styled_post_list2 .meta {
    margin: 10px 0 0 0;
    padding: 0;
}

.styled_post_list2 .meta li {
    display: inline;
    margin: 0;
    padding: 0;
    width: auto;
    line-height: 1.5;
    color: #aaa;
    font-size: 12px;
}

.styled_post_list2 .meta li:first-child {
    border-right: 1px solid #ccc;
    margin: 0 10px 0 0;
    padding: 0 10px 0 0;
}

.styled_post_list2 .meta li:only-child {
    border: none;
    margin: 0;
    padding: 0;
}

.styled_post_list2 .meta li.child_category:after {
    content: ',';
    padding: 0 5px 0 0px;
}

.styled_post_list2 .meta li:last-child:after {
    display: none;
}

.styled_post_list2 .meta a {
    color: #aaa;
}

.pc #footer .styled_post_list2 .category a {
    font-size: 11px;
    height: 30px;
    line-height: 30px;
    padding: 0 15px;
}

.pc #footer_right_widget .styled_post_list2>li {
    width: 33.33333%;
    margin: 0 20px 20px 0;
    padding: 0;
    width: -webkit-calc(100% / 3 - 20px);
    width: -moz-calc(100% / 3 - 20px);
    width: calc(100% / 3 - 20px);
}

.pc #footer_right_widget .styled_post_list2>li:nth-child(3n) {
    margin-right: 0px;
}

.pc #footer_right_widget .styled_post_list2 .category a {
    font-size: 12px;
    height: 40px;
    line-height: 40px;
    padding: 0 22px;
}


/* デザインされた記事一覧３ */

.styled_post_list3 li {
    position: relative;
    background: none;
    padding: 0;
    margin: 0 0 20px 0;
}

.styled_post_list3 li:last-child,
.styled_post_list3 li:only-child {
    margin: 0;
}

.styled_post_list3 .image {
    display: block;
    margin: 0;
    overflow: hidden;
    width: 100%;
    height: 200px;
    position: relative;
    z-index: 2;
}

.styled_post_list3 .image img {
    display: block;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    max-width: none;
}

.styled_post_list3 .category {
    display: inline-block;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 3;
}

.styled_post_list3 .category a {
    font-size: 12px;
    background: #333;
    color: #fff;
    display: block;
    height: 40px;
    line-height: 40px;
    padding: 0 22px;
    text-decoration: none;
}

.styled_post_list3 .category a:hover {
    background: #333 !important;
    color: #fff;
}

.styled_post_list3 .meta {
    border: 1px solid #ddd;
    border-top: none;
    background: #fff;
    padding: 20px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.styled_post_list3 .title {
    font-weight: 700;
    font-size: 18px;
    line-height: 1.6;
    display: block;
    text-decoration: none;
}

.styled_post_list3 .meta ul {
    margin: 10px 0 0 0;
    padding: 0;
}

.styled_post_list3 .meta li {
    display: inline;
    margin: 0;
    padding: 0;
    width: auto;
    line-height: 1.5;
    color: #aaa;
    font-size: 12px;
}

.styled_post_list3 .meta li:first-child {
    border-right: 1px solid #ccc;
    margin: 0 10px 0 0;
    padding: 0 10px 0 0;
}

.styled_post_list3 .meta li:only-child {
    border: none;
    margin: 0;
    padding: 0;
}

.styled_post_list3 .meta li.child_category:after {
    content: ',';
    padding: 0 5px 0 0px;
}

.styled_post_list3 .meta li:last-child:after {
    display: none;
}

.styled_post_list3 .meta li a {
    color: #aaa;
}


/* カスタムメニュー */

.tcdw_menu_widget .menu1,
.tcdw_menu_widget .menu2 {
    width: 50%;
    float: left;
}

.tcdw_menu_widget .menu_headline {
    margin: 0 0 15px 0;
    font-size: 16px;
}

.tcdw_menu_widget li:last-child {
    margin-bottom: 0;
}


/* タブ記事 */

.tab_post_list_widget .styled_post_list1 li {
    padding: 20px 20px 20px;
    margin: 0;
    border-bottom: 1px solid #ddd;
}

.tab_post_list_widget .styled_post_list1 li:last-child {
    border: none;
}

.widget_tab_post_list_button a {
    display: inline-block;
    padding: 15px 0;
    width: 50%;
    text-align: center;
    border: 1px solid #ddd;
    float: left;
    margin-bottom: -1px;
    font-size: 16px;
    position: relative;
    background: #f7f7f7;
    text-decoration: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.widget_tab_post_list_button a.tab1 {
    border-right: 0;
}

.widget_tab_post_list_button a.active {
    background: #fff;
    border-bottom: 1px solid #fff;
}

.widget_tab_post_list {
    border: 1px solid #ddd;
}

.widget_tab_post_list2 {
    display: none;
}

.tab_post_list_widget .date {
    margin: 0 0 10px 0;
}


/* プロフィール */

.tcd_user_profile_widget {
    border: 1px solid #ddd;
    padding: 40px 40px 50px;
}

.tcd_user_profile_widget .user_avatar {
    overflow: hidden;
    width: 130px;
    height: 130px;
    display: block;
    margin: 0px auto 30px;
    border-radius: 130px;
}

.tcd_user_profile_widget .user_avatar img {
    width: 100%;
    height: auto;
    display: block;
}

.tcd_user_profile_widget .user_desc {
    font-size: 14px;
    line-height: 2.3;
    margin: 0 0 30px 0;
}

.tcd_user_profile_widget .button {
    text-align: center;
    margin: 0 0 30px 0;
}

.tcd_user_profile_widget .button a {
    display: inline-block;
    height: 45px;
    line-height: 45px;
    min-width: 160px;
    padding: 0 25px;
    background: #222;
    color: #fff;
    font-size: 14px;
    text-decoration: none;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.tcd_user_profile_widget .user_sns {
    text-align: center;
    margin: 0;
    padding: 0;
    font-size: 0;
}

.tcd_user_profile_widget li {
    display: inline-block;
    vertical-align: top;
    margin: 0;
    padding: 0;
    line-height: 100%;
    font-size: 11px;
    background: none;
    width: 30px;
}

.tcd_user_profile_widget li a {
    position: relative;
    text-decoration: none;
}

.tcd_user_profile_widget li a span {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    display: block;
}

.tcd_user_profile_widget li a:before {
    font-family: 'design_plus';
    color: #333;
    font-size: 12px;
    display: block;
    position: absolute;
    top: 10px;
    left: -5px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.tcd_user_profile_widget li.twitter_button a:before {
    content: "\e904";
}

.tcd_user_profile_widget li.facebook_button a:before {
    content: "\e902";
}

.tcd_user_profile_widget li.insta_button a:before {
    content: "\ea92";
    top: 10px;
}

.tcd_user_profile_widget li.pint_button a:before {
    content: "\e905";
}

.tcd_user_profile_widget li.mail_button a:before {
    content: "\f0e0";
}

.tcd_user_profile_widget li.twitter_button a:hover:before {
    color: #16b9dc;
}

.tcd_user_profile_widget li.facebook_button a:hover:before {
    color: #3B5998;
}

.tcd_user_profile_widget li.insta_button a:hover:before {
    color: #8a3ab9;
}

.tcd_user_profile_widget li.pint_button a:hover:before {
    color: #c92228;
}

.tcd_user_profile_widget li.mail_button a:hover:before {
    color: #16b9dc;
}


/* ドロップダウンカテゴリーメニュー */

.tcdw_category_list_widget .side_headline {
    margin-bottom: 30px;
}

.tcd_category_list {
    margin: 0;
    padding: 0;
}

.tcd_category_list>li {
    float: left;
    width: 50%;
    margin: 0;
    padding: 0;
    background: none;
    position: relative;
}

.tcd_category_list a {
    display: block;
    padding: 0 15px;
    height: 55px;
    line-height: 55px;
    overflow: hidden;
    border: 1px solid #ddd;
    margin: -1px 0 0 0;
    font-size: 12px;
    text-decoration: none;
    text-align: center;
    background: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

.tcd_category_list>li:nth-child(odd)>a {
    margin-right: -1px;
}

.tcd_category_list a:hover {
    background: #f4f4f4;
    color: #333 !important;
}

.tcd_category_list>li.active>a {
    background: #f4f4f4;
}

.tcd_category_list ul {
    display: none;
    margin: 0 !important;
    padding: 0 !important;
    background: none;
    width: 200%;
    z-index: 9;
    position: relative;
}

.tcd_category_list li:nth-child(2n) ul {
    left: -100%;
}

.tcd_category_list li:nth-child(2n) ul ul {
    left: 0;
}

.tcd_category_list ul ul {
    width: 100%;
    position: relative;
}

.tcd_category_list ul li {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0;
}

.tcd_category_list ul li a {
    height: auto;
    line-height: 1.5;
    padding: 12px 25px;
    text-align: left;
}

.tcd_category_list ul ul li a {
    padding: 12px 25px 12px 32px;
}

.tcd_category_list ul ul ul li a {
    padding: 12px 25px 12px 44px;
}

.tcd_category_list ul ul ul ul li a {
    padding: 12px 25px 12px 56px;
}


/* 検索 */

.widget_search label {
    display: none;
}

.widget_search #search-box,
.widget_search #s,
.side_widget.google_search #s {
    margin: 0;
    background: #fbfbfb;
    padding: 0 10px;
    border: 1px solid #ddd;
    border-right: none;
    width: calc(100% - 40px);
    height: 40px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}


/*
.widget_search #search-btn input, .widget_search #searchsubmit {
  border:1px solid #ddd; border-left:none; width:40px; height:40px;
  cursor:pointer; display:block; float:right; text-indent:-300%; overflow:hidden;
}
.side_widget.google_search #searchsubmit { font-family: 'design_plus'; color:#ddd; font-size:18px; border:none; width:40px; height:40px; background:#222; cursor:pointer; display:block; float:right; overflow:hidden; position:absolute; top:0; right:0; }
*/

.widget_search #searchsubmit,
.side_widget.google_search #searchsubmit {
    border: none;
    width: 40px;
    height: 40px;
    background: #000 url(img/common/icon_search.png) no-repeat center;
    cursor: pointer;
    display: block;
    float: right;
    text-indent: -9999px;
    overflow: hidden;
}


/* アーカイブ、カテゴリードロップダウンメニュー */

.widget_archive,
.widget_categories,
.tcdw_archive_list_widget {}

.widget_archive {}

.widget_archive ul {
    margin: 0;
    padding: 0;
}

.widget_archive ul li {}

.widget_archive select,
.widget_categories select,
.tcd_archive_dropdown select {
    border: 1px solid #ddd;
    padding: 12px 10px;
    width: 100%;
    margin: 0;
    font-size: 14px;
}

.widget_archive select {
    border: 1px solid #ddd;
    padding: 12px;
}

.widget_archive label,
.widget_categories label {
    display: none;
}

.widget_archive select option,
.widget_categories select option,
.tcd_archive_dropdown option {
    background: #fff;
    color: #333;
}

.widget_categories li {
    font-size: 14px;
}

.tcd_archive_dropdown {
    border: 1px solid #ddd;
    padding: 0;
    height: 70px;
    position: relative;
}

.tcd_archive_dropdown .side_headline {
    position: absolute;
    left: 15px;
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.tcd_archive_dropdown select {
    width: 50%;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}


/* デフォルトの最近の記事 */

.widget_recent_entries li {
    border-bottom: 1px dotted #ccc;
    padding: 0 0 15px 0;
}

.widget_recent_entries li:last-child {
    border: none;
    padding: 0;
}


/* ----------------------------------------------------------------------
 コメント
---------------------------------------------------------------------- */


/* 基本設定 */

#comments {
    font-size: 12px;
    margin: 0;
}

#comment_headline {
    font-size: 16px;
    margin: 40px 0 30px;
}

#comment_area,
#trackback_area {
    margin: 15px 0 20px;
    padding: 0 0 5px 0;
}

#trackback_area {
    display: none;
}


/* コメント・トラックバックのタブ */

#comment_header {
    position: relative;
    margin: 0 0 25px;
}

#comment_header ul {
    margin: 0;
}

#comment_header ul li {
    float: left;
    text-align: center;
    margin: 0;
    width: 50%;
}

#comment_header ul li a,
#comment_header ul li p {
    font-size: 11px;
    padding: 15px 15px;
    line-height: 1.8;
    display: block;
    color: #333;
    text-decoration: none;
    border: 1px solid #ccc;
}

#comment_header ul li a:hover {
    color: #fff !important;
    background: #333;
}

#comment_header ul li.comment_switch_active a,
#comment_header #comment_closed p {
    color: #fff;
    position: relative;
    background: #333;
}

#comment_header ul li.comment_switch_active a:after,
#comment_header #comment_closed p:after {
    position: absolute;
    bottom: -17px;
    left: 195px;
    content: "";
    width: 0;
    height: 0;
    border-width: 10px;
    border-style: solid;
    border-color: #333 transparent transparent transparent;
}


/*  コメントの基本部分 */

.commentlist {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.comment {
    border: 1px solid #ccc;
    color: #777;
    margin: 0 0 15px;
    padding: 15px 20px 0;
    background: #fff;
}

#comments .post_content {
    margin: 20px 0 0;
    padding: 0;
    background: none;
}

.admin-comment {}


/* コメントの情報部分 */

.comment-meta {
    position: relative;
    margin: 0 0 10px 0;
}

.comment-meta-left {
    float: left;
    width: 400px;
}

#comments .avatar {
    float: left;
    margin: 0 10px 0 0;
    background: #fff;
    width: 40px;
    height: 40px;
}

.comment-name-date {
    padding: 3px 0 0 0;
    height: 37px;
}

a.admin-url {
    text-decoration: underline;
}

a.guest-url {
    text-decoration: underline;
}

.comment-name-date {
    margin: 0;
}

.comment-date {
    font-size: 11px;
    color: #757676;
    margin: 10px 0 0 0;
}

.comment-act {
    background: url(img/common/arrow3.gif) no-repeat left;
    font-size: 11px;
    position: absolute;
    right: 0px;
    padding: 0 0 0 10px;
    margin: 5px 0 0 0;
}

.comment-act li {
    display: inline;
    margin: 0;
}

.comment-reply a,
.comment-reply a:visited {
    border-right: 1px solid #aaa;
    padding: 0 10px 0 0;
    margin: 0 6px 0 0;
}

.comment-edit a,
.comment-edit a:visited {
    border-left: 1px solid #aaa;
    padding: 0 0 0 10px;
    margin: 0 0 0 6px;
}


/* コメント本文 */

#comments .post_content p {
    margin: 0 0 15px 0;
}

#comments .post_content blockquote span {
    margin: 0 0 -1em 0;
    display: block;
}


/* メッセージ、警告文 */

.comment-note {
    display: block;
    font-size: 11px;
    margin: 0 0 1em 0;
    color: #33a8e5;
    border: 1px solid #94ddd4;
    padding: 10px 15px;
    background: #d6f4f0;
}

.comment_closed {
    border: 1px solid #ccc;
    text-align: center;
    margin: 0 35px 15px 0;
    padding: 15px;
    background: #fefefe;
}

.no_comment {
    padding-bottom: 15px;
}


/* トラックバック */

.trackback_time {
    font-size: 11px;
    color: #757676;
    margin: 0 0 7px 0px;
}

.trackback_title {
    margin: 2px 0 8px 0;
    margin: 0 0 10px 0px;
    line-height: 1.6;
}

#trackback_url_area {
    margin: 0;
}

#trackback_url_area label {
    display: block;
    margin: 0 0 10px 0;
    font-size: 11px;
}

#trackback_url_area input {
    border: 1px solid #ccc;
    background: #fafafa;
    padding: 10px;
    width: 100%;
    font-size: 11px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}


/* ページナビ */

#comment_pager {
    margin: 0 0 10px;
    height: 24px;
}

#comment_pager a,
#comment_pager span {
    display: inline;
    float: left;
    margin: 0 10px 0 0;
}

#comment_pager .current {
    text-decoration: underline;
}


/* コメントフォーム */

.comment_form_wrapper {
    border: 1px solid #ccc;
    margin: 0 0 0px;
    padding: 15px;
    background: #fff;
}

.comment .comment_form_wrapper {
    margin: 0 0 20px;
}

#cancel_comment_reply {
    background: url(img/common/arrow3.gif) no-repeat left center;
    margin: 0 0 1em 0;
    padding: 0 0 0 10px;
}

#comment_user_login p {
    padding: 0 0 0 1px;
    margin: 0;
    line-height: 1;
}

#comment_user_login span {
    margin: 0 0 0 40px;
}

#comment_login {
    margin: 0;
    padding: 3px 30px 10px 30px;
}

#comment_login p {
    margin: 0;
    padding: 12px 0 11px 36px;
    line-height: 1;
}

#comment_login a {
    margin: 0 0 0 20px;
    padding: 0 0 0 20px;
    background: url(img/common/arrow3.gif) no-repeat 10px 3px;
}

#guest_info {
    padding: 0;
    width: 100%;
}

#guest_info div {
    margin: 0 0 12px 0;
    text-align: left;
}

#guest_info input {
    margin: 0;
    padding: 5px 0;
    border: 1px solid #ccc;
    width: 100%;
    background: #fff;
    color: #777;
}

#guest_info input:focus {
    border: 1px solid #e48898;
}

#guest_info label {
    display: block;
    margin: 0 0 5px 0;
    padding: 0 0 0 0;
    font-size: 11px;
    color: #888;
}

#guest_info span {
    color: #666;
    margin: 0 10px 0 0;
}

#comment_textarea textarea {
    margin: 15px 0 0;
    width: 100%;
    height: 150px;
    border: 1px solid #ccc;
    background: #fff;
    color: #777;
    font-size: 11px;
    overflow: auto;
}

#comment_textarea textarea:focus {
    border: 1px solid #e48898;
}

#submit_comment_wrapper {
    text-align: center;
}

#submit_comment {
    background: #aaa;
    border: none;
    cursor: pointer;
    color: #fff;
    font-size: 14px;
    width: 200px;
    height: 50px;
    margin: 15px auto 0;
    display: block;
    -webkit-transition: background-color 200ms ease-in-out;
    -moz-transition: background-color 200ms ease-in-out;
    -o-transition: background-color 200ms ease-in-out;
    -ms-transition: background-color 200ms ease-in-out;
    transition: background-color 200ms ease-in-out;
}

#submit_comment:hover {
    background: #e48898;
}

#input_hidden_field {
    display: none;
}


/* パスワード保護 */

.password_protected {
    text-align: center;
    margin: 0 38px 30px;
    padding: 10px 20px;
    color: #fff;
    background: #3db4b2;
    border-radius: 5px;
}

.password_protected p {
    font-size: 12px;
    margin: 0;
    line-height: 1.6;
}


/* ----------------------------------------------------------------------
 WordPress プリセットスタイル
---------------------------------------------------------------------- */


/* alignment */

.post_content .alignright {
    float: right;
}

.post_content .alignleft {
    float: left;
}

.post_content .aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 7px;
}

.post_content blockquote.alignleft,
.post_content img.alignleft {
    margin: 7px 24px 7px 0;
}

.post_content .wp-caption.alignleft {
    margin: 7px 14px 7px 0;
}

.post_content blockquote.alignright,
.post_content img.alignright {
    margin: 7px 0 7px 24px;
}

.post_content .wp-caption.alignright {
    margin: 7px 0 7px 14px;
}

.post_content blockquote.aligncenter,
.post_content img.aligncenter,
.post_content .wp-caption.aligncenter {
    margin-top: 7px;
    margin-bottom: 7px;
}


/* text and headline */

.post_content p {
    line-height: 2.5;
    margin: 0 0 2em 0;
}

.post_content h1,
.post_content h2,
.post_content h3,
.post_content h4,
.post_content h5,
.post_content h6 {
    clear: both;
    line-height: 1.4;
    font-weight: 400;
    margin: 0 0 10px 0;
    padding: 10px 0 0 0;
}

.post_content h1 {
    font-size: 150%;
}

.post_content h2 {
    font-size: 140%;
}

.post_content h3 {
    font-size: 130%;
}

.post_content h4 {
    font-size: 120%;
}

.post_content h5 {
    font-size: 110%;
}

.post_content h6 {
    font-size: 100%;
}


/* image */

.post_content img[class*="align"],
.post_content img[class*="wp-image-"],
.post_content img[class*="attachment-"],
.post_content img.size-full,
.post_content img.size-large,
.post_content .wp-post-image,
.post_content img {
    height: auto;
    max-width: 100%;
}


/* list */

.post_content li,
.post_content dt,
.post_content dd {
    line-height: 2.2;
}

.post_content ul,
.post_content ol,
.post_content dl {
    margin-bottom: 24px;
}

.post_content ol {
    list-style: decimal outside none;
    margin-left: 1.5em;
}

.post_content ul {
    list-style: circle outside none;
    margin-left: 1.3em;
}

.post_content li>ul,
.post_content li>ol {
    margin-bottom: 0;
}

.post_content dt {
    font-weight: bold;
}

.post_content dd {
    margin-bottom: 1em;
}


/* table */

.post_content table {
    margin: 0 0 24px 0;
    width: 100% !important;
}

.post_content td,
.post_content th {
    border: 1px solid #bbb;
    padding: 10px 15px;
    line-height: 2.2;
    background: #fff;
}

.post_content th {
    background: #ddd;
    font-weight: normal;
}


/* table style */

.post_content table.table_no_border th,
.post_content table.table_no_border td {
    border: none;
    padding-left: 0;
}

.post_content table.table_border_horizontal th,
.post_content table.table_border_horizontal td {
    border-left: none;
    border-right: none;
    padding-left: 0;
}


/* block quote */

.post_content blockquote {
    margin: 0 0 25px 0;
    padding: 27px 30px 0;
    border: 1px solid #ccc;
    box-shadow: 0px 4px 0px 0px #f2f2f2;
    position: relative;
}

.post_content blockquote:before {
    content: '"';
    font-style: italic;
    font-size: 30px;
    font-weight: normal;
    line-height: 40px;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 5px;
    left: 10px;
    color: #5cbcd7;
}

.post_content blockquote:after {
    content: '"';
    font-style: italic;
    font-size: 30px;
    font-weight: normal;
    text-align: left;
    line-height: 60px;
    width: 30px;
    height: 30px;
    position: absolute;
    bottom: 7px;
    right: -2px;
    color: #5cbcd7;
}

.post_content blockquote cite {
    border-top: 1px dotted #aaa;
    display: block;
    padding: 20px 0 0 0;
    font-style: italic;
    text-align: right;
    font-size: 90%;
}


/* captions */

.post_content .wp-caption {
    margin-bottom: 24px;
    background: #fff;
    border: 1px solid #ccc;
    padding: 5px;
    max-width: 100%;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.post_content .wp-caption-text {
    text-align: center;
    font-size: 12px;
    font-style: italic;
    line-height: 1.5;
    margin: 9px auto;
}

.post_content .wp-caption img[class*="wp-image-"] {
    display: block;
    margin: 0 auto;
}


/* gallery */

.gallery {
    margin-bottom: 20px;
}

.gallery a img {
    border: 0 !important;
}

.gallery-item {
    float: left;
    margin: 0 4px 4px 0;
    overflow: hidden;
    position: relative;
}

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

.gallery-columns-2 .gallery-item {
    max-width: 48%;
    max-width: -webkit-calc(50% - 4px);
    max-width: calc(50% - 4px);
}

.gallery-columns-3 .gallery-item {
    max-width: 32%;
    max-width: -webkit-calc(33.3% - 4px);
    max-width: calc(33.3% - 4px);
}

.gallery-columns-4 .gallery-item {
    max-width: 23%;
    max-width: -webkit-calc(25% - 4px);
    max-width: calc(25% - 4px);
}

.gallery-columns-5 .gallery-item {
    max-width: 19%;
    max-width: -webkit-calc(20% - 4px);
    max-width: calc(20% - 4px);
}

.gallery-columns-6 .gallery-item {
    max-width: 15%;
    max-width: -webkit-calc(16.7% - 4px);
    max-width: calc(16.7% - 4px);
}

.gallery-columns-7 .gallery-item {
    max-width: 13%;
    max-width: -webkit-calc(14.28% - 4px);
    max-width: calc(14.28% - 4px);
}

.gallery-columns-8 .gallery-item {
    max-width: 11%;
    max-width: -webkit-calc(12.5% - 4px);
    max-width: calc(12.5% - 4px);
}

.gallery-columns-9 .gallery-item {
    max-width: 9%;
    max-width: -webkit-calc(11.1% - 4px);
    max-width: calc(11.1% - 4px);
}

.gallery-columns-10 .gallery-item {
    max-width: 7%;
    max-width: -webkit-calc(9.4% - 0px);
    max-width: calc(9.4% - 0px);
}

.gallery-columns-1 .gallery-item:nth-of-type(1n),
.gallery-columns-2 .gallery-item:nth-of-type(2n),
.gallery-columns-3 .gallery-item:nth-of-type(3n),
.gallery-columns-4 .gallery-item:nth-of-type(4n),
.gallery-columns-5 .gallery-item:nth-of-type(5n),
.gallery-columns-6 .gallery-item:nth-of-type(6n),
.gallery-columns-7 .gallery-item:nth-of-type(7n),
.gallery-columns-8 .gallery-item:nth-of-type(8n),
.gallery-columns-9 .gallery-item:nth-of-type(9n),
.gallery-columns-10 .gallery-item:nth-of-type(10n) {
    margin-right: 0;
}

.gallery-caption {
    background-color: rgba(0, 0, 0, 0.7);
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    color: #fff;
    font-size: 12px;
    line-height: 1.5;
    margin: 0;
    max-height: 50%;
    opacity: 0;
    padding: 6px 8px;
    position: absolute;
    bottom: 0;
    left: 0;
    text-align: left;
    width: 100%;
}

.gallery-caption:before {
    content: "";
    height: 100%;
    min-height: 49px;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

.gallery-item:hover .gallery-caption {
    opacity: 1;
}

.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption,
.gallery-columns-10 .gallery-caption {
    display: none;
}


/* etc */

.post_content .wp-smiley {
    border: 0;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0;
}

.post_content address {
    margin: 0 0 24px 0;
    line-height: 2.2;
}

.post_content pre {
    border-left: 5px solid #7fc120;
    font-size: 12px;
    margin: 0 0 27px 0;
    line-height: 25px;
    background: url(img/common/pre.gif) repeat left top;
    padding: 0 17px;
    overflow: auto;
}

.post_content .sticky {}

.post_content .mejs-container {
    margin: 12px 0 25px;
}


/* パスワード保護 */

.c-pw__desc,
.c-pw__desc p {
    line-height: 2.5;
}

.c-pw__desc p {
    margin-bottom: 16px;
}

.c-pw__btn {
    box-sizing: border-box;
    color: #fff;
    display: inline-block;
    padding: 13px 20px;
    font-size: 14px;
    text-align: center;
    line-height: 1;
}

.c-pw__btn:hover {
    background: #333;
    color: #fff;
}

.c-pw__btn--register {
    min-width: 160px;
    margin-bottom: 32px;
}

.c-pw__btn--submit {
    min-width: 100px;
    border: 0;
    cursor: pointer;
}

.c-pw .c-pw__btn:hover {
    text-decoration: none;
}

.c-pw__box {
    border: 1px solid #ddd;
    background: #f5f5f5;
    padding: 25px 36px;
    display: inline-block;
    margin-bottom: 40px;
    box-sizing: border-box;
}

.c-pw__box .c-pw__box-desc {
    line-height: 1.2;
    margin-bottom: 20px;
}

.c-pw__box-label {
    margin-right: 14px;
}

.c-pw__box-input {
    border: 1px solid #ddd;
    box-shadow: none;
    height: 40px;
    width: 250px;
    margin-right: 13px;
    flex: 1;
    box-sizing: border-box;
    padding: 0 10px;
}

.u-center {
    text-align: center;
}

.post_content .c-pw__btn,
.post_content .c-pw__btn:hover {
    color: #fff;
}

.post_content .saboxplugin-wrap {
    margin-bottom: 20px;
}

.author-profile {
    padding: 1.125rem;
    margin-bottom: 5rem;
    border: 1px solid #DDDDDD;
    box-shadow: 0 0.25rem 0.5rem #DDDDDD;
    background-color: rgba(251, 251, 251, 1);
}

.author-profile .eyecatch {
    margin: 1.5rem 0.125rem;
    text-align: center;
}

.author-profile .eyecatch img {
    max-width: 10rem;
    border-radius: 50%;
}

@media screen and (min-width:768px) {
    .author-profile {
        display: flex;
    }
    .author-profile .eyecatch {
        width: 35%;
    }
    .author-profile .eyecatch img {
        width: 100%;
    }
    .author-profile .profiletxt {
        width: 65%;
    }
}

.author-profile .name {
    font-size: 1.25rem;
    line-height: 1.25;
    font-weight: 700;
    margin: 0 0 1rem 0;
    word-wrap: break-word;
}

.author-profile .description {
    min-height: 8rem;
}

.author-profile .description p {
    line-height: 1.5;
}

.author-profile .description a {
    text-decoration: underline;
}

.author-profile .description a:hover {
    color: #BD2630;
}

.author-profile .button {
    text-align: right;
}

.author-profile .button a {
    font-size: 0.75rem;
    word-wrap: break-word;
}

.author-profile .button a:hover {
    color: #BD2630;
}

.author-profile ul {
    list-style: none;
    text-align: right;
    margin: 0 0 1rem 0;
}

.author-profile li {
    float: right;
}

.author-profile .social_link li::before {
    font-size: 1.25rem;
    top: 0px;
    left: 0px;
}