@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;
 text-decoration: none;
}
 
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: 0.5rem 0 1rem;
    padding: 0;
    border: 0;
    border-top: 0.5px solid #a5895d;
}

/*サイト全体の基準となるCSSを記述*/
html {
  font-size: 16px;
}
 
body {
 width: 100%;
 height: auto;
 background: #111b2c;
 font-family: "Zen Old Mincho", serif;
 line-height: 1.4;
 margin: 0;
 padding: 0;
 color: #ccc;
 overflow-x: hidden;
 overflow-wrap: break-word;
 box-sizing: border-box;
}

.wrapper {
 overflow: hidden;
}
 
h1 {
 font-size: min(5vw,1.6rem);
 font-weight: normal;
 color: #a5895d;
}

h2 {
 font-size: min(8vw,2rem);
 padding: 1rem 0 0;
 font-weight: normal;
 color: #a5895d;
}

h3 {
 font-size: min(6vw,1.4rem);
 color: #a5895d;
}

h4, h5, h6 {
 color: #fff;
}
 
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;
}

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

table {
 font-size: min(3.8vw,1rem);
 margin: 1rem auto;
 width: 100%;
}

th {
 padding: 0.5rem 0;
 vertical-align: middle;
}

td {
 padding: 0.5rem 0;
 vertical-align: middle;
}

table.t-res {
    border-collapse: separate;
    border-spacing: 0.3rem 0.5rem;
}

.t-res th {
    color: #a58951;
    border: 1px solid;
    text-align: center;
}

.t-res td {
    border-bottom: 0.5px solid #a58951;
    padding: 0.5rem 1rem;
}

@media screen and (max-width: 540px) {
.t-res th {
        display: block;
}
.t-res td {
		display: block;
        text-align: center;
}}

.heading {
 text-align: center;
 font-size: min(7vw,2rem);
 color: #a58951;
 line-height: 1;
 font-weight: bold;
 padding: 2rem 0;
 letter-spacing: normal;
}

p {
 margin: 1rem 0 1.5rem;
}

.nl {
 display: inline-block;
}

.archivelink {
 color: #a58951;
 font-size: initial;
 width: 90%;
 max-width: 350px;
 box-sizing: border-box;
 font-weight: bold;
 text-align: center;
 letter-spacing: .05rem;
 border-radius: 30px;
 padding: 15px 30px;
 border: 1px solid;
 margin: 1rem auto;
 display: block;
 position: relative;
 overflow: hidden;
}

.archivelink::before {
 content: '';
 position: absolute;
 top: 0;
 left: -75%;
 width: 50%;
 height: 100%;
 background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
 transform: skewX(-25deg);
}

.archivelink:hover::before {
 animation: shine 0.7s;
}

@keyframes shine {
 100% {
 left: 125%;
}}

/* ヘッダー */
header {
 width: 100%;
 height: 75px;
 color: #000;
 position: absolute;
 z-index: 1000;
}

@media screen and (max-width: 820px) {
header {
 height: auto;
}}

.header_inner {
 width: 95%;
 height: 100%;
 max-width: 1280px;
 margin: 0 auto;
 padding: 10px 0;
 display: flex;
 align-items: center;
}

.site_title_wrap {
 width: 50%;
 max-width: 200px;
 font-size: 0;
}

/*ナビゲーション PC */
.header_menu {
 width: 100%;
 height: auto;
 font-size: 0.8rem;
}

.header_list {
 display: flex;
 margin: 0 auto;
 width: 90%;
 max-width: 740px;
 justify-content: center;
}

.header_list > li {
 width: 20%;
}

.header_list li {
 list-style: none;
 position: static;
 width: 20%;
}

.header_list li a {
 color: #a5895d;
 font-weight: bold;
 line-height: 2;
 text-align: center;
 text-decoration: none;
 width: auto;
}

.header_list li li a {
 font-style: italic;
 line-height: 4rem;
 font-size: 0.8rem;
 position: relative;
}

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

.header_list li li,.sub-menu div {
 height: 0;
 overflow: hidden;
 transition: .5s;
 z-index: 10;
}

@media screen and (min-width: 821px) {
.header_list li li {
 display: inline-block;
}}

.header_list li:hover > ul > li,.sub-menu div {
 height: 4rem;
}

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

.menu-item-description {
 font-size: 0.6rem;
 line-height: 1;
 opacity: 0.8;
}

.header_menu li:before, .header_menu li:after {
 background-color: #a5895d;
 content: "";
 width: 0.1px;
 height: 35%;
 position: absolute;
 top: 50%;
 z-index: 1;
}

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

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

.header_list li li div:after {
 content: "\f0da";
 font-weight: bold;
 font-family: "Font Awesome 5 Free";
 margin-left: 1rem;
}

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

.hamburger_menu {
 position: fixed;
 right: 10%;
}

#header_floating_menu {
 width: 100%;
 height: 50px;
 position: fixed;
 top: 0;
 left: 0;
 z-index: 100;
 background: rgba(17, 27, 44, 0.5);
}

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

ul.sub-menu {
 position: absolute;
 width: 100%;
 top: 75px;
 left: 0;
 background: rgba(0,0,0,0.7);
 font-size: 0;
 text-align: center;
}

@media screen and (max-width: 820px) {
ul.sub-menu {
 position: initial;
 width: 100%;
 top: 75px;
 left: 0;
 background: none;
}}

#header_floating_menu ul.sub-menu {
 top: 50px;
}

.header_list li li a:before {
 background-color: #a5895d;
 content: "";
 width: 0.1%;
 height: 50%;
 position: absolute;
 top: 25%;
 left: 99.9%;
 z-index: 1;
}

.header_list li li a:after {
 background-color: #a5895d;
 content: "";
 width: 0.1%;
 height: 50%;
 position: absolute;
 top: 25%;
 left: -99.9%;
 z-index: 1;
}

/*ナビゲーション スマホ */
.menu_content_video {
 width: 100%;
 height: 100%;
 position: absolute;
 overflow: hidden;
 z-index: -3;
 transform: translate3d(0,0,0);
 background: #000;
}

#video {
 width: 110%;
 height: 110%;
 object-fit: cover;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%,-50%);
 transform: translate(-50%,-50%);
}

.menu_content_inner {
 width: 100%;
 min-height: 100vh;
 padding: 10% 5% 0px;
 box-sizing: border-box;
 background: rgba(0, 0, 0,0.8);
 text-align: center;
}

.menu_content_inner img {
 width: 60%;
 max-width: 260px;
 margin-bottom: 1rem;
}

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

@media screen and (max-width: 820px) {
.menu_content_inner ul.sub-menu {
 padding-left: 0;
 opacity: 0.8;
 margin-bottom: 0;
}}

.menu_btn {
 display: flex;
 height: 50px;
 width: 100%;
 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: #a5895d;
 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: 15px;
 box-sizing: border-box;
 color:#a5895d;
 text-decoration: none;
 padding: 9px 15px 10px 0;
 position: relative;
}

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

#menu_btn_check:checked ~ .menu_content {
 top: 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: center;
 opacity: 0.6;
 font-size: 0.9rem;
}

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

.menu_content ul li li:last-child {
 margin-bottom: 1rem;
}

.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 #a5895d;
 border-radius: 100%;
 line-height: 20px;
 text-align: center;
 content: "+";
}

.dropdown {
 position: absolute;
 width: 35px;
 height: 35px;
 top: 4px;
 right: -6px;
}

@media screen and (max-width:820px) {
.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: #a5895d;
 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: 100dvh;
 top: 0;
 z-index: 0;
 overflow: hidden;
 position: relative;
}

@media screen and (max-width: 1024px) {
.firstview {
 position: relative;
}}

.firstview:after {
 content: '';
 display: block;
 position: absolute;
 top: 0;
 right: 0;
 width: 100%;
 height: 100vh;
 background-color: rgba(0, 0, 0, 0.3);
}

.firstview_message {
 color: #a5895d;
 width: 90%;
 text-align: center;
 font-size: min(5vw,4rem);
 position: absolute;
 top: 50%;
 left: 5%;
 transform: translateY(-50%);
 -webkit-transform: translateY(-50%);
 -ms-transform: translateY(-50%);
 z-index: 1;
 filter: drop-shadow(1px 3px 2px rgba(0, 0, 0, 0.5));
}

.firstview_message img {
    width: 85%;
    max-width: 380px;
}

.fm_sub_title {
 font-weight: normal;
 font-size: min(7vw,2rem);
}

.video_wrapper {
 width: 100%;
 height: 100%;
 position: fixed;
 overflow: hidden;
 z-index: -3;
}

#header-video {
 width: 100%;
 height: 100%;
 object-fit: cover;
 position: absolute;
 top: 50%;
 left: 50%;
 -webkit-transform: translate(-50%,-50%);
 transform: translate(-50%,-50%);
}

/* フロントページ */
section {
    font-size: 0;
	border-bottom: 1.5px solid #a5895d;
    position: relative;
    overflow: hidden;
}

.h2_sub {
    font-size: min(3vw, 0.9rem);
    color: #a5895d;
    padding: 0.5rem 0;
    line-height: 1;
}

.arc {
    width: 100%;
    height: auto;
    background: url(/wp-content/themes/onepixel-child/images/arc/arc.png?20250925) center top / cover no-repeat;
    position: relative;
}

.arc:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 0;
    pointer-events: none;
}

.arc:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7) 15%, rgba(0, 0, 0, 0) 70%);
    left: 0;
    top: 0;
    z-index: 0;
    pointer-events: none;
}

.arc_container {
    font-size: min(4vw, 1.2rem);
    color: #a5895d;
    width: 80%;
    max-width: 720px;
    margin: 0 auto;
    padding: min(280px, 70%) 0 5%;
    position: relative;
    z-index: 1;
}

.section_container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.section_lr {
    width: 50%;
    height: auto;
    padding: 8% 5%;
    background: rgba(17,27,44,0.85) url(/wp-content/themes/onepixel-child/images/bg_pat.png?20250925) center center / 180px repeat;
}

.sec_contents_l {
    max-width: 430px;
	margin: 0 0 0 auto;
}

.sec_contents_r {
    max-width: 430px;
	margin: 0 auto 0 0;
}

@media screen and (max-width:480px) {
	.mobile {
		width: 25% !important;
	}
	
	.section_lr {
		width: 75%;
	}
}

.menu_price {
	max-width: 380px;
    font-size: min(4.3vw, 1.4rem);
    color: #dbdfe7;
}

.menu_price td {
    text-align: right;
}

.item {
    font-size: min(4.3vw, 1.4rem);
    margin: 0.5rem 0;
    color: #dbdfe7;
}

.price {
    font-size: min(4vw, 1.4rem);
}

.menu {
    font-size: min(3.2vw, 1rem);
    color: #bac0cb;
}

.photo {
    background: #263348 url(/wp-content/themes/onepixel-child/images/bg_pat.png?20250925) center center / 180px repeat;
}

.fp_container {
    width: 100%;
    height: auto;
    background: rgba(17, 27, 44, 0.85) url(/wp-content/themes/onepixel-child/images/bg_pat.png?20250925) center center / 180px repeat;
    position: relative;
    border-bottom: 1.5px solid #a5895d;
}

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

.news_table {
 margin: 0 auto;
 border-spacing: 0.1rem 0.1rem;
 letter-spacing: normal;
}

.news_table th {
 width: 20%;
 font-size: min(2.8vw,0.8rem);
 font-weight: normal;
 color: #a58951;
}

@media screen and (max-width: 540px) {
.news_table th {
        width: 100%;
        padding: 0.3rem 0.5rem;
        display: block;
        border-bottom: 1px solid;
        box-sizing: border-box;
}
.news_table td {
		display: block;
}
}

.news_table td a {
    color: #ccc;
}

.blog_wrapper {
 letter-spacing: -1.4rem;
 max-width: 1080px;
 margin: 0 auto;
 padding: 0 2%;
 font-size: 0;
}

.blog_container {
 width: 33%;
 padding: 1%;
 display: inline-block;
 box-sizing: border-box;
}

@media screen and (max-width: 768px) {
.blog_container {
 width: 50%;
}}

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

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

.cat-data {
 font-size: min(4vw,0.8rem);
 color: #000;
 background: #a58951;
 padding: 2px 5px 2px 5px;
 margin-right: 5px;
 letter-spacing: normal;
 position: absolute;
 top: 0;
 left: 0;
}

.blog_contents {
 width: 100%;
 padding: 3%;
 display: inline-block;
 vertical-align: top;
 letter-spacing: normal;
 box-sizing: border-box;
}

a .blog_contents {
 color: #333;
}

.blog_contents h2 {
 font-size: min(4.5vw,1.2rem);
}

.blog_date {
 font-size: min(2.5vw,0.7rem);
 color: #999;
}

.blog_excerpt {
 font-size: min(3vw,0.9rem);
 color: #776837;
 margin-top: 5px;
}

/* フッター */
footer {
 background: #111b2c url(/wp-content/themes/onepixel-child/images/bg_pat.png?20250925) center center / 300px repeat;
 color: #a5895d;
 padding: 2rem 0 1rem;
 position: relative;
}

@media screen and (max-width: 768px) {
footer {
        padding: 1rem 0 80px;
}}

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

.footer_inner a:hover {
 opacity: 0.8;
}

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

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

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

.footer_list {
 text-align: center;
 margin: 0 0 2rem;
}

.instagram {
    margin-bottom: 2rem;
}

.footer_column {
 letter-spacing: -1.4rem;
 font-size: 0;
 width: 90%;
 max-width: 1280px;
 height: auto;
 margin: 0 auto;
}

.footer_column_inner {
 width: 31%;
 padding: 1%;
 display: inline-block;
 letter-spacing: normal;
 font-size: 0.9rem;
 vertical-align: top;
 margin: 0 0 1rem;
}

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

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

.copyright p {
 margin: 0;
}

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

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

#footer_floating {
 width: 100%;
 height: 60px;
 position: fixed;
 bottom: 0;
 left: 0;
 background: #111b2c url(/wp-content/themes/onepixel-child/images/bg_pat.png?20250925) center center / 300px repeat;
 text-align: center;
 box-shadow: 0 -5px 10px rgba(0, 0, 0, 0.5);
 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: 1rem;
 line-height: 1.4;
 position: relative;
 font-weight: bold;
 color: #a5895d;
}

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

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

.footer_icon_disc {
 font-size: 0.6rem;
}

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

.breadcrumbs a {
 color: #a58951;
 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%;
 margin: 0;
 padding: 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.current {
 background: #a5895d;
 border: 1px #a5895d solid;
 border-radius: 5px;
 color: #fff;
}

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

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

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

@media screen and (max-width: 1024px) {
.post_header_frame {
 height: 25vh;
}}

.post_header_frame h1 {
 width: 90%;
 color: #a5895d;
 font-size: 1.5vw;
 text-shadow: 2px 2px 5px #000;
 letter-spacing: 0.15rem;
 font-weight: normal;
 z-index: 1;
 position: absolute;
 bottom: 5%;
 left: 5%;
}

.title_st {
 font-size: 3vw;
 font-weight: bold;
}

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

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

.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: 35vh;
 font-size: 1.5rem;
 text-shadow: 2px 2px 5px #000;
 position: relative;
 z-index: -2;
}

@media screen and (max-width: 1024px) {
#post_header {
 height: 25vh;
}}
	
#post_header:after {
 content: "";
 background: rgba(0,0,0,0.35) url() 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;
 position: relative;
}

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

/* 投稿ページ */
.container {
    width: 100%;
    height: auto;
    position: relative;
}

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

.contents p {
 margin: 15px 0;
}

.article-title h1 {
 color: #a58951;
 font-weight: bold;
 padding: 10px 0;
 margin: 15px 0;
 border-bottom: 1px solid #a58951;
}

.date-single {
 display: flex;
}

.article-date-single {
 font-size: 0.85rem;
 margin-right: 0.8rem;
}

.cat-data-single a {
 color: #a18951;
 display: table;
 padding: 0 0.8rem;
 border: 1px solid;
 border-radius: 5px;
 text-decoration: none;
 line-height: 1.7;
 font-size: 0.7rem;
}

.article-title {
 width: 100%;
}

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

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

.single_page_fix {
 text-align: center;
 padding: 3vh;
 font-size: min(3.5vw, 0.9rem);
 color: #94856b;
}

.single_page_tel {
 font-size: min(8vw,2.7rem);
 font-weight: bold;
 margin: 0.5rem 0;
}

/* 投稿ページ  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;
 font-size: 0.8rem;
}

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

.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;
}

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

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

/* サイドバー */
.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: #ccc;
}

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

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

.sidebar-title {
 color: #a5895d;
 font-weight: bold;
 padding: 10px 0;
 margin: 15px 0;
 border-bottom: 1px solid;
}

.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;
}

.news_list {
 width: 90%;
 max-width: 830px;
 color: #a58951;
 padding: 2%;
 margin: 0 auto;
 border: 1px solid;
 margin-bottom: 2rem;
}

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

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

#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;
}

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

select#archives-dropdown-2, select#archives-dropdown-3 {
 width: 100%;
 padding: 0.5rem;
}

.sidebar-inner li{
 position: relative;
 padding-left: 10px;
}
 
.sidebar-inner li:before {
 content: "";
 position: absolute;
 top: 0.6rem;
 left: 0;
 width: 0;
 height: 0;
 border-width: 5px;
 border-style: solid;
 border-color: transparent transparent transparent #ccc;
}

#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;
 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;
}

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

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

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

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

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: 0.5px solid #a58951;
 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: #a58951;
 color: #000;
 padding: 2%;
}

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

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

/* lp（求人） */
.recruit_background {
    background: rgba(17, 27, 44, 0.85) url(/wp-content/themes/onepixel-child/images/bg_pat.png?20250925) center center / 180px repeat;
    position: relative;
}

.recruit_main {
    width: 95%;
    max-width: 1024px;
    margin: 0 auto;
    position: relative;
}

.sec_rec {
    border-bottom: none;
}

.greeting1 {
    margin: 0 auto;
    display: table;
}

.greeting2 {
    font-size: min(4vw, 1.2rem);
    text-align: left;
    margin: 0 auto;
    padding: 0 5% 5%;
    display: table;
}

.arc_container h2 {
    text-align: center;
}

.recruit_container {
    text-align: center;
}

table.recruit {
    width: 100%;
    max-width: 720px;
    margin: 0 auto;
}

.recruit th {
    border: 1px solid #a5895d;
    color: #a5895d;
    text-align: center;
    padding: 0.5rem;
}

.recruit td {
    border: 1px solid #a5895d;
    padding: 0.5rem;
    text-align: left;
    font-size: min(3.6vw, 0.9rem);
}

.recruit a {
    color: #a4875c;
}

.form_container {
    padding: 5%;
    text-align: center;
}

/* FAQ */
.faq_container {
    padding: 5%;
    text-align: center;
}

.faq {
    max-width: 750px;
    margin: 0 auto;
}

.faq-item {
    text-align: left;
}

.faq-toggle {
  display: none;
}

.faq-question {
    display: block;
    cursor: pointer;
    padding: 1rem 3rem 1rem min(20vw, 7rem);
    font-size: min(4.3vw, 1.2rem);
    color: #a5895d;
    border: 1.5px solid #a5895d;
    border-radius: 50px;
    position: relative;
}

.faq-question:after {
    position: absolute;
    content: "";
    background: url(/wp-content/themes/onepixel-child/images/recruit/question.png) center center / contain no-repeat;
    width: min(13vw,5rem);
    height: auto;
    aspect-ratio: 1 / 1;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.faq-question:before {
    position: absolute;
    font-family: 'onepixel' !important;
    content: "\e906";
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    padding: 0 3rem 0 min(20vw, 7rem);
    margin: 1rem 0;
    font-size: min(4.3vw, 1.2rem);
    color: #3f2f15;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 50px;
    position: relative;
    transition: max-height 0.4s ease, padding 0.4s ease;
}

.faq-answer:after {
    position: absolute;
    content: "";
    background: url(/wp-content/themes/onepixel-child/images/recruit/answer.png) center center / contain no-repeat;
    width: min(13vw,5rem);
    height: auto;
    aspect-ratio: 1 / 1;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.faq-toggle:checked + .faq-question + .faq-answer {
  max-height: 500px;
  padding: 1rem 3rem 1rem min(20vw,7rem);
}

/* 申込フォーム */
table.r-form {
    max-width: 680px;
}

.r-form th {
    width: 30%;
    font-size: min(3vw, 1rem);
    color: #a5895d;
    font-weight: bold;
    border-bottom: 0.5px solid #a5895d;
    text-align: center;
    padding: 1rem 0;
}

.r-form th span {
    color: #ce6d6d;
    font-size: 0.65rem;
	font-weight: normal;
    display: block;
}

.r-form td {
    width: 70%;
    font-size: min(3vw, 1rem);
    border-bottom: 0.5px solid #a5895d;
}

/* スワイパー */
.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 {
 visibility: hidden;
}

/* コンタクトフォーム */
input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required {
 width: 100%;
 padding: 0.5rem;
 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;
}

select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required {
    padding: 0.5rem;
}

input.wpcf7-form-control.has-spinner.wpcf7-submit {
    width: 100%;
    font-family: "Zen Old Mincho", serif;
    background: #9d835b;
    color: #dfcfb6;
    font-size: min(6vw, 2rem);
    line-height: 2;
    border-radius: 5px;
    border: none;
}

.wpcf7-spinner {
	display: none !important;
}

.wpcf7 form.sent .wpcf7-response-output {
    font-size: min(5vw, 1.4rem);
    color: #a5895d;
    border-color: #a5895d !important;
}

.wpcf7 {
 width: 100%;
 max-width: 1024px;
 margin: 0 auto;
}

.cf_heading {
 background: #888;
 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;
}

/* モーダルウィンドウ */
.modal-wrapper {
 z-index: 999;
 position: fixed;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 padding: 60px 10px;
 text-align: center
}

.modal-wrapper:not(:target) {
 opacity: 0;
 visibility: hidden;
 transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
 opacity: 1;
 visibility: visible;
 transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
 display: inline-block;
 height: 100%;
 margin-left: -.05em;
 vertical-align: middle;
 content: ""
}

.modal-window {
 letter-spacing: normal;
 text-align: left;
 color: #333;
}

.modal-wrapper .modal-window {
 box-sizing: border-box;
 display: inline-block;
 z-index: 20;
 position: relative;
 width: 95%;
 max-width: 1080px;
 padding: 30px 30px 15px;
 border-radius: 2px;
 background: #fff;
 box-shadow: 0 0 30px rgba(0, 0, 0, .6);
 vertical-align: middle
}

.modal-wrapper .modal-window .modal-content {
 max-height: 80vh;
 overflow-y: auto;
}

.modal-overlay {
 z-index: 10;
 position: absolute;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 background: rgba(0, 0, 0, .5)
}

.modal-wrapper .modal-close {
 z-index: 20;
 position: absolute;
 top: 0;
 right: 0;
 width: 35px;
 color: #95979c !important;
 font-size: 20px;
 font-weight: 700;
 line-height: 35px;
 text-align: center;
 text-decoration: none;
 text-indent: 0
}

.modal-wrapper .modal-close:hover {
 color: #2b2e38 !important
}

/* コンタクトフォーム */
.contract {
 width: 100%;
 height: 120px;
 color: #888;
 line-height: 1.8;
 font-size: 0.8rem;
 background: #fff;
 border-radius: 15px;
 box-shadow: 0px 0px 8px 3px #ccc inset;
 padding: 0 1.5rem;
 box-sizing: border-box;
 overflow-y: scroll;
}

/* 埋め込み動画 */
.mejs-container, .mejs-container .mejs-controls, .mejs-embed, .mejs-embed body {
 background: none !important;
}

.wp-video {
 margin: 2rem 0 3rem;
}