@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap');

// 基本設定の読み込み
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com 
Twitter: @rich_clark
*/

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 {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
  line-height:1.75;
  letter-spacing:0.05rem;
  /*min-width:1280px;*/
  overflow-x:auto!important;
}

body *{
  position:relative;
}
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 {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    /*background-color:#ff9;*/
    color:#000;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

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

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/*
Theme Name:		yoshii-mokkou
Description:	よしい木工　ウェブサイト用テンプレート
Author:			neo.chisato
Author URI:		
Version:		1.0
License:
License URI:
*/
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,700,800|Playfair+Display+SC:400,700,900);
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}
body {
    line-height: 1.75;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display: block
}
nav ul {
    list-style: none
}
blockquote, q {
    quotes: none
}
blockquote:after, blockquote:before, q:after, q:before {
    content: '';
    content: none
}
a {
    margin: 0;
    padding: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent
}
ins {
    color: #000;
    text-decoration: none
}
mark {
    background-color: #ff9;
    color: #000;
    font-style: italic;
    font-weight: bold
}
del {
    text-decoration: line-through
}
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
hr {
    display: inline-block;
    height: 1px;
    border: 0;
    background-color:#cccccc;
    margin: 1rem auto;
    padding: 0;
}
hr.is-style-wide{
  background-color:#000000;
  margin: 3rem auto 2rem;
}
hr.is-style-default{
  width:55px;
  height:1px;
  border:none;
  margin: 1rem auto;
}
input, select {
    vertical-align: middle
}
*, :after, :before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
html {
    font-size: 0.9125rem;
    font-family: 'Noto Serif JP',"Open Sans", "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif;
}
.hannari{
    font-size: 1.0625rem;
    font-family: 'Hannari','Noto Serif JP',"Open Sans", "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif;
}
.gothic{
  font-family: 'Sawarabi Gothic','Avenir', "Open Sans", "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
p {
    margin: 1rem auto;
    line-height: 1.8;
}
a {
    color: #000
}
a:visited {
    color: #000
}
a:focus {
    color: #666666
}
a:hover {
    color: #666666
}
a:active {
    color: #666666
}
body {
    background-color: #ffffff;
    min-height:100vh;
}
pre {
    white-space: pre;
    white-space: pre-wrap;
    word-wrap: break-word
}
small {
    font-size: 0.875rem;
}
sub, sup {
    font-size: 0.8rem;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}
sup {
    top: -0.5em
}
sub {
    bottom: -0.25em
}
strong {
    font-weight: bold
}
strong.red {
    color: #e00909;
    font-weight: normal
}
i {
    font-weight: normal;
    font-style: italic;
}
input[type=email], input[type=text], input[type=url] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #e0e3e4;
    padding: 0.5rem
}
textarea {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #e0e3e4;
    padding: 0.5rem
}
figure{
  line-height:0;
}
figcaption{
  line-height:1.33;
}
main p {
    margin: 20px auto
}
main figure + p {
    margin: 0 auto 20px;
}
.wp-caption {}
.wp-caption-text {}
.sticky {}
.gallery-caption {}
.bypostauthor {}
.alignright {}
.alignleft {}
.aligncenter {}
.screen-reader-text {}
main {
  order:2;
}
@media only screen and (min-width: 768px) {
  html{
    font-size: 1rem;
  }
}
/* ----------------
  レイアウト要素
 ---------------- */
.fullwidth-wrapper{
  width:100%;
}
.outer-wrapper,
.inner-wrapper,
.text-wrapper{
  width:88vw;
  margin:auto;
}
.main-wrapper{
   margin: 0 0 auto;
}
body.blog .main-wrapper,
body.archive .main-wrapper,
body.single .main-wrapper{
  background: linear-gradient(to left, #fff, #fff 50%, #f2f2f2 50%, #f2f2f2 100%);
  display:flex;
  flex-grow:1;
  flex-direction: row-reverse;
}
.main-wrapper > .outer-wrapper{
  display:flex;
  flex-grow:1;
  margin:0 auto;
  background-color:#fff;
}
.block{
  padding:2rem 0 1rem;
}
.inline-block{
  display:inline-block;
}
.gray-block{
  padding:1rem 2rem;
  margin:2rem auto;
}
.pos-central{
  content:"";
  position:absolute;
  display:block;
  top:50%;
  left:50%;
  transform:translate(-50%);
}
.aligncenter{
  text-align:center;
}
.alignleft{
  text-align:left;
}
.alignright{
  text-align:right;
}
.wp-block-column.nogrow{
  flex-grow:0;
  flex-basis:auto;
}
#container{
  display:flex;
  flex-wrap:wrap;
  min-height:100vh;
  flex-direction: column;
  padding-top:60px;
}
#main{
  margin:0 auto;
}
#sub{
  width:260px;
  padding:0 1rem;
  order:1;
  background-color:#f2f2f2;
}
#sub .widget {
    padding: 20px 0.25rem;
}

@media only screen and (min-width: 768px) {
  .outer-wrapper,
  .inner-wrapper,
  .text-wrapper{
    max-width:90vw;
    width:90vw;
    margin-left:2vw;
  }
  #container{
      padding-top:100px;
  }
  .inner-wrapper{
    max-width:980px;
    margin:auto;
  }
  .text-wrapper{
    max-width:800px;
    margin:auto;
  }
  .block{
    padding:3rem 0;
  }
}
@media only screen and (min-width: 1280px) {
  .main-wrapper > .outer-wrapper{
    padding:0 5rem 0 0;
  }
  .outer-wrapper{
    max-width:1280px;
    margin:auto;
    padding:0 1rem;
  }
  #container{
      padding-top:60px;
  }
}
/* ----------------
  見出し
 ---------------- */
h1, h2 , h3 {
  margin:1rem auto;
  font-weight:400;
  letter-spacing:2px;
  font-family: 'Hannari','Noto Serif JP',"Open Sans", "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
h2 span,
h3 span{
  display:inline-block;
}
h1{
font-size:1.375rem;
text-align:center;
font-weight:900;
margin:4rem auto 0;
}
h1.entry-title{
  margin:1rem auto 0.5rem;
}
.has-thumbnail h1{
  color:#fff;
  font-weight:400;
  z-index:2;
  margin:0 auto;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-shadow:0 0 3px rgba(60,60,60,0.8);
}
h2{
  font-size:1.225rem;
}
.lead h2{
  letter-spacing:0;
}
h2.sec-ttl{
  font-size:1.375rem;
}
h3{
  font-size:1.125rem;
}
h3.underline{
  border-bottom:1px solid #000;
  margin-bottom:-0.25rem;
  text-align:center;
  padding-bottom:0.375rem;
  width:80%;
}
h3.s-size{
  font-size:1rem;
  margin:0 auto;
  font-weight:bold;
}
h3.s-size + p{
  margin-top:0.5rem;
}
h4{
font-size:1.5rem;
font-weight:900;
letter-spacing:1.5px;
}
@media only screen and (min-width: 768px) {
  h1{
  font-size:1.5rem;
  }
  h1.entry-title{
    margin:4rem auto 3rem;
  }
  h2{
    font-size:1.325rem;
  }
  .lead h2{
  font-size:1.325rem;
    width:initial;
  }
  h2.sec-ttl{
  font-size:1.4375rem;
  }
  h3{
  font-size:1.375rem;
  }
  h3.s-size{
    padding-top:1rem;
    margin:2rem auto 0;
  }
  h3.underline{
    padding-bottom:1rem;
    margin-bottom:1.5rem;
    text-align:left;
    width:initial;
  }
}
/* ----------------
  ボタン
 ---------------- */
.shop-btn a{
  text-decoration:none;
   padding: 0.25rem 1.5rem;
   text-align:center;
 }
.shop-btn a::before{
  content:"";
  display:inline-block;
  width:28px;
  height:28px;
  background-image:url('images/ico_shop2.svg');
  background-size:contain;
  background-repeat:no-repeat;
  background-position:50%;
  margin:0 0.25rem 0 0;
  vertical-align:top;
}
.shop-btn.box{
  padding:0.375rem 0;
  z-index:10;
  order:4;
}
@media only screen and (min-width: 768px) {
  h1.entry-title{
    margin:4rem auto 3rem;
  }
  .shop-btn.box{
    position:absolute;
    bottom:16vw;
    right:0;
    padding:0.375rem 0;
  }
}
@media only screen and (min-width: 1280px) {
  .shop-btn.box{
    bottom:215px;
  }
}
/* ----------------
  ヘッダー
 ---------------- */
nav.global-nav{
  padding-top:80px;
}
#site-header {
  padding:0.25rem 4vw;
  background-color:#fff;
  z-index:1000;
  position:fixed;
  display:flex;
  flex-wrap:wrap;
  justify-content:initial;
  align-items:center;
  width:100%;
  top:auto;
  height:60px;
}
#site-header a{
  text-decoration:none;
}
#site-logo{
  margin:0;
  line-height:1;
}
#site-logo img{
  width:260px;
}
@media only screen and (min-width: 768px) {
  #site-header{
    height:100px;
    justify-content:center;
    padding:0.25rem 20px;
  }
  #site-logo img{
    width:300px;
  }
  nav.global-nav{
    margin:auto;
    flex-grow:1;
  }
}
@media only screen and (min-width: 1280px) {
  #site-header{
    flex-wrap:nowrap;
    justify-content:initial;
    height:60px;
  }
  nav.global-nav{
    margin:auto 0 0.5rem auto;
  }
}
/*----------------
 nav
----------------*/
/*---  #menu-btn  ---*/
#menu-btn{
  display:block;
  position:absolute;
  width:60px;
  height:60px;
  top:50%;
  right:2vw;
  z-index:1200;
  cursor:pointer;
  transform:translateY(-50%);
}
#menu-btn .menu-ico{
  display:block;
  position:absolute;
  width:20px;
  height:24px;
  top:50%;
  left:50%;
  transition: 0.5s;
  transform:translate(-50%, -50%);
}
#menu-btn .menu-ico::before,
#menu-btn .menu-ico::after{
  content:"";
  position:absolute;
  width:100%;
  height:2px;
  border-radius:1px;
  background-color:#000;
  top:50%;
  left:3px;
  transition: 0.5s;
  margin-top:-1px;
}
#menu-btn .menu-ico::before{
  box-shadow:0 4px 0 0 transparent,0 7px 0 0 #000;
}
#menu-btn .menu-ico::after{
  box-shadow:0 -4px 0 0 transparent,0 -7px 0 0 #000;
}

#menu-btn.open{
  background-color:transparent;
}
#menu-btn.open .menu-ico::after{
  transform:rotate(-45deg);
  box-shadow:none;
}
#menu-btn.open .menu-ico::before{
  transform:rotate(45deg);
  box-shadow:none;
}
/*---  #nav-container  ---*/
#nav-container{
  position:fixed;
  top:0;
  left:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  /*align-items:stretch;*/
  width:100%;
  height:100%;
  height:100vh;
  z-index:1000;
  visibility:hidden;
  opacity:0;
  overflow:auto;
  transition:opacity 0.2s ease-in, transition 0.4s linear,visibility 0.3s ease-out;
  background-color:#ffffff;
  text-align:center;
  padding-bottom: 4rem;
}
#menu-btn.open + #nav-container{
  visibility:visible;
  opacity:1;
  justify-content:flex-start;
}
@media only screen and (min-width: 768px) {
  nav.global-nav{
    padding-top:0;
  }
  .btn-area,
  #menu-btn{
    display:none;
  }
  #nav-container{
    position:relative;
    flex-direction:row;
    height:auto;
    background:none;
    align-items:center;
    justify-content:flex-end;
    visibility:visible;
    opacity:1;
    color:initial;
    padding: 0;
    overflow:visible;
    z-index:1020;
  }
}
/* ----------------
  メニュー
 ---------------- */
#menu-global{
  display:flex;
  justify-content: center;
  flex-direction:column;
}
#menu-global .menu-item{
  display:block;
  text-align:center;
  line-height:1.33;
  letter-spacing:0;
  background-color:rgba(0,0,0,0.05);
  border-bottom:3px solid #ffffff;
}
#menu-global .menu-item a{
  display:block;
  padding:0.75rem 0;
}
#menu-global li.current-menu-item,
#menu-global li.current_page_parent,
#menu-global li:hover{
  background-color:#e5e5e5;
}
#menu-global li.instagram a{
  color:transparent;
  background-image:url(images/ico_instagram.png);
  background-repeat:no-repeat;
  background-position:50% 60%;
  background-size:28px;
  width:28px;
  margin:auto;
}
@media only screen and (min-width: 768px) {
  #menu-global{
    flex-direction:row;
  }
  #menu-global .menu-item{
    margin:0 1.5%;
    border-bottom:none;
  }
  #menu-global li.current-menu-item a::after,
  #menu-global li.current_page_parent a::after{
    content:"";
    position:absolute;
    display:block;
    width:100%;
    height:0.5rem;
    bottom:0;
    left:0;
    background-image:url(images/dot.png);
    background-repeat:no-repeat;
    background-position:50%;
    background-size:contain;
  }
  #menu-global .menu-item,
  #menu-global li.current-menu-item,
  #menu-global li.current_page_parent,
  #menu-global li:hover{
    background-color:transparent;
  }
  #menu-global .menu-item a{
    font-size:1rem;
  }
  #menu-global li:hover a::after{
    content:"";
    position:absolute;
    display:block;
    width:100%;
    height:0.5rem;
    bottom:0;
    left:0;
    background-image:url(images/dot.png);
    background-repeat:no-repeat;
    background-position:50%;
    background-size:contain;
    opacity:0.25;
  }
}
@media only screen and (min-width: 1280px) {
  #menu-global .menu-item a{
    font-size:100%;
  }
  #menu-global{
    justify-content: flex-end;
  }
}
/* ----------------
  固定位置ナビ
 ---------------- */
.fixed-nav{
  margin-top:2rem;
}
#menu-fixed > li{
  margin:0.75rem 0.5rem;
}
#menu-fixed a{
  display:block;
  color:#000;
  border:1px solid #000;
  line-height:2.125rem;
  width:66%;
  min-width:260px;
  margin:auto;
  border-radius:0.25rem;
  transition:background-color 0.3s 0s ease;
}
#menu-fixed a:hover{
  background-color:rgba(0,0,0,0.03);
}
#menu-fixed span{
  display:inline-block;
  padding:0.25rem 0 0.25rem 2.5rem;
  background-size:28px;
  background-position: 0 50%;
  background-repeat:no-repeat;
}
#menu-fixed li.work span{
  background-image:url('images/ico_work_bl.svg');
}
#menu-fixed li.shop span{
  background-image:url('images/ico_shop_bl.svg');
}
@media only screen and (min-width: 768px) {
  .fixed-nav{
    position:fixed;
    right:0.5vw;
    top:50%;
    margin-top:0;
    line-height:1;
    z-index:100;
  }
  #menu-fixed > li{
    margin:0 0 2rem;
  }
  #menu-fixed a{
    box-shadow:0 0 1px 0 rgba(255,255,255,0.1);
    letter-spacing:1px;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size:0.875rem;
    width:2.125rem;
    min-width:auto;
    background-color:rgba(255,255,255,0.75);
  }
  #menu-fixed span{
    background-position:50% 0.375rem;
    padding:2.5rem 0 0.5rem;
  }
  #menu-fixed a.dark{
    color:#fff;
    border:1px solid #fff;
    background-color:rgba(255,255,255,0.1);
  }
  #menu-fixed a:hover{
    background-color:rgba(255,255,255,1);
  }
  #menu-fixed a.dark:hover{
    background-color:rgba(255,255,255,0.25);
  }
  #menu-fixed li.work a.dark span{
    background-image:url('images/ico_work.svg');
  }
  #menu-fixed li.shop a.dark span{
    background-image:url('images/ico_shop.svg');
  }
}
/* ----------------
  本文
 ---------------- */
/* slider */
div#n2-ss-5{
  margin-top:-60px;
  padding-top:60px;
}
div#n2-ss-5 .n2-ss-slider-2{
  max-height:80vw;
}
#n2-ss-5item1{
  width:16vw!important;
}
@media only screen and (min-width: 768px) {
  .wp-block-nextend-smartslider3,
  div#n2-ss-5 .n2-ss-slider-3{
    max-height:100vh;
  }
  div#n2-ss-5 .n2-ss-slider-2{
  max-height:auto;
  min-height:100vh;
  margin-top:-100px;
  padding-top:100px;
  }
  #n2-ss-5item1{
    width:auto!important;
  }
}
@media only screen and (min-width: 1280px) {
  div#n2-ss-5 .n2-ss-slider-2{
    margin-top:-60px;
    padding-top:60px;
  }
}
.wp-block-image img{
  height:auto;
}
.entry-content{
  /*max-width:1980px;*/
  margin:auto;
}
.title-block.has-thumbnail{
  background-size:cover;
  background-repeat:no-repeat;
  background-position:50% 55%;
  display:flex;
  align-items:center;
  width:100%;
  height:300px;
}
body.page-id-13 .title-block.has-thumbnail{
  background-size:150% auto;
}
.title-block.has-thumbnail::before{
    content:"";
    display:block;
    position:absolute;
    width:100%;
    height:100%;
    top:0;
    left:0;
    z-index:1;
 }
/* ページトップ */
.pagetop{
  position:fixed;
  display:block;
  bottom:1.5rem;
  right:2vw;
  width:2rem;
  height:2rem;
  border:solid 1px #e5e5e5;
  border-radius:50%;
  background-color:#fff;
  cursor:pointer;
  z-index:999;
  
}
.pagetop::before{
    content:"";
    display:block;
    position:absolute;
    width:0.5rem;
    height:0.5rem;
    top:50%;
    left:50%;
    border-top:solid 1px #666666;
    border-right:solid 1px #666666;
    transform:translate(-50% ,-25%) rotate(-45deg);
}
@media only screen and (min-width: 768px) {
  .pagetop{
    right:0.5vw;
    bottom:2.5rem;
  }
  .title-block.has-thumbnail{
    background-size:100% auto;
    height:360px;
  }
  body.page-id-13 .title-block.has-thumbnail{
    background-size:100% auto;
  }
}
@media only screen and (min-width: 1280px) {
  .pagetop,
  .fixed-nav{
    right:1rem;
  }
}
/* ----------------
  コンタクトフォーム
 ---------------- */
.contact-form{
  display:flex;
  flex-wrap:wrap;
  margin-bottom:3rem;
}
.contact-form img{
  max-width:100%;
}
.contact-form dt{
  font-size:1.125rem;
  padding:1rem 3rem 0 0;
}
.contact-form dt span:first-of-type{
  display:inline-block;
  margin-rignt:3rem;
}
.contact-form dt span.required{
  color:#dd6042;
  display:inline-block;
  border:solid 1px #dd6042;
  font-size:0.875rem;
  padding:0 0.25rem;
  margin-left:0.5rem;
  font-weight:initial;
  line-height:1.33;
  widht:1.5rem;
  position:absolute;
  right:0;
  top:1.45rem;
}
.contact-form dd{
  padding:1rem 0;
  width:100%;
}
.contact-form p{
  margin:0 auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="number"],
input[type="date"],
textarea{
  padding:0.75rem;
  width:100%;
  border:none;
  background-color:#e6e6e6;
}
input[type="date"]{
  width:15rem;
}
input[type="number"]{
  width:6rem;
  margin-right:0.5rem;
}
label{
  display:inline-block;
  vertical-align:middle;
  padding:0.5rem;
}
input[type="radio"]{
  display:none;
}
input[type="radio"] + span{
  display:inline-block;
  margin:0 0.5rem 0 0;
  cursor:pointer;
}
input[type="radio"] + span::before{
  content:"";
  display:inline-block;
  width:0.875rem;
  height:0.875rem;
  background-color:#e6e6e6;
  border-radius:50%;
  margin-right:0.25rem;
}
input[type="radio"]:checked + span::before{
  background-color:#dd6042;
}
input[type="file"]{
  margin:1rem 0 0;
  text-align:center;
  background-color:#e6e6e6;
  padding:0.75rem;
}
div.submit-block,
.wpcf7-response-output{
  text-align:center;
}
input[type="submit"]{
  background-color:#fff;
  border:solid 1px #000;
  width:100%;
  max-width:17.5rem;
  display:inline-block;
  margin: 1rem auto;
  box-shadow: none;
  cursor: pointer;
  font-size: 1.125em;
  padding: .667em 1.333em;
  text-align: center;
  text-decoration: none;
  overflow-wrap: break-word;
  line-height:1;
}
.screen-reader-resp
onse{
  display:none;
}
.screen-reader-response ul{
  list-style:none;
  padding:1rem;
  color:#ef1818;
}
div.wpcf7 .ajax-loader{
  display:block;
  margin:auto;
  position:fixed;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
}
.wpcf7-not-valid-tip{
  color:#dd6042;
}
@media only screen and (min-width: 768px) {
  .contact-form dt{
    font-size:1.125rem;
    width:30%;
    padding:1rem 3rem 1rem 0;
    min-width:14rem;
    text-align:right;
  }
  .contact-form dt span:first-of-type{
    display:inline-block;
    width:10rem;
    text-justify: inter-ideograph;
    text-align-last: justify;
    margin-rignt:3rem;
  }
  .contact-form dd{
    width:67.5%;
    max-width:600px;
    padding:1rem 0 1rem 1rem;
  }
}
/* ----------------
  カスタマイズ
 ---------------- */
.box{
  display:inline-block;
  border:1px solid #000;
  background-color:#fff;
  color:#000;
  transition:all 0.3s 0s ease;
  padding:0.5rem 0;
  letter-spacing:1px;
}
.box *{
  display:block;
}
.col-left{
  padding-right:2rem;
}
.dt-title strong{
  font-size:1.25rem;
}
/* ----------------
  投稿リスト表示部分
 ---------------- */
.entry-list{
  height:100%;
  background-color:#fff;
}
.post-list{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
}
body.archive .entry-list,
body.blog .entry-list{
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content:space-between;
}
body.blog .entry-list,
body.archive .entry-list{
  padding-bottom:120px;
}
body.single .entry-list{
  padding-bottom:160px;
}
.post-list li,
.entry-list .entry-item{
  display:flex;
  padding:1rem 0;
  align-items: flex-start;
  flex-direction:column;
}
.post-list li,
.entry-list .entry-item:not(:first-of-type),
body.paged .entry-list .entry-item{
  flex-direction:column;
  width:48%;
}
.entry-item .thumbnail-block{
  width:100%;
  position:relative;
  margin-bottom:1rem;
}
.post-list .thumbnail-block{
  position:relative;
  width:100%;
}
.entry-item .thumbnail-block::before,
.post-list .thumbnail-block::before{
  content:"";
  display: block;
  padding-top: 56.6%;
  width:100%;
}
.entry-item .thumbnail,
.post-list .thumbnail{
  position:absolute;
  height:100%;
  width:100%;
  top:0;
  left:0;
  background-color:#eee;
  background-size:cover;
}
body:not(.paged) .entry-list .entry-item:first-of-type .content
.post-list .content{
  width:100%;
}
.post-list .content{
  padding:1rem 0 0;
  width:100%;
}
.entry-item .content a,
.post-list .content a{
  text-decoration:none;
}
.entry-item .content p,
.post-list .content p{
  margin:0;
}
.link-category,
.entry-item .cat,
.post-list .cat{
  display:inline-block;
  border:1px solid #595757;
  border-radius:2px;
  margin-left:0.25rem;
  padding:1px 0;
}
.link-category a,
.entry-item .cat a,
.post-list .cat a{
  display:block;
  text-decoration:none;
  line-height:1.25;
  color:#595757;
  font-size:0.6875rem;
  padding:0 5px;
}
.post-date{
  font-size:0.6875rem;
  display:inline-block;
}
.entry-item  h3.post-title,
.post-list h3.post-title{
  font-weight:900;
  font-size:1rem;
  letter-spacing:1px;
  margin:0 0 0.5rem;
  line-height:1.33;
}
.entry-item p.post-except,
.post-list p.post-except{
  line-height:1.5;
  font-size:0.938rem;
  margin:0.5rem 0;
}
@media only screen and (min-width: 768px) {
  .post-list li:first-of-type,
  body:not(.paged) .entry-list .entry-item:first-of-type{
    width:100%;
  }
  body.blog .entry-list,
  body.archive .entry-list,
  body.single .entry-list{
    padding: 0 0 180px 3%;
    width:100%;
  }
  .post-list li:first-of-type{
    flex-direction:row;
  }
  .post-list li:not(:first-of-type){
    width:30%;
  }
  .post-list li:first-of-type .content{
    padding:0 1rem 0 2rem;
  }
  .entry-item  h3.post-title,
  .post-list h3.post-title{
    font-size:1.0625rem;
  }
}
@media only screen and (min-width: 1280px) {
  body.blog .entry-list,
  body.archive .entry-list,
  body.single .entry-list{
    padding: 0 0 180px;
  }
  .post-list li:first-of-type,
  .post-list li:not(:first-of-type){
    flex-direction:row;
    width:50%;
  }
  .entry-list .entry-item{
    flex-direction:row;
  }
  .entry-list .entry-item:not(:first-of-type),
  body.paged .entry-list .entry-item{
    width:30%;
  }
  .post-list li{
    flex-direction:row;
    max-width:initial;
    padding:1rem 2rem 1rem 0;
    width:50%;
  }
  .post-list .thumbnail-block{
    width:240px;
  }
  .entry-item .thumbnail-block::before,
  .post-list .thumbnail-block::before{
    width:240px;
  }
  .post-list li .content{
      padding:0 1rem 0 2rem;
    }
  body:not(.paged) .entry-list .entry-item:first-of-type .content{
    padding:0 1rem 0 2rem;
  }
}
/* ----------------
  パンくず
 ---------------- */
#breadcrumbs{
  padding:2rem 0 1rem;
  font-size:0.8125rem;
  width:100%;
}
#breadcrumbs span > *{
  padding:0 0.125rem 0 0;
  text-decoration:none;
}
/* ----------------
  サイド
 ---------------- */
#sub{
  display:none;
  padding-top:4rem;
}
#sub h2{
  font-size:1rem;
  padding:0;
  margin:0;
}
#sub ul{
  list-style:none;
  padding:0;
  width:6rem;
  margin:auto;
}
#sub li{
  margin:0.5rem auto;
}
#sub li a{
  text-decoration:none;
  display:block;
  padding:0.125rem 0.5rem;
  color:#595757;
  font-size:0.938rem;
  text-justify: inter-ideograph;
  text-align-last: justify;
}
#sub li.current-cat{
  background-color:#fff;
  border-radius:1px;
}
@media only screen and (min-width: 768px) {
  #sub{
    display:block;
  }
}
/* ----------------
  single pagenav
 ---------------- */
.pagenav{
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  flex-direction:column;
  width: 100%;
  margin: 0 auto;
  list-style:none;
  padding:0;
}
.pagenav > *{
  padding:0;
  background-color:#f2f2f2;
}
.pagenav a{
  text-decoration:none;
  padding:0.5rem 0;
  display: flex;
  height: 100%;
  justify-content: space-between;
  align-items:center;
}
.pagenav .prev-post{
  margin-bottom:1rem;
}
.pagenav .next-post a{
  flex-direction:row-reverse;
}
.pagenav .label{
  border-bottom:1px solid #000;
  position:relative;
  min-width:4.25rem;
}
.pagenav .label::before{
  content:"＜";
  display:inline-block;
  position:absolute;
  top:55%;
  padding:0 0.125rem;
  font-size:0.8rem;
  transform:translateY(-50%);
}
.pagenav .prev-post .label{
  margin-left:2.25rem;
}
.pagenav .prev-post .label::before{
  left:-1.25rem;
}
.pagenav .next-post .label{
  margin-right:2.25rem;
}
.pagenav .next-post .label::before{
  content:"＞";
  right:-1.25rem;
}
.pagenav h3.post-title{
  margin:0 0 0.5rem;
  font-size:1rem;
  letter-spacing:0;
  padding:0 1rem;
}
.pagenav p.post-except{
  margin:0;
  font-size:0.875rem;
}
.pagenav .return{
  font-weight:700;
  text-align: center;
  display: block;
}
@media only screen and (min-width: 768px) {
  .pagenav{
    flex-direction:row;
    padding:0 1rem;
  }
  .pagenav > *{
    padding:0 1rem;
    width:50%;
    background-color:transparent;
  }
  .pagenav a{
    padding:0.75rem 0;
    justify-content: flex-start;
    flex-direction:column;
  }
  .pagenav .prev-post{
    margin-bottom:0;
  }
  .pagenav .next-post a{
    flex-direction:column;
  }
  .pagenav .prev-post a{
    align-items:flex-start;
  }
  .pagenav .next-post a{
    align-items:flex-end;
    text-align:right;
  }
  .pagenav .prev-post .label,
  .pagenav .next-post .label{
    margin:0;
  }
  .pagenav h3.post-title{
    margin:0 0 0.75rem;
    padding:0;
  }
  .pagenav .return{
    font-weight:700;
    text-align: left;
  }
}
/* ----------------
  .pagination
 ---------------- */
.pagination{
  position: absolute;
  bottom: 50px;
  left: 0;
  display: flex;
  width: 100%;
  margin: 0 auto;
  list-style:none;
  padding:0;
  justify-content:flex-end;
}
.pagination .screen-reader-text{
  display:none;
}
.page-numbers li{
  display:inline-block;
  padding:0.125rem;
  line-height:1rem;
}
.page-numbers li a{
  text-decoration:none;
}
.page-numbers li .current{
  border-bottom:1px solid #000;
}
/* ----------------
  home
 ---------------- */
#ig-block{
  padding:0.5rem 0 1.5rem;
  background-color:#f2f2f2;
  text-align:center;
}
#sb_instagram #sbi_images{
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-content:space-between;
    max-width: 80vw;
    height:80vw;
    margin-bottom:1rem;
    margin-left:4vw;
}
#sb_instagram .sbi_item{
  max-width:38vw;
  height:38vw!important;
}
#sb_instagram #sbi_load{
  float:none;
  position: absolute;
  transform:translate(50%,50%);
}
#sb_instagram .sbi_link .sbi_caption{
  padding:2rem;
  line-height:1.33!important;
}
#blog-block{
  padding:1.5rem 0;
}
#blog-block h3:not(.post-title){
  text-align:center;
}
@media only screen and (min-width: 640px) {
  #blog-block{
    padding:3rem 0;
  }
  #blog-block h3{
    text-align:left;
  }
  #blog-block h3:not(.post-title){
    text-align:left;
  }
  #ig-block{
    text-align:left;
  }
  #sb_instagram #sbi_images{
      display: flex;
      max-width: none;
      height:auto;
      margin-left:0;
  }
  #sb_instagram .sbi_item{
    max-width:23.5%;
    height:auto!important;
  }
}

/* ----------------
  ブロックエディタ
 ---------------- */
.top-cover .wp-block-cover__inner-container{
  max-width:650px;
  padding:1rem 6vw 2rem;
  background-color:#fff;
}
.wp-block-cover__inner-container p{
  max-width:450px;
}
.wp-block-cover.top-cover{
  padding:0 0 40vw;
  background-size:100% auto;
  background-position:center 110%;
}
.wp-block-cover.top-cover:last-of-type::after{
  content:"";
  display:block;
  position:absolute;
  width:100%;
  height:40vw;
  min-height:auto;
  bottom:0;
  left:0;
  background: linear-gradient(to bottom, #fff, #fff 0%, transparent 50%, transparent 100%);
}
@media only screen and (min-width: 600px) {
  .top-cover .wp-block-cover__inner-container{
    padding:1rem 0 1.25rem;
    background-color:rgba(255,255,255,0.5);
    backdrop-filter: blur(20px);
  }
  .wp-block-cover.top-cover{
    padding:3.5rem 0;
    min-height:520px;
    background-size:cover;
    background-position:center 75%;
  }
  .wp-block-cover.top-cover:last-of-type::after{
    display:none;
  }
}
@media (min-width: 600px) and (max-width: 781px){
 body.page .wp-block-column:not(:only-child) {
    flex-basis: 0!important;
    flex-grow: 1!important;
  }
}
/* ----------------
  レイアウト用スタイル
 ---------------- */
.lead{
  margin-bottom:1rem;
}
.lead p{
  word-break: keep-all;
  
}
.lead p.has-text-align-left{
  word-break: initial;
  
}
.no-space,
.no-space .wp-block-column:not(:first-child){
  margin:0;
  padding:0;
}
.inline{
  display:inline;
}
.large{
  font-size:112.5%;
}
.bg-sp-initial.wp-block-cover.has-parallax{
  background-attachment:initial;
  height:40vw;
  min-height:auto;
  background-size:125% auto;
}
.sp-none{
  display:none;
}
@media only screen and (min-width: 768px) {
  .bg-sp-initial.wp-block-cover.has-parallax{
    height:auto;
    min-height:250px;
  }
  .sp-none{
    display:block;
  }
}
/* ----------------
  .profile
 ---------------- */
.profile{
  font-size:1.125rem;
}
.profile .no-space .wp-block-image{
  margin:0;
  line-height:0;
  height:40vw;
  overflow:hidden;
  margin-bottom:2px;
}
.profile .no-space .wp-block-image img{
  position:absolute;
  top:50%;
  width:100%;
  transform:translateY(-50%);
}
.profile hr{
  display:none;
}
.name-block{
  text-align:center;
}
.name-block h3{
  font-size:1.35rem;
}
.name-block p.inline{
  padding-left:0.5rem;
}
.name-block .no-space{
  font-size:85%;
}
.profile-detail{
  margin-bottom:-1rem;
  padding:0.5rem 0;
}
.wp-block-group.history{
  padding:0.5rem 0 1rem;
  background-color:#f2f2f2;
}
.profile-detail .wp-block-columns{
  margin:0;
  flex-wrap: nowrap;
  font-size:87.5%;
  padding:0.5rem 1rem;
}
.profile-detail .wp-block-columns p{
  margin:0;
}
.profile-detail.wp-block-column:not(:first-child) > h3 + p{
  margin-left:1rem;
}
.profile-detail .year{
  max-width:4rem;
}
.profile-detail .wp-block-buttons{
  text-align:center;
}
.woodworking.wp-block-columns{
  justify-content: center;
}
.woodworking .wp-block-column:not(:first-child){
  margin-left:0;
}
.woodworking-address{
  max-width:15rem;
}
.woodworking-address p,
.woodworking img{
  margin-bottom:-2rem;
}
@media only screen and (min-width: 600px) {
  .profile hr{
    display:inline-block;
  }
  .profile-detail .wp-block-columns{
    font-size:100%;
    padding:0;
    background-color:transparent;
  }
  .name-block{
    text-align:initial;
  }
  .profile .no-space .wp-block-image{
    height:20vw;
  }
  .profile-detail{
    font-size:87.5%;
    margin-bottom:auto;
  }
  .profile-detail .wp-block-buttons{
    text-align:right;
  }

  .wp-block-group.history{
    padding:0;
    background-color:initial;
  }
}
@media only screen and (min-width: 768px) {
  .woodworking-address p,
  .woodworking img{
    margin-bottom:0;
  }
  .profile .no-space .wp-block-image{
    height:auto;
    margin-bottom:0;
  }
  .profile .no-space .wp-block-image img{
    position:relative;
    transform:none;
  }
}
@media only screen and (min-width: 1280px) {
  .profile-detail.wp-block-column:not(:first-child) > *{
    margin-left:3rem;
  }
}
/* ----------------
  .works
 ---------------- */
.works h3{
  width:80%;
  padding-bottom:0.5rem;
  border-bottom:1px solid #000;
  margin-bottom:1.25rem;
}
.works.wp-block-columns{
  margin:0 auto;
  width:84vw;
  flex-direction:column;
}
@media only screen and (min-width: 768px) {
  .works h3{
    width:auto;
    letter-spacing: initial;
  }
  .works.wp-block-columns{
    width:92vw;
    flex-direction:row;
  }
  .works .wp-block-column:not(:first-child){
    margin-left:3vw;
  }
}
@media only screen and (min-width: 1280px) {
  .works .wp-block-column:not(:first-child){
    margin-left:5rem;
  }
}
/* ----------------
  #flow
 ---------------- */
#flow .wp-block-column:not(:first-child){
  margin-left:4vw;
}
#flow h3{
  padding:0;
  margin:0 0 1rem 3.5rem;
  letter-spacing:0;
  font-size:1.25rem;
  line-height:1.5;
}
#flow .outer-wrapper{
  padding:3rem 0;
  margin:0 auto;
  width:80vw;
}
#flow .outer-wrapper p{
  padding:0;
  margin:0.25rem 0 1rem;
  font-size:93.8%;
}
#flow .step-block{
  position:absolute;
  left:1rem;
}
#flow p.step{
  color:#595757;
  font-size:0.75rem;
  line-height:1.25rem;
  margin-top:0.375rem;
  letter-spacing:0;
}
#flow p.step strong{
  font-size:1.25rem;
  font-weight:bold;
  margin-left:0.25rem;
  vertical-align:text-bottom;
}
#flow .wp-block-buttons .wp-block-button{
  display:block;
}
#flow  .wp-block-button{
  display:block;
}
#flow .inline-block{
  text-align:center;
  display:block;
}
#flow .wp-block-button__link{
  font-size:1rem;
  padding:0.5rem 3rem;
  margin:0 auto 1rem;
  display:block;
  max-width:320px;
}

#flow .outer-wrapper .tel{
  margin-left:-1.5rem;
}
@media only screen and (min-width: 600px) {
  #flow .inline-block{
    display:inline-block;
  }
  #flow .outer-wrapper{
    width:92vw;
  }
  #flow .outer-wrapper .tel{
    margin-left:0;
  }
  #flow h3{
    margin:0 0 1rem;
    font-size:1.375rem;
  }
  #flow .step-block{
    position:relative;
    max-width:15vw;
    flex-basis:150px!important;
  }
  #flow p.step{
    font-size:1.25rem;
    line-height:1rem;
    margin-top:0.75rem;
  }
  #flow p.step strong{
    font-size:2.25rem;
    font-weight:normal;
    vertical-align:-30%;
  }
  #flow .wp-block-buttons .wp-block-button{
    display:inline-block;
  }
  #flow .wp-block-button__link{
    display:inline-block;
    margin-bottom:0;
  }
}
@media only screen and (min-width: 1280px) {
  #flow .wp-block-column:not(:first-child){
    margin-left:4rem;
  }
}
/* ----------------
  #cta
 ---------------- */
#cta{
  padding:1rem 4vw;
  margin:0 auto 3rem;
}
#cta  .wp-block-button{
  display:block;
}
#cta .wp-block-button__link{
  font-size:1rem;
  padding:0.5rem 3rem;
  margin:0 auto 1rem;
  display:block;
  max-width:320px;
}
#cta .tel,
#flow .tel{
  vertical-align:middle;
  margin:0.5rem auto 0;
  padding-right:1.5rem;
}
#cta .tel + p,
#flow .tel + p{
  font-size:80%;
  vertical-align:-10%;
  display:inline-block;
  margin:0;
}
#cta .tel + p{
  display:block;
  margin:0 auto 1rem 2rem;
}
#cta .tel strong::before,
#flow .tel strong::before{
  content:"";
  width:1.5rem;
  height:1.5rem;
  display:inline-block;
  background-image:url('images/ico_tel.svg');
  background-size:contain;
  background-repeat:no-repeat;
  line-height:1.5;
  margin-right:0.25rem;
  vertical-align:text-top;
}
#cta .tel strong,
#flow .tel strong{
  font-size:1.25rem;
  padding-left:1rem;
  font-weight:500;
  vertical-align:baseline;
}
#cta .tel a{
  text-decoration:none;
}
@media only screen and (min-width: 600px) {
  #cta  .wp-block-button{
    display:inline-block;
  }
  #cta .wp-block-button__link{
    display:inline-block;
    margin-bottom:0;
  }
}
@media only screen and (min-width: 768px) {
  #cta{
    padding:1rem 4rem;
  }
}
/* ----------------
  ブログ本文
 ---------------- */
body.single-post .entry *{
  font-family: 'Sawarabi Gothic','Avenir', "Open Sans", "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
body.single-post .entry::after{
  content:"";
  display:block;
  width:100%;
  clear:both;
}
body.single-post .entry h2{
  font-size:1.375rem;
  font-weight:500;
}
body.single-post .entry h3{
  font-size:1.125rem;
  font-weight:600;
}
body.single-post .entry h4{
  font-size:1rem;
  padding-right:1rem;
  border-right:solid 1px #000;
  font-weight:600;
}
body.single-post .entry h5,
body.single-post .entry h6{
  font-size:1rem;
  font-weight:600;
}
body.single-post .entry ul,
body.single-post .entry ol{
  padding:0.5rem 0;
  list-style-position:inside;
  margin:1rem 0 1rem 3rem;
}
body.single-post .entry li ul,
body.single-post .entry li ol{
  padding:0;
  margin:-0.25rem 1rem 1.5rem;
}
body.single-post .entry li{
  margin:0.5rem 0;
  font-size:0.9125rem;
  text-indent:-1.5rem;
}
body.single-post .entry p{
    font-family: 'Noto Serif JP',"Open Sans", "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, serif;
    line-height:1.85;
}
body.single-post .entry blockquote{
  padding:0.25rem 2rem;
  margin:1rem auto;
  font-size:0.9125rem;
  border-left:3px solid rgba(0,0,0,0.6);
  background-color:rgba(0,0,0,0.05);
}
body.single-post .entry blockquote p{
  padding:0;
  font-family: 'Sawarabi Gothic','Avenir', "Open Sans", "Helvetica Neue", Helvetica, Arial, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}
body.single-post .entry figure{
  margin:2.5rem auto;
}
/* ----------------
  テーブル
 ---------------- */
.wp-block-table{
  line-height:1.33;
}
.wp-block-table thead{
  border-bottom:2px solid rgba(0,0,0,0.5);
}
.wp-block-table tr{
  border-bottom:1px solid rgba(0,0,0,0.25);
}
.wp-block-table table{
  border-collapse:collapse;
  border-bottom:2px solid rgba(0,0,0,0.5);
}
.wp-block-table th,
.wp-block-table td{
  padding:0.5rem 0;
}
/* ---------------- 
  フッター
 ---------------- */
#site-footer a{
  text-decoration:none;
}
#site-footer .footer-content{
  padding:2rem 2vw 0.75rem;
}
#foot-logo{
  margin:0;
  line-height:1;
  width:21vw;
  min-width:100px;
}
#site-footer address{
  display:flex;
  flex-direction:column;
  justify-content:center;
  flex-wrap:wrap;
  text-align:center;
  letter-spacing:initial;
  font-style:normal;
  font-size:1.125rem;
  margin:0;
}
#site-footer .name-block{
  display:flex;
  flex-direction:column;
  align-items: center;
  justify-content: center;
  margin:auto;
}
#site-footer .address{
  letter-spacing:1.5px;
  padding:0 1rem;
  margin:0.25rem auto 0;
}
#site-footer .btn-block{
  display:flex;
  flex-direction:column;
  align-items: center;
  margin:1rem 0;
}
#site-footer .tel a::before{
  content:"";
  display:inline-block;
  width:18px;
  height:18px;
  background-image:url('images/ico_tel.svg');
  background-size:contain;
  background-repeat:no-repeat;
  background-position:50%;
  margin:0 0.25rem -0.125rem 0;
}
#site-footer .fax span::before{
  content:"FAX.";
  display:inline-block;
  font-size:50%;
  margin:0 0.125rem 0.125rem 0;
}
#site-footer .box{
  margin:0.5rem 0.125rem;
  width: 66%;
  min-width: 260px;
}
#site-footer .box *{
  display:inline-block;
  font-size:1rem;
}
#site-footer .copy-area{
  background-color:#e5e5e5;
  font-size:0.75rem;
  text-align:center;
  padding:0.675rem;
}
#site-footer .copy-area p{
  margin:0;
}
#menu-footer{
  text-align:center;
  padding:0.5rem 0 0.125rem;
}
#menu-footer li{
  display:inline-block;
  line-height:1;
}

#menu-footer li + li{
  border-left:1px solid #000;
}
#menu-footer li a{
  display:block;
  padding:0 0.25rem;
  font-size:0.875rem;
  
}
#menu-footer li a[target="_blank"]::after{
  content:"";
  display:inline-block;
  width:1rem;
  height:1rem;
  margin:0 0.25rem -0.125rem;
  background-image:url('images/ico_target_blank.svg');
  background-size:contain;
  background-repeat:no-repeat;
}
@media only screen and (min-width: 768px) {
  #site-footer .footer-content{
    padding:4rem 1rem 0.75rem;
  }
  #foot-logo{
    width:300px;
  }
  #site-footer address,
  #site-footer .name-block{
    flex-direction:row;
  }
  #site-footer .name-block{
    align-items: initial;
  }
  #site-footer .btn-block{
    display:block;
  }
  #site-footer .box{
    width:170px;
    min-width: auto;
    margin:auto 0.125rem;
  }
  #site-footer .copy-area{
    padding:1rem;
  }
}
@media only screen and (min-width: 1280px) {
  #site-footer .name-block{
    margin-left: 0;
  }
  #site-footer address{
    flex-grow:0;
  }
  #menu-footer{
    text-align:right;
  }
}

/* ---------------- 
  位牌フォーム
 ---------------- */
.page-id-184 .title-block.has-thumbnail{
  background-position:50% 75%;
}

.page-id-184 .ihai-form dt span:first-of-type{
  width:11rem;
}
.page-id-184 .ihai-form .ihai-familyname input,
.page-id-184 .ihai-form .ihai-firstname input{
  width:10rem;
  margin-right:1rem;
}

.page-id-184 .ihai-form .ihai-shuuha{
  margin:0.5rem 0 1rem;
  display:inline-block;
}
.page-id-184 .ihai-form .ihai-shuuha .wpcf7-radio{
  line-height:1.33;
}