@charset "UTF-8";
@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 400;
    /*src: url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');*/
    src: url(inc/webfonts/NotoSansJP-Regular.woff2) format('woff2'), url(inc/webfonts/NotoSansJP-Regular.woff) format('woff'), url(inc/webfonts/NotoSansJP-Regular.otf) format('opentype');
    font-display: swap;
}

@font-face {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    /*src: url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff2) format('woff2'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.woff) format('woff'),
		url(https://fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Bold.otf) format('opentype');*/
    src: url(inc/webfonts/NotoSansJP-Bold.woff2) format('woff2'), url(inc/webfonts/NotoSansJP-Bold.woff) format('woff'), url(inc/webfonts/NotoSansJP-Bold.otf) format('opentype');
    font-display: swap;
}


/*@font-face {
	font-family: 'FontAwesome';
	font-style: normal;
	font-weight: 900;
	src: url(inc/webfonts/fa-solid-900.eot) format('eot'),
		 url(inc/webfonts/fa-solid-900.svg) format('svg'),
		 url(inc/webfonts/fa-solid-900.ttf) format('ttf'),
		 url(inc/webfonts/fa-solid-900.woff) format('woff'),
		 url(inc/webfonts/fa-solid-900.woff2) format('woff2');
		font-display: swap;
}
@font-face {
	font-family: 'FontAwesome';
	font-style: normal;
	font-weight: 400;
	src: url(inc/webfonts/fa-regular-400.eot) format('eot'),
		url(inc/webfonts/fa-regular-400.svg) format('svg'),
		url(inc/webfonts/fa-regular-400.ttf) format('ttf'),
		url(inc/webfonts/fa-regular-400.woff) format('woff'),
		url(inc/webfonts/fa-regular-400.woff2) format('woff2');
		font-display: swap;
}*/


/*!
Theme Name: Simplicity2
Description: Simplicityの意味は、単純、簡単、簡素、質素です。飾り気のないカスタマイズの土台となれるようなテーマを目指して作りました。
Theme URI: https://wp-simplicity.com/
Author: yhira
Author URI: http://nelog.jp/
Text Domain: simplicity2
Version: 2.7.2
Tags: two-columns, left-sidebar, right-sidebar
License: GNU General Public License
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/


/************************************
** 基本設定（General Setting）
************************************/

html,
body {
    margin: 0;
    padding: 0;
}

body {
    font-family: '小塚ゴシック Pro', 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, Helvetica, Arial, sans-serif;
    font-size: 14px;
    -webkit-text-size-adjust: 100%;
}
div#post-553 {
    height: 0;
}
@media all and (-ms-high-contrast: none) {
    body {
        font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, Helvetica, Arial, sans-serif;
    }
}

ul {
    list-style: none;
}

img {
    border-width: 0;
    box-sizing: border-box;
    vertical-align: bottom;
}

figure,
main figure {
    margin: 0;
}

.article {
    font-size: 16px;
    line-height: 170%;
}


/*記事・カテゴリ中の画像を要素内に収める*/

.article img,
.category-description img,
.wp-caption,
.hover-image {
    max-width: 100%;
    height: auto;
}

.aligncenter {
    clear: both;
}

.cf:after {
    content: "";
    clear: both;
    display: block;
}


/************************************
** 見出し（H1-6）
************************************/

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 130%;
    color: #000;
}

.article h1,
.article h2,
.article h3,
.article h4,
.article h5,
.article h6 {
    position: relative;
    margin-top: 35px;
    margin-bottom: 20px;
}

.article h1 {
    margin-top: 30px;
    margin-bottom: 20px;
    font-size: 30px;
    line-height: 117%;
}

#archive-title {
    margin-top: 0;
    padding-bottom: 20px;
    font-size: 26px;
}

.article h2 {
    border-left: 1px solid #000;
    margin: 40px -29px 20px;
    padding: 25px 30px;
    font-size: 26px;
}

.article h3 {
    font-size: 23px;
    border-bottom: 5px solid #e7e7e7;
    padding: 10px 0;
}

.article h4,
.article h5,
.article h6 {
    font-size: 20px;
    padding: 8px 0;
}

.article h4 {
    border-bottom: 5px dashed #eee;
}

.entry-content {
    margin-bottom: 60px;
}


/************************************
** アンカー
************************************/

a {
    color: #000;
    word-wrap: break-word;
}

a:hover {
    color: #000;
    text-decoration: none;
    opacity: .7;
}

.widget_new_entries a,
.widget_new_popular a,
.widget_popular_ranking a,
.wpp-list a,
.entry-read a,
.related-entry-read a,
.article-list .entry-title a {}

.widget_new_entries a,
.widget_new_popular a,
.widget_popular_ranking a,
.wpp-list a,
.article-list .entry-title a {}

.widget_new_entries a:hover,
.widget_new_popular a:hover,
.widget_popular_ranking a:hover,
.wpp-list a:hover,
.entry-read a:hover,
.entry .post-meta a:hover,
.related-entry-read a:hover,
.entry a:hover,
.related-entry-title a:hover,
.navigation a:hover,
#footer a:hover,
.article-list .entry-title a:hover,
.blog-card-title a:hover {
    opacity: .7;
}

#footer .credit a:hover {
    color: inherit;
}

.widget_new_entries a:hover,
.widget_new_popular a:hover,
.widget_popular_ranking a:hover,
.wpp-list a:hover:hover {}


/************************************
** 引用（blockquote）
************************************/

blockquote {
    background: none repeat scroll 0 0 rgba(245, 245, 245, 0.8);
    border: 1px solid #FFFFFF;
    margin: 1em 0;
    padding: 20px 55px;
    position: relative;
}

blockquote:before {
    color: #C8C8C8;
    content: "“";
    font-family: serif;
    font-size: 600%;
    left: 0;
    line-height: 1em;
    position: absolute;
    top: 0;
}

blockquote:after {
    color: #C8C8C8;
    content: "”";
    font-family: serif;
    font-size: 600%;
    line-height: 0;
    position: absolute;
    right: 0;
    bottom: -16px;
}


/* Internet Explorer11のみに適用したい設定 */

@media screen and (min-width:0\0) {
    *::-ms-backdrop,
    blockquote:before {
        left: -55px;
    }
    *::-ms-backdrop,
    blockquote:after {
        right: -55px;
    }
}


/************************************
** リスト（List）
************************************/

ul,
ol {
    margin: auto;
    padding: 0;
}

ul ul {
    margin-left: 1em;
}

dl {
    margin: 30px 0;
}

dt {
    font-weight: bold;
}

dd {
    margin-bottom: 5px;
}


/************************************
** テーブル（Table）
************************************/

.article table {
    border-collapse: collapse;
    margin: 15px 0;
    max-width: 100%;
    width: auto;
}

.article th {
    border: solid 1px #ccc;
    background-color: #eee;
}

.article td {
    border: solid 1px #ccc;
}

.article th,
.article td {
    padding: 3px 5px;
}

.article .scrollable-table th,
.article .scrollable-table td {
    white-space: nowrap;
}

.scrollable-table {
    overflow-x: auto;
    margin-bottom: 1em;
}

.article ol,
.article ul,
.article dl {
    line-height: 150%;
}

.article>ol,
.article>ul,
.article>dl {
    margin: 30px 0;
}

.article>ol ol,
.article>ul ul,
.article>dl dl {
    margin: 0;
}


/************************************
** その他（Other）
************************************/

pre {
    background-color: #eee;
    border: 1px solid #ccc;
    padding: 7px;
    overflow: auto;
}

hr {
    color: #ddd;
    margin: 30px 0;
    width: 98%;
    border: 1px solid #ddd;
}

.category-description {
    margin-top: 15px;
    margin-bottom: 30px;
    background-color: #f9f9f9;
    padding: 5px 20px;
    border-radius: 3px;
    border: 1px solid #ddd;
}

.wpp-range {
    text-align: right;
    font-size: 14px;
}

span.search-excerpt {
    background-color: #FF9;
}

.invisible {
    display: none;
}

hr.sep {
    background-image: linear-gradient(left center, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
    border: 0 none;
    height: 1px;
    position: relative;
    margin-bottom: 130px;
}


/************************************
** ios
************************************/

input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: none !important;
    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;
}

ul.snsbs li {
    padding-right: 0;
}


/************************************
** レイアウト（Layout）
************************************/

#container {
    padding: 0;
    margin: 0 auto;
}

#header-in,
#navi-in,
#footer-in {
    width: 1080px;
    margin: 0 auto;
    padding: 0 0px;
    box-sizing: border-box;
}

#body-in {
    padding: 60px 0;
}

#header {
    height: 140px;
    top: 0;
    left: 0;
    right: 0;
    margin-bottom: 0;
    background: #fff;
}

#header .alignleft,
#header .alignright {
    margin-bottom: 0;
    width: auto;
}

#header .alignleft {
    margin-left: 30px;
    margin-right: 30px;
    /*max-width:700px;*/
}

#header .alignright {
    height: 52px;
    text-align: right;
    margin-right: 30px;
    right: 0;
    top: 0;
    position: absolute;
}

.header-logo {
    width: 248px;
    height: auto;
}

.header-tel {
    float: left;
    margin-top: 6px;
    font-weight: bold;
}

.header-tel-all {
    font-size: 86%;
}

.header-tel-all .all {
    display: inline-block;
    margin-right: 10px;
    padding: 0 5px;
    color: #fff;
    background: #ff6600;
}

.header-tel-all .hour {
    color: #ff6600;
}

.header-tel-num {
    font-size: 300%;
    line-height: 1;
    color: #ff0000;
}

.header-tel-num img {
    float: left;
    margin-top: 5px;
    margin-right: 5px;
}

.header-nav {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    list-style: none;
    text-align: center;
    margin: 4px auto;
    padding: 0;
}

.header-nav li {
    width: 100%;
    border-left: 1px solid #eeeeee;
}

.header-nav li:last-child {
    border-right: 1px solid #eeeeee;
}

.header-nav li a {
    display: block;
    position: relative;
    text-decoration: none;
    font-weight: bold;
    line-height: 60px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

.header-nav li a span {
    position: relative;
}

.header-nav li a span::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    bottom: -10px;
    left: 0;
    right: 0;
    background: #204b9f;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

.header-nav li a:hover {
    color: #204b9f;
    opacity: 1;
}

.header-nav li a:hover span::after {
    height: 3px;
}

#header-scroll {
    position: fixed;
    height: 80px;
    bottom: -80px;
    left: 0;
    right: 0;
    margin: auto;
    background: rgba(255, 255, 255, .9);
    z-index: 50;
    -webkit-transition: .2s ease;
    transition: .2s ease;
}

#header-scroll.is-fixed {
    bottom: 0;
}

.header-scroll-btn,
.header-line-btn {
    position: relative;
    display: inline-block;
    float: right;
    margin-top: 8px;
    margin-left: 10px;
    padding: 0 60px;
    text-decoration: none;
    text-align: center;
    font-size: 129%;
    font-weight: bold;
    color: #fff;
    line-height: 60px;
    background: #ff6600;
    border-radius: 30px;
    box-shadow: 2px 2px 0px 0px #9d3f00;
}

.header-line-btn {
    background: #00b900;
    box-shadow: 2px 2px 0px 0px #007c00;
}

.header-scroll-btn::after,
.header-line-btn::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    border-radius: 2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.header-scroll-btn:hover,
.header-line-btn:hover {
    opacity: 1;
    top: 2px;
    left: 2px;
    color: #fff;
    box-shadow: 0px 0px 0px 0px #9d3f00;
}

.header-line-btn:hover {
    box-shadow: 0px 0px 0px 0px #007c00;
}

.main {
    float: left;
    box-sizing: border-box;
    width: 830px;
    border-radius: 4px;
    margin-bottom: 30px;
    position: relative;
}

.article-main {
    float: left;
    box-sizing: border-box;
    border-radius: 4px;
    margin-bottom: 30px;
    position: relative;
}

#sidebar {
    float: right;
    width: 250px;
}

#sidebar-widget {
    overflow: hidden;
}

.clear {
    clear: both;
}


/************************************
** ヘッダー(header)
************************************/

*:first-child+html #header>div {
    /* IE7 */
    clear: both;
    zoom: 1;
}

#h-top {
    /*overflow: hidden;*/
    background-repeat: no-repeat;
    background-position: top left;
    position: relative;
}

#site-title {
    margin-top: 16px;
    margin-bottom: 10px;
    font-size: 30px;
    line-height: 100%;
}

#site-title a {
    text-decoration: none;
    color: #222;
    font-size: 30px;
    font-weight: normal;
}

#site-description {
    color: #777;
    margin: 0;
    line-height: 140%;
    font-size: 15px;
    margin-right: 20px;
    margin-bottom: 10px;
    font-weight: normal;
}

#header-image {
    margin-bottom: 40px;
}


/************************************
** グローバルナビメニュー（menu）
************************************/

#navi ul {
    position: relative;
    clear: both;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    border-radius: 3px;
    margin: 0;
    padding: 0;
    width: 100%;
    box-sizing: border-box;
}

#navi ul ul {
    box-sizing: content-box;
}

#navi ul>li {
    float: left;
    list-style: none;
    position: relative;
}

#navi ul li a {
    font-size: 14px;
    display: block;
    padding: .3em .7em;
    color: #111;
    text-decoration: none;
    z-index: 99;
}

#navi ul li a:hover {
    background-color: #ddd;
}

#navi ul.sub-menu,
#navi ul.children {
    display: none;
    position: absolute;
    margin-left: 0;
    min-width: 200px;
    border: 1px solid #ddd;
    list-style: none;
    padding-left: 0;
    z-index: 99;
}

#navi .sub-menu li,
#navi .children li {
    position: relative;
    border: none;
    float: none;
    height: 31px;
}

#navi ul.sub-menu ul,
#navi ul.children ul {
    top: -31px;
    left: 200px;
    position: relative;
}

#navi ul li:hover>ul {
    display: block;
}


/* Clearfix) */

#container:after,
#navi ul:after,
.clearfix:after {
    display: block;
    visibility: hidden;
    clear: both;
    height: 0;
    content: " ";
    font-size: 0;
}


/* clearfix for ie7 */

#container,
#navi ul,
.clearfix {
    /*display: inline-block;*/
}

#container,
#navi ul,
.clearfix {
    display: block;
}


/************************************
** フッターナビメニュー
************************************/

#footer-navi ul {
    text-align: center;
    padding-left: 0;
}

#footer-navi ul li {
    display: inline;
    list-style: outside none none;
}

#footer-navi ul li::before {
    content: "|";
    padding: 0 0.6em;
}

#footer-navi ul li:first-child::before {
    content: "";
    padding: 0;
}

#footer-navi ul .sub-menu {
    display: none;
}


/************************************
** サーチフォーム（Search Form）
************************************/

#searchform {
    position: relative;
    margin-top: 25px;
}

#s {
    width: 100%;
    margin-bottom: 20px;
    padding-top: 6px;
    padding-bottom: 4px;
    box-sizing: border-box;
    height: 42px;
}

#searchsubmit {
    position: absolute;
    width: 30px;
    height: 26px;
    border: none;
    /* 画像をBase64にするためコメントアウト
  background: url("images/search.png") no-repeat 50% 50%; */
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAVCAYAAABG1c6oAAAEIklEQVR42pWVe0xTVxzHf22hFWiBUKjLEiTOjODGq4ArJJiYBV+gWy3YBoegWZysOgsVKYNC8IGhsMIYCLLqRKRkRdwEp4wR/yCZgwbHa8bwCH9sQkt5lceGIax0v3PDJd7MZaHJL72555zP+f6eF5xOJ3R1d4Pp7l342mAAbUEBp/DixagDBw/mh0dGdmzbvv25f0DA88CgoA5FcnLx9draWOXZs7xinQ5WVlZoIxzKGMDb9fXCdKUy21ckWgZcep0JfX2dCL5WVl4udDgcsLq6SuzfwJYHDzyzc3Lagc3eOMwXCJzePj6zAm9vmwefvwYs1sbap0rlT9PT0z52ux3QmMBfe3vhUlHRdXozOfhOcHBfTGzspYTDh5Mk0dHxkRJJQXBoqPlVtedUqrrBwUFWT08PE/j9/fu7PVANrSD52DFjXn7+W1ESCezdvx8ioqIgLCICLmg0b2So1d+gckotb8sWp8lkSjCbzUzgUYWihYBY6K44MnKipbVVoMrMhJDw8A3g20FBgPEF6+Skqywp6TvW+uXxCQmdCHRhAN8NCZmi3VBnZdUUl5QAxhPSTp6EuH37IBTBpxFWUFgIDY2NcFWnO04UEtsRGDhfWVXlzQDiy0V6A8IufJ6XB5eLioCAP5BK4YhMBt+aTHCrrg4MN25A/Z07UkqAi4tTKBLNvx8XJ2QAQ8LCbHQysjWarwYGBqCishJKSksB3YO0EycgV6sFU1MT6PAStFRaQODOnXbDzZs+DGCSXP6IBmIifrdYLPyq6moKeCQxEY6npsJnKhU0Ya1mqtXwSXp6K51AqUzW2W02cxjA5nv39vI9PddIDbI4HOdHKSmG8ooKry/0ejZRmJqWBpnnz7OMjY1eyjNnqnlubg7AfTx39zV9WdmBX7q6mFl+1NYGObm5Dex1IAGHicW9eVptVvyhQ7uOyuW7Pj516nR0TEwvdSnGjsvjOc5lZBhJu6JCJnBkZATGxsbc5ApFm6urq+PVAvfw9CRGINQ7DpdLlRf2+fSkzeY7YbHAHy9eMIFDQ0OU/fbsGV+amKjbFhAwxVkHoGuU0Ze48HhONq75+vn99cPDh/KXy8uwuLj4eiDpaZKMLI3mQ3T1y/diYjowTo8R8nj3nj0d2C3DFBQ7hPxjdVhHR0d3WK3W/waW6vWA4wkw2KQWBeiuFwK9rtXU8Pv6+iRv+vv/iaGglFJtmpLSOT4+zv1f4OUrV0iiwF0gADxMipzaW1Nbq0UgiSXlOnluMBqzNw0knfM3zr2ep0/dsL+pqeO67nqoWDyxKSD5NTU3w89PnsCP7e2kY2QERBvOy5ebAvb398Pc3BzYpqZgZmYG7PPzXBxjDTi9Z4VC4SxOIcOmgDabDZaWlmBhYYGUCHlm47dHL9q6ddhPJBrGCXWVBv4DYbnuWKzr2fcAAAAASUVORK5CYII=") no-repeat 50% 50%;
    z-index: 0;
    top: 3px;
    right: 3px;
    /*transform: translate(-20%, -50%);*/
}


/************************************
** メインカラム（.main、記事、固定ページなど）
************************************/

.main .post,
.main .page {
    margin-bottom: 59px;
}

.sticky {
    /* 先頭固定ポストのスタイル */
}

.post-meta {
    margin-bottom: 0.5em;
    text-align: right;
    font-size: 12px;
}

.post-meta .published {
    display: inline-block;
    margin-left: 5px;
}

.post-meta .post-date,
.post-meta .post-update,
.post-meta .category,
.post-meta .comments,
.post-meta .edit,
.footer-post-meta .post-tag,
.footer-post-meta .post-author,
.footer-post-meta .edit {
    padding-right: 0.7em;
}

.post-date i {
    margin-right: 2px;
    color: #204b9f;
}

.comment-num {
    white-space: nowrap;
}

.footer-post-meta {
    text-align: right;
    color: #555;
    font-size: 16px;
    clear: both;
}

.article-list .footer-post-meta {
    margin-top: 30px;
}

.more-link {
    clear: both;
    display: block;
    margin-bottom: 30px;
    text-align: right;
    margin-top: 15px;
}


/*タグが入っていない場合は非表示*/

#list .post .footer-post-meta:empty,
#list .post .footer-post-meta .post-tag:empty {
    display: none;
}


/*.more-link{
  float: right;
  margin-bottom:30px;
}*/


/************************************
** index.phpのリスト
************************************/

.main .entry {
    clear: both;
    margin-bottom: 40px;
    padding-bottom: 40px;
    /*  overflow: auto;
  zoom: 1;*/
    word-wrap: break-word;
    border-bottom: 1px solid #eeeeee;
}

.entry-thumb {
    float: left;
    margin-right: 10px;
    margin-top: 3px;
    margin-left: 0;
}

.entry-thumb a {
    display: block;
}

.entry-thumb img {
    border: 0;
    width: 250px;
    height: 200px;
    display: block;
    /*margin-bottom: 40px;*/
}


/*大きなサムネイル表示スタイルでのサムネイル*/

.entry-large-thumbnail img {
    width: 320px;
    height: 180px;
}

.entry-card-content {
    margin-left: 270px;
}

.entry .post-meta {
    margin: 7px auto;
}

.entry .post-meta a {
    color: #000;
}

.entry h2 {
    margin-bottom: 5px;
    margin-top: 0;
}

.entry h2 a {
    font-size: 18px;
    text-decoration: none;
    font-weight: bold;
}

.entry-title {}

.entry-snippet {
    margin: 0 0 5px 0;
    line-height: 2;
    font-size: 16px;
}

.entry-read {
    margin: 0;
    text-align: right;
    font-size: 16px;
}

.entry-read i {
    margin-right: 5px;
    color: #3491ef;
}

.entry-snippet,
.related-entry-snippet {
    word-wrap: break-word;
}


/************************************
** WordPress Misc
************************************/

.aligncenter {
    display: block;
    margin-right: auto;
    margin-left: auto;
}

img.alignleft,
.wp-caption.alignleft {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
}

img.alignright,
.wp-caption.alignright {
    float: right;
    margin-left: 10px;
    margin-bottom: 10px;
}

.wp-caption {
    padding-top: 4px;
    border: 1px solid #ddd;
    border-radius: 3px;
    background-color: #f3f3f3;
    text-align: center;
}

.wp-caption-text,
.gallery-caption {
    font-size: 80%;
}

.wp-caption img {
    margin: 0;
    padding: 0;
    border: 0 none;
}

.wp-caption-dd {
    margin: 0;
    padding: 0 4px 5px;
    font-size: 11px;
    line-height: 17px;
}

img.alignright {
    display: inline-block;
    margin: 0 0 1em 1.5em;
}

img.alignleft {
    display: inline-block;
    margin: 0 1.5em 1em 0;
}


/************************************
** index.php Main
************************************/

.content-box {
    float: right;
    margin-top: -0.25em;
    width: 420px;
}

.content-box .more-link {
    margin: 0;
}

.thumbnail-box {
    float: left;
    width: 160px;
}

.thumbnail-box img {
    width: 160px;
    height: 160px;
}


/************************************
** パンくずリスト（Breadcrumb）
************************************/

#breadcrumb {
    margin-bottom: 20px;
    color: #000;
    font-size: 71%;
}

div#breadcrumb div {
    display: inline;
}

#breadcrumb span.sp,
#breadcrumb span.pc {
    margin: 0 10px;
}

#breadcrumb a {
    text-decoration: none;
    color: #777;
}


/*以下のパンくずスタイルは、いずれ削除*/

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

#breadcrumb ul li {
    display: inline;
}

#breadcrumb ul li span.sp {
    margin: 0 10px;
}

#breadcrumb ul li a {
    text-decoration: none;
    color: #777;
}


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

.navigation {
    clear: both;
    overflow: hidden;
    margin-bottom: 40px;
    margin: 20px -30px 40px;
}

.navigation>div {
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
}

.navigation>div+div {
    border-top: 0;
    border-bottom: 1px solid #ddd;
}

.navigation .alignright {
    text-align: right;
}

.navigation a {
    display: block;
    padding: 1em;
    border: none;
    font-size: 16px;
}

.navigation a span {
    color: #ddd;
    padding-right: 10px;
    margin-top: -4px;
    clear: left;
}

.navigation a:hover {
    background: #eee;
}

.navigation .alignright a:hover {
    border-left: 1px solid #ddd;
}


/************************************
** ページャー、ページナビゲーション
************************************/

.pager {
    margin: 3em 0;
    text-align: center;
}

a.page-numbers,
.pager .current {
    background-color: #ddd;
    border: solid 1px #ddd;
    border-radius: 3px;
    padding: 6px 12px;
    margin: 0 2px;
}

.pager .current {
    background-color: #ddd;
    border: solid 1px #ddd;
    color: #000;
}

.pager a {
    background: #fff;
    color: #000;
    text-decoration: none;
}

.pager a:hover {
    border: solid 1px #ddd;
    background-color: #eee;
}


/************************************
** 記事分割時のページナビゲーション
************************************/

.page-link {
    margin: 3em 0;
    text-align: center;
}

.comment-page-link {
    margin: 1em 1em 3em;
    text-align: center;
}

.page-link span,
.comment-page-link span,
.comment-page-link a {
    margin-right: 3px;
    padding: 7px 15px;
    border: 1px solid #ddd;
    background: #ddd;
    border-radius: 4px;
}

.page-link a span,
.comment-page-link a {
    background: #fff;
    color: #000;
}

.page-link a {
    border-bottom: none;
    color: #000;
    text-decoration: none;
}

.page-link a span:hover,
.comment-page-link a:hover {
    background: #eee;
    color: #000;
}


/************************************
** 関連記事（Relation）
************************************/

.related-entry {
    line-height: 150%;
    margin-bottom: 20px;
    margin-right: 10px;
    clear: both;
    /*  overflow: auto;
  zoom: 1;*/
}

.related-entry h4 {
    margin-top: 0;
}

.related-entry-thumb {
    float: left;
    margin-top: 3px;
    margin-bottom: 5px;
    padding-bottom: 5px;
}

.related-entry-thumb a {
    display: block;
}

.related-entry-thumb img {
    border: 0;
    width: 100px;
    height: 100px;
    /*margin-bottom: 20px;*/
    display: block;
}


/*関連記事のサムネイル表示*/

.related-entry-thumbnail img {
    width: 200px;
    height: 200px;
    margin-bottom: 0;
}

.related-entry-content {
    margin-left: 110px;
}

.related-entry-title {
    margin-bottom: 5px;
}

.related-entry-title a {
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    color: #333;
}

.related-entry-snippet {
    margin: 0 0 5px 0;
    color: #555;
    font-size: 16px;
    line-height: 2;
}

.related-entry-read {
    margin: 0;
    font-size: 16px;
}


/************************************
** 関連記事サムネイル（Relation）
************************************/

.related-entry-thumbnail {
    width: 200px;
    height: 292px;
    text-align: center;
    overflow: hidden;
    float: left;
    margin-bottom: 15px;
    margin-right: 26px;
}

.related-entry-thumbnail .related-entry-thumb {
    margin: 0;
    padding: 0;
    float: none;
}

.related-entry-thumbnail .related-entry-content {
    margin: -10px 0px 0;
}

.related-entry-thumbnail .related-entry-content a {
    font-weight: normal;
}


/************************************
** コメントエリア（Comments Area）
************************************/

#comment-area ol,
#comment-area ul {
    list-style: none;
    padding-left: 0;
}

#comment-area ol ul,
#comment-area ul ul {
    margin-left: 1.5em;
}

.required {
    color: #fe56aa;
}

.commets-list,
.trackback-list {
    margin-top: -20px;
    margin-bottom: 40px;
}

.commets-list li,
.trackback-list li {
    margin-top: -1px;
    padding: 20px 0 0;
    width: 100%;
    border-bottom: 1px solid transparent;
}

.commets-list .avatar {
    float: left;
    margin-right: 10px;
    margin-bottom: 10px;
}

.comment-meta,
.reply,
.comment-notes,
.form-allowed-tags,
span.small {
    font-size: 80%;
}

.comment-body p {
    clear: both;
}

.reply {
    text-align: right;
}

.bypostauthor {
    /* 記事投稿者のコメントのスタイル */
}

.children {
    padding-left: 2em;
}

#respond {
    margin-bottom: 40px;
}

#comments,
#reply-title {
    font-size: 21px;
}

#comments {
    margin-bottom: 25px;
}


/************************************
** 入力フォーム（Form）
************************************/

input[type="text"],
input[type="url"],
input[type="password"],
input[type="email"],
input[type="search"],
input[type="tel"],
textarea {
    background-color: #f9f9f9;
    background-image: none;
    border: 1px solid #eee;
    border-radius: 4px;
    /*display: block;*/
    font-size: 16px;
    line-height: 1.42857;
    padding: 6px 12px;
    transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
    width: 100%;
    box-sizing: border-box;
}

input#author,
input#email,
input#url {
    max-width: 360px;
}

.gsc-search-box input[type="text"] {
    background-color: #FFF;
    border-radius: 0px;
}

#comment-area input[type="text"],
#comment-area textarea {
    display: block;
}

textarea {
    overflow: auto;
    width: 100%;
    box-sizing: border-box;
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="url"]:focus,
input[type="tel"]:focus,
textarea:focus {
    border: 1px solid #204b9f;
}

.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
    display: inline-block;
    margin-bottom: 20px;
    padding: 8px 14px;
    border: 1px solid #777;
    border-radius: 3px;
    background: #fff;
    color: #333;
    text-decoration: none;
    font-weight: bold;
    line-height: normal;
    cursor: pointer;
    /* Old browsers */
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover {
    background: #eee;
}

select,
option {
    padding: 5px;
}
.ctoms-form-recruitment select#content_request_form_ct:required:invalid {
    color: gray;
}
/*
select{
  border: 1px solid #bbb;
  border-right: 2px;
}

select, option {
  margin: 0.5em 1px;
  padding: 3px 5px;
  vertical-align: middle;
}
#sidebar select{
  width: 100%;
}
*/


/*.button:active,
button:active,
input[type="submit"]:active,
input[type="reset"]:active,
input[type="button"]:active {
  position: relative;
  top:1px;
}*/


/************************************
** サイドバー（Sidebar）・ウィジェットなど
************************************/

#sidebar h3 {
    margin: auto auto 20px;
    padding: 10px 20px;
    font-size: 100%;
    background: #eeeeee;
    border-radius: 4px;
}

.sidebar_widget_title {
    margin: auto auto 20px;
    padding: 10px 20px;
    font-size: 100%;
    background: #eeeeee;
    border-radius: 4px;
    font-weight: bold;
}

#sidebar .widget {
    margin-bottom: 45px;
}

.widget_search {
    margin-bottom: 0;
}

#sidebar ol,
.widget-over-article ul,
.widget-over-article ol,
.widget-under-article ul,
.widget-under-article ol,
.widget-over-sns-buttons ul,
.widget-over-sns-buttons ol,
.widget-under-sns-buttons ul,
.widget-under-sns-buttons ol {
    padding-left: 20px;
    list-style: none;
}

#sidebar ul {
    padding: 0;
    list-style: none;
}

#sidebar ul.snsp,
.main ul.snsp,
#footer ul.snsp {
    padding-left: 0;
}

.widget-over-article {
    margin-top: 10px;
    margin-bottom: 10px;
}

#sidebar-recent-posts li,
#sidebar-popular-posts li {
    margin: 20px 0;
}

#sidebar li.cat-item {
    margin-bottom: 20px;
    padding: 0 20px 20px 20px;
    border-bottom: 1px solid #eeeeee;
}

.sidebar-thumbnail-box {
    float: left;
    width: 75px;
}

.sidebar-recent-posts-title {
    float: right;
    width: 165px;
}

#sidebar-recent-posts h3,
#sidebar-recent-posts p,
#sidebar-popular-posts h3,
#sidebar-popular-posts p {
    margin: 0;
}

.main .widgets {
    margin-top: 20px;
    margin-bottom: 20px;
}

#sidebar .widget_category_sns_follow_buttons ul,
.widget_category_sns_follow_buttons ul {
    padding-left: 0;
}

.widget_text ul {
    list-style-type: disc;
}

.widget_text ol {
    list-style-type: decimal;
}


/************************************
** 新着記事・人気記事（new, pupular）
************************************/

.widget_new_entries,
.widget_new_popular,
.widget_popular_ranking {
    line-height: 150%;
}

.widget_new_entries h4,
.widget_new_popular h4,
.widget_popular_ranking h4 {
    margin-bottom: 15px;
}

.main .widget_new_entries ul,
.main .widget_new_popular ul,
.main .widget_popular_ranking ul,
#sidebar .widget_new_entries ul,
#sidebar .widget_new_popular ul,
#sidebar .widget_popular_ranking ul,
#footer .widget_new_entries ul,
#footer .widget_new_popular ul,
#footer .widget_popular_ranking ul {
    padding-left: 0;
    list-style: none;
}

.widget_new_entries ul li,
.widget_new_popular ul li,
.widget_popular_ranking ul li {
    clear: left;
    float: none;
    margin-bottom: 10px;
    /*  overflow: auto;
  zoom: 1;*/
}

.widget_new_entries ul li img,
.widget_new_popular ul li img,
.widget_popular_ranking ul li img {
    border: medium none;
    display: inline;
    float: left;
    margin-top: 3px;
    margin-right: 5px;
    width: 75px;
    height: 75px;
    margin-bottom: 10px;
}

span.wpp-views {
    font-size: x-small;
    font-style: italic;
}

.popular-entry-thumb,
.new-entry-thumb {
    display: none;
}

.popular-entry-content,
.new-entry-content {
    margin-bottom: 20px;
    padding: 0 20px 20px 20px;
    border-bottom: 1px solid #eeeeee;
}

.popular-entry-title,
.new-entry-title {
    display: inline-block;
    margin-bottom: 10px;
}


/************************************
** 新着記事・人気記事（拡張）
************************************/

.widget_new_entries .new-entrys-large .new-entry,
.widget_new_popular .popular-entrys-large .popular-entry,
.widget_new_popular .new-entrys-large .new-entry,
.widget_new_popular .popular-entrys-large .wpp-list li,
.widget_popular_ranking .popular-entrys-large .popular-entry,
.widget_popular_ranking .popular-entrys-large .wpp-list li {
    margin-bottom: 15px;
    line-height: 120%;
    position: relative;
    display: block;
    max-width: 440px;
    /*これを書いておかないと、タイトル部分がはみ出す*/
    overflow: visible;
}

.widget_new_entries .new-entrys-large .new-entry img,
.widget_new_popular .popular-entrys-large .popular-entry img,
.widget_new_popular .new-entrys-large .new-entry img,
.widget_new_popular .popular-entrys-large .wpp-list li img,
.widget_popular_ranking .popular-entrys-large .popular-entry img,
.widget_popular_ranking .popular-entrys-large .wpp-list li img {
    width: 100%;
    float: none;
    margin: 0;
    display: block;
    margin-bottom: 5px;
    min-height: 180px;
    max-width: 440px;
    /*iPhone6は幅が414pxなのでそれより大きく*/
    max-height: 240px;
    height: auto;
}

.widget_new_popular .popular-entrys-large .wpp-list li img.wpp_cached_thumb,
.widget_popular_ranking .popular-entrys-large .wpp-list li img.wpp_cached_thumb {
    height: auto;
}

.widget_new_entries .new-entrys-large-on .new-entry .new-entry-content,
.widget_new_popular .popular-entrys-large-on .popular-entry .popular-entry-content,
.widget_new_popular .new-entrys-large-on .new-entry .new-entry-content,
.widget_new_popular .popular-entrys-large-on .wpp-list li a.wpp-post-title,
.widget_popular_ranking .popular-entrys-large-on .popular-entry .popular-entry-content,
.widget_popular_ranking .popular-entrys-large-on .wpp-list li a.wpp-post-title {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    /* 画像をBase64にするためコメントアウト
  background: url("images/black-transparent.png") repeat scroll 0 0 transparent; */
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAQMAAAAk8RryAAAAA1BMVEUAAACnej3aAAAAAXRSTlOZyTXzhgAAAA1JREFUGNNjGAWDCgAAAZAAAXtlmk8AAAAASUVORK5CYII=") repeat scroll 0 0 transparent;
    /*  opacity:0.7;
  background-color:#333;*/
    padding: 10px;
    max-height: 28%;
    overflow: hidden;
    display: block;
}

.widget_new_entries .new-entrys-large-on .new-entry .new-entry-content a,
.widget_new_popular .popular-entrys-large-on .popular-entry .popular-entry-content a,
.widget_new_popular .new-entrys-large-on .new-entry .new-entry-content a,
.widget_new_popular .popular-entrys-large-on .wpp-list li a.wpp-post-title,
.widget_popular_ranking .popular-entrys-large-on .popular-entry .popular-entry-content a,
.widget_popular_ranking .popular-entrys-large-on .wpp-list li a.wpp-post-title {
    color: #fff;
    /*opacity:0.8;*/
    display: block;
}

.widget_new_popular .popular-entrys-large-on .wpp-list li span.wpp-views,
.widget_popular_ranking .popular-entrys-large-on .wpp-list li span.wpp-views {
    /* 画像をBase64にするためコメントアウト
  background: url("images/black-transparent.png") repeat scroll 0 0 transparent; */
    background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAQMAAAAk8RryAAAAA1BMVEUAAACnej3aAAAAAXRSTlOZyTXzhgAAAA1JREFUGNNjGAWDCgAAAZAAAXtlmk8AAAAASUVORK5CYII=") repeat scroll 0 0 transparent;
    color: #fff;
    opacity: 1;
    display: block;
    right: 0;
    top: 0;
    position: absolute;
    padding: 2px 10px;
    border-bottom-left-radius: 15px;
    font-size: medium;
}


/************************************
** フッター(footer)
************************************/

#footer {
    clear: both;
    padding: 60px 0 80px;
    background-color: #1f499f;
    color: #fff;
}

#footer-widget {
    margin: 10px auto;
    text-align: left;
    padding: 0 5%;
}

.footer-left,
.footer-center,
.footer-right {
    box-sizing: border-box;
    padding: 10px;
}

.footer-left {
    float: left;
    width: 34%;
}

.footer-center {
    float: left;
    width: 33%;
}

.footer-right {
    float: left;
    width: 33%;
}

#footer-widget {
    color: #fcfcfc;
}

#footer-widget ul {
    list-style: none;
    padding-left: 1em;
}

#footer-widget li {
    font-size: 14px;
}

#footer a {
    color: #fff;
}

.footer-link i {
    margin-right: 10px;
}

.footer-table {
    margin-top: 20px;
    margin-bottom: 60px;
    font-size: 86%;
}

.footer-table td {
    padding-right: 30px;
}

.footer-navi-box {
    float: left;
    margin-bottom: 60px;
    margin-right: 68px;
}

.footer-navi-title {
    font-size: 129%;
    margin: auto;
    margin-bottom: 20px;
    padding-bottom: 10px;
    color: #fff;
    border-bottom: 1px solid #bfbfbf;
    font-weight: bold;
}

.footer-navi-title i {
    margin-right: 10px;
}

#footer h3 {
    color: #fff;
    font-size: 16px;
}

#copyright {
    padding: 20px 0;
    font-size: 80%;
    text-align: center;
    border-top: 1px solid #bfbfbf;
}

#copyright a {
    text-decoration: none;
    color: #fff;
}


/************************************
** TOPへ戻るボタン（Go to top）
************************************/

#page-top {
    position: absolute;
    display: none;
    right: 20px;
    bottom: 90px;
    z-index: 10;
}

#page-top a {
    color: #fff;
    padding: 16px 32px;
    text-decoration: none;
    display: block;
    cursor: pointer;
    text-align: center;
    background-color: #3491ef;
    line-height: 100%;
    border-radius: 4px;
    font-size: 11px;
}

#page-top a:hover {
    opacity: .7;
}


/************************************
** 広告（ads）
************************************/

.ad-space {
    margin: 30px 0;
    clear: both;
}

.ad-article-bottom {}

.ad-left {
    float: left;
    margin-right: 2px;
    width: 336px;
}

.ad-right {
    float: right;
    margin-left: 2px;
    width: 336px;
}

.ad-top-pc {
    width: 728px;
    margin: 0 -24px 15px;
}

.ad-space-top {
    margin-top: 0;
    margin-bottom: 5px;
}

.ad-space-singular {
    margin-top: 15px;
    margin-bottom: 10px;
}

.ad-space-top .ad-label {
    display: none;
}

#sidebar .ad-space {
    margin-top: 0;
}


/************************************
** 非表示にするものまとめ
************************************/

.widget-ad,
.widget-over-article-title,
.widget-under-article-title,
.widget-over-sns-buttons-title,
.widget-under-sns-buttons-title,
#sidebar .ad-space .ad-label {
    display: none;
}

.widget-index-top {
    margin-bottom: 30px;
}

.widget-index-middle {
    margin-bottom: 40px;
}


/************************************
** モバイルメニュー
************************************/

#mobile-menu {
    display: none;
}

#mobile-menu a {
    color: #333;
    padding: 4px 8px;
    text-decoration: none;
    display: block;
    cursor: pointer;
    text-align: center;
    line-height: 100%;
    border-radius: 3px;
    position: absolute;
    right: 7px;
    font-size: 15px;
    margin-top: 3px;
}

#mobile-menu a:hover,
#page-top a:hover {
    opacity: 0.7;
}


/************************************
** サムネイルつきポストナビ
************************************/

#prev-next {
    width: 100%;
    margin: 36px 0 24px;
    padding: 0;
    display: table;
}

#prev-next #prev,
#prev-next #next {
    width: 50%;
    display: table-cell;
    position: relative;
    text-decoration: none;
}

#prev-next #prev:hover,
#prev-next #next:hover {
    background-color: rgba(238, 238, 238, 0.7);
}

#prev-next #prev {
    border-right: #ddd 1px solid;
}

#prev-next #prev-title,
#prev-next #next-title {
    top: -0.8em;
    position: absolute;
    border: 1px #ccc solid;
    text-align: center;
    padding: 5px;
    color: #666;
    font-size: 28px;
    border-radius: 6px;
    background-color: #fff;
}

#prev-next #next-title {
    right: 10px;
}

#prev-next span {
    padding: 0;
    margin: 0;
}

#prev-next #prev img,
#prev-next #next img {
    margin: 0 auto;
    width: 100px;
    height: 100px;
}

#prev-next #prev-no,
#prev-next #next-no {
    width: 50%;
    padding: 0 10px;
    display: table-cell;
}

#prev-next #prev-no {
    border-right: #ddd 1px solid;
}

#prev-no,
#next-no {
    position: relative;
}

#prev-no a:hover,
#next-no a:hover {
    background-color: #fff;
}

#prev-next-home span {
    color: #ccc;
    font-size: 100px;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}


/*IE10以降に適用されるCSSハック（一応）*/

@media all and (-ms-high-contrast:none) {
    #prev-next-home span {
        margin-top: 50px;
    }
}

#prev-next #prev,
#prev-next #prev::before,
#prev-next #prev::after,
#prev-next #next,
#prev-next #next::before,
#prev-next #next::after {
    box-sizing: border-box;
}

#prev-next #next-title {
    right: 10px;
}

#prev-next #prev img {
    margin-top: 10px;
    float: left;
    margin-right: 10px
}

#prev-next #next img {
    margin-top: 10px;
    float: right;
    margin-left: 10px;
}


/************************************
** モバイルモーダルメニュー（animatedModal.js）
************************************/

#animatedModal a {
    color: #fff;
    text-decoration: none;
}

.close-animatedModal {
    text-align: center;
    font-size: 45px;
}

.modal-content {
    max-width: 700px;
    width: auto;
    margin: auto;
}

#animatedModal ul {
    list-style-type: none;
    padding-left: 0;
    margin-top: 0;
    margin-left: 0;
}

#animatedModal ul li {
    border: 1px solid #fff;
    border-radius: 5px;
    margin: 0 10px 10px;
}

#animatedModal ul li a {
    padding: 5px 10px;
    width: auto;
    border-radius: 5px;
    display: block;
}

#animatedModal ul li a:hover {
    background-color: #555;
}


/*Google検索ボックス用*/

#___gcse_0 .cse .gsc-control-cse,
#___gcse_0 .gsc-control-cse {
    background-color: transparent;
    border: none;
}


/*SlickNav用スタイル*/

.slicknav_menu {
    display: none;
}


/*トップへ戻る画像の背景*/

#page-top a.move-page-top-image {
    background-color: transparent;
}


/*Firefoxの不具合？対策*/

div.vdh-mask {
    display: none;
}


/************************************
** Alt属性値を画像ホバー時にキャプション表示する
************************************/

.imgs-wrap {
    margin: 16px 0;
}

.hover-image {
    display: inline-block;
    /*margin: 16px 0;*/
    text-align: left;
    opacity: .99;
    overflow: hidden;
    position: relative;
    border-radius: 3px;
    /*box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.05);*/
}

.wp-caption .hover-image {
    margin: 0;
}

.hover-image:before {
    content: '';
    background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.7) 100%);
    width: 100%;
    height: 50%;
    opacity: 0;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 2;
    -webkit-transition-property: top, opacity;
    transition-property: top, opacity;
    -webkit-transition-duration: 0.1s;
    transition-duration: 0.1s;
}

.hover-image-admin:before {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

.hover-image img {
    display: block;
    max-width: 100%;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    vertical-align: bottom;
}

.hover-image .details {
    font-size: 16px;
    padding: 20px;
    color: #fff;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
}

.hover-image .details a {
    color: #fff;
    text-decoration: none;
}

.hover-image .details span {
    display: block;
    opacity: 0;
    position: relative;
    top: 100px;
    -webkit-transition-property: top, opacity;
    transition-property: top, opacity;
    -webkit-transition-duration: 0.1s;
    transition-duration: 0.1s;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.hover-image-admin .details span {
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

.hover-image .details .info {
    line-height: 1.2;
    margin-top: 5px;
    font-size: 12px;
}

.hover-image:hover:before,
.hover-image:hover span {
    opacity: 1;
}

.hover-image:hover:before {
    top: 50%;
}

.hover-image:hover span {
    top: 0;
}

.hover-image:hover .info {
    -webkit-transition-delay: 0.15s;
    transition-delay: 0.15s;
}

.hover-image-admin:hover .info {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}


/************************************
** Facebookページを「いいね！」するエリアのスタイル
************************************/

div.fb-like-mobile {
    display: none;
}

.article-like {
    height: 100px;
    margin-top: 30px;
    margin-bottom: 30px;
    clear: both;
}

.article-like-thumb {
    float: left;
    width: 100px;
}

.article-like-thumb img {
    display: block;
}

.article-like-body {
    margin-right: 140px;
    float: none;
    padding: 10px;
    font-size: 18px;
    line-height: 1.3em;
    height: 100px;
    overflow: hidden;
    background-color: #fff;
    color: #000;
    box-sizing: border-box;
}

.article-like-body::after {
    content: '\f054';
    position: absolute;
    right: 110px;
    top: 27px;
    color: #ccc;
    font-size: 50px;
    font-family: FontAwesome;
    line-height: 100%;
}

.article-like-button {
    background-color: #f3f3f3;
    width: 100px;
    height: 100px;
    text-align: center;
    float: right;
    padding-top: 27px;
    box-sizing: border-box;
    /*  display: -webkit-flex;
  display:         flex;
  -webkit-align-items: center;
          align-items: center;
  -webkit-justify-content: center;
          justify-content: center;*/
}

.article-like-button iframe {
    background-color: #fff;
}

.article-like-arrow-box {
    float: left;
    position: relative;
    border: 1px solid #bbb;
    margin-left: 12px;
    width: calc(100% - 114px);
    border-radius: 5px;
}

.article-like-arrow-box-in {
    border-radius: 5px;
    overflow: hidden;
}

.article-like-arrow-box:after,
.article-like-arrow-box:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.article-like-arrow-box:after {
    border-color: rgba(255, 255, 255, 0);
    border-right-color: #fff;
    border-width: 10px;
    margin-top: -10px;
}

.article-like-arrow-box:before {
    border-color: rgba(221, 221, 221, 0);
    border-right-color: #bbb;
    border-width: 11px;
    margin-top: -11px;
}


/************************************
** Facebookページを「いいね！」するエリアのスタイル（サイドバーの時）
************************************/

#sidebar .article-like-body::after {
    display: none;
}

#sidebar .article-like-body {
    font-size: 0.8em;
    padding: 5px;
    line-height: 1.1em;
    margin-right: 0;
    height: 70px;
}

#sidebar .article-like-arrow-box {
    height: 100px;
}

#sidebar .article-like-button {
    float: none;
    width: 100%;
    height: 30px;
    display: block;
    line-height: 24px;
    padding-top: 0;
}

#sidebar div.fb-like-mobile {
    display: block;
}

#sidebar div.fb-like-pc {
    display: none;
}


/************************************
** feedlyバルーンのスタイル
************************************/


/************************************
** 購読者数つきFeedlyボタン（縦型）
************************************/

#feedly-followers {
    display: block;
}

#feedly-followers a {
    display: block;
}

#feedly-followers img {
    width: 72px;
    height: 22px;
    border: none;
}


/* 購読者数の表示部分 */

#feedly-count {
    margin: 0 auto 6px auto;
    width: 62px;
    height: 31px;
    background-color: #FFF;
    position: relative;
    border: 1px solid #BDBDBD;
    border-radius: 4px;
    padding: 0 4px;
    font-family: Arial;
    font-size: 16px;
    line-height: 31px;
    text-align: center;
    display: block;
}

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


/* 購読者数吹き出し部分 */

.fdly-count:after,
.fdly-count:before {
    border: solid transparent;
    content: ' ';
    right: 43%;
    position: absolute;
}

.fdly-count:before {
    border-width: 5px;
    border-top-color: #B0C1D8;
    top: 32px;
}

.fdly-count:after {
    border-width: 5px;
    border-top-color: #FFF;
    top: 30px;
}


/************************************
** 購読者数つきFeedlyボタン（横型）
************************************/

.feedly-btn-horizontal img#feedly-follow {
    width: 60px;
    height: 20px;
    border: 0;
    margin-right: 3px;
}

.feedly-btn-horizontal .arrow_box {
    position: relative;
    background: #fff;
    border: 1px solid #BDBDBD;
    padding: 0 6px;
    border-radius: 3px;
    top: -7px;
    line-height: 18px;
    display: inline-block;
    height: 22px;
}

.feedly-btn-horizontal a {
    color: #333;
    font-size: 11px;
    text-decoration: none;
    line-height: 18px;
}

.feedly-btn-horizontal a:hover {
    color: #333;
}

.feedly-btn-horizontal .arrow_box:after,
.feedly-btn-horizontal .arrow_box:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.feedly-btn-horizontal .arrow_box:after {
    border-color: rgba(255, 255, 255, 0);
    border-right-color: #fff;
    border-width: 3px;
    margin-top: -3px;
}

.feedly-btn-horizontal .arrow_box:before {
    border-color: rgba(189, 189, 189, 0);
    border-right-color: #BDBDBD;
    border-width: 4px;
    margin-top: -4px;
}


/************************************
** ブログカードのスタイル
************************************/

.blog-card {
    margin: 20px 0;
    max-width: 100%;
    width: 500px;
    position: relative;
    clear: both;
    min-height: 145px;
    min-width: 300px;
    box-sizing: border-box;
}

#sidebar .blog-card {
    margin-left: 0;
    margin-right: 0;
}

#sidebar .blog-card-title {
    font-size: 14px;
    line-height: 120%;
}

#sidebar .blog-card-excerpt,
#sidebar .blog-card-footer {
    font-size: 11px;
    line-height: 120%;
}

#sidebar img.blog-card-thumb-image {
    width: 80px;
    height: 80px;
    margin-bottom: 20px;
}

#sidebar .blog-card-thumbnail-left .blog-card-content {
    margin-left: 90px;
}

.internal-blog-card,
.external-blog-card {
    padding: 12px;
    padding-bottom: 6px;
    border: 1px solid #ddd;
    word-wrap: break-word;
    border-radius: 5px;
}

.external-blog-card-hatena {
    border: 0;
    background-color: transparent;
    overflow: hidden;
}

.blog-card-thumbnail {
    float: left;
}

.blog-card img.blog-card-thumb-image {
    border: 0;
    width: 100px;
    height: 100px;
    object-fit: cover;
    display: block;
    margin-bottom: 10px;
}

.blog-card-content {
    margin-left: 110px;
    line-height: 120%;
    margin-bottom: 0.5em;
}

.blog-card-title {
    margin-bottom: 5px;
}

.blog-card-title a {
    font-weight: bold;
    text-decoration: none;
    color: #111;
}

.blog-card-excerpt {
    color: #333;
    font-size: 0.9em;
    max-height: 80px;
    overflow: hidden;
}

.blog-card-footer {
    font-size: 0.7em;
    width: 100%;
    color: #777;
    clear: both;
    vertical-align: bottom;
    margin-left: -4px;
    /*position: absolute;
  bottom: 12px;*/
    /*position: relative;
  left: -3px;*/
}

.blog-card-site {
    float: left;
    margin-right: 7px;
    margin-top: 1px;
}

.blog-card-hatebu {
    float: left;
    margin-right: 7px;
    position: relative;
    bottom: -5px;
}

.blog-card-date {
    float: right;
    margin-bottom: -5px;
}

.blog-card-site {
    position: relative;
}

.blog-card-site a {
    color: #777;
    text-decoration: none;
}

.blog-card-favicon {
    margin-right: 3px;
    position: relative;
    bottom: -4px;
}

.blog-card-favicon-img {
    width: 16px;
    height: 16px;
}


/***********************************
 ブログカード（幅が狭い場合）
 ***********************************/

@media screen and (max-width: 560px) {
    .article .blog-card,
    .article .entry-content .hover-card {
        width: 100%;
    }
    .blog-card-content {
        margin-left: 0;
    }
    .blog-card-title a {
        font-size: 14px;
        line-height: 120%;
    }
    .blog-card-excerpt,
    .blog-card-footer {
        font-size: 11px;
        line-height: 120%;
    }
    .main .blog-card,
    .main .hover-card {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }
    img.blog-card-thumb-image {
        width: 80px;
        height: 80px;
    }
    .blog-card-content {
        margin-left: 90px;
    }
}


/* IE10以降 */


/*@media all and (-ms-high-contrast:none){
  .blog-card-favicon {
    display:none;
  }
}*/

.clear {
    clear: both;
}

#sidebar .blog-card,
#sidebar .hover-internal-blog-card,
#sidebar .hover-external-blog-card,
#sidebar .hover-card,
#footer .blog-card,
#footer .hover-internal-blog-card,
#footer .hover-external-blog-card {
    width: 100%;
    min-width: initial;
    margin-left: 0;
    margin-right: 0;
}

@media screen and (max-width:524px) {
    /*.blog-card{width:auto;}*/
}


/************************************
** SNSに関するスタイルシートの設定
************************************/


/************************************
** SNSシェアボタン
************************************/

#sns-group {
    clear: both;
}

ul.snsb {
    padding: 10px 0;
    margin-bottom: 0;
    font-family: sans-serif;
}

.snsb li {
    float: left;
    list-style-type: none;
    margin-right: 7px;
    margin-top: 2px;
    margin-bottom: 5px;
}

ul.snsbs li {
    margin-right: 5px;
    margin-bottom: 5px;
}

ul.snsbs li a {
    color: #fff;
    text-decoration: none;
    font-size: 25px;
    background-color: #000;
    display: block;
    padding: 7px 6px 3px 6px;
    border-radius: 5px;
    width: 25px;
    height: 30px;
    position: relative;
    text-align: center;
}

ul.snsbs li a .social-count {
    font-size: 10px;
    background-color: #555;
    width: auto;
    padding: 1px 3px;
    border-radius: 5px;
    position: absolute;
    display: inline-block;
    right: 0;
    bottom: 0;
    height: 12px;
    line-height: 12px;
    font-family: Arial;
}

ul.snsbs a.twitter-btn-icon-link {
    background-color: #55acee;
}

ul.snsbs a.facebook-btn-icon-link {
    background-color: #3b5998;
}

ul.snsbs a.google-plus-btn-icon-link {
    background-color: #dd4b39;
}

ul.snsbs a.hatena-btn-icon-link {
    background-color: #3C7DD1;
}

ul.snsbs a.pocket-btn-icon-link {
    background-color: #EE4257;
}

ul.snsbs a.line-btn-icon-link {
    background-color: #00c300;
}

ul.snsbs a.evernote-btn-icon-link {
    background-color: #51b125;
}

ul.snsbs a.feedly-btn-icon-link {
    background-color: #87bd33;
}

ul.snsbs a.push7-btn-icon-link {
    background-color: #eeac00;
}

ul.snsbs a.comments-btn-icon-link {
    background-color: #555;
    padding-top: 4px;
    padding-bottom: 6px;
}

.snsbs li a:hover {
    opacity: 0.7;
}

.snsbs li img {
    border-radius: 10px;
}

img.line-btn-img {
    height: 62px;
}

img.line-btn-img-mini {
    display: none;
}

img.evernote-btn-img {
    min-height: 62px;
}

img.evernote-btn-img-mini {
    display: none;
}


/************************************
** タイトル下SNSボタン
************************************/

#sns-group-top ul {
    padding: 0;
    line-height: 20px;
}

#sns-group-top ul li {
    margin-top: 2px;
    margin-bottom: 2px;
}

#sns-group-top .sns-share-msg {
    display: none;
}

#sns-group-top .twitter-btn {
    width: 100px;
}

#sns-group-top .facebook-btn {
    width: 127px;
}

#sns-group-top .google-plus-btn {
    width: 65px;
    margin-top: -2px;
}

#sns-group-top .pocket-btn {
    width: 90px;
}

#sns-group-top img.line-btn-img {
    display: none;
}

#sns-group-top img.line-btn-img-mini {
    display: block;
    height: 20px;
}

#sns-group-top .evernote-btn-img {
    display: none;
}

#sns-group-top .evernote-btn-img-mini {
    display: block;
}

#sns-group-top .evernote-btn-img-mini {
    height: 20px;
    width: auto;
}


/************************************
** SNSページフォロー
************************************/

.sns-follow-msg {
    font-size: medium;
}

.sns-share-msg {
    font-size: medium;
}

#header .sns-follow-msg {
    display: none;
}

ul.snsp {
    list-style: none;
    padding-left: 0;
    margin: 10px 0 15px;
}

ul.snsp li {
    display: inline;
    margin-right: 5px;
}

ul.snsp li a {
    font-size: 19px;
    line-height: 170%;
    text-decoration: none;
}


/*ul.snsp li.push7-page a span {
  font-size: 26px;
  background-color: transparent;
  width: 30px;
  height: 30px;
  background-color: #666;
  padding: 2px 2px 3px;
  color: #fff;
  position: relative;
  top: -4px;
}

ul.snsp li.push7-page a{
  text-align: center;
  border-radius: 4px;
  display: inline-block;
  position: relative;
}*/


/*Facebookコメント欄が表示されない不具合修正*/

.fb-like iframe {
    max-width: none;
}


/*アイコフォントの大きさ*/

ul.snsp li {
    display: inline-block;
    margin-right: 5px;
}

ul.snsp li a {
    text-decoration: none;
}

ul.snsp li a span {
    display: block;
    font-size: 33px;
    width: 33px;
    height: 33px;
    overflow: hidden;
    border-radius: 4px;
    background-color: #666;
    color: #fff;
}


/*feedly、LINEアイコンは自作なので少し大きかったので調整*/

ul.snsp li a span.icon-feedly-square,
ul.snsp li a span.icon-line-square,
ul.snsp li a span.icon-push7-square,
ul.snsp li a span.icon-hatebu-square {
    font-size: 34px;
    position: relative;
}

#sns-group ul.snsp li a:hover {
    color: #fff;
}

ul.snsp li.twitter-page a span:hover {
    background-color: #55acee;
}

ul.snsp li.facebook-page a span:hover {
    background-color: #3b5998;
}

ul.snsp li.google-plus-page a span:hover {
    background-color: #dd4b39;
}

ul.snsp li.instagram-page a span:hover {
    background-color: #3f729b;
}

ul.snsp li.hatebu-page a span:hover {
    background-color: #008fde;
}

ul.snsp li.pinterest-page a span:hover {
    background-color: #cc2127;
}

ul.snsp li.youtube-page a span:hover {
    background-color: #e52d27;
}

ul.snsp li.flickr-page a span:hover {
    background-color: #1d1d1b;
}

ul.snsp li.github-page a span:hover {
    background-color: #24292e;
}

ul.snsp li.feedly-page a span:hover {
    background-color: #87bd33;
}

ul.snsp li.push7-page a span:hover {
    background-color: #eeac00;
}

ul.snsp li.line-page a span:hover {
    background-color: #00c300;
}

ul.snsp li.rss-page a span:hover {
    background-color: #fe9900;
}

ul.snsp li.feedly-page a img {
    margin-bottom: -3px;
    width: 32.5px;
    height: 32.5px;
    border-radius: 7px;
    border-width: 0px;
}


/************************************
** シェアバー
************************************/

#sharebar {
    background: none repeat scroll 0 0 #FFFFFF;
    border: 1px solid #CCCCCC;
    margin: 0;
    padding: 0;
    text-align: center;
    z-index: 99;
    margin-left: -110px;
    margin-top: -50px;
    width: 90px;
    position: fixed;
}

#sharebar ul li {
    display: block;
    margin: 5px;
    overflow: hidden;
    padding: 0;
    text-align: center;
    float: none;
}

#sharebar ul li div {
    margin: auto;
}

#sharebar ul.snsb-balloon li,
#sharebar li.comments-balloon-btn {
    margin-left: 15px;
    margin-bottom: 10px;
}

#sharebar .sns-share-msg {
    display: none;
}


/************************************
** 自作のバルーンシェアボタン
************************************/

.balloon-btn-set {
    display: block;
    width: 60px;
    height: 63px;
}

.balloon-btn-set a {
    display: block;
    color: #777;
    font-size: 14px;
    text-decoration: none;
}

.balloon-btn-set a.twitter-arrow-box-link .fa-comments {
    color: #aaa;
    font-size: 13px;
}

a.arrow-box-link {
    font-weight: bold;
    text-align: center;
    font-family: Arial;
    display: block;
    font-size: 14px;
}

a.evernote-arrow-box-link {
    /*font-family: 'Boogaloo', cursive;*/
    font-weight: normal;
}

a.arrow-box-link:hover {
    color: #555;
}

a.balloon-btn-link {
    border: 1px solid #ddd;
    width: 58px;
    height: 20px;
    line-height: 22px;
    position: relative;
    top: 4px;
    color: white;
    border-radius: 3px;
    text-align: center;
    display: block;
}

a.balloon-btn-link:hover {
    opacity: 0.7;
}

a.twitter-balloon-btn-link {
    background-color: #55acee;
}

a.facebook-balloon-btn-link {
    background-color: #3c5a99;
}

a.googleplus-balloon-btn-link {
    background-color: #dd4b39;
}

a.hatena-balloon-btn-link {
    background-color: #3c7dd1;
}

a.pocket-balloon-btn-link {
    background-color: #ee4257;
}

a.line-balloon-btn-link {
    background-color: #00c300;
}

a.evernote-balloon-btn-link {
    background-color: #51b125;
}

a.feedly-balloon-btn-link {
    background-color: #87bd33;
}

a.push7-balloon-btn-link {
    background-color: #eeac00;
}

a.comments-balloon-btn-link {
    background-color: #333;
}

a.comments-balloon-btn-link .fa-comment {
    position: relative;
    top: -3px;
}

.arrow-box {
    position: relative;
    background: #fff;
    border: 1px solid #bbb;
    text-align: center;
    width: 58px;
    height: 33px;
    border-radius: 3px;
    line-height: 33px;
    display: inline-block;
}

.arrow-box:after,
.arrow-box:before {
    top: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.arrow-box:after {
    border-color: rgba(255, 255, 255, 0);
    border-top-color: #fff;
    border-width: 3px;
    margin-left: -3px;
}

.arrow-box:before {
    border-color: rgba(187, 187, 187, 0);
    border-top-color: #ddd;
    border-width: 5px;
    margin-left: -5px;
}


/************************************
** タイトル下SNSボタン
************************************/

.page #sns-group-top {
    display: none;
}

#sns-group-top .balloon-btn-set {
    display: block;
    width: 87px;
    height: 22px;
    margin-bottom: 10px;
}

#sns-group-top .arrow-box {
    height: 20px;
    width: 50px;
    line-height: 20px;
    float: right;
}

#sns-group-top .arrow-box-link {
    line-height: 20px;
    text-align: center;
}

#sns-group-top .balloon-btn-link {
    top: 0;
    width: 28px;
    float: left;
    line-height: 24px;
}

#sns-group-top .arrow-box {
    position: relative;
    background: #fff;
    border: 1px solid #bbb;
}

#sns-group-top .arrow-box:after,
#sns-group-top .arrow-box:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    left: auto;
    position: absolute;
    pointer-events: none;
}

#sns-group-top .arrow-box:after {
    border-color: rgba(255, 255, 255, 0);
    border-right-color: #fff;
    border-width: 3px;
    margin-top: -3px;
}

#sns-group-top .arrow-box:before {
    border-color: rgba(119, 119, 119, 0);
    border-right-color: #bbb;
    border-width: 4px;
    margin-top: -4px;
}


/************************************
** Google FontsのBoogalooをダウンロードしたものの呼び出し
************************************/


/*@font-face{
  font-family: Boogaloo;
  src:url('webfonts/boogaloo/Boogaloo-Regular.ttf');
}

@font-face {
 font-family: Boogaloo;
 src: url('webfonts/boogaloo/Boogaloo-Regular.ttf') format("truetype");
}*/


/************************************
** バイラルボタン
************************************/

.sns-group-viral ul.snsb {
    box-sizing: border-box;
}

.sns-group-viral ul.snsb li {
    box-sizing: border-box;
    width: 24%;
    margin-right: 1%;
}

.sns-group-viral ul.snsb li a {
    box-sizing: border-box;
    width: 100%;
    height: 45px;
    border-radius: 3px;
    margin-bottom: 5px;
    text-align: center;
    font-size: 16px;
    line-height: 35px;
}

.sns-group-viral ul.snsbs li a .social-count {
    font-size: 12px;
    bottom: 2px;
    font-weight: bold;
    background-color: transparent;
}

.sns-group-viral .social-icon:after {
    margin-left: 7px;
    position: relative;
    top: -2px;
    font-family: arial;
}

.sns-group-viral .fa-comment:after {
    top: 0;
}

.sns-group-viral .icon-twitter:after {
    content: 'Twitter';
}

.sns-group-viral .icon-facebook:after {
    content: 'Facebook';
}

.sns-group-viral .icon-googleplus:after {
    content: 'Google+';
}

.sns-group-viral .icon-hatena:after {
    content: 'Hatena';
}

.sns-group-viral .icon-pocket:after {
    content: 'Pocket';
}

.sns-group-viral .icon-line:after {
    content: 'Line';
}

.sns-group-viral .icon-evernote:after {
    content: 'Evernote';
}

.sns-group-viral .icon-feedly:after {
    content: 'Feedly';
}

.sns-group-viral .icon-push7:after {
    content: 'Push';
}

.sns-group-viral .fa-comment:after {
    content: 'Comment';
}


/************************************
** バイラルボタン（シェアバー）
************************************/

#sharebar .sns-group-viral ul.snsb li {
    width: 100%;
}

#sharebar .sns-group-viral ul.snsb li a {
    width: 80px;
}

#sharebar .sns-group-viral .social-icon:after {
    display: none;
}


/************************************
** とりあえず何でもレスポンシブ化するスタイル
************************************/

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

.overflow-container {
    overflow-y: scroll
}

.aspect-ratio {
    height: 0;
    padding-top: 56.25%;
    position: relative
}

.aspect-ratio--object {
    bottom: 0;
    height: 100%;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 100
}


/************************************
** 外部パーツ微調整
************************************/


/*外部パーツの微調整など*/


/*SimplicityでbbPressのスタイルを整える*/

.bbp-breadcrumb-home,
.bbp-breadcrumb-home+.bbp-breadcrumb-sep,
.topic .post-date,
.topic .post-update,
.topic .footer-post-meta,
.post-0 .post-date,
.post-0 .post-update,
.post-0 .footer-post-meta,
.forum .post-date,
.forum .post-update,
.forum .footer-post-meta {
    display: none;
}

#bbp_search {
    font-size: 17px;
}

#bbp_search_submit {
    padding-top: 9px;
    padding-bottom: 9px;
}

.post-0 .post-meta {
    height: 27px;
}

.bbp-reply-content {
    font-size: 16px;
    line-height: 170%;
}

.bbp-forum-title {
    font-size: 16px;
}

.bbp-topic-permalink {
    font-size: 14px;
}

.main #bbpress-forums .status-closed {
    color: #000;
    background-color: #fcfcfc;
}

.main #bbpress-forums .status-closed a {
    color: #2098a8;
}

.main #bbpress-forums .status-closed li.bbp-topic-title a {
    color: #333;
}

#bbp-container .entry-content {
    margin-left: 0;
}

.bbp-form>p,
.bbp-form>div {
    text-align: left;
}

#bbp_reply_content,
#bbp_topic_content {
    border: 1px solid #ccc;
}


/*bbResolutions*/

.bbr-form-wrapper {
    clear: left;
}

.bbr-field-wrapper {
    float: left;
    margin-right: 10px;
    position: relative;
    top: 5px;
}

.bbr-resolution-sticker {}

@media screen and (max-width: 440px) {
    .main #bbpress-forums div.bbp-forum-content,
    .main #bbpress-forums div.bbp-topic-content,
    .main #bbpress-forums div.bbp-reply-content {
        margin-left: 10px;
    }
}

@media screen and (max-width: 480px) {
    .article #bbpress-forums .bbp-body div.bbp-reply-author {
        padding-left: 0;
        margin-top: 10px;
        line-height: 130%;
    }
    .article #bbpress-forums div.bbp-reply-author img.avatar {
        top: 0;
    }
}


/*Googleカスタム検索用*/

#cse-search-box input[type="text"] {
    width: calc(100% - 70px);
    background-color: #fff;
}

#cse-search-box input {
    display: inline-block;
    box-sizing: border-box;
    height: 34px;
    color: #333;
}

.main #bbpress-forums div.bbp-reply-author img.avatar {
    position: relative;
}


/*カテゴリ・アーカイブウィジェットをドロップダウンにしたときラベルを表示しない*/

.widget_categories label.screen-reader-text,
.widget_archive label.screen-reader-text {
    display: none;
}


/************************************
** レスポンシブページネーション
************************************/

.pagination {
    list-style-type: none;
    padding-left: 0;
    text-align: center;
    margin: 40px 0;
}

.pagination li {
    display: inline-block;
}

.pagination a {
    font-weight: 500;
    text-decoration: none;
    /*  border: 1px solid #ddd;
  border-left-width: 0;*/
    border: none;
    width: 38px;
    height: 38px;
    color: #333;
    display: block;
    line-height: 38px;
    margin-left: 3px;
}

.pagination li:not([class*="current"]) a:hover {
    background-color: #eee;
}

.pagination li:first-of-type a {
    border-left-width: 1px;
}

.pagination li.first span,
.pagination li.last span,
.pagination li.previous span,
.pagination li.next span {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
}

.pagination li.first a::before,
.pagination li.last a::after,
.pagination li.previous a::before,
.pagination li.next a::after {
    display: inline-block;
    font-family: Fontawesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translate(0, 0);
}

.pagination li.first a::before {
    content: "\f100";
}

.pagination li.last a::after {
    content: "\f101";
}

.pagination li.previous a::before {
    content: "\f104";
}

.pagination li.next a::after {
    content: "\f105";
}

.pagination li.current a {
    background-color: #ddd;
    cursor: default;
    pointer-events: none;
}

.pagination>li:first-child>a {
    border-bottom-left-radius: 4px;
    border-top-left-radius: 4px;
}

.pagination>li:last-child>a {
    border-bottom-right-radius: 4px;
    border-top-right-radius: 4px;
}

@media only screen and (max-width: 500px) {
    .pagination li.first,
    .pagination li.last {
        /* screen readers only */
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    .pagination li.previous a {
        border-left-width: 1px;
    }
}

@media only screen and (max-width: 310px) {
    .pagination li {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    .pagination li.current,
    .pagination li.first,
    .pagination li.last,
    .pagination li.previous,
    .pagination li.next {
        position: initial;
        top: initial;
        left: initial;
    }
    .pagination li.previous a {
        border-left-width: 0;
    }
}


/*@media only screen and ( max-width: 400px ) {
  .pagination li.first,
  .pagination li.last {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  .pagination li.previous a { border-left-width: 1px; }
}
*/

.entry-large-thumnail {
    width: 100%;
    height: auto;
}


/***********************
* 旧Twitterボタンのような見た目を再現
***********************/

.twitter-balloon-btn-defalt .balloon-btn-set {
    display: block;
    width: 65px;
    height: 63px;
}

.twitter-balloon-btn-defalt a.balloon-btn-link {
    width: 65px;
    position: relative;
}

.twitter-balloon-btn-defalt .arrow-box {
    width: 65px;
}

.twitter-balloon-btn-defalt a.twitter-balloon-btn-link .tweet-label {
    font: 11px "Helvetica Neue", Arial, sans-serif;
    /*
  font-weight: bold;
  color: #000;
  */
    vertical-align: 25%;
}

#sns-group-top .twitter-balloon-btn-defalt .balloon-btn-set {
    width: 100px;
    margin-bottom: 0;
}

#sns-group-top .twitter-balloon-btn-defalt .balloon-btn-link {
    width: 65px;
}

#sns-group-top .twitter-balloon-btn-defalt .arrow-box {
    width: 25px;
}


/************************************
** アイキャッチ
************************************/

.eye-catch {
    line-height: 100%;
    margin-left: 0;
}

.eye-catch-caption {
    font-size: 75%;
}


/************************************
** 折り畳みアーカイブウィジェット
************************************/

.widget_archive a.year {
    cursor: pointer;
    text-decoration: underline;
}

.widget_archive .years ul {
    transition: .3s ease;
    margin: 0;
    margin-bottom: 1em;
}

#sidebar .widget_archive ul.years li {
    margin-bottom: 0;
}


/*PageSpeed Insightsのユーザーエクスペリエンス対策*/

@media screen and (max-width:639px) {
    #sidebar .widget_archive ul.years li a {
        margin-bottom: 8px;
        display: inline-block;
    }
}

.widget_archive ul.years .hide {
    margin: 0;
    height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    display: none;
}

.admin-pv {
    text-align: right;
}

.admin-pv>span {
    margin: 0 5px;
    padding: 0 3px;
}


/************************************
** Push7通知ボタンのスタイル
************************************/

.snsb .p7-b>.p7-left,
.snsb .p7-b>.p7-top {
    border-color: #bbb;
    font-family: Arial;
    text-align: center;
    font-size: 14px;
    font-weight: bold;
    color: #777;
}

.snsb .p7-b>.p7-left {
    margin-left: 6px;
}

.snsb .p7-b>.p7-top {
    padding: 0;
    line-height: 33px;
    height: 33px;
    margin-bottom: 4px;
}

#sharebar .snsb .p7-b>.p7-top {
    margin-bottom: 4px;
}


/*
.push7-balloon-btn .p7-b > a > span{
  display: none;
}
*/

.push7-balloon-btn .p7-b>a>span {
    font-size: 12px;
}

.push7-balloon-btn .p7-b>a {
    border: 1px solid #ddd;
    padding: 2px 4px;
}

.push7-balloon-btn .p7-b>a:hover {
    opacity: 0.7;
}

.facebook-save-button {
    margin: 1em 0;
}

.widget-under-sns-buttons.widget_facebook_save_button .main-widget-label {
    display: block;
    margin: 1em 0;
}


/************************************
** highlight.js用のスタイル
************************************/

.hljs {
    display: block;
    word-wrap: normal;
    overflow: auto;
    padding: 0.5em;
    border-radius: 5px;
    margin: 1em auto;
    line-height: 1.4;
    -webkit-text-size-adjust: none;
}

.hljs-keyword,
.hljs-attribute,
.hljs-selector-tag,
.hljs-meta-keyword,
.hljs-doctag,
.hljs-name {
    font-weight: bold;
}


/************************************
** 最近のコメントウィジェットのスタイル
************************************/

dl.recent-comments {
    width: 100%;
    margin: 20px auto;
}

dl.recent-comments dt {
    text-align: left;
    clear: left;
    float: left;
    width: 46px;
    white-space: nowrap;
    margin-top: 3px;
}

dl.recent-comments dd {
    margin-left: 0;
    margin-bottom: 20px;
}

dl.recent-comments dd .recent-comment-author {
    font-weight: bold;
}

dl.recent-comments dd .recent-comment-content {
    font-size: 14px;
}

.recent-comment-title {
    clear: both;
}


/************************************
** ホバーカードの設定
************************************/

.hover-card {
    text-decoration: none;
    display: block;
}

.hover-internal-blog-card,
.hover-external-blog-card {
    width: 500px;
}

.hover-internal-blog-card.hover-blog-card-wide,
.hover-external-blog-card.hover-blog-card-wide {
    width: calc(100% - 40px);
    margin: 20px;
}


/*ホバーカード内に幅いっぱいにする*/

.hover-blog-card-wide .blog-card-wide {
    width: auto;
    margin: 0;
}


/*
.hover-card:hover{
  background-color: #f9f9f9;
}
*/

.hover-card .entry-read,
.hover-card .category,
.hover-card .related-entry-read,
.hover-card .blog-card-title,
.hover-card .admin-pv {
    color: #111;
    text-decoration: underline;
}

.hover-card .admin-pv {
    text-decoration: none;
}

.hover-card .entry:hover,

/*.hover-card .entry-large-thumbnail:hover,
.hover-card .entry-tile:hover,*/

.hover-card .related-entry:hover,
.hover-card .related-entry-thumbnail:hover,
.hover-card .blog-card:hover {
    background-color: #f9f9f9;
}

.hover-card .entry-tile h2,
.hover-card .blog-card-title {
    font-size: 16px;
    line-height: 110%;
    text-decoration: none;
    font-weight: bold;
}

.hover-card .related-entry-thumbnail h3 {
    font-size: 16px;
    line-height: 110%;
    font-weight: normal;
}


/************************************
** 人気ウィジェットをランキング
************************************/

.ranking_list {
    counter-reset: wpp-ranking;
}

.ranking_list ul li {
    position: relative;
}

.ranking_list ul li:before {
    background: none repeat scroll 0 0 #666;
    color: #fff;
    content: counter(wpp-ranking, decimal);
    counter-increment: wpp-ranking;
    font-size: 75%;
    left: 0;
    top: 3px;
    line-height: 1;
    padding: 4px 7px;
    position: absolute;
    z-index: 1;
    opacity: 0.9;
    border-radius: 2px;
    font-family: Arial;
}

.icon-amp-logo2::before {
    font-size: 14px;
}


/*!動画の最大幅を指定する*/

.video-container {
    max-width: 640px;
    position: relative;
}


/*!動画の大きさを調整*/

.video-container .video {
    position: relative;
    padding-bottom: 56.25%;
    margin-top: 30px;
    overflow: hidden;
    max-width: 100%;
}

.video iframe,
.video object,
.video embed,
.instagram iframe,
.instagram object,
.instagram embed,
.facebook iframe,
.facebook object,
.facebook embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.video-click {
    cursor: pointer;
}

.video-click:hover .video-play {
    background: url("images/youtube-play.png") no-repeat scroll -101px -13px rgba(0, 0, 0, 0);
}

.video-play {
    background: url("images/youtube-play.png") no-repeat scroll 2px -13px rgba(0, 0, 0, 0);
    height: 62px;
    left: 50%;
    margin-left: -45px;
    margin-top: -33px;
    position: absolute;
    top: 50%;
    width: 100px;
    opacity: 0.8;
}

.video-title-grad {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABiCAQAAAA7fHH2AAAAQUlEQVQYV22KQQoAIAzDyv7/Et/oVlGZVCfkkIYamsENXESyi8vc0u/PKZ6o8+7fZ0h8ShRYnD+BFKToRJkHFpkM2hZSxuyWpEYAAAAASUVORK5CYII=");
    background-position: center top;
}

.video-title-text {
    color: #eeeeee;
    font-family: Roboto, Arial, Helvetica, sans-serif;
    font-size: 17px;
    overflow: hidden;
    padding: 12px 16px 4px;
    text-overflow: ellipsis;
    white-space: nowrap;
}


/************************************
** home.php
************************************/

.cf:after {
    content: "";
    display: block;
    clear: both;
}

.center {
    text-align: center;
}

.left {
    float: left;
}

.right {
    float: right;
}

.pc {
    display: inherit;
}

.sp {
    display: none;
}


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

.page-text {
    margin: auto;
    line-height: 2;
    font-size: 16px;
}

.page-text-con {
    margin: auto;
    line-height: 2;
    font-size: 16px;
    margin: auto auto 20px;
    auto;
}

.page-img {
    display: block;
    max-width: 100%;
    margin: auto;
}

.highlight {
    background: linear-gradient(transparent 0%, #fff100 0%);
}

.link-icon {
    margin-right: 10px;
    color: #3491ef;
}

.h1-title {
    margin: auto auto 40px;
    font-size: 129%;
    font-weight: bold;
    line-height: 1.2;
}

.h2-title {
    margin: 40px auto 40px auto;
    padding: 0 0 0 10px;
    font-size: 129%;
    font-weight: bold;
    line-height: 1.2;
    color: #1f499f;
    border-left: 2px solid #1f499f;
}

.gray-bg {
    background: #f9f9f9;
}

.archive-box {
    padding-bottom: 40px;
    border-bottom: 1px solid #eeeeee;
}

.archive-box:not(:last-child) {
    margin-bottom: 40px;
}

.archive-box-img {
    width: 250px;
    margin-top: 20px;
}

.archive-box-text {
    width: 510px;
}

.archive-box-text-in {
    margin-bottom: 20px;
}

#top-main {
    width: 100%;
    height: 440px;
    background: #1f499f url(images/top/main-bg.jpg) no-repeat center center / cover;
    overflow: hidden;
}

.top-main-title-sub {
    width: 60%;
    margin: 40px auto 20px;
    padding: 10px 0;
    font-size: 200%;
    font-weight: bold;
    color: #fff;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    text-shadow: 0px 2px 8px #000000;
}

.top-main-title {
    margin: 20px 0;
    font-size: 443%;
    font-weight: bold;
    color: #fff;
    line-height: 1.5;
    text-shadow: 0px 2px 8px #000000;
}

.top-main-btn,
.footer-flow-btn {
    position: relative;
    display: inline-block;
    padding: 0 120px;
    text-decoration: none;
    font-size: 129%;
    font-weight: bold;
    color: #fff;
    line-height: 60px;
    background: #ff6600;
    border-radius: 30px;
    box-shadow: 2px 2px 0px 0px #9d3f00;
}

.top-main-btn::after,
.footer-flow-btn::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    border-radius: 2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.top-main-btn:hover,
.footer-flow-btn:hover {
    opacity: 1;
    top: 2px;
    left: 2px;
    color: #fff;
    box-shadow: 0px 0px 0px 0px #9d3f00;
}

.top-title {
    margin: 0 0 40px 0;
    padding: 0 0 10px 0;
    font-size: 200%;
    color: #204b9f;
    border-bottom: 1px solid #bfbfbf;
    font-weight: bold;
}

#top-staff {
    padding: 60px 0;
}

.top-staff-list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin-bottom: 40px;
}

.top-staff-list li {
    width: 32%;
}

.top-staff-img {
    float: left;
    margin-right: 20px;
}

.top-staff-name {
    margin: auto;
    margin-bottom: 4px;
    font-size: 100%;
    color: #204b9f;
    font-weight: bold;
}

.top-staff-text {
    display: table;
    line-height: 1.9;
}

.top-staff-btn,
.top-about-list-btn,
.top-entry-btn {
    position: relative;
    display: inline-block;
    text-decoration: none;
    padding: 0 66px;
    font-weight: bold;
    color: #204b9f;
    background: #fff;
    line-height: 40px;
    border: 1px solid #bfbfbf;
    border-radius: 20px;
}

.top-staff-btn:hover,
.top-about-list-btn:hover,
.top-entry-btn:hover {
    color: #fff;
    background: #204b9f;
    border: 1px solid #204b9f;
    opacity: 1;
}

.top-staff-btn::after,
.top-about-list-btn::after,
.top-entry-btn::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    border-top: 4px solid #204b9f;
    border-right: 4px solid #204b9f;
    border-radius: 2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.top-staff-btn:hover::after,
.top-about-list-btn:hover::after,
.top-entry-btn:hover::after {
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
}

.top-entry-btn {
    margin-bottom: 60px;
}

#top-about {
    padding: 60px 0;
    background: #204b9f;
}

.top-about-title {
    margin: 0 0 40px 0;
    padding: 0 0 10px 0;
    font-size: 200%;
    color: #fff;
    border-bottom: 1px solid #fff;
    font-weight: bold;
}

.top-about-list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    list-style: none;
    padding: 0;
}

.top-about-list li {
    position: relative;
    width: 30%;
    padding-bottom: 70px;
    background: #fff;
    border-radius: 4px;
}

.top-about-list-title {
    margin: 0 0 20px 0;
    padding: 20px 0;
    font-size: 129%;
    background: #eeeeee;
    border-radius: 4px 4px 0 0;
    font-weight: bold;
}

.top-about-list-link {
    padding: 0 20px 10px 20px;
}

.top-about-list-link i {
    margin-right: 5px;
    color: #3491ef;
}

.top-about-list-btn {
    position: absolute;
    width: 60%;
    bottom: 20px;
    left: 0;
    right: 0;
    margin: auto;
    padding: 0;
}

#top-search {
    padding: 60px 0;
    background: #f9f9f9;
}

.top-search-box {
    padding: 40px;
    background: #fff;
    border: 6px solid #eeeeee;
}

.top-search-blk {
    margin-bottom: 40px;
}

.top-search-title {
    margin: 0 0 20px 0;
    padding: 0;
    font-size: 129%;
    font-weight: bold;
}

.top-search-btn {
    position: relative;
    display: inline-block;
    text-decoration: none;
    margin-top: 10px;
    padding: 0 120px;
    font-size: 100%;
    font-weight: bold;
    color: #fff;
    background: #204b9f;
    border: 1px solid #204b9f;
    line-height: 40px;
    border-radius: 20px;
    cursor: pointer;
}

.top-search-btn:hover {
    color: #204b9f;
    background: #fff;
}

.top-search-btn i {
    margin-right: 5px;
}

.top-search-keyword {
    list-style: none;
    text-align: center;
    padding: 0;
}

.top-search-keyword li {
    display: inline-block;
    margin-right: 10px;
}

.top-search-keyword li a {
    display: inline-block;
    margin-bottom: 10px;
    padding: 2px 4px;
    background: #f9f9f9;
    border-radius: 4px;
}

#footer-promise {
    padding: 60px 0;
    background: #f9f9f9;
}

.footer-promise-list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    list-style: none;
    margin: auto;
    padding: 0;
}

.footer-promise-list li {
    position: relative;
    width: 350px;
    margin-top: 50px;
    padding: 50px 30px 20px 30px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
    box-sizing: border-box;
}

.footer-promise-number {
    position: absolute;
    width: 96px;
    height: 96px;
    top: -50px;
    left: 0;
    right: 0;
    margin: auto;
    padding: 12px;
    text-align: center;
    font-size: 86%;
    font-weight: bold;
    color: #fff;
    background: rgb(32, 75, 159);
    background: linear-gradient(120deg, rgba(32, 75, 159, 1) 0%, rgba(38, 96, 183, 1) 100%);
    border-radius: 4px;
    box-sizing: border-box;
}

.footer-promise-number span {
    display: block;
    font-size: 357%;
    line-height: 1;
}

.footer-promise-title {
    font-size: 129%;
    line-height: 1.5;
}

#footer-flow {
    padding: 60px 0;
    background: #fff;
}

.footer-flow-list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    list-style: none;
    margin: auto;
    margin-bottom: 40px;
    padding: 0;
}

.footer-flow-list li {
    position: relative;
    width: 230px;
    border: 4px solid #204b9f;
    border-radius: 4px;
    box-sizing: border-box;
}

.footer-flow-box {
    position: relative;
    height: 180px;
    background: #204b9f;
}

.footer-flow-list li:not(:last-child) .footer-flow-box::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -56px;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 30px 0 30px 52px;
    border-color: transparent transparent transparent #ffffff;
    z-index: 5;
}

.footer-flow-list li:not(:last-child) .footer-flow-box::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    right: -51px;
    width: 0;
    height: 0;
    margin: auto;
    border-style: solid;
    border-width: 20px 0 20px 34px;
    border-color: transparent transparent transparent #3491ef;
    z-index: 10;
}

.footer-flow-box img {
    position: absolute;
    display: block;
    top: 32px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.footer-flow-title {
    font-size: 129%;
    line-height: 1.5;
    color: #fff;
    margin: auto;
    padding: 10px 0;
    font-weight: bold;
}

.footer-flow-text {
    margin: auto;
    padding: 20px;
}

.article-title {
    margin: 40px 0 40px 0;
    padding: 0 0 10px 0;
    font-size: 200%;
    color: #204b9f;
    border-bottom: 1px solid #bfbfbf;
}


/************************************
** page
************************************/

#page {
    padding: 20px 0;
}

.page-inner {
    padding: 60px 0;
}

.page-box {
    margin-bottom: 60px;
}

.page-title {
    margin: auto;
    padding: 60px 0;
    text-align: center;
    font-size: 229%;
    color: #fff;
    background: repeating-linear-gradient(90deg, #1d4395, #1d4395 2px, #375da9 2px, #375da9 3px);
    background-size: 3px 1px;
    text-shadow: 0px 1px 8px #000000;
}

.breadcrumb {
    margin-top: 10px;
    font-size: 71%;
}

.breadcrumb span {
    margin: 0 10px;
}


/************************************
** production
************************************/

.production-box {
    margin-bottom: 40px;
}

.creator-box {
    padding: 30px;
    background: #fff;
    border: 6px solid #eeeeee;
    border-radius: 4px;
    box-sizing: border-box;
}

.creator-box-title {
    margin: auto auto 10px;
}

.creator-box-title img {
    display: inline-block;
    margin-right: 10px;
    vertical-align: middle;
    box-shadow: 0px 2px 6px 0px rgba(83, 83, 83, 0.5);
}

.creator-box-title span {
    display: inline-block;
    vertical-align: middle;
}

.creator-box-text {
    margin: 15px 0 0;
}

.creator-box-link {
    display: inline-block;
    margin-bottom: 10px;
}

.production-table {
    width: 100%;
    background: #fff;
    border-collapse: collapse;
    font-size: 16px;
    line-height: 2;
}

.production-table th,
.production-table td {
    padding: 20px;
    border: 2px solid #eeeeee;
    box-sizing: border-box;
}

.production-table th {
    text-align: left;
    color: #fff;
    background: #204b9f;
    width: 25%;
}

.production-button {
    position: relative;
    display: inline-block;
    padding: 9px 50px;
    text-decoration: none;
    font-weight: bold;
    line-height: 1.5;
    color: #204b9f;
    background: #fff;
    border: 1px solid #bfbfbf;
    border-radius: 20px;
}

.production-button::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0;
    bottom: 0;
    right: 20px;
    margin: auto;
    border-top: 4px solid #204b9f;
    border-right: 4px solid #204b9f;
    border-radius: 2px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.production-button:hover {
    color: #fff;
    background: #204b9f;
    opacity: 1;
}

.production-button:hover::after {
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
}

.production-border {
    border-bottom: 1px solid #eeeeee;
}


/************************************
** about
************************************/

.about-img {
    width: 340px;
}

.about-text {
    width: 600px;
}

.about-block {
    border-radius: 4px;
    overflow: hidden;
}

.about-block .about-title {
    margin: 10px auto auto;
    text-align: center;
    font-size: 129%;
    color: #fff;
}

.about-block-title img {
    display: block;
    width: 100px;
    height: auto;
    margin: auto;
}

.about-block-title {
    padding: 20px;
}

.about-block.about-general .about-block-title {
    background: #000;
}

.about-block.about-homepage .about-block-title {
    background: #1f499f;
}

.about-block-text {
    padding: 40px 50px;
    font-weight: bold;
}

.about-block.about-general .about-block-text {
    background: #eeeeee;
}

.about-block.about-homepage .about-block-text {
    border: 1px solid #1f499f;
    border-radius: 0 0 4px 4px;
    box-sizing: border-box;
}

.about-box {
    margin: 20px 0 20px 30px;
    padding: 20px;
    border: 6px solid #eeeeee;
}

.about-box-img {
    width: 120px;
}

.about-box-text {
    width: 680px;
    font-weight: normal;
}

.about-box-text .about-title {
    margin: auto auto 10px;
    text-align: left;
    color: #000;
}


/************************************
** flow
************************************/

.flow-box {
    margin-top: 20px;
    padding: 20px;
    border: 6px solid #eeeeee;
}

.flow-box-text {
    width: 445px;
}

.flow-title {
    margin: auto;
    margin-bottom: 10px;
    font-size: 129%;
}

.flow-img {
    width: 340px;
}

.flow-text {
    width: 715px;
}

.flow-tel {
    font-size: 300%;
    font-weight: bold;
    color: #ff0000;
}

.flow-tel a {
    color: #ff0000;
    text-decoration: none;
}


/************************************
** company
************************************/

.company-box {
    margin-bottom: 60px;
    padding: 20px;
    border: 6px solid #eeeeee;
}

.company-box-img,
.company-box-text {
    display: inline-block;
    vertical-align: middle;
}

.company-box-img {
    margin: 0 40px 0 20px;
}

.company-table {
    width: 100%;
    border-collapse: collapse;
}

.company-table th,
.company-table td {
    padding: 20px;
    border: 2px solid #eeeeee;
}

.company-table th {
    text-align: left;
    vertical-align: top;
    color: #fff;
    background: #204b9f;
}


/************************************
** client
************************************/

.client-list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    list-style: none;
    margin: auto;
    padding: 0;
}

.client-list li {
    position: relative;
    width: 525px;
    min-height: 300px;
    margin-top: 50px;
    margin-bottom: 40px;
    padding: 50px 30px 20px 30px;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 4px;
    box-sizing: border-box;
}

.client-list li:nth-child(1) {
    background: url(images/cliant/client-img01.png) no-repeat center center;
}

.client-list li:nth-child(2) {
    background: url(images/cliant/client-img02.png) no-repeat center center;
}

.client-list li:nth-child(3) {
    background: url(images/cliant/client-img03.png) no-repeat center center;
}

.client-list li:nth-child(4) {
    background: url(images/cliant/client-img04.png) no-repeat center center;
}

.client-number {
    position: absolute;
    width: 96px;
    height: 96px;
    top: -50px;
    left: 0;
    right: 0;
    margin: auto;
    padding: 12px;
    text-align: center;
    font-size: 86%;
    font-weight: bold;
    color: #fff;
    background: rgb(32, 75, 159);
    background: linear-gradient(120deg, rgba(32, 75, 159, 1) 0%, rgba(38, 96, 183, 1) 100%);
    border-radius: 4px;
    box-sizing: border-box;
}

.client-number span {
    display: block;
    font-size: 357%;
    line-height: 1;
}

.client-title {
    font-size: 129%;
    line-height: 1.5;
}

.client-text {
    line-height: 1.5;
}


/************************************
form
************************************/

#entry-top {
    max-width: 1000px;
    margin: 2em auto;
    position: relative;
}

#entry-top .left {
    float: left
}

#entry-top .left p {
    font-weight: bold;
    margin-top: 20px;
    font-size: 45px;
    margin: 0;
}
#entry-top .left .sm-txt {
    display: block;
    font-size: 26px !important;
    margin-top: -20px;
}
#entry-top .right {
    float: right;
    padding: 20px 30px 20px 35px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 380px;
    max-width: 100%;
}

#entry-top h1 {
    font-weight: bold;
    color: #0678ec;
    font-size: 40px;
    margin: 0;
    letter-spacing: 4px;
}

#entry-top .right {
    background-color: #fff2f5
}

#entry-top .right .right-inner {
    /* position: relative;
    background-image: url(form/img/lib/btn-phone.png);
    background-repeat: no-repeat;
    width: 400px;
    height: 106px;
    margin-bottom: 3px */
}

#entry-top .right .right-inner .text {
    /* text-indent: 100%;
    white-space: nowrap;
    overflow: hidden */
    color: red;
    font-size: 18px;
    font-weight: bold;
    margin: 0;
}
#entry-top .right .right-inner .free-call {
    margin: 0;
    color: #fff;
    background-color: #f60938;
    padding: 0px 8px;
    display: inline-block;
    border-radius: 6px;
    letter-spacing: 1.5px;
}
#entry-top .right .right-inner .reception {
    font-size: 16px;
    color: red;
    font-weight: bold;
    margin-left: 10px;
}
#entry-top .right .right-inner .fd {
    position: absolute;
    left: 88px;
    margin: auto;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 45px;
    font-weight: bold;
    line-height: 1;
    color: #f60938
}
#entry-top .right .right-inner .fd::before {
    position: absolute;
    background: url(form/img/lib/spiral-img.png) no-repeat;
    content: '';
    width: 100%;
    height: 44px;
    left: -52px;
    background-size: contain;
}
#entry-top .right .contact-txt {
    display: block;
    font-size: 16px;
    margin-top: 50px;
}

.form {
    max-width: 1000px;
    margin: 50px auto;
}

.form .disnon {
    display: none
}

.form .middle {
    margin: 0 auto
}

.form .middle h3 {
    font-weight: bold;
    color: #214b9f;
    text-align: center;
    font-size: 28px;
    margin: 0;
}

.form .middle .flow {
    position: relative;
    border-bottom: 1px dashed #ccc;
    display: flex;
    justify-content: space-between;
}

.form .middle li {
    max-width: 310px;
}
.flow .step1 dl,
.flow .step2 dl,
.flow .step3 dl {
    position: relative;
    padding-left: 115px;
}
.flow .step1 dl:before {
    position: absolute;
    content: '';
    background: url(/wp-content/themes/simplicity3/images/step1.png) no-repeat;
    width: 100px;
    height: 100px;
    left: 0;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
}
.flow .step2 dl:before {
    position: absolute;
    content: '';
    background: url(/wp-content/themes/simplicity3/images/step2.png) no-repeat;
    width: 100px;
    height: 100px;
    left: 0;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
}
.flow .step3 dl:before {
    position: absolute;
    content: '';
    background: url(/wp-content/themes/simplicity3/images/step3.png) no-repeat;
    width: 100px;
    height: 100px;
    left: 0;
    background-size: contain;
    top: 50%;
    transform: translateY(-50%);
}
.flow .step2 {
    position: relative;
    margin: 0 65px;
}
.flow .step1 {
    position: relative;
}
.flow .step1::after {
    position: absolute;
    content: '';
    background: url(/wp-content/themes/simplicity3/images/next.png) no-repeat;
    width: 21px;
    height: 19px;
    background-size: contain;
    top: 45%;
    right: -30px;
}
.flow .step2::after {
    position: absolute;
    content: '';
    background: url(/wp-content/themes/simplicity3/images/next.png) no-repeat;
    width: 21px;
    height: 19px;
    background-size: contain;
    top: 45%;
    right: -30px;
}
.form .middle dt span {
    color: #fff;
    font-size: 14px;
    padding: 4px 20px;
    background-color: #007eff;
    border-radius: 2px;
}

.form .middle dt p {
    font-weight: bold;
    font-size: 18px;
    color: #0678ec;
    margin: 8px 0;
}

.form .middle .text {
    font-size: 14px;
    line-height: 1.4;
    color: #0678ec;
    margin: 0;
}

.form .middle .next {
    font-weight: bold;
    margin: 38px 0 24px;
    line-height: 18px;
    font-size: 20px;
    display: block;
    text-align: center;
}

.form .middle .next span {
    color: #f60938
}

.form input,
.form textarea {
    border: 1px solid #ccc;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    padding: 4px
}

.form input[type="radio"] {
    display: none;
}

input[type="radio"]+label {
    padding-left: 20px;
    position: relative;
    margin-right: 20px;
}

input[type="radio"]+label::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 12px;
    height: 12px;
    border: 1px solid #999;
    border-radius: 50%;
}

input[type="radio"]:checked+label {
    color: #000;
}

input[type="radio"]:checked+label::after {
    content: "";
    display: block;
    position: absolute;
    top: 2px;
    left: 2px;
    width: 10px;
    height: 10px;
    background: #007EFF;
    border-radius: 50%;
}
.cus-note-text {
    border: none !important;
    padding: 0 0 15px !important;
    font-size: 14px !important;
    color: #999 !important;
}
.text-note {
    font-size: 14px;
    color: #F00;
    margin: 0;
}
.fs-14 {
    font-size: 14px;
    margin-top: 0;
}
.mbt-20 {
    margin-bottom: 20px ;
}
.refer .site-urls li {
    margin: 5px 0;
}
.form .secondh3 {
    margin-top: 40px
}

.form .main {
    float: none;
    width: auto;
    padding: 40px;
    margin: 0 auto 40px;
    border: 1px solid #ccc;
    -webkit-box-shadow: #ccc 0px 0px 5px;
    -moz-box-shadow: #ccc 0px 0px 5px;
    box-shadow: #ccc 0px 0px 5px;
    border-radius: 0;
    box-sizing: border-box;
}

.form .main h3 {
    border-left: 3px solid #0678ec;
    font-weight: bold;
    font-size: 22px;
    margin: 20px 0;
    padding: 5px 0 5px 10px;

}

.form .main th {
    background-color: #fafad5;
    font-weight: bold;
    padding: 22px 18px;
    width: 12em
}

.form .main .necessary {
    background-color: #fa6b88;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    color: #fff;
    font-size: 14px;
    letter-spacing: 2px;
    float: right;
    padding: 0 6px;
    font-weight: normal
}

.form .main .necessary02 {
    background-color: #fa6b88;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    color: #fff;
    font-size: 10px;
    letter-spacing: 2px;
    float: right;
    padding: 0 6px;
    font-weight: normal;
    margin-right: 9px
}

.form .main td {
    padding: 20px 0 20px 20px;
}

.form .main td .attention {
    margin-right: 15px;
    margin-top: 10px;
    font-size: 12px;
    color: #dd0025;
    border: #dd0025 1px solid;
    padding: 5px;
    text-align: center;
    letter-spacing: 0.02em
}

.form .main th,
.form .main td {
    font-size: 18px;
    border: 1px solid #ccc;
}

.form .main .no-border td {
    padding: 0
}

.form .main .no-border th,
.form .main .no-border td {
    font-size: 100%;
    border: 0px solid #ccc;
}

.form .main .no-border th {
    font-weight: bold;
}

.form .main .is-inner-td {
    width: 125px;
    font-weight: bold;
}

.form .main .is-p-0 {
    padding: 5px 0;
    font-size: 16px;
    border: 0;
}

.form .main label {
    display: inline-block;
    line-height: 1;
    color: #007EFF;
    text-decoration: underline;
    font-size: 16px;
    vertical-align: 2px;
    margin-right: 2em;
}

.form .main label:hover {
    cursor: pointer;
    text-decoration: none
}

.form .main textarea {
    height: 4em;
    width: 96%;
    resize: none;
}

.form .main select {
    padding: 6px 10px;
    border: 1px solid #eee;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
    margin-left: 0;
    color: rgb(169, 169, 169);
    background: #f9f9f9;
    height: 50px;
    width: 250px;
}

.form .main table {
    width: 100%;
    border-collapse: collapse;
}

.form .main .name dl {
    margin: auto;
    overflow: hidden;
    *zoom: 1
}

.form .main .name dt {
    height: 30px;
    line-height: 30px;
    float: left;
    font-size: 16px;
    color: #000;
    margin-right: 1em;
    margin-top: 10px;
}

.form .main .name dd {
    line-height: 30px
}


.form .main .is-input-text {
    width: 96%;
    height: 50px;
    font-size: 18px;
}

.form .main .is-input-text-parent {
    color: #999;
    height: 30px;
}

.form .main .is-gray {
    color: #7e7e7e;
    font-size: 12px;
    line-height: 18px
}

.form .main .submit-btn {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-image: url(form/img/lib/btn-phone-sprite.png);
    background-color: transparent;
    margin: 0 auto;
    text-align: center
}

.form .main .submit-btn:hover {
    cursor: pointer;
    filter: progid: DXImageTransform.Microsoft.Alpha(Opacity=80);
    opacity: 0.8
}

.form .main .renewal-refer span,
.form .main .refer span {
    color: #999;
    font-size: 11px
}

form .main .refer input {
    width: 96%;
    margin-bottom: 10px
}
.form .main .renewal-refer input{
    width: 23em;
    margin-bottom: 10px
}

.form .main .renewal-refer .input,
.form .main .refer .input {
    display: none
}

.form .main .renewal-refer .last-message,
.form .main .refer .last-message {
    font-size: 10px;
    line-height: 18px
}

.form .main .renewal-refer .link,
.form .main .refer .link {
    background-image: url(form/img/lib/form-sprite.png);
    color: #0678ec;
    text-decoration: underline;
    background-position: 0 -1067px;
    font-size: 18px;
    padding-left: 20px;
    height: 24px;
    background-repeat: no-repeat;
    width: 9em;
    margin-top: 10px;
}

.form .main .renewal-refer .link:hover,
.form .main .refer .link:hover {
    text-decoration: none;
    cursor: pointer
}

.form .main #efo,
.form .main .submit-btn {
    display: block;
    margin: 2em auto 0
}
.form .main #efo {
    background: #E7E7E7;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    color: #8A8A8A;
    font-size: 18px;
    font-weight: 500;
    border: 1px solid #ccc;
}

.form .main .submit {
    max-width: 460px;
    border: none;
    height: 54px;
    margin: 20px auto
}

.form .main .submit input {
    border: none
}

.form .main .ssl {
    border: 1px solid #ccc;
    padding: 10px;
    margin: 30px auto;
    max-width: 600px;
}

.form .main .ssl p {
    float: left;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    background-image: url(images/form/form-sprite.png);
    background-position: 0 -1101px;
    width: 110px;
    height: 55px;
    margin: 0 10px 0 70px;
}

.form .main .ssl li {
    font-size: 10px;
    line-height: 14px;
    color: #737373
}

.form .main .ssl li:before {
    content: "*"
}

.form .main .ssl li a {
    color: #007eff;
    text-decoration: underline
}

.form .main .ssl li a:hover {
    text-decoration: none
}

.form-top #page-top {
    position: fixed;
    bottom: 30px;
}

.form .btn-box {
    margin: 40px auto;
    width: 590px
}

.form .btn-box input {
    border: none
}
.submit {
    text-align: center;
}
.ui-draggable {
    z-index: 10;
}

.title_blue {
    font-size: 110%;
    font-weight: bold;
}

.tit01 {
    color: #204b9f;
    font-size: 130%;
    font-weight: bold;
}

.tit02 {
    margin: 0 0 10px 0;
    padding: 0 0 10px 0;
    border-bottom: 1px solid #bfbfbf;
    font-size: 110%;
    font-weight: bold;
}

.textlist li {
    list-style: disc;
    padding-left: 15px;
    margin-left: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

table.pri {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    border-bottom: 1px solid #BBBBBB;
    margin: 20px 0;
}

table.pri th {
    background: #eee;
    padding: 6px 6px 6px 15px;
    text-align: left;
    border-top: 1px solid #BBBBBB;
    border-left: 1px solid #BBBBBB;
}

table.pri td {
    font-size: 13px;
    padding: 3px 3px 3px 12px;
    text-align: left;
    border-top: 1px solid #BBBBBB;
    border-right: 1px solid #BBBBBB;
    border-left: 1px solid #BBBBBB;
}

table.pri th.w30 {
    width: 25% !important;
}

table.pri th.w50 {
    width: 50% !important;
}

table.pri th.w55 {
    width: 55% !important;
}

table.pri th.w55 {
    width: 55% !important;
}

table.tab01 {
    width: 100%;
    margin: 20px 0;
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
}

table.tab01 td {
    padding: 4px 5px;
    text-align: left;
}

table.tab01 th {
    padding: 4px 5px;
    font-weight: bold;
    text-align: left;
}

table.tab01 th.center {
    text-align: center;
}

table.tab01 td.center {
    text-align: center;
}

.casetxt li {
    line-height: 20px;
    text-align: left;
    margin-left: 10px;
}

.note a {
    font-size: 95%;
    color: #A8A8A8;
    text-align: center !important;
}

.w40 {
    width: 40% !important;
}

table.pri th.w30 {
    width: 25% !important;
}

table.pri th.w55 {
    width: 55% !important;
}

.w50 {
    width: 50% !important;
}

.imgin {
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    border-radius: 50%;
    margin-bottom: 25px;
}

.about-box-imgin {
    width: 150px;
    margin-right: 20px;
}

.textRight1 {
    padding-left: 20px;
    margin: auto;
    line-height: 2;
}

.shareList10 {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin: 0 0 15px 0;
    padding: 0;
}

.shareList10__item {
    height: 28px;
    line-height: 28px;
    margin: 5px 0 0 5px;
    text-align: center;
}

.shareList10__link::before {
    font-size: 14px;
    transition: ease-in-out .2s;
    border-radius: 5px;
}

.shareList10__link::after {
    content: attr(title);
    font-size: 14px;
    font-weight: 700;
    vertical-align: top;
    margin-left: 5px;
}

.icon-facebook::before {
    content: "\ea90";
}

.shareList10__link.icon-twitter {
    background: #55acee;
    padding: 10px;
    width: 100px;
}

.shareList10__link.icon-facebook {
    background: #3B5998;
    padding: 10px;
    width: 100px;
}

.shareList10__link {
    display: block;
    padding: 0 10px;
    color: #ffffff;
    text-decoration: none;
    border-radius: 5px;
}

.shareList10__link:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    color: #ffffff;
}

::after {
    font-family: "Lato", "游ゴシック体", "Yu Gothic", "YuGothic", "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo, Osaka", "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

.box-text-right {
    display: inline-block;
    padding-left: 30px;
}

.conlink .rea {
    max-width: 420px;
    margin: 1em 0;
    font-size: .95em;
}

.conlink a {
    text-decoration: none;
}

.rea {
    background: #fff;
    display: table;
    width: 100%;
    border: solid 2px #e5e5e5;
    color: #333;
    font-weight: 700;
}

.rlmg {
    display: table-cell;
    width: 120px;
    height: 100px;
    vertical-align: middle;
}

.rep {
    display: table-cell;
    vertical-align: middle;
    padding: 0 10px;
    width: calc(100% - 100px);
    border-left: #e5e5e5 solid 2px;
    font-size: 16px;
}

.rlmg img {
    width: 100%;
    height: 100%;
}

.numberlist li,
.textlist li {
    line-height: 2;
    font-size: 16px;
}

.mr40 {
    margin-right: 40px;
}
/************************************
** 田丸追加
************************************/

.container {
    font-family: "Yu Gothic", YuGothic, Verdana, 'Hiragino Kaku Gothic ProN', 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', 'メイリオ', Meiryo, sans-serif;
    text-align: center;
    padding-top: 40px;
}

.area-btn {
    position: relative;
    display: inline-block;
    max-width: 580px;
    padding: 0 10px;
    text-decoration: none;
    font-size: 129%;
    font-weight: bold;
    color: #fff;
    line-height: 60px;
    background: #1f499f;
    border-radius: 30px;
    box-shadow: 2px 2px 0px 0px ##00359f;
}


/* ここから下がボタンのCSS　*/

.btn-push {
    display: inline-block;
    max-width: 380px;
    text-align: center;
    background-color: #204b9f;
    font-size: 16px;
    color: #FFF;
    text-decoration: none;
    font-weight: bold;
    padding: 12px 80px;
    border-radius: 8px;
    border-bottom: 8px solid #00ffff;
}

.btn-push:active {
    transform: translateY(4px);
    border-bottom: none;
}

.button_wrapper {
    text-align: center;
}

.banner--group {
    position: relative;
}

.banner--group img {
    display: block;
    width: 100%;
}

.banner--group a {
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
}

.banner--group dl {
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    padding: 0 0 0 120px;
    font-weight: bold;
    text-align: center;
    line-height: 1.2;
    letter-spacing: 0.09em;
    margin: 25px 0 0;
}

.banner--group dl span {
    color: #204b9f;
    position: relative;
}

.banner--group dl span:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 2px;
    background-color: #204b9f;
    text-align: center;
}

.banner--group dl em {
    font-style: normal;
    color: #e80a09;
}

.banner--group dl dt {
    font-size: 31px;
    margin-bottom: 12px;
}

.banner--group dl dd {
    font-size: 17px;
    margin: 0;
    letter-spacing: 0;
}

@media screen and (max-width: 740px) {
    .show--pc {
        display: none !important;
    }
    .banner--group a {
        left: 11.55vw;
        right: 2.88vw;
        bottom: 3.55vw;
    }
    .banner--group:after {
        content: "";
        background: url(images/people.png) no-repeat 0 0 / 100% 100%;
        position: absolute;
        left: 0;
        bottom: 0.6667vw;
        width: 36.88vw;
        height: 35.55vw;
    }
    .banner--group dl {
        text-align: right;
        right: 2.88vw;
        letter-spacing: 0.15em;
        margin-top: 2vw;
        padding: 0;
    }
    .banner--group dl dt {
        font-size: 19px;
        font-size: 4.6vw;
    }
    .banner--group dl span:after {
        bottom: 0;
    }
    .banner--group dl dt div {
        font-size: 4vw;
        margin-top: 2vw;
    }
}

@media screen and (min-width: 741px) {
    .show--sp {
        display: none !important;
    }
    .banner--group {
        width: 817px;
    }
    .banner--group a {
        right: 27px;
        bottom: 18px;
    }
    .banner--group a:after {
        content: "";
        width: 84px;
        height: 44px;
        background: url(images/icon_click.png) no-repeat 0 0;
        position: absolute;
        right: -12px;
        top: -30px;
    }
}

.ol-number {
    counter-reset: number;
    /*数字をリセット*/
    list-style-type: none!important;
    /*数字を一旦消す*/
    padding: 10px 20px;
    background: #ffffcc;
    margin-bottom: 10px;
}

.ol-number li {
    position: relative;
    line-height: 1.5em;
    padding: 10px 10px 10px 40px;
    font-size: 16px;
}

.ol-number li:before {
    /* 以下数字をつける */
    position: absolute;
    counter-increment: number;
    content: counter(number);
    /*数字のデザイン変える*/
    display: inline-block;
    background: #4472c4;
    color: white;
    font-family: 'Avenir'/*,'Arial Black'*/
    , 'Arial', sans-serif;
    font-size: 15px;
    left: 0;
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    /*以下上下中央寄せのため*/
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    border: 1px solid #2f528f;
    font-weight: normal;
}

.btn-green {
    width: 370px;
    margin: 0 auto;
    text-anchor: none;
    background: #00b050;
    color: #fff;
    display: block;
    text-decoration: none;
    border-radius: 5px;
    text-align: center;
    padding: 10px;
    box-sizing: border-box;
    font-size: 16px;
}

.btn-green:hover {
    color: #fff;
}

.txt-red {
    color: #ff0000;
}

.txt-blue-under {
    color: #0000ff;
    text-decoration: underline;
}

.balloon4 {
    position: relative;
    margin: 2em 0 2em 40px;
    padding: 15px;
    background: #eeeeee;
    border-radius: 30px;
}

.balloon4:before {
    content: "";
    position: absolute;
    left: -38px;
    width: 13px;
    height: 12px;
    bottom: 0;
    background: #eeeeee;
    border-radius: 50%;
}

.balloon4:after {
    content: "";
    position: absolute;
    left: -24px;
    width: 20px;
    height: 18px;
    bottom: 3px;
    background: #eeeeee;
    border-radius: 50%;
}

.balloon4 p {
    margin: 0;
    padding: 0;
}

.h4-title {
    font-size: 16px;
    font-weight: bold;
}

.h4-title span {
    display: inline-block;
    vertical-align: middle;
}


/* Relationship post */

.relation-block {
    margin: 0 0 50px;
}

.relation-block .relation-post li {
    padding: 0 0 20px;
    border-bottom: 1px solid #eaeaea;
    margin: 0 0 20px;
}

.relation-block .relation-post li:first-child {
    padding: 20px 0 20px;
    border-top: 1px solid #eaeaea;
}

.relation-block .relation-post ul li:last-child {
    margin: 0;
}

.relation-block .relation-post a {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.relation-block .relation-post .post-thumnail {
    display: flex;
    align-items: center;
    width: 30%;
    height: 130px;
    overflow: hidden;
    flex-shrink: 1;
}

.relation-block .relation-post .post-thumnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.relation-block .relation-post .post-cont {
    width: 70%;
    padding-left: 30px;
}

.relation-block .relation-post .post-ttl {
    margin: 0;
}

.relation-block .relation-post .post-desc {
    margin: 20px 0 15px;
}

.relation-block .relation-post .post-desc:last-child {
    margin-bottom: 0;
}

@media only screen and (max-width:740px) {
    .relation-block .relation-post .post-thumnail {
        width: 35%;
    }
    .relation-block .relation-post .post-cont {
        width: 65%;
        padding-left: 20px;
    }
}

@media only screen and (max-width:576px) {
    .relation-block .relation-post a {
        display: block;
    }
    .relation-block .relation-post .post-thumnail {
        width: 100%;
        height: 47.569vw;
    }
    .relation-block .relation-post .post-thumnail img {
        height: 100%;
    }
    .relation-block .relation-post .post-cont {
        width: 100%;
        padding: 0;
        margin: 30px 0 0;
    }
}

/* form */

.sp-show {
    display: none;
}
.pc-show {
    display: revert;
}
@media screen and (max-width: 1023px) {
    #entry-top .right {
        width: 350px;
        padding: 15px;
    }
    #entry-top .right .right-inner .reception {
        font-size: 14px;
    }
    #entry-top .right .right-inner .text {
        font-size: 14px;
    }
    #entry-top .right .right-inner .free-call {
        padding: 0px 5px;
    }
    #entry-top .right .contact-txt {
        margin-top: 46px;
        font-size: 14px;
    }
    #entry-top h1 {
        font-size: 30px;
    }
    #entry-top .left p {
        font-size: 35px;
    }
    #entry-top .left .sm-txt {
        font-size: 20px !important;
    }
    .flow .step1 dl:before,
    .flow .step2 dl:before,
    .flow .step3 dl:before {
        width: 70px;
        height: 70px;
    }
    .form .middle dt span {
        width: 46px;
    }
    .form .middle dt p {
        font-size: 14px;
    }
    .form .middle .text {
        font-size: 11px;
    }
    .flow .step1::after,
    .flow .step2::after {
        right: -5px;
        top: 70px;
    }
    .flow .step1 dl,
    .flow .step2 dl,
    .flow .step3 dl {
        padding-left: 80px;
    }
    .flow .step2 {
        margin: 0 24px;
    }
    .form .middle li {
        width: 250px;
    }
    #entry-top .right .right-inner .fd {
        top: 79px;
        left: 67px;
    }
    .form .main th {
        padding: 22px 10px;
    }

}
@media screen and (max-width: 767px){
    .form {
        margin: 0;
    }
    input[type="radio"]:checked+label::after {
        width: 10px;
        height: 10px;
        top: 5px;
        left: 5px;
    }
    .form .main select {
        width: 100%;
        margin: 0;
        padding: 10px;
        border-radius: 5px;
        font-size: 20px;
        border: 1px solid #999;
        background: #eee;
        color: black;
    }
    .form .middle .flow {
        display: none;
    }
    .form .main .is-input-text-parent {
        height: auto;
        line-height: 1.2;
        font-size: 18px;
    }
    .form .main .ssl p {
        margin-left: 0 !important;
    }
    .form .main .name dt {
        font-size: 20px;
        font-weight: normal;
        display: none;
    }
    .cus-note-text,
    .text-note {
        font-size: 16px;
        line-height: 1.2;
        padding: 5px 0 0 !important;
        margin-bottom: 0;
    }
    td.is-p-0.is-inner-td {
        margin-top: 15px;
    }
    .form .main .necessary {
        position: relative;
        top: -3px;
        left: 10px;
        font-size: 12px ;
        padding: 0 6px;
        float: none;
        display: inline-flex !important;
        height: 20px;
        align-items: center;
    }
    .show-control .request .add-items {
        font-size: 16px !important;
    }
    .box-request {
        padding: 3px 0;
    }
    .pd-14 {
        padding: 5px 0 !important;
    }
    .form .main .is-p-0 {
        font-size: 20px;
        padding: 0;
    }
    .form .main .is-inner-td {
        width: 100%;
        font-weight: normal;
    }
    .form .main label {
        font-size: 18px ;
        color: #000;
        text-decoration: none;
    }
    .form .main .renewal-refer .link, .form .main .refer .link {
        font-size: 18px;
        background-position: 0px -1073px;
    }
    .is-p-0 option {
        color: black !important;
    }
    input[type="radio"]+label::before {
        top: 3px;
        left: 3px;
        width: 14px;
        height: 14px;
    }
   .pc {
       display: none !important;
   }
   .content-sp {
       width: 100% !important;
   }
   .form .main .title-custom {
        margin-bottom: 15px;
        padding: 10px;
        background-color: #0845a6;
        border-bottom: 1px solid #ececec;
        font-size: 22px;
        font-weight: bold;
        letter-spacing: 1px;
        color: #fff;
        border-left: none;
        margin: 0;
    }
    .form .main.main01 {
        padding: 0 !important;
        border: none;
    }
    .form .main td {
        border: none;
    }
    .form .main th {
        border: none;
        background-color: white;
        text-align: left;
        margin-top: 15px;
    }
    .main01 form {
        padding: 0 15px;
    }
    .hd-sp {
        display: none !important;
    }
    .create-box-form {
        display: block !important;
    }
    .show-control {
        display: none;
    }
    .sp-show {
        display: block !important;
    }
    .pc-show {
        display: none;
    }
}
@media screen and (max-width: 374px) {
    .show-control .request .add-items {
        font-size: 13px !important;
    }
}