@charset "utf-8";

/*common*/

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


/*topページ*/
@media only screen and (max-width: 640px){
  *{
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
  .allArea{
    width: 100%;
    padding: 0 16px;
  }
  .leftCont{
    margin-right: 0;
  }
  .headerArea{
    width: 100%;
    height: 80px;
    margin-left: 0;
  }
  .logo{
    top: 18px;
  }
  .logo img{
    width: 260px;
  }
  .gnav{
    display: none;
  }
  .catch{
    top: 39px;
    left: 34px;
    font-size: 10px;
    width: 254px;
    line-height: 1.3;
  }
  .detailSrch{
    top: 72px;
    right: -13px;
  }
  .detailSrch .searchbtn{
    margin: 0 16px 0 auto;
  }
  .parent-flex .parent-flex-ri{
    width: 100%;
  }
  .secter_hot_Area .secter_title .flex2{
    display: none;
  }
  .secter_hot_Area{
    display: none;
    width: 100%;
    margin-left: 0;
    margin-top: 40px;
  }
  .secter_hot_Area .parent-flex{
    display: block;
  }
  .secter_hot_Area .parent-flex .parent-flex-le{
    width: 100%;
  }
  .secter_hot_Area .parent-flex .parent-flex-ri{
    width: 100%;
  }
  .contentsArea{
    width: 100%;
    margin-left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .contentsArea .leftCont{
    width: 100%;
    float: none;
  }
  .contentsArea .leftCont .youtubelink{
    width: 100%;
    background-size: contain;
  }
  .youtubelink h2{
    padding: 12px 14px 18px 14px;
  }
  .contentsArea .leftCont .fourm{
    background-size: contain;
  }
  .contentsArea .leftCont .fourm h2{
    width: 100%;
    height: auto;
    background-size: 100% auto;
    aspect-ratio: 8 / 1;
  }
  .contentsArea .leftCont .fourm dl{
    width: 100%;
    padding: 0 16px;
  }
  .fourm02{
    aspect-ratio: 135 / 4;
    background-size: 100% auto;
  }
  .newsBox{
    background-size: 100% 100%;
  }
  .newsBox h2{
    width: 100%;
    height: auto;
    background-size: 100% auto;
    aspect-ratio: 8 / 1;
  }
  .newsBox h3{
    width: 100%;
    padding: 0 16px;
  }
  p.BoxBottom{
    width: 100%;
    height: auto;
    aspect-ratio: 28 / 1;
    background-size: 100% auto;
  }
  p.BoxBottomLG{
    width: 100%;
    height: auto;
    aspect-ratio: 28 / 1;
    background-size: 100% auto;
  }
  p.BoxBottomG{
    width: 100%;
    height: auto;
    aspect-ratio: 28 / 1;
    background-size: 100% auto;
  }
  .newsBox .newsTxt{
    padding: 0 16px 15px 16px;
  }
  .driRepoBox{
    width: 100%;
    background-size: 100%;
  }
  .driRepoBox h2{
    width: 100%;
    height: auto;
    background-size: 100% auto;
    aspect-ratio: 70 / 47;
  }
  .driEditorBox{
    width: 100%;
    background-size: 100%;
  }
  .driEditorBox h2{
    width: 100%;
    height: auto;
    background-size: 100% auto;
    aspect-ratio: 8 / 1;
  }
  .p.BoxBottomG{
    width: 100%;
    height: auto;
    aspect-ratio: 28 / 1;
    background-size: 100% auto;
  }
  div.tts{
    width: 100%;
    height: auto;
    aspect-ratio: 56 / 27;
    background-size: 100% auto;
  }
  div.tts p.date{
    top: 9%;
  }
  div.tts p.usd{
    top: 35%;
  }
  div.tts p.eur{
    top: 54%;
  }
  div.tts p.gbp{
    top: 71%;
  }
  .threebnrBox{
    width: 100%;
    background-size: 100% auto;
    padding: 16px;
  }
  .threebnrBox li#itaku{
    width: 100%;
    height: auto;
    aspect-ratio: 126 / 23;
    background-size: 100% auto;
  }
  .threebnrBox li#itaku a{
    width: 100%;
    height: auto;
    aspect-ratio: 126 / 23;
    background-size: 100% auto;
  }
  .threebnrBox li#itaku a:hover{
    background-size: 100% auto!important;
  }
  .threebnrBox li#odr{
    width: 100%;
    height: auto;
    aspect-ratio: 126 / 23;
    background-size: 100% auto;
  }
  .threebnrBox li#odr a{
    width: 100%;
    height: auto;
    aspect-ratio: 126 / 23;
    background-size: 100% auto;
  }
  .threebnrBox li#odr a:hover{
    background-size: 100% auto!important;
  }
  body.temp11 .centerCont{
    width: 100%;
    float: none;
  }
  .adBnrAreaCont{
    width: 100%;
  }
  p.totop{
    width: 100%;
    padding: 20px 16px 30px;
  }
  .adBnrAreaCont li{
    width: 160px;
  }
  .adBnrAreaCont ul li a{
    display: block;
    width: 100%;
  }
  .adBnrAreaCont ul li a img{
    display: block;
    width: 100%;
  }
  .footerCont{
    width: 100%;
    padding: 20px 16px;
  }
  .footerCont.d-flex{
    display: block;
  }
  .footerCont p{
    width: 100%;
    margin: 0 0 20px;
  }
}

/*sp header*/

.common_wrap{
  padding: 0 16px;
}
.common_inner{
  max-width: 1100px;
  margin: 0 auto;
  position: relative;
}
.sp_header_menu_btn {
  display: none;
  width: 48px;
  height: 40px;
  border-radius: 3px;
  background-color: #244EBA;
  position: fixed;
  z-index: 100000000;
  top: 10px;
  right: 16px;
  border: none;
  outline: none;
}
.sp_header_menu_btn span {
  display: inline-block;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
  position: absolute;
  height: 1px;
  background-color: #FFF;
}
.sp_header_menu_btn span:nth-of-type(1n) {
  left: 12px;
  top: 16px;
  width: 24px;
}
.sp_header_menu_btn span:nth-of-type(2n) {
  left: 12px;
  top: 22px;
  width: 24px;
}
.sp_header_menu_btn.active span:nth-of-type(1n) {
  top: 13px;
  left: 12px;
  -webkit-transform: translateY(6px) rotate(-32deg);
  transform: translateY(6px) rotate(-32deg);
  width: 24px;
}
.sp_header_menu_btn.active span:nth-of-type(2n) {
  top: 25px;
  left: 12px;
  -webkit-transform: translateY(-6px) rotate(32deg);
  transform: translateY(-6px) rotate(32deg);
  width: 24px;
}
.sp_header_menu {
  display: none;
}
.sp_header_menu.active {
  display: block;
}
.sp_header_menu .sp_header_menu_inner {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  padding: 64px 0 16px;
  background-color: #fbfaf2;
  overflow-y: scroll;
  scrollbar-width: none;
}
.sp_header_menu .sp_header_menu_inner::-webkit-scrollbar {
  display: none;
}
.sp_header_menu .sp_header_menu_inner .sp_header_menu_list {
  margin: 0 0 24px;
  text-align: left;
}
.sp_header_menu_item{
  border-bottom: 1px solid #c8c5c5;
}
.sp_header_menu_item_submenu_open{
  padding: 16px 32px 16px 0;
  position: relative;
  font-weight: bold;
  font-size: 14px;
  color: #244EBA;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.sp_header_menu_item_submenu_open::after{
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 0;
  width: 12px;
  height: 8px;
  background-image: url(../images/icon_arrow_down.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.sp_header_menu_item_submenu_open.active::after{
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.sp_header_menu_item_submenu_list{
  display: none;
  padding: 0 0 16px 16px;
}
.sp_header_menu_item_submenu_list .sp_header_menu_item_submenu_item{
  margin: 0 0 16px;
}
.sp_header_menu_item_submenu_list .sp_header_menu_item_submenu_item:last-child{
  margin: 0 0 0;
}
.sp_header_menu_item_submenu_link{
  display: block;
  font-size: 13px;
  font-weight: bold;
  color: #3a3a3a;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-decoration: none;
  padding: 0 0 0 10px;
  position: relative;
}
.sp_header_menu_item_submenu_link::before{
  content: "";
  position: absolute;
  top: 7px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #3a3a3a;
}
.sp_header_menu_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: bold;
  font-size: 14px;
  color: #244EBA;
  line-height: 1.5;
  letter-spacing: 0.1em;
  padding: 16px 0;
  position: relative;
  text-decoration: none;
}


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


/*年間サブスクリプション*/
@media only screen and (max-width: 640px){
  .rightCont{
    width: 100%;
    float: none;
    margin-left: 0;
  }
  .detailSrch-left{
    width: 100%;
    aspect-ratio: 56 / 1;
    background-size: 100% auto;
    padding-top: 16px;
  }
  .detailSrch-left .detailSrchTitle{
    width: 100%;
    margin: 0 auto 0 0;
    padding-left: 16px;
  }
  .detailSrch-left .srchGenre button, .srchSelect select, .srchKwd input{
    width: 100%;
  }
  .detailSrch-left .srchGenre{
    padding: 16px;
  }
  .toiawaseUnit{
    background-size: 100% auto;
    margin: 0 0 16px;
  }
  .toiawaseUnit .caption-left{
    width: 100%;
    aspect-ratio: 280 / 31;
    height: auto;
    background-size: 100% auto;
  }
  .toiawaseUnit .formpc{
    width: 100%;
    aspect-ratio: 35 / 9;
    background-size: 100% auto;
    min-height: 90px;
  }
  .toiawaseUnit .formpc p{
    padding: 66px 10px 10px 30px;
  }
  .toiawaseUnit .formtel{
    width: 100%;
    aspect-ratio: 280 / 39;
    background-size: 100% auto;
  }
  .toiawaseUnit .toiawaseboxbottom{
    background-size: 100% auto;
  }
  .toiawaseUnit .formtel p{
    padding: 66px 10px 10px 33px;
  }
  .toiawaseUnit .merit{
    width: 100%;
    aspect-ratio: 280 / 31;
    background-size: 100% auto!important;
  }
  .toiawaseUnit .fix{
    width: 100%;
    aspect-ratio: 280 / 31;
    background-size: 100% auto!important;
  }
  body.subordinate .pagetitle{
    background-size: 100% 100%;
  }
  #Breadcrumb{
    width: 100%;
  }
  .under-breadcrumb{
    width: 100%;
  }
}

/*委託調査*/

@media only screen and (max-width: 640px){
  #itakuMenu{
    width: 100%;
    height: auto;
    aspect-ratio: 900 / 49;
    background-size: 100% auto!important;
    background-repeat: repeat-y!important;
  }
  #itakuMenu ul{
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: -8px;
  }
  #itakuMenu ul li{
    float: none;
    margin-bottom: 8px;
    width: 150px;
    height: 25px;
    background-size: contain!important;
  }
  #itakuMenu #itakuMenu01 a{
    width: 150px;
    height: 25px;
    background-size: contain!important;
  }
  #itakuMenu #itakuMenu02 a{
    width: 150px;
    height: 25px;
    background-size: contain!important;
  }
  #itakuMenu #itakuMenu03 a{
    width: 150px;
    height: 25px;
    background-size: contain!important;
  }
  #itakuMenu #itakuMenu04 a{
    width: 150px;
    height: 25px;
    background-size: contain!important;
  }
  #itakuMenu #itakuMenu02 a:hover, #itakuMenu #itakuMenu02 a.selected{
    background-size: contain!important;
  }
  #itakuCont{
    width: 100%;
  }
  .itaku .centerCont table.itakuFlow tr{
    display: block;
    width: 100%;
  }
  .itaku .centerCont table.itakuFlow td{
    display: block;
    width: 100%;
  }
  .itaku .centerCont table.itakuFlow td.imgcell img{
    display: block;
    width: 100%;
    max-width: 260px;
    margin: 0 auto;
  }
}

/*提携調査会社・機関*/

@media only screen and (max-width: 640px){
  .itaku .centerCont table th{
    padding: 8px;
  }
  .itaku .centerCont table td{
    padding: 8px;
  }
  .itaku .centerCont table td.bgY{
    width: 88px;
  }
}

/*調査実績*/

@media only screen and (max-width: 640px){
  body.itaku .centerCont p{
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}


/*DRIレポート*/

@media only screen and (max-width: 640px){
  body.forum .pagetitle_box .pagetitle_sword{
    position: static;
    width: 100%;
    margin: 0 0 8px;
  }
  body.forum .recentArticle{
    width: 100%;
    margin: 0 0 30px 0;
  }
  body.forum .backnumberUnit tr{
    width: 100%;
    display: block;
  }
  body.forum .backnumberUnit td.btnArea{
    display: block;
    width: 100%;
  }
  body.forum .backnumberUnit td.btnArea p{
    margin: 0 0 0 auto;
  }
}

/*DRIビデオウォッチャー*/

@media only screen and (max-width: 640px){
  .sp_100_table{
    width: 100%!important;
  }
}

/*セミナー/展示会*/

@media only screen and (max-width: 640px){
  .corporeateInfo .centerCont h2{
    font-size: 105%;
  }
}

/*代表顧客*/

@media only screen and (max-width: 640px){
  .sp_td_100 tr{
    display: block!important;
    width: 100%!important;
  }
  .sp_td_100 td{
    display: block!important;
    width: 100%!important;
  }
}

/*サイトマップ*/
@media only screen and (max-width: 640px){
  .headerAreaNarrow .headerArea{
    height: 72px;
  }
  body.sitemap .contentsArea .centerCont .serviceArea{
    display: block;
  }
  body.sitemap .contentsArea .centerCont .kaisyaArea{
    display: block;
  }
}

/*お問い合わせ*/

body.estimate .estimateForm input.freewidth#kana1{
  margin-right: 5px;
}
body.estimate .estimateForm input.freewidth#name1{
  margin-right: 5px;
}
@media only screen and (max-width: 640px){
  body.estimate .estimateForm textarea{
    width: 100%;
  }
  body.estimate .estimateForm input.full{
    width: 100%;
  }
  body.estimate .estimateForm th{
    padding: 8px 8px;
  }
  body.estimate .estimateForm td{
    padding: 8px 8px;
  }
  body.estimate .estimateForm input.freewidth{
    width: 100%;
    display: block;
    margin-left: 0!important;
  }
  body.estimate .estimateForm input.asciionly{
    display: inline-block;
  }
  body.estimate .estimateForm input.freewidth#kana1{
    margin-right: 0;
  }
  body.estimate .estimateForm input.freewidth#name1{
    margin-right: 0;
  }
}

/*検索　調整*/
@media only screen and (max-width: 640px){
  .detailSrch .srchGenre .srchSelect{
    width: 90%;
    margin: 0 auto;
  }
  .detailSrch .srchGenre .srchKwd{
    width: 90%;
    margin: 0 auto;
  }
}


/*委託調査*/

img{
  max-width: 100%;
}

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

  .itaku .centerCont table img{
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  }
}

/*レポート一覧*/

@media only screen and (max-width: 640px){
  .flex_article .caticon{
    width: 20px;
  }
  .flex_article dl.reportUnit{
    width: calc(100% - 40px);
  }
  .cat-srch_inr{
    margin-bottom: 14px;
  }
  .topicsWordsUnit02R{
    width: 100%;
  }
}

/*sp_secter_hot_area*/
.sp_secter_hot_area{
  margin: 40px 0 0;
}
/* tabs */
.sp_secter_hot_area .sp_tabs{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  background:#dfe7f5;
  padding:4px;
  border-radius:999px;
  margin-bottom:8px;
}
.sp_secter_hot_area .sp_tab{
  -webkit-box-flex:1;
      -ms-flex:1;
          flex:1;
  border:none;
  background:transparent;
  padding:8px 0;
  border-radius:999px;
  cursor:pointer;
  color:#444;
}
.sp_secter_hot_area .sp_tab.active{
  background:#fff;
  font-weight:700;
  color:#244EBA;
  -webkit-box-shadow:0 2px 6px rgba(0,0,0,0.1);
          box-shadow:0 2px 6px rgba(0,0,0,0.1);
}
.sp_secter_hot_area .sp_tab_content{
  display:none;
}
.sp_secter_hot_area .sp_tab_content.active{
  display:block;
}
/* cards */
.sp_secter_hot_area .sector_item{
  background:#fff;
  border-radius:12px;
  padding:4px;
  -webkit-box-shadow:0 2px 10px rgba(0,0,0,0.06);
          box-shadow:0 2px 10px rgba(0,0,0,0.06);
  margin-bottom:6px;
}
.sp_secter_hot_area .sector_header_area{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
  background:#eaf2ff;
  padding:6px 8px;
  border-radius:10px;
}
.sp_secter_hot_area .sector_item_link{
  -webkit-box-flex:1;
      -ms-flex:1;
          flex:1;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  gap:8px;
  font-size:15px;
  color:#3a3a3a;
  text-decoration:none;
  font-weight: 700;
}
.sp_secter_hot_area .icon_cat{
  width:18px;
}
.sp_secter_hot_area .toggle_btn, .toggle_btn_sub{
  width:30px;
  height:30px;
  border:none;
  background:#fff;
  border-radius:8px;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:center;
      -ms-flex-pack:center;
          justify-content:center;
  cursor:pointer;
  -webkit-box-shadow:0 1px 4px rgba(0,0,0,0.1);
          box-shadow:0 1px 4px rgba(0,0,0,0.1);
}
.sp_secter_hot_area .icon_arrow{
  width:10px;
  -webkit-transition:.3s;
  transition:.3s;
}
.sp_secter_hot_area .open .icon_arrow{
  -webkit-transform:rotate(180deg);
          transform:rotate(180deg);
}
.sp_secter_hot_area .sector_sub_list{
  display:none;padding:10px;
}
/* sub */
.sp_secter_hot_area .sector_sub_item{
  margin-bottom:10px;
  border-left:2px solid #bcd4f5;
  padding-left:10px;
}
.sp_secter_hot_area .sector_sub_item:last-child{
  margin-bottom: 0;
}
.sp_secter_hot_area .sub_header_area{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
  background:#f5f8ff;
  padding:6px 8px;
  border-radius:8px;
}
.sp_secter_hot_area .sector_sub_link{
  -webkit-box-flex:1;
      -ms-flex:1;
          flex:1;
  font-size:14px;
  color:#3a3a3a;
  text-decoration:none;
  font-weight: 500;
  text-align:left;
}
.sp_secter_hot_area .sector_small_list{
  display:none;
  padding:6px 0 6px 12px;
}
.sp_secter_hot_area .sector_small_list li a{
  display:block;
  padding:8px 0;
  border-bottom:1px solid #edf1fb;
  font-size:13px;
  color:#3a3a3a;
  text-decoration:none;
}
/* hot topics unified */
.sp_secter_hot_area .hot_block{
  background:#fff;
  border-radius:12px;
  padding:4px;
  -webkit-box-shadow:0 2px 10px rgba(0,0,0,0.06);
          box-shadow:0 2px 10px rgba(0,0,0,0.06);
  margin-bottom:6px;
}
.sp_secter_hot_area .hot_block_header{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  -webkit-box-pack:justify;
      -ms-flex-pack:justify;
          justify-content:space-between;
  background:#eef3ff;
  padding:6px 8px;
  border-radius:10px;
  border:none;
  cursor:pointer;
  width:100%;
}
.sp_secter_hot_area .hot_block_header .icon_cat img{
  width:22px;
  height:auto;
}
.sp_secter_hot_area .hot_block_title_text{
  -webkit-box-flex:1;
  -ms-flex:1;
  flex:1;
  margin-left:8px;
  font-size:15px;
  font-weight:600;
  color:#3a3a3a;
}
.sp_secter_hot_area .hot_block_header .icon_arrow{
  width:16px;
  -webkit-transition:.3s;
  transition:.3s;
}
.sp_secter_hot_area .hot_block_header.open .icon_arrow{
  -webkit-transform:rotate(180deg);
  transform:rotate(180deg);
}
.sp_secter_hot_area .hot_topic_list{
  display:none;
  padding:12px 8px;
  -ms-flex-wrap:wrap;
      flex-wrap:wrap;
  gap:10px;
}
.sp_secter_hot_area .hot_topic_list li{
  list-style:none;
}
.sp_secter_hot_area .hot_topic_list li a{
  display:block;
  padding:6px 10px;
  background:#eef3ff;
  border-radius:999px;
  font-size:12px;
  text-decoration:none;
  color:#333;
}
