@media screen and (min-width: 751px) {
    .under #main .btn_u a:hover {
        background: #00561f;
        color: #fff;
    }
    .under #main .btn_u a:hover::before {
        background: url(../images/ic_btn_w.png) center /cover no-repeat;
    }
    .under #main .btn_u.prevPage a:hover::before {
        background: url(../images/ic_btn_re_w.png) center /cover no-repeat
    }
    .under #main .qa_list dt:hover, .under #main .bnn_list p a:hover, .under #main .work_list dd a:hover, .under #main .event_list dd a:hover, .under #main .news_list dd a:hover, .btn_zipcode:hover, .under #main .btn_contact:hover, .under #main .back-btn:hover {
        opacity: 0.7
    }
    .under #main .bnn_list .bg_tel a:hover {
        opacity: 1
    }
    .under #main .news_list dt h4 a:hover, .under #main .event_list dt h4 a:hover, .under #main .work_list dt a:hover {
        color: #6ac6c2
    }
    .under #main .bnn_list p a:hover::before {
        width: 100%;
    }
    .mw_wp_form .vertical-item:hover {
        background-color: #FFEE7C;
    }
    .under #main .mb50 {
        margin-bottom: 50px;
    }
    .under #main .prevPage:hover a::before {
        background: url(../images/ic_btn_re_w.png) center /cover no-repeat;
    }
    .under #main h4.h4_01 {
        width: 530px;
        display: inline-table;
    }
    .under #main .mb120 {
        margin-bottom: 120px;
    }
    .under #main .mb90 {
        margin-bottom: 90px;
    }
    #flow #main h4 {
        font-size: 27px;
    }
      .right_pc {
        width:530px;
    }
    .under #main .list_anchor.list_3btn.list_3btn_news li {
        width: 23%;
    }
    
}
.box_sp {
    display: none;
}
.under .box_pc {}
.under .sp560, .under .sp480, .under .sp420, .under .sp380 {
    display: none
}
@media screen and (max-width: 750px) {
    #wrapper, header, #main, footer, .inner {
        width: 100% !important;
        min-width: inherit !important;
    }
    .inner {
        box-sizing: border-box;
        padding: 0 15px;
    }
    .box_sp {
        display: block;
    }
    .box_pc {
        display: none;
    }
    .under #main {
        margin-bottom: 50px
    }
    .under #main .sm {
        color: #999
    }
    .under #main .section {
        padding: 0 0 60px;
        box-sizing: border-box;
    }
    .under #main .inner {
        padding: 0 15px;
        margin-bottom: 50px
    }
    .under #main .image_r, .under #main .image_l, .under #main .image_l.mb0, .under #main .image_r.mb0, .under #main .image_l.mb15, .under #main .image_r.mb15, .under #main .image_l.mb50, .under #main .image_r.mb50 {
        float: none;
        display: inline-block;
        width: 100%;
        text-align: center;
        margin: 0 auto 30px;
    }
    .under #main .img_center img {
        max-width: 100%;
        max-height: calc((100vw - 30px) * 2 / 3)
    }
    /* TOP INFO */
    .under #main #top_info {}
    .under #main #top_info .inner {
        padding-top: 60px;
    }
    /* TOPIC PATH */
    .under #main #topic_path {
        margin-bottom: 15px
    }
    .under #main #topic_path ul {
        padding: 10px 0;
        display: block;
    }
    .under #main #topic_path ul li, .under #main #topic_path ul li a {
        font-size: 14px;
    }
    .under #main #topic_path ul li .sp420 {
        display: none;
    }
    .under #main h3, .under #main h4, .under #main h5, .under #main h6 {
        margin-bottom: 30px
    }
    .under #main h2 {
        font-size: 28px;
    }
    .under #main h3 {
        font-size: 26px;
    }
    .under #main h4 {
        font-size: 22px;
        padding-bottom: 0
    }
    .under #main h5 {
        font-size: 20px;
        padding-left: 10px
    }
    .under #main h6 {
        font-size: 18px;
    }
    .under #main p {
        margin-bottom: 30px
    }
    .under #main .sm {
        margin-bottom: 15px;
        font-size: 12px;
        color: #999;
    }
    .under #main .big {
        font-size: 20px
    }
    .under #main .bold {
        font-size: 16px
    }
    .under #main .bold02 {
        font-size: 24px
    }
    .under #main .btn_u a {
        font-size: 15px;
        padding: 0 15px
    }
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    /* table scroll                                                        */
    /*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
    .under #main .tb_scroll {
        overflow: scroll;
        margin-bottom: 10px
    }
    .under #main .tb_scroll table {
        width: 720px;
    }
    .under #main .txt_note {
        font-size: 12px;
        color: #AFAFAF;
        display: block;
    }
    /* TABLE  */
    .under #main table.tb_block {}
    .under #main table.tb_block tr th, .under #main table.tb_block tr th + th {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
        border: none;
    }
    .under #main table.tb_block tr th.box_pc {
        display: none !important
    }
    .under #main table.tb_block tr td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
        border-top: none;
    }
    .under #main table.tb_block tr th {
        border-bottom: none;
        padding: 15px;
    }
    .under #main table.tb_block tr th::before {
        height: 100%;
        top: 0
    }
    .under #main table.tb_block tr:nth-child(odd) {
        background: none;
    }
    .under #main table.tb_block tr td + td {
        border-top: 1px solid #ededed;
    }
    .under #main table.tb_block tr td {
        padding: 15px;
        border-bottom: none;
    }
    .under #main table.tb_block tr:last-child td {
        border-bottom: 1px solid #a0a0a0
    }
    /* FRAME PICKUP */
    .under #main .frame_pickup {
        padding: 0 0 50px;
        margin-bottom: 50px;
    }
    .under #main .frame_pickup .title_pickup {
        padding-left: 100px;
        margin-bottom: 0;
        height: 120px;
        display: flex;
        align-items: center;
    }
    .under #main .frame_pickup .title_pickup span {
        width: 100px;
        height: 120px;
        top: 0;
        left: -15px;
        font-size: 20px;
        padding: 50px 0 0 10px
    }
    .under #main .frame_pickup .title_pickup .big {
        font-size: 20px;
        line-height: 1.5em
    }
    .under #main .frame_pickup .content_pickup {
        padding: 30px;
        border-radius: 15px;
        top: -15px
    }
    /* QA LIST */
    .under #main .qa_list dt {
        padding: 10px 25px 10px 10px;
        font-size: 18px;
        line-height: 1.5em;
        display: flex;
        align-items: center;
    }
    .under #main .qa_list dt::before {
        width: 15px;
        height: 8px;
        top: calc(50% - 4px);
        right: 10px
    }
    .under #main .qa_list dd {
        padding: 10px 25px 10px 10px;
    }
    .under #main .qa_list dt span, .under #main .qa_list dd span {
        margin-right: 15px
    }
    /* STEP LIST */
    .under #main .step_list dl {
        flex-wrap: wrap;
        margin-bottom: 60px
    }
    .under #main .step_list dl::after {
        bottom: -50px
    }
    .under #main .step_list dt {
        width: 100%;
        height: 100px;
    }
    .under #main .step_list dt .title {
        padding: 0;
        font-size: 20px;
        width: calc(100% - 70px)
    }
    .under #main .step_list dt .name {
        width: 70px;
        font-size: 18px
    }
    .under #main .step_list dt .name span {
        font-size: 32px;
    }
    .under #main .step_list dd {
        width: 100%;
        padding: 15px;
    }
    /* ANCHOR LIST */
    .under #main .list_anchor {
        justify-content: center;
    }
    .under #main .list_anchor.list_3btn li, .under #main .list_anchor.list_4btn li, .under #main .list_anchor li {
        width: 48%;
        margin: 0 1% 15px
    }
    .under #main .list_anchor li a {
        font-size: 14px;
        width: 100%
    }
	 .under #main .list_anchor li.btn_qa a {
    	line-height: 1.5em;
  }
	.under #main .btn_qa .txt_q {
  		width: 20%;
		margin-right: 10px;
	}
    /* BANNER LIST */
    .under #main .bnn_list {}
    .under #main .bnn_list p {
        height: 150px;
    }
    .under #main .bnn_list p a {
        font-size: 24px;
        line-height: 1.3em;
    }
    .under #main .bnn_list .bg_tel {}
    .under #main .bnn_list .bg_tel a {
        font-size: 4.2vw;
        padding: 0 15px;
    }
    .under #main .bnn_list .bg_tel a span {
        font-size: 18px;
        line-height: 1.5em;
        margin-top: 0
    }
    .under #main .gg_map {
        height: 199px;
    }
    /* LIST01 */
    .under #main .list01 li {
        padding-left: 20px
    }
    .under #main .list02 {
        margin-bottom: 30px
    }
    .under #main .list02 li {
        margin-bottom: 10px
    }
    .under #main .list02 li span {
        margin-right: 15px
    }
    /*==========================================================================*/
    /*                                WORKS                                     */
    /*==========================================================================*/
    .under #main .work_list {
        justify-content: space-between;
    }
    .under #main .work_list dl {
        width: calc((100vw - 50px) / 2);
        margin: 0 0 30px;
        padding-left: 0px
    }
    .under #main .work_list dt {
        line-height: 1em;
   
       
        font-size: 12px;
    }
    .under #main .work_list dd a {
        height: calc((100vw - 90px) / 2 * 2 / 3)
    }
    /*==========================================================================*/
    /*                                EVENT                                     */
    /*==========================================================================*/
    .under #main .event_list {}
    .under #main .event_list dl {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .under #main .event_list dt {
        width: 100%
    }
    .under #main .event_list dt h4 {
        margin-bottom: 15px
    }
    .under #main .event_list dt .btn_u {
        margin: 0 auto;
    }
    .under #main .event_list dd {
        width: 100%;
        margin-bottom: 15px;
    }
    .under #main .event_list dd a {
        height: 320px
    }
    .under #main .prevPage a::before {
        left: 10px;
    }
    .under #main .next_prev li {
        width: 31.5%;
    }
    /*==========================================================================*/
    /*                                NEWS                                      */
    /*==========================================================================*/
    .under #main .news_list dl {
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }
    .under #main .news_list dt {
        width: 100%
    }
    .under #main .news_list dt h4 {
        margin-bottom: 15px
    }
    .under #main .news_list dd {
        width: 100%;
        margin-bottom: 15px;
    }
    .under #main .news_list dd a {
        height: 320px
    }
    .under #main .input_text01 {
        width: 100%;
    }
    .list_check span.wpcf7-list-item {
        margin: 0 0 10px 0;
    }
    .list_check span.wpcf7-list-item {
        margin: 0 10px 10px 0;
    }
    .list_select01 {
        flex-direction: column;
    }
    .list_select01 select {
        width: 100%;
    }
    .list_select01 > div:nth-child(1) {
        margin-bottom: 20px;
    }
    .list_select01_sub {
        margin-right: 0px;
    }
    .under #main table.tb_block.tb_contact td {
        padding: 15px 0;
    }
    .under #main .tb_contact th {
        position: relative;
    }
    .under #main .must, .under #main .must_line .must {
        position: absolute;
        height: auto;
        top: calc(50% - 9px);
    }
    .under #main .ct_bnr {
        max-width:100%;
    }
    .under #main .ct_bnr.mb_ct_bnr {
        margin-bottom: 40px;
    }
    .under #main .tb_contact .d-flex-day .input_text01{
        max-width: stretch;
        margin-right: 0;
        width: unset;
    }
    .under #main .tb_contact .d-flex-day .wpcf7-form-control-wrap{
        margin-right: 5px;
        margin-bottom: 5px;
        display: inline-block;
    }
    span.wpcf7-list-item {
        margin-left: 0.5em;
        margin-bottom: 0.5em;
    }
	#consulting.under #main h3.head-title{
		font-size: 1.4rem;
        padding: 15px 0;
	}
	#consulting.under #main .subttl01 {
		font-size: 1.2rem;
	}
	#consulting #main .label01 {
		padding: 15px 0;
	}
	#consulting #main .list_items{	
		flex-wrap: wrap;
        margin: 0 -15px 30px;
	}
	#consulting #main .list_items li {
		width: calc(100% / 2 - 30px);
		max-width: 240px;
	}
	#consulting #main .list_items li span {
		line-height: 1.4
	}
	#consulting.under #main .subttl02 {
		font-size: 1.2rem;
	}
	#consulting #main .block_img {
		margin-bottom: 60px;
	}
	#consulting #main h4 {
		font-size: 1.4rem;
	}
	#consulting #main .stepbox {
		padding: 40px 0 0;
	}
	#consulting #main .stepbox .flexbox {
		flex-direction: column;
	}
	#consulting #main .stepbox .flexbox.imgr, #consulting #main .stepbox .flexbox {
		flex-direction: column;
	}
	#consulting #main .stepbox .img {
		width: 100%;
		margin-bottom: 20px;
	}
	#consulting #main .stepbox .col_txt {
		width: 100%;
	}
	#consulting #main .stepbox .col_txt .ttl span {
		font-size: 1.2rem;
	}
	#consulting #main .block_linktoform a{
		padding-bottom: 200px;
		background: url(../images/consulting_img07sp.jpg) no-repeat center bottom #fff;
		background-size: 100% auto;
		height: auto;
	}
	#consulting #main .block_linktoform a .box_txt {
		width: 100%;
		padding: 20px 20px 25px;
		height: auto;
	}
	#consulting #main .block_linktoform a .ttl03{
		margin-bottom: 15px;
	}
	#consulting #main .block_linktoform a .ttl03 span.large {
		font-size: 1.2rem;
	}
	#consulting #main .block_linktoform a .ttl03 .sm {
		font-size: 0.85rem;
	}
	#consulting #main .staffbox {
		padding: 40px 0 0;
	}
	#consulting #main .staffbox .flexbox{
		flex-wrap: wrap;
		margin-bottom: 30px;
	}
	#consulting #main .staffbox .flexbox .img{
		width: 100%;
		margin-bottom: 20px;
	}
	#consulting #main .staffbox .flexbox .col_txt{
		width: 100%;
	}
	#consulting #main .staffbox .flexbox .col_txt .ttl02 {
		padding-bottom: 10px;
		margin-bottom: 15px;
		font-size: 1.1rem;
	}
	.under#consulting #main table th, .under#consulting #main table td {
		background: #f4f4f4;
		display: block;
		width: 100%;
	}
	.under#consulting #main .tb_contact .d-flex-day .input_text01 {
        width: 100%;
    }
	.under#consulting #main table th, .under#consulting #main table td {
        padding: 10px 10px
    }
	.under#consulting #main table td {
        background: #fff;
		border-bottom: none
    }
	.under#consulting #main table{
        margin-bottom: 30px;
    }
	#consulting #main .contact_form {
		margin: 0 0 0;
	}
	#consulting .fixedbnr {
		display: none
	}
}
@media screen and (max-width: 640px) {
      .under #main .ct_bnr {
        flex-direction:column;
    }
    .under #main .ct_bnr_txt {
        margin-left: 0px;
        margin-top: 20px;
    }
}
@media screen and (max-width: 560px) {
    .under .pc560 {
        display: none
    }
    .under .sp560 {
        display: block
    }
}
@media screen and (max-width: 480px) {
	
    .under .pc480 {
        display: none
    }
    .under .sp480 {
        display: block
    }
    .under #main .list_anchor.list_3btn li, .under #main .list_anchor.list_4btn li, .under #main .list_anchor li {
        width: 100%;
    }
    .under #main .list_anchor li:last-child {
        margin-bottom: 0
    }
    .under #main .tb_contact th {
        font-size: 14px;
        padding: 15px 0;
    }
    .under #main .btn_zipcode {
        font-size: 13px;
    }
    .under #main .btn_u a {
        padding: 0 15px;
    }
}
@media screen and (max-width: 420px) {
    .under .pc420 {
        display: none
    }
    .under .sp420 {
        display: block
    }
    .under #main .step_list dt {
        flex-wrap: wrap;
        height: auto;
    }
    .under #main .step_list dt .name {
        flex-direction: row;
        width: 100%;
        height: auto;
        padding: 15px 0;
        align-items: center;
        justify-content: center;
    }
    .under #main .step_list dt .name span {
        margin-left: 5px
    }
    .under #main .step_list dt .title {
        width: 100%;
    }
    .under #main .step_list dd {
        padding-top: 0
    }
	#consulting #main .list_items li span{
		font-size: 14px
	}
	#consulting #main .list_items li {
		width: calc(100% / 2 - 20px);
		margin: 0 10px 20px;
	}
    /*==========================================================================*/
    /*                                WORKS                                     */
    /*==========================================================================*/
    .under #main .work_list {
        justify-content: center
    }
    .under #main .work_list dl {
        width: 100%;
        margin: 0 0 30px;
    }
    .under #main .work_list dt {
        line-height: 1em;
        height: 15px;
        width: calc((100vw - 55px) * 2 / 3);
        top: calc((100vw - 55px) * 2 / 3);
        font-size: 12px;
    }
    .under #main .work_list dd a {
        height: calc((100vw - 50px) * 2 / 3)
    }
    /*==========================================================================*/
    /*                                EVENT                                     */
    /*==========================================================================*/
    .under #main .event_list dd a {
        height: calc((100vw - 30px) * 2 / 3)
    }
    /* SNS FORM */
    .under #main .sns_form {
        margin-bottom: 30px;
    }
    .under #main .sns_form p a {
        margin: 0 5px
    }
    /* BACK PREV DETAIL POST */
    .under #main .next_prev ul {
        position: relative;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }
    .under #main .next_prev li {
        width: 100%;
        margin-bottom: 15px;
    }
    .under #main .next_prev li:last-child {
        margin-bottom: 0
    }
    .under #main .prevPage {
        position: relative;
        top: inherit;
        left: inherit;
    }
    .under #main .nextPage {
        position: relative;
        top: inherit;
        right: inherit;
    }
    .under #main table.tb_block.tb_contact th {
        padding-right: 40px;
    }
    .under #main .bnn_list .bg_tel a {
        font-size: 5.2vw;
        padding: 0 15px;
    }
}
@media screen and (max-width: 380px) {
    .under .pc380 {
        display: none
    }
    .under .sp380 {
        display: block
    }
}