/*
Theme Name: ech2019
Author: ECH
Version: ver.2020.12
/*


@charset "UTF-8";
/*-------------------------------------------------------------------
** reset
-------------------------------------------------------------------*/
* {
  margin: 0;
  padding: 0;
  line-height: 1;
  box-sizing: border-box;
}
body {
  line-height: 1.5;
  letter-spacing: 0.05em;
}
h1,h2,h3,h4,h5,h6 {
  font-weight: normal;
}

ul,ol,li {
  list-style: none;
}

img {
  border: 0;
  vertical-align: bottom;
}
table {
  border-collapse: collapse;
}
th, td {
  font-weight: normal;
  text-align: left;
  vertical-align: top;
}

a {
  outline: 0;
}

i {
  font-style: normal;
}

/* iOSでのデフォルトスタイルをリセット */
input[type],
input[type="submit"],
input[type="button"],
texarea {
  background: none;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;

}

/* Body */
body {
  font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  color: #000;
  background-color: #fff;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  font-style: normal;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
* {
  word-wrap: break-word;
}

a {
  color: #000;
  transition: all 0.3s ease;
}

/*-------------------------------------------------------------------
** フロート
-------------------------------------------------------------------*/
.floatl,.floatL,.float-l,.f-l,.float_l,.f_l {float: left;}
.floatr,.floatR,.float-r,.f-r,.float_r,.f_r {float: right;}
.marginAuto,.margin-auto, .margin_auto, .m-a, .m_a {
  margin-left: auto;
  margin-right: auto;
}

/*-------------------------------------------------------------------
** フロート解除
-------------------------------------------------------------------*/
.clear {clear:both;}

/*-------------------------------------------------------------------
** clearfix
** 「.cf」 「.clearfix」 どちらにも対応
-------------------------------------------------------------------*/
.cf:after, .clearfix:after {
  content: " ";
  display: block;
  clear: both;
  font-size: 0;
  height: 0;
  line-height: 0;
  visibility: hidden;
}


/*-------------------------------------------------------------------
** フォントウェイト
-------------------------------------------------------------------*/
.bold {
  font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}
.normal {
  font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

h1, h2, h3, h4, h5, h6, th, b, strong {
  font-family:"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  font-weight: bold;
}
/*-------------------------------------------------------------------
** フォントスタイル
** 斜体のみ
-------------------------------------------------------------------*/
.italic {
  font-style: italic;
}

/*-------------------------------------------------------------------
** 文字色
-------------------------------------------------------------------*/
.red {color: #f00;}
.black {color: #000;}
.white {color: #fff;}

/*-------------------------------------------------------------------
** テキストアライン
-------------------------------------------------------------------*/
.alignl,.align-l {text-align: left;}
.alignr,.align-r {text-align: right;}
.alignc,.align-c {text-align: center;}

[name="google_conversion_frame"] {
  display: none;
}

.onlyTL,
.onlyPC {
  display: none;
}

/*===============================================================================================
!!PC専用
===============================================================================================*/

@media only screen and (min-width: 1202px) {
  .onlyPC {
    display: block;
  }
}


/*===============================================================================================
!!PC タブレット共通
===============================================================================================*/

@media only screen and (min-width: 768px) {
  html {
    font-size: 62.5%;
  }

  body {
    font-size: 1.6rem;
  }

  body {
    padding-top: 90px;
  }
  .PC_TL {
    display: block;
  }

  .only_sp {
    display: none;
  }

  /*loading*/
  #loader-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255, 255, 255, 1);
    z-index: 20000;
  }
  #loader {
    width: 200px;
    position: fixed;
    top: 45%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 100;
  }

  #loader img{
  text-align: center;
  }

  #loader p.en {
    text-align: center;
    margin-top:20px;
  }
  #loader-bg {
    //display: none;
  }

  .trl {
    opacity: 1;
    transition: opacity 0.2s;
  }
  .trl:hover {
    opacity: 0.7 !important;
    transition: opacity 0.2s;
  }

/* Container */
  .container {
    width: 1200px;
    margin: 0 auto;
    overflow-x: hidden;
  }

  /*-------------------------------------------------------------------
  ボタン
  -------------------------------------------------------------------*/
  .btn_s {
    display: block;
    width: 200px;
    background: #fff url(images/arrow_s_bl.svg) no-repeat right 30px bottom 20px;
    background-size: 21px auto;
    font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
    border: 2px solid #000;
    padding: 1em 0;
    transition: all 0.2s;
  }
  .btn_s:hover {
    color: #fff;
    background: #D53E10 url(images/arrow_s_wh.svg) no-repeat right 30px bottom 20px;
    border-color: #D53E10;
    transition: all 0.2s;
  }

  .btn_l {
    display: block;
    width: 660px;
    background:  url(images/arrow_l_wh.svg) no-repeat right 30px top 46px;
    background-size: 61px auto;
    color: #fff;
    font-size: 1.6rem;
    text-align: center;
    text-decoration: none;
    border: 2px solid #fff;
    padding: 40px 0;
    transition: all 0.2s;
  }
  .btn_l:hover {
    color: #fff;
    background-color: #D53E10;
    border-color: #D53E10;
    transition: all 0.2s;
  }

  .btn_news {
    background-position: right 15px bottom 20px !important;
    margin-top: 40px;
  }
  .btn_news::hover {
    background-position: right 15px bottom 20px !important;
  }

  /*-------------------------------------------------------------------
  ヘッダー
  -------------------------------------------------------------------*/
  .global_header {
    max-width: 1920px;
    min-width: 1200px;
    width: 100%;
    height: 90px;
    background: #fff;
    position: fixed;
    z-index: 300;
    top: 0px;
    left: 0;
    right: 0;
    margin: auto;
  }
  .global_header a {
    text-decoration: none;
  }

  .header_inner {
    height: 90px;
    min-width: 1250px;
  }
  .header_inner .logo {
    margin-top: 26px;
    margin-left: 3vw;
    float: left;
  }
  .header_inner .logo a {
    display: block;
    width: 169px;
    height: 50px;
  }
  .header_inner .logo a img {
    width: 100%;
    height: auto;
  }

  /*-------------------------------------------------------------------
  グローバルナビ
  -------------------------------------------------------------------*/
  .global_nav {
    height: 90px;
    position: absolute;
    right: 0;
    top: 0;
  }
  .js_gnav_coloser {
    width: 50px;
    height: 90px;
    position: absolute;
    left: -50px;
    top: 0;
  }
  .global_nav li {
    float: left;
    height: 90px;
  }
  .global_nav li a,
  .global_nav li span {
    display: inline-block;
    height: 90px;
    font-size: 1.6rem;
    line-height: 1;
    text-align: center;
    padding: 36px 40px 0;
    cursor: pointer;
  }
  .global_nav_recruit a {
    padding-right: 30px !important;
  }
  .global_nav .global_nav_asterone a {
    background: #192658 url(images/btn_logo_asterone.svg) no-repeat center 54px;
    background-size: 110px auto;
    color: #fff;
    font-size: 1.4rem;
    padding: 30px 37px 0;
  }
  .global_nav .global_nav_contact a {
    background: #D53E10;
    color: #fff;
    padding-left: 50px;
    padding-right: 50px;
  }

  .accordion_menu_wrapper {
    width: 100%;
    background: rgba(0,0,0,0.9);
    position: fixed;
    top: 90px;
    left: 0;
    display: none;
  }
  .accordion_menu_wrapper * {
    color: #fff;
  }
  .accordion_menu_inner {
    max-width: 1200px;
    width: 100%;
    padding: 57px 0 80px;
    margin: auto;
    overflow: hidden;
    position: relative;
  }
  .menu_head {
    float: left;
  }
  .menu_head small {
    display: block;
    font-size: 1.4rem;
  }
  .menu_head b {
    display: block;
    font-size: 2.4rem;
    margin-top: 21px;
  }

  .accordion_menu_inner ul {
    width: 930px;
    padding-top: 23px;
    float: right;
  }
  .accordion_menu_inner li {
    width: 290px;
    margin-left: 30px;
    float: left;
  }
  .accordion_menu_inner li a {
    display: block;
    width: auto;
    height: 100%;
    border: 2px solid #fff;
    position: relative;
    transition: all 0.2s;
  }
  .accordion_menu_inner li a:hover {
    background-color: #fff;
    color: #000;
    border-color: #fff;
    transition: all 0.2s;
  }
  .accordion_menu_inner li a:hover span {
    color: #000;
  }

  .accordion_menu_inner li:nth-child(3n+1) {
    clear: both;
    margin-left: 0;
  }
  .accordion_menu_inner li:nth-child(n+4) {
    margin-top: 30px;
  }

  /*会社情報*/
  .accordion_menu1 li a {
    line-height: 1;
    text-align: center;
    padding: 17px 0;
    background: url(images/arrow_s_wh.svg) no-repeat right 40px bottom 22px;
    background-size: 21px auto;
    transition: 0.2s;
  }
  .accordion_menu1 li a:hover {
    background: #fff url(images/arrow_s_bl.svg) no-repeat right 40px bottom 22px;
    background-size: 21px auto;
    transition: 0.2s;
  }

  /*ブランド*/
  .menu_link {
    display: block;
    background: transparent url(images/arrow_s_wh.svg) no-repeat right 6px center;
    background-size: 21px auto;
    border: 1px solid #fff;
    padding: 5px 36px 6px 30px;
    position: absolute;
    left: 116px;
    top: 91px;
    transition: 0.2s;
  }
  .menu_link:hover {
    background: #fff url(images/arrow_s_bl.svg) no-repeat right 6px center;
    color: #000;
    background-size: 21px auto;
    transition: 0.2s;
  }

  .accordion_menu2 li a {
    font-size: 1.6rem;
    padding: 100px 0 28px 89px;
    position: relative;
  }
  .accordion_menu2 li a i {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
  .accordion_menu2 .brand_ka a i {
    width: 204px;
    height: 42px;
    background: url(images/logo_gnav_kamika.svg) no-repeat;
    top: 40px;
  }
  .accordion_menu2 .brand_ka a:hover i {
    background: url(images/logo_gnav_kamika_on.svg) no-repeat;
  }
  .accordion_menu2 .brand_ex a i {
    width: 160px;
    height: 80px;
    background: url(images/logo_gnav_ex.svg) no-repeat;
    top: 24px;
  }
  .accordion_menu2 .brand_ex a:hover i {
    background: url(images/logo_gnav_ex_on.svg) no-repeat;
  }
  .accordion_menu2 .brand_to a i {
    width: 160px;
    height: 66px;
    background: url(images/logo_gnav_tricore.svg) no-repeat;
    top: 37px;
  }
  .accordion_menu2 .brand_to a:hover i {
    background: url(images/logo_gnav_tricore_on.svg) no-repeat;
  }

  .accordion_menu2 .brand_ce a i {
    width: 160px;
    height: 66px;
    background: url(images/logo_gnav_ce.svg) no-repeat;
    top: 46px;
  }
  .accordion_menu2 .brand_ce a:hover i {
    background: url(images/logo_gnav_ce_on.svg) no-repeat;
  }
  .accordion_menu2 li a:after {
    display: block;
    content: "";
    width: 20px;
    height: 8px;
    background: url(images/arrow_s_wh.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 40px;
    bottom: 35px;
  }
  .accordion_menu2 li a:hover:after {
    background: url(images/arrow_s_bl.svg) no-repeat center;
  }

  /*サービス*/
  .accordion_menu3 li a {
    line-height: 2;
    padding: 17px 0 17px 30px;
    background: url(images/arrow_s_wh.svg) no-repeat right 40px bottom 30px;
    background-size: 20px auto;
  }
  .accordion_menu3 li a:hover {
    background-image: url(images/arrow_s_bl.svg);
  }
  .accordion_menu3 .li_last {
    clear: both;
    margin: 30px 0 0;
  }
  .accordion_menu3 .li_last a {
    line-height: 1;
    padding-top: 17px;
    padding-bottom: 17px;
    background-position: right 40px bottom 20px;
  }
  .accordion_menu3 li a span {
    position: relative;
  }
  .accordion_menu3 li a span::after {
    display: block;
    content: "";
    background: url(images/icon_newtab.svg);
    width: 14px;
    height: 14px;
    position: absolute;
    right: -24px;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .accordion_menu3 li a:hover span::after {
    background: url(images/icon_newtab_on.svg);
  }

  .btn_tablet_menu,
  .tablet_global_nav {
    display: none;
  }


  /*-------------------------------------------------------------------
  フッター
  -------------------------------------------------------------------*/
  .global_footer {
    background-color: #FAFAFA;
    padding: 80px 0px;
  }
  .footer_logo {
    float: left;
  }
  .footer_logo a {
    display: block;
    width: 120px;
    height: 36px;
  }
  .footer_logo a img {
    width: 100%;
    height: auto;
  }

  .footer_nav {
    width: 860px;
    float: right;
    overflow: hidden;
  }
  .footer_nav dl {
    float: left;
  }
  .footer_nav dl:nth-child(1) {
    margin-right: 77px;
  }
  .footer_nav dl:nth-child(2) {
    margin-right: 78px;
  }
  .footer_nav dl:nth-child(3) {
    margin-right: 51px;
  }
  .footer_nav dl:nth-child(5) {
    float: right;
  }
  .footer_nav dl a:not(.footer_icon) {
    display: inline-block;
    text-decoration: none;
    position: relative;
    overflow: hidden;
    padding-bottom: 2px;
  }
  .footer_nav dl a:after {
    content: "";
    display: block;
    width: 100%;
    height: 0px;
    border-bottom: 1px solid;
    position: absolute;
    left: -100%;
    bottom: 0;
    animation: 0.2s txtlink_hover_off forwards;
  }
  .footer_nav dl a:hover:after {
    animation: 0.2s txtlink_hover_on forwards;
  }
  @keyframes txtlink_hover_on {
    0% {
      left: -100%;
    }
    100% {
      left: 0;
    }
  }
  @keyframes txtlink_hover_off {

    0% {
      left: 0%;
    }
    100% {
      left: -100%;
    }
  }

  .footer_nav dt {
    margin-bottom: 37px;
  }
  .footer_nav dd {
    font-size: 1.4rem;
    margin-bottom: 1em;
  }
  .footer_nav dd:before {
    display: inline-block;
    content: "-";
    margin-right: 3px;
    vertical-align: top;
  }

  /*バナー*/
  .footer_banner_area {
    margin: auto;
  }
  .footer_banner_area ul{
    font-size: 0;
    text-align: center;
  }
  .footer_banner_area ul li{
    display: inline-block;
    vertical-align: middle;
  }
  .pmark {
    width: 294px;
    background: #fff;
    border: 4px solid #fff;
  }
  .pmark > div {
    height: 86px;
    font-size: 10px;
    line-height: 15px;
    border: 1px solid #ccc;
    padding: 3px 0 3px 28px;
    text-align: left;
    overflow: hidden;
  }
  .pmark .sbnr_logo {
    float: left;
  }
  .pmark .sbnr_logo img {
    width: 100% auto;
  }
  .ymark {
    margin: 0 34px;
  }
  .sbnr_txt {
    font-size: 1.3rem;
    line-height: 1.5;
    width: 160px;
    margin: 10px 0 0 10px;
    float: left;
  }

  /*pagetop*/
  .pagetop {
    display: none;
    position: fixed;
    bottom: 50px;
    right: 15px;
  }
  .pagetop img:hover {
    opacity: 0.9;
  }

  /*コピーライト*/
  .copyright {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: #D53E10;
    color: #fff;
    font-size: 16px;
    overflow: hidden;
  }
  .copyright_inner {
    width: 1200px;
    margin: auto;
    overflow: hidden;
  }
  .copyright small {
    display: block;
    float: left;
    margin-top: 4px;
  }
  .copyright a {
    color: #fff;
    font-size: 1.4rem;
    text-decoration: none;
    line-height: 1;
  }
  .copyright small a + a {
    margin-left: 8px;
    padding-left: 8px;
    border-left: 1px solid rgba(255,255,255,0.7);
  }
  .copyright a:hover {
    color: #fff;
    text-decoration: underline;
  }
  .copyright span {
    font-size: 1.4rem;
    float: right;
  }



  /*############################################################################
  トップページ
  ############################################################################*/
  /*-------------------------------------------------------------------
  メインバナー
  -------------------------------------------------------------------*/
  .main_bnr_area {
    max-width: 1920px;
    min-width: 1200px;
    width: auto;
    height: calc(100vh - 90px);
    margin: auto;
    overflow: hidden;
    position: relative;
    background-size: 19px auto;
  }
  .main_bnr_area .scroll {
    width: 19px;
    height: 134px;
    background: url(images/icon_scroll.svg) no-repeat center top;
    position: absolute;
    left: 3vw;
    bottom: 0;
  }
  .scroll_arrow_box {
    display: block;
    width: 9px;
    height: 60px;
    position: absolute;
    bottom: 0;
    left: 0;
    overflow: hidden;
  }
  .scroll_arrow {
    display: block;
    width: 9px;
    height: 60px;
    background: url(images/icon_scroll_arrow.svg) no-repeat center top;
    position: absolute;
    bottom: 0;
    left: 0;
    animation: 2.5s scroll_arrow_bounce infinite ease-in;
  }
  @keyframes scroll_arrow_bounce {
    0% {
      bottom: 100%;
    }
    15% {
      bottom: 100%;
    }
    50% {
      bottom: 0;
    }
    60% {
      bottom: 20%;
    }
    70% {
      bottom: 0;
    }
    75% {
      bottom: 15%;
    }
    100% {
      bottom: -100%;
    }
  }
  .main_bnr_list {
    width: calc(100vh * 1.109 - 90px);
    height: calc(100vh - 90px);
    float: right;
    object-fit: cover;
    object-position: center center;
    overflow: hidden;
  }
  .main_bnr_list img {
    width: 100%;
    max-width: initial;
    height: auto;
  }
  .main_bnr_txtarea {
    height: 280px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 8.7vw;
  }
  .main_bnr_txtarea h2 {
    font-size: 4.6rem;
    line-height: 1.826;
  }
  .main_bnr_txtarea p {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 1.8vw;
  }
  .main_bnr_list .slick-arrow {
    display: none !important;
  }

  /*おしらせ*/
  .top_news_list {
    margin: 60px 0 80px;
  }
  .top_cnt_ttl {
    font-size: 3.2rem;
    text-align: center;
    margin-bottom: 18px;
  }

  .top_cnt_ttl small {
    display: block;
    font-size: 1.6rem;
    margin-bottom: 18px;
  }


  .top_news_list ul {
    margin-top: 40px;
  }
  .top_news_list ul * {
    line-height: 1.5;
  }
  .top_news_list li {
    margin-bottom: 12px;
    overflow: hidden;
  }
  .news_post_title {
    line-height: 1.6;
    margin-left: 257px;
  }
  .top_news_list .news_post_title {
    padding-top: 4px;
  }
  .news_post_title a {
    text-decoration: none;
  }
  .news_post_title a:hover {
    text-decoration: underline;
  }
  .news_meta_ttl {
    display: inline-block;
    width: 90px;
    color: #000;
    font-size: 1.4rem;
    text-align: center;
    padding: 5px 0 6px;
    box-sizing: border-box;
    margin-right: 40px;
    margin-bottom: 0;
    border: 1px solid;
  }
  .news_meta {
    float: left;
  }

  .news_important {
    background: #F5F5F5;
    padding: 20px;
  }
  .news_important_inner {
    width: 1200px;
    margin: auto;
    overflow: hidden;
  }
  .news_important_inner .news_post_title {
    padding-top: 2px;
  }
  .news_meta_ttl.important {
    display: inline-block;
    color: #D53E10;
    line-height: 1.5;
    border: 1px solid;
  }



  /*D2C事業*/
  .top_cnt_d2c {
    position: relative;
  }
  .top_cnt_d2c_inner {
    width: 520px;
    height: 574px;
    background: rgba(255,255,255,0.8);
    padding: 40px 40px 0;
    position: absolute;
    top: 40px;
    right: 40px;
  }
  .top_cnt_d2c_inner small {
    font-size: 1.6rem;
  }
  .top_cnt_d2c_inner h2 {
    font-size: 3.6rem;
    margin: 20px 0 18px;
  }
  .top_cnt_d2c_inner h3 {
    font-size: 2.4rem;
  }
  .top_cnt_d2c_inner p {
    font-size: 1.6rem;
    line-height: 2;
    margin-top: 57px;
    margin-bottom: 60px;
  }


  /*ブランド*/
  .top_cnt_brand {
    margin-top: 80px;
    padding-bottom: 80px;
  }
  .top_cnt_brand > h3 {
    font-size: 2.4rem;
    text-align: center;
  }
  .top_cnt_brand > p {
    font-size: 1.6rem;
    text-align: center;
    margin: 60px 0 40px;
  }

  .top_cnt_brand_list {
    overflow: hidden;
    margin-bottom: 40px;
  }
  .top_cnt_brand_list li {
    width: 360px;
    height: 310px;
    margin-left: 60px;
    float: left;
    position: relative;
  }
  .top_cnt_brand_list li:nth-child(3n+1) {
    margin-left: 0;
  }
  .top_cnt_brand_list li a {
    display: block;
    width: 360px;
    height: 310px;
    position: relative;
  }
  .top_cnt_brand_list li .bg_img {
    width: 100%;
    height: auto;
    position: absolute;
    left: 0;
    top: 0;
  }
  .brand_overlay {
    width: 360px;
    height: 310px;
    background: rgba(0,0,0,0.7) url(images/arrow_s_wh.svg) no-repeat right 30px bottom 30px;
    background-size: 21px auto;
    text-decoration: none;
    padding: 155px 35px 0;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
    opacity: 0;
    transition: opacity 0.2s;
  }

  .top_cnt_brand_list li a:hover .brand_overlay {
    opacity: 1;
    transition: opacity 0.2s;
  }
  .top_cnt_brand_list li a p {
    color: #fff;
    font-size: 1.6rem;
    line-height: 2;
  }
  .top_cnt_brand_list li .brand_overlay > div img {
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
  .top_cnt_brand_list li .ka .brand_overlay > div img {
    top: 60px;
  }
  .top_cnt_brand_list li .ex .brand_overlay > div img {
    top: 40px;
    width: 160px;
    height: 80px;
  }
  .top_cnt_brand_list li .tr .brand_overlay > div img {
    top: 49px;
  }

  .btn_asterone {
    display: block;
    width: 660px;
    height: 100px;
    background: #162449 url(images/btn_logo_asterone.svg) no-repeat center 51px;
    background-size: 196px auto;
    color: #fff;
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    margin-top: 60px;
    padding-top: 24px;
    position: relative;
  }
  .btn_asterone:after {
    display: block;
    content: "";
    width: 61px;
    height: 8px;
    background: url(images/arrow_l_wh.svg) no-repeat center;
    background-size: 61px auto;
    position: absolute;
    right: 30px;
    top: 43px;
  }


  /*採用情報*/
  .top_cnt_recruit {
    max-width: 1920px;
    min-width: 1200px;
    width: auto;
    background: url(images/top_recruit_bg.png) center;
    background-size: cover;
    margin-top: 80px;
    padding: 77px 0 80px;
  }
  .top_cnt_recruit .top_cnt_ttl {
    color: #fff;
    margin-bottom: 35px;
  }





/*-------------------------------------------------------------------
** 404
-------------------------------------------------------------------*/
  .page_404 .page_image {
    height: 0;
  /**/
  }
  .page_404 .main_contetns {
    background: #f6f4ed;
  }
  .page_404 .contents {
    padding: 50px 0;
  }
  .head404 {
    color: #f29300;
    font-size: 46px;
    text-align: center;
    margin-bottom: 30px;
  }

  .page_404 p a {
    display: block;
    width: 300px;
    text-align: center;
    text-decoration: none;
    padding: 20px 0;
    box-sizing: border-box;
    border: 1px solid #333;
    margin: 150px auto 0;
    background: #f6f6f6;
  }


/*-------------------------------------------------------------------
** ニュースリリース トップページと共通パーツ
-------------------------------------------------------------------*/
/* トップ画像 */
  .page_image {
    height: 240px;
  }
  .page_image h3 {
    width: 1200px;
    font-size: 1.6rem;
    line-height: 1;
    color: #fff;
    margin: auto;
    padding-top: 84px;
  }
  .page_image h3 span {
    display: block;
    font-size: 3.6rem;;
    font-weight: normal;
    margin-top: 20px;
  }

  .pankuzu {
    background: #F5F5F5;
  }

  .pankuzu ul {
    width: 1200px;
    overflow: hidden;
    padding: 16px 0;
    margin: auto;
  }

  .pankuzu li {
    font-size: 14px;
    float: left;
  }

  .pankuzu li a {
    text-decoration: underline;
  }

  .main_contents {
    padding: 60px 0;
    line-height: 1.5;
  }


  .contents {
    width: 1000px;
    margin: auto;
  }
  .contents p {
    line-height: 2;
  }

/*-------------------------------------------------------------------
** ニュースリリース 新着情報トップ(固定ページ)
-------------------------------------------------------------------*/
  .news_release .page_image {
    background: url(images/ech/page_image_news.jpg) center no-repeat;
    background-size: cover;
  }
  .page_service .page_image {
    background: url(images/ech/page_image_service.jpg) center no-repeat !important;
    background-size: cover !important;
    ;
  }
  .page_works .page_image {
    background: url(images/ech/page_image_works.jpg) center no-repeat;
    background-size: cover;
  }
  .page_company .page_image,
  .page_company-vision .page_image{
    background: url(images/ech/page_image_company.jpg) center no-repeat;
    background-size: cover;
  }
  .page_recruit .page_image {
    background: url(images/ech/page_image_recruit.jpg) center no-repeat;
    background-size: cover;
  }
  .page_contact .page_image {
    background: url(images/ech/page_image_contact.jpg) center no-repeat;
    background-size: cover;
  }
  .page_business .page_image {
    background: url(images/ech/page_image_business.jpg) center no-repeat;
    background-size: cover;
  }
  .page_brand .page_image {
    background: url(images/ech/page_image_brand.jpg) center no-repeat;
    background-size: cover;
  }

  .news_list li {
    padding: 22px 25px;
    border-bottom: 1px solid #ccc;
  }
  .news_list li:first-child {
    border-top: 1px solid #ccc;
  }

  .news_list .cat_name {
    display: inline-block;
    width: 80px;
    background: #fff;
    font-size: 13px;
    text-align: center;
    padding: 6px 0 6px;
    box-sizing: border-box;
    margin: 0 16px 0 12px;
    border: 1px solid;
  }
  .news_list .cat_name.important {
    color: #D53E10;
  }

  /*.topics {
    border: 1px solid #eb5e01;
    color: #eb5e01 !important;

  }

  .media {
    border: 1px solid #57585e;
    color: #57585e !important;

  }

  .release {
    border: 1px solid #F29400;
    color: #F29400;
  }

  .news_meta {
    width: 200px;
    float: left;
    clear: both;
  }*/



/*-------------------------------------------------------------------
** ニュースリリース 新着情報詳細(投稿ページ)
-------------------------------------------------------------------*/
  .single_contents {
    width: 1000px;
    margin: auto;
  }
  .text_area * {
    line-height: 1.8;
  }
  .alignnone {
    float: none;
  }
  .alignleft {
    float: left;
    margin: 0 20px 10px 0;
  }
  .aligncenter {
    display: block;
    margin: auto;
  }
  .alignright {
    float: right;
    margin: 0 0 10px 20px;
  }
  .text_area p {
    font-size: 16px;
    margin-bottom: 1em;
  }

  .text_area img {
    max-width: 100%;
    height: auto;
  }

/* ページネーション */
  .page_nation {
    box-sizing: border-box;
  }
  .page_nation ul {
    width: 1000px;
    margin: auto;
    overflow: hidden;
  }
  .page_nation li {
    padding: 50px 0;
  }
  .page_nation li a {
    width: 200px;
    display: block;
    background: #fff;
    color: #000;
    font-size: 1.6rem;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    padding: 1em 0;
    border: 2px solid #000;
    position: relative;
    transition: all 0.2s;
  }

  .page_nation .prev {
    float: left;
  }

  .page_nation a:hover {
    background: #D53E10;
    color: #fff;
    border-color: #D53E10;
    transition: all 0.2s;
  }

  .page_nation .prev a:after {
    width: 21px;
    height: 8px;
    content: "";
    display: block;
    background: url(images/arrow_s_bl_right.svg) no-repeat;
    background-size: 21px auto;
    position: absolute;
    top: 20px;
    left: 30px;
  }

  .page_nation .prev:hover a:after {
    background: url(images/arrow_s_wh_right.svg) no-repeat;
  }

  .page_nation .next {
    float: right;
  }

  .page_nation .next a:after {
    width: 21px;
    height: 8px;
    content: "";
    display: block;
    background: url(images/arrow_s_bl.svg) no-repeat;
    background-size: 21px auto;
    position: absolute;
    top: 20px;
    right: 30px;
  }

  .page_nation .next:hover a:after {
    background: url(images/arrow_s_wh.svg) no-repeat;
  }

/* 記事日付 */
  .news_post .update_time {
    display: inline-block;
    font-size: 16px;
    margin-bottom: 6px;
  }

/* 記事タイトル */
  .news_post .post_title {
    font-size: 28px;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 17px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e4e3e0;
  }

/* カテゴリ名 */
  .cat_name {
    display: inline-block;
    width: 80px;
    background: #fff;
    font-size: 13px;
    text-align: center;
    padding: 6px 0 6px;
    box-sizing: border-box;
    margin: 0 16px 0 12px;
    border: 1px solid;
  }
  /*.topics {
    border: 1px solid #eb5e01;
    color: #eb5e01 !important;

  }
  .media {
    border: 1px solid #57585e;
    color: #57585e !important;

  }
  .media {
    border: 1px solid #57585e;
    color: #57585e !important;

  }
  .recruits {
    border: 1px solid #585151;
    color: #585151 !important;
  }*/

  .contents li {
    line-height: 1.8;
  }
  .news_post .page_image {
    background: url(images/ech/page_image_news.jpg) center no-repeat;
    background-size: cover;
  }



/*-------------------------------------------------------------------
** ブランド・会社概要などの共通CSS
-------------------------------------------------------------------*/
  .contents > h2 {
    font-size: 3.6rem;
    text-align: center;
    margin-bottom: 45px;
  }
  .contents > h2 span {
    padding: 0 2px 4px;
    border-bottom: 4px solid #000;
  }
  .page_brand .contents > h2 span {
    border-bottom: 0 !important;
  }

/*-------------------------------------------------------------------
** 会社案内
-------------------------------------------------------------------*/
  .company_nav {
    text-align: center;
    margin-bottom: 20px;
  }
  .company_nav li {
    font-size: 1.8rem;
  }

  /* 会社概要 */
  .summary_data dl {
    overflow: hidden;
  }
  .summary_data dt,
  .summary_data dd {
    line-height: 36px;
    padding: 16px 0;
    box-sizing: border-box;
  }

  .summary_data dt {
    width: 150px;
    text-align: right;
  }

  .summary_data dd {
    border-bottom: 1px solid #ccc;
    padding-left: 224px;
    margin-top: -68px;
  }


  /* 沿革 */
  .history_data dt,
  .history_data dd {
    line-height: 36px;
    padding: 16px 0;
    box-sizing: border-box;
  }

  .history_data dt {
    width: 162px;
    text-align: right;
    position: relative;
  }
  .history_data dd:before {
    display: block;
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #D53E10;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 17px;
    margin: auto;
  }
  .history_data dd:after {
    display: block;
    content: "";
    width: 1px;
    height: 105%;
    background: #D53E10;
    position: absolute;
    top: 31px;
    left: 21px;
  }

  .history_data dd {
    border-bottom: 1px solid #ccc;
    padding-left: 220px;
    margin-top: -68px;
    position: relative;
  }


  /* アクセスマップ */
  .access_contents {
    padding-bottom: 0;
  }

  .page_company .contents h3 {
    font-size: 3.0rem;
    text-align: center;
    margin-bottom: 40px;
  }
  .access_data {
    padding-bottom: 40px;
  }
  .map_area {
    position: relative;
    padding-bottom: 330px;
    height: 0;
    overflow: hidden;
  }

  .map_area iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }
  .route {
    padding-top: 40px;
  }

  .route h4 {
    font-size: 2.4rem;
    text-align: center;
    border-bottom: 1px solid #dcdad4;
    padding-bottom: 13px;
  }

  .route ul {
    border-top: 1px solid #4d4d4c;
    padding-top: 19px;
    overflow: hidden;
  }
  .route li {
    width: 235px;
    float: left;
    margin-right: 20px;
    margin-bottom: 28px;
  }

  .route + h3 {
    padding-top: 40px;
  }
  .route + .route li {
    height: 276px;
  }

  .route li p {
    margin-top: 4px;
  }

  .route li:nth-child(4n) {
    margin-right: 0;
  }
  .route li:nth-child(4n + 1) {
    clear: both;
  }

  .route li img {
    width: 100%;
    height: auto;
  }
  
  /*ビジョン*/
  .page_company-vision::after {
    display: block;
    content: "";
    width: 100vw;
    height: 100vh;
    background: url(images/bg.webp) center top;
    background-size: cover;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
  }
  .cnt_vision {
    width: 840px;
    margin: auto;
  }
  .cnt_vision .t1 {
    font-size: 50px;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin: 61px auto 32px
  }
  .cnt_vision .t2 {
    font-size: 18px;
    line-height: 1.5;
  }
  .cnt_vision .box {
    background: rgba(255,255,255, 0.6);
    padding: 53px 0 75px;
    margin-top: 88px;
  }
  .cnt_vision .box h3 {
    font-size: 28px;
    font-weight: normal;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 46px;
  }
  .cnt_vision .box h3 b {
    display: block;
    font-size: 40px;
    font-weight: bold;
    margin-bottom: 11px;
  }
  .cnt_vision .box ol {
    padding-left: 190px;
  }
  .cnt_vision .box ol li {
    font-size: 26px;
    font-weight: bold;
    line-height: 1.5;
  }


  /*-------------------------------------------------------------------
  ** ブランド
  -------------------------------------------------------------------*/
  .brand_lead_txt{
    margin-top: 65px;
    text-align: center;
  }
  .business_contents .bis_cnt {
    width: 1200px;
    margin: auto;
    position: relative;
  }
  .business_contents .overflow_cnt {
    position: relative;

  }

  .business_contents .bg_img {
    width: 62.5%;
    height: 540px;
    margin: auto;
    overflow: hidden;
  }
  .business_contents .bg_img img {
    -moz-object-fit: cover;
    -webkit-object-fit: cover;
    object-fit: cover;
    -moz-object-position: center;
    -webkit-object-position: center;
    object-position: center;

  }

  .business_contents .bis_cnt_box {
    width: 630px;
    height: 540px;
    background: rgba(245,245,245,0.8);
    padding: 123px 30px 0;
    position: absolute;
    top: 114px;
  }
  .business_contents .pos_l {
    left: 0;
  }
  .business_contents .pos_r {
    right: 0;
  }

  .business_contents .bis_cnt_box h3 {
    font-size: 2.6rem;
    text-align: center;
    margin-bottom: 51px;
  }
  .business_contents .bis_cnt_box p {
    font-size: 1.6rem;
    line-height: 2;
  }
  .business_contents .sp_top_cnt_wrap2 {

  }

  .business_contents .sp_top_cnt_wrap1 {
    margin-top: 194px;
    margin-bottom: 191px;
  }
  .business_contents .b1 {
    margin-top: 55px;
  }
  .btn_l_bis {
    display: block;
    width: 660px;
    height: 100px;
    background:  url(images/arrow_l_bl.svg) no-repeat right 30px top 46px;
    background-size: 61px auto;
    color: #000;
    font-size: 1.4rem;
    text-align: center;
    text-decoration: none;
    border: 2px solid #000;
    padding: 24px 0 0;
    transition: all 0.2s;
    margin-top: 55px;
  }
  .btn_l_bis:hover {
    color: #fff;
    background: #D53E10 url(images/arrow_l_wh.svg) no-repeat right 30px top 46px;
    background-size: 61px auto;
    border-color: #D53E10;
    transition: all 0.2s;
  }
  .btn_l_bis span {
    display: block;
    font-size: 2.4rem;
    position: relative;
    margin-top: 10px;
  }

  /*ブランド*/
  .brand_contents .contents > h2 + p {
    text-align: center;
    margin-top: 40px;
  }
  .brand_contents .bis_cnt_box {
    width: 630px;
    height: 400px;
    background: rgba(0,0,0,0.9) url(images/arrow_s_wh.svg) no-repeat right 40px bottom 44px;
    background-size: 21px auto;
    text-decoration: none;
    padding: 57px 50px 0;
    position: absolute;
    top: -80px;
    opacity: 1;
    transition: opacity 0.2s;
  }
  .brand_contents .bis_cnt_box:hover {
    opacity: 0.8;
    transition: opacity 0.2s;
  }
  .brand_contents [class*="sp_top_cnt"] {
    margin-top: 0;
    margin-bottom: 0;
    position: relative;
  }
  .brand_contents .b1 {
    margin-top: 133px;
  }
  .brand_contents .b2 {
    margin-top: 318px;
  }
  .brand_contents .b3 {
    margin-top: 210px;
  }
  .brand_contents .bis_cnt_box *{
    color: #fff;
  }
  .brand_contents .bis_cnt_box h3 {
    margin: 54px -20px 36px;
  }
  .brand_contents .bis_cnt_box > span {
    line-height: 1;
    position: absolute;
    right: 115px;
    bottom: 38px;
  }

  .br_item {
    width: 1200px;
    margin: auto;
    position: absolute;
    left: 0;
    right: 0;
    top: 370px;
  }
  .sp_top_cnt_wrap2 ul {
    padding-left: 75%;
  }
  .brand_contents ul li {
    font-size: 1.8rem;
    line-height: 1;
    margin-bottom: 1em;
    padding-left: 30px;
    background: url(images/icon_gt_bk.svg) no-repeat left center;
    background-size: 8px auto;
  }
  .brand_contents ul li a {
    text-decoration: none;
  }
  .brand_contents ul li a:hover {
    text-decoration: underline;
  }
  .brand_contents .br_img {
    display: block;
    margin: auto;
    width:180px;
  }

  /*-------------------------------------------------------------------
  ** 採用情報
  -------------------------------------------------------------------*/
  .page_recruit_top .main_contents {
    width: 100%;
    background: #fff;
    padding-bottom: 0;
  }
  .page_recruit_top .main_contents h4 {
    color: #f29300;
    padding: 20px 0 5px 0;
  }

  .recruit_main_image {
    overflow: hidden;
  }
  .recruit_main_image img {
    width: 500px;
    height: auto;
    float: left;
  }

  .recruit_lead {
    margin-bottom: 24px;
  }

  .job_type {
    background: #f6f4ed;
    padding: 60px 0;
    margin: 110px 0 60px;
  }

  .job_type h2 {
    font-size: 46px;
    color: #f29300;
    text-align: center;
    margin-bottom: 40px;
  }

  .job_type ul {
    width: 1000px;
    margin: auto;
    overflow: hidden;
  }

  .job_type li a {
    width: 485px;
    height: 186px;
    display: block;
    background: #fff url(images/ech/arrow.png) no-repeat right bottom;
    background-size: 44px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    padding: 26px 32px 0;
    text-decoration: none;
  }
  .job_type li:nth-child(odd) {
    float: left;
  }
  .job_type li:nth-child(even) {
    float: right;
  }

  .job_type li {
    margin-bottom: 30px;
  }

  .job_type li a:hover {
    color: #333;
    border: 1px solid #f29300;

  }

  .job_type li a h3 {
    color: #333;
    text-decoration: underline;
    margin-bottom: 10px;
    line-height: 1.4;
  }

  .melit {
    overflow: hidden;
  }

  .melit li {
    width: 310px;
    height: 130px;
    float: left;
    margin-right: 30px;
    margin-bottom: 15px;
  }

  .melit li:nth-child(-n+3) {
    height: 350px;
  }
  .melit li:nth-child(n+6):nth-child(-n+8) {
    height: 70px;
    margin-bottom: 0;
  }

  .melit li:nth-child(3n) {
    margin-right: 0;
  }

  .melit li img {
    width: 100%;
    height: auto;
  }

  .shafu {
    background: #f6f4ed;
    padding: 60px 0;
  }
  .page_recruit .job_detail dd {
    line-height: 1.5;
    margin-top: -82px;
  }

/* 採用情報・詳細*/
  .job_detail {
    padding-top: 10px;
  }
  .job_detail dt,
  .job_detail dd {
    line-height: 36px;
    padding: 26px 0;
    box-sizing: border-box;
  }

  .job_detail dt {
    color: #f29300;
    padding-left: 24px;

  }

  .job_detail dd {
    border-bottom: 1px solid #ccc;
    padding-left: 168px;
    margin-top: -88px;
  }
  .job_detail dt:first-child + dd {
    border-top: 1px solid #ccc;
  }
  .recruit_top_nav {
    padding: 20px 0 60px;
  }


/* 採用情報】ECコンサルタント・EC運営担当者（東京・札幌） recruit2
  these styles was added 20180223 by fujimoto. -----------------*/
  .job_lead_box {}
  .job_lead_box_img {
    width: 480px;
    height: 310px;
    float: left;
  /* background: #ddd;*/
  }
  .job_lead_box_txt {
    width: 500px;
    float: right;
  }
  .job_lead_box dl {
    clear: both;
    padding: 50px 0 0px;
  }
  .job_lead_box dt {
    font-size: 16px;
    line-height: 36px;
    color: #f29300;
    padding: 26px 24px;
  }
  .job_lead_box dd {
    font-size: 16px;
    line-height: 1.5;
    padding: 26px 24px 26px 168px;
    margin-top: -82px;
    border-top: 1px solid #ccc;
  }

  .office_image {
    width: 952px;
    margin: 0 auto 10px;
  }
  .office_image li {
    width: 300px;
    float: left;
  }
/*
  .office_image li:before {
    display: block;
    content: "image";
    width: 300px;
    height: 300px;
    background: #ddd;
  }
  */
  .office_image li + li {
    margin-left: 26px;
  }
  .office_image li img {
    width: 300px;
  }
  .office_image li h3 {
    font-weight: bold; //color: #f29300;
    margin: 20px 0 10px;
  }


/*-------------------------------------------------------------------
** お問い合わせ
-------------------------------------------------------------------*/
  .form_contents {
    width: 1200px;
    margin: auto;
  }
  .form_contents p {
    line-height: 2;
  }
  .caution_page {
    width: 1000px;
    background: #F5F5F5;
    padding: 40px;
    margin: 55px auto 60px;
  }
  .caution_title {
    text-align: center;
    margin-bottom: 38px;
  }

  .contact_nav {
    display: flex;
    flex-flow: row wrap;
    align-items: stretch;
  }
  .contact_nav li {
    flex: 1 300px;
    margin-left: 20px;
    border: 1px solid #000;
  }
  .contact_nav li:nth-child(3n+1) {
    margin-left: 0;
  }
  .contact_nav li * {
    line-height: 1.5;
  }
  .contact_nav li a {
    display: block;
    height: 100%;
    background: url(images/arrow_s_bl.svg) no-repeat right 20px bottom 20px;
    background-size: 21px auto;
    padding: 40px 20px 50px;
    text-decoration: none;
    position: relative;
  }

  .contact_nav li a:hover p {
    text-decoration: underline;
  }
  .contact_nav li .t1 {
    font-size: 1.8rem;
    line-height: 1.5;
    margin: 0 0 40px 132px;
  }
  .contact_nav li .t3 {
    font-size: 1.3rem;
    min-height: 14px;
    position: absolute;
    right: 65px;
    bottom: 14px;
    padding-right: 22px;
  }
  .contact_nav li .t3:after {
    display: block;
    content: "";
    width: 14px;
    height: 14px;
    background: url(images/icon_newtab_bl.svg) no-repeat center;
    background-size: 14px auto;
    position: absolute;
    right: 0;
    top: 3px;
  }
  .contact_nav li a:before {
    display: block;
    content: "";
    width: 110px;
    height: 80px;
    position: absolute;
    top: 30px;
    left: 20px;
  }
  .contact_nav .li1 a:before {
    background: url(images/icon_onlineshop.png) no-repeat center;
    background-size: contain;
  }
  .contact_nav .li2 a:before {
    background: url(images/icon_service.png) no-repeat center;
    background-size: contain;
  }
  .contact_nav .li3 a:before {
    background: url(images/icon_dp.png) no-repeat center;
    background-size: contain;
  }
  .contact_nav .li4 a:before {
    background: url(images/icon_recruit.png) no-repeat center;
    background-size: contain;
  }

  .contact_form_wrap {
    margin: 77px 30px 0;
  }
  .form_title {
    width: 400px;
    font-size: 3.6rem;
    text-align: center;
    margin: 0 auto 60px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000;
  }
  .form_title small {
    display: block;
    font-size: 1.6rem;
    margin-bottom: 14px;
  }

  .contact_form_wrap .form_table {
    width: 1140px;
    table-layout: fixed;
    margin: auto;
  }
  .contact_form_wrap .form_table * {
    font-size: 1.8rem;
    line-height: 1.5;
  }
  .contact_form_wrap .form_table th {
    width: 230px;
    padding-top: 24px;
    vertical-align: top;
  }
  .contact_form_wrap .form_table th > div {
    position: relative;
  }
  .contact_form_wrap .hissu {
    display: inline-block;
    color: #D53E10;
    font-size: 1.4rem;
    line-height: 1;
    padding: 4px 10px;
    border: 1px solid;
  }
  .contact_form_wrap .form_table .hissu {
    position: absolute;
    right: 0;
    top: -3px;
  }
  .contact_form_wrap .form_table td {
    padding: 10px 0 10px 30px;
  }
  .contact_form_wrap .form_table td > div + div {
    margin-top: 17px;
  }

  .contact_form_wrap .form_table [type="text"],
  .contact_form_wrap .form_table [type="email"],
  .contact_form_wrap .form_table textarea {
    background: #fff;
    border: 1px solid #E2E2E2;
    border-radius: 1px;
    padding: 0.5em;
  }
  .contact_form_wrap .form_table [type="text"]:empty,
  .contact_form_wrap .form_table [type="email"]:empty,
  .contact_form_wrap .form_table textarea:empty {
    background: #F7F5F5;
  }
  .contact_form_wrap .form_table input::placeholder {
    color: #ddd;
  }
  .contact_form_wrap .form_table .length1 {
    width: 410px;
  }
  .contact_form_wrap .form_table .length2 {
    width: 800px;
  }
  .contact_form_wrap .form_table .length3 {
    width: 210px;
  }
  .contact_form_wrap .form_table textarea {
    width: 800px;
    height: 300px;
    overflow-y: scroll;
  }

  .contact_form_wrap .form_table .txt_address {
    display: block;
  }
  .contact_form_wrap .form_table .tyui {
    display: block;
    font-size: 80%;
  }
  
  .extra_caution_page {
    width: 1000px;
    background: #F5F5F5;
    padding: 40px;
    margin: 55px auto 60px;
  }
  .extra_caution_page h2 {
    font-size: 18px;
    text-align: center;
    margin-bottom: 20px;
  }


/* お問い合わせフォーム　個人情報 */
  .form_readme * {
    font-size: 14px;
    line-height: 1.5;
  }
  .form_readme {
    width: 980px;
    height: 310px;
    background: #fff;
    margin: 50px auto 80px;
    padding: 30px 40px;
    overflow: auto;
    border: 1px #cccccc solid;
    text-align: left;
  }
  .form_readme p {
    line-height: 1.5;
    text-align: left;
    margin-bottom: 10px;
  }
  .form_readme a {
    text-decoration: underline;
  }

  .check_agree {
    font-size: 1.6rem;
    text-align: center;
  }
  .check_agree label {
    display: inline-block;
  }
  .cusutom_checkbox {
    display: inline-block;
    width: 30px;
    height: 30px;
    border: 1px solid #707070;
    vertical-align: -9px;
    margin-right: 30px;
    position: relative;
    cursor: pointer;
  }
  .cusutom_checkbox i {
    display: none;
    width: 22px;
    height: 14px;
    transform: rotate(-45deg);
    border-left: 4px solid #19e531;
    border-bottom: 4px solid #19e531;
    position: absolute;
    left: 4px;
    top: 3px;
  }
  .check_agree .hissu {
    margin-left: 29px;
  }

  .contact_form_wrap .btn_box {
    text-align: center;
    margin-top: 80px;
  }
  .mw_wp_form_input .contact_form_wrap .btn_box {
    display: none;
  }

  .contact_form_wrap .btn_submit {
    display: inline-block;
    width: 460px;
    background: #D53E10 url(images/arrow_l_wh.svg) no-repeat right 30px center;
    background-size: 61px auto;
    color: #fff;
    font-size: 2.0rem;
    line-height: 1;
    text-align: center;
    padding: 2em 0;
    border: 0;
    opacity: 1;
    transition: opacity 0.2s;
    cursor: pointer;
  }
  .contact_form_wrap .btn_back {
    display: inline-block;
    width: 460px;
    background: #aaa;
    background-size: 61px auto;
    color: #fff;
    font-size: 2.0rem;
    line-height: 1;
    text-align: center;
    padding: 2em 0;
    border: 0;
    opacity: 1;
    transition: opacity 0.2s;
    cursor: pointer;
    margin-right: 40px;
  }
  .contact_form_wrap .btn_submit:hover,
  .contact_form_wrap .btn_back:hover {
    opacity: 0.8;
    transition: opacity 0.2s;
  }

  /*エラー画面*/
  .form_txt_error {
    display: none;
    color: red;
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 60px;
  }
  .form_txt_confirm {
    display: none;
    font-size: 1.8rem;
    text-align: center;
    margin-bottom: 60px;
  }
  .mw_wp_form .error {
    color: red !important;
  }

  /*確認画面*/
  .mw_wp_form_confirm .check_agree,
  .mw_wp_form_confirm .contact_head,
  .mw_wp_form_confirm .form_readme,
  .mw_wp_form_confirm .hissu,
  .mw_wp_form_confirm .tyui,
  .mw_wp_form_confirm .txt_address {
    display: none !important;
  }
  .mw_wp_form_confirm .form_txt_confirm {
    display: block;
  }
  .mw_wp_form_confirm .form_table {
    width: 700px;
  }
  .mw_wp_form_confirm .form_table tr {
    border-bottom: 1px solid #ddd;
  }
  .mw_wp_form_confirm .form_table th,
  .mw_wp_form_confirm .form_table td {
    font-size: 1.8rem !important;
    line-height: 1.5 !important;
    padding: 10px 0 !important;
  }

  /*完了画面*/
  .form_conplete_box {
    width: 800px;
    min-height: 300px;
    margin: 3em auto 10em;
  }
  .form_conplete_box h3 {
    font-size: 2.4rem;
    text-align: center;
    margin: 40px 0;
  }

  .f_red{
  color:#ff0000;
  }

/*-------------------------------------------------------------------
** 個人情報保護
-------------------------------------------------------------------*/
  .kaitei li {
    list-style: none !important;
    text-align: right;
    font-size: 14px;
  }
  .privacy_text_box {
    width: 800px;
    margin: auto;
  }
  .privacy_text_box h3 {
    font-size: 22px;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }
  .privacy_text_box > ol,
  .privacy_text_box > ul {
    padding-left: 24px;
  }
  .privacy_text_box li,
  .privacy_text_box dt,
  .privacy_text_box dd {
    line-height: 1.5;
  }
  .privacy_text_box ol > li {
    list-style: decimal;
  }
  .privacy_text_box dt {
    margin-top: 20px;
  }
  .privacy_text_box dt:first-child {
    margin-top: 0;
  }
  .madoguti {
    width: 600px;
    padding: 10px 20px;
    box-sizing: border-box;
    margin: 30px auto;
    border: 1px solid #333;
  }
  .privacy_text_box h4 {
    margin-top: 20px;
  }
  .privacy_text_box h5 {
    font-size: 16px;
    margin-top: 4px;
  }
  .privacy_text_box h5 + ol {
    margin-bottom: 10px;
  }
  .privacy_text_box h5 + ol li {
    margin-left: 24px;
  }
  .madoguti hr {
    margin: 20px 0;
  }
/*----- プライバシーマークについて -----*/
  .mark_box {
    width: 800px;
    margin: 0 auto 70px;
    position: relative;
  }
  .mark_box p {
    margin-bottom: 1em;
  }
  .mark_box .ceo_sign {
    text-align: right;
  }
  .mark_box .pmark {
    width: auto;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 0;
    border: 0;
  }
  .mark_box .pmark img {
    background: #fff;
    padding: 5px;
  }
  .mark_box dt {
    margin-left: -8px;
    margin-bottom: 8px;
  }
  .mark_box dd {
    margin-bottom: 8px;
  }
  #SP_tel_num {
    display: none;
  }
}

/*===================================================================================
!!　1570px未満のPC
===================================================================================*/

@media only screen and (min-width:768px) and (max-width: 1280px) {
  body {
    width: 1249px;
  }
  .onlyTL {
    display: block;
  }
}






/*===================================================================================
!!スマホ用グローバルヘッダーは1250px以上から非表示にする
===================================================================================*/
@media only screen and (min-width: 768px) and (max-width: 1320px) {
  .forSP,
  .only_forSP,
  .only_sp,
  #SP_tel_num {
    display: none;
  }

  .main_bnr_area {
    height: 70vh;
    overflow: hidden;
  }
  .main_bnr_list {
    width: calc(70vh * 1.109);
    height: auto;
  }




  .global_nav {
    display: none;
  }

  .btn_tablet_menu {
    display: block;
    width: 90px;
    height: 90px;
    background: #D53E10;
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
  }
  .btn_tablet_menu i {
    width: 46px;
    height: 4px;
    background: #fff;
    border-radius: 2px;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
  .btn_tablet_menu .i1 {
    top: 25px;
  }
  .btn_tablet_menu .i2 {
    top: 0;
    bottom: 0;
  }
  .btn_tablet_menu .i3 {
    bottom: 25px;
  }
  .btn_tablet_menu.on .i1 {
    top: 0;
    bottom: 0;
    transform: rotate(45deg);
  }
  .btn_tablet_menu.on .i2 {
    opacity: 0;
  }
  .btn_tablet_menu.on .i3 {
    top: 0;
    bottom: 0;
    transform: rotate(-45deg);
  }

  .tablet_global_nav {
    display: none;
    width: 520px;
    height: calc(100vh - 90px);
    background: #000;
    position: absolute;
    top: 90px;
    right: 0;
    padding: 40px 80px;
  }
  .tablet_global_nav * {
    color: #fff;
  }
  .tablet_global_nav_inner {
    border-bottom: 2px solid #fff;
  }
  .tablet_global_nav ul {
    margin-bottom: 10px;
  }

  .tablet_global_nav li {
    margin: 10px 0;
  }
  .tablet_global_nav li a {
    display: inline-block;
    font-size: 1.8rem;
    padding: 10px 0;
  }
  .other_link {
    margin-top: 20px;
    text-align: center;
  }
  .other_link a {
    font-size: 1.2rem;
  }

  /*タブレットの縦表示*/
  @media (orientation: portrait) {
    .main_bnr_area {
      height: 40vh;
    }
    .main_bnr_list {
      width: 60vw;
      height: auto;
    }
    .footer_nav {
      width: 880px;
    }

    .main_bnr_txtarea {
      height: 200px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      left: 4%;
    }
    .main_bnr_txtarea h2 {
      font-size: 32px;
      line-height: 1.826;
    }
    .main_bnr_txtarea p {
      font-size: 13px;
      line-height: 2;
      margin-top: 1.8vw;
    }
  }
}




/*===================================================================================
!!　641px以下1249px 以下 タブレット
===================================================================================*/

@media only screen and (min-width: 768px) and (max-width: 1199px) {
  body {
    width: 1199px;
    overflow-x: hidden;
  }
  .onlyTL {
    display: block;
  }
}

/*===================================================================================
!!　ヘッダーのベースはスマホ・タブレット共通
===================================================================================*/

@media only screen and (max-width: 1199px) {
  .forPC,
  .only_forSP,
  .only_pc,
  .container figcaption {
    display: none;
  }
  .forTL {
    display: block;
  }

/*-------------------------------------------------------------------
** グローバルヘッダー
-------------------------------------------------------------------*/
  .main_bnr_area .slick-arrow {
    display: none !important;
  }
  .global_header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    max-width: 100%;
    width: 100%;
    z-index: 10000;
    background: #fff;
    border-bottom: 1px solid #e4e3e0;
  }

  .global_header_inner {
    height: 90px;
    position: relative;
  }

  .logo_sp {
    position: absolute;
    top: 20px;
    left: 20px;
  }

  .btn_menu {
    display: block;
    width: 90px;
    height: 90px;
    background: #D53E10;
    color: #fff;
    font-style: normal;
    font-size: 16px;
    text-align: center;
    text-decoration: none;
    box-sizing: border-box;
    position: absolute;
    top: 0;
    right: 0;
  }



/*---------- グローバルナビ ----------*/
  .sp_global_nav {
    position: fixed;
    top: 91px;
    margin-left: 100%;
    width: 100%;
    height: 100%;
    min-height: 100%;
    background: rgba(0, 0, 0, 1);
    overflow-y: scroll;
  }
  .sp_global_nav * {
    color: #fff;
  }

  .sp_global_nav li {
    font-size: 18px;
  /*スマホは16pxにする*/
    line-height: 1;
    box-sizing: border-box;
  }

  .sp_global_nav li a {
    display: block;
    width: auto;
    height: 100%;
    color: #fff;
    text-decoration: none;
    box-sizing: border-box;
    padding: 30px 20px;
    text-decoration: none;
    cursor: pointer;
    position: relative;
  }

  .news_line{
    margin-bottom:20px;
  }
}







/*===================================================================================
!!スマホ用
===================================================================================*/
@media only screen and (max-width: 767px) {
  body {
    width: 100vw;
    overflow-x: hidden;
    padding: 0;
    margin: 0;
    font-size: 4.26vw;
  }
  p {
    line-height: 1.5;
  }
  img {
    max-width: 100%;
    height: auto;
  }
  .sp_global_header,
  .only_forSP,
  .only_sp {
    display: block !important;
  }
  .only_pc {
    display: none;
  }

  /*-------------------------------------------------------------------
  ** グローバルヘッダー
  -------------------------------------------------------------------*/
  /*ロゴ*/
  .logo_sp {
    width: 130px;
    height: 38px;
    position: absolute;
    top: 10px;
    left: 20px;
  }
  .logo_sp a {
    display: block;
    width: 130px;
    height: 38px;
  }
  .logo_sp img {
    width: 100%;
    height: auto;
    vertical-align: top;
  }

  /* ドロワーメニューが出ているときは背面を固定する */
  .fixed {
    position: fixed;
    width: 100%;
    height: 100%;
  }

  /*-------------------------------------------------------------------
  ** グローバルナビ
  -------------------------------------------------------------------*/
  .sp_global_nav {
    top: 60px;
    z-index: 200;
    min-height: 100vh;
    margin-left: 100%;
  }
  .sp_global_header_inner {
    height: 60px;
  }

  .sp_global_nav ul {
    margin: 0 40px;
    padding: 12px 0 14px;
  }
  .sp_global_nav_inner {
    border-bottom: 2px solid #fff;
  }
  .sp_global_nav li + li {
    margin-top: 2px;
  }
  .sp_global_nav li a {
    font-size: 16px;
    padding: 12px 0;

  }
  .sp_global_nav ul li a span {
    position: relative;
  }
  .sp_global_nav ul li a span::after {
    display: block;
    content: "";
    background: url(images/icon_newtab.svg);
    width: 14px;
    height: 14px;
    position: absolute;
    right: -50px;
    top: 0;
    bottom: 0;
    margin: auto;
  }

  .btn_menu {
    width: 60px;
    height: 60px;
    position: absolute;
    top: 0;
    right: 0;
  }
  .btn_menu i {
    display: block;
    width: 28px;
    height: 2px;
    background: #fff;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
  }
  .btn_menu .i1 {
    top: 21px;
  }
  .btn_menu .i2 {
    top: 0;
    bottom: 0;
  }
  .btn_menu .i3 {
    bottom: 21px;
  }

  .on.sp_global_header_inner,
  .on .btn_menu {
    background: #000;
    transition: background 0.2s;
  }
  .on .logo_sp img {
    opacity: 0;
  }
  .on .logo_sp a {
    background: url(images/logo_wh.svg) no-repeat left top;
    background-size: 130px auto;
  }

  .on .btn_menu .i1 {
    top: 0;
    bottom: 0;
    transform: rotate(45deg);
    transition: all 0.2s;
  }
  .on .btn_menu .i2 {
    opacity: 0;
    transition: all 0.2s;
  }
  .on .btn_menu .i3 {
    top: 0;
    bottom: 0;
    transform: rotate(-45deg);
    transition: all 0.2s;
  }

  .other_link {
    margin-top: 14px;
    text-align: center;
  }
  .other_link a {
    color: #fff;
    font-size: 12px;
    text-decoration: none;
  }

  /*loading*/
  #loader-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100%;
    background: rgba(255, 255, 255, 1);
    z-index: 20000;
  }
  #loader {
    position: fixed;
    width: 40vw;
    text-align: center;
    top: calc(50% - 30px);
    left: 0;
    right: 0;
    margin: auto !important;
    z-index: 100;
  }
  #loader img {
    width: 100%;
    height: auto;
  }

  #loader p.en {
    font-size: 12px;
    font-weight: bold;
    padding-top: 10px;
    text-align: center;
  }


  /*-------------------------------------------------------------------
  ** グローバルフッター
  -------------------------------------------------------------------*/
  .global_footer {
    background: #F5F5F5;
  }

  .footer_banner_area ul {
    padding: 11.2vw 5.2vw 5.3vw;
    text-align: center;
  }
  /* バナーエリア */
  .pmark {
    width: 47%;
    border: 2px solid #fff;
    float: left;
  }
  .pmark > div {
    overflow: hidden;
    border: 1px solid #666;
    padding: 2px;
    box-sizing: border-box;
  }
  .pmark img {
    width: 10.6vw;
    float: left;
    margin-left: 0.5vw;
    margin-right: 1vw;
  }
  .sbnr_txt {
    text-align: left;
  }
  .sbnr_txt a {
    color: #000;
    font-size: 1.7vw;
    line-height: 1;
    text-decoration: underline;
  }

  .ymark {
    width: 47%;
    float: right;
    margin-top: 1.4vw;
  }
  .gmark {
    width: 220px;
    float: none;
    clear: both;
    margin: 0 auto 0;
    padding-top: 10px;
  }
  .omark {
    width: 71px;
    float: none;
    clear: both;
    margin: 0 auto 0;
    padding-top: 10px;
  }

  .copyright {
    background: #D53E10;
    color: #fff;
    font-size: 12px;
    text-align: center;
    padding: 15px 0;
  }
  .copyright a {
    color: #fff;
    text-decoration: none;
  }
  .copyright small {
    display: block;
    margin-bottom: 1em;
  }
  .copyright small a + a {
    margin-left: 8px;
    padding-left: 8px;
    border-left: 1px solid #fff;
  }
  .copyright span,
  .copyright span a {
    text-decoration: none;
  }


  /*-------------------------------------------------------------------
  ** トップページ
  -------------------------------------------------------------------*/
  .main_bnr_txtarea {
    margin: 4.5vw 5.2vw 4.8vw;
  }
  .main_bnr_txtarea h2 {
    font-size: 8vw;
    line-height: 1.66;
    margin-bottom: 7vw;
  }
  .main_bnr_txtarea p {
    line-height: 2;
  }

  /*重要なお知らせ*/
  .news_important {
    background: #F5F5F5;
    padding: 5.2vw;
    margin-bottom: 9vw;
  }


  /* お知らせ */
  .top_cnt_ttl {
    font-size: 7.4vw;
    text-align: center;
  }
  .top_cnt_ttl small {
    display: block;
    font-size: 3.7vw;
    margin-bottom: 1em;
  }
  .top_news_list {
    margin: 0 5.2vw;
  }
  .top_news_list ul {
    margin-top: 9.6vw;
  }
  .news_meta_ttl {
    display: inline-block;
    width: 24vw;
    font-size: 3.7vw;
    line-height: 1.5;
    text-align: center;
    border: 1px solid;
    padding: 0.7vw 0;
    margin-right: 1em;
  }
  .news_meta_ttl.important {
    display: inline-block;
    color: #D53E10;
    border: 1px solid;
  }
  .top_news_list .date {
    display: inline-block;
  }
  .news_post_title {
    font-size: 3.7vw;
    line-height: 2;
    margin-top: 3vw;
  }
  .top_news_list li:last-child .news_post_title {
    border-bottom: 0;
  }
  .top_news_list a {
    text-decoration: none;
  }

  /*ビジネス*/
  .top_cnt_d2c {
    width: 100vw;
    margin-top: 11vw;
    overflow-y: hidden;
    padding-left: 5.2vw;
    padding-right: 5.2vw;
  }
  .top_cnt_d2c_inner {
    background: rgba(245,245,245,0.8);
    margin-top: 5.2vw;
    padding: 5.2vw;
    padding-bottom:10.6vw;
    text-align: center;
    position: relative;
  }
  .top_cnt_d2c_inner small {
    display: block;
    font-size: 3.7vw;
  }
  .top_cnt_d2c_inner h2 {
    font-size: 7.46vw;
    margin: 3.46vw 0 4.26vw;
  }
  .top_cnt_d2c_inner h3 {
    font-size: 5.3vw;
  }
  .top_cnt_d2c_inner p {
    text-align: left;
    line-height: 2;
    margin: 7.2vw 0 15.2vw;
  }

  .btn_s {
    display: block;
    width: 53.3vw;
    text-align: center;
    text-decoration: none;
    border: 2px solid #000;
    padding: 1em 0;
    position: relative;
  }
  .btn_s::after {
    display: block;
    content: "";
    width: 5.6vw;
    height: 1.86vw;
    background: url(images/arrow_s_bl.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 8vw;
    top: 5.2vw;
  }
  .btn_news::after {
    right: 4vw;
  }

  /* ブランド */
  .top_cnt_brand {
    width: 100vw;
    margin: 9.86vw 0 0;
    overflow-y: hidden;
    padding: 0 5.2vw 9.86vw;
  }
  .top_cnt_brand h3 {
    font-size: 5.3vw;
    text-align: center;
    margin: 4.8vw 0 6.93vw;
  }
  .top_cnt_brand > p {
    line-height: 2;
    margin-bottom: 15.2vw;
  }
  .top_cnt_brand_list {
    margin-top: 10.6vw;
  }
  .top_cnt_brand_list li + li {
    margin-top: 17.8vw;
  }
  .top_cnt_brand_list .sp_box {
    position: relative;
  }
  .top_cnt_brand_list .sp_brand_logo {
    display: inline-block;
    width: 34.7vw;
    height: 13.3vw;
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .ka .sp_brand_logo {
    background: #000 url(images/logo_gnav_kamika.svg) no-repeat center;
    background-size: 28.8vw auto;
  }
  .ex .sp_brand_logo {
    background: #000 url(images/logo_gnav_ex.svg) no-repeat center;
    background-size: 20.8vw auto;
  }
  .tr .sp_brand_logo {
    background: #000 url(images/logo_gnav_tricore.svg) no-repeat center;
    background-size: 21.8vw auto;
  }
  .top_cnt_brand_list a {
    text-decoration: none;
  }
  .top_cnt_brand_list p {
    line-height: 2;
    text-decoration: none;
    margin-top: 3vw;
  }

  .btn_asterone {
    display: block;
    width: auto;
    height: 18.66vw;
    background: #162449 url(images/btn_logo_asterone.svg) no-repeat center 9.3vw;
    background-size: 38.4vw auto;
    color: #fff;
    font-size: 3.2vw;
    text-align: center;
    text-decoration: none;
    margin-top: 23.2vw;
    padding-top: 3.46vw;
    position: relative;
  }
  .btn_asterone:after {
    display: block;
    content: "";
    width: 16vw;
    height: 1.86vw;
    background: url(images/arrow_l_wh.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 2.6vw;
    top: 8.26vw;
  }

  /*採用情報*/
  .top_cnt_recruit {
    background: url(images/top_recruit_bg_sp.png) center;
    background-size: cover;
    margin-top: 16vw;
    padding: 9.86vw 0 4vw;
  }
  .top_cnt_recruit .top_cnt_ttl {
    color: #fff;
    margin-bottom: 9.6vw;
  }
  .btn_l {
    display: block;
    width: 92vw;
    color: #fff;
    line-height: 1.3125;
    text-align: center;
    text-decoration: none;
    border: 1px solid #fff;
    margin: auto;
    padding: 0.7em 0;
    position: relative;
  }
  .btn_l::after {
    display: block;
    content: "";
    width: 5.33vw;
    height: 1.87vw;
    background: url(images/arrow_s_wh.svg) no-repeat;
    background-size: contain;
    position: absolute;
    right: 4vw;
    bottom: 5.2vw;
  }




/*---------------------------------
  == 下層ページ共通
  ---------------------------------*/
  .page_image {
    height: 40vw;
    //margin-top: 76px;
  }
  .news_release .page_image,
  .news_post .page_image {
    background: url(images/ech/page_image_news_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .page_service .page_image {
    background: url(images/ech/page_image_service_sp.jpg) center no-repeat !important;
    background-size: cover !important;
    ;
  }
  .page_works .page_image {
    background: url(images/ech/page_image_works_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .page_company .page_image,
  .page_company-vision .page_image {
    background: url(images/ech/page_image_company_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .page_recruit .page_image {
    background: url(images/ech/page_image_recruit_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .page_contact .page_image {
    background: url(images/ech/page_image_contact_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .page_business .page_image {
    background: url(images/ech/page_image_business_sp.jpg) center no-repeat;
    background-size: cover;
  }
  .page_brand .page_image {
    background: url(images/ech/page_image_brand_sp.jpg) center no-repeat;
    background-size: cover;
  }

  .page_image h3 {
    font-size: 3.7vw;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    padding-top: 13vw;
    margin-left: 5.3vw;
  }
  .page_image h3 span {
    display: block;
    font-size: 7.46vw;
    font-weight: normal;
    margin-top: 2.5vw;
  }
  .pankuzu {
    background: #F5F5F5;
    overflow: hidden;
    box-sizing: border-box;
    padding: 2vw 5.3vw;
  }
  .pankuzu li {
    font-size: 12px;
    line-height: 1.4;
    float: left;
  }

  .contents > h2 {
    font-size: 6.4vw;
    padding: 5vw 0.5vw 1vw;
    text-align: center;
    margin-bottom: 20px;
  }
  .contents > h2 span {
    border-bottom: 4px solid #000;
    padding-bottom: 4px;
  }

/*---------- news release ----------*/
  .news_release .contents,
  .news_post .contents {
    padding: 40px 5.2vw;
    min-height: 30vh;
  }
  .news_list li {
    padding: 20px 0;
    border-bottom: 1px solid #ccc;
  }
  .news_list li:first-child {
    padding: 18px 0;
    border-top: 1px solid #ccc;
  }
  .post_title {
    display: block;
    margin: 8px 0 0;
    line-height: 1.5;
  }
  .news_post .post_title {
    margin-left: 0px;
    margin-right: 0px;
  }
  .cat_name {
    display: inline-block;
    width: 80px;
    background: #fff;
    font-size: 12px;
    text-align: center;
    padding: 5px 0 3px;
    box-sizing: border-box;
    margin: 0 16px 0 12px;
    border: 1px solid;
  }
  .cat_name.important {
    color: #D53E10;
  }

  .news_post .post_title {
    font-size: 22px;
    line-height: 1.5;
    margin-bottom: 17px;
    text-align: left;
    border-bottom: 1px solid #e4e3e0;
    padding-bottom: 10px;
  }

  .text_area * {
    line-height: 1.8;
  }
  .text_area img {
    display: block;
    width: auto;
    max-width: 100%;
    height: auto;
    padding-top: 10px;
  }
  .aligncenter,
  .alignnone {
    margin-left: auto;
    margin-right: auto;
  }
  .dougnut_box {
    width: 100% !important;
  }
  .dougnut_box img {
    width: 50%;
  }
/* ページネーション */
  .page_nation {
    box-sizing: border-box;
  }
  .page_nation ul {
    width: auto;
    margin: auto 10px;
    overflow: hidden;
  }

  .page_nation li a {
    width: 38vw;
    display: block;
    background: #fff;
    color: #000;
    font-size: 3.7vw;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    padding: 1em 0;
    border: 2px solid;
    position: relative;
    box-sizing: border-box;
  }

  .page_nation .prev {
    float: left;
    padding-top: 40px;
    margin-bottom: 40px;
  }


  .page_nation .prev a:after {
    width: 5.6vw;
    height: 2.13vw;
    content: "";
    display: block;
    background: url(images/arrow_s_bl_right.svg) no-repeat center;;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 1.2vw;
  }

  .page_nation .next {
    float: right;
    padding-top: 40px;
    margin-bottom: 40px;
  }

  .page_nation .next a:after {
    width: 5.6vw;
    height: 2.13vw;
    content: "";
    display: block;
    background: url(images/arrow_s_bl.svg) no-repeat center;;
    background-size: contain;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 1.2vw;
  }

/*---------- service ----------*/
  .works_meta {
    padding: 18px 20px 22px;
    box-sizing: border-box;
  }
  .works_title {
    font-size: 20px;
  }
  .another_service {
    margin: 20px 10px;
  }
  .another_service li {
    font-size: 14px;
    text-align: center;
    padding: 20px 0;
    border: 1px solid #ccc;
    background: #fff;
    box-sizing: border-box;
    margin-top: 10px;
  }

/*---------- works ----------*/
  .works_type i {
    display: inline-block;
    font-size: 12px;
    font-style: normal;
    color: #fff;
    line-height: 1;
    padding: 4px 8px;
    margin: 3px 0;
  }
  .works_type .type_a {
    background: #999;
  }
  .works_type .type_b {
    background: #eb5d01;
  }
  .works_type .type_c {
    background: #f29300;
  }
  .works_nav {
    padding: 40px 0 30px;
  }
  .works_nav li {
    margin-bottom: 10px;
  }
  .SP_btn2,
  .SP_btn2:visited,
  .SP_btn2:hover {
    color: #f29300;
  }

/*---------- company ----------*/
  .page_company .contents,
  .page_company-vision .contents {
    padding: 9.8vw 5.3vw 15.7vw;
  }
  .ceo_img {
    width: 100%;
    height: auto;
    margin: 20px 0;
  }
  .page_company .contents p {
    margin-top: 8px;
  }
  .ceo_sign {
    text-align: right;
    font-size: 14px;
  }
  .ceo_sign span {
    font-size: 14px;
  }
  .ceo_profile {
    padding: 0 20px 10px;
    border: 1px solid #f29300;
    margin-top: 20px;
  }
  .ceo_profile p:first-child {
    font-size: 14px;
    color: #f29300;
  }
  .company_nav {
    padding: 0 0 4.5vw;
    text-align: center;
  }
  .company_nav a {
    font-size: 3.4vw;
  }
  .company_nav li {
    margin-top: 10px;
  }
  .company_nav li:first-child {
    margin-top: 0;
  }
  .page_company h2 + h3 {
    margin-top: 25px;
  }
  
  /*ビジョン*/
  .page_company-vision::after {
    display: block;
    content: "";
    width: 100vw;
    height: 100vh;
    background: url(images/bg.webp) center top;
    background-size: cover;
    position: fixed;
    left: 0;
    top: 0;
    z-index: -1;
  }
  .page_company-vision .contents {
    padding-bottom: 12vw;
  }
  .cnt_vision {
    width: 90%;
    margin: auto;
  }
  .cnt_vision .t1 {
    font-size: 5.5vw;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    margin: 8vw auto 4vw;
  }
  .cnt_vision .t2 {
    font-size: 3.2vw;
    line-height: 1.5;
  }
  .cnt_vision .box {
    background: rgba(255,255,255, 0.6);
    padding: 7vw 0 6.5vw;
    margin-top: 10vw;
  }
  .cnt_vision .box h3 {
    font-size: 3.2vw;
    font-weight: normal;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 5.3vw;
  }
  .cnt_vision .box h3 b {
    display: block;
    font-size: 5.3vw;
    font-weight: bold;
    margin-bottom: 1.3vw;
  }
  .cnt_vision .box ol {
    padding: 0 15vw;
  }
  .cnt_vision .box ol li {
    font-size: 3.2vw;
    font-weight: bold;
    line-height: 1.5;
  }

/*---------- privacy ----------*/
  .privacy_text_box {
    margin: 0 10px;
  }
  .kaitei {
    margin-top: 30px;
  }
  .kaitei li {
    font-size: 12px !important;
    text-align: right;
    list-style: none !important;
  }
  .privacy_text_box h3 {
    font-size: 14px;
    text-align: center;
    margin-top: 20px;
    margin-bottom: 10px;
    padding-bottom: 10px;
  }
  .privacy_text_box > ol,
  .privacy_text_box > ul {
    padding-left: 24px;
  }
  .privacy_text_box li,
  .privacy_text_box dt,
  .privacy_text_box dd {
    font-size: 14px;
    line-height: 1.5;
  }


  .privacy_text_box ol > li {
    list-style: decimal;
  }
  .privacy_text_box dt {
    margin-top: 20px;
    text-decoration: underline;
  }
  .privacy_text_box dt:first-child {
    margin-top: 0;
  }
  .madoguti {
    padding: 10px 20px;
    box-sizing: border-box;
    margin: 30px 0;
    border: 1px solid #333;
  }
  .privacy_text_box h4 {
    margin-top: 20px;
  }
  .privacy_text_box h5 {
    font-size: 14px;
    margin-top: 4px;
  }
  .privacy_text_box h5 + ol {
    margin-bottom: 10px;
  }
  .privacy_text_box h5 + ol li {
    margin-left: 24px;
  }
  .madoguti hr {
    margin: 20px 0;
  }
/*----- プライバシーマークについて -----*/
  .mark_box {
    margin: 0 auto 35px;
    position: relative;
  }
  .mark_box p {
    margin-bottom: 1em;
  }
  .mark_box .ceo_sign {
    text-align: left;
  }
  .mark_box .pmark {
    width: auto;
    height: auto;
    position: absolute;
    right: 0;
    bottom: 100px;
    border: 0;
  }
  .mark_box .pmark img {
    width: 60px;
    height: 64px;
    background: #fff;
    padding: 5px;
  }
  .mark_box dt {
    font-size: 13px;
    margin-left: -4px;
    margin-bottom: 8px;
  }
  .mark_box dd {
    font-size: 13px;
    margin-bottom: 8px;
  }

/*---------- company ----------*/
  .page_company p {
    font-size: 14px;
  }
  .summary_data dl {
    margin-top: 2vw;
  }
  .summary_data dt {
    font-size: 4.8vw;
    line-height: 1.5;
    padding: 14px 0 4px;
    box-sizing: border-box;
  }

  .summary_data dd {
    font-size: 4.2vw;
    line-height: 1.75;
    padding: 0 0 14px;
    box-sizing: border-box;
  }


  .summary_data dt {
    border-top: 1px solid #ccc;
  }
  .summary_data dt:first-child {
    border-top: 0;
  }
  .summary_data dd p {
    margin-top: 0 !important;
  }


/*---------- 沿革 ----------*/
  .history_data dl {
    margin-top: 2vw;
  }
  .history_data dt {
    font-size: 4.8vw;
    line-height: 1.5;
    padding: 4.6vw 0 3.73vw 10vw;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    border-top: 1px solid #ccc;
  }
  .history_data dt:first-child {
    border-top: 0;
  }
  .history_data dd p {
    margin-top: 0 !important;
  }
  .history_data dt:before {
    display: block;
    content: "";
    width: 2.2vw;
    height: 2.2vw;
    border-radius: 50%;
    background: #D53E10;
    position: absolute;
    left: 1.6vw;
    top: 6.9vw;
  }
  .history_data dt:after {
    display: block;
    content: "";
    width: 1px;
    height: calc(100%);
    position: absolute;
    background: #D53E10;
    top: 6.9vw;
    left: 2.65vw;
  }

  .history_data dd {
    font-size: 4.2vw;
    line-height: 1.75;
    padding: 0 0 3.73vw 10vw;
    box-sizing: border-box;
    position: relative;
    z-index: 10;
  }
  .history_data dd:before {
    display: block;
    content: "";
    width: 1px;
    height: calc(100% + 8vw);
    position: absolute;
    background: #D53E10;
    top: 0;
    left: 2.65vw;
  }


  /* アクセスマップ */
  .access_contents {
    padding-bottom: 0;
  }

  .page_company .contents h3 {
    font-size: 5.3vw;
    text-align: center;
    margin-bottom: 7vw;
  }
  .access_data {
    padding-bottom: 40px;
  }
  .map_area {
    position: relative;
    padding-bottom: 330px;
    height: 0;
    overflow: hidden;
  }

  .map_area iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }
  .route {
    padding-top: 40px;
  }

  .route h4 {
    font-size: 4.8vw;
    text-align: center;
    border-bottom: 1px solid #000;
    padding-bottom: 13px;
  }

  .route ul {
    padding-top: 19px;
    overflow: hidden;
  }
  .route li {
    width: 48%;
    margin-bottom: 12px;
  }
  .route li:nth-child(odd) {
    float: left;
    clear: both;
  }
  .route li:nth-child(even) {
    float: right;
  }
  .route + h3 {
    padding-top: 40px;
  }

  .route li p {
    font-size: 14px;
    margin-top: 4px;
  }

  .route li:nth-child(4n) {
    margin-right: 0;
  }

  .route li img {
    width: 100%;
    height: auto;
  }

/*---------- recruit ----------*/
  .page_recruit_top .main_contents .contents h2 {
    padding-top: 40px;
    margin-bottom: 40px;
  }
  .page_recruit_top .main_contents .contents h4 {
    padding-top: 10px;
  margin-bottom: 5px;
  color: #f29300;
  }
  .recruit_main_image {
    overflow: hidden;
  }
  .recruit_main_image img {
    width: 50%;
    height: auto;
    float: left;
  }

  .recruit_lead {
    font-size: 14px;
    margin: 0 10px 24px;
  }

  .job_type {
    background: #f6f4ed;
    padding: 40px 0;
    margin: 40px 0 0;
  }

  .job_type h2 {
    font-size: 22px;
    color: #f29300;
    text-align: center;
    margin-bottom: 40px;
  }

  .job_type ul {
    margin: 0 10px;
    overflow: hidden;
  }

  .job_type li a {
    display: block;
    background: #fff url(images/ech/arrow.png) no-repeat right bottom;
    background-size: 44px;
    font-size: 12px;
    box-sizing: border-box;
    border: 1px solid #ccc;
    padding: 16px 24px 12px;
    text-decoration: none;
  }

  .job_type li {
    margin-bottom: 10px;
  }

  .job_type li a:hover {
    color: #333;
    border: 1px solid #f29300;

  }

  .job_type li a h3 {
    color: #333;
    text-decoration: underline;
    margin-bottom: 10px;
    line-height: 1.4;
  }

  .melit {
    overflow: hidden;
  }

  .melit li {
    font-size: 14px;
    margin: 10px 10px 20px;
  }

  .melit li img {
    width: 100%;
    height: auto;
  }

  .shafu {
    background: #f6f4ed;
    padding: 40px 0;
    margin: 40px 0 0;
  }

  .page_recruit .job_detail dd {
    line-height: 1.5;
    margin-top: -46px;
  }

/* 採用情報・詳細*/
  #job_name {
    padding: 40px 0;
  }
  .recruit_top_nav {
    padding: 20px 0 60px;
  }

  .job_detail {
    margin: 40px 10px 0;
    padding-bottom: 40px;
  }
  .job_detail dt,
  .job_detail dd {
    font-size: 12px;
    line-height: 18px;
    padding: 14px 0;
    box-sizing: border-box;
  }

  .job_detail dt {
    color: #f29300;

  }

  .job_detail dd {
    border-bottom: 1px solid #ccc;
    padding-left: 90px;
    margin-top: 0px;
  }
  .job_detail dt:first-child + dd {
    border-top: 1px solid #ccc;
  }
  .job_detail dd p {
    margin-top: 0 !important;
  }


/* 採用情報】ECコンサルタント・EC運営担当者（東京・札幌） recruit2
  these styles was added 20180223 by fujimoto. -----------------*/
  .job_lead_box {
    margin: 0 10px;
  }
  .job_lead_box_img {
    width: 100%;
  /* height: 100px; */
  /* background: #ddd; */
    float: left;
    margin: 0 10px 10px 0;
  }
  .job_lead_box_txt p {
    font-size: 12px;
  }

  .job_lead_box dl {
    margin-top: 30px;
  }
  .job_lead_box dt {
    color: #f29300;
    font-size: 12px;
    line-height: 18px;
    padding: 14px 0;
    box-sizing: border-box;
  }
  .job_lead_box dd {
    font-size: 12px;
    line-height: 1.5;
    margin-top: -46px;
    padding: 14px 0;
    box-sizing: border-box;
    border-top: 1px solid #ccc;
    padding-left: 90px;
  }

  .office_image {
    margin: 0 10px;
  }

  .office_image li {
    overflow: hidden;
    margin: 10px 0;
  }
/*.office_image li:before {
    display: block;
    content: "image";
    background: #ddd;
    width: 30%;
    height: 50px;
    float: left;
    margin-right: 10px;
  }*/
  .office_image li img {
    width: 42%;
    margin-right: 10px;
    float: left;
  }
  .office_image li h3 {
    font-size: 14px;
    font-weight: bold;
    margin-bottom: 4px;
  }
  .office_image li p {
    font-size: 12px;
  }

  .office_image + .job_detail {
    margin-top: 20px;
  }


  /*-------------------------------------------------------------------
  ** 事業案内
  -------------------------------------------------------------------*/
  .business_contents {
    padding: 4.2vw;
  }

  .business_contents p {
    margin-bottom: 4.2vw;
  }
  .page_brand .contents > h2 span {
    border-bottom: 0 !important;
  }
  .brand_lead_txt {
    text-align: center;
    margin: 10vw 5.2vw 17vw;
  }
  .brand_lead_txt p {
    font-size: 4.2vw;
    line-height: 2;
  }
  .business_contents .float_r,
  .business_contents .float_l {
    float: none;
  }

  .bis_cnt {
    background: rgba(245,245,245,0.7);
    padding: 4.2vw;
    position: relative;
    margin: 5.2vw 0vw;;
  }
  .bis_cnt_box h3 {
    font-size: 5.3vw;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 4.5vw;
  }
  .bis_cnt_box p {
    font-size: 4.2vw;
    line-height: 2;
  }

  .business_contents .txt_btn {
    font-size: 4.2vw;
    line-height: 2;
    text-align: center;
  }
  .btn_l_bis {
    display: block;
    width: 92vw;
    color: #000;
    line-height: 1.3125;
    text-align: center;
    text-decoration: none;
    border: 2px solid #000;
    margin: auto;
    padding: 1.2em 0;
    position: relative;
    margin-top: 4.8vw;
  }
  .btn_l_bis::after {
    display: block;
    content: "";
    width: 16.26vw;
    height: 2.13vw;
    background: url(images/arrow_l_bl.svg) no-repeat;
    background-size: contain;
    position: absolute;
    right: 4vw;
    bottom: 7vw;
  }
  .btn_l_bis span {
    font-size: 5.2vw;
    position: relative;
    padding-right: 6vw;
  }
  .btn_l_bis span::after {
    display: block;
    content: "";
    width: 3.73vw;
    height: 3.73vw;
    background: url(images/icon_newtab_on.svg) no-repeat center;
    background-size: contain;
    position: absolute;
    right: 0;
    top: 2.1vw;
  }

  /*ブランド*/
  .brand_contents .bis_cnt {
    background: rgba(0,0,0,0.9);
    padding: 7.2vw 7.46vw 19.7vwvw;
    position: relative;
    margin: 5.2vw 7.2vw;
  }
  .brand_contents .bis_cnt_box {
    color: #fff;
    text-decoration: none;
  }
  .brand_contents .b1 .bis_cnt img {
    display: block;
    width: 36.2vw;
    margin: auto;
  }
  .brand_contents .b2 .bis_cnt img {
    display: block;
    width: 41.3vw;
    margin: auto;
  }
  .brand_contents .b3 .bis_cnt img {
    display: block;
    width: 43.4vw;
    margin: auto;
  }
  .brand_contents .bis_cnt_box h3 {
    font-size: 3.7vw;
    line-height: 1;
    text-align: center;
    margin: 8.53vw -1.5vw 7vw;
  }
  .brand_contents .bis_cnt_box p {
    font-size: 3.7vw;
  }
  .brand_contents .bis_cnt_box p small {
    font-size: 3.2vw
  }
  .brand_contents .br_item {
    margin: 0 5.2vw 24vw;
  }
  /*.brand_contents .b3 .br_item {
    margin-bottom: 0;
  }*/
  .brand_contents .br_item li {
    font-size: 4.26vw;
    line-height: 1;
    background: url(images/icon_gt_bk.svg) no-repeat left center;
    background-size: 1.86vw auto;
    padding-left: 6.4vw;
  }
  .brand_contents .br_item li + li {
    margin-top: 1em;
  }



/*-------------------------------------------------------------------
** お問い合わせ
-------------------------------------------------------------------*/
  .form_contents {
    margin: 8.8vw 0 16vw;
  }
  .form_contents p {
    font-size: 4.26vw;
    line-height: 2;
  }
  .caution_page {
    background: #F5F5F5;
    padding: 9.86vw 5.2vw 9.3vw;
    margin: 17.8vw auto 0;
  }
  .caution_title {
    font-size: 4.26vw;
    text-align: center;
    margin-bottom: 10.13vw;
  }


  .contact_nav {
    margin: 16vw 5.2vw 0;
  }
  .contact_head > p {
    margin: 0 5.2vw;
  }
  .contact_nav li + li {
    margin-top: 8vw;
  }
  .contact_nav li a {
    display: block;
    background: url(images/arrow_s_bl.svg) no-repeat right 5.6vw bottom 6vw;
    background-size: 5.3vw auto;
    border: 1px solid #000;
    padding: 4.8vw 4vw 5vw;
    text-decoration: none;
    position: relative;
  }

  .contact_nav li .t1 {
    font-size: 4.26vw;
    line-height: 1.375;
    margin-left:  25.3vw;
    margin-bottom: 5vw;
  }
  .contact_nav li .t2 {
    font-size: 3.73vw;
    line-height: 2;
  }
  .contact_nav li .t3 {
    font-size: 3.2vw;
    line-height: 3.7vw;
    height: 3.7vw;
    margin-top: 3.46vw;
    text-align: right;
    margin-right: 10vw;
    position: relative;
    padding-right: 10vw
  }
  .contact_nav li .t3:after {
    display: block;
    content: "";
    width: 3.7vw;
    height: 3.7vw;
    background: url(images/icon_newtab_bl.svg) no-repeat center;
    background-size: 3.68vw auto;
    position: absolute;
    right: 0;
    top: 0;
  }
  .contact_nav li a:before {
    display: block;
    content: "";
    width: 18.66vw;
    height: 13.6vw;
    position: absolute;
    top: 4vw;
    left: 4vw;
  }
  .contact_nav .li1 a:before {
    background: url(images/icon_onlineshop.png) no-repeat center;
    background-size: contain;
  }
  .contact_nav .li2 a:before {
    background: url(images/icon_service.png) no-repeat center;
    background-size: contain;
  }
  .contact_nav .li3 a:before {
    background: url(images/icon_dp.png) no-repeat center;
    background-size: contain;
  }
  .contact_nav .li4 a:before {
    background: url(images/icon_recruit.png) no-repeat center;
    background-size: contain;
  }

  .contact_form_wrap {
    margin: 15.2vw 5.2vw 0;
  }
  .form_title {
    width: 69.4vw;
    font-size: 6.4vw;
    text-align: center;
    margin: 0 auto 60px;
    padding-bottom: 10px;
    border-bottom: 1px solid #000;
  }
  .form_title small {
    display: block;
    font-size: 4.26vw;
    margin-bottom: 2.3vw;
  }

  .contact_form_wrap .form_table {
    table-layout: fixed;
    width: 100%;
    margin: auto;
  }
  .contact_form_wrap .form_table * {
    font-size: 4.8vw;
    line-height: 1.5;
  }
  .contact_form_wrap .form_table th {
    display: block;
    width: 100%;
  }
  .contact_form_wrap .form_table th > div {
    position: relative;
  }
  .contact_form_wrap .hissu {
    display: inline-block;
    color: #D53E10;
    font-size: 3.73vw;
    line-height: 1;
    padding: 4px 10px;
    border: 1px solid;
  }
  .contact_form_wrap .form_table .hissu {
    margin-left: 5vw;
    vertical-align: middle;
  }
  .contact_form_wrap .form_table td {
    display: block;
    width: 100%;
    padding: 2.6vw 0 9.8vw;
  }
  .contact_form_wrap .form_table td > div + div {
    margin-top: 4vw;
  }

  .contact_form_wrap .form_table [type="text"],
  .contact_form_wrap .form_table [type="email"],
  .contact_form_wrap .form_table textarea {
    background: #fff;
    border: 1px solid #E2E2E2;
    border-radius: 1px;
    padding: 0.5em;
  }
  .contact_form_wrap .form_table [type="text"]:empty,
  .contact_form_wrap .form_table [type="email"]:empty,
  .contact_form_wrap .form_table textarea:empty {
    background: #F7F5F5;
  }
  .contact_form_wrap .form_table .length1 {
    width: 100%;
  }
  .contact_form_wrap .form_table .length2 {
    width: 100%;
  }
  .contact_form_wrap .form_table .length3 {
    width: 50%;
  }
  .contact_form_wrap .form_table textarea {
    width: 100%;
    height: 300px;
    height: 50vw;
  }

  .contact_form_wrap .form_table .txt_address {
    display: block;
  }
  .contact_form_wrap .form_table .tyui {
    display: block;
    font-size: 80%;
  }
  
  .extra_caution_page {
    background: #F5F5F5;
    padding: 9.86vw 5.2vw 9.3vw;
    margin: 17.8vw auto 0;
  }
  .extra_caution_page h2 {
    font-size: 4.5vw;
    line-height: 1.5;
    margin-bottom: 2vw;
  }


/* お問い合わせフォーム　個人情報 */
  .form_readme * {
    font-size: 3.7vw;
    line-height: 1.5;
  }
  .form_readme {
    height: 74vw;
    background: #fff;
    margin: 0 0 10vw;
    padding: 5.8vw 2.6vw;
    overflow: auto;
    border: 1px #cccccc solid;
    text-align: left;
  }
  .form_readme p {
    font-size: 3.7vw;
    line-height: 1.5;
    text-align: left;
    margin-bottom: 1em;
  }
  .form_readme a {
    text-decoration: underline;
  }

  .check_agree {
    font-size: 4.26vw;
    text-align: center;
  }
  .check_agree label {
    display: inline-block;
  }
  .cusutom_checkbox {
    display: inline-block;
    width: 8vw;
    height: 8vw;
    border: 1px solid #707070;
    vertical-align: -9px;
    margin-right: 8vw;
    position: relative;
    cursor: pointer;
  }
  .cusutom_checkbox i {
    display: none;
    width: 5.86vw;
    height: 4.26vw;
    transform: rotate(-45deg);
    border-left: 1vw solid #19e531;
    border-bottom: 1vw solid #19e531;
    position: absolute;
    left: 1vw;
    top: 1vw;
  }
  .check_agree .hissu {
    margin-left: 8vw;
  }

  .contact_form_wrap .btn_box {
    text-align: center;
    margin-top: 16vw;
  }
  .mw_wp_form_input .contact_form_wrap .btn_box {
    display: none;
  }

  .contact_form_wrap .btn_submit {
    display: block;
    width: 100%;
    background: #D53E10 url(images/arrow_l_wh.svg) no-repeat right 5.3vw center;
    background-size: 16vw auto;
    color: #fff;
    font-size: 4.26vw;
    line-height: 1;
    text-align: center;
    padding: 1.5em 0;
    border: 0;
    opacity: 1;
    transition: opacity 0.2s;
    cursor: pointer;
    border-radius: 0 !important;
  }
  .contact_form_wrap .btn_back {
    display: block !important;
    width: 100% !important;
    background: #aaa !important;
    background-size: 16vw auto !important;
    color: #fff !important;
    font-size: 4.26vw !important;
    line-height: 1 !important;
    text-align: center !important;
    padding: 1.5em 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    margin-bottom: 5vw !important;
  }

  /*エラー画面*/
  .form_txt_error {
    display: none;
    color: red;
    font-size: 4.8vw;
    text-align: center;
    margin-bottom: 16vw;
  }
  .form_txt_confirm {
    display: none;
    font-size: 4.8vw;
    text-align: center;
    margin-bottom: 16vw;
  }
  .mw_wp_form .error {
    color: red !important;
  }

  /*確認画面*/
  .mw_wp_form_confirm .check_agree,
  .mw_wp_form_confirm .contact_head,
  .mw_wp_form_confirm .form_readme,
  .mw_wp_form_confirm .hissu,
  .mw_wp_form_confirm .tyui,
  .mw_wp_form_confirm .txt_address {
    display: none !important;
  }
  .mw_wp_form_confirm .form_txt_confirm {
    display: block;
  }
  .mw_wp_form_confirm .form_table tr {
    border-bottom: 1px solid #ddd;
  }
  .mw_wp_form_confirm .form_table th,
  .mw_wp_form_confirm .form_table td {
    font-size: 4.8vw !important;
    line-height: 1.5 !important;
    padding: 2vw 0 !important;
  }

  /*完了画面*/
  .form_conplete_box {
    margin: 5vw 5.2vw 10vw;
  }
  .form_conplete_box h3 {
    font-size: 5vw;
    text-align: center;
    margin: 5vw 0;
  }





/*-------------------------------------------------------------------
** 404
-------------------------------------------------------------------*/
  .page_404 .page_image {
    height: 0;
  /**/
  }
  .page_404 .main_contetns {
    background: #f6f4ed;
  }
  .page_404 .contents {
    padding: 40px 0;
    margin: 0 10px;
  }
  .head404 {
    color: #f29300;
    font-size: 20px;
    text-align: center;
    margin-bottom: 30px;
  }
  .head404 + p {
    font-size: 14px;
  }
  .page_404 .SP_btn2 {
    width: 240px;
    margin: 50px auto 0;
  }


  .googlemap iframe {
    width: 100%;
    height: 300px;
  }

  .post_sp_table {
    font-size: 12px;
    table-layout: fixed;
    width: 100%;
  }
  .post_sp_table th,
  .post_sp_table td {
    padding: 0;
  }

  .post_sp_table .cell1 {
    width: 70px !important;
  }
}


/*-------------------------------------------------------------------
** 480px以下　android iPhone 5s
-------------------------------------------------------------------*/

@media only screen and (max-width: 480px) {
  .about .inner h2 {
    font-size: 23px;
    line-height: 1.2;
  }
  .contact h2 {
    font-size: 16px;
  }
  .contact .ttl .container h2 {
    font-size: 16px;
  }
}

/*-------------------------------------------------------------------
** ブログ用共通 20190514
** ECH-221 コーポレートサイトにブログの機能を有効化して投稿できるようにする
-------------------------------------------------------------------*/
.tag [rel="tag"],
.cat_name.blog a {
  text-decoration: none !important;

}
.tag [rel="tag"]:hover,
.cat_name.blog a:hover {
  color: inherit;
  font-style: normal;
  text-decoration: none;
  cursor: default;
}
.cat_name.tag{
  width: auto !important;
  border: 1px solid #ddd;
  padding-left: 4px !important;
  padding-right: 4px !important;
  margin-right: 0 !important;
  text-decoration: none !important;
}
.cat_name.blog {
  width: auto !important;
  border: 1px solid #ddd!important;
  text-decoration: none !important;
  padding-left: 4px !important;
  padding-right: 4px !important;
}


/*プラグイン出力のシェアボタン*/
.wp_social_bookmarking_light * {
  line-height: 1;
}
.wp_social_bookmarking_light {
  position: relative;
}
.wp_social_bookmarking_light_clear {
  margin-bottom: 10px;
}
.wsbl_facebook_share {
  position: absolute;
  top: 0;
  right: 85px;
}
.wsbl_twitter {
  width: auto !important;
  position: absolute;
  top: 0;
  right: 0;
}



/*-------------------------------------------------------------------
** 共通アニメーション
このCSSはJSファイルと連動しています
-------------------------------------------------------------------*/
/*このCSSは original_smooth_txt.jsと連動しています*/
.js_smooth_txt {
  opacity: 0;
}
.js_smooth_txt span {
  opacity: 0;
  transition: .6s ease-in-out;
}



/*このCSSは original_animate.jsと連動しています*/
.jsFadeInBox {
  opacity: 0;
}
.jsFadeIn {
  animation: fadeIn 0.3s forwards;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.jsFadeInLeftBox {
  opacity: 0;
  transform: translateX(-20%);
}
.jsFadeInLeft {
  animation: fadeInLeft 1s forwards;
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.jsFadeInRightBox {
  opacity: 0;
  transform: translateX(20%);
}
.jsFadeInRight {
  animation: fadeInRight 1s forwards;
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20%);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

.jsFadeInBottomBox {
  opacity: 0;
  transform: translateY(20%);
}
.jsFadeInBottom {
  animation: fadeInBottom 1s forwards;
}
@keyframes fadeInBottom {
  0% {
    opacity: 0;
    transform: translateY(20%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
