
@charset "UTF-8";

/*---------------------------------------------
リセット
---------------------------------------------*/
html {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    font-size: 62.5%;
}
body{
    font-size:1.6rem;
    line-height: 1.38;
    letter-spacing: .05em;
}
body, div, dl, dt, dd, ul, ul li, h1, h2, h3, h4, h5, h6,
pre, form, fieldset, input, textarea, p, blockquote, th, td,
section, nav, article, aside, header, address,
figure, figcaption {
    margin: 0;
    padding: 0;
}
address, caption, cite, code, dfn, em, strong, th, var {
    font-style: normal;
    font-weight: normal;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
q:before,
q:after {
    content: '';
}
object,
embed {
    vertical-align: top;
}
legend {
    display: none;
}
h1, h2, h3, h4, h5, h6 {
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 1.3;
}
img, abbr, acronym, fieldset {
    border: 0;
}
img {
    max-width: 100%;
    height: auto;
    vertical-align: top;
    -ms-interpolation-mode: bicubic;
}
ul li {
    list-style-type: none;
}
*,
*:before,
*:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

body {
    counter-reset: number 0;
    background: url(../images/bg_gry.gif);
    color: #0a0c0d;
    text-align: left;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    font-weight: 500;
    font-family: "YakuHanJP","Arial", '游ゴシック体', 'Yu Gothic', YuGothic, "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, sans-serif;
}

@media all and (-ms-high-contrast:none){
    *::-ms-backdrop, body {
        font-weight: 600;
    }
}
/*貂明朝*/
.mincho {
    font-family: "ten-mincho", serif;
}

/*---------------------------------------------
リンク
---------------------------------------------*/
a {
    text-decoration: none;
    color: #0a0c0d;
    -webkit-transition: color .2s linear;
    transition: color .2s linear;
}
html:not(.sp) a:hover {
    opacity: .8
}

/*---------------------------------------------
強制指定
---------------------------------------------*/
/* ----- 上下左右中央寄せ ----- */
.txt_l {
    text-align: left;
}

.txt_c {
    text-align: center;
}

.txt_r {
    text-align: right;
}

.top {
    vertical-align: top !important;
}

.middle {
    vertical-align: middle !important;
}

.bottom {
    vertical-align: bottom !important;
}

/*---------------------------------------------
[background]  背景色
---------------------------------------------*/
.bg_gry{
    background: url(../images/bg_gry.gif);
}
.bg_wh{
    background: url(../images/bg_wh.gif);
}
.bg_bl{
    background: url(../images/bg_bl.gif);
}
.bg_gn{
    background: url(../images/bg_gn.gif);
}
/* ----- 文字サイズ ----- */
:root {
    --f52: 5.2rem;/*---52px--*/
    --f32: 3.2rem;/*---32px--*/
    --f24: 2.4rem;/*---24px--*/
    --f18: 1.8rem;/*---18px--*/
    --f14: 1.4rem;/*---14px--*/
    --f13: 1.3rem;/*---13px--*/
    --f12: 1.2rem;/*---12px--*/
    --f10: 1rem;/*---10px--*/
}
.f52{font-size: var(--f52);}
.f32{font-size: var(--f32);}
.f24{font-size: var(--f24);}
.f18{font-size: var(--f18);}
.f14{font-size: var(--f14);}
.f13{font-size: var(--f13);}
.f12{font-size: var(--f12);}
.f10{font-size: var(--f10);}
.fsl{
    font-size: 3.5vw;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.fsm{
    font-size: 1.8rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media screen and (max-width: 1440px) {
    .fsl{
        font-size: 3.5vw;
    }

    .fss{
        font-size: 1.5rem;
    }

}
@media screen and (max-width: 1024px) {
    .fsl{
        font-size: 4.2rem;/*42px*/
    }
}
    @media screen and (max-width: 768px) {
        .fsl{
            font-size: 2.8rem;/*42px*/
        }

        .fsm{
            font-size: 1.6rem;/*16px*/
        }
        .fss{
            font-size: 1.4rem;
        }
    }
/*---------------------------------------------
[color]  カラー
---------------------------------------------*/
:root {
    --bk: #0a0c0d;
    --bl: #76a5b9;
    --lg: #f3f3f3;
    --dg: #959595;
    --wh: #ffffff;
    --or: #fb6c3a;
}
.txt_wh{
    color: var(--wh)!important;
}
.txt_bl{
    color: var(--bl);
}
.txt_or{
    color: var(--or);
}
/* ----- 文字装飾 ----- */

.winChrome .normal {
    font-weight: 500 !important;
}
.bold {
    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* ----- 幅 ----- */
.w10p {
    width: 10% !important;
}

.w20p {
    width: 20% !important;
}

.w30p {
    width: 30% !important;
}

.w40p {
    width: 40% !important;
}

.w50p {
    width: 50% !important;
}

.w60p {
    width: 60% !important;
}

.w70p {
    width: 70% !important;
}

.w80p {
    width: 80% !important;
}

.w90p {
    width: 90% !important;
}

.w100p {
    width: 100% !important;
}

/* ----- 下余白 ----- */
.mb0 {
    margin-bottom: 0px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 60px;
}

.mb70 {
    margin-bottom: 70px;
}

.mb80 {
    margin-bottom: 80px;
}

.mb90 {
    margin-bottom: 90px;
}

.mb100 {
    margin-bottom: 100px;
}

/*---------------------------------
clearfix
---------------------------------*/
/* For modern browsers */
.cf:before,
.cf:after {
    content: " ";
    display: table;}
.cf:after {
    clear: both;}
/* For IE 6/7 only */
.cf {
    *zoom: 1;}
/*---------------------------------------------
[CL] カラム
---------------------------------------------*/
.col-set {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(100% + 30px);
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.col-set_no {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.no-gutter {
    width: 100%;
}

.row .no-gutter {
    margin-bottom: 50px;
}

.col1-2 {
    width: calc(50% - 30px);
}

.col1-3 {
    width: calc(33.33333333% - 30px);
}

.col2-3 {
    width: calc(66.66666666% - 30px);
}

.col1-4 {
    width: calc(25% - 30px);
}

.col3-4 {
    width: calc(75% - 30px);
}

.col1-5 {
    width: calc(20% - 30px);
}

.col1-6 {
    width: calc(16.66666666%  - 5px);
}
.col1-7 {
    width: calc(14.2857%  - 5px);
}

.no-gutter > .col1-2 {
    width: 50%;
}

.no-gutter > .col1-3 {
    width: 33.33333333%;
}

.no-gutter > .col2-3 {
    width: 66.66666666%;
}

.no-gutter > .col1-4 {
    width: 25%;
}

.no-gutter > .col3-4 {
    width: 75%;
}

.no-gutter > .col1-5 {
    width: 20%;
}

.no-gutter > .col1-6 {
    width: 16.66666666%;
}
.no-gutter > .col1-7 {
    width: 14.2857%;
}
.col1-2,
.col1-3,
.col2-3,
.col1-4,
.col3-4,
.col1-5 {
    margin-right: 30px;
}
.col1-6,.col1-7 {
    margin-right: 5px;
}
.no-gutter > .col1-2,
.no-gutter > .col1-3,
.no-gutter > .col2-3,
.no-gutter > .col1-4,
.no-gutter > .col3-4,
.no-gutter > .col1-5,
.no-gutter > .col1-6,
.no-gutter > .col1-7{
    margin-right: 0;
}

.col-set > * > :last-child {
    margin-bottom: 0 !important;
}
.jcs{
    justify-content: space-between;
}
.jcc{
    justify-content: center;
}
.aic{
    align-items: center;
}
.aib{
    align-items: baseline;
}
.aie{
    align-items: flex-end;
}
/*---------------------------------------------
レイアウト
---------------------------------------------*/
.inner_l{
    padding: 0 6.9444%
}
.inner_m{/*下層*/
    max-width: 1240px;
    margin: 70px auto;
}

.section_wrap,.site_sub{
    padding: 4.5vw 6.9444% 6.5vw;
}
.sp{display: none!important;}
/*---------------------------------------------
[HD] 見出し
---------------------------------------------*/
.ttl_01{
    font-size: var(--fsll);
    text-align: center;
    line-height: 1.2;
    margin-bottom: 5px;
}
.ttl_01_sub{
    font-size: var(--fss);
    text-align: center;
    color: var(--dgry);
    letter-spacing: .08em;
}
.site_main .ttl_02{
    text-align: center;
}
.site_sub .ttl_02{
    text-align: left;
    margin-bottom: 30px;
}
.ttl_03{
    font-size: 4rem;
}
.ttl_03 .main_ttl{
    font-size: 4rem;
    margin-bottom: 24px;
}
.ttl_03 .sub_ttl{
    font-size: 1.6rem;
}
/*---------------------------------------------
パーツ
---------------------------------------------*/
/*矢印*/
.arrow_r,.arrow_l{
    position: relative;
}
.arrow_l{
padding-left: 25px;
}
.arrow_r:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    right: -20px;
    top: 5px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        45deg
    );
    transform: rotate(
        45deg
    );
    transition: all 0.12s ease-in 0s;
}
.arrow_r:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: -2px;
    right: -28px;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
.arrow_l:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    left: 8px;
    top: 6px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        -135deg
    );
    transform: rotate(
        -135deg
    );
    transition: all 0.12s ease-in 0s;
}
.arrow_l:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: 0px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}

/*hover*/
.info__box:hover .arrow_r:before,
.np_article a:hover .arrow_r:before,
.project_wrap > a:hover .arrow_r:before
{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;

}
.info__box:hover .arrow_r:after,
.np_article a:hover .arrow_r:after,
.project_wrap > a:hover .arrow_r:after{
    background: var(--bl);
    border: 1px solid var(--bl);
}

/*外部リンク*/

.externallink a,.post_body blockquote a {
    position: relative;
    width: 12px;
    height: 14px;
    background-size: cover;
    vertical-align: 2px;
    color: #317fa3;
}
.externallink a::before, .externallink a::after,
.post_body blockquote a::before, .post_body blockquote a::after{
    content: '';
    position: absolute;
    top: 0;
    right: -13px;
    width: 10px;
    height: 10px;
    border-style: solid;
    border-color: #317fa3;
    border-radius: 1px;
}
.externallink a::after,
.post_body blockquote a::after {
    border-width: 1px 1px 0 0;
    right: -16px;
}
.externallink a::before,
.post_body blockquote a::before {
    margin-top: 3px;
    margin-left: 1px;
    border-width: 1px;
}
/*ボタン*/
.btn_01{
    padding: 15px;
    border-radius: 10px;
    text-align: center;
    background: var(--bk);
    position: relative;
    color: #fff;
    display: block;
    width: 45%;
    margin: 0 auto;
}
.btn_01:after{
    content: "";
    width: 10px;
    height: 10px;
    position: absolute;
    top: 50%;
    right: 0;
    margin: auto;
    box-sizing: border-box;
    border: 5px solid transparent;
    border-left: 8px solid #fff;
    transform: translate(-50%,-50%);
}
.btn_02{
    padding: 30px 10px;
    border-radius: 10px;
    text-align: center;
    background: #fff;
    position: relative;
    display: block;
    margin: 0 auto;
    font-weight: bold;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.btn_02:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    right: 28px;
    top: 36px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        45deg
    );
    transform: rotate(
        45deg
    );
    transition: all 0.12s ease-in 0s;
}
.btn_02:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: 30px;
    right: 20px;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
.link-icon-external::before, .link-icon-external::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 10px;
    height: 10px;
    border-style: solid;
    border-color: #333;
    border-radius: 1px;
}
.link-icon-external::after {
    border-width: 0 0 1px 1px;
}
.link-icon-external::before {
    margin-top: -3px;
    margin-left: 3px;
    border-width: 1px;
}

/*cta*/
.cta_line{
    max-width: 1000px;
/*    width: 80%;*/
    margin: 0 auto;
}
.cta_line .logo{
    background: #07b53b;
    width: 38.1048%;
    position: relative;
    border-radius: 10px 0 0  10px;
}
.cta_line .logo>  div{
    padding: 65px 20px 20px;
}
.cta_line .logo .logo-line{
width: 70%;
    padding-right: 10px;
}
.cta_line .logo .hanasoko_qr{
    width: 30%
}
.cta_line .logo .accountname{
    color: #fff;
    font-size: 2rem;
    text-align: center;
}
.cta_line .txt{
    width: 61.8952%;
    padding: 45px 26px 18px 63px;
    border-radius: 0 10px 10px 0;
    background-image: url(../images/i-watage.png), url(../images/i-tanpopo.png), url(../images/bg_wh.gif);
    background-position: right 20px top 20px, left 20px bottom 15px, right 10% bottom 10%;
    background-size: 34px auto, 51px auto, 100% auto;
    background-repeat: no-repeat, no-repeat, repeat;
}
.cta_line .txt .ttl{
    color: #07b53b;
    margin-bottom: 12px;
}
.line_ye{
    background: linear-gradient(transparent 0%, #f7fd8f 0%);
}
.cta_line .btn_01{
    background: #07b53b;
}
/*検索窓*/

.searchform {
    position: relative;
}

.searchfield {
    width: 90%;
    margin: 0 auto;
    font-size: 1.6rem;
    background: #fff;
    color: var(--dg);
    padding: 15px 50px;
    border-radius: 30px;
    border: none;
}

.searchsubmit {
    background: url(../images/ico-search.svg)no-repeat;
    position: absolute;
    top: 0;
    right: 8%;
    margin-top: 10px;
    padding: 0;
    cursor: pointer;
    border: none;
}

.searchsubmit:hover {
    opacity: .6;
}
/*---------------------------------------------
エフェクト
---------------------------------------------*/
.effect-fade {
    opacity : 0;
    transform : translate(0, 100px);
    transition : all 500ms;
}
.effect-fade.effect-scroll {
    opacity : 1;
    transform : translate(0, 0);
}
/*---------------------------------------------
上下左右中央
---------------------------------------------*/
.center{
    position: absolute;
    z-index: 999;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
}
/*---------------------------------------------
header
---------------------------------------------*/

.header_wrap{
    background: #fff;
    padding: 16px 0 15px;
}
.site-title{
    margin-right: 2rem;
}
.header_l{
    width: calc(100% - 175px);
    padding-left: 6.9%;
}
.header_r{
    width: 130px;
    position: relative;
    margin-right: 20px
}
.ico-sns a {
    padding: 17px 6px;
    display: inline-block;
}
.ico-sns img{
    height: 23px;
}
/*ナビゲーション*/
/*menu*/

#g-nav{
    position:fixed;
    z-index: -1;
    opacity: 0;
    top:0;
    left: 0;
    width:100%;
    height: 100vh;
    background: url(../images/bg_bl.gif);
    transition: all 0.3s;
}

/*アクティブクラスがついたら透過なしにして最前面へ*/
#g-nav.panelactive{
    opacity: 1;
    z-index:999;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    display: none;
}

#g-nav.panelactive ul {
    display: block;
}
#g-nav li a{
    padding:10px;
    display: block;
}
.g_nav_l{
    padding: 20px 0px 80px 20px;
    height: 100vh;
    position: fixed;
    left: 0;
}
.g_nav_l .img{
    width: 100%;
}
.g_nav_r{
    padding: 80px 6.9% 80px 30px;
    margin-left: 50%;
}

.contactbtn a {
    padding: 16px 56px;
    border: 1px solid #000;
    border-radius: 3px;
    display: block;
}
#g-nav.panelactive .my_term-archive {
    display: flex;
    flex-wrap: wrap;
}
#g-nav.panelactive .my_term-archive a{
    border: 1px solid var(--dg);
    margin-right: 5px;
    margin-bottom: 5px;
    border-radius: 3px;
}
.g_nav_contents ul{
    margin-left: 20px;
}
.g_nav_contents ul a{
    color: rgba(10, 12, 13, 0.72);
    position: relative;
    padding-left: 10px;
    font-size: 1.5rem;
}
.g_nav_contents ul a:before,.menu_ttl:before{
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    width: 5px;
    height: 1px;
    background: var(--bk);
}
.menu_ttl{
    position: relative;
    padding-left: 9px;
}

/*========= ボタンのためのCSS ===============*/
.openbtn1{
    position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
    top:16px;
    right: 20px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #fff;
}

/*×に変化*/
.openbtn1 span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 13px;
    height: 1px;
    background-color: var(--bk);
    width: 45%;
}

.openbtn1 span:nth-of-type(1) {
    top:18px;
}

.openbtn1 span:nth-of-type(2) {
    top:25px;
}

.openbtn1 span:nth-of-type(3) {
    top:32px;
}

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
    opacity: 0;
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
/*---------------------------------------------
mainvisual
---------------------------------------------*/
.mainvisual{
    padding: 10px 20px 50px 6.9444%;
}
.mainvisual .txt_area{
    width: 39.6vw;
    padding-top: 60px;
}
.mainvisual .img{
    width: calc(100% - 39.6vw);
}
.ttl_02_l{
    font-size: 3.2rem;
    letter-spacing: .1em;
}
/*---------------------------------------------
気になる用語
---------------------------------------------*/
#t_taglist{
    padding: 0 6.9444%;
}
.t_taglist_wrap{
    background: #fff;
    border-radius: 30px;
    padding: 40px 60px 40px 0;
max-width: 1500px;
    margin: 0 auto 30px;
}
.t_taglist_wrap .ttl_02{
    width: 350px;
}
.t_taglist_wrap .swipe_area{
    width: calc(100% - 350px);
}
.t_taglist ul{
    display: flex;
    flex-wrap: wrap;
}
.t_taglist ul li{
    margin: 0 1.2rem 1.2rem 0;
    }
.t_taglist ul li a{
    padding: 1.6rem 2.4rem;
    background: var(--bl);
    color:  #fff;
    font-weight: bold;
    border-radius: 10px;
    font-size: 2rem;
    display: block;
}
/*---------------------------------------------
目次
---------------------------------------------*/
#information{
    max-width: 1200px;
    margin: 0 auto 60px;
}
#information .info_l{
    border-right: 1px solid var(--dg);
    border-left: 1px solid var(--dg);
    padding: 40px 3% 10px;
}
#information .info_r{
    border-right: 1px solid var(--dg);
    padding: 1px 3%;
}
#information .arrow_r{
margin-bottom: 24px;
}

#information .info_r .img{
    width: 110px;
    text-align: center;
}

#information .info_r .txt_area{
    width: calc(100% - 140px);
    padding: 10px 0;
}
#information .info_r .info__box{
    border-bottom: 1px solid var(--dg);
    padding: 5px 0;
}
#information .info_r .info__box:last-child{
    border-bottom: none;
}
#information .info__box_ttl{
    margin-bottom: 20px;
}
#information .info__box.hananowa .img{
    width: 135px;
}
/*---------------------------------------------
新着ポスト
---------------------------------------------*/
#newpost .bg_bl{
    padding: 60px 0;
}
#newpost .btn_02 {
    width: 50%;
}
#p_hagure{
    max-width: 1500px;
    margin:0 auto;
}
.np_tab{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 992px;
    margin: 0 auto;
}
.np_tab li{
    width: 33.3333%;
    text-align: center;
}
.np_tab li a{
    display: block;
    background:#fff;
    margin:0;
    padding: 24px 20px 16px;
    font-size: 1.8rem;
    border-radius: 30px 30px 0 0;
}
.np_tab li.active a{
    background: url(../images/bg_bl.gif);
}
.np_area {
    display: none;
    opacity: 0;
}
.np_area.is-active {
    display: block;
    animation-name: displayAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
}
.np_area_wrap{
    margin-bottom: 30px;
}
@keyframes displayAnime{
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
.np_article{
    border-left: 1px solid var(--dg);
    padding: 0 30px;
    margin-bottom: 30px;
}
.np_article:nth-of-type(3n){
    border-right: 1px solid var(--dg);
}
.np_article:last-child{
    border-right: 1px solid var(--dg);
}
.np_ttl{
    width: 80%;
    margin-bottom: 4rem;
}
.np_article .arrow_r:after{

}
.np_article img{
    border-radius: 10px;
}

/*---------------------------------------------
project
---------------------------------------------*/
.project_wrap{
    border: 10px solid #b2cfc8;
    border-radius: 30px;
    padding: 140px 7vw 45px;
    max-width: 1200px;
    margin: 0 auto 2vw;
}
.project_ttl {
    margin-top: -230px;
}
.project_ttl .img{
    position: relative;
    z-index: 1;
}
.project_ttl .txt{
    background: url(../images/bg_wh.gif);
    width: calc(100% - 300px);
    margin-left: -6px;
    padding: 35px 0 0 27px;
    position: relative;
    z-index: 0;
}
.project_wrap .image{
    background: url(../images/bg_t_hagure.png)no-repeat;
    background-size: contain;
    position: relative;
    padding: 50px 0px 0;
    max-width: 1200px;
    margin: 0 auto;
}
.project_txt_no{
    background: var(--bk);
    color: #fff;
    font-size: 2.4rem;
    margin-bottom: 10px;
    padding: 0 0 0 3px;
    display: inline;
}

.project_box1 .project_txt{
    order: 2;
    padding: 0 40px;
}
.project_box1 .project_img{
    order: 1;
}
.project_box2{
    display: inline;
    text-align: right;
}
.project_box2 a{
    flex-direction: column;
    margin-top: -228px;
}
.project_box2 .project_txt{
    order: 2;
    padding: 0 40px;
}
.project_box2 .project_img{
    order: 1;
    padding-left: 100px;
}
.project_box3 {
    margin-left: 10px;
    margin-top: -70px;
}
.project_wrap > a{
    display: block;
}
.bnr_onlinestore{
    max-width: 1000px;
    margin: 0 auto;
}
/*---------------------------------------------
はなそうこくん
---------------------------------------------*/
#hanasoko-kun{
    padding: 4.5vw 15.5556%;
}
.flow_box{
    width: 32.4603%;
    padding: 0;
    position: relative;
}
.flow_box img{
   width: 100%;
}
#hanasoko-kun .bx-prev{
    display: none!important;
}
.slider-next{
    position: absolute;
    right: 0;
    bottom: 0;
}
.bx-viewport {
    max-height: 475px!important;
}
.slider-next:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    right: -20px;
    top: 7px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        45deg
    );
    transform: rotate(
        45deg
    );
    transition: all 0.12s ease-in 0s;
}
.slider-next:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: 0px;
    right: -28px;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
#slides-pager{
    margin-bottom: 50px
}
#slides-pager li{
    margin-right: 5px;
}
#slides-pager a{
    border: 1px solid var(--bk);
    padding: 10px 16px;
    border-radius: 5px;
    font-size: 1.8rem;
    display: block;
}
#slides-pager a.active{
    background: var(--bk);
    color: #fff;
}
.flow_wrap{
    justify-content: center;
}
.flow_wrap .txt{
    padding: 17px 0 0 70px;
}
/*---------------------------------------------
花結び
---------------------------------------------*/
#hanamusubi{
    padding: 4.5vw 0;
}
.hananowa_ttl{
    padding-right:15.5556%;
    padding-left:15.5556%;
}
.hananowa_ttl img{
    width: 300px;
}
.hananowa_ttl .txt{
    width: calc(100% - 320px);
    padding: 0 0 0 30px;
}
.furigana {
    font-size: 13px;
}
.ig_area{
    padding-right:6.9444%;
    padding-left:6.9444%;
}
.ig_area_ttl{
    background: #fff;
    padding: 20px 50px;
    align-items: center;
    border-radius: 30px 30px 0 0;
    border-bottom: 1px solid #dcdcdc;
}
.ig_area_ttl >div{
    width: 250px;
}
.ig_area_ttl h3{
    margin-left: 10px;
}
.ig_area_ttl a{
    display: block;
}
.ig_area_img{
    background: #fafafa;
    padding: 45px 210px;
    border-radius: 0 0 30px 30px;
}
.insta-gallery-actions {
    display: none;
}
.t_people{
    padding: 70px 6.9444%;
}
.people_list{
    margin-bottom: 30px;
}
.people_list li{
    border-left: 1px solid var(--dg);
    padding: 8px 30px;
    margin-bottom: 30px;
    align-items:stretch;
}
.people_list li:nth-of-type(2n){
    border-right: 1px solid var(--dg);
}

.people_card .img{
    width: 36.8%;
}
.people_card .img img{
    border-radius: 50%;
}
.people_card .txt{
    width: 63.2%;
    padding-left: 30px
}
.people_card .p_txt{
    font-weight: 500;
    font-size: 14px;
}
.people_card .p_name .furigana{
    font-weight: normal;
    font-size: 11px;
}
.sns_url{
text-align: right;
}
.sns_url a {
    display: inline-block;
    vertical-align: middle;
    padding: 0 2px;
}
.sns_url a img {
    width: 27px;
}
#hanamusubi .btn_02 {
    width: 50%;
}
.staff_list li{
    padding: 8px 30px;
}
.staff_list .people_card img{
    width: 36.8%;
}
.staff_list .people_card .txt{
    width: 63.2%;
    padding-left: 30px
}
.info_hananowa {
    border-radius: 10px;
    padding: 70px 40px 30px;
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
}
#archive .info_hananowa {
padding: 30px 40px;
}
.info_hananowa .midashi{
    color: #fff;
    position: absolute;
    left: 0;
    top: 40px;
    background: #94a078;
    border-radius: 0 30px 30px 0;
    padding:2px 30px 0 40px;
    margin-bottom: 40px;
}
.info_hananowa .txt h2{
    line-height: 1.8;
}
#primary .info_hananowa .txt{
    width: 80%;
}
.info_hananowa .img{
    width: 20%;
}
.info_hananowa .txt .txt_r {
    padding-right: 70px;
}
.txt_gn{
    color: #586e1d;
}
#list h2{
    margin: 70px auto 10px 0;
}

.cat_select {
    overflow: hidden;
    width: 100%;
    margin: 0 0 2em auto;
    text-align: center;
    max-width: 150px;
}
.cat_select select {
    width: 100%;
    padding-right: 1em;
    cursor: pointer;
    text-indent: 0.01px;
    text-overflow: ellipsis;
    border: none;
    outline: none;
    background: transparent;
    background-image: none;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none;
}
.cat_select select::-ms-expand {
    display: none;
}
.cat_select {
    position: relative;
    border-radius: 2px;
    border: 2px solid #758453;
  border-radius: 3px;
    background: #ffffff;
}
.cat_select::before {
    position: absolute;
    top: 0.8em;
    right: 0.8em;
    width: 0;
    height: 0;
    padding: 0;
    content: '';
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #758453;
    pointer-events: none;
}
.cat_select select {
    padding: 8px 38px 8px 8px;
    color: #758453;
}
/*---------------------------------------------
youtube
---------------------------------------------*/
.youtube_l{
    background: #fff;
    text-align: center;
    width: 50%;
    padding: 50px 45px;
}
.youtube_l img{
   display: block;
    margin: 0 auto;
}
#video{
    width: 50%;
}
#linkarea{
    padding: 4.5vw 15.5556%;
}
.linkarea_in{
   max-width: 1000px;
    margin: 0 auto;
}
.linkarea_in li{
    width: 23%;
    margin: 0 1%;
}
/*---------------------------------------------
footer
---------------------------------------------*/
footer{
    padding: 4.5rem 6.9444% 2rem;
    position: relative;
}
.f_top{
    margin-bottom: 40px;
}
.f_top_l {
    max-width: 300px;
    margin-right: 60px;
}
.f_top_r {
    max-width: 500px;
}
.f_top_r a{
    position: relative;
    padding-left: 30px;
}
.f_top_r a:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    left: 6px;
    top: 7px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        45deg
    );
    transform: rotate(
        45deg
    );
    transition: all 0.12s ease-in 0s;
}
.f_top_r a:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: 0px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
.f_top_r li {
    width: 50%;
}
.info_atelier{
    background: #fff;
    border-radius: 10px;
    padding: 30px 40px;
    max-width: 992px;
    align-items: center;
}
.info_atelier .txt{
    width: 65%;
    padding-right: 25px;
}
.info_atelier p{
    width: 80%;
    margin: 0 auto;
    line-height: 1.8em;
}
.info_atelier .txt_r{
   padding-right: 40px;
}
.info_atelier .map{
    width: 35%;
}
.f_sub_menu li a{
    padding: 0 8px;
    border-right: 1px solid var(--dg);
    font-size: 1.3rem;
}
.f_sub_menu li:last-child a{
    border-right:none;
}
.pagetop .image{
    position: absolute;
    right: 46px;
    bottom: 57px;
}
.txt_pagetop{
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    position: fixed;
    padding-top: 25px;
    right: 30px;
    bottom: 70px;
    width: 30px;
    height: 204px;
}
.txt_pagetop span{
    position: relative;
    padding-top: 26px;
}
.txt_pagetop span:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    left: 6px;
    top: 10px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        -45deg
    );
    transform: rotate(
        -45deg
    );
    transition: all 0.12s ease-in 0s;
}
.txt_pagetop span:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: 2px;
    left: -1px;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
.fuwafuwa {
    -webkit-animation:fuwafuwa 3s infinite linear alternate;
    animation:fuwafuwa 3s infinite linear alternate; 
}

@-webkit-keyframes fuwafuwa {
    0% {-webkit-transform:translate(0, 0) rotate(-5deg);}
    50% {-webkit-transform:translate(0, -5px) rotate(0deg);}
    100% {-webkit-transform:translate(0, 0)rotate(5deg);} 
}

@keyframes fuwafuwa {
    0% {transform:translate(0, 0) rotate(-5deg);}
    50% {transform:translate(0, -5px) rotate(0deg);}
    100% {transform:translate(0, 0)rotate(5deg);} 
}
.about-map-link{
   padding: 10px 0;
}
/*---------------------------------------------
archive
---------------------------------------------*/
.category_list ul{
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin: 0 0 50px 20%;
}
.category_list ul li {
    margin: 0 5px 20px;
}
.category_list ul li a{
    background: #fff;
    color: var(--dg);
    padding: 15px 50px;
    border-radius: 30px;
    display: block;
}
.category_list ul li a.active{
    background: var(--bl);
    color: #fff;
}
.site_sub .a_taglist{
    margin-bottom: 80px
}
.site_sub .my_term-archive{
    display: flex;
    flex-wrap: wrap;
    width: 80%;
    margin-left: 20%;
}
.site_sub .my_term-archive a{
    font-size: 1.8rem;
    padding: 10px 15px;
    display: block;
}
/*---------------------------------------------
page共通
---------------------------------------------*/
.page_top{
    margin-bottom: 80px;
}
.page_top_box .img{
    padding: 0 30px 0 0;
}

.page_top_box .txt p{
    margin-bottom: 2rem;
    line-height: 2em;
    font-weight: bold;
}
.page_main{
    max-width: 1240px;
    margin: 0 auto 100px;
    border-radius: 30px;
    padding: 1px 120px 80px;

}
.page_main_info {
    max-width: 800px;
    margin: 0 0 0 auto;
}
.page_main_info .img{
    width: 310px;
    text-align: center;
}
.page_main_info .img img{
    width: 70%;
    margin: 0 auto;
}
.page_main_info .hagure .img img{
    width: 50px;
}
.page_main_info .txt_area{
    width: calc(100% - 340px);

    line-height: 1.7em;
    padding-right: 50px;
    position: relative;
    margin: 20px auto 4rem;
}
/*
.page .page_main_info .txt_area:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    right: -14px;
    top: 61%;
    width: 10px;
    height: 10px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        45deg
    );
    transform: rotate(
        45deg
    );
    transition: all 0.12s ease-in 0s;
}
.page .page_main_info .txt_area:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: 50%;
    right: -28px;
    width: 37px;
    height: 37px;
    border: 2px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
*/
.page_main_info .info__box_ttl{
    font-size: 3.2rem;
    margin-bottom: 30px;
}
.page_main_info .info__box,.p_infobox{
    border-bottom: 1px solid var(--dg);
    padding: 20px 0;
}
.page_main_info .linelogo{
    background: #07b53b;
    position: relative;
    padding:40px 20px;
    border-radius: 10px;
}
.page_main_info .linelogo img.logo-line{
    width:68%;
    margin-right: 2%;
}
.page_main_info .linelogo img.hanasoko_qr{
    width:30%;
}
.page_main_info .accountname{
    color: #fff
}
.shiftwrap{
    position: relative;
    padding-bottom: 100px;
}
.shiftwrap:before{
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/bg_bl.gif) repeat center top;
    left: 0;
    top: 100px;
    z-index: -1;
}
.shiftwrap_gn{
    position: relative;
    padding-bottom: 100px;
}
.shiftwrap_gn:before{
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: url(../images/bg_gn.gif) repeat center top;
    left: 0;
    top: 100px;
    z-index: -1;
}
/*---------------------------------------------
about
---------------------------------------------*/

.about_main_ttl{
    margin-top: -40px;
    display: inline-block;
    line-height: 1.2;
    margin: -40px auto 50px;
}
/*---------------------------------------------
project
---------------------------------------------*/
.project_top{
    padding: 70px 5% 140px;
    margin-bottom: 0;
}
#p_project .shiftwrap{
    margin-top: -100px;
}
#p_project .page_main{
    padding: 80px 120px 80px;
}
#p_project .page_main_info .txt_area{
    margin: 5px auto 0;
    padding-right: 0;
}
.p_column{
    margin: 40px auto;
}
.p_column_ttl{
    padding-bottom: 5px;
    border-bottom: 1px solid var(--dg);
    margin-bottom: 30px;
}
.menu__wrapper > div {
    width: 25px;
    height: 25px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}
.menu__wrapper > div:hover, .menu__wrapper > div:focus {
    outline: none;
}
.menu__wrapper > span {
    display: inline-block;
    text-align: center;
    line-height: 1.2;
    padding: 20px;
    margin-top: auto;
}
.menu__item--bento .box {
    width: 4px;
    height: 4px;
    background: #000;
    margin: 2px 2px;
    display: inline-block;
}
.menu__item--bento:hover .box:nth-child(2),
.menu__item--bento:hover .box:nth-child(4),
.menu__item--bento:hover .box:nth-child(6),
.menu__item--bento:hover .box:nth-child(8), .menu__item--bento:focus .box:nth-child(2),
.menu__item--bento:focus .box:nth-child(4),
.menu__item--bento:focus .box:nth-child(6),
.menu__item--bento:focus .box:nth-child(8) {
    opacity: 0;
}

.p_column_ttl .ttl{
width: 100px;
}
.p_column_ttl a{
    width: 60px;
}
.page_main_info{
margin-bottom: 60px;
}
.page_main_info .p_column_list .img{
    width: 170px;
}
.page_main_info .p_column_list .img img{
    width: 100%;
}
.p_column_list li{
    border-bottom: 1px solid var(--dg);
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.p_column_list li.no_post {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
    font-size: 1.4rem;
}
.p_column_list .txt{
    width: calc(100% - 180px);
    margin-left: 10px;
}
.p_column_list .arrow_r{
    padding-right: 25px;
}
.p_column_list .arrow_r:before{
    right: 8px;
    top: 9px;
}
.p_column_list .arrow_r:after{
    right: 0;
    top: 3px;
}

.p_infobox >.img img{
    margin: 60px auto 0;
}
.info_salebnr {
    border-radius: 10px;
    padding: 80px 40px 40px;
    max-width: 1000px;
    width: 94%;
    margin: 0 auto;
    position: relative;
}
.info_salebnr .midashi{
    color: #fff;
    position: absolute;
    left: 0;
    top: 40px;
    background: #333;
    border-radius: 0 30px 30px 0;
    padding:2px 30px 0 40px;
    margin-bottom: 40px;
}
.info_salebnr .txt h2{
    line-height: 1.8;
}
.info_salebnr .txt{
    width: 60%;
}
.info_salebnr .img{
    width: 38%;
}
.info_salebnr .txt .txt_r {
    padding-right: 70px;
}
.info_salebnr a{
    padding: 0 30px;
}
/*---------------------------------------------
POST
---------------------------------------------*/
.post_wrap{
    padding: 70px 3% 100px;
}
.post_wrap_in{
    max-width: 992px;
    margin: 0 auto;
    border-radius: 30px;
    padding: 70px 3%;
}
.post_wrap_in__{
    max-width: 620px;
    margin: 0 auto
}
.post_wrap_in__._hananowa .txt{
    width: calc(100% - 240px);
}
.post_wrap_in__._hananowa .post_img{
    margin-top: 30px;
}
.post_meta{
    margin-bottom: 30px;
}
.post-categories {
    display: flex;
    margin:0 10px;
}
.post_day{
    font-size: 1.4rem;
}
.post-categories li a{
   background: var(--bl);
    color: #fff;
    font-size: 1.3rem;
    padding: 2px 10px;
    border-radius: 20px;
    display: block;
    margin: 0 2px;
}
.post_img img{
    border-radius: 30px;
}
.post_tag a{
    position: relative;
    padding-left: 10px;
    font-size: 1.4rem;
}
.post_tag a:before{
    position: absolute;
    content: '#';
    left: 0;
}
/*エディタスタイル*/
.post_body *{
    font-weight: 700;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1.6rem;
}
.post_body p{
    margin-bottom: 2.5rem;
    line-height: 2em;
}
.post_body h2{
    font-size: 1.8rem;
    line-height: 1.2em;
    padding: 1em 0;
    border-top: 1px solid var(--bk);
    border-bottom: 1px solid var(--bk);
    margin: 6rem auto 3rem;
}
.post_body h3{
    font-size: 1.8rem;
    line-height: 1em;
    padding-left: 5px;
    border-left: 18px solid var(--bl);
    margin: 6rem auto 3rem;
}
.post_body h4{
    line-height: 1em;
    padding-left: 25px;
    position: relative;
    margin: 6rem auto 3rem;
}
.post_body h4:before{
   content: '';
    width: 18px;
    height: 2px;
    background: var(--bl);
    position: absolute;
    top: 50%;
    left: 0;
}
.post_body p > a{
    color: var(--bl);
    text-decoration: underline;
}
.post_body strong {
    background:linear-gradient(transparent 60%, #ff6 60%);
    -webkit-font-smoothing: subpixel-antialiased;
}
.post_body ul{
    position: relative;
    padding: 15px;
    margin: 0 auto 30px;
    display: inline-block;
}
.post_body ul::before, .post_body ul::after {
    content: '';
    width: 15px;
    height: 100%;
    position: absolute;
}
.post_body ul::before {
    border-left: solid 3px var(--bl);
    border-top: solid 3px var(--bl);
    border-bottom: solid 3px var(--bl);
    top: 0;
    left: 0;
}
.post_body ul::after {
    border-right: solid 3px var(--bl);
    border-top: solid 3px var(--bl);
    border-bottom: solid 3px var(--bl);
    top: 0;
    right: 0;
}
.post_body blockquote{
    position: relative;
    padding: 1em 2em;
    margin: 1em;
    border: 1px solid #e1e1e1;
    box-sizing: border-box;
    color: #464646;
    font-size: 14px;
    line-height: 2;
    word-break: break-all;
}
.post_body blockquote:before{
    display: inline-block;
    position: absolute;
    top: -20px;
    left: 5px;
    content: "”";
    color: #76a5b9;
    font-size: 70px;
    line-height: 1;
    font-weight: 900;
}
.post_body blockquote a{
    position: relative;
}
.fukidashi{
    display: flex;
    margin-bottom: 50px;
}
.fukidashi .avatar{
    width: 80px;
    text-align: center;
}
.fukidashi .avatar p{
    margin: 0;
    line-height: 1em;
}
.fukidashi .area {
    width: 97%;
    background: #efefef;
    font-size: 14px;
    line-height: 2em;
    border-radius: 10px;
    padding: 20px 35px;
    position: relative;
}
/*左吹き出し*/
.fukidashi.left .area:before {
    content: "";
    position: absolute;
    top: 25px;
    left: -24px;
    margin-top: 0;
    border: 8px solid transparent;
    border-right: 17px solid #efefef;
}
.fukidashi.left .avatar{
    order: 1;
}
.fukidashi.left .area{
    order: 2;
    margin-left: 3%;
}
/*右吹き出し*/
.fukidashi.right .area:after {
    content: "";
    position: absolute;
    top: 25px;
    right: -24px;
    margin-top: 0;
    border: 8px solid transparent;
    border-left: 17px solid #efefef;
}
.fukidashi.right .avatar{
    order: 2;
}
.fukidashi.right .area{
    order: 1;
    margin-right: 3%;
}
/*-------------------------
ブログカード
-------------------------*/
a.tmt-blog-card {
    border: 1px solid #e1e1e1;
    display: block;
    padding: 20px;
    position: relative;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    width: 100%;
    margin-bottom: 30px;
}
a.tmt-blog-card::before {
    background-color: #505050;
    border: solid 1px #939393;
    color: #FFF;
    content: '合わせて読みたい';
    font-size: 12px;
    display: block;
    padding: 4px 20px;
    position: absolute;
    top: -15px;
    left: 25px;
}
a.tmt-blog-card::after {
    color: #939393;
    content: 'view more';
    font-size: 14px;
    display: block;
    padding: 5px 20px;
    position: absolute;
    bottom: 10px;
    right: 20px;
}
a.tmt-blog-card:hover {
    box-shadow: none;
    opacity: .8;
}
.tmt-blog-card-box {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
}
.tmt-blog-card-title {
    font-size: 16px;
    font-weight: 600;
    color: #317fa3;
    padding-bottom: 5px;
}
.tmt-blog-card-thumbnail {
    flex: 1;
    margin-right: 15px;
    padding-top: 5px;
}
.tmt-blog-card-thumbnail img {
    width: 100%;
}
.tmt-blog-card-content {
    flex: 2.5;
}
.tmt-blog-card-excerpt {
    color: #a4a4a4;
    font-size: 13px;
    padding-bottom: 15px;
}
.tmt-blog-card-site {
    color: #b2b2b2;
    font-size: 11px;
    padding-left: 5px;
}
.tmt-blog-card-site img {
    margin-right: 5px;
    vertical-align: bottom;
    width: 20px;
}
@media (max-width: 980px) {
    .tmt-blog-card-excerpt {
        border: none;
    }
}
@media (max-width: 640px) {
    a.tmt-blog-card {
        padding: 10px 10px 20px 10px;
    }
    a.tmt-blog-card::before {
        font-size: 11px;
        padding: 2.5px 8px;
        top: -15px;
        left: 10px;
    }
    a.tmt-blog-card::after {
        font-size: 12px;
        padding: 2px 13px;
        right: 10px;
    }
    .tmt-blog-card-thumbnail {
        margin-right: 10px;
        padding-top: 10px;
    }
    .tmt-blog-card-title {
        font-size: 14px;
    }
    .tmt-blog-card-excerpt {
        display: none;
    }
}

.post_archive .ttl_02,.relation_post .ttl_02{
    text-align: center;
    margin-bottom: 50px;
}
.post_archive .category_list ul {
    width: 100%;
    margin: 0 auto 50px;
}
.post_archive .my_term-archive{
    width: 100%;
    margin-left: 0;
}
.relation_post,.post_archive{
    padding: 0 6.9444% ;
}
.relation_post{
    margin: 50px auto;
}
.post_archive{
    margin: 0 auto 50px;
}
.relation_article.col1-2{
padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid var(--dg);
    margin-right: 30px;
    width: calc(50% - 30px);
}
.relation_article .img{
    width: 35%;
    margin-right: 10px;
}
.relation_article .img img{
    border-radius: 10px
}
.relation_article .txt{
    width: calc(65% - 10px);
}
.columnnav{
    max-width: 992px;
    text-align: center;
    margin: 0 auto;
/*    border-radius: 30px;*/
    padding: 80px 3% 0;
}
.cn_prev{
    text-align: left;
    padding-left: 5%;
}
.cn_next{
    text-align: right;
    padding-right: 5%;
}
.columnnav .menu__wrapper {
    display: inline-table;
    vertical-align: bottom;
}
.cn_next a,.cn_prev a{
    position: relative;
}
.cn_next a:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    right: -20px;
    top: 5px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        45deg
    );
    transform: rotate(
        45deg
    );
    transition: all 0.12s ease-in 0s;
}
.cn_next a:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: -2px;
    right: -28px;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
.cn_prev a:before{
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    left: -20px;
    top: 5px;
    width: 6px;
    height: 6px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        -135deg
    );
    transform: rotate(
        -135deg
    );
    transition: all 0.12s ease-in 0s;
}
.cn_prev a:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    top: -2px;
    left: -28px;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
.addtoany_content {
    clear: both;
    text-align: center;
    margin: 80px auto 0;
    padding: 30px 0;
    border-top: 1px solid #959595;
}
h2.screen-reader-text {
    display: none;
}
/*花結びプロフィール#post-hananowa*/
.post_wrap_in__._hananowa{
    max-width: 860px;
}
.post_wrap_in__._hananowa .txt{
    padding: 0 0 0 3%;
}
.job_catlest{
    margin-bottom: 20px;
}
.job_catlest li {
    background: #e1e4d7;
    color: #617b20;
    font-size: 15px;
    margin: 0 1% 1%;
    padding: 2px 5%;
    border-radius: 20px;
}
.post_wrap_in__._hananowa .underline{
    padding-bottom: 30px;
    border-bottom: 1px solid var(--dg);
}
#post-hananowa .sns_url{
    margin-bottom: 10px;
}
#post-hananowa .post_body{
    margin: 40px auto;
}
#page .post_wrap{
    max-width: 1240px;
    margin: 0 auto;
}
#page .post_wrap_in{
    padding: 70px 7%;
}
.s-table {
    max-width: 828px;
    width: 100%;
    table-layout: fixed;
    margin: 0 auto 60px;
}
.s-table tr {
    border-bottom: 1px solid #eee;
    padding: 20px 0;
    width: 100%;
}
.s-table th, .s-table td {
    text-align: left;
    border: none;
}
.s-table th {
    width: 25%;
}
.mw_wp_form a{
    color: var(--bl);
    font-weight: bold;
    text-decoration: underline;
}

form .s-table th, form .s-table td {
    vertical-align: middle;
    padding: 20px 0;
    padding-top: 20px;
    padding-right: 0px;
    padding-bottom: 20px;
    padding-left: 0px;
}
.mandatory {
    color: #c10c0c;
}
.input100 input:not([type="submit"]):not([type="file"]):not([type="file"]), .mw_wp_form textarea {
    border: #ccc 1px solid;
    border-radius: 5px;
    padding: 10px;
    width: 100%;
}
::placeholder {
    color: #aaa;
}
::-ms-input-placeholder {
    color: #aaa;
}
:-ms-input-placeholder {
    color: #aaa;
}
.mw_wp_form input[type="submit"], .mw_wp_form input[type="button"] {
    width: 48%;
    padding: 22px 10px;
    border-radius: 10px;
    text-align: center;
    background: #5c91a9;
    color: #fff;
    border: none;
    position: relative;
    display: block;
    margin: 0 auto 40px;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.mw_wp_form input[type="submit"].return{
    background: #aaa;
}
.post_body .contact_txt{
    max-width: 668px;
    margin: 0 auto;
}
.post_body .contact_txt p{
    font-size: 14px;
    font-weight: normal;
    line-height: 1.6;
}
.mw_wp_form_preview form .s-table td {
    background: #eee;
    padding: 10px;
    border-bottom: 2px solid #fff;
}
.c-radio [type=radio] {
    display: none;
}

.c-radio+span,
[type=radio]+span {
    cursor: pointer;
    display: inline-block;
    margin: 0;
    padding: 0 1em 0 1.8em;
    position: relative;
    font-weight: 500;
}

.c-radio+span::before,
[type=radio]+span::before {
    -webkit-transform: translateY(-50%);
    background: #fff;
    border: 1px solid #5c91a9;
    border-radius: 50%;
    content: "";
    display: block;
    height: 1.5em;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5em
}

.c-radio+span::after,
[type=radio]+span::after {
    -webkit-transform: translateY(-50%);
    background: #5c91a9;
    border: 1px solid #5c91a9;
    border-radius: 50%;
    box-shadow: 0 0 0 .1em #fff inset;
    content: "";
    display: block;
    height: 1.5em;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: all .3s ease 0s;
    width: 1.5em;
}
.c-checkbox [type=checkbox] {
    display: none;
}

.c-checkbox+span,
[type=checkbox]+span {
    cursor: pointer;
    display: inline-block;
    margin: 0;
    padding: 0 1em 0 1.4em;
    position: relative
}

.c-checkbox+span::before,
[type=checkbox]+span::before {
    -webkit-transform: translateY(-50%);
    background: #fff;
    border: 1px solid #bdbdbd;
    border-radius: 2px;
    content: "";
    display: block;
    height: 2em;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em
}

.c-checkbox+span::after,
[type=checkbox]+span::after {
    -webkit-transform: translateY(-50%) rotate(-45deg);
    border-bottom: 3px solid #5c91a9;
    border-left: 3px solid #5c91a9;
    content: "";
    display: block;
    height: .6em;
    left: .8rem;
    margin-top: -.2em;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
    transition: all .3s ease 0s;
    width: 1em
}

.c-checkbox:checked+span::before,
:checked[type=checkbox]+span::before {
    border: 1px solid #9e9e9e
}

.c-checkbox:checked+span::after,
:checked[type=checkbox]+span::after {
    opacity: 1
}

.c-radio:checked+span::before,
:checked[type=radio]+span::before {
    border: 1px solid #9e9e9e
}

.c-radio:checked+span::after,
:checked[type=radio]+span::after {
    opacity: 1
}
.c-checkbox span.mwform-checkbox-field-text {
    text-indent: -9999px;
}
.page-numbers{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}
.nav-links{
    border-top: 1px solid var(--dg);
    border-bottom: 1px solid var(--dg);
}
.nav-links li a,
.nav-links li span{
    padding: 20px;
    color: var(--bl);
    padding: 20px;
    display: block;
}
.nav-links li .current,.nav-links li a:hover{
    color: var(--bk);
}
.nav-links .arrow_r:after{
    right: 0;
    top: -9px;
    width: 40px;
    height: 40px;
}
.nav-links .arrow_r:before{
    right: 16px;
    top: 6px;
    width: 10px;
    height: 10px;
}
.nav-links .arrow_l:after{
    left: 0;
    top: -9px;
    width: 40px;
    height: 40px;
}
.nav-links .arrow_l:before{
    left: 16px;
    top: 6px;
    width: 10px;
    height: 10px;
}
a.next.page-numbers {
    position: absolute;
    right: 0;
    top: 0;
    padding: 20px 0 20px 20px;
}
a.prev.page-numbers {
    position: absolute;
    left: 0;
    top: 0;
    padding: 20px 20px 20px 0;
}
.t_people.shiftwrap_gn:before{
    top: 200px;
}
.pager_area {
    position: relative;
}
.previous_post_link{
    top: 50%;
/*
    position: -webkit-sticky;
    position: sticky;
*/
}
.next_post_link{
    top: 50%;
/*
    position: -webkit-sticky;
    position: sticky;
*/
}
.hp_arrow_l,.hp_arrow_r{
    position: absolute;
}
.previous_post_link{
left: 0;
}
.next_post_link,.hp_arrow_r{
right: 0;
}

.hp_arrow_l:before{
    position: absolute;
    top: -8px;
    left: -20px;
    z-index: 2;
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        -135deg
    );
    transform: rotate(
        -135deg
    );
    transition: all 0.12s ease-in 0s;
}
.hp_arrow_r:before{
    position: absolute;
    top: -8px;
    right: -20px;
    z-index: 2;
    display: block;
    content: "";
    width: 40px;
    height: 40px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        45deg
    );
    transform: rotate(
        45deg
    );
    transition: all 0.12s ease-in 0s;
}
.sticky {
    position: -webkit-sticky; /* safari対応 */
    position: sticky;
}
#post-hananowa .columnnav{
    padding: 0;
}
#archive .info_hananowa .ttl{
    line-height: 2;
    background: url(../images/i-flower.png)no-repeat right top;
    padding: 0 10px 0 0;
    margin-right: 1%;
    margin-top: 30px;
}
#archive .info_hananowa .ttl h2{
    font-size: 20px;
    margin-right: 30px;
}
#archive .info_hananowa .benefits{
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -o-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    text-align: center;
    padding: 0 1%;
    margin-right: 2%;
}
#archive .benefits_list{
    font-size: 14px;
    padding-right: 30px;
    position: relative;
}
#archive .benefits_list:before {
    position: absolute;
    z-index: 2;
    display: block;
    content: "";
    right: -14px;
    bottom: 15px;
    width: 10px;
    height: 10px;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(
        45deg
    );
    transform: rotate(
        45deg
    );
    transition: all 0.12s ease-in 0s;
}
#archive .benefits_list:after{
    position: absolute;
    z-index: 1;
    display: block;
    content: "";
    right: -30px;
    bottom: 0;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(51, 51, 51, 1);
    border-radius: 50%;
    transition: all 0.12s ease-in 0s;
}
#archive .benefits_list li{
    position: relative;
    margin-bottom: 1%;
    padding-left: 8px;
}
#archive .benefits_list li:before{
    position: absolute;
    content: '';
    width: 3px;
    height: 3px;
    left: 0;
    top: 7px;
    background: #000;
}
#archive .info_hananowa .midashi{
    top: 30px;
}
#archive .info_hananowa .ico-mail{
    padding: 8px 5px 8px 0;
}
.recruitment{
    padding: 29px 10px;
    position: absolute;
    top: -50px;
    right: -20px;
    border-radius: 50%;
    text-align: center;
    color: #94a078;
    font-weight: bold;
}
.recruitment:before{
    content: "";
    position: absolute;
    top: 97%;
    left: 50%;
    margin-left: -8px;
    border: 8px solid transparent;
    border-top: 15px solid #e0e4d7;
}
#p-hanasoko-kun .page_top_box{
    position: relative;
}
#p-hanasoko-kun .page_top_box .sticky{
   top: 20px;
}
#p-hanasoko-kun #list h2{
    margin: 70px auto 60px 0;
}
#p-hanasoko-kun .t_taglist ul{
    justify-content: left;
}
#p-hanasoko-kun .cta_line .logo> div {
    padding: 45px 20px 20px;
}
#p-404 .inner_m{
    padding: 40px;
    width: 94%;
}
#p-404 .ttl_03 h1{
   font-size: 8rem;
}
@media all and (-ms-high-contrast: none) {
    #p-hanasoko-kun .page_top_box {
        align-items: center;
    }
}
