/*---------------------------------------------
基本的な要素
---------------------------------------------*/

@charset "UTF-8";
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: 100%;
}

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

fieldset,
img {
    border: 0;
}

address,
caption,
cite,
code,
dfn,
em,
th,
var {
    font-style: normal;
    font-weight: normal;
}

ol,
ul {
    list-style: none;
}

caption,
th {
    text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
    font-weight: normal;
}

q:before,
q:after {
    content: '';
}

abbr,
acronym {
    border: 0;
    font-variant: normal;
}

input,
textarea,
select {
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    *font-size: 100%;
}

legend {
    color: #000;
}

figure {
    padding: 0;
    margin: 0;
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

*:focus {
    outline: 0;
    outline: none;
}

.cf {
    zoom: 1;
}

.cf:before,
.cf:after {
    content: "";
    display: table;
}

.cf:after {
    clear: both;
}

main {
    display: block;
}

a:hover {
    cursor: pointer;
    color: #7d7d7d;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

html {
    font-size: 62.5%;
    font-family: "A1明朝", "BIZ UDPGothic", "YoGo-Medium", "游ゴシック体", "Yu Gothic", YuGothic, Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Helvetica, sans-serif;
    color: #333333;
    line-height: 1.8;
    position: relative;
    height: 100%;
    font-feature-settings: "palt";
    /*  letter-spacing: -0.1rem;
*/
}

@media only screen and (min-width: 860px) {
    html {
        min-height: 100%;
        position: relative;
    }
}

@media all and (-ms-high-contrast: none) {
    html {
        font-family: 'fontAwesome';
    }
}

@media screen and (-ms-high-contrast: active),
(-ms-high-contrast: none) {
    html:not(:target) {
        font-family: 'fontAwesome';
    }
}

body {
     font-size: 1.6rem; 
/*    font-size: 1.3rem;*/
    opacity: 1;
    -webkit-transition: .2s .1s;
    transition: .2s .1s;
    position: absolute;
    min-height: 100%;
    width: 100%;
    padding-bottom: 0;
}

img {
    max-width: 100%;
    vertical-align: bottom;
    height: auto;
}

a {
    color: #333333;
    text-decoration: underline;
}

h1,
h2,
h3,
h4 {
    line-height: 1.4;
}

p+p {
    margin-top: .2em;
}

@media only screen and (max-width: 859px) {
    .is-pc {
        display: none !important;
    }
}


/* @media only screen and (min-width: 640px) {
  .is-sp {
    display: none !important;
  }
} */

@media only screen and (min-width: 860px) {
    .is-tab {
        display: none !important;
    }
}

#ie {
    display: none;
}


/*---------------------------------------------
margin/paddingの設定
---------------------------------------------*/

@media only screen and (max-width: 859px) {
    .mt_XS_sp,
    .mt_XS {
        margin-top: 10px;
    }
    .mt_SS_sp,
    .mt_SS {
        margin-top: 10px;
    }
    .mt_S_sp,
    .mt_S,
    .list_ul,
    .list_ol {
        margin-top: 20px;
    }
    .mt_M_sp,
    .mt_M {
        margin-top: 30px;
    }
    .mt_L_sp,
    .mt_L {
        margin-top: 40px;
    }
    .mt_LL_sp,
    .mt_LL {
        margin-top: 50px;
    }
    .mt_XL_sp,
    .mt_XL {
        margin-top: 60px;
    }
    .mt_XXL_sp,
    .mt_XXL {
        margin-top: 80px;
    }
    .mb_XS_sp,
    .mb_XS {
        margin-bottom: 10px;
    }
    .mb_SS_sp,
    .mb_SS {
        margin-bottom: 10px;
    }
    .mb_S_sp,
    .mb_S {
        margin-bottom: 20px;
    }
    .mb_M_sp,
    .mb_M {
        margin-bottom: 30px;
    }
    .mb_L_sp,
    .mb_L {
        margin-bottom: 40px;
    }
    .mb_LL_sp,
    .mb_LL {
        margin-bottom: 50px;
    }
    .mb_XL_sp,
    .mb_XL {
        margin-bottom: 60px;
    }
    .mb_XXL_sp,
    .mb_XXL {
        margin-bottom: 80px;
    }
    .pt_XS_sp,
    .pt_XS {
        padding-top: 10px;
    }
    .pt_SS_sp,
    .pt_SS {
        padding-top: 10px;
    }
    .pt_S_sp,
    .pt_S {
        padding-top: 20px;
    }
    .pt_M_sp,
    .pt_M {
        padding-top: 30px;
    }
    .pt_L_sp,
    .pt_L {
        padding-top: 40px;
    }
    .pt_LL_sp,
    .pt_LL {
        padding-top: 50px;
    }
    .pt_XL_sp,
    .pt_XL {
        padding-top: 60px;
    }
    .pt_XXL_sp,
    .pt_XXL {
        padding-top: 80px;
    }
    .pb_XS_sp,
    .pb_XS {
        padding-bottom: 10px;
    }
    .pb_SS_sp,
    .pb_SS {
        padding-bottom: 10px;
    }
    .pb_S_sp,
    .pb_S {
        padding-bottom: 20px;
    }
    .pb_M_sp,
    .pb_M {
        padding-bottom: 30px;
    }
    .pb_L_sp,
    .pb_L {
        padding-bottom: 40px;
    }
    .pb_LL_sp,
    .pb_LL {
        padding-bottom: 50px;
    }
    .pb_XL_sp,
    .pb_XL {
        padding-bottom: 60px;
    }
    .pb_XXL_sp,
    .pb_XXL {
        padding-bottom: 80px;
    }
    .pl_S {
        padding-left: 12px;
    }
    .pl_M_sp {
        padding-left: 65px;
    }
    .pl_L_sp {
        padding-left: 100px;
    }
}

@media only screen and (min-width: 860px) {
    .ml_XS_pc,
    .ml_XS {
        margin-left: 15px;
    }
    .ml_M_pc {
        margin-left: 50px !important;
    }
    .mt_XS_pc,
    .mt_XS {
        margin-top: 10px;
    }
    .mt_SS_pc,
    .mt_SS {
        margin-top: 20px;
    }
    .mt_S_pc,
    .mt_S,
    .list_ul,
    .list_ol {
        margin-top: 30px;
    }
    .mt_M_pc,
    .mt_M {
        margin-top: 40px;
    }
    .mt_L_pc,
    .mt_L {
        margin-top: 50px;
    }
    .mt_LL_pc,
    .mt_LL {
        margin-top: 60px;
    }
    .mt_XL_pc,
    .mt_XL {
        margin-top: 80px;
    }
    .mt_XXL_pc,
    .mt_XXL {
        margin-top: 100px;
    }
    .mb_XS_pc,
    .mb_XS {
        margin-bottom: 10px;
    }
    .mb_SS_pc,
    .mb_SS {
        margin-bottom: 20px;
    }
    .mb_S_pc,
    .mb_S {
        margin-bottom: 30px;
    }
    .mb_M_pc,
    .mb_M {
        margin-bottom: 40px;
    }
    .mb_L_pc,
    .mb_L {
        margin-bottom: 50px;
    }
    .mb_LL_pc,
    .mb_LL {
        margin-bottom: 60px;
    }
    .mb_XL_pc,
    .mb_XL {
        margin-bottom: 80px;
    }
    .mb_XXL_pc,
    .mb_XXL {
        margin-bottom: 100px;
    }
    .pt_XS_pc,
    .pt_XS {
        padding-top: 10px;
    }
    .pt_SS_pc,
    .pt_SS {
        padding-top: 20px;
    }
    .pt_S_pc,
    .pt_S {
        padding-top: 30px;
    }
    .pt_M_pc,
    .pt_M {
        padding-top: 40px;
    }
    .pt_L_pc,
    .pt_L {
        padding-top: 50px;
    }
    .pt_LL_pc,
    .pt_LL {
        padding-top: 60px;
    }
    .pt_XL_pc,
    .pt_XL {
        padding-top: 80px;
    }
    .pt_XXL_pc,
    .pt_XXL {
        padding-top: 100px;
    }
    .pb_XS_pc,
    .pb_XS {
        padding-bottom: 10px;
    }
    .pb_SS_pc,
    .pb_SS {
        padding-bottom: 20px;
    }
    .pb_S_pc,
    .pb_S {
        padding-bottom: 30px;
    }
    .pb_M_pc,
    .pb_M {
        padding-bottom: 40px;
    }
    .pb_L_pc,
    .pb_L {
        padding-bottom: 50px;
    }
    .pb_LL_pc,
    .pb_LL {
        padding-bottom: 60px;
    }
    .pb_XL_pc,
    .pb_XL {
        padding-bottom: 80px;
    }
    .pb_XXL_pc,
    .pb_XXL {
        padding-bottom: 100px;
    }
    .pl_S {
        padding-left: 12px;
    }
    .pl_M {
        padding-left: 24px;
    }
    .pl_0_pc {
        padding-left: 0 !important;
    }
}

.pb_0 {
    padding-bottom: 0 !important;
}

.pt_0 {
    padding-top: 0 !important;
}

.pl_0 {
    padding-left: 0 !important;
}

.pr_0 {
    padding-right: 0 !important;
}

.mb_0 {
    margin-bottom: 0 !important;
}

.mt_0 {
    margin-top: 0 !important;
}

.ml_0 {
    margin-left: 0 !important;
}

.mr_0 {
    margin-right: 0 !important;
}

.line_h1 {
    line-height: 1 !important;
}


/*---------------------------------------------
フォントサイズの設定
---------------------------------------------*/
.font_base {
   font-size: 1.6rem!important;
}
.font_26{
  font-size: 2.6rem;
}
.font_30{
  font-size: 3.0rem;
}
@media only screen and (max-width: 859px) {
    .font_XS_sp,
    .font_XS {
        font-size: 1rem;
    }
    .font_SS_sp,
    .font_SS {
        font-size: 1.2rem;
    }
    .font_S_sp,
    .tabBox .tabArea label p,
    .font_S {
        font-size: 1.4rem;
    }
    .font_M_sp,
    .font_M,
    .h_3,
    .h_fM_fb,
    .cardJob .area,
    .cardJob .jobList li,
    .card.column .contents,
    .cardInfo .cat,
    .cardInfo .contents .title,
    .tabBox .panelArea .tabPanel .tabBtn,
    .tabBox .panelArea .tabPanel .keyword input,
    .btn_more,
    .btn_blueL,
    .btn_whiteL,
    .boxEmg .title,
    .condTxt,
    .sortTxt,
    .form_h {
        font-size: 1.8rem;
    }
    .font_L_sp,
    .font_L,
    /*    .h_2, */
    .h_faq,
    .tabBox .panelArea .tabPanel .tab_h,
    .pager,
    .biz_h {
        font-size: 2rem;
    }
    .font_LL_sp,
    .font_LL {
        font-size: 2.2rem;
    }
    .font_XL_sp,
    .font_XL,
    .h_1 {
        font-size: 2.5rem;
    }
    .font_XXL {
        font-size: 3.5rem;
    }
}

@media only screen and (min-width: 860px) {
    .font_XS_pc,
    .font_XS {
        font-size: 1.2rem;
    }
    .font_SS_pc,
    .table_pl tbody,
    .font_SS {
        font-size: 1.4rem;
    }
    .font_S_pc,
    .font_S {
        font-size: 1.6rem;
    }
    .font_M_pc,
    .tabBox .panelArea .tabPanel .checkItem,
    .font_M,
    .h_3,
    .h_fM_fb,
    .cardJob .area,
    .cardJob .jobList li,
    .card.column .contents,
    .cardInfo .cat,
    .cardInfo .contents .title,
    .tabBox .panelArea .tabPanel .tabBtn,
    .tabBox .panelArea .tabPanel .keyword input,
    .btn_more,
    .btn_delete,
    .btn_blueL,
    .btn_whiteL,
    .boxEmg .title,
    .condTxt,
    .sortTxt,
    .form_h {
        font-size: 1.8rem;
    }
    .font_L_pc,
    .tabBox .tabArea label p,
    .font_L,
    /*    .h_2, */
    .h_faq,
    .h_top_news,
    .h_top_easy_search,
    .tabBox .panelArea .tabPanel .tab_h,
    .pager,
    .biz_h {
        font-size: 2rem;
    }
    .font_LL_pc,
    .font_LL {
        font-size: 2.6rem;
    }
    .font_XL_pc,
    .font_XL,
    .h_1 {
        font-size: 3.7rem;
    }
}


/* フォントのカラー */

.f_blue a {
    color: #0F71BA;
}

.f_red {
    color: #d70035;
}

.f_red a {
    color: #d70035;
}

.f_white {
    color: #fff;
}

.f_green {
    color: #449045;
}

/* 数字用フォント */
.f_num{
  font-family: 'Georgia';
}





/*---------------------------------------------
 全体レイアウト
---------------------------------------------*/


/* コンテンツ幅 */

.container {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

@media only screen and (max-width: 859px) {
    .container {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media only screen and (min-width: 860px) {
    .container {
        max-width: 1230px;
        padding-left: 30px;
        padding-right: 30px;
    }
}

.container.L {
    padding-left: 0;
    padding-right: 0;
}

@media only screen and (min-width: 1030px) {
    .container.L {
        max-width: 1000px;
    }
}

.container.M {
    padding-left: 0;
    padding-right: 0;
}

@media only screen and (min-width: 930px) {
    .container.M {
        max-width: 900px;
    }
}

.container.S {
    padding-left: 0;
    padding-right: 0;
}

@media only screen and (min-width: 830px) {
    .container.S {
        max-width: 800px;
    }
}

@media only screen and (max-width: 859px) {
    .left-container {
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media only screen and (min-width: 860px) {
    .left-container {
        max-width: 1230px;
        padding-right: 30px;
    }
}


/* テキスト位置 */

.t_left {
    text-align: left;
}

.t_ctr {
    text-align: center;
}

@media only screen and (max-width: 859px) {
    .t_ctr_sp,
    .condTxt,
    .sortBox {
        text-align: center;
    }
    .t_right_sp {
        text-align: right;
    }
}

@media only screen and (min-width: 860px) {
    .t_ctr_pc {
        text-align: center;
    }
}

.t_right {
    text-align: right;
}


/* 背景色 */

.body_wrap {
    /* background-color: #EFF5EF; */
    background-image: url(/wp-content/themes/dobokuisan/common/topimg/bg-top1.png);
    background-size: contain;
    background-repeat: no-repeat;
}
@media only screen and (max-width: 859px) {
  .body_wrap {
    background-image: url(/wp-content/themes/dobokuisan/common/topimg/bg-top1-sp.png);
  }
}

/* ボーダー */

.bor_none {
    border: none !important;
}


/*--------------------------------
  グリッドレイアウト
--------------------------------*/

.grid_box {
    margin-bottom: -20px;
    box-sizing: border-box;
    background: #fff;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 3px 5px 0 rgba(190, 189, 187, 0.5);
    border: 1px solid #333333;
}

.grid_box_2nd {
    margin-bottom: -20px;
    box-sizing: border-box;
    background: #fff;
    padding: 40px;
    border-radius: 10px;
    box-shadow: 0 3px 5px 0 rgba(190, 189, 187, 0.5);
    border: 1px solid #333333;
    width: 76%;
    margin: auto;
    margin-top: 40px;
}

@media only screen and (max-width: 859px) {
    .grid_cal {
        display: block;
    }
    .grid {
        display: block;
    }
    .grid_box {
        padding: 10px;
    }
    .grid_box_2nd {
        padding: 10px;
        width: 90%;
        margin-top: 30px;
    }
}

@media only screen and (min-width: 860px) {
    .grid_cal {
        display: flex;
    }
    .grid {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow: hidden;
        /* margin-right: -30px; */
    }
    .grid_no_mg {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow: hidden;
    }
    .grid_m0 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow: hidden;
        margin-right: 0;
    }
    .gridItem {
        margin: 0 30px 30px 0;
    }
    .gridItem_m0 {
        margin: 0 0 0 0;
    }
    .gridItem.x1 {
        width: calc(8.33333% - 30px);
    }
    .gridItem.x2 {
        width: calc(16.66666% - 30px);
    }
    .gridItem.x3 {
        width: calc(24.99999% - 30px);
    }
    .gridItem.x4 {
        width: calc(33.33332% - 30px);
    }
    .gridItem.x5 {
        width: calc(41.66665% - 30px);
    }
    .gridItem_m0.x6 {
        width: 50%;
    }
    .gridItem.x6 {
        width: calc(49.99998% - 30px);
    }
    .gridItem.x7 {
        width: calc(58.33331% - 30px);
    }
    .gridItem.x8 {
        width: calc(66.66664% - 30px);
    }
    .gridItem.x9 {
        width: calc(74.99997% - 30px);
    }
    .gridItem.x10 {
        width: calc(83.3333% - 30px);
    }
    .gridItem.x11 {
        width: calc(91.66663% - 30px);
    }
}


/* sp グリッド維持で横スクロール */

.g_all {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    overflow: hidden;
    margin-right: 0px;
}

.g_all .item {
    margin: 0 30px 30px 0;
}

.g_all .item.x1 {
    width: calc(8.33333% - 30px);
}

.g_all .item.x2 {
    width: calc(16.66666% - 30px);
}

.g_all .item.x3 {
    width: calc(24.99999% - 30px);
}

.g_all .item.x4 {
    width: calc(33.33332% - 30px);
}

.g_all .item.x5 {
    width: calc(41.66665% - 30px);
}

.g_all .item.x6 {
    width: calc(49.99998% - 30px);
}

.g_all .item.x7 {
    width: calc(58.33331% - 30px);
}

.g_all .item.x8 {
    width: calc(66.66664% - 30px);
}

.g_all .item.x9 {
    width: calc(74.99997% - 30px);
}

.g_all .item.x10 {
    width: calc(83.3333% - 30px);
}

.g_all .item.x11 {
    width: calc(91.66663% - 30px);
}


/* sp 2個並びグリッド */

@media only screen and (max-width: 860px) {
    .half_sp {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        overflow: hidden;
    }
    .half_sp .inner {
        width: calc(44% - $column-space);
    }
}


/*---------------------------------------------
// パンくずリスト
---------------------------------------------*/

#breadc li {
    display: inline-block;
    color: #333333;
    position: relative;
    padding-right: .3em;
    margin-right: .6em;
}

#breadc li:last-child::after {
    content: none;
}

#breadc a {
    text-decoration: underline;
    color: #7d7d7d;
}

#breadc li a {
    text-decoration: underline;
    color: #333333;
}

@media only screen and (min-width: 860px) {
    #breadc li a {
        -webkit-transition: .3s;
        transition: .3s;
    }
    #breadc li a:hover {
        color: #7d7d7d;
    }
}


/***** リスト*****/

.li_info {
    margin-bottom: -20px;
    border-right: dashed 2px #ddd;
    box-sizing: border-box;
    padding: 0 20px;
}

@media only screen and (max-width: 860px) {
    .li_info {
        border-right: none;
    }
}

.li_list {
    margin-bottom: 20px;
    margin-right: 20px;
    border-bottom: 4px dotted #949495;
    box-sizing: border-box;
}

@media only screen and (min-width: 860px) {
    .li_list a:hover {
        opacity: 0.7;
    }
}

.li_inner {
    display: -webkit-flex;
    display: flex;
}

@media only screen and (max-width: 859px) {
    .li_inner {
        display: block;
    }
}

.li_inner .li_time {
    margin-right: 15px;
}

.li_cat {
    margin-left: -.5em;
}

.li_cat li {
    display: inline-block;
    text-align: center;
    padding: .2em 10px;
    font-size: 1.4rem;
    margin-left: .5em;
    margin-bottom: .5em;
    border-radius: 5px;
    color: #333333;
    font-weight: 600;
}


/***** 検索欄 *****/

.form .searchtext {
    width: 100%;
    border: 1px solid #3F2830;
    border-radius: 4px;
    height: 50px;
    line-height: 50px;
    vertical-align: middle;
    padding: 10px 20px;
}


/***** かんたん検索エリア ボタン *****/

.btn_moresearch {
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
    width: 90%;
    padding: 20px 10px;
    border: 4px solid #B2D4BE;
    background-color: #fff;
    position: relative;
    /* -webkit-box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.15); */
    /* box-shadow: 0px 6px 3px -3px rgba(0, 0, 0, 0.15); */
    -webkit-appearance: none;
    border-radius: 5px;
    font-weight: bold;
    font-size: 2.0rem;
}

a.btn_moresearch {
    color: #333333;
}

.btn_moresearch::before {
    content: '';
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    width: 35px;
    height: 35px;
    background-color: #B2D4BE;
    border-radius: 50vh;
}

.btn_moresearch::after {
    right: 24px;
    top: 31px;
    position: absolute;
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media only screen and (min-width: 860px) {
    .btn_moresearch {
        -webkit-transition: .7s;
        transition: .7s;
    }
    .btn_moresearch:hover {
        background-color: #B2D4BE;
        color: #333333;
    }
    .btn_moresearch:hover::after {
        border-top: 4px solid #fff;
        border-right: 4px solid #fff;
    }
}


/*---------------------------------------------
//サンプル部品
---------------------------------------------*/


/***** 見出し *****/

.h_1,
.editArea h1 {
    margin-top: 30px;
    font-weight: bold;
    padding: 1.8rem 22px;
    /*  border: 3px solid #4c9ac0;*/
    overflow: hidden;
    position: relative;
    /*  text-align: center;*/
    font-size: 3.7rem;
    background: #FEFEFE;
    border-radius: 6px;
    border: solid 5px #D9AACD;
    box-shadow: 0 3px 5px 0 rgba(190, 189, 187, 0.5);
}


/*
/*.h_2,
/*.editArea h1 {
/*    font-weight: bold;
/*    padding: 1.2rem 30px;
/*    /* border: 3px solid #4c9ac0; */


/*    overflow: hidden;
/*    position: relative;
/*    /* text-align: center; */


/*    font-size: 2.7rem;
/*    background: #ddeee3;
/*    margin-top: 20px;
/*    border-radius: 5px;
/*}
/*
/*.h_2::before,
/*.editArea h2::before {
/*    content: '';
/*    position: absolute;
/*    left: 0;
/*    top: 0;
/*    border-width: 30px 30px 0 0;
/*    border-style: solid;
/*    border-color: #58A7A5 #ddeee3 #58A7A5;
/*}
*/

.h_2 {
/*    font-size: 3.5rem;
*/
    font-size: 4.0rem;
}

.h_3,
.editArea h3 {
    padding: 5px 0 5px 18px;
    border-left: 15px solid #efce8c;
    margin: 20px 0 10px 0;
    border-bottom: solid 2px #efce8c;
    border-radius: 4px;
    background-color: #fff7e6;
}

.h_4,
.editArea h4 {
    /*  color: #2c4f54;*/
    padding: 5px 0 5px 15px;
    margin: 10px 0;
    font-size: 1.8rem;
    font-weight: 300;
}

@media only screen and (max-width: 859px) {
    .h_1,
    .editArea h1 {
        padding: 5px 0 5px 25px;
        margin: 8px 0 25px 0;
        font-size: 3.0rem;
    }
    .h_1::before,
    .editArea h1::before {
        border-width: 25px 25px 0 0;
    }
    /*    .h_2,
/*    .editArea h2 {
/*        padding: 8px 8px 8px 32px;
/*        margin: 25px 0 5px 0;
/*        font-size: 2.2rem;
/*    }
*/
    .h_2 {
        font-size: 3.0rem;
    }
    .h_3,
    .editArea h3 {
        padding: 5px 0 2px 5px;
        border-left: 28px solid #efce8c;
        margin: 10px 0 10px 0;
        font-size: 2.0rem;
    }
    .h_3:before,
    .editArea h3:before {
        border-right: 11px solid transparent;
        border-top: 20px solid #cadba2;
        border-left: 11px solid transparent;
    }
    .h_3:after,
    .editArea h3:after {
        border-right: 10px solid transparent;
        border-bottom: 16px solid #D6E8DB;
        border-left: 10px solid transparent;
        left: 6px;
        top: 16px;
    }
    .h_4 {
        padding: 0 5px 0 14px;
        margin: 10px 0;
        font-size: 1.8rem;
    }
}

.heading {
    font-size: 28px;
    margin-left: 7px;
    position: relative;
    padding: 0.1em 0.7em;
    margin-bottom: 0.8em;
    margin-top: 30px;
}

.heading::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -5px;
    width: 5px;
    height: calc(100% - 10px);
    background-color: #252525;
    border-radius: 4px;
}

.heading_book {
    font-size: 28px;
    margin: 1em 20px 1em 0;
    position: relative;
    padding: 0.1em 0.3em;
    text-align: center;
}

.subheading {
/*    font-size: 14px;*/
    font-size: 1.6rem;
    /* サブタイトルのフォントサイズを適宜変更可能 */
/*    color: #000;*/
    color: #333333;
    /* 文字色（黒） */
    /* margin-left: 20px; */
    /* 左側のスペース */
}

.heading .subheading {
    margin: 5px 0 10px 0;
    padding: 0;
}


/***** リンク *****/

.link_a {
    text-decoration: underline;
    color: #333;
}

.link_a:not(.btn_more)[target=_blank] {
    position: relative;
    padding-right: .7em;
    margin-right: .2em;
}

.link_a:not(.btn_more)[target=_blank]::after {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1rem;
    content: '\f08e';
    font-family: 'fontAwesome';
}


@media only screen and (min-width: 860px) {
    .link_a:not(.btn_more) {
        -webkit-transition: .3s;
        transition: .3s;
    }
    .link_a:not(.btn_more):hover {
        opacity: .7;
    }
}

.contents a {
    text-decoration: underline;
    color: #333;
}

.contents a:not(.btn_more)[target=_blank] {
    position: relative;
    padding-right: .7em;
    margin-right: .2em;
}

.contents a:not(.btn_more)[target=_blank]::after {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1rem;
    content: '\f08e';
    font-family: 'fontAwesome';
}

@media only screen and (min-width: 860px) {
    .contents a:not(.btn_more) {
        -webkit-transition: .3s;
        transition: .3s;
    }
    .contents a:not(.btn_more):hover {
        opacity: .7;
    }
}


/***** リンク 下層ページデフォルト*****/

.editArea a {
    text-decoration: underline !important;
    color: #333333;
}

@media only screen and (min-width: 860px) {
    .editArea a {
        -webkit-transition: .3s;
        transition: .3s;
    }
    .editArea a:hover {
        opacity: .7;
    }
}


/***** テキスト*****/

.container p {
    padding: 0 20px;
    margin: 10px 0;
}

@media only screen and (max-width: 859px) {
    .container p {
        padding: 0 5px;
        margin: 5px 0;
    }
}


/***** テーブル*****/

.table {
    width: 100%;
}

.table_center {
    margin: auto;
}

.table th,
.table td {
    padding: .5em .8em;
}

@media only screen and (max-width: 859px) {
    .table th,
    .table td {
        width: 100%;
        display: block;
    }
}

.table_st thead th {
    background: #ffe3f7;
    font-weight: bold;
}

.table_st tbody {
    border-top: 1px solid #949495;
}

.table_st tbody tr {
    border-bottom: 1px solid #949495;
}

.table_st tbody th {
    font-weight: bold;
    background: #ffe3f7;
}

@media only screen and (min-width: 860px) {
    .table_st tbody th {
        border-bottom: 1px solid #949495;
        vertical-align: middle;
        width: 200px;
        padding-left: 30px;
    }
}

.table th,
.table td {
    padding: .5em .8em;
}

@media only screen and (min-width: 860px) {
    .table_st {
        width: 86%;
        border: 1px solid #949495;
        text-align: center;
        margin: 10px 7%;
    }
}

@media only screen and (max-width: 859px) {
    .table_st {
        width: 90%;
        border: 1px solid #949495;
        text-align: center;
        margin: 6% auto;
    }
}

.table_st thead {
    border-bottom: 1px solid #949495;
}

.table_st thead th {
    background: #ffe3f7;
    font-weight: bold;
    text-align: center;
    padding: .5em .8em;
}

.table_st thead th:not(:first-child) {
    border-left: 1px solid #949495;
}

.table_st tbody tr {
    border-bottom: 1px solid #949495;
}

.table_st tbody th,
.table_st tbody td {
    padding: .5em .8em;
}

.table_st tbody td {
    border-left: 1px solid #949495;
}

.table_ohanashi {
    width: 50%;
}

@media only screen and (max-width: 859px) {
    .table_ohanashi {
        width: 95%;
    }
}


/***** リスト*****/

.list_ul {
    margin: 10px 0;
}

.list_ul li {
    line-height: 2;
    text-indent: -1.5em;
    margin-left: 1.5em;
    padding-left: 20px;
}

@media only screen and (max-width: 859px) {
    .list_ul li {
        margin-left: 0.5em;
    }
}

.list_ul li::before {
    display: inline-block;
    text-indent: 0;
    content: '●';
    color: #f4d2eb;
    -webkit-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    line-height: 1;
    /*vertical-align: .08em;*/
    width: 1.5em;
}

.list_ul li a {
    color: #333333;
    text-decoration: underline;
}

.list_ul li a:hover {
    cursor: pointer;
    color: #7d7d7d;
}


/***** 番号付きリスト*****/

.list_ol {
    margin: 10px 0;
    counter-reset: num;
    text-indent: -1.7em;
}

.list_ol li {
    line-height: 2;
    margin-left: 1.4em;
    padding-left: 20px;
}

@media only screen and (max-width: 859px) {
    .list_ol li {
        margin-left: 0.5em;
    }
}

.list_ol li::before {
    display: inline-block;
    text-indent: 0em;
    font-size: .8em;
    width: 1.8em;
    height: 1.5em;
    line-height: 1.6;
    counter-increment: num;
    content: counter(num);
    color: #333333;
    margin-right: .5em;
    background-color: #e7c9df;
    border-radius: .5em;
    text-align: center;
}

.list_ol li a,
.editArea ol li a {
    color: #333;
    text-decoration: underline;
}


/*---------------------------------------------
//スクロール
---------------------------------------------*/

@media only screen and (max-width: 859px) {
    .scrollX {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .scrollX>* {
        min-width: 1230px;
    }
}

@media only screen and (max-width: 1170px) {
    .scrollX {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .scrollX>* {
        min-width: 1170px;
    }
}


/*---------------------------------------------
// ヘッダー
---------------------------------------------*/

.header {
    position: relative;
    /* background-color: #FEFEFE; */
    /* overflow: hidden; */
    top: 0;
    left: 0;
    z-index: 100;
    /*    box-shadow: 0 1px 5px 0 rgba(0, 0, 0, .3);
*/
}

.clone-nav {
    transform: translateY(-100%);
}

.headerMain {
    box-sizing: border-box;
    padding-top: 55px;
    margin-right: 5px;
    /* margin-bottom: 15px; */
    position: relative;
}

@media only screen and (max-width: 859px) {
    .headerMain {
/*        padding-top: 20px;*/
/*        padding-top: 40px;*/
        padding-top: 30px;
/*        padding-bottom: 42px;*/
        padding-bottom: 20px;
/*        margin-top: 10px;*/
    }
}

.headerMain li a {
    -webkit-transition: .5s;
    transition: .5s;
    text-decoration: none;
}

.headerMain li a :hover {
    text-decoration: underline;
}

@media only screen and (min-width: 860px) {
    .headerMain .logo_area {
        padding-bottom: 15px;
    }
}

.headerMain .logo {
    /*  width: 320px;
/*  height: auto;
*/
    width: 472px;
    height: 86px;
    display: inline-block;
}
.headerMain .logo img {
    width: 472px;
}

@media only screen and (max-width: 859px) {
    .headerMain .logo {
/*        width: 260px;
*/
        width: 240px;
        height: auto;
    }
}

.header .headMain {
    height: 100px;
    width: 100%;
    display: flex;
    position: relative;
    top: 0;
    left: 0;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    padding-top: 20px;
}

.header .title {
    display: flex;
    flex-wrap: no-wrap;
    justify-content: center;
    align-items: center;
    font-size: 3.0rem;
    font-weight: 600;
    color: #FEFEFE;
    letter-spacing: 0.15em;
    transition: 0.5s;
}


/*---------------------------------------------
// グローバルメニュー
---------------------------------------------*/

.header .nav {
    display: block;
    box-sizing: border-box;
    position: relative;
    max-width: 1230px;
    text-align: center;
}

.header .nav li {
    display: block;
    text-align: center;
    box-sizing: border-box;
}

.header .nav .search {
    /*  width: 16%;
*/
    width: 23%;
    margin: 4px 0 25px 0;
}

.header .nav li>a {
    /*  font-size: 1.4rem;
*/
    font-size: 1.5rem;
    text-align: center;
    display: block;
    color: #333333;
    text-decoration: none;
    box-sizing: border-box;
    line-height: 1.4em;
    transition: .3s;
    position: relative;
    padding: 15px 0 15px 0;
    font-weight: bold;
}

.header .nav li>a:hover {
    color: #333333;
    text-decoration: underline;
}

.header .nav li.menu01>a {
    padding: 5px 0 0 0;
    font-size: 16px;
}

.header .nav li.menu02>a {
    padding: 5px 0 0 0;
    font-size: 16px;
}

.header .nav li.menu03>a {
    padding: 5px 0 0 0;
    font-size: 16px;
}

.header .nav li.menu04>a {
    padding: 5px 0 0 0;
    font-size: 16px;
}

.header .nav li.menu05>a {
    padding: 5px 0 0 0;
    font-size: 16px;
}

.header .nav li.menu06>a {
    padding: 5px 0 0 0;
    font-size: 16px;
}

.header .nav li.menu07>a {
    padding: 5px 0 0 0;
    font-size: 16px;
}

.globalMenu {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    text-align: center;
}

.header .nav li>a::before {
    top: 8px;
}


/* 検索まど */

.search {
    list-style-type: none;
    /* リストスタイルを無くす */
}

.search {
    display: flex;
    /* Flexboxでアイテムを横に並べる */
    border-bottom: 2px solid #a1887f;
    /* 下線を追加、色は画像に基づいて推定 */
    /*  padding: 5px 0;
*/
}

.search input[type="text"] {
    flex-grow: 1;
    /* 入力部分が残りのスペースを埋めるように設定 */
    border: none;
    /* ボーダーを無くす */
    outline: none;
    /* アウトラインを無くす */
    padding: 5px;
    /* 内側の余白 */
    font-size: 16px;
    /* フォントサイズ */
    color: #a1887f;
    /* フォントカラー、画像に基づいて推定 */
    background-color: transparent;
    /* 背景を透明に */
    margin-right: 10px;
    /* 右のマージン */
    width: 80%;
    /* 残りの幅を自動で取る */
}

.search button {
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.btn_search {
    width: 32px;
    height: 32px;
    background-image: url(/wp-content/themes/dobokuisan/common/img/search.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}


/* ヘッダーエリアのサイト内検索機能 */

.head_search {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 1rem;
}

@media (max-width: 768px) {
    .head_search {
        /*    position: absolute;
/*    width: 80px;
/*    height: 70px;
/*    top: 5px;
/*    right: 90px;
/*    cursor: pointer;
/*    display: block;
*/
        z-index: 300;
    }
}

.head_search .searchTxt {
    flex: 1;
    width: 100%;
    /*    max-width: 700px;*/
}

.head_search .searchTxt .text {
    width: 100%;
    padding: .5em;
    border-radius: 10px;
}

@media (min-width: 769px) {
    .head_search .searchBtn {
        width: 20%;
    }
}

.head_search .searchBtn .s-btn {
    background-color: #125C89;
    color: #fff;
    width: 164px;
    border-radius: 10px;
    padding: 1.0em;
}

@media (max-width: 768px) {
    .head_search .searchBtn .s-btn {
        margin-left: 5%;
        width: 90px;
    }
}

@media (min-width: 769px) {
    .head_search .searchBtn .s-btn {
        width: 164px;
        margin-left: 20px;
    }
}

.head_s-btn {
    background-color: #125C89;
    color: #fff;
    width: 64px;
    border-radius: 10px;
    padding: 0.7em;
}

@media (max-width: 768px) {
    .head_s-btn {
        margin-left: 5%;
        width: 64px;
        padding: 0.2em;
        border: 1px solid #fff;
    }
}

@media (min-width: 769px) {
    .head_s-btn {
        width: 64px;
        margin-left: 8px;
    }
}

.siteSearch {
    border-radius: 4px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-align: center;
    width: 270px;
    padding: 7px 10px;
    border: 3px solid #007B39;
    color: #fff;
    background-color: #007B39;
    transition: .3s;
}


/*---------------------------------------------
// グローバルメニュー 固定
---------------------------------------------*/


/* PC 860px 以上の場合 */

@media only screen and (min-width: 860px) {
    .sticky {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
        background-color: #fff;
/*        background-image: url("/wp-content/themes/dobokuisan/common/topimg/bg-menu-pc.png");
/*        background-size: cover;
/*        background-position: center center;
/*        background-repeat: no-repeat;
*/
        opacity: 1;
        animation: fadeup 0.3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
    }
}

@keyframes fadeup {
    0% {
        transform: translateY(-30px);
        opacity: 0;
    }
    80% {
        opacity: 1;
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}


/* タブレット 640px 以上かつ 860px 未満の場合 */

@media only screen and (min-width: 640px) and (max-width: 859px) {
    .sticky {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
        background-color: #fff;
/*        background-image: url("/wp-content/themes/dobokuisan/common/topimg/bg-menu-tb.png");
/*        background-size: cover;
/*        background-position: center center;
/*        background-repeat: no-repeat;
*/
        opacity: 1;
        animation: fadeup 0.3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
    }
}


/* SP 640px 未満の場合 */

@media only screen and (max-width: 639px) {
    .sticky {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1000;
        background-color: #fff;
/*        background-image: url("/wp-content/themes/dobokuisan/common/topimg/bg-menu-sp.png");
/*        background-size: cover;
/*        background-position: center center;
/*        background-repeat: no-repeat;
*/
        opacity: 1;
        animation: fadeup 0.3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
    }
}


/****** ハンバーガーメニュー ******/


/*PC用ドロップダウンメニュー*/


/* @media (min-width: 1280px) { */

@media (min-width: 860px) {
    .header .nav {
        display: flex;
        align-items: center;
    }
    .nav .navList {
        display: flex;
        justify-content: space-between;
        flex-wrap: nowrap;
        text-align: center;
        width: 100%;
    }
    .navItem {
        display: flex;
        align-items: center;
    }
    .navLine a {
        font-weight: 700;
        padding: 20px 10px;
        color: #333333;
    }
    .navLine a:hover {
        text-decoration: none !important;
    }
    .navLine a::after {
        position: absolute;
        left: 0;
        content: '';
        width: 100%;
        height: 3px;
        background: #333333;
        bottom: 5px;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform 0.4s;
        border-radius: 50vh;
    }
    .navLine a:hover::after {
        transform: scale(1, 1);
        transform-origin: left top;
    }
    /* .navItem a:hover {
    text-decoration: underline;
  }*/
    .megaButton {
        gap: 0.5em;
        font-family: 'A1明朝', '游明朝', "YuMincho", 'Yu Mincho', 'Hiragino Mincho ProN', sans-serif;
        font-size: 1.5rem;
        position: relative;
        margin-top: 5px;
    }
    .megaButton::after {
        content: "";
        margin: auto;
        position: absolute;
        top: 0;
        bottom: 2px;
        right: 10px;
        width: 6px;
        height: 6px;
        border-top: 2px solid #333333;
        border-right: 2px solid #333333;
        transform: rotate(135deg);
        transition: rotate 0.3s;
    }
    .navItem:hover .megaButton::after {
        border-top: 2px solid #333333;
        border-right: 2px solid #333333;
    }
    .megaButton a {
        display: block;
        padding: 10px 30px 10px 10px;
    }
    /* .navItem:hover .megaButton a {
    color: #756145;
    background-color: #e1dcd8;
  }*/
    .megaMenu.is-open .megaButton::after {
        rotate: 180deg;
    }
    .megaNav {
        -webkit-clip-path: inset(0 -50vw 100%);
        clip-path: inset(0 -50vw 100%);
        left: 2px;
        position: absolute;
        top: 100.05%;
        transition: all 0.4s;
        visibility: hidden;
        width: 100%;
        padding: 0 30px;
    }
    .megaMenu.is-open .megaNav {
        -webkit-clip-path: inset(0 -50vw);
        clip-path: inset(0 -50vw);
        visibility: visible;
    }
    .megaList {
        margin-inline: auto;
        display: flex;
        width: 100%;
        height: auto;
        background-color: #fefefe;
        color: #000;
        align-items: center;
        padding: 20px 10px;
        text-align: left;
        border: 1px solid #9e9354;
    }
    .megaSublist {
        display: flex;
        justify-content: space-around;
        width: 100%;
    }
    .titleBox {
        max-width: 290px;
        width: 100%;
    }
    .megaSubtitle {
        color: #756145;
        font-size: 2.4rem;
        position: relative;
        border-bottom: 4px solid #d3cbc6;
        margin-bottom: 40px;
    }
    .megaSubtitle::before {
        position: absolute;
        bottom: -4px;
        left: 0;
        width: 20%;
        height: 4px;
        content: '';
        background: #9E9354;
    }
    .moreButton a {
        color: #756145;
        font-size: 1.8rem;
        position: relative;
        padding-left: 20px;
    }
    .moreButton a::before {
        content: '';
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        border: 5px solid transparent;
        border-left: 8px solid #9E9354;
    }
    .moreButton a::after {
        position: absolute;
        left: 0;
        content: '';
        width: 110%;
        height: 3px;
        background: #756145;
        bottom: -5px;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform 0.4s;
        border-radius: 50vh;
    }
    .moreButton a:hover::after {
        transform: scale(1, 1);
        transform-origin: left top;
    }
    .megaItem1 {
        max-width: 290px;
        padding: 20px 10px;
        position: relative;
    }
    .megaItem1::before {
        position: absolute;
        bottom: 20px;
        left: 10px;
        width: 93%;
        height: 2px;
        content: '';
        background: #9E9354;
    }
    .megaItem1 img {
        aspect-ratio: 16/9;
        width: 100%;
        object-fit: cover;
    }
    .megaItem1 a {
        color: #756145 !important;
        font-size: 2.0rem;
        display: block;
    }
    .megaItem1 a:hover {
        text-decoration: none !important;
        opacity: 0.5;
    }
    .megaItem2 {
        max-width: 290px;
        padding: 20px 10px;
        position: relative;
    }
    .megaItem99 {
        max-width: 290px;
        padding: 20px 10px;
        position: relative;
        width: 25%;
    }
    .megaItem99_3 {
        max-width: 290px;
        padding: 20px 10px;
        position: relative;
        width: 24%;
    }
    .megaItem99_4 {
        max-width: 290px;
        padding: 20px 10px;
        position: relative;
        width: 26%;
    }
    .megaItem3 {
        max-width: 310px;
        padding: 20px 10px;
        position: relative;
    }
    .megaSublist-item .listLine a {
        text-align: left !important;
        position: relative;
/*        padding-left: 2.0em !important;*/
        padding-left: 10px;
        display: inline;
    }
    _::-webkit-full-page-media, _:future, :root .megaSublist-item .listLine a {
        padding-left: 15px;
    }
    .megaSublist-item .listLine a::before {
/*        position: absolute;*/
        /*display: inline-block;*/
/*        content: '';
/*        height: 20px;
/*        width: 20px;
/*        border-radius: 50vh;
/*        background-color: #9E9354;
/*        -webkit-transform: scale(0.8, 0.8);
/*        transform: scale(0.8, 0.8);
/*        top: 1.0em !important;
/*        left: 0;
*/
        display: inline-block;
        text-indent: 0;
        content: '●';
        /* -webkit-transform: scale(1.2, 1.2); */
        -webkit-transform: scale(1.3, 1.3);
        transform: scale(1.2, 1.2);
        line-height: 1;
        width: 1.5em;
        color: #9E9354;
        padding-right: 10px;
    }
    _::-webkit-full-page-media,
    _:future,
    :root .megaSublist-item .listLine a::before {
        top: -2px !important;
      display: inline-block;
      text-indent: 0;
      content: '●';
      transform: scale(2.2, 2.2);
      line-height: 1;
      width: 1.0rem;
      padding-bottom: 5px;
    }
    .megaItem3 .megaSublist-item .listLine a::before {
        position: absolute;
        /*display: inline-block;*/
        content: '';
        height: 20px;
        width: 20px;
        border-radius: 50vh;
        background-color: #9E9354;
        -webkit-transform: scale(0.8, 0.8);
        transform: scale(0.8, 0.8);
        /*        top: 1.0em !important;*/
        top: 0.5em !important;
        left: 0;
    }
    .megaItem3 .megaSublist-item .listLine a {
        padding: 0.5em 0 0.5em 0;
    }
    .megaSublist-item .listLine a:hover {
        text-decoration: none !important;
    }
    .megaSublist-item .listLine a::after {
        position: absolute;
        left: 0;
        content: '';
        width: 100%;
        height: 2px;
        background: #333333;
        bottom: 8px;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform 0.4s;
        
    }
    .megaSublist-item .listLine a:hover::after {
        transform: scale(1, 1);
        transform-origin: left top;
    }
    .megaItemtitle,
    .megaItemtitle a {
        color: #756145;
        font-size: 1.6rem;
        position: relative;
    }
    .megaItemtitle a:hover {
        opacity: 0.5;
    }
    .megaItemtitle::before {
        max-width: 290px;
        position: absolute;
        bottom: 0px;
        left: 0;
        width: 100%;
        height: 2px;
        content: '';
        background: #9E9354;
    }
}

@media (min-width: 768px) and (hover: hover) {
    .megaMenu:hover .megaNav,
    .megaMenu:focus-within .megaNav {
        -webkit-clip-path: inset(0 -50vw);
        clip-path: inset(0 -50vw);
        visibility: visible;
    }
    .megaMenu:hover .megaButton::after,
    .megaMenu:focus-within .megaButton::after {
        rotate: 180deg;
    }
}

.header .nav .list_ul>li>a {
    display: initial;
}

.header .nav li .megaItem2>.list_ul>li {
    text-align: left;
}

.header .nav li .megaItem3>.list_ul>li {
    text-align: left;
}


/*タブレット・SP用ハンバーガーメニュー*/

.navBtn {
    position: absolute;
/*    top: calc(100% - 100px);*/
/*    top: calc(100% - 85px);*/
/*    top: 20px;*/
    top: 30px;
    right: 15px;
    display: flex;
    height: 20px;
    width: 20px;
    justify-content: center;
    align-items: center;
    z-index: 220;
    pointer-events: auto;
}

.navBtnSearch {
    position: absolute;
    top: 30px;
    right: 60px;
    display: flex;
    height: 30px;
    width: 30px;
    justify-content: center;
    align-items: center;
    z-index: 220;
    pointer-events: auto;
}

.navBtn .hamburgerLine,
.navBtn .hamburgerLine::before,
.navBtn .hamburgerLine::after {
    content: '';
    display: block;
    height: 2px;
    width: 30px;
    background-color: #9E9354;
    position: absolute;
    transition: 0.5s;
}

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

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

.hamburgerTitle-menu {
    position: absolute;
    bottom: -16px;
    left: 45%;
    transform: translateX(-50%);
    width: 100%;
    font-size: 1.2rem;
    color: #9E9354;
}
_::-webkit-full-page-media, _:future, :root .hamburgerTitle-menu {
    left: 8%;
    bottom: -22px;
}
.hamburgerTitle-close {
    position: absolute;
    bottom: -16px;
    left: -5%;
    width: 100%;
    opacity: 0;
    font-size: 1.2rem;
    color: #9E9354 !important;
}
_::-webkit-full-page-media, _:future, :root .hamburgerTitle-close {
    left: -50%;
    bottom: -22px;
}
@media only screen and (max-width: 859px) {
  .hamburgerTitle-menu {
    left: 8%;
    bottom: -22px;
  }
  .hamburgerTitle-close {
    left: -50%;
    bottom: -22px;
  }
}

#navBtn_check:checked~.navBtn .hamburgerLine {
    background-color: rgba(255, 255, 255, 0);
}

#navBtn_check:checked~.navBtn .hamburgerLine::before {
    bottom: 0;
    transform: rotate(45deg);
    background-color: #9E9354;
}

#navBtn_check:checked~.navBtn .hamburgerLine::after {
    top: 0;
    transform: rotate(-45deg);
    background-color: #9E9354;
}

#navBtn_check:checked~.navBtn .hamburgerTitle-menu {
    opacity: 0;
}

#navBtn_check:checked~.navBtn .hamburgerTitle-close {
    opacity: 1;
}

#navBtn_check {
    display: none;
}

#navBtn_check:checked~.headSub {
    left: 0;
    display: block;
    /* transition: 0.5s; */
}

.searchboxSp{
    display: none;
    position: absolute;
    width: 100%;
    height: 60px;
    padding-left: 15px;
    padding-right: 15px;
}

#navBtn_checkSearch {
    display: none;
}
#navBtn_checkSearch:checked~.searchboxSp {
    display: block;
}

/* 検索まど(SP版) */

.searchSp {
    list-style-type: none;
    /* リストスタイルを無くす */
}

.searchSp {
    display: flex;
    /* Flexboxでアイテムを横に並べる */
    background-color: #fff;
    border: 1px solid #c3c3c3;
    /*  padding: 5px 0;*/
    padding: 0.8em 1rem;
}

.searchSp input[type="text"] {
    flex-grow: 1;
    /* 入力部分が残りのスペースを埋めるように設定 */
    border: none;
    /* ボーダーを無くす */
    outline: none;
    /* アウトラインを無くす */
    padding: 5px;
    /* 内側の余白 */
    font-size: 16px;
    /* フォントサイズ */
    color: #a1887f;
    /* フォントカラー、画像に基づいて推定 */
    background-color: transparent;
    /* 背景を透明に */
    margin-right: 10px;
    /* 右のマージン */
    width: 80%;
    /* 残りの幅を自動で取る */
}

.searchSp button {
    background-color: transparent;
    border: none;
    cursor: pointer;
}

.btn_searchSp {
    width: 32px;
    height: 32px;
    background-image: url(/wp-content/themes/dobokuisan/common/img/search.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}


/* ヘッダーエリアのサイト内検索機能(SP版)*/

.head_searchSp {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 0 1rem;
    border-bottom: 2px solid #a1887f;
    justify-content: space-between;
}


.head_searchSp .searchTxt {
    flex: 1;
    width: 100%;
    /*    max-width: 700px;*/
}

.head_searchSp .searchTxtSp .text {
    width: 100%;
    padding: .5em;
    border-radius: 10px;
}

@media (min-width: 769px) {
    .head_searchSp .searchBtnSp {
        width: 20%;
    }
}

.headSub {
    width: 101%;
    height: 90vh;
    /* position: fixed; */
    position: absolute;
    top: 100%;
    left: 102%;
    z-index: 200;
    clear: both;
    overflow: auto;
    transition: 0.5s;
    background-color: #fefefe;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
    margin-bottom: 50px;
    display: none;
}

.headSub::-webkit-scrollbar {
    display: none;
}

.accBox {
    padding: 10px 10px 0;
}

.accItem .accTitle a {
    color: #376C37;
}

.accTitle,
.accTitle-an {
    cursor: pointer;
    font-size: 1.8rem;
    padding: 1.5em 1.5em;
    display: block;
    position: relative;
    width: 100%;
    z-index: 210;
    color: #376C37;
    font-weight: 600;
    text-decoration: underline;
}

.accTitle:hover,
.accTitle-an:hover {
    text-decoration: none;
}

.accTitle::after {
    border-right: solid 2px #376C37;
    border-top: solid 2px #376C37;
    content: "";
    height: 10px;
    position: absolute;
    right: 20px;
    top: 40%;
    transform: rotate(135deg);
    transition: transform .3s ease-in-out, top .3s ease-in-out;
    width: 10px;
}

.accTitle.open::after {
    top: 45%;
    transform: rotate(-45deg);
}

.accList {
    display: none;
    padding: 70px 10px 0;
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.accList li {
    list-style: none;
    text-decoration: underline;
    border-bottom: 1px solid #AFAFB0;
}

.accList li:last-child {
    border-bottom: none;
}

.accList li:hover {
    text-decoration: none;
}

.accList a {
    display: block;
    width: 100%;
    font-size: 1.8rem;
    box-sizing: border-box;
/*    color: #475950;*/
    color: #376C37;
    font-weight: 600;
    text-decoration: none;
/*    padding: 9px 15px 10px 0;*/
    padding: 9px 15px 10px 3px;
    position: relative;
    z-index: 210;
}

.accItem .accTitle,
.accItem .accTitle-an {
    border-bottom: 1px solid #a8bf93;
}

.accItem .accList {
    background-color: #fefefe;
    width: 100%;
    padding: 1.0em 1.5em;
}

.accList .listSec {
    margin-left: 1em;
    position: relative;
    font-size: 1.6rem;
}

.accList .listSec::before {
    position: absolute;
    top: 50%;
    left: -1em;
    content: '';
    width: 10px;
    height: 1px;
    background: #475950;
    margin: auto;
}

.accList .accImg {
    display: flex;
    align-items: center;
    padding: 15px 0;
}

.accList .accImg img {
    max-height: 100px;
    height: 100%;
    width: auto;
}

.accList .accImg a {
    padding-left: 20px;
}
.accList .list_circle_item::before{
  padding-bottom: 6px;
}
@media only screen and (max-width: 859px) {
  _::-webkit-full-page-media, _:future, :root .accList .list_circle_item::before {
    margin-right: 10px;
    margin-left: 3px;
  }
}

@media(min-width:859px) {
    .navBtn {
        top: calc(100% - 80px);
        right: 2.5em;
        height: 50px;
        width: 50px;
    }
    .navBtn span,
    .navBtn span:before,
    .navBtn span:after {
        width: 30px;
    }
    .hamburgerTitle-menu {
        position: absolute;
        bottom: -16px;
        left: 40%;
        transform: translateX(-50%);
        width: 100%;
        font-size: 1.2rem;
        color: #fefefe;
    }
    .hamburgerTitle-close {
        position: absolute;
        bottom: -16px;
        left: 5px;
        width: 100%;
        opacity: 0;
        font-size: 1.2rem;
        color: #376C37;
    }
    .headSub ul {
        padding: 8.5em 20px 0;
    }
    .headSub ul li a {
        font-size: 2.0rem;
    }
    .headSub ul li a::before {
        top: 25px;
    }
    .hamburgerTitle {
        top: 35px;
        left: 30px;
        font-size: 3.0rem;
    }
    .accTitle,
    .accTitle-an {
        font-size: 2.0rem;
    }
}


/*---------------------------------------------
footer ==>>
---------------------------------------------*/
.footer {
  width: 100%;
  background-color: #007B39;
  position: relative;
  padding-top: 35px;
  font-size: 1.6rem;
  color: #ffffff;
  z-index:5000;
}

.footer ul {
  padding: 0;
  list-style: none;
}

.footer li {
  padding-left: 25px;
  list-style: none;
}

.footer a {
  color: #ffffff;
  text-decoration: none;
  position: relative;
}

.footer a::after {
  background-color: currentColor;
  bottom: -6px;
  content: "";
  height: 2px;
  left: 0;
  position: absolute;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .3s;
  width: 100%;
  border-radius: 50vh;
}

.footer a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.footer p {
  padding: 0 0 0 25px;
  margin: 0;
  text-decoration: none;
}

.footer hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #e5e7eb;
}

.footer address {
  font-style: normal;
  font-weight: normal;
}

.footer__navi-heading {
  font-weight: 600;
  position: relative;
  padding-left: 25px;
}

.footer__navi-heading::before {
    position: absolute;
    /* display: inline-block; */
    content: '';
    height: 20px;
    width: 20px;
    border-radius: 50vh;
    background-color: #fff;
    -webkit-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
    left: 0;
    top: 20%;
}

.footer__logo {
  display: inline-block;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 859px) {
  .footer__logo img {
    width: 210px;
  }
}
.footer__navi li {
  margin-bottom: 0.75rem;
}

.footer__address {
  margin-bottom: 2rem;
}

.footer__address a {
  text-decoration: underline;
}

.copyright {
/*  padding: 0 0 15px 0;*/
  padding: 0 0 45px 0;
  text-align: center;
/*  margin-bottom: 1.5rem;*/
  margin-bottom: 0;
}

@media only screen and (max-width: 859px) {
 .md-flex {
   display: flex;
 }

 .md-justify-between {
   justify-content: space-between;
 }

 .grid {
   grid-template-columns: repeat(3, minmax(0, 1fr));
 }

 .footer__address a {
   text-decoration: none;
   pointer-events: none;
 }

 .grid_footer {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 0.5rem;
   margin-bottom: 1.5rem;
 }

 .sp_br{
    display: block;
 }

}

@media only screen and (min-width: 860px) {
  .lg-flex {
    display: flex;
  }

  .md-justify-between {
    justify-content: space-between;
  }

 .grid_footer {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 5rem;
   margin-bottom: 1.5rem;
 }

 .sp_br{
    display: none;
 }

}

/*---------------------------------------------
 <<== footer
---------------------------------------------*/


/*---------------------------------------------
formスタイル
---------------------------------------------*/

input {
    background-color: #FEFEFE;
}

input:focus {
    background: #fff8cd;
}


/*---------------------------------------------
    印刷用スタイル
---------------------------------------------*/

@media print {
    /* 幅はコンテンツサイズに合わせて修正 */
    html,
    body {
        width: 1024px;
        margin: 0;
        padding: 0;
        overflow-x: hidden;
    }
    body,
    body>.wrap {
        background: none;
    }
    .header {
        display: none;
    }
    .footer {
        display: none;
    }
    .pt_none {
        display: none;
    }
}


/*---------------------------------------------
トップページ メインビジュアル
---------------------------------------------*/
/*.main_visual {
  text-align: center;
}
.main_visual img {
  width: 80%;
}*/
.mv {
  width: 100%;
  height: 100%;
  max-height: 784px;
  position: relative;
  z-index: 90;
}
.swiper {
  width: 100%;
  height: 100%;
}
.swiper-slide {
  width: 100%;
  height: 100%;
  max-height: 784px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  position: relative;
}
.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.swiper-pagination-bullet {
  background-color: #9E9354;
  width: 10px;
  height: 10px;
}
.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: -30px;
  padding-right: 2.5rem;
}
/* 大きいディスプレイ用 */
@media(min-width:1530px) {
  /*    .mv {
       height: 700px;

        height: 784px;
    }
    .swiper-slide {
       max-height: 700px;

        max-height: 784px;
    }
    .swiper-slide img {
       height: 700px;

        height: 784px;
    }*/
  .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    z-index: 115;
  }
}
/* sp用 */
@media(max-width:767px) {
  .mv {
    max-height: 514px;
    height: 100%;
    width: 100%;
    padding-top: 0;
/*    padding-left: 10px;
/*    padding-right: 10px;
*/
    padding-left: 30px;
    padding-right: 30px;
  }
  .swiper-slide {
    max-height: 514px;
    margin-top: 0px;
    width: 100%;
    height: 100%;
  }
  /*  .swiper-slide img {
        height: 208px;
    }*/
  .swiper-pagination {
    text-align: center;
  }
  .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
  }
  .swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    padding-right: 0;
  }
}




/*---------------------------------------------
トップページメイン背景
---------------------------------------------*/


/* .main_backimage {
  background-image: url(/wp-content/themes/dobokuisan/common/topimg/bg-top1.png);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
} */


/*---------------------------------------------
header背景（一定スクロールしたとき） 
---------------------------------------------*/

/*.header_backimage {
/*    /* ここで高さを指定 */
/*    background-image: url(./bg-menu.png);
/*    /* ここに背景画像のパスを指定 */
/*    background-size: cover;
/*    /* background-size: contain; */
/*    /* 画像を全体にフィットさせる */
/*    background-position: center center;
/*
/*    /* 画像の位置を中央にする */
/*    background-repeat: no-repeat;
/*    /* 画像を繰り返さない */
/*    /* z-index: -1; */
/*}
*/

/*---------------------------------------------
トップページ背景切り替え
---------------------------------------------*/

.content__wrap {
    width: 98%;
    margin: auto;
}

.backimage_change p,
.backimage_change h1,
.backimage_change h2,
.backimage_change h3,
.backimage_change ul,
.backimage_change article,
.backimage_change div {
    position: relative;
    z-index: 20;
}

.content-wrap--bg {
    padding-top: 5%;
}

.content-wrap--bg::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    opacity: 0;
    z-index: 0;
}

.content-wrap--bg.show::before {
    opacity: 1;
}

.content-wrap--bg001::before {
    background-image: url(/wp-content/themes/dobokuisan/common/topimg/bg-main1.png);
}

.flex-container {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-justify-content: center;
    justify-content: center;
}

.flex-container img {
    width: 100%;
    height: auto;
}

.z_20 {
    z-index: 20;
}

.position_r {
    position: relative;
}


/*---------------------------------------------
トップページ　スクロール装飾
---------------------------------------------*/

.captionBox_Bg {
    width: 100%;
    height: auto;
    background-color: #F5F0E3;
    /* padding-bottom: 2.5em; */
     padding-top: 80px;
}
@media(max-width:767px) {
  .captionBox_Bg {
    padding-top: 20px;
  }
}

.captionBox {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    height: auto;
    color: #333334;
    flex-wrap: nowrap;
}

.captionBox .captionTitle,
.captionBox .captionTxt {
    max-width: 500px;
    width: 100%;
    height: auto;
/*    margin: 100px auto 50px;
*/
    margin: 70px auto 80px;
}

.captionBox .captionTxt {
    margin-left: 0.3em;
}

.captionBox .captionTitle h2 {
    font-size: 5.2rem;
    letter-spacing: -0.2rem;
    text-align: center;
}

.captionBox .captionTxt {
    line-height: 2.0;
/*    padding: 0 1.0em 0 1.5em;
*/
    padding: 0 6.0rem 0 1.0rem;
}
@media(min-width:820px) and ( max-width:1230px)  {
  .captionBox .captionTxt {
    padding: 0 6.0rem 0 6.0rem;
  }
}

.captionBox .captionTxt h3 {
    font-size: 3.8rem;
    margin-bottom: 15px;
    letter-spacing: -0.2rem;
}

.captionBox .captionTxt p {
    font-weight: 200;
    font-size: 1.57rem;
    padding: 0;
/*    margin-top: 1.5em;
*/
    margin-top: 4.0rem;
}

.scrollDown {
    margin-top: 10px;
    position: absolute;
    top: 8%;
    left: 50%;
    /* left: 100%; */
}

.scrollDown span {
    /*描画位置*/
    position: absolute;
    /*テキストの形状*/
    top: -40px;
    /* color: #FEFEFE; */
    color: #333334;
    font-size: 1.6rem;
    letter-spacing: 0.05em;
    right: -24px;
}

.scrollDown:before {
    content: "";
    /*描画位置*/
    position: absolute;
    left: -4px;
    /*丸の形状*/
    width: 10px;
    height: 10px;
    border-radius: 50%;
    /* background: #D6C6AF; */
    background: #449045;
    animation: circlemove 4.6s ease-in-out infinite, cirlemovehide 4.6s ease-out infinite;
}


/*下からの距離が変化して丸の全体が上から下に動く*/

@keyframes circlemove {
    0% {
        bottom: -0px;
    }
    100% {
        bottom: -430px;
    }
}


/*上から下にかけて丸が透過→不透明→透過する*/

@keyframes cirlemovehide {
    0% {
        opacity: 0
    }
    50% {
        opacity: 1;
    }
    80% {
        opacity: 0.9;
    }
    100% {
        opacity: 0;
    }
}


/* 線の描写 */

.scrollDown:after {
    content: "";
    /*描画位置*/
    position: absolute;
    /*線の形状*/
    width: 2px;
    /*    height: 450px; */
    height: 420px;
    /* background: #D6C6AF; */
    background: #449045;
}


/* 大きいディスプレイ用 */

@media(min-width:1530px) {
    .captionBox .captionTitle,
    .captionBox .captionTxt {
/*        margin: 100px auto 70px;
*/
        margin: 70px auto 60px;
    }
    .scrollDown span {
        right: -25px;
    }
    /*下からの距離が変化して丸の全体が上から下に動く*/
    @keyframes circlemove {
        0% {
            bottom: -40px;
        }
        100% {
            bottom: -440px;
        }
    }
    /* 線の描写 */
    .scrollDown:after {
        /*        margin-top: 10px; */
        margin-top: 30px;
        /*        height: 450px;*/
        height: 400px;
    }
}


/* sp用 */

@media(max-width:820px) {
    .captionBox {
        justify-content: center;
        align-items: baseline;
        flex-wrap: wrap;
    }
    .captionBox .captionTitle,
    .captionBox .captionTxt {
        max-width: 100%;
    }
    .captionBox .captionTitle {
/*        margin: 200px auto 30px;*/
        margin: 40px auto 30px;
        position: relative;
    }
    .captionBox .captionTitle::before {
        content: '';
        width: 100%;
        height: 2px;
        display: inline-block;
        background-color: #D6C6AF;
        position: absolute;
/*        bottom: -60%;*/
        bottom: -40%;
        border-radius: 50vh;
    }
    .captionBox .captionTxt {
/*        margin: 30px auto 0px;*/
        margin: 0px auto 150px;
/*        padding: 0 1.0rem 0 1.0rem;*/
        padding: 0 15px 0 15px;
    }
    .captionBox .captionTitle h2 {
/*        font-size: 3.0rem;*/
        font-size: 3.4rem;
    }
    .captionBox .captionTxt h3 {
        font-size: 2.4rem;
/*        margin-bottom: 30px;*/
        margin: 10px auto;
        text-align: center;
    }
    .captionBox .captionTxt p {
          margin-top: 3.0rem;
    }
    .scrollDown {
/*        top: 10%;*/
        top: calc(100% - 130px);
        left: 50%;
    }
    @keyframes circlemove {
        0% {
            bottom: -0px;
        }
        100% {
            bottom: -70px;
        }
    }
    .scrollDown:after {
        height: 60px;
    }
}

/*_::-webkit-full-page-media, _:future, :root .scrollDown {
/*  left: 49%;
/*  top: 19%;
/*}
*/

_::-webkit-full-page-media, _:future, :root .scrollDown {
  top: 65px;
}
_::-webkit-full-page-media, _:future, :root .scrollDown:after {
/*  height: 420px;
*/
  height: 335px;
}
_::-webkit-full-page-media, _:future, :root @keyframes circlemove {
  0% {
    bottom: -0px;
  }
  100% {
    bottom: -300px;
  }
}
_::-webkit-full-page-media, _:future, :root .captionBox .captionTitle {
/*  margin: 110px auto 70px;
*/
   margin: 70px auto 60px;
}
_::-webkit-full-page-media, _:future, :root .captionBox .captionTxt {
/*  margin: 110px 0px 70px 30px;
*/
/*  margin: 70px 0px 70px 30px;
*/
  margin: 70px auto 60px;
  padding: 0 15px 0 15px;
}
_::-webkit-full-page-media, _:future, :root .scrollDown:after {
   margin-top: 0px;
}
@media(max-width:820px) {
  _::-webkit-full-page-media, _:future, :root .captionBox .captionTitle {
/*    margin: 200px auto 30px;
*/
    margin: 40px auto 30px;
    position: relative;
  }
  _::-webkit-full-page-media, _:future, :root .captionBox .captionTitle::before {
    bottom: -40%;
  }
  _::-webkit-full-page-media, _:future, :root .captionBox .captionTxt h3 {
    margin: 10px auto;
  }
  _::-webkit-full-page-media, _:future, :root .captionBox .captionTxt {
/*    margin: 30px auto 0px;
*/
    margin: 0px auto 150px;
  }
  
  _::-webkit-full-page-media, _:future, :root .scrollDown:after {
    height: 60px;
  }
  _::-webkit-full-page-media, _:future, :root .scrollDown {
/*    top: 10%;
*/
    left: 50%;
    top: calc(100% - 130px);
  }
}
@media(min-width:820px) and (max-width:1230px)  {
  _::-webkit-full-page-media, _:future, :root .captionBox .captionTxt {
    padding: 0 6.0rem 0 6.0rem;
  }
}
/*---------------------------------------------
トップページ　NEWS
---------------------------------------------*/


/* .news-container article:hover {
    opacity: 0.7;
} */

.news-container article:hover img {
    opacity: 0.7;
}

.news-container a {
    padding-bottom: .25em;
    background: linear-gradient(black, black) 0 100%/0 2px no-repeat;
    transition: background .4s;
    text-decoration: none;
}

.news-container a:hover {
    background-size: 100% 2px;
    /* opacity: 0.5; */
    color: #333333;
}

.container .news-container p {
    padding: 0;
}


/*---------------------------------------------
トップページ　256の土木遺産in九州 目録
---------------------------------------------*/

.mokuroku_box {
    height: 30.5em;
    border-radius: 25px;
    background-color: #ECEFF7;
    padding-top: 8px;
}

.mokuroku_title img {
    height: 45px;
    width: auto;
}
@media only screen and (max-width: 859px) {
  .mokuroku_title img {
    height: 30px;
    width: auto;
  }
}

.mokuroku_box p {
    padding: 0 20px;
}

.under_line_center {
    /* font-size: 35px; */
    text-decoration: underline;
    text-align: center;
    text-underline-offset: 0.4em;
}

@media only screen and (min-width: 860px) {
    .sub_mokuroku_box {
        display: flex;
        /* padding: 0 10px; */
        margin: 15px 0;
    }
}

@media only screen and (max-width: 859px) {
    .sub_mokuroku_box {
        display: flex;
        margin: 15px 0;
    }
}


/*.mokuroku_box img {
  margin-top: 15px;
}*/

.mokuroku_box .mokuroku_img_top {
    margin-top: 5px;
}

.mokuroku_box .mokuroku_img_under {
    margin-bottom: 20px;
}

.mokuroku_box img {
    width: 100%;
    max-height: 170px;
    height: 100%;
    object-fit: cover;
}

.mokuroku_box img:hover {
    opacity: 0.7;
}

.sub_mokuroku_box a:hover {
    text-decoration: none;
}

.sub_mokuroku_box a:hover~.circle-icon-yellowgreen {
    opacity: 0.7;
}

.sub_mokuroku_box a {
    padding-right: 15px;
    margin-top: 5px;
}

@media only screen and (max-width:860px) {
    .mokuroku_box {
        height: auto;
        padding-bottom: 30px;
        max-width: 430px;
    }
    .mokuroku_box img {
        max-height: 292px;
    }
    .sub_mokuroku_box {
        padding-left: 10px;
    }
}

/*---------------------------------------------
トップページ　旅ノート
---------------------------------------------*/
@media only screen and (min-width: 860px) {
  .tabinote img {
    width: calc(100% - 30px);
  }
}

@media only screen and (max-width: 859px) {
  .tabinote img {
    width: calc(100%);
  }
}



.tabinote img:hover {
  opacity: 0.7;
  transition: transform 0.4s;
}

/*---------------------------------------------
トップページ　BOOK
---------------------------------------------*/

.under_line {
    text-decoration: underline;
    text-underline-offset: 0.6em;
}

.sub_book_box {
    display: flex;
    margin: 15px 0;
}

.sub_book_box:hover {
    /*    opacity: 0.7; */
}

.book_img {
    height: 400px;
}

@media only screen and (min-width: 860px) {
    .book_img {
        margin-left: 70px;
    }
}


/*---------------------------------------------
トップページ　ARCHIVE
---------------------------------------------*/

.sub_archive_box {
    display: flex;
    margin: 15px 0;
}

.sub_archive_box:hover {
    /*    opacity: 0.7; */
}
/** Mac表示用 **/
_::-webkit-full-page-media, _:future, :root .list_ul li::before {
    display: inline-block;
    text-indent: 0;
    content: '●';
    -webkit-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    line-height: 1;
    width: 1.5em;
}

.list_ul li::before {
    display: inline-block;
    text-indent: 0;
    content: '●';
    -webkit-transform: scale(1.2, 1.2);
    transform: scale(1.2, 1.2);
    line-height: 1;
    width: 1.5em;
    padding-bottom: 5px;
}
_::-webkit-full-page-media,
_:future,
:root .list_ul li{
  padding-left: 24px;
}
_::-webkit-full-page-media,
_:future,
:root .list_ul li::before {
    transform: scale(1.8, 1.8);
    width: 1.0em;
}


.list_ul li.list_yellow::before {
    color: #E8B84E;
}

.list_ul li.list_pink::before {
    color: #E78C6B;
}

.list_ul li.list_green::before {
    color: #67956C;
}

.list_ul li.list_skyblue::before {
    color: #62A0C0;
}

.list_ul li.list_blue::before {
    color: #368ABC;
}

.list_ul li.list_red::before {
    color: #BA816A;
}
.logo-kaiho {
    padding: 0 20px;
}
.logo-kaiho img {
    width: 120px;
}
@media only screen and (max-width: 859px) {
  .logo-kaiho {
    padding: 0 5px;
  }
}
/*---------------------------------------------
トップページ　GUIDE
---------------------------------------------*/
@media only screen and (max-width: 859px) {
  .guide_img {
    display: block;
    text-align: right;
  }
}
/*---------------------------------------------
トップページ　矢印と円
---------------------------------------------*/

.circle-icon-format {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #FFF;
}


/* 位置調整用 */

.circle_mt {
    margin-top: 5px;
}


/* 256の土木遺産in九州 目録 */

.circle-icon-yellowgreen {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-yellowgreen.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}

.circle-icon-yellow {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-yellow.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}

.circle-icon-ocher {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-ocher.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}

.circle-icon-orange {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-orange.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}

.circle-icon-skyblue {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-skyblue.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}

.circle-icon-lightgreen {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-lightgreen.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}

.circle-icon-blue {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-blue.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}

.circle-icon-brown {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-brown.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}

.circle-icon-yellowgreen,
.circle-icon-yellow,
.circle-icon-ocher,
.circle-icon-orange,
.circle-icon-skyblue,
.circle-icon-lightgreen,
.circle-icon-blue,
.circle-icon-brown {
    margin-top: 8px;
}

@media only screen and (max-width: 859px) {
    .left_space {
        padding-left: 15px;
    }
    .right_space {
        padding-right: 15px;
    }
    .circle-icon-yellowgreen,
    .circle-icon-yellow,
    .circle-icon-ocher,
    .circle-icon-orange,
    .circle-icon-skyblue,
    .circle-icon-lightgreen,
    .circle-icon-blue,
    .circle-icon-brown {
        margin-top: 0;
    }
}


/* BOOK */

.circle-icon-green {
    width: 45px;
    height: 45px;
    background-image: url('/wp-content/themes/dobokuisan/common/topimg/icon-green.png');
    /* 画像のパスを指定 */
    background-size: contain;
    /* 画像を要素に合わせてカバーするように設定 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを無効化 */
    background-position: center;
    /* 画像を要素の中央に配置 */
}


/* 地域 */

.heading_right {
    font-size: 28px;
/*    margin-left: 7px;*/
    margin-left: 1rem;
    position: relative;
    padding: 1rem 2rem;
    margin-bottom: 2.6rem;
    margin-top: 30px;
}

.heading_right::before {
    content: "";
    position: absolute;
    top: 5px;
    left: -5px;
    width: 5px;
    height: calc(100% - 0px);
    background-color: #252525;
    border-radius: 4px;
}

.heading_right h3 {
    margin: 5px 0;
    font-size: 2.6rem;
}
.pref_area {
  padding-left: 3.4rem;
}

.list-item {
    display: flex;
/*    padding: 5px 0;
*/
    padding: 8.5px 0;
    flex-wrap: nowrap;
    /* align-items: center; */
}

.list-item span {
    margin-right: 5px;
    transition: color 0.3s;
}
_::-webkit-full-page-media,
_:future,
:root .list-item span {
    margin-right: 15px;
}
.list-item a {
    display: block;
    text-decoration: none;
    color: #333333;
    position: relative;
    transition: color 0.3s;
    /*padding-right: 3em;*/
}
@media only screen and (max-width: 859px) {
  .list-item-toptiiki {
      display: flex;
  /*    padding: 5px 0;
  */
      padding: 8.5px 0;
      flex-wrap: nowrap;
      /* align-items: center; */
  }

  .list-item-toptiiki span {
      margin-right: 5px;
      transition: color 0.3s;
  }

  .list-item-toptiiki a {
      display: block;
      text-decoration: none;
      color: #333333;
      position: relative;
      transition: color 0.3s;
      /*padding-right: 3em;*/
      padding-left: 23px;
  }
  .list-item-toptiiki:before{
    position: absolute;
    /* display: inline-block; */
    content: '';
    height: 20px;
    width: 20px;
    border-radius: 50vh;
    background-color: #9E9354;
    -webkit-transform: scale(0.8, 0.8);
    transform: scale(0.8, 0.8);
    top: 1.0em !important;
/*    left: 0;*/
  }
  .typeBox .list-item-toptiiki a:hover {
    text-decoration: none !important;
  }
  .typeBox .list-item-toptiiki a::after {
      position: absolute;
      left: -1px;
      content: '';
      width: 100%;
      height: 3px;
      background: #333333;
      bottom: -2px;
      transform: scale(0, 1);
      transform-origin: right top;
      transition: transform 0.4s;
      border-radius: 50vh;
  }

  .typeBox .list-item-toptiiki a:hover::after {
      transform: scale(1, 1);
      transform-origin: left top;
  }
  .list-item-toptiiki a:hover+span {
      color: #81A15A;
  }
}
.typeBox .list-item a:hover {
    text-decoration: none !important;
}

.typeBox .list-item a::after {
    position: absolute;
    left: -1px;
    content: '';
    width: 100%;
    height: 3px;
    background: #333333;
    bottom: -2px;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s;
    border-radius: 50vh;
}

.typeBox .list-item a:hover::after {
    transform: scale(1, 1);
    transform-origin: left top;
}


/*.list-item a::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background-color: transparent;
  transition: background-color 0.3s;
  width: 0%; デフォルトでは線は見えない 
  transition: width 0.3s ease;
}
.list-item a:hover::after {
  width: 120%; ホバー時には線を長くしている
  background-color: #333333;
}*/

.list-item a:hover+span {
    color: #81A15A;
}

.text-spaceLong {
/*    padding-left: 3em;
*/
    padding-left: 4.5em;
}

.text-space {
/*    padding-left: 2em;
*/
    padding-left: 3.5em;
}

@media only screen and (max-width: 859px) {
  .text-space {
    padding-left: 3.5em;
  }
}



/* 分野 */


/* .list_ul li .list-item{
  line-height: 2;
  text-indent: 0;
  margin-left: 0;
  padding-left: 0;
} */

.list_circle_item::before {
    display: inline-block;
    text-indent: 0;
    content: '●';
    /* -webkit-transform: scale(1.2, 1.2); */
    -webkit-transform: scale(1.3, 1.3);
    transform: scale(1.2, 1.2);
    line-height: 1;
    width: 1.5em;
}

.list_circle_yellowgreen::before {
    color: #AFB050;
}

.list_circle_yellow::before {
    color: #E8B84E;
}
_::-webkit-full-page-media, _:future, :root .list_circle_item::before {
  display: inline-block;
  text-indent: 0;
  content: '●';
  transform: scale(2.2, 2.2);
  line-height: 1;
  width: 1.0rem;
  padding-bottom: 5px;
}
.list_circle_gold::before {
    color: #B28A35;
}

.list_circle_pink::before {
    color: #E78C6B;
}

.list_circle_green::before {
    color: #67956C;
}

.list_circle_skyblue::before {
    color: #62A0C0;
}

.list_circle_blue::before {
    color: #368ABC;
}

.list_circle_red::before {
    color: #BA816A;
}


/* RANKING */

.ranking-container {
  position: relative;
}

.ranking-container .rankingItem {
  position: relative;
  display: inline-block;
}

.ranking-container .ranking-number {
  position: absolute;
  top: 5px;
  left: 20;
  background-color: #fff;
  color: black;
  padding: 2px 10px 2px 10px;
  font-size: 0.8em;
}
.rankingItem {
    margin-bottom: 10px;
/*    padding-left: 1.5em;*/
    padding-left: 1rem;
}

.rankingItem img {
    /* width: 100%; */
/*    max-height: 100px;*/
/*    height: 100%;*/
    height: auto;
    object-fit: cover;
/*    max-width: 130px;*/
    max-width: 160px;
    width: 100%;
}
.rankingItem a {
    display: block;
    top: 0.5em;
    position: relative;
    text-decoration: none;
/*    max-width: 130px;*/
    max-width: 160px;
    width: 100%;
    font-size: 1.1rem;
}
@media only screen and (max-width: 859px) {
  .rankingItem a {
     width: 80%;
     max-width: 80%;
     height: auto;
     font-size: 1.6rem;
  }
  .rankingItem img {
     width: 80%;
     max-width: 80%;
     height: auto;
  }
 .ranking-container .ranking-number {
   position: absolute;
   top: 8px;
   left: 20;
   background-color: #fff;
   color: black;
   padding: 2px 15px 2px 15px;
   font-size: 1.2em;
 }
}



.rankingItem a:hover {
    color: #333333;
/*    max-width: 130px;
*/
}

.rankingItem a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #333333;
    bottom: -4px;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s;
    border-radius: 50vh;
    max-width: 160px;
}

.rankingItem a:hover::after {
    transform: scale(1, 1);
    transform-origin: left top;
    max-width: 160px;
}

.page-item {
    display: flex;
    padding: 5px 0;
    flex-wrap: nowrap;
}

.page-item span {
    /* margin-right: 5px; */
    transition: color 0.3s;
}

.page-item a {
    display: block;
    /* text-decoration: none; */
    color: #333333;
    position: relative;
    transition: color 0.3s;
    text-underline-offset: 10px;
    text-decoration-thickness: 1px;
}


/* .sub_mokuroku_box .page-item a:hover, */

.sub_mokuroku_box:hover .page-item a,
{
    text-decoration: none !important;
}

.sub_mokuroku_box .page-item-right a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #333333;
    bottom: -6px;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s;
    border-radius: 50vh;
}

.sub_mokuroku_box:hover .page-item-right a::after {
    transform: scale(1, 1);
    transform-origin: left top;
    bottom: -6px;
}

.no_line {
    text-decoration: none !important;
}

.sub_mokuroku_box:hover .circle-icon-format {
    opacity: 0.7;
}

.sub_book_box .page-item a:hover,
.sub_archive_box .page-item a:hover {
    text-decoration: none !important;
}

.sub_book_box .page-item-right a::after,
.sub_archive_box .page-item-right a::after {
    position: absolute;
    left: 0;
    content: '';
    width: 100%;
    height: 3px;
    background: #333333;
    bottom: -3px;
    transform: scale(0, 1);
    transform-origin: right top;
    transition: transform 0.4s;
    border-radius: 50vh;
}

.sub_book_box:hover .page-item-right a::after,
.sub_archive_box:hover .page-item-right a::after {
    transform: scale(1, 1);
    transform-origin: left top;
    bottom: -3px;
}

.sub_book_box:hover .circle-icon-format,
.sub_archive_box:hover .circle-icon-format {
    opacity: 0.7;
}

.sub_archive_box img {
    max-width: 75%;
}

@media only screen and (min-width: 860px) {
    .sub_archive_box img {
/*        margin-top: 200px;*/
        margin-top: 45px;
        margin-left: 75px;
    }
}
@media only screen and (max-width: 859px) {
    .sub_archive_box img {
      max-width: 65%;
    }
}
.u-anime-scrollIn {
    opacity: 0;
    transform: translateY(20px);
    transition: all 1s ease-out;
}

.u-anime-scrollIn.active {
    opacity: 1;
    transform: translateY(0);
}


/* BOOK */

.book-width {
    max-width: 870px;
    width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    /* padding-left: 4.0em; */
    padding-bottom: 10px;
}

.book-container {
/*    background-color: #F5F0E3;
*/
    background-color: #f3eee1;
    margin-left: auto;
    margin-right: auto;
    padding: 1em 0;
    width: 100%;
}

@media only screen and (max-width: 859px) {
    .book-width {
        padding-left: 15px;
    }
    .book-container {
        padding-left: 15px;
        padding-right: 15px;
        margin-top: 20px;
    }
}

@media only screen and (min-width: 860px) {
    .book-container {
        /* max-width: 1230px; */
        padding-left: 30px;
        padding-right: 30px;
    }
}

@media only screen and (min-width:2000px) {
    .book-width {
        padding-left: 8.0em;
    }
}


/* 地域menu */

.place-container .megaSublist-item .listLine a {
    position: relative;
/*    padding-left: 25px;*/
    padding-left: 10px;
    /* 疑似要素のスペースを確保 */
}

@media only screen and (min-width: 860px) {
    .place-container .megaSublist-item .listLine a::before {
/*        top: 0.1em !important;*/
/*        top: 2px !important;*/
        top: 3px !important;
    }
    _::-webkit-full-page-media,
    _:future,
    :root .place-container .megaSublist-item .listLine a::before {
        top: -2px !important;
      display: inline-block;
      text-indent: 0;
      content: '●';
      transform: scale(2.2, 2.2);
      line-height: 1;
      width: 1.0rem;
      padding-bottom: 5px;
    }
    .place-container .listLine {
        padding: 10px;
    }
}

@media only screen and (max-width: 859px) {
    .place-container .megaSublist-item .listLine a::before {
/*        position: absolute;*/
        /* display: inline-block; */
/*        content: '';
/*        height: 20px;
/*        width: 20px;
/*        border-radius: 50vh;
/*        background-color: #9E9354;
/*        -webkit-transform: scale(0.8, 0.8);
/*        transform: scale(0.8, 0.8);
/*        left: 0;
/*        top: 10%;
*/
        display: inline-block;
        text-indent: 0;
        content: '●';
        /* -webkit-transform: scale(1.2, 1.2); */
        -webkit-transform: scale(1.3, 1.3);
        transform: scale(1.2, 1.2);
        line-height: 1;
        width: 1.5em;
        color: #9E9354;
        padding-bottom: 5px;
    }
    _::-webkit-full-page-media,
    _:future,
    :root .megaSublist-item .listLine a::before {
        top: -2px !important;
      display: inline-block;
      text-indent: 0;
      content: '●';
      transform: scale(2.2, 2.2);
      line-height: 1;
      width: 1.5rem;
      padding-bottom: 5px;
    }
    .place-container .listLine {
        padding: 10px 0px 10px 20px;
    }
}

@media (min-width: 860px) {
/*    .place-container .megaSublist-item .listLine a {
/*        text-decoration: none;
/*    }
*/
    .place-container .megaSublist-item .listLine a::after {
        position: absolute;
        left: 3px;
        content: '';
        width: 100%;
        height: 2px;
        background: #333333;
        bottom: -8px;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform 0.4s;
        border-radius: 50vh;
    }
}

@media (min-width: 860px) {
    .place-container .megaSublist-item .listLine a:hover::after {
        transform: scale(1, 1);
        transform-origin: left top;
    }
}


/* やじるし */

.arrow_green {
    /* display: inline-block; */
    color: #67956C;
    padding-left: 6px;
}

.arrow_blue {
    color: #62A0C0;
    padding-left: 6px;
}

.arrow_yellow {
    color: #E8B84E;
    padding-left: 6px;
}

.footer-img {
    z-index: 9999;
    position: relative;
    height: auto;
    bottom: -2px;
}

@media (min-width: 860px) {
    .container.pl_0_pc {
        padding-right: 85px;
    }
}

.right_menu {
    margin-left: 1.2% !important;
}

.news-container img {
/*    max-width: 90%;
*/
    max-width: 100%;
}


a.link_deco {
  text-decoration: none!important;
  position: relative;
}

a.link_deco::after {
position: absolute;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333333;
  bottom: -4px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.4s;
  border-radius: 50vh;
}
a.link_deco:hover {
  color: #333333!important;
}

@media only screen and (min-width: 1170px) {
a.link_deco:hover::after {
    transform: scale(1, 1);
    transform-origin: left top;
  }



}