@charset "utf-8";

/*ヘッダ　電話番号・お問合せ*/

/*グローバル　下層h3 サイドナビul  フッダー*/


/*.post blockquote{引用スマホ
	margin:10px 0;
	width:80%;
	-webkit-margin-before: 0;
	-webkit-margin-after:0;
	-webkit-margin-start: 0;
	-webkit-margin-end:0;
	padding:50px 40px;}*/


body {
    font-family: "Helvetica Neue",Helvetica,Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Hiragino Kaku Gothic Pro","Meiryo","メイリオ","ＭＳ ゴシック",sans-serif;
    font-weight: 400;
}


/*　追加　2021/10/01 フォントサイズ調整変更　*/
#featured_post2 .post1 .excerpt,
.info .excerpt {
    font-size: 14px;
}

#main_col .headline1,
.headline2,
.headline3 {
    font-size: 18px;
}

#post_list .title,
#related_post .title,
#featured_post .post1 .title,
#featured_post ul.post2 li .title,
#featured_post2 .post1 .title,
#featured_post2 li .title {
    font-size: 16px;
}

/* 技術ブログ調整 */
ul#tech li {
    border-bottom: 1px dotted #999;
    display: flex;
}

#contents .text_recent_post .list_date,
.barb_cont_wrap #tech .exblog_row .exblog_date {
    flex-basis: 102px;
    flex-shrink: 0;
    flex-grow: 0;
}

.barb_cont_wrap #tech .exblog_row .exblog_excerpt {
    margin-left: 15px;
    letter-spacing: 0.1rem;
    width: auto;
}

@media screen and (min-width: 641px) {

    .text_recent_post li,
    .barb_cont_wrap #tech li.exblog_row {
        padding: 8px 0 8px 0;
        display: flex;
    }

    .barb_cont_wrap #tech .exblog_row .exblog_excerpt {
        line-height: 1.8;
    }
}

@media screen and (max-width: 640px) {
    .barb_cont_wrap #tech li.exblog_row {
        padding: 8px 0 8px 0;
    }

    .barb_cont_wrap #tech .exblog_row .exblog_excerpt {
        line-height: 1.2;
    }
}

/***********************************

テキストリスト

************************************/
/*

#post_list.txt .info {
	width: 100%;
	border-bottom: 1px dotted #999;
	margin:0 0 20px 0;
	overflow: hidden;}

.post ul.txt li {
	background:none;}

#post_list.txt li {
	border-bottom:none;
	padding:0;}

#post_list.txt .link {
	float:right;}

.page_navi.txtlist {
	margin:0;}

@media screen and (min-width: 641px) {
	#post_list.txt li.date {
	padding:0 12px 0 0;}
}

@media screen and (max-width: 640px) {
	#post_list.txt {
	border:none;}

}

*/


/*トップページ　特徴　段落用*/
#top a {
    color: #444;
    text-decoration: none;
}

#top a:hover {
    color: #666;
}


@media screen and (min-width: 641px) {
    #top {
        width: 720px;
        margin: 10px auto 30px auto;
        overflow: hidden;
        background: url(./img/back.gif);
        padding: 40px 10px 10px;
        position: relative;
    }

    #top .two {
        overflow: hidden;
        clear: both;
    }

    #top .two h3 {
        display: block;
        width: 100%;
        font-size: 15px;
        margin: 0;
        background: #fff;
        font-weight: normal;
        position: absolute;
        padding: 5px 0;
        top: 0;
        left: 0;
        letter-spacing: initial;
    }

    #top .two h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    #top .one {
        clear: both;
    }

    #top .webwork,
    #top .printed,
    #top .operation,
    #top .utilize,
    #top .lp_writing,
    #top .other,
    #top .consult,
    #top .sales-material {
        width: 355px;
        height: 136px;
    }

    /* #top .consult {
        width: 720px;
        height: 83px;
    } */

    #top .webwork p,
    #top .printed p,
    #top .operation p,
    #top .utilize p,
    #top .lp_writing p,
    #top .sales-material p,
    #top .other p,
    #top .consult p,
    #top .printed p {
        display: block;
        margin: 50px 0 0 168px;
        font-size: 14px;
        padding: 0 8px 0 0;
        line-height: 1.2;
    }

    /* #top .consult p {
        display: block;
        margin: 50px 0 0 168px;
        font-size: 14px;
        padding: 50px 8px 0 0;
        line-height: 1.2;
    } */

    #top .webwork,
    #top .utilize,
    #top .sales-material,
    #top .consult {
        float: left;
    }

    #top .lp_writing,
    #top .operation,
    #top .printed,
    #top .other {
        float: right;
    }

    #top .webwork {
        background: url(./img/a_.png) no-repeat;
        background-size: 100% auto;
    }

    #top .consult {
        background: url(./img/btn_service_consult-half.png) no-repeat;
        background-size: 100% auto;
    }
    #top .sales-material {
        background: url(./img/btn_service_sales-material.png) no-repeat;
        background-size: 100% auto;
    }

    #top .operation {
        background: url(./img/c_.png) no-repeat;
        background-size: 100% auto;
    }

    #top .utilize {
        background: url(./img/d_.png) no-repeat;
        background-size: 100% auto;
    }

    #top .lp_writing {
        background: url(./img/btn_service-manuscript.png) no-repeat;
        background-size: 100% auto;
    }

    #top .other {
        background: url(./img/btn_service-other.png) no-repeat;
        background-size: 100% auto;
    }

    #top .printed {
        background: url(./img/btn_service-printed.png) no-repeat;
        background-size: 100% auto;
    }

    #top .webwork,
    #top .lp_writing,
    #top .utilize,
    #top .operation,
    #top .other,
    #top .printed,
    #top .sales-material,
    #top .consult {
        margin: 0 0 10px 0;
    }
}


@media screen and (max-width: 640px) {
    #top {
        width: 100%;
        margin: 0 auto 0 auto;
        overflow: hidden;
        background: url(./img/back.gif);
        padding: 16px 0;
    }

    #top .two,
    #top .one {
        width: 92%;
        margin: 0 auto;
    }

    #top .two h3 {
        font-size: 15px;
        padding-left: 1.75em;
        text-indent: -1.4em;
    }

    #top .two h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    #top .webwork {
        background: url(./img/a_.png) no-repeat;
        height: 0;
        padding-top: 38.28125%;
        /* 表示画像の高さ245 ÷ 表示画像の幅640 × 100 */
        background-size: contain;
    }

    #top .printed {
        margin: 10px 0 0 0;
        background: url(./img/btn_service-printed.png) no-repeat;
        height: 0;
        padding-top: 38.28125%;
        /* 表示画像の高さ245 ÷ 表示画像の幅640 × 100 */
        background-size: contain;
    }

    #top .operation {
        margin: 10px 0 0 0;
        background: url(./img/c_.png) no-repeat;
        height: 0;
        padding-top: 38.28125%;
        /* 表示画像の高さ245 ÷ 表示画像の幅640 × 100 */
        background-size: contain;
    }

    #top .utilize {
        margin: 10px 0 0 0;
        background: url(./img/d_.png) no-repeat;
        height: 0;
        padding-top: 38.28125%;
        /* 表示画像の高さ245 ÷ 表示画像の幅640 × 100 */
        background-size: contain;
    }

    #top .lp_writing {
        margin: 10px 0 0 0;
        background: url(./img/btn_service-manuscript.png) no-repeat;
        height: 0;
        padding-top: 38.28125%;
        /* 表示画像の高さ245 ÷ 表示画像の幅640 × 100 */
        background-size: contain;
    }
    #top .sales-material {
        margin: 10px 0 0 0;
        background: url(./img/btn_service_sales-material.png) no-repeat;
        height: 0;
        padding-top: 38.28125%;
        /* 表示画像の高さ245 ÷ 表示画像の幅640 × 100 */
        background-size: contain;
    }

    #top .other {
        margin: 10px 0 0 0;
        background: url(./img/btn_service-other.png) no-repeat;
        height: 0;
        padding-top: 38.28125%;
        /* 表示画像の高さ245 ÷ 表示画像の幅640 × 100 */
        background-size: contain;
    }

    #top .consult {
        margin: 10px 0 0 0;
        background: url(./img/b_.png) no-repeat;
        height: 0;
        padding-top: 38.28125%;
        /* 表示画像の高さ245 ÷ 表示画像の幅640 × 100 */
        background-size: contain;
    }

    #top .webwork p,
    #top .consult p,
    #top .operation p,
    #top .utilize p,
    #top .sales-material p,
    #top .lp_writing p,
    #top .other p,
    #top .printed p {
        margin-top: -24%;
        margin-left: 47%;
        font-size: 14px;
        padding: 0 8px 0 0;
        line-height: 1.2;
    }
}

/**** TOP クレジットカード決済 220711追記 ****/
.payment_card {
    border: 2px dotted #9ad1f8;
    border-radius: 5px;
    max-width: 693px;
    margin: 15px auto 50px;
}

.payment_card>div:first-of-type p:first-of-type {
    letter-spacing: 0.1em;
    color: #D62395;
    font-family: 'Noto Sans Japanese';
    font-weight: 400;
    margin-top: 10px;
}


.payment_card .cardicon p {
    border-top: 1px dotted #bce1f6;
    width: 100%;
    text-align: left;
}

.payment_card .cardicon div {
    padding: 0 15px;
}

.payment_card .cardicon div img {
    width: 69px;
    height: auto;
    border: 1px solid #D1D1D1;
    border-radius: 3px;
    margin-right: 10px;
    margin-bottom: 10px;
}

#payment_block .payment_card a {
    background: rgba(198, 231, 255, 1);
    border: 1px solid #1399FC;
    font-weight: 500;
    font-size: 15px;
    letter-spacing: 0.55px;
    color: #015a9e;
    border-radius: 8px;
    opacity: 1;
    text-align: center;
    position: relative;
    font-family: 'Noto Sans Japanese';
}


#payment_block .payment_card a:hover {
    background: rgba(198, 231, 255, 0.8);
    top: 1px;
    left: 1px;
}

@media only screen and (min-width:641px) {
    #payment_block {
        margin: 45px 15px 30px 15px;
        position: relative;
    }


    #payment_block h3 {
        display: block;
        width: 100%;
        font-size: 15px;
        margin: 0;
        background: #fff;
        font-weight: normal;
        position: absolute;
        padding: 5px 10px;
        top: -35px;
        left: 0;
        letter-spacing: initial;
    }

    #payment_block h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    .payment_card {
        background-image: url(./img/top_price_bg.png);
        background-color: rgb(215 236 249 / 11%);
        background-blend-mode: lighten;
        background-repeat: no-repeat;
        background-position: 104% 1px;
        background-size: 40% auto;
        background-clip: padding-box;
        overflow: hidden;
        text-align: left;
        padding: 18px 15px 8px 0;
    }

    .payment_card>img {
        display: none;
    }

    #payment_block .payment_card a {
        display: inline-block;
        padding: 10px 25px 10px 1em;
        margin-left: 15px;
    }

    #payment_block .payment_card a br {
        display: none;
    }

    #payment_block .payment_card a::after {
        content: "\f054";
        font-family: FontAwesome;
        color: #015a9e;
        margin-left: 7px;
        font-size: 0.9em;
    }

    .payment_card>div:first-of-type {
        width: calc(100% - 32px);
        margin: 0 15px 12px 15px;
        font-size: 13px;
    }

    .payment_card>div:first-of-type p:first-of-type {
        font-size: 13px;
    }

    .payment_card>div:first-of-type p.cyuui {
        font-size: 12px;
        text-shadow: rgba(255, 255, 255, 0.6) 2px 0px 0px, rgba(255, 255, 255, 0.6) 1.75517px 0.958851px 0px, rgba(255, 255, 255, 0.6) 1.0806px 1.68294px 0px, rgba(255, 255, 255, 0.6) 0.141474px 1.99499px 0px, rgba(255, 255, 255, 0.6) -0.832294px 1.81859px 0px, rgba(255, 255, 255, 0.6) -1.60229px 1.19694px 0px, rgba(255, 255, 255, 0.6) -1.97998px 0.28224px 0px, rgba(255, 255, 255, 0.6) -1.87291px -0.701566px 0px, rgba(255, 255, 255, 0.6) -1.30729px -1.5136px 0px, rgba(255, 255, 255, 0.6) -0.421592px -1.95506px 0px, rgba(255, 255, 255, 0.6) 0.567324px -1.91785px 0px, rgba(255, 255, 255, 0.6) 1.41734px -1.41108px 0px, rgba(255, 255, 255, 0.6) 1.92034px -0.558831px 0px;
        margin-top: 5px;
    }

    .payment_card .cardicon p {
        max-width: 68%;
        padding: 15px 20px 0 15px;
        font-size: 13px;
    }
}

@media only screen and (max-width:640px) {
    #payment_block {
        margin: 15px 15px 0 15px;
    }

    #payment_block h3 {
        font-size: 15px;
        padding-left: 1.75em;
        text-indent: -1.4em;
    }

    #payment_block h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    .payment_card {
        background-image: none;
        background-color: rgb(215 236 249 / 11%);
        padding: 0px 17px 8px 1em;
    }

    .payment_card>img {
        max-width: 100%;
        height: auto;
        margin: 10px auto;
    }

    #payment_block .payment_card a {
        text-indent: 6px;
        line-height: 1.6em;
        letter-spacing: 0.1em;
        margin: 10px auto 20px;
        padding: 10px 17px 10px 1em;
        display: block;
    }

    #payment_block .payment_card a span {
        display: block;
    }

    #payment_block .payment_card a span:first-of-type {
        font-size: 0.8em;
    }

    #payment_block .payment_card a span:first-of-type::before {
        content: "＼";
    }

    #payment_block .payment_card a span:first-of-type::after {
        content: "／";
    }

    #payment_block .payment_card a span:last-of-type {
        font-size: 0.8em;
        display: inline-block;
        margin-top: 8px;
        color: #FFF;
        background: #015a9e;
        border-radius: 3px;
        padding: 0 5px 0 3px;
    }

    #payment_block .payment_card a span:last-of-type::after {
        content: "\f054";
        font-family: FontAwesome;
        color: #FFF;
        margin-left: 3px;
        font-size: 0.9em;
    }

    .payment_card>div:first-of-type {
        width: 100%;
    }

    .payment_card>div:first-of-type p:first-of-type {
        font-size: 12px;
        margin-bottom: 5px;
    }

    .payment_card>div:first-of-type p.cyuui {
        font-size: 11px;
    }

    .payment_card .cardicon {
        margin-top: 15px;
    }

    .payment_card .cardicon p {
        padding: 15px 0;
        font-size: 12px;
        text-align: center;
    }

    .payment_card .cardicon {
        text-align: center;
    }
}

/**** お問合せ段落 ****/

#service_block .service {
    padding: 15px;
    background: #FFFDEC;
    /*background: -webkit-linear-gradient(180deg, #FFE6E6, #FFFDEC) ;
	background: linear-gradient(180deg, #FFE6E6, #FFFDEC) ;*/
    border: 2px dotted #D5C199;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    overflow: hidden;
}

#service_block .service .img_wrap {
    text-align: center;
}

#service_block .service .img_wrap .title {
    color: #ED4D91;
    font-size: 15px;
    font-weight: bold;
}

#service_block .service .txt_wrap {
    font-size: 14px;
    line-height: 1.7;
    overflow: hidden;
}

#service_block .service p.telwrap {
    margin: 0 0 3px 0;
    line-height: 1.0;
    color: #F97B13;
}

#service_block .service .tel::before {
    padding: 0 6px 0 0;
    font-size: 26px;
    content: "\f098";
    font-family: FontAwesome;
}

#service_block .service .teltxt {
    font-size: 26px;
    font-family: 'M PLUS 1p';
    font-weight: 600;
}

#service_block .service .txt_wrap .left_block .time {
    color: #FF4D87;
}

#service_block .service .suita {
    clear: both;
    padding: 15px;
    text-align: center;
    width: calc(100% - 30px);
    position: relative;
    background: #ffffff61;
}

#service_block .service .suita::before,
#service_block .service .suita::after {
    content: '';
    width: 45px;
    height: 45px;
    position: absolute;
}

#service_block .service .suita::before {
    border-left: solid 2px #3e93ac;
    border-top: solid 2px #3e93ac;
    top: 0;
    left: 0;
}

#service_block .service .suita::after {
    border-right: solid 2px #3e94ac;
    border-bottom: solid 2px #3e95ac;
    bottom: 0;
    right: 0;
}

#service_block .service .suita {
    font-family: 'Noto Sans Japanese';
}

#service_block .service .suita>p {
    color: #3e92ac;
    font-weight: 500;
    letter-spacing: 0.1em;
}


#service_block .service .suita a:hover {
    background-color: #d3e7e996;

}

#service_block .service .suita a>span {
    color: #3e92ac;
    text-align: center;
    font-weight: normal;
    font-size: 12px;
}

#service_block .service .suita a>span:last-of-type {
    text-align: right;
    font-weight: normal;
    font-size: 12px;
}

#service_block .service .suita a>span>span:first-child::after {
    padding-left: 0.2em;
    padding-right: 0.1em;
    content: "\f08e";
    font-family: FontAwesome;
    display: inline-block;
}

@media only screen and (min-width:641px) {
    #service_block {
        margin: 45px 15px 30px 15px;
        position: relative;
    }

    #service_block h3 {
        display: block;
        width: 100%;
        font-size: 15px;
        margin: 0;
        background: #fff;
        font-weight: normal;
        position: absolute;
        padding: 5px 0;
        top: -35px;
        left: 0;
        letter-spacing: initial;
    }

    #service_block h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    .service_inner {
        display: flex;
        justify-content: space-between;
    }

    #service_block .service .img_wrap {
        width: 30%;
        float: left;
    }

    #service_block .service img {
        width: 100%;
        margin: 5px 0 0 0;
        padding: 0;
    }

    #service_block .service .txt_wrap {
        width: 67%;
        float: right;
        margin: 0;
    }

    #service_block .service .txt_wrap .left_block,
    #service_block .service .txt_wrap .right_block {
        margin: 10px 0 0 0;
        float: left;
    }

    #service_block .service .txt_wrap .left_block {
        width: 60%;
    }

    #service_block .service .txt_wrap .right_block {
        width: 39%;
    }

    #service_block .service .suita.pc {
        margin-top: 10px;
    }

    #service_block .service .suita.sp {
        display: none;
    }

    #service_block .service .suita {
        height: 55px;
    }

    #service_block .service .suita>p {
        text-align: center;
        font-size: 14px;
        margin-bottom: 5px;
    }

    #service_block .service .suita a {
        display: inline-block;
        border-bottom: #3e92ac 1px solid;
        padding-bottom: 2px;
    }
}

@media only screen and (max-width:640px) {
    #service_block {
        margin: 15px 15px 0 15px;
    }

    #service_block h3 {
        font-size: 15px;
        padding-left: 1.75em;
        text-indent: -1.4em;
    }

    #service_block h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    .service_inner {
        display: block;
        margin-bottom: 10px;
    }

    #service_block .service .img_wrap img {
        width: 100%;
        margin: 10px 0;
        padding: 0;
    }

    #service_block .service .txt_wrap {
        margin: 0;
    }

    #service_block .service .txt_wrap .left_block {
        text-align: center;
    }

    #service_block .service .suita.sp {
        margin: 10px auto;
    }

    #service_block .service .suita.pc {
        display: none;
    }

    #service_block .service .suita>p {
        text-align: left;
        font-size: 14px;
        margin: 0 auto 10px;
    }

    #service_block .service .suita a {
        display: inline-block;
        border: #3e92ac 1px solid;
        padding: 3px 0 4px 6px;
        margin-top: 3px;
        font-size: 12px;
        background: #b5e2ef36;
    }
}

/*ボタン*/
#service_block .service .txt_wrap .button {
    width: 100%;
    font-size: 14px;
    letter-spacing: .15rem;
    display: block;
    height: 40px;
    margin: 0 auto;
    text-align: center;
    font-weight: bold;
    line-height: 41px;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 8px;
    cursor: pointer;
}


#service_block .service .txt_wrap .button.button-primary {
    color: #E1802F;
    background: #fff;
    border: 2px solid #E1802F;
}

#service_block .service .txt_wrap .button.button-primary:hover {
    color: #E1802F;
    background: #FFE9A6;
    border: 2px solid #E1802F;
}

a.dl_btn {
    padding: 0;
}

a.dl_btn:hover {
    position: relative;
    top: 1px;
    left: 1px;
    padding: 0;
    margin: 0 auto;
}

a.dl_btn img {
    width: 90%;
    height: auto;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -ms-border-radius: 5px;
    border-radius: 5px;
    padding: 0;
}


@media only screen and (max-width:640px) {

    #service_block .service .txt_wrap .left_block,
    #service_block .service .txt_wrap .right_block {
        margin: 10px 0 0 0;
    }


    #service_block .service .txt_wrap .button {
        width: 98%;
    }

    a.dl_btn img {
        width: 100%;
        height: auto;
        -moz-border-radius: 3px;
        -webkit-border-radius: 3px;
        -ms-border-radius: 3px;
        border-radius: 3px;
        padding: 0;
    }
}





/***********************************

全体カラー

************************************/


/*----------------------------------
ヘッダロゴ背景
----------------------------------*/

@media screen and (min-width: 641px) {
    #header_logo_wrap {
        /*ヘッダー高さ変更*/
        height: 130px;
    }
}

#header_wrap {
    background: #fff;
}

@media screen and (max-width: 640px) {
    body {
        /*　指定箇所が無いのでbodyに挿入　*/
        background: #fff;
    }

    .header_banner_wrapper {
        /*　ヘッダ下に影　*/
        border-bottom: 1px solid #fff;
        background: url(./img/header_btm.jpg) repeat-x 0 bottom;
    }


    #footer .header_banner_wrapper {
        /*　フッダには影なし　*/
        border-bottom: none;
        background: none;
    }
}



/*----------------------------------
ヘッダーロゴ　
----------------------------------*/
#logo img {
    /**　ＰＣロゴ調整　**/
    margin: 30px 0 0 0;
    width: 42%;
}

@media screen and (max-width: 640px) {

    /**　スマホロゴ調整　**/
    #logo_sm {
        width: 50%;
        margin: 0 auto;
        padding: 20px 8px 0 0;
        /*錯覚で中央に見えないため*/
    }
}




/*----------------------------------
フッダーロゴ
----------------------------------*/
#footer .footer_logo img {
    /** フッダーロゴ調整 1 **/
    width: 200px;
}

#footer .header_banner {
    /** フッダーロゴ調整 2 **/
    margin-top: 10px;
}



/*----------------------------------
サイト説明文部分
----------------------------------*/
#desc_wrap {
    background: #000;
    /*説明文背景*/
}

#site_description {
    color: #fff;
    /*説明文テキスト*/
}

@media screen and (max-width: 640px) {

    /*スマホ*/
    #header {
        background: #000;
        /*説明文背景*/
    }

    .title_text {
        color: #fff;
        /*説明文テキスト*/
    }
}



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

@media screen and (min-width: 641px) {
    #menu_wrap {
        height: 40px;
        /*高さ変更*/
        background: #fff;
        /*全体背景色*/
        /*border-color:#8ABD68;区切り線*/
        border-top: 3px solid #000;
        /*区切り線 上下*/
        border-bottom: 3px solid #000;
        font-family: 'Noto Sans Japanese'
    }

    #global_menu {
        border-right: 3px solid #000;
        /*区切り線右*/
        height: 40px;
        /* 下隙間の調整*/
        font-weight: bold;
    }

    #global_menu li a {
        border-left: 3px solid #000;
        /*区切り線左*/
        background: #fff;
        /*ボタン背景色*/
        color: #444;
        /*文字色*/
        height: 40px;
        /* 下隙間の調整*/
        line-height: 40px;
        /* 下隙間の調整*/
    }

    #global_menu li a:hover {
        background: #FFE946;
        /*ボタンロールオーバー色*/
        color: #444;
        /*ボタンロールオーバー文字色*/
    }
}




@media screen and (max-width: 640px) {
    /**** 折りたたみメニュー ****/

    /**** メニューボタン ****/
    #header a.menu_button {
        color: #fff;
        border: 1px solid #fff;
        background: #666;
    }

    #header a.menu_button:hover,
    #header a.menu_button:active {
        background: #888;
    }


    /**** グローバルメニュー ****/
    #global_menu li a {
        border-color: #000;
        background: #fff url(./img/arrow4.png) no-repeat 20px;
        color: #333;
        border: 1px solid #222;
        margin: 0 0 -1px 0;
        font-family: 'Noto Sans Japanese';
    }

    #global_menu li a:hover {
        color: #333;
        background: #FFE946 url(./img/arrow4.png) no-repeat 20px;
    }
}



/*----------------------------------
電話番号・お問い合わせ
----------------------------------*/
.header_banner .banner_row .barb_text_banner {
    border-radius: 0;
}


.textwidget .red {
    /* 14:00用 */
    color: #f00;
}


.header_banner>div {
    font-family: "M PLUS 1p", sans-serif;
}

@media screen and (min-width: 641px) {

    /*ボタン高さ調節*/
    #header .header_banner {
        margin-top: 24px;
    }

    .header_banner .banner_row .barb_text_banner {
        font-size: 16px;
        line-height: 30px;
        font-weight: bold;
        border-bottom: 2px dotted #000;
    }


    header_banner .banner_row {
        width: 330px;
    }

    .header_banner .banner_row>div {
        height: 30px;
    }

    .header_banner .text_row .textwidget {
        margin-top: 10px;
        line-height: 1.5;
    }
}



@media screen and (max-width: 640px) {
    /*.header_banner {
	width: 80%;
	margin: 0 auto;}*/

    .header_banner>div {
        width: 46%;
        font-size: 15px;
        border-radius: 0;
        font-weight: bold;
        border-bottom: 2px dotted #000;
        padding: 5px 0;
    }
}


/*----------------------------------
イメージロールオーバー
----------------------------------*/

@media screen and (min-width: 641px) {
    #recommend_gallery {
        margin-top: -20px;
    }
}


/** index　メインビジュアル1枚でロールオーバー（リンク）なし**/

#recommend_gallery a:hover img,
.rs-slider>li>a:hover img {
    opacity: 1.0;
    cursor: default;
}

/** indexメインビジュアル全幅表示 230120追加 **/
#index_top .rs-slider>li img {
    width: 100vw !important;
    max-width: 100vw;
    height: auto;
}

@media screen and (min-width: 994px) {
    body {
        overflow-x: hidden;
    }

    #index_top .rs-wrap {
        max-width: 100vw;
        width: 100vw !important;
        margin-left: calc(-50vw + 50%);
        margin-right: calc(-50vw + 50%);
    }
}

@media screen and (max-width: 993px) {
    #index_top .rs-wrap {
        max-width: 100%;
        width: 100vw !important;
        margin: 0;
    }
}

/*----------------------------------
ピックアップ
----------------------------------*/

#index_pickup .headline1 {
    /*ピックアップヘッダ*/
    color: #ccc;
    background: #222;
}




/*----------------------------------
ページタイトルヘッダー　※下層も含む
----------------------------------*/

#main_col .headline1,
.headline2,
.headline3 {
    background: #fff;
    color: #2b2b2b;
    font-family: 'Noto Sans Japanese';
    font-weight: 600;
}

#main_col .headline1,
.headline2 {
    border-left: 7px solid #D62395;
    border-bottom: 2px solid #000;
}

.headline3 {
    border-left: 7px solid #5483DA;
    border-bottom: 2px solid #000;
    border-top: none;
}


@media screen and (max-width: 640px) {

    #main_col .headline1,
    .headline2,
    .headline3 {
        /*トップ・他　調整*/
        border-left: none;
        /*左線の削除*/
    }

    #main_col .headline1,
    .headline2,
    .headline3 {
        border-left: none;
        /*左線の削除*/
    }
}



/*----------------------------------
サイドナビ
----------------------------------*/

#side_col .barb_side_widget:has(.side_cluster) a::after,
#contents .top_creative-cluster a::after{
    content: '\f08e';
    font-family: FontAwesome;
    font-weight: 700;
    margin-left: .5em;
}


#side_col .timerex a {
    display: block;
    text-align: center;
    border: 2px solid #2e86c1;
    background: #fff;
    border-radius: 5px;
    padding: 1em;
    box-shadow: 3px 3px 5px#aab7b8;
    font-weight: bold;
}

@media screen and (min-width: 641px) {
    #side_col .barb_side_widget h3 {
        margin: 0 0 10px 0;
    }

    .side_headline {
        line-height: 1.0;
        font-size: 14px;
        color: #444;
        background: none;
        padding: 0 0 10px 5px;
        border-bottom: 1px dotted #666;
    }

    .barb_side_widget ul {
        margin: 0 0 5px 5px;
        font-family: 'Noto Sans Japanese';
    }

    .barb_side_widget ul li {
        padding: 0 0 2px 0;
    }

    #side_col>div:nth-of-type(10) h3.headline2 {
        display: none;
    }
    #side_col .barb_side_widget:has(.side_cluster) a{
        height: auto;
        display: block;
        background-color: #ca0083;
        padding: 8px 1em 6px 1.25em;
        border-radius: 4px;
        color: #FFF;
        font-weight: 500;
        font-size: .875rem;
        margin: 1rem auto .25rem;
        width: fit-content;
    }
    #side_col .barb_side_widget:has(.side_cluster) a:hover{
        opacity: 0.8;
    }
    #side_col .barb_side_widget:has(.side_cluster){
        border: 1px solid #c8c8c8;
        border-radius: 4px;
        padding: .75rem .25rem 1rem;
        margin-bottom: 25px;
    }
    #side_col .barb_side_widget:has(.side_cluster) .side_headline{
    padding-left: 12px;
    }
    #side_col .barb_side_widget:has(.side_cluster) p{
        text-decoration: none;
        color: #333;
        display: block;
        padding: 0 10px;
        font-size: .75rem;
        letter-spacing: normal;
        line-height: 1.5em;
    }
    #side_col .barb_side_widget:has(.side_cluster) img{
        width: calc(100% - 6px);
        height: auto;
        margin: 1.5rem auto 1.25rem;
        display: block;
    }
    #contents .top_creative-cluster{
        display: none;
    }
    
}

@media screen and (max-width: 640px) {
    #side_col {
        margin-top: -30px;
        padding: 15px 0;
    }

    #sb_instagram {
        padding: 0 15px 10px;
        border-bottom: 2px solid #000;
    }

    #side_col>div:nth-of-type(-n + 8),
    #side_col>div:nth-last-of-type(12) {
        display: none;
    }

    #contents #side_col>div:nth-of-type(n + 10) a img {
        width: 220px;
        height: auto;
        margin: 0 auto;
    }

    #contents #side_col>div:nth-of-type(n + 10) h3.side_headline {
        display: none;
    }

    #contents #side_col>div:nth-of-type(10) {
        margin-bottom: 25px;
    }

    #side_col>div:nth-of-type(10) h3.headline2 {
        margin-bottom: 15px;
        text-align: left;
    }

    #contents #side_col .barb_side_widget {
        margin-bottom: 0;
    }
    #side_col .barb_side_widget:has(.side_cluster){
        display: none;
    }
    .twitter_sp{
        display: none;
    }
}

@media screen and (min-width: 641px) {
    .barb_resize_bnn {
        /*　PCでメインコンテンツを表示しない場合　*/
        display: none;
    }
}

@media screen and (max-width: 640px) {
    .barb_resize_bnn {
        margin: 0 15px;
        margin-top: -50px;
    }

    /*　メインコンテンツSECURITY ACTIONバナー用　*/

    .barb_resize_bnn img {
        width: 100%;
    }
    /*　メインコンテンツ クリエイティブクラスター用　*/
    #contents .top_creative-cluster{
        border: 1px solid #c8c8c8;
        border-radius: 4px;
        padding: 15px;
        margin: 0 auto 60px;
        max-width: calc(100% - 30px);
        box-sizing: border-box;
    }
    #contents .top_creative-cluster h3{
        line-height:42px;
        font-size:14px;
        color:#fff;
        background:#333;
        padding:0 15px;
        margin: 0;
        border-bottom: none;
        box-sizing: border-box;
        height: 42px;
        text-align: center;
    }
    
    #contents .top_creative-cluster br{
        display: none;
    }
    #contents .top_creative-cluster p{
        text-decoration: none;
        color: #333;
        display: block;
        padding: 0 5px;
        font-size: 0.875rem;
        line-height: 1.6em;
        text-align: justify;
    }
    #contents .top_creative-cluster img{
        width: calc(100% - 2rem);
        height: auto;
        margin: 1.5rem auto 1.25rem;
        display: block;
    }
    #contents .top_creative-cluster a{
        height: auto;
        display: block;
        background-color: #ca0083;
        padding: 6px 12px 6px 16px;
        border-radius: 4px;
        color: #FFF;
        font-weight: 500;
        font-size: 1rem;
        margin: 1.5rem auto 0;
        width: fit-content;
    }
}





/*----------------------------------
フッター
----------------------------------*/

#footer_wrap {
    background: #fff;
    /*フッダー背景色*/
    font-family: 'Noto Sans Japanese';
}

#footer {
    color: #333;
    /*フッダーテキストカラー*/
}

#footer li a,
#footer li a:visited {
    color: #333;
    border-bottom: 1px dotted #666;
}

#footer li a:hover {
    color: #999;
}

#copyright {
    background: #000;
    /*コピーライト背景*/
    color: #999;
    /*コピーライトテキスト*/
}

#copyright a {
    color: #999;
    /*コピーライトリンクテキスト*/
}

#footer .footer_menu ul.sub-menu {
    margin-top: 10px;
}

#footer .footer_menu ul.sub-menu li {
    line-height: 20px;
}

#footer .footer_menu>div>ul>li {
    line-height: 19px;
}

#footer .footer_menu>div>ul>li>a {
    font-size: 1.182em;
}

@media screen and (min-width: 641px) {
    #footer_wrap {
        border-top: 3px solid #000;
        /*線追加*/
    }
}

@media screen and (max-width: 640px) {
    #footer_wrap {
        background: url(./img/footer_top.jpg) repeat-x 0 top;
        /*　フッダ上に影　*/
    }
}

/*---- メニュー2列表示 ----*/
#footer .footer_menu {
    width: 460px;
}

#footer .footer_menu ul ul {
    margin: 0;
    column-count: auto;
}

@media screen and (min-width: 641px) {
    #footer .footer_menu ul {
        column-count: 2;
    }

    #footer li {
        page-break-inside: avoid;
        break-inside: avoid;
    }
}

@media screen and (max-width: 640px) {
    #footer .footer_menu {
        width: 90%;
    }
}




/*----------------------------------
テキストリンクカラー
----------------------------------*/
a,
a:visited {
    color:
        /*#3F7985*/
        #3E91AC;
    text-decoration: none;
}

a:hover {
    color: #317186;
}


/*----------------------------------
ページナビ
----------------------------------*/

@media screen and (min-width: 641px) {
    .page_navi {
        margin: 0 0 0 0;
        /*戻りボタン空変更*/
    }
}

@media only screen and (max-width: 640px) {

    #under .page_navi p.back a,
    #under .page_navi p.back a:hover {
        margin: 0 0 0 -15px;
    }
}

.page_navi a {
    /*** テキスト、ボタン色 **/
    color: #fff;
    background: #333;
}

.page_navi a:hover {
    /*** ロールオーバーボタン色 **/
    background: #900;
}





/*----------------------------------
ブログカテゴリタイトル背景
----------------------------------*/
#single_meta {
    background: #eee;
}



/*----------------------------------
ブログの画像
----------------------------------*/
.post img.alignleft,
.post img.alignright,
.post img.aligncenter {
    margin-bottom: 0;
}






/***********************************

下層レイアウト

************************************/


/*----------------------------------
下層段落枠　※変更不可
----------------------------------*/

@media only screen and (min-width:641px) {
    #under {
        overflow: hidden;
        /*margin: 0 0 -40px 0;*/
    }

    /*下層の空調整 ⇒ コンテンツが切れるので削除*/
}


@media only screen and (max-width:640px) {
    #under {
        overflow: hidden;
        margin: 10px 0 0 0;
    }

    /*下層の空調整*/
}

.under_contents {
    width: 100%;
    margin: 0 0 50px 0;
    clear: both;
    overflow: hidden;
    line-height: 1.7;
}


p {
    /*下層　汎用*/
    margin: 0;
    padding: 0;
    line-height: 1.7;
}


/*----------------------------------
テーブル設定　※変更不可　色とthの％は変更又は上書き可
----------------------------------*/

/*** table 元スタイル打消し ****/

.post table {
    border: none;
    margin: 0;
}

.post td,
.post th {
    border: none;
    padding: 0;
}

.post th {
    background: #eee;
    font-weight:
        /*normal*/
        bold;
}

@media only screen and (max-width:480px) {
    tbody tr {
        display: table-row;
        /******/
        margin-bottom: 0;
    }

    tbody th,
    tbody td {
        display: table-cell;
        list-style-type: none;
        border: none;
    }
}



/*******  テーブル再設定　*******/

.under_contents table {
    width: 100%;
    border-collapse: inherit;
    border-spacing: 0;
    border-top: 1px solid #c1c1c1;
    border-left: 1px solid #c1c1c1;
}

.under_contents table td,
.under_contents table th {
    border-right: 1px solid #c1c1c1;
    border-bottom: 1px solid #c1c1c1;
    padding: 10px;
    /*white-space: nowrap;*/
}

.under_contents table th {
    width: 30%;
}


@media only screen and (max-width:480px) {
    .under_contents table {
        font-size: 12px;
        line-height: 1.7;
    }

}



/*----------------------------------
テーブル設定　レスポンシブ基本ソース
----------------------------------*/
/****
レスポンシブしたいtableの外側に
<div class="ph_responsive">を入れてください
****/

@media only screen and (max-width:640px) {
    .ph_responsive {
        margin: 0 0 -20px 0;
    }

    .ph_responsive table {
        border: none;
    }

    .ph_responsive table th,
    .ph_responsive table td {
        width: 100%;
        display: inline-block;
        border-right: none;
        text-align: left;
    }

    .ph_responsive table th {
        border-bottom: 2px dotted #333;
        padding: 5px 0;
        font-weight: bold;
        background: #fff;
    }

    .ph_responsive table th:before {
        /*** アイコンが必要な場合　***/
        content: "\f00c";
        font-family: FontAwesome;
        color: #333;
        padding: 0 5px 0 0;
    }

    .ph_responsive table td {
        border-bottom: none;
        padding: 10px 0 20px 0;
    }
}






/***********************************

ここからページレイアウト雛形

************************************/


/*----------------------------------
固定ページ 下層hタイトル　必要に応じてh4の追加など
----------------------------------*/


/*h3装飾*/

.under_contents h3 {
    color: #BA3F73;
    margin: 0 0 10px 0;
    font-size: 15px;
    padding-left: 1.4rem;
    text-indent: -1.55rem;
    line-height: 1.4;
    font-family: 'Noto Sans Japanese';
    font-weight: 600;
}

.under_contents h3:after {
    content: "";
    display: block;
    height: 3px;
    width: auto;
    background-size: 2px 3px, 100% 2px;
    background-image: linear-gradient(90deg, transparent, transparent 50%, #fff 50%, #fff 100%),
        linear-gradient(90deg, #E66AA5, #FFBB7D, #E66AA5);
    margin: 3px 0 0 -36px;
}

.under_contents h3:before {
    content: "\f118";
    font-family: FontAwesome;
    color: #BA3F73;
    padding: 0 8px 0 3px;
    font-weight: normal;
}


.under_contents h4 {
    font-size: 15px;
    color: #AB534B;
    border-left: 5px solid #F79D91;
    padding: 6px 6px 6px 10px;
    margin: 0 0 8px 0;
    font-family: 'Noto Sans Japanese';
    font-weight: 600;
}




/*ul 打ち消し*/

.under_contents ul {
    margin: 0;
}

.post .under_contents li {
    line-height: 1.7;
    background: url(./img/bullet1.gif) no-repeat left 9px;
}




/*汎用スペース*/

.space_top5 {
    padding-top: 5px;
}

.space_top10 {
    padding-top: 10px;
}

.space_top15 {
    padding-top: 15px;
}

.space_top20 {
    padding-top: 20px;
}

.space_top30 {
    padding-top: 30px;
}

.space_top40 {
    padding-top: 40px;
}


.space_bottom5 {
    padding-bottom: 5px;
}

.space_bottom10 {
    padding-bottom: 10px;
}

.space_bottom15 {
    padding-bottom: 15px;
}

.space_bottom20 {
    padding-bottom: 20px;
}

.space_bottom30 {
    padding-bottom: 30px;
}

.space_bottom40 {
    padding-bottom: 40px;
}



/*テキストカラー汎用*/

.red {
    color: #f66;
}

.pink {
    color: #B74F4F;
}

.blue {
    color: #0C81C7;
}


/*注釈用*/

.cyuui {
    color: #666;
    font-size: 12px;
    padding-left: 1em;
    text-indent: -1em;
    font-weight: normal;
}

.cyuui:before {
    color: #f66;
    content: "※";
    font-weight: normal;
}




/*角丸囲み汎用*/

.under_contents .rei {
    padding: 10px 20px 10px 20px;
    margin: 0 0 10px 0;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

.under_contents .rei.gr {
    background: #DEEDCD;
}

.under_contents .rei.hipink {
    background: #FBE4EF;
}

.under_contents .rei.hiblue {
    background: #DFF8FF;
}


.under_contents .rei.dotline {
    /*読み物用点線囲み グレー*/
    background: #F5F5F5;
    border: 2px dotted #ccc;
    margin: 20px 0;
    padding: 6px 20px 4px 20px;
}

.under_contents .rei.dotline_ye {
    /*読み物用点線囲み イエロー*/
    background: #FFFFEC;
    border: 2px dotted #E7DE96;
    margin: 20px 0;
    padding: 6px 20px 4px 20px;
}


.under_contents .rei.dotline_yem {
    /*無料相談 イエロー*/
    background: #FFFFEC;
    border: 2px dotted #E7DE96;
    margin: 0;
    padding: 14px 20px 14px 20px;
}

.under_contents .rei.dotline_yem.space {
    /*無料相談 イエロー*/
    margin: 15px 0 0 0;
}

.under_contents .rei.dotline ul li,
.under_contents .rei.dotline_ye ul li {
    /*読み物用点線囲み li間隔空け*/
    margin: 8px 0;
}




/*　PC改行なし　*/
@media only screen and (min-width:641px) {
    br.pc_none {
        display: none;
    }
}



/*　スマホ改行なし　*/
@media only screen and (max-width:640px) {
    br.ph_none {
        display: none;
    }
}



/*テキストリンク下線 汎用*/
a.underline {
    text-decoration: underline;
}





/*ページボタン 汎用*/
.under_contents .button.button-primary {
    color: #E1802F;
    background: #fff;
    border: 2px solid #E1802F;
}


.under_contents .button.button-primary:hover {
    color: #E1802F;
    background: #FFE9A6;
    border: 2px solid #E1802F;
}


.under_contents .button {
    width: 50%;
    font-size: 15px;
    letter-spacing: .15rem;
    display: block;
    height: 40px;
    margin: 0 auto;
    text-align: center;
    font-weight: 600;
    line-height: 41px;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 8px;
    cursor: pointer;
}

@media only screen and (max-width:640px) {
    .under_contents .button {
        width: 85%;
    }
}


/*----------------------------------
コンセプト
----------------------------------*/

.under_contents .concept {
    padding: 20px;
    margin: 30px 0 0 0;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    display: block;
    position: relative;
    box-sizing: border-box;
    text-align: justify;
    background: #FEFDF1;
    border: 1px solid #DFCEAE;
}


.under_contents .concept .ribbon {
    display: inline-block;
    position: absolute;
    top: -6px;
    left: 20px;
    margin: 0;
    padding: 25px 0 20px 4px;
    /*4pxは文字右の空白を消すため*/
    z-index: 2;
    width: 66px;
    text-align: center;
    color: #fff;
    font-size: 16px;
    background: linear-gradient(#F79B87 0%, #F74850 100%);
    border-radius: 0 2px 0 0;
}


.under_contents .concept .ribbon b {
    padding: 0 0 3px 0;
    border-bottom: 2px solid #fff;
}


.under_contents .concept .ribbon:before {
    position: absolute;
    content: '';
    top: 0;
    left: -6px;
    border: none;
    border-bottom: solid 6px #cf4a2d;
    border-left: solid 6px transparent;
}

.under_contents .concept .ribbon:after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    height: 0;
    width: 0;
    border-left: 35px solid #F74850;
    border-right: 35px solid #F74850;
    border-bottom: 22px solid transparent;
}


#content .post .under_contents .concept img {
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}


.under_contents .concept span.title {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 100px;
    margin: 0;
    z-index: 3;
    width: 64%;
    color: #E8557D;
    font-weight: bold;
}

.under_contents .concept .point {
    padding: 14px;
    margin: 15px 0 0 0;
    background: #fff;
    border: 1px dotted #F9A28E;
    color: #666;
}


.under_contents .concept .point p:before {
    padding: 0 6px 0 0;
    content: "Point\f0a4";
    font-family: FontAwesome;
    color: #3C8D27;
    font-weight: bold;
}


@media only screen and (min-width:641px) {
    #content .post .under_contents .concept .around_right img {
        margin-bottom: 4px;
    }

    /*画像下調整*/
    .under_contents .concept span.title {
        padding: 23px 0;
        font-size: 14px;
    }
}


@media only screen and (max-width:640px) {
    #content .post .under_contents .concept img {
        padding: 0;
        /* 640以下で角丸が消失するため*/
        margin-bottom: 15px;
        /* 同上*/
    }

    .under_contents .concept span.title {
        padding: 13px 0 0 0;
        font-size: 14px;
        line-height: 1.5;
    }
}





/*----------------------------------
制作実績
----------------------------------*/

.column_wrap_04 {
    clear: both;
    font-size: 12px;
    overflow: hidden;
}

.column_wrap_04 .columns div {
    background: #E7E7E7;
    overflow: hidden;
}

.column_wrap_04 .columns div span {
    display: block;
    text-align: center;
    font-weight: bold;
    color: #444;
    padding: 10px 5px;
    line-height: 1.3;
}

.column_wrap_04 .columns img {
    width: 100%;
    height: auto;
}

/*----------------------------------
20190807追記

#product {
	display: flex;
	justify-content: flex-start;
	align-items:flex-start;
	flex-wrap: wrap;
	margin-top: 18px;
}

#product .work {
	width: 30.666667%;
	margin-bottom: 2.5%;
	padding-right: 4%;
	font-size: 12px;
	min-height: 267px;
	border-bottom: 1px dotted #888;
	padding-bottom: 2.25%;
}

#product .work img {
	padding-bottom: 10px;
}

#product .work:nth-child(3n) {
	padding-right: 0;
}
*/

#product {
    margin-top: -10px;
}

#product .work .company {
    background: #E7E7E7;
    overflow: hidden;
    padding: 5px;
    line-height: 1;
    letter-spacing: 0.04em;
    font-feature-settings: "palt";
}

#product .work .button {
    margin: 10px auto 0 auto;
    width: 60%;
    font-size: 12px;
    letter-spacing: .15rem;
    display: block;
    height: 26px;
    text-align: center;
    font-weight: bold;
    line-height: 27px;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 5px;
    cursor: pointer;
}

#product .work .button.button-primary {
    color: #E1802F;
    background: #fff;
    border: 1px solid #E1802F;
}

#product .work .button.button-primary:hover {
    color: #E1802F;
    background: #FFE9A6;
    border: 1px solid #E1802F;
}

/*.column_wrap_04 .columns p {
	text-align: justify;}*/

@media only screen and (min-width:481px) {
    .column_wrap_04 {
        border-bottom: 1px dotted #888;
        padding-bottom: 20px;
    }

    .column_wrap_04 .three.columns {
        width: 30.6666666667%;
    }

    .column_wrap_04 .columns {
        width: 100%;
        float: left;
        box-sizing: border-box;
        margin-left: 4%;
    }

    .column_wrap_04 .columns:first-child {
        margin-left: 0;
    }

    .column_wrap_04 .columns p.space {
        margin: -5px 0 0 0;
    }

    .column_wrap_04 .columns p.indent,
    #product .work p.indent {
        padding-left: 3.4em;
        text-indent: -3.4em;
    }

    .danraku_space {
        margin-top: 20px;
    }
}


@media only screen and (max-width:480px) {
    .column_wrap_04 .three.columns {
        border-bottom: 1px dotted #888;
        padding-bottom: 40px;
    }

    .column_wrap_04 {
        margin: 0 0 -40px 0;
    }

    .column_wrap_04 .three.columns {
        margin: 0 0 40px 0;
    }

    .column_wrap_04 .columns p {
        margin: 0;
    }

    .danraku_space {
        margin-top: 40px;
    }

    #product .work:first-child {
        margin-top: 8%;
    }

    #product .work {
        width: 100%;
        margin-bottom: 8%;
        padding-right: 0;
        font-size: 12px;
        min-height: initial;
        border-bottom: 1px dotted #888;
        padding-bottom: calc(8% - 1px);
    }

    #product .work .button {
        width: 99%;
    }
}

/*----------------------------------
20220411 グリッドレイアウトに変更
----------------------------------*/
@media only screen and (min-width:481px) {
    #product {
        display: grid;
        grid-template-rows: 75px;
        grid-template-columns: repeat(auto-fill, calc(100% / 3));
    }

    #product .work {
        grid-row: span 3;
        font-size: 12px;
        border-bottom: 1px dotted #888;
        margin-top: 26px;
        padding-bottom: 17px;
    }

    #product>div:first-of-type,
    #product>div:nth-of-type(3n+1) {
        padding-right: 19.334px;
    }

    #product>div:nth-of-type(3n-1) {
        padding-left: 9.667px;
        padding-right: 9.667px;
    }

    #product>div:nth-of-type(3n) {
        padding-left: 19.334px;
    }
}

/*ボタン*/

.column_wrap_04 .button {
    margin: 10px auto 0 auto;
    width: 60%;
    font-size: 12px;
    letter-spacing: .15rem;
    display: block;
    height: 26px;
    text-align: center;
    font-weight: bold;
    line-height: 27px;
    text-decoration: none;
    white-space: nowrap;
    border-radius: 5px;
    cursor: pointer;
}


.column_wrap_04 .button.button-primary {
    color: #E1802F;
    background: #fff;
    border: 1px solid #E1802F;
}

.column_wrap_04 .button.button-primary:hover {
    color: #E1802F;
    background: #FFE9A6;
    border: 1px solid #E1802F;
}

@media only screen and (max-width:640px) {

    .column_wrap_04 .button,
    #product .work .button {
        width: 99%;
    }
}




/*----------------------------------
お客様の声
----------------------------------*/
.under_contents .voice_wrap {
    margin: 10px 0 0 0;
    background: #FFFAEC;
    border: 1px dotted #F9A28E;
    padding: 10px;
}

.uservoice h3:first-child {
    margin-top: 0;
}

.uservoice h3 {
    margin-top: 50px;
}

.uservoice h4 {
    margin-top: 15px;
    margin-bottom: 15px;
}

.uservoice p {
    margin-bottom: 15px;
}

.uservoice .uservoice_info p {
    margin-bottom: 0;
}

.uservoice .uservoice_info img {
    height: auto;
    max-width: 100%;
}

.uservoice .uservoice_info figure {
    margin: 0;
}

.uservoice figcaption {
    font-size: 14px;
    text-align: center;
}

/*----------------------------------
料金プラン
----------------------------------*/
.ryokin table td .price {
    color: #FF6600;
    font-size: 18px;
    font-family: 'M PLUS 1p';
    font-weight: 600;
    padding: 0 5px 0 0;
}

.ryokin table td span.tax,
.ryokin table td p.cyuui {
    color: #666;
    font-size: 14px;
    line-height: 1.3;
}



@media only screen and (min-width:641px) {
    .ryokin table th {
        width: 24%;
    }
}


@media only screen and (max-width:640px) {
    .ph_responsive.ryokin table th {
        border-bottom: 1px dotted #F87E6D;
        background: #FEEFED;
    }

    .ph_responsive.ryokin table th:before {
        /*** アイコンが必要な場合　***/
        color: #FF6666;
        content: "\f058";
        font-weight: normal;
        padding: 0 5px 0 10px;
    }
}


@media only screen and (max-width:480px) {
    .under_contents .ryokin table {
        font-size: 14px;
    }
}



/*----------------------------------
業務案内
WEB制作
更新／運用サービス
----------------------------------*/

.under_contents .nayami {
    /*更新／運用サービスのみ*/
    background: #FFF3F3;
    padding: 15px 20px 15px 20px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

.image_pcnone {
    display: none;
}

.yuuji .title {
    color: #666;
    font-size: 14px;
}

.yuuji {
    font-size: 12px;
}



/*流れ*/
.nagare_wrap {
    background: #fff;
    border: 1px solid #95CEBF;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    clear: both;
    overflow: hidden;
}


.nagare {
    display: table;
}

.nagare .num,
.nagare .txt {
    display: table-cell;
    vertical-align: middle;
}

.nagare .num,
.nagare .num_imgver {
    font-size: 23px;
    font-family: 'M PLUS 1p';
    font-weight: bold;
    background: #95CEBF;
    color: #fff;
}

.nagare .num span,
.nagare .num_imgver span {
    padding: 0 20px;
}

.nagare .txt {
    padding: 10px 20px;
}

.nagare b {
    color: #217c8c;
    font-size: 15px;
}

.nagare b:before {
    content: "\f046";
    font-family: FontAwesome;
    font-weight: normal;
    margin: 0 5px 0 0;
    color: #65CAEB;
}

.n_arrow {
    height: 40px;
    background: url(./img/arrow_nagare.png) no-repeat center;
}




/*活用支援 内容*/
.under_contents .naiyou {
    background: #ECF4D9;
    padding: 10px 20px 20px 20px;
    margin: 10px 0 0 0;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

.under_contents .naiyou ul li {
    padding: 0;
    line-height: 1.5;
    margin: 10px 0 10px 5px;
    list-style-type: none;
    background: none;
    list-style-position: inside;
    padding-left: 1.0rem;
    text-indent: -1.2rem;
    text-align: justify;
}

.under_contents .naiyou ul li::before {
    content: "\f00c";
    font-family: FontAwesome;
    color: #5F8723;
    padding: 0 5px 0 0;
}



/*活用支援 オプション*/
.under_contents .naiyou_op {
    background: #F9FEEF;
    padding: 15px;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border: 1px dotted #ccc;
}



/*活用支援　料金表　インデントしない注釈用*/
.normal_txt {
    font-size: 12px;
    color: #666;
    font-weight: normal;
}

.normal_txt:before {
    color: #f66;
    content: "※";
}



@media only screen and (min-width:641px) {
    #content .post .pc_image img {
        padding: 0 0 15px 0;
    }

    .sp_image {
        display: none;
    }

    .nayami_wrap {
        clear: both;
        overflow: hidden;
    }

    .nayami_wrap.space {
        margin: 20px 0 10px 0;
    }

    .nayami.left,
    .nayami.right {
        width: 43.8%;
    }

    .nayami.left {
        float: left;
    }

    .nayami.right {
        float: right;
    }


    /*流れ内に画像*/
    .nagare .txt_img {
        padding: 10px 20px;
    }

    #content .post .nagare .txt_img img {
        float: left;
        width: 25%;
        padding: 2px 15px 13px 0;
    }

    #content .post .nagare .txt_img p.txtimg_wrap {
        padding: 5px 0 0 0;
    }

    .nagare .num_imgver {
        display: table-cell;
        vertical-align: middle;
    }

    .nagare .num_imgver .sptitle {
        display: none;
    }


    /*活用支援　料金表*/
    .katuyou_table_pc table th {
        width: auto;
    }

    .top_label th {
        background: #666;
        color: #fff;
    }

    .price2 {
        font-size: 2em;
        font-weight: bold;
    }

    .osusume {
        background: #e62d2b;
        color: #fff;
        padding: 5px;
        margin-left: -50px;
    }

    .no-osusume {
        margin-left: 35px;
    }

    .katuyou_table_pc table td {
        text-align: center;
    }

    .katuyou_sp {
        display: none;
    }
}



@media only screen and (max-width:640px) {
    .pc_image {
        display: none;
    }

    .nayami_wrap.space {
        margin: 15px 0 0 0;
    }

    .nayami {
        margin: 10px 0 0 0;
    }


    #content .post .sp_image.first img {
        padding: 0;
    }


    /*流れ内に画像*/
    .nagare .num_imgver,
    .nagare .txt_img {
        display: block;
    }

    .nagare .txt_img {
        padding: 15px;
    }

    .nagare .txt_img b {
        display: none;
    }

    .nagare .num_imgver {
        font-size: 15px;
        padding: 5px 0;
    }

    .nagare .num_imgver span {
        padding: 0 10px 0 20px;
    }

    .nagare .num_imgver .sptitle {
        font-size: 15px;
        padding: 0 0 0 0;
        color: #2C5661;
    }


    /*活用支援　料金表*/
    .under_contents .katuyou_table_pc {
        display: none;
    }

    .katuyou_sp {
        overflow: hidden;
    }

    .katuyou_sp .katuyou_sp_wrap {
        padding: 0;
    }

    .katuyou_sp .katuyou_sp_title {
        border-bottom: 1px dotted #F87E6D;
        background: #FEEFED;
        padding: 5px 0;
        font-weight: bold;
    }

    .katuyou_sp .katuyou_sp_title:before {
        color: #FF6666;
        font-family: FontAwesome;
        content: "\f058";
        font-weight: normal;
        padding: 0 5px 0 10px;
    }


    .katuyou_sp .dotline {
        padding: 10px 0;
        display: block;
        border-bottom: 1px dotted #ccc;
    }

    .katuyou_sp .after_plice {
        padding: 10px 0 20px 0;
    }

    .osusume_sp {
        background: #e62d2b;
        color: #fff;
        padding: 2px;
    }

}
.banner_dl_pdf {
    text-align: center;
}
.banner_dl_pdf img {
    max-width: 600px;
    width: 100%;
    height: auto;
    border-radius: 10px !important;
    padding: 0 !important;
}

/*-------------------------------------------------------
　任せてガッチリWEB活用プラン（資料ダウンロード）
　ブラウザ右下固定バナー表示（20210617)
--------------------------------------------------------*/
.gacchiri-banner {
	display: none !important; // 非表示
    position: fixed;
    bottom: 20px;
    right: 50px;
    z-index: 1;
    display: none;
}

.gacchiri-banner img {
    max-width: 300px;
    height: auto;
}

.gacchiri-banner p.close {
    position: absolute;
    right: 0;
    bottom: 15px;
}

.gacchiri-banner p.close a {
    display: block;
    width: 14px;
    height: 14px;
    text-align: center;
    background: #fff;
    border: 3px solid #ff9999;
}

.gacchiri-banner p.close a i {
    font-size: 13px;
    z-index: 888;
    color: #9e9e9e;
    position: absolute;
    top: 3px;
    right: 0;
    left: 1px;
}

.gacchiri-banner img {
    max-width: 300px;
    height: auto;
}

@media only screen and (max-width:640px) {
    .gacchiri-banner {
        display: none !important;
    }

    .gacchiri-banner_sp {
        display: block;
        margin-bottom: 20px;
    }
}

@media only screen and (min-width:641px) {
    .gacchiri-banner_sp {
        display: none !important;
    }
}

/*　資料請求thanksページ */
.request_thanks {
    background: #f5f5f5;
    padding: 15px 20px;
    margin: 20px 0;
    font-weight: bold;
}


/*----------------------------------
Ｑ＆Ａ
----------------------------------*/

.qa_wrap {
    margin: -10px 0 20px 0;
    /*上下調整*/
}

.qa_wrap.last {
    margin: -10px 0 -30px 0;
    /*上下調整*/
}

.qa_block {
    border-bottom: 1px dotted #999;
    overflow: hidden;
}

.qa_block.dotnone {
    /*最後の段落用*/
    border-bottom: none;
}

.qa {
    margin: 30px 0;
    padding: 0 30px;
    position: relative;
}

.qa:after,
.qa:before {
    clear: both;
    content: "";
    display: block;
}

.qa figure img {
    width: 100%;
    height: 100%;
    /*border: 1px solid #666;*/
    border-radius: 50%;
    margin: 0;
}

#content .post .qa figure img {
    padding-bottom: 0;
}

.qa-image-description {
    padding: 5px 0 0;
    font-size: 10px;
    text-align: center;
}



/* 質問*/
.qa-image-left {
    position: absolute;
    left: 0;
    margin: 0;
    width: 60px;
    height: 60px;
}

.qa-text-left {
    position: relative;
    margin-left: 40px;
    padding: 14px;
    /*border: 1px solid #aaa;*/
    background: #FFE6EA;
    border-radius: 5px;
    float: left;
    max-width: 60%;
}

@media only screen and (max-width:480px) {
    .qa-text-left {
        max-width: 100%;
    }
}

.qa-text-left:before {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    /*border-right: 10px solid #aaa;*/
    top: 15px;
    left: -20px;
}

.qa-text-left:after {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-right: 10px solid #FFE6EA;
    top: 15px;
    left: -19px;
}



/* 答え*/
.qa-image-right {
    position: absolute;
    right: 0;
    margin: 0;
    width: 60px;
    height: 60px;
}

.qa-text-right {
    position: relative;
    margin-right: 40px;
    padding: 14px;
    /*border: 1px solid #aaa;*/
    background: #C4ECFF;
    border-radius: 5px;
    float: right;
    max-width: 60%;
}


@media only screen and (max-width:480px) {
    .qa-text-right {
        max-width: 100%;
    }
}

.qa-text-right:before {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    /*border-left: 10px solid #aaa;*/
    top: 15px;
    right: -20px;
}

.qa-text-right:after {
    position: absolute;
    content: '';
    border: 10px solid transparent;
    border-left: 10px solid #C4ECFF;
    top: 15px;
    right: -19px;
}

.qa p {
    margin: 0 0 20px;
}

.qa p:last-child {
    margin-bottom: 0;
}




/*----------------------------------
業務案内
----------------------------------*/
#service_block_g .service {
    padding: 14px;
    background: #FFFDEC;
    border: 1px dotted #D5C199;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    overflow: hidden;
}


#service_block_g .service .img_wrap {
    text-align: center;
}

#service_block_g .service .txt_wrap {
    line-height: 1.7;
    overflow: hidden;
    color: #555;
}

#service_block_g .service .title_pc,
#service_block_g .service .title_sp {
    background: #fff;
    color: #ED4D91;
    font-size: 15px;
    font-weight: bold;
}

#service_block_g .button {
    font-size: 14px;
}
#service_block_g .service .txt_wrap :is(p, ul):not(:last-child){
    margin-bottom: 1em;
}
#service_block_g .service .txt_wrap li{
    margin-bottom: 0.25em;
}


@media only screen and (min-width:641px) {
    #service_block_g {
        margin: 30px 0 0 0;
    }

    #service_block_g .service.space {
        margin: -10px 0 0 0;
    }

    #service_block_g .service .img_wrap {
        width: 40%;
        float: left;
    }

    #service_block_g .service .title_pc {
        display: block;
        margin: 0 0 28px 0;
        padding: 8px 5px 5px 14px;
        border-left: 4px solid #ED4D91;
        border-bottom: 1px dotted #ED4D91;
        font-size: 16px;
    }

    #service_block_g .service .title_sp {
        display: none;
    }

    #service_block_g .service img {
        width: 100%;
        padding: 0;
    }

    #service_block_g .service .txt_wrap {
        width: 57%;
        float: right;
        margin: 0;
        font-size: 15px;
    }

    #service_block_g .button {
        margin: 8px 0 0 0;
        float: right;
    }

    #service_block_g p:has(.button + span){
    margin: 8px 0 0 0;
    padding-right: 4px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    float: right;
    width: 50%;
}
#service_block_g p:has(.button + span) > a{
    width: 100%;
}
#service_block_g .button + span{
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: 12px;
}
}


@media only screen and (max-width:640px) {
    #service_block_g {
        margin: 40px 0 0 0;
    }

    #service_block_g .service.space {
        margin: -20px 0 0 0;
    }

    #service_block_g .service {
        padding: 14px;
    }

    #service_block_g .service .title_pc {
        display: none;
    }

    #service_block_g .service .title_sp {
        display: block;
        margin: 0 0 10px 0;
        padding: 8px 0;
        border-bottom: 2px dotted #ED4D91;
        font-size: 16px;
    }

    #service_block_g .service .img_wrap img {
        width: 100%;
        margin: 0 0 5px 0;
    }

    #service_block_g .service .txt_wrap {
        margin: 0;
        font-size: 15px;
    }

    #service_block_g .button {
        width: 98%;
        margin: 15px auto 0 auto;
    }
    #service_block_g p:has(.button + span){
        width: 100%;
    }
    #service_block_g .button + span{
        display: inline-block;
        width: 100%;
        text-align: center;
        font-size: 12px;
    }
}
/*----------------------------------
サービス内容追加（最終更新20200424）
----------------------------------*/
.services_main {
    margin: 0 !important;
}

.services_main img {
    width: 100%;
    height: auto;
    margin-bottom: 0;
    padding-bottom: 0 !important;
}

div.services_nav {
    display: flex;
    width: calc(100% - 10px);
    background: linear-gradient(180deg, #ed9a00 0%, #ed9a00 127px, #FFFFFF 127px, #FFFFFF 100%);
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    /* Safari etc. */
    -ms-flex-wrap: wrap;
    /* IE10        */
    flex-wrap: wrap;
    padding: 25px 5px 25px;
}

.services_nav a {
    display: inline-block;
    padding: 15px 0;
    text-align: center;
    background: #FFF;
    border: #ed9a00 solid 2px;
    border-radius: 5px;
    color: #ea629e;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 10px;
    text-decoration: none;
    box-shadow: 0 0 rgba(0, 0, 0, 0.5);
    transition: 0.3s;
}

.services_nav :is(a, div){
    width: calc(33.333333% - 10px);
}

.services_nav a:hover {
    box-shadow: 0 0 6px 0 rgba(168, 79, 0, 0.5);
    transform: translateY(-3px);
}
/* 240603追記 */
@media screen and (max-width:640px){
    .services_nav a {
    padding: 8px 0;
    }
    .services_nav :is(a, div){
        width: calc(50% - 8px);
    }
}

/*----------------------------------
会社の歴史
----------------------------------*/

#post_list li {
    background: none;
}

.under_contents #post_list h4 {
    font-size: 14px;
    color: #AB534B;
    border-left: none;
    padding: 0;
    margin: 0 0 3px 0;
    font-family: 'Noto Sans Japanese';
    font-weight: 600;
}

.under_contents #post_list .info .meta {
    display: none;
}


.post h2 {
    /*記事内h2*/
    font-size: 15px;
    -webkit-margin-before: 1.5em;
    -webkit-margin-after: 0em;
}




@media only screen and (min-width:641px) {
    .under_contents #post_list {
        background: none;
        margin: -20px 0 0 0;
    }

    #post_list .image_area {
        margin: 0 0 0 0;
    }

    .under_contents #post_list .info {
        width: 350px;
    }

    #under.column .under_contents #post_list .info {
        width: 100%;
    }
}


@media only screen and (max-width:640px) {
    #post_list {
        border: none;
    }

    .under_contents #post_list li {
        padding: 15px 0 0 0;
        border-bottom: 1px dotted #999;
    }

    .under_contents #post_list .info {
        margin: 0 0 15px 0;
    }
}



/*----------------------------------
Ａテキスト　Ｂ画像1列＋テキスト
----------------------------------*/


/*　下層　汎用　pタグ使用　*/


/*----------------------------------
Ｃ画像2列＋テキスト
----------------------------------*/

.column_wrap_01 .left,
.column_wrap_01 .right {
    width: 49%;
}

.column_wrap_01 .left {
    float: left;
}

.column_wrap_01 .right {
    float: right;
}


@media only screen and (max-width:640px) {

    .column_wrap_01 .left,
    .column_wrap_01 .right {
        width: 100%;
        float: none;
    }
}



/*----------------------------------
Ｄ左画像＋右テキスト
----------------------------------*/
.column_wrap_02 {
    clear: both;
    overflow: hidden;
}

.column_wrap_02 .leftimg {
    float: left;
    width: 49%;
    padding: 0;
}

.column_wrap_02 .righttxt {
    float: right;
    width: 48%;
}

@media only screen and (min-width:641px) {
    #content .post .column_wrap_02 .leftimg img {
        padding-bottom: 0;
    }
}

@media only screen and (max-width:640px) {

    .column_wrap_02 .leftimg,
    .column_wrap_02 .righttxt {
        float: none;
        width: 100%;
    }
}



/*----------------------------------
Ｅ左テキスト＋右画像
----------------------------------*/
.column_wrap_03 {
    clear: both;
    overflow: hidden;
}

.column_wrap_03 .lefttxt {
    float: left;
    width: 48%;
}

.column_wrap_03 .rightimg {
    float: right;
    width: 49%;
    padding: 0;
}

@media only screen and (min-width:641px) {
    #content .post .column_wrap_03 .rightimg img {
        padding-bottom: 0;
    }
}

@media only screen and (max-width:640px) {

    .column_wrap_03 .lefttxt,
    .column_wrap_03 .rightimg {
        float: none;
        width: 100%;
    }
}



/*----------------------------------
Ｆ左画像＋右テキスト回り込み
----------------------------------*/
@media only screen and (min-width:641px) {
    #content .post .around_right img {
        float: left;
        margin: 0 18px 0 0;
        padding: 0;
        width: 49%;
    }
}

@media only screen and (max-width:640px) {
    .around_right img {
        margin: 0 0 0 0;
        float: none;
        width: 100%;
    }
}




/*----------------------------------
Ｇ左テキスト回り込み＋右画像
----------------------------------*/
@media only screen and (min-width:641px) {
    #content .post .around_left img {
        float: right;
        margin: 0 0 0 18px;
        padding: 0;
        width: 49%;
    }
}

@media only screen and (max-width:640px) {
    .around_left img {
        margin: 0 0 0 0;
        float: none;
        width: 100%;
    }
}




/*----------------------------------
アクセスレポート
----------------------------------*/
.under_contents .reports li {
    line-height: 3;
    background: none;
    padding: 0;
}

.under_contents .reports li a.body_link:before {
    content: "\f201";
    font-family: FontAwesome;
    margin-right: 8px;
    color: #00B0FF;
}

.under_contents .reports li a.pdf img {
    top: -10px;
    position: relative;
}



/*----------------------------------
ブログ見出し
----------------------------------*/
.single h3 {
    font-size: 20px;
    position: relative;
    font-weight: bold;
}

.single h3::before {
    content: '';
    width: 30px;
    height: 30px;
    display: block;
    background-image: url(img/logo_small.png);
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
}

.single h3::after {
    position: absolute;
    content: '';
    bottom: -3px;
    left: 0;
    width: 100%;
    height: 100%;
    border-bottom: solid 3px #e71273;
    border-top: solid 3px #e71273;
}


@media only screen and (min-width:641px) {
    .single {
        margin: 0 0 20px 0;
    }
    .single h3 {
        padding: 15px 8px 15px 41px;
    }

    .single h3::before {
        width: 30px;
        height: 30px;
        margin-left: 5px;
    }
    
}


@media only screen and (max-width:640px) {
    .single h3 {
        font-size: 16px;
            padding: 12px 8px 12px 35px;
        }
    .single h3::before {
        width: 24px;
        height: 24px;
        margin-left: 0;
    }
}


/*----------------------------------
次の記事・前の記事
----------------------------------*/
/*
@media only screen and (min-width:641px) {

	.prev_next {
		margin-bottom: 40px;
	}
	.prev_next .next_page a:after {
		content: ' >>';
	}

	.prev_next .prev_page a:before {
		content: '<< ';
	}

}

@media only screen and (max-width:640px) {
	.prev_next {
		margin: 20px 5px 40px 5px;
	}

	.prev_next > div {
		padding: 10px 0;
		border-bottom: 1px dotted #ccc;
	}

	.prev_next > .prev_page {
		text-align: left;
	}

	.prev_next > .next_page {
		text-align: right;
	}

	.prev_next > .prev_page > a:before {
		content: '<< ';
	}
	.prev_next > .next_page > a:after {
		content: ' >>';
	}
}*/


.prev_next>div {
    margin: 0;
    border-bottom: 1px dotted #999;
}

.prev_next>.prev_page {
    padding: 10px 15px;
    text-align: left;
}

.prev_next>.next_page {
    padding: 10px 15px;
    text-align: right;
}


@media only screen and (min-width:641px) {
    .prev_next {
        margin-bottom: 40px;
    }

    .prev_next .next_page a:after {
        content: ' >>';
    }

    .prev_next .prev_page a:before {
        content: '<< ';
    }

}


@media only screen and (max-width:640px) {
    .prev_next {
        margin: 10px 0 40px 0;
    }

    .prev_next>.prev_page>a:before {
        content: '<< ';
    }

    .prev_next>.next_page>a:after {
        content: ' >>';
    }
}




/*----------------------------------
お問い合わせ
----------------------------------*/
.wpcf7 {
    margin: 0 0 0 !important;
}

#contact_form form {
    margin: 0;
}

#contact_form form>div {
    padding: 0;
}

#contact>div:nth-child(odd) {
    background: #fff;
}

#contact_form form>div>div:first-child {
    padding-left: 0;
    padding-top: 5px;
}

#contact_form form>div>div:last-child {
    margin: 0;
}

#contact>div {
    margin-bottom: 0;
    padding: 30px 0 0 0;
}
/*----*//*----*//*----*//*----*/
#contact_form p.f_text {
    line-height: normal;
    margin-bottom: 20px;
}
#contact_form p.f_text a {
    font-weight: bold;
    color: #e3463c;
}
#contact_form .to_google-form {
    padding: 10px 18px 15px;
    margin: 0 auto 30px;
    text-align: center;
    font-weight: bold;
    /*border: solid 3px #0099ff;*/
    background: #2994db;
    max-width: 600px;
    width: 100%;
    border-radius: 15px;
}
#contact_form .to_google-form a {
    text-decoration: none;
    line-height: normal;
}
#contact_form .to_google-form .txt_link_form a {
    display: block;
    width: 100%;
    margin-bottom: 14px;
    color: #fff;
    font-size: 1.2em;
}
#contact_form .to_google-form .ban_link_form a span:before {
    font-family: FontAwesome;
    content: "\f00c";
    color: #fcb239;
    margin-right: 7px;
}
#contact_form .to_google-form .ban_link_form a {
    border-radius: 25px;
    color:#ba3f73;
    /*background-color: #ea5532;
    border: solid 2px #e3463c;*/
    transition: .4s;
    background-color: #fff;
    padding: 7px 30px 7px 25px;
    font-size: 1.2em;
}
#contact_form .to_google-form .ban_link_form a:hover {
    color:#3F7985;
}
@media only screen and (max-width:640px) {
    #contact_form .to_google-form {
        padding: 10px 14px 14px;
    }
    #contact_form .to_google-form .txt_link_form a {
        font-size: 1.1em;
    }
    #contact_form .to_google-form .ban_link_form a {
        font-size: 1em;
    }

}
#contact_form input,
#contact_form textarea,
#contact_form select {
    border: solid 1px #B9B8B8;
    padding: 5px 8px 1px 8px;
}

.require:before,
.option:before {
    width: 40px;
}

span.input_annotation {
    font-size: 0.9em;
    color: #9a7878;
}

::placeholder {
    color: #ababab;
}

/* 旧Edge対応 */
::-ms-input-placeholder {
    color: #7e7e7e;
}

/* IE対応 */
:-ms-input-placeholder {
    color: #7e7e7e;
}

@media only screen and (min-width:641px) {
    #contact_form form>div>div:last-child {
        padding: 20px 0 0 0;
    }

}


@media only screen and (max-width:640px) {
    #contact_form form>div>div:last-child {
        padding: 0;
    }

}

/*----------------------------------
競合他社のWEBサイトアクセス調査申込フォーム
----------------------------------*/
#contact_form #access_survey {
    padding: 0 80px;
}

/*----------------------------------
アクセス状況　個別ページ
----------------------------------*/
/*－マージン*/
.space_top-30 {
    margin-top: -20px;
}

@media only screen and (max-width:640px) {
    .under_contents.repowrap {
        margin: 0 0 -30px 0;
    }
}


/*----------------------------------
経営コラム一覧
----------------------------------*/

#under.column table {
    border: 0;
}

#under.column table td {
    border-left: 0;
    border-right: 0;
}

#under.column table td:first-child {
    font-weight: bold;
    vertical-align: top;
}

@media only screen and (min-width:641px) {
    #under.column table td:first-child {
        width: 17%;
        padding: 22px 0 0 4px;
    }

    #under.column #post_list.txt .link {
        margin: 0 0 10px 0;
    }

    #under.column table .excerpt {
        margin: 5;
    }
}

@media only screen and (max-width:640px) {
    #under.column table td:first-child {
        width: 30%;
        font-size: 0.8rem;
        padding: 12px 0 0 0;
    }
}

/*----------------------------------
会社概要
----------------------------------*/
.panorama iframe {
    margin: 20px 0 0 0;
    border: 3px solid #ccc !important;
}

.company .wp-block-table {
    margin: auto 0;

}

.company .tourokubangou {
    line-height: 1.3;
}

@media only screen and (max-width:570px) {
    .company .tourokubangou br {
        /* display: none; */
    }
}

/*----------------------------------
活用支援ページ更新（20190913）
----------------------------------*/
.plan-std {
    background: #8d9fca;
    padding: 24px;
}

.plan-pro {
    background: #f8ded3;
    padding: 24px;
}

.plan-std p,
.plan-pro p {
    background: #fff;
    padding: 10px;
}

/*----------------------------------
ブログお問い合わせボタン（20200227）
----------------------------------*/
div.inquiry {
    background-image: url(img/banner_bg.png);

    background-size: 30%;
    background-repeat: no-repeat;
    flex-direction: column;
    display: flex;
    justify-content: center;
    align-items: center;
}


.inquiry div {
    margin: 0 auto;
    text-align: center;
}

a.inquiry_btn {
    display: block;
    margin: 0 auto;
    box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.25);
    background-color: #ffce52;
    border-radius: 3px;
    border: 1px solid #ffa340;
    cursor: pointer;
    color: #2E2E2E;
    font-weight: bold;
    letter-spacing: 0.1em;
    text-decoration: none;
    transition: all 0.3s ease 0s;
}

.inquiry_btn:hover {
    box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.25);
    background-color: #ffce52;
    transform: translateY(-0.1875em);
}

.inquiry_btn:active {
    position: relative;
    top: 1px;
}

@media screen and (min-width:641px) {
    div.inquiry {
        width: 600px;
        height: 200px;
        background-position: right 6% top 40%;
    }

    .inquiry div {
        width: 240px;
    }

    a.inquiry_btn {
        font-size: 18px;
        padding: 22px 35px;
    }
}

@media screen and (max-width:640px) {
    div.inquiry {
        width: 100%;
        height: 130px;
        background-size: 30%;
        background-position: right 3% top 15%;
    }

    .inquiry div {
        width: 60%;
        text-align: left;
    }

    a.inquiry_btn {
        width: 60%;
        height: auto;
        text-align: center;
        font-size: 1.2em;
        padding: 1em 1em;
    }
}

/*----------------------------------
twitterウィジェット（20200305）
----------------------------------*/
div.tweets {
    border-bottom: 1px solid rgba(15, 70, 100, .12);
    margin-bottom: 20px;
}


/*--200424追記--*/
div.ssl_wrap {
    width: 100%;
}

.ssl_wrap>div.wp-block-group__inner-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 95%;
    margin: 0 auto;
}

div.ssl_box {
    width: calc(50% - 10px);
    padding: 0;
    margin-bottom: 20px;
    display: flex;
}

div.ssl_box>div {
    display: flex;
    flex-wrap: wrap;
    background: #FFF3F3;
    border-radius: 5px;
}

.ssl_box p.ssl_ttl {
    width: 100%;
    font-size: 14px;
    color: #FFFFFF;
    background: #AB534B;
    border-radius: 5px 5px 0 0;
    padding: 6px 6px 6px 10px;
    font-family: 'Noto Sans Japanese';
    font-weight: 400;
    height: 50px;
    display: flex;
    align-items: center;
}

.ssl_box p.ssl_cont {
    width: 100%;
    padding: 15px;
    font-size: 13px;
}
/*----------------------------------
TOP 助成金案内 （20240710追記）
----------------------------------*/
#top_subsidy{
    
    margin-bottom: 30px;
}

#top_subsidy .wrap_01 h3{
    display: block;
    width: 100%;
    font-size: 15px;
    margin: 0;
    font-weight: normal;
    padding: 15px 0 5px;
    letter-spacing: initial;
}
#top_subsidy .wrap_01 h3 span{
    color: #d62395;
    margin: 0 10px 0 0;
}
#top_subsidy .subsidy_wrap{
    width: 100%;
    background: url(img/top_subsidy.jpg);
    background-repeat: no-repeat;
	background-size:contain;
    aspect-ratio: 15 / 8;
    height: auto;
    position: relative;
    display: flex;
    justify-content: right;
    align-items: flex-end;
}
#top_subsidy .subsidy_wrap > div{
    width: 100%;
    height: fit-content;
    padding: 0 103px 20px 181px;
    display: flex;
    justify-content: space-between;
}
#top_subsidy .subsidy_wrap a{
    background-color: #fff600;
    color: #01253f;
    font-weight: 600;
    font-size: 1.125rem;
    padding: .5em .75em .5em 1.5em;
    border-radius: 10px;
    border: #01253f 2px solid;
}
#top_subsidy .subsidy_wrap a:hover{
    font-weight: 600;
    color: #FFF;
    background-color: #01253f;
}
#top_subsidy .subsidy_wrap a::after{
    content: '\f054';
    font-family: "FontAwesome";
    display: inline-block;
    margin-left: 1em;
}
@media screen and (max-width: 640px) {
    #top_subsidy .wrap_01{
           overflow: hidden;
    clear: both;
    }
    #top_subsidy .wrap_01 h3 {
        font-size: 15px;
        padding-left: 1.75em;
        padding-top: unset;
        text-indent: -1.4em;
        font-weight: 700;
        box-sizing: border-box;
    }
    #top_subsidy .subsidy_wrap > div{
        width: 100%;
        height: fit-content;
        display: flex;
        justify-content: space-between;
        padding: 0 5% 5px 6%;
        flex-wrap: wrap;
    }
    #top_subsidy .subsidy_wrap a{
        font-size: 0.85em;
    padding: .25em .5em .25em 1em;
    }
    #top_subsidy{
        padding: 15px;
        margin: auto;
    }
}

/*----------------------------------
TOP その他の取扱商品（20200419）
----------------------------------*/

#top_product {
    overflow: hidden;
    clear: both;
}

#top_product .wrap_01 {
    overflow: hidden;
    clear: both;
}

#top_product img {
    width: 100%;
}

#top_product .left,
#top_product .right {
    position: relative;
}

@media screen and (min-width: 641px) {
    #top_product {
        width: 100%;
    }

    #top_product img {
        margin: 0 0 10px 0;
    }

    #top_product .wrap_01 {
        margin: 40px 0 40px 0;
        position: relative;
        overflow: initial;
    }

    #top_product .wrap_01 h3 {
        display: block;
        width: 100%;
        font-size: 15px;
        margin: 0;
        background: #fff;
        font-weight: normal;
        position: absolute;
        padding: 5px 0;
        top: -30px;
        left: 0;
        letter-spacing: initial;
    }

    #top_product .wrap_01 h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    #top_product .left {
        float: left;
    }

    #top_product .right {
        float: right;
    }

    #top_product .left,
    #top_product .right {
        width: 48.8%;
        text-align: justify;
    }

}

@media screen and (max-width: 640px) {
    #top_product {
        padding: 15px;
        margin: auto;
    }

    #top_product .wrap_01 h3 {
        font-size: 15px;
        padding-left: 1.75em;
        text-indent: -1.4em;
    }

    #top_product .wrap_01 h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    #top_product .wrap_01 h3 {
        font-size: 15px;
        padding-left: 1.75em;
        text-indent: -1.4em;
    }

    #top_product .wrap_01 h3 span {
        color: #d62395;
        margin: 0 10px 0 0;
    }

    #top_product img {
        margin: 0 0 10px 0;
    }

    #top_product .left,
    #top_product .right {
        width: 100%;
        margin: 0 0 20px 0;
    }

}


/*----------------------------------
TOP スマホでTwitter、Instagramを表示（20220518）
----------------------------------*/
@media screen and (max-width: 640px) {
    .twitter_sp div#tweets_sp {
        margin-top: 30px;
        padding-right: 15px;
    }
}

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

    .instagram_sp {
        display: none;
    }
}

/*----------------------------------
サービス内容追加（最終更新20211220）
印刷物、ロゴ、動画制作サービス
----------------------------------*/
.print .sector {
    font-size: 14px;

}

.print .sample {
    margin-bottom: 40px;
}

.print .sample .t_list {
    margin-top: 15px;
}

.print .sample figure {
    margin: 10px 10px 10px 0;
}

.print .sample .img50 {
    width: 50%;
}

.print .sample .img40 {
    width: 40%;
}

.print .sample .img80 {
    width: 80%;
}

.print .sample .img25 {
    width: 25%;
}

@media screen and (max-width: 640px) {

    .print .sample .img40,
    .print .sample .img50,
    .print .sample .img80 {
        width: 100%;
    }

    .print .sample .img25 {
        width: 35%;
    }

}

.print h5 {
    font-size: 15px;
    ;
    border-bottom: dotted 1px #AB534B;
    position: relative;
}

.print h5:before {
    content: "\f152";
    font-family: FontAwesome;
    color: #F79D91;
    padding: 0 8px 0 3px;
    font-size: 18px;
    ;
    font-weight: normal;
}

.print h5:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 1px #F79D91;
    /*bottom: -3px;*/
    width: 20%;
}

.print .site_a,
.print .site_in {
    margin-bottom: 30px;
}

.print .site_b {
    margin: 0;
}

.print .site_in a {
    color: #AB534B;
    font-weight: bold;
}

.print .site_b:before,
.print .site_a:before {
    content: "\f0da";
    font-family: FontAwesome;
    color: #3F7985;
    padding: 0 8px 0 3px;
    font-weight: normal;
    font-size: 20px;
    ;
    margin-bottom: 30px;
}

.print .site_in:before {
    content: "\f0da\f0da";
    font-family: FontAwesome;
    color: #AB534B;
    padding: 0 8px 0 3px;
    font-weight: normal;
    font-size: 20px;
    ;
    margin-bottom: 30px;
}

.print .site_b a:hover,
.print .site_a a:hover,
.print .site_in a:hover {
    text-decoration: underline;
    color: #F79D91;
}

.print .box {
    padding: 0.5em 1em;
    margin: 2em 0;
    color: #232323;
    background: #fff0ea;
    border-left: dotted 2px #F79D91;
    border-right: dotted 2px #F79D91;
}

.print .box p {
    margin: 0;
    padding: 0;
}

/*----------------------------------
フッター左側 追加（20220509）
----------------------------------*/
#footer_left .catch ul {
    padding: 0.3em 1em 0.3em 2.3em;
    position: relative;
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 3px;
    margin-right: 40px;
}

#footer_sm .catch ul {
    font-size: 14px;
    font-weight: bold;
    margin: 10px;
}

#footer_left .catch ul li {
    line-height: 1;
    padding: 0.1em 0;
    list-style-type: none !important;
}

#footer_sm .catch ul li {
    line-height: 1.3;
    padding: 0.1em 0;
    list-style-type: none !important;
    text-align: center;
    margin-bottom: 5px;
}

#footer_left .catch ul li:before {
    font-family: FontAwesome;
    content: "\f00c";
    position: absolute;
    left: 10px;
    color: #fcb239;
}

#footer_sm .catch ul li:before {
    font-family: FontAwesome;
    content: "\f00c";
    left: 10px;
    color: #fcb239;
    margin-right: 3px;
}

#footer_sm .catch {
    margin: 40px auto 10px;
    border-top: double 3px #ccc;
}

#footer_left .contactus {
    clear: both;
    overflow: hidden;
    padding: 0.1em;
    margin-bottom: 5px;
    margin-right: 40px;
    border-top: 1px dotted #999;
}

#footer_sm .contactus {
    clear: both;
    overflow: hidden;
    padding: 0.1em;
    margin-bottom: 5px;
    border-top: 1px dotted #999;
}

#footer_left .contactus .left {
    float: left;
    width: auto;
    font-size: 14px;
    font-weight: bold;
    padding: 10px 1px 10px 8px;
}

#footer_sm .contactus .left {
    float: left;
    width: 55%;
    font-size: 14px;
    font-weight: bold;
    padding: 6px 5px;
    text-align: center;
}

#footer_left .contactus .right {
    float: right;
    width: 40%;
    padding: 10px 7px !important;
    color: #FFF;
    background-color: #d62395;
    text-align: center;
    font-size: 14px;
    margin: 10px auto auto;
}

#footer_sm .contactus .right {
    float: right;
    width: 40%;
    padding: 10px 7px !important;
    color: #FFF;
    background-color: #d62395;
    text-align: center;
    font-size: 13px;
    margin: 7px auto auto;
}

#footer_left .contactus .right a,
#footer_sm .contactus .right a {
    color: #FFF;
    text-decoration: none;
}

@media screen and (max-width: 550px) {
    #footer_sm .contactus .left {
        float: none;
        width: auto;
        font-size: 15px;
    }

    #footer_sm .contactus .right {
        float: none;
        width: auto;
        margin-top: 5px;
        font-size: 15px;
        padding-top: 5px;
        line-height: 1.2;
    }
}

#footer_left .contactus .right a:hover,
#footer_sm .contactus .right a:hover {
    color: #faeeba;
}

#footer_left .area {
    border: solid 3px #ccc;
    padding: 0.8em 2em;
    margin-bottom: 30px;
    margin-right: 40px;
}

#footer_sm .area {
    border: solid 3px #ccc;
    padding: 0.6em 1em;
    margin-bottom: 0;
}

#footer_left .area b,
#footer_sm .area b {
    color: #d62395;
    font-size: 13px;
}

#footer_left .area span,
#footer_sm .area span {
    color: #d62395;
}

/* 競合他社　WEBサイトアクセス調査「無料」申込フォーム */
.form_rival,
.form_rival #contact,
.form_rival #contact .wpcf7-submit {
    font-size: 17px;
}

/* サイトマップ 2022-07-25追加 */
#main_col .post .sitemap a {
    font-size: 15px;
}

#main_col .post .sitemap h3>a {
    color: #BA3F73;
}

#main_col .post .sitemap h3,
#main_col .post .sitemap h3>a {
    margin-bottom: 20px;
    font-size: 17px;
}

#main_col .post .sitemap h3>a>span:first-of-type {
    font-weight: normal;
    color: #666;
}

#main_col .post .sitemap ul li {
    list-style: none;
    background: none;
    margin-bottom: 0.25em;
    padding: 0;
}

#main_col .post .sitemap ul>li::before {
    content: '\f138';
    font-family: FontAwesome;
    margin-right: 7px;
    vertical-align: middle;
    display: inline-block;
    height: 100%;
    font-size: 1.1em;
}

#main_col .post .sitemap h3.sp-top::before {
    display: none;
}

#main_col .post .sitemap h3.sp-top {
    text-indent: 0;
    padding-left: 0;
}

#main_col .post .sitemap h3.sp-top a>span>span {
    margin-bottom: 5px;
}

#main_col .post .sitemap .two-col h3 {
    width: 100%;
}

#main_col .post .sitemap ul:first-of-type>li::before {
    color: #CA0083;
}

#main_col .post .sitemap ul:not(:first-of-type)>li::before {
    color: #ffac5e;
}


#main_col .post .sitemap ul li ul {
    margin-top: 0;
    margin-bottom: 0.75em;
    padding: 0;
}

#main_col .post .sitemap ul li ul li {
    margin-bottom: .25em;
    position: relative;
}

#main_col .post .sitemap ul li ul li::before {
    content: '\f054';
    font-family: FontAwesome;
    color: #CA0083;
    margin-right: 7px;
    font-size: 0.7em;
    vertical-align: middle;
    display: inline-block;
    height: 100%;
}

@media screen and (min-width: 641px) {
    #main_col .post .sitemap .two-col div {
        display: flex;
        flex-wrap: wrap;
    }

    #main_col .post .sitemap .two-col h3 {
        width: 100%;
    }

    #main_col .post .sitemap .two-col div>ul {
        width: 45%;
    }

    #main_col .post .sitemap ul li ul li {
        padding-left: 0.7em;
    }

    #main_col .post .sitemap ul {
        padding-left: calc(1em + 11px);
    }

    #main_col .post .sitemap h3>a>span:first-of-type {
        font-size: 12px;
        display: inline-block;
        margin-bottom: 5px;
        padding-left: 1.4rem;
        text-indent: -1.55rem;
        letter-spacing: 0.05em;
    }
}

@media screen and (max-width: 640px) {
    #main_col .post .sitemap .two-col div {
        display: block;
    }

    #main_col .post .sitemap .two-col div>ul {
        width: 100%;
    }

    #main_col .post .sitemap ul {
        padding-left: 10px;
    }

    #main_col .post .sitemap ul li ul {
        padding-left: calc(1.1em + 7px);
        margin-left: 0;
    }

    #main_col .post .sitemap .under_contents h3.sp-top {
        padding-left: 0;
        text-indent: 0;
    }

    #main_col .post .sitemap h3.sp-top span.company-name {
        font-weight: 600;
        letter-spacing: 0.08em;
    }

    #main_col .post .sitemap h3.sp-top a>span:first-of-type {
        font-size: 10px;
        display: inline;
        font-feature-settings: "palt";
        letter-spacing: 0.01em;
    }

    #main_col .post .sitemap h3.sp-top a>span>span {
        display: inline-block;
    }
}

.info_box {
    padding: 0.5em 1em;
    margin: 2em auto;
    color: #2c2c2f;
    background: #e3eff1;
    width: 90%;
}

.info_box p {
    margin: 10px auto;
    padding: 0;
    width: 60%;
    min-width: 410px;
}

@media screen and (max-width: 640px) {
    .info_box {
        width: 100%;
    }

    .info_box p {
        width: 100%;
        min-width: auto;
    }
}

/* 一時的に表示しない用 2023-10-12追加 */
.hidden_contents {
    display: none;
}

/*----------------------------------
パートナーシップ構築宣言 追加（20240522）
----------------------------------*/
.post .partnership .under_contents *:is(p, ul, li, h3){
    -moz-font-feature-settings: "palt", "pwid" !important;
    -webkit-font-feature-settings: "palt", "pwid" !important;
    font-feature-settings: "palt", "pwid" !important;
}

.partnership .under_contents h3:before{
    display: none;
}
.partnership p.indent{
    text-indent: 1em;
}

.post .partnership .under_contents ol {
margin-bottom: 0;
padding-right: 1em;
}

.post .partnership .under_contents ol li{
    background: none;
    margin-left: 1.5em;
}
.post .partnership .under_contents ol li:not(:last-of-type){
    padding-bottom: .75em;
}
.post .partnership .under_contents.alignment ol li{
    list-style-type: lower-alpha;
}
.post .partnership .under_contents.compliance ol li{
    list-style: none;
    text-indent: -1.5em;
}
.post .partnership .under_contents.compliance ol li strong{
    padding-bottom: .5em;
}
.post .partnership .signature{
    max-width: calc(100% - 6rem);
    margin: 20px auto 50px;
}
.post .partnership .signature > div > p:first-child{
    font-size: 1.25em;
    letter-spacing: 0.16em;
    font-weight: bold;
    border-bottom: 1px solid #333;
    padding-bottom: .25em;
    margin-bottom: calc(.25em + 1px);
}

.post .partnership .note li{
    padding-bottom: .5em;
}

.post .partnership p.external a{
    display: inline-block;
    padding: .5em 1em;
    margin: 0 auto;
    border: solid 1px #3E91AC;
    background-color: #65a9bf0b;
}
.post .partnership p.external a::after{
    content:"\f08e";
    font-family: FontAwesome;
    margin-left: .25em;
}
@media screen and (min-width: 641px){
.post .partnership p.external a br{
    display: none;
}}

@media screen and (max-width: 640px){

.partnership .under_contents h3{
max-width: calc(100% - 30px);
margin-left: .5em;
text-indent: -1.5em;
}
    .post .partnership .under_contents ol {
        padding-right: 0;
        margin-left: 0;
}
.post .partnership .under_contents.alignment ol li{
    margin-left: 2em;
    text-indent: 0;
}
.post .partnership .under_contents.alignment ol li br{
    display: none;
}
.post .partnership .under_contents.compliance{
    margin-bottom: 25px;
}
.post .partnership .under_contents.compliance ol li{
    text-indent: -1em;
    margin-left: 1em;
}
.post .partnership .signature{
    max-width: 100%;
    margin: 10px auto 50px;
}
.post .partnership .signature div:first-child{
    margin-bottom: 1.5rem;
}
.post .partnership p.external{
    margin-bottom: 50px;
}
.post .partnership p.external a span{
    display: inline-block;
}
}
/*----------------------------------
お知らせ投稿用 追加（20240605）
----------------------------------*/
#news_post_contents p {
    margin-bottom: 20px;
}
#news_post_contents figure.wp-block-image {
    margin: 30px 0 0;
}
#news_post_contents .border-mbp img {
    border: #d8b247 solid 1px;
    padding: 0;
}
/*----------------------------------
お知らせ投稿用 休業お知らせ用 追加（20240729）
----------------------------------*/
#news_post_contents .info-date-blue,
#news_post_contents .info-date-red {
    padding: .3rem 1rem .2rem .8rem;
    font-weight: bold;
    display: inline-block;
    padding-left: 1.5em;
    text-indent: -1em;

}
#news_post_contents .info-date-blue {
    background: #cddff7;
    color: #015a9e;
    margin: .5rem auto 1rem;
}
#news_post_contents .info-date-red {
    background: #f5c8c8;
    color: #e62d2b;
    margin: -.3rem auto 2rem ;
}
#news_post_contents .info-date-blue::before,
#news_post_contents .info-date-red::before {
    content: "● ";
    top: -1px;
    position: relative;
}
.info-note-red-box {
    border: 2px solid #cf2e2e;
    color: #cf2e2e;
    padding: .7rem 1rem;
    border-radius: 10px;
    font-weight: bold;
}

/*----------------------------------
無料レポート申し込みフォーム
----------------------------------*/
#contact.free-report > div {
    padding-top: 0;
    background: transparent;
}

#contact.free-report > div:nth-child(n+2) {
    padding-top: 12px;
}

#contact.free-report > div > div {
    margin-bottom: 12px;
}

#contact.free-report .buttons input {
    border-radius: 3px;
    background-color: #d62395;
}


/*----------------------------------
ブログ　2025.012025.01
自社サイト活用で採用強化！「理想の採用成功メソッド」進呈中
----------------------------------*/
#blog_style_contents h3:not(:first-child) {
    margin-top: 3.5rem;
}
#blog_style_contents h4 {
    color: #b90e5b;
    font-weight: normal;
    margin-top: 2rem;
    border-bottom: dotted 2px #b90e5b;
    padding-left: .5rem;
}
#blog_style_contents p {
    margin-bottom: 1rem;
}
#blog_style_contents .wp-block-columns {
    margin-bottom: 1rem;
    gap: 1rem;
}
#blog_style_contents .wp-block-columns .wp-block-column {
    margin: 0;
}
#blog_style_contents .wp-block-columns figure {
    margin: 0;

}
#blog_style_contents .wp-block-columns figure img {
    width: 100%;
    padding: 0;
}
#blog_style_contents .blue-box {
    border: 1px solid #015a9e;
    padding: 1rem;
    margin-bottom: 1rem;
    color: #015a9e;
}
#blog_style_contents .blue-box .st-blue-ul {
    text-align: center;
    color: #015a9e;
    border-bottom: solid 5px #015a9e;
    display: block;
    width: 160px;
    margin: auto auto .8rem;
    font-size: 1.2rem;
    line-height: 1.2;
}
#blog_style_contents .blue-box .txt-large {
    font-size: 1.2rem;
    font-weight: bold;
}
#blog_style_contents .blue-box .pink-btn a {
    text-align: center;
    color: #fff;
    background-color: #e71273;
    padding: .3rem;
    display: block;
    width: 300px;
    margin: auto;
    border-radius: 3px;
}
#blog_style_contents .blue-box p:last-child {
    margin-bottom: 0;
}
#blog_style_contents .blue-box .wp-block-columns {
    margin-bottom: 0;
}
#blog_style_contents .st-orange-center {
    margin-top: 2rem;
    margin-bottom: .2rem;
    font-size: 1.15rem;
    color: #fd8700;
    text-align: center;
}
#blog_style_contents .st-orange-center p {
    position: relative;
    display: inline-block;
    padding: 0 55px;
    margin-bottom: 0;
}
#blog_style_contents .st-orange-center p:before, 
#blog_style_contents .st-orange-center p:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 1px;
    background-color: #f8931f;
}
#blog_style_contents .st-orange-center p:before {
    left:0;
}
#blog_style_contents .st-orange-center p:after {
    right: 0;
}
#blog_style_contents .st-orange-side {
    margin-top: 2rem;
    margin-bottom: .5rem;
    color: #dd7701;
    border-left: solid 5px #fd8700;
    padding-left: 0.5rem;
}
#blog_style_contents .orange-box {
    position: relative;
    background: #fff0cd;
    box-shadow: 0px 0px 0px 5px #fff0cd;
    border: dashed 2px white;
    padding: 0.2em 0.5em;
    color: #454545;
    margin-bottom: 1rem;
}
#blog_style_contents .orange-box:after{
    position: absolute;
    content: '';
    right: -7px;
    top: -7px;
    border-width: 0 25px 25px 0;
    border-style: solid;
    border-color: #ffdb88 #fff #ffdb88;
    box-shadow: -1px 1px 1px rgba(0, 0, 0, 0.15);
}
#blog_style_contents .orange-box p {
    padding: 1rem;
    margin-bottom: 0;
}
#blog_style_contents .maru-pink {
    color: #e71273;
    padding-left: 1em;
    text-indent: -1em;
}
#blog_style_contents .maru-pink::before {
    content: "◎";
    margin-right: 0.2rem;
}
#blog_style_contents .wp-block-table {
    margin: 0 0 1rem 0;
}
#blog_style_contents .table-overview table td {
    vertical-align: top;
}
#blog_style_contents .table-overview table td:first-child {
    white-space: nowrap;
}
@media screen and (max-width: 599px) {
    #blog_style_contents .wp-block-columns {
        gap: 0;
    }
    #blog_style_contents .blue-box .pink-btn a {
        max-width: 300px;
        width: 100%;
    }
    
}
/*----------------------------------
ブログ　2025.03.24
・blog250324_seizo_bad
・blog250323_strong_seo
----------------------------------*/
.table-blog {
    margin: 0 0 3rem;
}
.table-blog td {
    border: 1px solid #c1c1c1;
    padding: 10px;
}
.table-blog tr:first-child {
    background: #f6f8f9;
}
.table-blog tr:not(:first-child) td:first-child {
    white-space: nowrap;
    color: #16546f;
    font-weight: bold;
}
.keyword-td tr:first-child td:first-child strong {
    margin-left: 10px;
}
.blog-subt-num {
    margin-top: 2rem;
    font-size: 1.125rem;
    padding-left: 2.5em;
    text-indent: -2.5em;
    padding-top: .3rem;
    padding-bottom: .3rem;
    background: #daeffb;
    border-radius: 2rem;
}
.blog-subt-num strong {
    margin-left: 1rem;
    margin-right: 1.15rem;
    display: block;
}
@media screen and (max-width: 599px) {
    .table-blog td {
        padding: 7px;
    }
    .table-blog tr:not(:first-child) td:first-child {
        white-space: normal;
        width: 98px;
    }
    .keyword-td tr:first-child td:first-child strong {
        margin-left: 0;
    }
    .blog-subt-num {
        font-size: 1.05rem;
    }
}

/*----------------------------------
リクルート資料バナー
----------------------------------*/
.recruit_boost {
    position: fixed;
    bottom: 0;
}
.recruit_boost img {
    max-width: 100%;
}

.recruit_boost_bg {
    width: 100%;
    aspect-ratio: 800 / 206;
}

.recruit_boost-pc {
    position: fixed;
    bottom: 20px;
    right: 50px;
    z-index: 100;
}
.recruit_boost-pc img {
    width: 360px;
}

#recruit_boost_banner_close {
    position: absolute;
    right: -16px;
    top: -16px;
    z-index: 10;
}

#recruit_boost_banner_close img {
    width: 32px;
}

@media (max-width: 639px) {
    .recruit_boost-pc {
        display: none !important;
    }
}