@charset "UTF-8"; 
/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
管理画面
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media (max-width: 750px) {
    #wpadminbar {
    position: fixed !important;
  }

  .logged-in .hambuger_inner02{
    top: 46px;
  }
    .logged-in .hambuger_inner02.active{
        top: 46px;
    }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
PC SP 切り替え
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc {
  display: block !important;
}

.sp {
  display: none !important;
}

/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 750px) {
  .pc {
      display: none !important;
  }

  .sp {
      display: block !important;
  }
}

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

@media screen and (max-width: 750px) {
  .br_pc {
      display: none;
  }
}

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
リセット
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
*, *::before, *::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html{
    -webkit-text-size-adjust: 100%;
     font-size: 62.5%;
}

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

body {
  font-family: var(--main_ff);
  font-size: var(--main_fz);
  font-weight: var(--main_fw);
  font-style: var(--main_fs);
  color:  var(--main_color);
  line-height: var(--main_li_h);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  overflow-wrap: break-word;
  position: relative;
}

@media (max-width: 750px) {
    html {
        font-size: 1.333vw; 
    }
    body {
        font-size: 2.8rem;
    }
}

img {
  max-width: 100%;
  height: auto;
  border: none;
  vertical-align: top;
}

ul, li, dl, dt, dd {
  list-style: none;
  padding: 0;
  margin: 0;
}
h1,h2,h3,h4{
    margin: 0;
}

a {
  text-decoration: none;
    color: var(--main_color);
    transition: .2s ease-in; 
}
@media only screen and (max-width: 750px) {
    img{
        width: 100%;
    }
}
@media (min-width: 751px) { 
    a[href^="tel"] {
        pointer-events: none;
        opacity: 1;
    }
}
body:not(.home) a:hover{
  opacity: .7;
}

a::before,
a::after{
    transition: .2s ease-in; 
}

ol ,li{
    padding: 0;
    margin: 0;
}

ol > li{
  counter-increment: ol_cnt;
}

select {
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    color: #1e1e1e;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
コーダー向け汎用クラス　＞　縦横のサイズ固定のボックス内にある画像について、比率を保ったまま縦横中央揃え＆トリミングして表示
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
/* 4:3の箱を用意する */
.img_container {
    position: relative;
    padding-top: 75%;
    overflow: hidden;
}

.img_container img {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    height: 100%!important;
    width: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
/* 併せて画像の拡大も行なうバージョン */
.zoom_container .img_container img {
    -webkit-transform: translate(-50%, -50%) scale(1);
    -ms-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.zoom_container:hover .img_container img {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
    -ms-transform: translate(-50%, -50%) scale(1.1);
    transform: translate(-50%, -50%) scale(1.1);
    opacity: 1;
}

.biggerlink{
    cursor: pointer;
}

.biggerlink_bl{
    cursor: pointer;
}

.f_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
パンクズリスト
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.page_promo .breadcrumb_wrap {
    color: #999999;
    font-size: 1.6rem;
    text-align: right;
    padding: 0 1.5rem;
}

.page_promo .breadcrumb_wrap > span:not(.bc_arrow) {
    color: #999999;
    font-size: 1.6rem;
}

.page_promo .breadcrumb_wrap > span {
    position: relative;
    padding-right: 10px;
    margin-right: 10px;
}

.page_promo .breadcrumb_wrap > span:not(:last-child)::after {
    position: absolute;
    content: "";
    width: 8px;
    height: 8px;
    border-top: solid 1px #999999;
    border-right: solid 1px #999999;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
}

.page_promo .breadcrumb_wrap > span > a {
    font-size: 1.6rem;
    color: #999999;
    text-decoration: underline;
}


/* *************************
SWIPER
***************************/
.swiper {
    width: 100%;
    height: 100%;
  }

  .swiper-slide {
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ヘッダー
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
header {
    position: relative;
    z-index: 200;
}

.h_inner {
    justify-content: space-between;
    align-items: center;
}

header ul.nav_menu {
    display: flex;
    align-items: center;
}

header ul > li.nav_menu {
    padding: 5px 15px;
}

header ul li.menu-item-has-children{
    position: relative;
}

header ul li:not(:last-child) {
    margin-right: 15px;
}

header ul.child {
    /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
    /*アニメーション設定*/
    transition: all .3s;
    position: absolute;
    top: 40px;
    left: 50%;
    margin-bottom: -5px;
    min-width: 200px;
    transform: translateX(-50%);
    z-index: 8;
}

header ul.child > li {
    margin: 0 0 5px;
    width: 100%;
    cursor: pointer;
}

header ul.child > li > a {
    font-size: 1.8rem;
    color: var(--theme_m_color);
    background: #fff;
    border: 1px solid var(--theme_m_color);
    text-align: center;
    padding: 9px 20px;
    display: block;
    line-height: 1.5;
    cursor: pointer;
}

header ul.child > li:hover > a {
    color: #fff !important;
    background: var(--theme_m_color);
    opacity: 1 !important;
}

@media (min-width: 751px) and (max-width: 1280px) {
    header {
        /* padding-top: 45px; */
    }

    header ul.nav_menu:has(+ :not(ul.nav_menu02)) {
        /* order: 3;
        width: 100%;
        justify-content: flex-start;
        margin: 0; */
    }
}

@media (max-width: 1366px) {
    header ul.nav_menu:has(+ ul.nav_menu02:not(.only_entry)) {
        /* order: 3;
        width: 100%;
        justify-content: flex-start;
        margin: 0; */
    }

    header ul li.hd_btn a {
        /* width: 140px; */
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pushy内
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#pushy ul {
    padding: 50px 15px;
}

#pushy ul.sp_nav_menu > li {
    padding-bottom: 5px;
    margin: 0 0 15px;
    border-bottom: 1px solid #707070;
}

#pushy ul li a {
    display:block;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ハンバーガー (スマホ)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#ham {
    top: 0;
    position: fixed;
    right: 0;
    width: 12rem;
    height: 12rem;
    background: #222222;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.logged-in header #ham {
	top: 9.2rem !important;
}

#ham .ham_bg {
    position: relative;
    width: 5rem;
    height: 4rem;
}

#ham .c_h {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 0;
    height: .4rem;
    background: #fff;
    width: 100%;
    display: block;
}

#ham.active .c_h {
    top: 50%;
    left: 50%;
}

.ham1 {
    top: 0;
}

#ham.active .ham1 {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.ham2 {
    top: 50%;
}

#ham.active .ham2 {
    opacity: 0;
}

.ham3 {
    top: 100%;
}

#ham.active .ham3 {
    transform: translate(-50% , -50%) rotate(45deg);
}


.hambuger_inner02 {
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    z-index: 9999;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: hidden;
    opacity: 0;
    overflow-y: auto;
    height: 100%;
    width: 100%;
    background: #fff;
}

.hambuger_inner02.active {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.hambuger_inner02 .bg ul.items {
    padding-top: 100px;
    width: 100%;
    padding-right: 20px;
}

.hambuger_inner02 .bg ul.items li a {
    color: var(--main_color);
    text-decoration: none;
    padding: 15px;
    display: block;
}

.hambuger_inner02 .bg ul.items li:not(:last-child) a {
    border-bottom: 1px solid #999999;
}

.active02 {
    display: block !important;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
フッター
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
footer {
    background: #222222;
    color: #fff;
}


@media (max-width: 750px) {
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
テーブルを１列に変型する（WPCFのスマホ最適化などに使用）
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.change01 {
    padding-top: 1px;
}

.change01 td, .change01 th {
    display: block;
    margin-top: -1px;
    width: auto!important;
}
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
pagenavi
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.wp-pagenavi {
    text-align: center;
    padding-bottom: 125px;
}

.wp-pagenavi a, .wp-pagenavi span {
    border: none;
    display: inline-block;
    padding: 6px 15px;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
    color: #fff;
    background: #262626;
    font-weight: normal;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ビジュアルエディタ　＞　汎用見出し
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* スムーズスクロールの移動先改善、h2のパディング考慮(2021-10-08)mk */
h2[class*="h2"] a[id],
h3[class*="h3"] a[id]{
	position:absolute;
	top:0;
}

/* 見出しと見なされる要素の行間を詰める */
[class*="ttl"], [class*="header"] {
    line-height: 1.4;
}

/* [.h2a][.h2b]共通のスタイル */
h2[class*="h2"] {
   font-size: 2.8rem;
    margin-bottom: 1em;
    clear: both;
    position: relative;
    line-height: 1.4;
}

h2[class*="h2"]:before {
    content: '';
    background: no-repeat 50% / contain;
    display: inline-block;
}

* + h2[class*="h2"] {
    margin-top: 2em;
}

/* [.h2a]のスタイル */
h2[class*="h2a"] {
    padding: 0px 0px 10px;
    border-bottom-width: 4px;
    border-bottom-style: double;
}

h2[class*="h2b"] {
    padding: 85px 0 0px;
    text-align: center;
}

h2[class*="h2b"]:before {
    width: 70px;
    height: 70px;
    position: absolute;
    top: 0;
    right: calc(50% - 35px);
    background-color: #eee;
}

/* [.h3a][.h3b]共通のスタイル */
h3[class*="h3"] {
   font-size: 2rem;
    margin-bottom: 1em;
    clear: both;
    position: relative;
    line-height: 1.4;
}

h2[class*="h3"]:before {
    content: '';
    background: no-repeat 50% / contain;
    display: inline-block;
}

* + h3[class*="h3"] {
    margin-top: 2em;
}

/* [.h3a]のスタイル */
h3[class*="h3a"] {
    padding: 10px 0 10px 15px;
    border-left-width: 8px;
    border-left-style: solid;
}

/* [.h3b]のスタイル */
h3[class*="h3b"] {
    color: #ffffff;
    padding: 10px 15px;
}
@media (max-width: 750px) {

   h2[class*="h2"] {
    font-size: 2.1rem;
}

h3[class*="h3"] {
    font-size: 1.8rem;
}

* + h3[class*="h3"] {margin-top: 1em;}

.related_post h2 {
    font-size: 2.4rem;
}

aside.related_post {
    padding: 30px 15px;
} 
}

table.table01 {
    width: 100%;
    border: 1px solid #939393;
    border-collapse: collapse;
}

table.table01 th , table.table01 td {
    padding: 10px 15px;
}

table.table01 th {
    width: 30%;
    border-right: 1px solid #939393;
    background: #f4f4f4;
    font-size: 1.5rem;
    font-weight: normal;
}

table.table01 td {
    font-size: 1.5rem;
}

table.table01 tr:not(:last-child) th, table.table01 tr:not(:last-child) td {
    border-bottom: 1px solid #939393;
}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
sample-page
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
p.yohaku_m {
    margin: 50px 0;
}

.column02{
    display: flex;
}
.column02.size5_5 {
    margin: 0 -10px;
}

.size5_5 > div {
    width: calc(50% - 20px);
    margin: 0 auto;
}

@media (max-width: 750px) {
.column02 {
    display: block;
}
    .column02.size5_5{
        margin: 0;
    }
.column02 > div {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.column02 > div:first-child {
    margin-bottom: 20px;
}

}
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
詳細
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
p.more {
    margin-bottom: 15px;
}

a.more-btn {
    font-size: 1.4rem;
    border: 1px solid #c1c1c1;
    border-radius: 4px;
    padding: 5px 10px;
    min-width: 72px;
    text-align: center;
    display: table;
    position: relative;
}

a.more-btn::before {
    border-bottom: solid 1px;
    border-left: solid 1px;
    width: .5rem;
    height: .5rem;
    transform: rotate(45deg);
    position: absolute;
    content: "";
    top: calc(50% - .3em);
    left: 10px;
}
@media (max-width: 750px) {

    /* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
local_navi2（新バージョン）追加2019-10-31tky
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
    .local_navi2_wrap {
        background: #D6D6D6;
    }

    .local_navi2_wrap dt {
        font-size: 1.5rem;
        font-weight: bold;
        color: #fff;
        margin-bottom: 6px;
        padding: 10px 10px 0;
        display: none;
    }

    .local_navi2_wrap dt:after {
        font-family: "icomoon";
        content: '\f101';
        font-weight: normal;
        margin-left: 8px;
    }

    .local_navi2_wrap dd {
        overflow-x: auto;
        /* padding: 0 0 10px; */
        padding: 10px 0 10px;
    }

    .local_navi2_wrap ul {
        -webkit-overflow-scrolling: touch;
        list-style: none;
        display: flex;
        position: relative;
    }

    .local_navi2_wrap ul li {
        flex: 1;
        width: auto;
    }



    .local_navi2_wrap ul li a {
        text-align: center;
        text-decoration: none;
        font-size: 1.5rem;
        white-space: nowrap;
        padding: 12px 22px;
        display: block;
        font-weight: bold;
        position: relative;
        background-color: #ffffff;
    }

    .local_navi2_wrap ul li:first-child a {
        border-radius: 5px 0 0 5px;
    }

    .local_navi2_wrap ul li:last-child a {
        border-radius: 0 5px 5px 0;
    }

    .local_navi2_wrap ul li[class*="current"] a {
        background-color: #c1c1c1;
        color: #ffffff;
    }

    .local_navi2_wrap ul li:not(:last-child) a {
        border-right: 1px solid #9c9c9c;
    }

    /* ローカルナビ孫を非表示(2021-10-01)mf */
    .local_navi2_wrap ul li .children {
        display: none;
    }
}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
よくある質問
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
#qa.kugiri_m {
    padding: 62px 0;
}

#qa h2.cmn_ttl {
    text-align: center;
    position: relative;
    padding-bottom: 25px;
    margin-bottom: 75px;
}

#qa h2.cmn_ttl::after {
    content: "";
    position: absolute;
    width: 70px;
    height: 4px;
    background: #ffe500;
    bottom: 0;
    left: calc(50% - 35px);
}

#qa .qa_wrap {
    max-width: 1000px;
    margin: 0 auto;
}

.nav-open {
    padding: 10px 15px;
    border-bottom: 1px solid #919191;
    position: relative;
    font-size: 2.2rem;
    font-weight: bold;
}

.nav-open::before {
    /* 閉じている時 */
    content: "＋";
    position: absolute;
    color: #a1a1a1;
    font-size: 1.5em;
    top: calc(50% - .8em);
    right: 0;
}

.nav-open.active::before {
    /* 開いている時 */
    content: "－";
}

.nav-open + nav {
    padding: 15px;
    line-height: 2.0885;
    display: none;
}

