@charset "utf-8";
/*
theme Name: ONEPIXEL
Author: Masafumi yamaguchi
Description: 株式会社ワンピクセル
version： 1.0.0
*/

/*cssのリセット*/
html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,
blockquote,pre,abbr,address,cite,code,del,dfn,em,img,
ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,
ol,ul,li,fieldset,form,label,legend,table,caption,
tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,
figcaption,figure,footer,header,hgroup,menu,nav,section,
summary,time,mark,audio,video {
 font-size: 100%;
 margin: 0;
 padding: 0;
 vertical-align: baseline;
 border: 0;
 outline: 0;
 background: transparent;
}
 
body {
 line-height: 1;
}
 
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
 display: block;
}
 
nav ul {
 list-style: none;
}
 
blockquote,
q {
 quotes: none;
}
 
blockquote:before,
blockquote:after,
q:before,
q:after {
 content: '';
 content: none;
}
 
a {
 font-size: 100%;
 margin: 0;
 padding: 0;
 vertical-align: baseline;
 background: transparent;
}
 
ins {
 text-decoration: none;
 color: #000;
 background-color: #ff9;
}
 
mark {
 font-weight: bold;
 font-style: italic;
 color: #000;
 background-color: #ff9;
}
 
del {
 text-decoration: line-through;
}
 
abbr[title],
dfn[title] {
 cursor: help;
 border-bottom: 1px dotted;
}
 
table {
 border-spacing: 0;
 border-collapse: collapse;
}

th {
 font-weight: normal;
 text-align: left;
}
 
hr {
 display: block;
 height: 1px;
 margin: 1em 0;
 padding: 0;
 border: 0;
 border-top: 1px solid #ccc;
}

/*サイト全体の基準となるCSSを記述*/
html {
  font-size: 16px;
}
 
body {
 width: 100%;
 height: auto;
 font-family: 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'Noto Sans Japanese', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 line-height: 1.4;
 margin: 0;
 padding: 0;
 color: #333;
 overflow-x: hidden;
 overflow-wrap: break-word;
 box-sizing: border-box;
}

.wrapper {
 overflow: hidden;
}
 
h1, h2, h3, h4, h5, h6 {
 font-weight: bold;
 color: #000;
}
 
img {
 max-width: 100%;
 height: auto;
}

small {
 font-size: 0.8rem;
}

dt {
 margin: 15px 0;
 font-size: 1rem;
}

iframe.wp-embedded-content {
 width: 100%;
 margin: 50px 0 30px;
 box-sizing: border-box;
}

table {
 font-size: 0.8rem;
 margin: 1rem auto;
 width: 100%;
}

th {
 padding: 1rem;
 border: #aaa 1px solid;
 background: #666;
 color: #fff;
 vertical-align: middle;
}

td {
 padding: 1rem;
 border: #aaa 1px solid;
 vertical-align: middle;
}

@media screen and (max-width: 768px) {
th {
 padding: 0.5rem;
}

td {
 padding: 0.5rem;
}
}

@media screen and (max-width: 768px) {
table th {
 display: block;
}
	
table td {
 display: block;
}}

/* ヘッダー */
header {
 width: 100%;
 height: auto;
 background: #666;
 color: #fff;
}

.header_inner {
 width: 90%;
 max-width: 1280px;
 padding: 15px 0 5px;
 margin: 0 auto;
}

.site_title_wrap {
 width: 50%;
 max-width: 300px;
}

.business_info {
 text-align: right;
 font-weight: bold;
 position: absolute;
 top: 30px;
 right: 5%;
 font-size: 1.5rem;
 line-height: 1;
 color: #fff;
 text-shadow: 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000;
    display: block;
}

@media screen and (min-width:541px) {
header {
 position: relative !important;
}}

/*ナビゲーション PC */
.header_menu {
 background: #aaa;
 width: 100%;
 height: auto;
}

.header_list {
 display: flex;
 height: 5rem;
 margin: 0 auto;
 width: 90%;
 max-width: 740px;
}

.header_list > li {
 width: 20%;
}

.header_list li {
 list-style: none;
 position: relative;
}

.header_list li a {
 font-weight: bold;
 color: #fff;
 text-shadow: 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000;
 display: block;
 line-height: 3.03rem;
 text-align: center;
 text-decoration: none;
 width: auto;
}

.header_list li a:hover {
 opacity: 0.5;
}

.menu-item-description {
 font-size: 0.8rem;
 line-height: 1rem;
 margin-top: -0.1rem;
 padding-bottom: 1.1rem;
 opacity: 0.8;
}

.header_menu li:first-child::before {
 left: 0;
}

.header_menu li:before, .header_menu li:after {
 background-color: #000;
 content: "";
 width: 1px;
 height: 30%;
 position: absolute;
 top: 38%;
 z-index: 1;
}

.header_menu li li:before, .header_menu li li:after {
 display: none;
}

.header_menu li::after {
 right: 0;
}

@media screen and (min-width:541px) {
.hamburger_menu {
 display: none;
}}

.header_list li a::after {
 position: absolute;
 bottom: 5px;
 left: 0;
 content: '';
 width: 100%;
 height: 1px;
 background: #fff;
 transform: scale(0, 1);
 transform-origin: left top;
 transition: transform .3s;
}

.header_list li a:hover::after {
 transform: scale(1, 1);
}

#header_floating_menu {
 width: 100%;
 background: #0080b3;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 100;
}

.floating_menu .header_list {
 margin-right: auto !important;
}

/*ナビゲーション スマホ */
.menu_content_inner {
 width: 70%;
 min-height: 100vh;
 padding: 10% 5% 0;
 background: #666;
 text-align: center;
}

.menu_content_inner img {
 width: 60%;
 padding: 0 0 15px 0;
}

.menu_content_inner ul.sub-menu {
 padding-left: 1rem;
 opacity: 0.8;
 margin-bottom: 1rem;
}

.menu_btn {
 position: absolute;
 top: 5px;
 right: 8px;
 display: flex;
 height: 55px;
 width: 55px;
 justify-content: center;
 align-items: center;
 z-index: 100;
}

.menu_btn span,
.menu_btn span:before,
.menu_btn span:after {
 content: '';
 display: block;
 height: 2px;
 width: 25px;
 border-radius: 3px;
 background-color: #fff;
 position: absolute;
 transition: all 0.5s;
}

.menu_btn span:before {
 bottom: 8px;
}

.menu_btn span:after {
 top: 8px;
}

#menu_btn_check:checked ~ .menu_btn span {
 background-color: rgba(255, 255, 255, 0);
}

#menu_btn_check:checked ~ .menu_btn span::before {
 bottom: 0;
 transition: all 0.5s;
 transform: rotate(45deg);
}

#menu_btn_check:checked ~ .menu_btn span::after {
 top: 0;
 transition: all 0.5s;
 transform: rotate(-45deg);
}

#menu_btn_check {
 display: none;
}

.menu_content ul li {
 list-style: none;
}

.menu_content ul li a {
 display: block;
 width: 100%;
 font-size: 1.2rem;
 box-sizing: border-box;
 color:#ffffff;
 text-decoration: none;
 padding: 9px 15px 10px 0;
 position: relative;
}

.menu_content {
 width: 100%;
 height: 100%;
 position: fixed;
 overflow-y: scroll;
 top: 0;
 left: -100%;
 z-index: 80;
 background-color: rgba(0,0,0,0.6);
 opacity: 0;
 transition: all 0.8s;
}

#menu_btn_check:checked ~ .menu_content {
 left: 0;
 opacity: 1;
}

.menu {
 width: 90%;
 margin: 0 auto;
}

@media screen and (max-width: 540px) {
.menu_content .menu-item-description {
 font-size: 0.5rem;
 display: inline-block;
 padding-bottom: 0;
 padding-left: 0.5rem;
}}

.hamburger_menu li {
 list-style: none;
 position: relative;
}
	
.hamburger_menu li a {
 color: #fff;
 display: block;
 text-decoration: none;
 width: auto;
}

.hamburger_menu li a:hover {
 opacity: 0.5;
}

.hamburger_menu li li {
 height: 0;
 overflow: hidden;
 transition: .5s;
}

.hamburger_menu li li a {
 text-align: left;
 opacity: 0.6;
 font-size: 0.9rem;
}

.hamburger_menu li:hover > ul > li {
 height: 3rem;
 overflow: visible;
}

.hamburger_menu li li .dropdown {
 display: none;
}

.hamburger_menu .menu-item-has-children > a :before {
 display: block;
 position: absolute;
 top: 10px;
 right: 0;
 width: 20px;
 height: 20px;
 border: 1px solid #fff;
 border-radius: 100%;
 line-height: 20px;
 text-align: center;
 content: "+";
}

.dropdown {
 position: absolute;
 width: 20px;
 height: 20px;
 top: 10px;
 right: 0;
}

@media screen and (max-width:540px) {
.business_info, .header_menu {
 display: none;
}}

/* ドロワー */
.drawer {
 overflow-wrap: break-word;
 margin-bottom: 30px;
}

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

.menu_btn_drawer {
 display: flex;
 height: 60px;
 width: 60px;
 justify-content: center;
 align-items: center;
 z-index: 90;
}

.menu_btn_drawer span,
.menu_btn_drawer span:before,
.menu_btn_drawer span:after {
 content: '';
 display: block;
 height: 2px;
 width: 25px;
 border-radius: 3px;
 background-color: #fff;
 position: absolute;
 transition: all 0.5s;
}

.menu_btn_drawer span:before {
 bottom: 8px;
}

.menu_btn_drawer span:after {
 top: 8px;
}

.menu_btn_drawer span {
 background-color: rgba(255, 255, 255, 0);
}

.menu_btn_drawer span::before {
 bottom: 0;
 transition: all 0.5s;
 transform: rotate(45deg);
}

.menu_btn_drawer span::after {
 top: 0;
 transition: all 0.5s;
 transform: rotate(-45deg);
}

/* ファーストビュー */
.firstview {
 width: 100%;
 height: auto;
 background: #ccc;
 font-size: 0;
}

.firstview .swiper-slide img {
 width: 100%;
}

/* フロントページ */
.container {
 width: 100%;
 height: auto;
}

.front_page_contents {
 width: 90%;
 max-width: 1280px;
 margin: 0 auto;
 padding: 2rem 0;
}

.blog {
 width: 100%;
}

.post_chapters {
 font-family: 'RocknRoll One', sans-serif;
 font-size: min(12vw,3rem);
 margin-bottom: 2rem;
 text-align: center;
}

.blog_inner {
 margin: 0 auto;
 padding: 1rem;
 border: 8px #aaa solid;
 margin-bottom: 2rem;
}

.blog_inner_img {
 overflow: hidden;
 position: relative;
 padding-top: 23%;
}

@media screen and (max-width: 539px) {
.blog_inner_img {
 padding-top: 60%;
}}

@media screen and (min-width: 540px) and (max-width: 820px) {
.blog_inner_img {
 padding-top: 24%;
}}

.front_page_cat-data {
 position: absolute;
 left: 5%;
 top: 5%;
 background: #666;
 color: #fff;
 text-decoration: none;
 padding: 1% 2%;
 font-size: 0.8rem;
 z-index: 10;
}

@media screen and (max-width: 540px) {
.front_page_cat-data {
 font-size: 0.5rem;
}}

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

.blog_small {
 letter-spacing: -1.4rem;
 max-width: 1080px;
 margin: 0 auto;
 font-size: 0;
}

.blog-wrap {
 width: 32%;
 padding: 1%;
 margin: 0.5%;
 display: inline-block;
 box-sizing: border-box;
 border: 5px #ccc solid;
}

@media screen and (max-width: 768px) {
.blog-wrap {
 width: 49%;
}}

.img-wrap {
 font-size: 0;
}

.front_page_list_text {
 width: 100%;
 padding: 3%;
 box-sizing: border-box;
 text-align: center;
 position: absolute;
 bottom: 0;
 color: #fff;
 text-shadow: 2px 2px 2px #000;
 background: rgba(0,0,0,0.5);
}

.front_page_list_text h2 {
 color: #fff;
 font-size: 1.2rem;
 font-family: 'RocknRoll One', sans-serif;
 font-weight: normal;
}

@media screen and (max-width: 768px) {
.front_page_list_text h2 {
 font-size: 0.8rem;
}}

.img-wrap_small {
 font-size: 0;
 overflow: hidden;
 position: relative;
 padding-top: 65%;
}

.img-wrap_small img {
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

a .front_page_small_list_text {
 color: #333;
}

.front_page_small_list_text {
 width: 100%;
 padding: 1%;
 display: inline-block;
 vertical-align: top;
 letter-spacing: normal;
}

.front_page_small_list_text h2 {
  font-size: initial;
}

.front_page_small_cat-data {
 font-size: 0.65rem;
 color: #fff;
 background: #666;
 padding: 2px 5px 2px 5px;
 border-radius: 10px;
 margin-right: 5px;
 letter-spacing: normal;
 position: absolute;
 top: 10px;
 left: 10px;
}

.front_page_small_excerpt {
 font-size: 0.9rem;
 margin-top: 5px;
}

@media screen and (max-width: 540px) {
.front_page_small_excerpt {
 font-size: 0.7rem;
}}

.archivelink {
 background: #666;
 color: #fff;
 text-align: center;
 width: 90%;
 max-width: 800px;
 margin: 2rem auto 0;
 padding: 1rem 0;
 box-shadow: 8px 8px 0 #ccc;
}

/* フッター */
footer {
 background: #aaa;
 color: #fff;
 text-align: center;
 padding: 20px 0;
}

@media screen and (max-width: 768px) {
footer {
 padding: 20px 0 70px;
}}

.footer_inner {
 width: 90%;
 max-width: 1280px;
 margin: 0 auto;
}

.footer_inner a:hover {
 opacity: 0.8;
}

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

.footer_inner li {
 list-style: none;
 display: inline-block;
 padding: 0 10px;
 font-size: 0.9rem;
}

.footer_inner .menu-item-description {
 margin-top: 0.2rem;
 font-size: 0.75rem;
 padding-bottom: 0;
}

.footerbar {
 background: #000;
}

.footerbar_inner {
 width: 90%;
 max-width: 1280px;
 height: auto;
 margin: 0 auto;
 padding: 50px 0 30px;
 color: #000;
}

.business_introduction {
 color: #fff;
 font-family: 'RocknRoll One', sans-serif;
 padding-top: 30px;
 font-size: 1.2rem;
}

.business_introduction img {
 max-width: 300px;
 width: 65%;
 margin-bottom: 0.5rem;
}

.copyright {
 font-size: 0.8rem;
 padding: 30px 0 0;
 opacity: 0.8;
}

.footer_title {
 font-size: 0.85rem;
 opacity: 0.6;
 padding: 5px 0 15px;
}

@media screen and (min-width: 768px) {
#footer_floating {
 display: none !important;
}}

#footer_floating {
 width: 100%;
 height: 70px;
 position: fixed;
 bottom: 0;
 left: 0;
 background: #000;
 text-align: center;
 z-index: 100;
}

#footer_floating a {
 text-decoration: none;
 color: inherit;
}

.footer_floating {
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%,-50%);
 transform: translate(-50%,-50%);
 position: relative;
 display: flex;
 align-items: center;
}

.footer_icon {
 width: 90%;
 display: inline-block;
 font-size: 1.8rem;
 line-height: 1.2;
 position: relative;
 font-weight: bold;
 color: #fff;
 text-shadow: 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000, 0 0 2px #000;
}

.footer_icon:first-child:after {
 display:none;
}

.footer_icon:after {
 background-color: #fff;
 content: "";
 width: 1px;
 height: 65%;
 position: absolute;
 top: 20%;
 left: 0;
 margin-left: -3%;
 z-index: 1;
}

.footer_icon_disc {
 font-size: 0.75rem;
}

.footer_map {
 font-size: 0;
}

/* パンくずリスト */
.breadcrumbs {
 width: 90%;
 max-width: 1280px;
 margin: 20px auto;
 font-size: 0.8rem;
}

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

.breadcrumbs li {
 display: inline-block;
 margin: 0 10px 0 0;
}

.breadcrumbs li:after {
 font-family: 'onepixel' !important;
 content: "\e904";
 font-size: 0.8rem;
 padding: 0 0 0 15px;
 text-align: center;
}


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

/* column */
.column_left {
 width: 65%;
 background: #fafafa;
 margin: 0;
 padding: 0 3% 3%;
 display: inline-block;
 letter-spacing: normal;
}

@media screen and (max-width: 768px) {
.column_left {
 width: auto;
 display: inherit;
}}

/* ページャー */
#pager_navigation {
 letter-spacing: normal;
 text-align: center;
 margin: 5% 0;
}

.page-numbers li {
 display: inline-grid;
 font-size: 0.8rem;
 padding: 0.5%;
 width: 25px;
 height: 25px;
 line-height: 25px;
}

.page-numbers li a {
 background: #666;
 border-radius: 5px;
 color: #fff;
}

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

/* 投稿・固定ページ 共通 */
.post_header_frame {
 height: 45vh;
 overflow: hidden;
 position: relative;
}

.post_header_frame h1 {
 font-family: 'RocknRoll One', sans-serif;
 width: 90%;
 text-align: center;
 color: #fff;
 font-size: 3vw;
 text-shadow: 2px 2px 5px #000;
 letter-spacing: 0.15rem;
 font-weight: normal;
 z-index: 1;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}

@media screen and (max-width: 1024px) {
.post_header_frame h1 {
 font-size: 7vw;
}}

.post_header_frame p {
 width: 90%;
 color: #fff;
 font-size: 0.8rem;
 text-shadow: 2px 2px 5px #000;
 letter-spacing: 0.15rem;
 font-weight: normal;
 z-index: 1;
 position: absolute;
 bottom: 10%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}

#post_header {
 text-align: center;
 height: 45vh;
 font-size: 1.5rem;
 text-shadow: 2px 2px 5px #000;
 position: relative;
 z-index: -2;
}
	
#post_header:after {
 content: "";
 background: rgba(0,0,0,0.35) url(/wp-content/themes/onepixel-child/images/page_background.png) center center / cover no-repeat;
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
 z-index: -1;
}

.main {
 letter-spacing: -1.4rem;
 margin: 50px auto;
 width: 90%;
 max-width: 1024px;
}

@media screen and (max-width: 540px) {
.main {
 margin: 0;
 width: 100%;
}}

/* 投稿ページ */
.article {
 padding: 1rem 0 0;
}

.contents {
 width: 100%;
 max-width: 1280px;
 margin: 0 auto;
 padding: 15px 0 0;
}

.contents p {
 margin: 15px 0;
}

.article-title h1 {
 background: #666;
 color: #fff;
 text-align: center;
 padding: 8px 10px;
 margin-bottom: 8px;
 line-height: 1.3;
}

.cat-data,.cat-data a {
 background: #666;
 color: #fff;
 text-decoration: none;
 padding: 0 0 0 6px;
 line-height: 2;
 font-size: 0.7rem;
 border-radius: 10px;
 margin-right: 10px;
 display: inline-block;
}

.article-date {
 font-size: 0.8rem;
 display: inline-block;
}

.single .article-date {
 margin-bottom: 25px;
}

.article-content {
 padding: 15px 0;
 font-size: 1rem;
 line-height: 1.5;
 width: 90%;
 margin: 0 auto;
}

@media screen and (max-width: 540px) {
.article-content {
 padding: 0 0 15px;
}}

.single_page_other {
 background: #666;
 color: #fff;
 text-align: center;
 padding: 10px 0;
 margin: 30px 0 10px;
}

.single_page_fix {
 text-align: center;
 border: 1px solid #999;
 padding: 3vh;
}

/* 投稿ページ  SNS */
.sns_share {
 text-align: center;
 margin-bottom: 15px;
}
.sns_share a {
 color: #333;
 text-decoration: none;
}

.sns_share li {
 list-style: none;
 display: inline-block;
 margin: 5% 2%;
}

/* 投稿ページ  前後記事 */
.before_and_after {
 position: relative;
 width: 100%;
 height: auto;
 display: flex;
 flex-wrap: nowrap;
}

.before_and_after a {
 text-decoration: none;
 color: #444;
}

.before_and_after_left {
 width: 48%;
 height: 100%;
 left: 0;
 margin: 0 1%;
 text-align: center;
 display: table-cell;
 top: 0;
}

.before_and_after_right {
 width: 48%;
 height: 100%;
 right: 0;
 margin: 0 1%;
 text-align: center;
 display: table-cell;
 top: 0;
}

/* 投稿ページ  関連記事 */
.related {
 letter-spacing: -1.4rem;
}

.related a {
 color: #333;
}

.related-post_inner {
 width: 46%;
 padding: 2%;
 display: inline-table;
 letter-spacing: normal;
}

.related-post_thumbnail {
 overflow: hidden;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 margin-bottom: 3%;
 padding-top: 65%;
}

.related-post_thumbnail img {
 transition: 0.5s all;
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

.related-post_thumbnail img:hover{
 transform:scale(1.2,1.2);
 transition:0.8s all;
}

.related-post_none {
 letter-spacing: normal;
 text-align: center;
}

/* 固定ページ */
.page_contents {
 width: auto;
 background: #fafafa;
 margin: 0;
 padding: 3%;
 letter-spacing: normal;
}

.page .article-content {
 padding: 15px 3%;
}

.page_contents h2 {
 position: relative;
 display: table;
 padding: 0.6em;
 background: #ff6d6d;
 color: #fff;
 border-radius: 7px;
 margin: 1rem 0 1.5rem;
}

.page_contents h2:after {
 position: absolute;
 content: '';
 top: 100%;
 left: 30px;
 border: 8px solid transparent;
 border-top: 15px solid #ff6d6d;
 width: 0;
 height: 0;
}

/* 固定ページ フッターバー */
.page_footer {
 background: #000;
}

.page_footer_inner {
 width: 90%;
 max-width: 1280px;
 margin: 0 auto;
 padding: 30px 0;
 letter-spacing: -1.4rem;
}

/* サイドバー */
.sidebar {
 width: 27%;
 margin: 0 0 0 2%;
 letter-spacing: normal;
 display: inline-block;
 vertical-align: top;
}

@media screen and (max-width: 768px) {
.sidebar {
 width: auto;
 margin: 5% 3% 0;
 display: inherit;
}}

.sidebar a {
 text-decoration: none;
 color: #000;
}

.sidebar-inner {
 padding-bottom: 10%;
}

.sidebar li {
 list-style: none;
 line-height: 2;
}

.sidebar-title {
 background: #666;
 font-family: 'RocknRoll One', sans-serif;
 color: #fff;
 padding: 10px 15px;
 margin: 15px 0;
 font-weight: normal;
 align-items: center;
 display: flex;
}

.sidebar_sp {
 display: flex;
 font-size: 0;
 text-align: center;
}

.sidebar_sp img {
 width: 95%;
 padding-bottom: 5%;
}

/* アーカイブ */
#archive_header {
 background: #ddd;
 text-align: center;
 padding: 15vh 0;
 font-size: 2rem;
}

#archive {
 letter-spacing: -1.4rem;
 margin: 50px auto;
 width: 90%;
 max-width: 1280px;
}

#category_main {
 letter-spacing: -1.4rem;
 font-size: 0;
}

.articles_index {
 width: 48%;
 margin: 1% 1% 3%;
 display: inline-block;
 letter-spacing: normal;
 vertical-align: top;
}

.articles_index_thumbnail {
 aspect-ratio: 3 / 2;
 overflow: hidden;
 display: flex;
 align-items: center;
 justify-content: center;
 position: relative;
 margin-bottom: 3%;
 transition: 0.5s all;
}

.articles_index_thumbnail img {
 transition: 0.5s all;
}

.articles_index_thumbnail img:hover{
 transform:scale(1.2,1.2);
 transition:0.8s all;
}

#tag_navigation {
position: absolute;
left: 5%;
top: 5%;
background: #666;
color: #fff;
text-decoration: none;
padding: 1% 2%;
font-size: 0.7rem;
z-index: 10;
}

@media screen and (max-width: 540px) {
#tag_navigation {
font-size: 0.5rem;
}}

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

.archive_date {
 font-size: 0.8rem;
 margin-bottom: 5px;
 z-index: 10;
}

@media screen and (max-width: 540px) {
.archive_date {
 margin-bottom: 0;
}}

h2.articles_title a {
color: #333;
text-decoration: none;
font-size: 1.2rem;
line-height: 1.3;
}

@media screen and (max-width: 540px) {
h2.articles_title a {
font-size: 0.8rem;
}}

h2.screen-reader-text {
 display: none;
}

/* サイトマップ */
#sitemap a {
 text-decoration: none;
 color: #333;
}

ul #sitemap, #sitemap li {
 list-style: none;
}

#sitemap li {
 margin: 8px 0;
}

#sitemap li > ul {
 margin: 5px;
}

#sitemap li > ul > li a {
 color: #888;
}

#sitemap li > ul > li {
 text-indent: 2.5rem;
 color: #999;
}

#sitemap > li {
 border-bottom: 1px solid #999;
 display: table;
}

/* 検索 */
.search_result {
 letter-spacing: normal;
 text-align: center;
 margin: 0 0 30px;
}

#searchform {
 letter-spacing: -1.4rem;
}

input#s {
 width: 70%;
 max-width: 100%;
 height: 35px;
 border: 2px solid #ccc;
 padding: 5px 2%;
 margin-right: 2%;
 background: #f9f9f9;
 box-sizing: border-box;
}

button {
 width: 28%;
 height: 35px;
 vertical-align: middle;
 line-height: 0;
 border: 0;
 background: #000;
 color: #fff;
 padding: 2%;
}

/* 404 */
.not_found {
 text-align: center;
 background: #666;
 color: #fff;
 padding: 15px 20px;
 display: table;
 margin: 0 auto 50px;
}

.not_found_search {
 width: 90%;
 max-width: 800px;
 margin: 30px auto;
}

button {
 background: #666;
}

/* カスタム投稿（エリア） */
.article-content_area {
 padding: 15px 3%;
}

/* ローディング */
#loading {
 width: 30%;
 height: auto;
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 -webkit-transform: translate(-50%, -50%);
 -ms-transform: translate(-50%, -50%);
}

@media only screen and (max-width:540px) {
#loading {
 width: 65%;
 height: auto;
}}

#loader-bg {
 position: fixed;
 width: 100%;
 height: 100%;
 top: 0px;
 left: 0px;
 background: #000;
 z-index: 999;
}

/* プログレスバー */
#progress {
 width: 100%;
 height: 100%;
 bottom: 0;
 position: absolute;
}

#progressBar {
 height: 5px;
 background-color: #fff;
 position: absolute;
 bottom: 0;
}

#progressTxt {
 width: 100%;
 text-align: center;
 color: #fff;
 font-size: 2rem;
 position: absolute;
 bottom: 10%;
 font-family: 'Parisienne', cursive;
}

/* スワイパー */
.swiper-container-free-mode > .swiper-wrapper {
 -webkit-transition-timing-function:linear!important;
 -o-transition-timing-function:linear!important;
 transition-timing-function:linear!important;
}

.blog_inner_img img {
 position: absolute;
 left: 0;
 top: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
}

/* インビュー */
.op0 {
 opacity: 0;
}

/* reCAPTCHA */
.grecaptcha-badge {
 margin: 5% auto;
}

@media only screen and (max-width:540px) {
.grecaptcha-badge {
 margin: 5% auto 10%;
}}

/* コンタクトフォーム */
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
 width: 100%;
 padding: 0.3rem;
 box-sizing: border-box;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel {
 width: 100%;
 padding: 0.3rem;
 box-sizing: border-box;
}

textarea.wpcf7-form-control.wpcf7-textarea {
 width: 100%;
 padding: 0.5rem;
 box-sizing: border-box;
}

input.wpcf7-form-control.has-spinner.wpcf7-submit {
 width: 100%;
 max-width: 500px;
 height: 80px;
 margin: 2rem auto;
 display: table;
 background: #666;
 color: #fff;
 font-size: 1.5rem;
 font-weight: bold;
 border: none;
}

.wpcf7 {
 width: 90%;
 max-width: 740px;
 margin: 0 auto;
}

.cf_heading {
 background: #666;
 color: #fff;
 padding: 0.2rem 0.5rem;
 display: inline-block;
 font-size: 0.8rem;
 margin: 1rem 0 0.5rem;
}

.contact {
 font-size: 2.5rem;
 text-align: center;
 margin-bottom: 2rem;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
 border-radius: 0;
 -webkit-box-sizing: content-box;
 -webkit-appearance: button;
 appearance: button;
 border: none;
 box-sizing: border-box;
 cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
 display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
 outline-offset: -2px;
}