@charset "utf-8";

/*--その他のデータベースはここをクリックのアコーディオン--*/

@media screen and (min-width: 769px) {
  .drawer-toggle {
    display: none !important;
  }

  .drawer-nav {
    display: none !important;
  }

  .drawer-overlay {
    display: none !important;
  }
  #firstview_sp{
display:none;
}

}







img{
  display: inline;
}


.details {
  width:870px; 
  margin:15px auto 10px;

}

.details__summary{
 width:100%;
 margin:0 auto;
 font-weight:bold;
 padding:0 0 0.3em;
 font-size:1.5em;
}

.details__summary img{
 width:800px;
  margin: 0 auto;
}

.details__content ul li{
 margin:0 0 5px 0;

}

a .accordionbnr{
 background-color:#fff;
 font-size:1em;
 font-weight:bold;
 border:solid 3px #00A99D;
 text-align:center;
 padding:0.2em 0.2em 0.1em;
 width:75%;
 margin:0 auto 10px;
 border-radius: 14px;
 transition:0.5s;
 font-family:
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
}

.details__summary a:hover .accordionbnr{
 background-color:#00A99D;
 color:#fff;
 text-decoration:none;
}
/* PCのみ hover有効 */
@media (hover:hover){

  .details__summary:hover .accordionbnr{
    background-color:#00A99D;
    color:#fff;
  }

}
.details__summary a{
 text-decoration:none;
}

.mainboxmenu li a{
 font-size:1.2em;
 line-height: 1.1em;
}


/*--背景の白--*/
.bg-white{
 background-color:#fff;
 /* width:950px; */
 max-width: 950px;
 width: 100%;
 margin:0 auto;
 padding:15px 0 5px 0;
}
/* PCでは常に表示 */
.sp-accordion .accordion-content {
  display: block;
}

/*--data base platformのグレー*/
.bg-gray {
 background-color:#d9e3ea;
  width:870px; 
 margin:0 auto 15px;
 padding:10px;
 text-align:center;
 border-radius:10px;
}



/*--そのほかのdata baseコンテンツの薄緑*/
.bg-green{
 background-color:#E1EDD5;
 width:870px; 
 margin:0 auto 15px;
 padding:10px 10px 0;
 text-align:center;
 border-radius:10px;
}
.bg-green_sp{
display:none;
}
/*--DatabasePlatformのタイトル--*/
.dbp-main-banner {
  width: 80%;
  margin: 0.4em auto 5px;
  display: block;
}


/*--データベースコンテンツ*/
.data-contents {
  list-style: none;
  padding: 0;
  margin:15px auto 5px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
#contents{
padding:5px 0 0 31px;
}

.data-contents2 {
  display: flex;
  justify-content: center;
}


/*--データベースコンテンツ・法人番号検索＆住所チェッカー--*/
.datacons_2{
	display:flex;
	justify-content:space-between;
	/* width:560px; */
	max-width: 560px;
	width: 100%;
	margin: 0 auto;
}



/*--メディア掲載例--*/
.media_post{
	width: 609px; 
	margin: 0 auto;
	border: 0px;
	border-bottom:solid 1px #ccc;
	border-left:solid 1px #ccc;
	border-right:solid 1px #ccc;
}
#mediabox p{
width:95%;

}

/*--メディア過去のバックナンバー&取材のご依頼お問合せはこちら--*/
.media_past_apply{
	font-size:15px;
	color:#323232;
	float:left;
	margin:0 0 0 20px;
}


/*--ナビットからのお知らせ--*/
.message_left{
	float:left;
}

.message_right{
	margin-left:140px;
}


/*--セミナー情報--*/
.seminar_box{
	/* width: 609px; */
	max-width: 609px;
	width: 100%;
	margin: 0 auto;
	border: 0px;
	border-bottom:solid 1px #ccc;
	border-left:solid 1px #ccc;
	border-right:solid 1px #ccc;
}


/*--お問い合わせ--*/
.Inquiry{
	text-align:center;
	margin:0 0 10px 0;
}
.Inquiry_sp{
display:none;
}

/* ここからサイドバナー */

/*--認定支援機関--*/
.subbnr_nintei{
	text-align: right;
	margin:0;
}

.subbnr_nintei_img{
	width: 200px;
}


/*--東京商工会議所--*/
.tokyo-cci_img{
	width: 200px;
}


/*--全国スーパーマーケット協会--*/
	.subbnr_super{
	width: 235px;
	text-align:right;
	float: left;
	padding-left: 34px;
	padding-bottom: 10px;
}

.subbnr_super_img{
	width: 188px;
	border:1px solid #aaa;
	padding:5px;
}


/*--LBMA--*/
.subbnr_lbma{
	width: 235px;
	text-align:right;
	float: left;
	padding-left: 34px;
	padding-bottom: 10px;
}

.subbnr_lbma_a{
  text-align: right;
  display: block;
}

.subbnr_lbma_img{
 border: 1px solid #aaa;
 padding: 5px;
}


/*--SDGs--*/
.subbnr_sdgs{
 text-align: right;
 margin: 0;
}

.subbnr_sdgs_img{
 width: 120px;
 border: 1px solid #999;
 padding: 1em;
}


/* えるぼし＆ホワイト企業 */
.pandc {
  display: flex;
  align-items: center;
  gap: 16px;
}

.white-company {
  text-align: center;
}


/* 日本マーケティング・リサーチ協会 */
.jmra-logo img {
  margin: 1.5em 0;
}


/* プライバシーポリシー */
.subbunner--r {
  padding-bottom: 0;
}

.pandc--right {
  justify-content: flex-end;
  margin: 0;
}

.privacy-text {
  text-align: center;
  font-size: 80%;
}
#footer-top .pryvacy_in3{
display:none;
}




/******************************** スマホ用（768px以下） **********************************************/
@media (max-width: 768px) {
html {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}
  body {
    font-size: 14px;
  font-family:
    "Inter",
    "Noto Sans JP",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
    overflow-x: hidden;
}

#page{
max-width: 950px;
width: 100%;

}
#header_title{
margin:5px 0 ;
padding:0;
}
.drawer{
display:block;
z-index: 1000;
}
#headerinfo{
font-size:0.8em;
width: 45%;
margin:10px 0 ;
padding:0;
}
#headerright{
float: none;
display:none;

}
#flash_index{
clear: none;
background-image:none;
background-repeat: no-repeat;
height:auto;
margin:0 ;
padding:0;
}
#firstview_sp{
display:block;

}
/*****************************************/
#topimg_sp {
  position: relative;
  z-index: 0;
  width: 100%;
  height: 200px;
  overflow: hidden;
  background-color: #000;

  display: flex;
  align-items: center;
  justify-content: center;
}

#topimg_sp::before,
#topimg_sp::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-size: cover;
  background-position: center;

  will-change: opacity;
  backface-visibility: hidden;
  transform: translateZ(0);
}
/* 1枚目 */
#topimg_sp::before {
  background-image: url("../img_gnavi/top-img_sp3.jpg");
  animation: fadeA 8s infinite;
}
/* 2枚目 */
#topimg_sp::after {
  background-image: url("../img_gnavi/top-img_sp1.jpg");
  animation: fadeB 8s infinite;
}
/* ★ テキストを最前面に */
.hero_title {
  position: relative;
  z-index: 2;                 /* ← 文字は必ず上 */
  margin: 0;
  padding: 6px 14px;
  font-size: clamp(1.4rem, 4vw, 1.8rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.35;
  color: #fff;
  text-align: center;
  text-shadow:
    0 2px 4px rgba(0,0,0,.6),
    0 0 8px rgba(0,0,0,.4);
}
/* フェード定義 */
@keyframes fadeA {
  0%   { opacity: 1; }
  45%  { opacity: 1; }
  55%  { opacity: 0; }
  95%  { opacity: 0; }
  100% { opacity: 1; }
}

@keyframes fadeB {
  0%   { opacity: 0; }
  45%  { opacity: 0; }
  55%  { opacity: 1; }
  95%  { opacity: 1; }
  100% { opacity: 0; }
}
/***********************************/
.hero_title {
  margin: 0;
  padding: 6px 0px;

  font-size: clamp(1.3rem, 4vw, 1.8rem);
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.35;
  text-align: center;
  color: #fff;

  text-shadow:
    0 2px 4px rgba(0,0,0,.6),
    0 0 8px rgba(0,0,0,.4);
}

.main_v_btn_sp{
  width: 100%;
  height:40px;        
overflow: hidden;
background-color:#fff;
border-bottom:1px solid #999;
}
.main_v_btn_sp a img{
  width:60%;
  height:100%;
  object-fit:none; /* トリミングして全面表示 */
}

#header_index{
width: 100%;
height:60px;
}
#main_v{
width: 100%!important;
height:;
}
#main_vi{
display:none;
}
#nav{
display:none;
}
#main_v_btn{
display:none;

}
#header_line2{
display:none;
}
.bg-white{
width: 100%;
padding:20px 0 5px;
}
.bg-gray{
width: 90%;
margin:0 auto;
padding:20px 0 8px;
}
 .accordion-content {
    display: none;
  }

  .sp-accordion.open .accordion-content {
    display: block;
  }

  .accordion-toggle {
    cursor: pointer;
  }





img.dbp-main-banner{
width: 90%;
margin:0 auto 10px;
}
ul.data-contents{
/*flex-wrap: nowrap;*/
flex-direction: column;
justify-content:flex-start;
padding-bottom:10px;
margin:0 auto;
}
ul.data-contents li{
margin:0 auto;
text-align:center;
}
.bg-green{
display:none;
}
.bg-green_sp{
display: block;
width: 90%;
margin:1em auto;
padding:0;
}
a .accordionbnr{
width:100%;
margin:0 auto;
}

.details{
width:100%;
margin-top:0;
}
.details__summary{
width:100%;
padding:0;
}
/* スマホは hover使わず openで制御 */
details[open] .accordionbnr{
  background-color:#00A99D;
  color:#fff;
}
a .accordionbnr{
font-size:0.6em;
}
#page-m{
width: 100%;
}
#contents{
width: 100%;
float: none;
padding:0;
margin:0 auto;
}
#main{
width: 100%;
float: none;
}

.mainboxmenu{
display:none;
}
.top_botan{
display:none;
}
#mainboxL,#mainboxR{
float: none;
margin:0 auto 2em;
}
.submenu{
background-image:none;
padding:0;
border:none;
}
.mainboxtitle{
height:auto;
}
.top_new_m{
width: 100%;
float: none;
margin:0 auto 15px;
}
.top_new_title2{
width: 100%;
float: none;
}
  .sp-accordion .accordion-toggle {
    cursor: pointer;
    position: relative;
  }

  /* ＋－表示 */
  .sp-accordion .accordion-toggle::after{
    content:"＋";
    position:absolute;
    right:10px;
    top:50%;
    transform:translateY(-50%);
    font-size:18px;
  }
  .sp-accordion.open .accordion-toggle::after {
    content: "－";
  }

  /* 初期閉じ */
  .sp-accordion .accordion-content {
    display: none;
  }

  /* 開いた状態 */
  .sp-accordion.open .accordion-content {
    display: block;
  }


.top_new_list{
display:none;
}
table#mediabox{
width: 100%;
border:none;
margin-bottom:30px;
}
table#mediabox td{
width: 80%;
display:block;
margin:0 auto;
}
table#mediabox td a{
display:flex;
align-items: center;
gap: 10px;  
}
table#mediabox td a img {
  width: 40%;
  max-width: 120px; /* 念のため */
  height: auto;
}

table#mediabox td a p {
  font-size: 1.5em;
  width: auto;      /* 固定幅は外す */
  flex: 1;
}
table#mediabox tr.archive{
display:none;
}
.top_new{
width: 100%;
float: none;
background-image:none;
margin:0 auto 15px;
}
.top_news{
width: 90%;
padding:10px 0px 0;
margin:0 auto 20px;
float: none;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch; /* iOSで滑らか */
  }

#sub{
display:none;
}
.Inquiry{
display:none;
}
.Inquiry_sp{
display:block;
}
.mobile_tel_01{
width: 90%;
margin:0 auto;
text-align:center;
}
.mobile_tel_01 a{
margin:0 auto;
}
.mobile_tel_01 a img{
width: 90%;
}
.Inquiry_form{
margin:20px auto 10px;
text-align:center;
}
a.contact-form-btn{
width: 80%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 15px;
  border-radius: 8px;
  background: linear-gradient(180deg, #80dfff 0%, #00bfff 100%);
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  text-decoration: none;
border:4px solid #00bfff;
  box-shadow: 0 4px 8px rgba(0,0,0,0.25);
  transition: all .2s ease;
line-height:1.2em;
}
/* hover / tap */
.contact-form-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
}

#footer-top{
width: 100%;
background-color:#fda60e;
  display: flex;
  justify-content:space-between;
  padding:20px;
  box-sizing: border-box;
}
#footer-navi{
  text-align:left;
  font-size:1em;
  display: flex;
  flex-direction: column;
  gap: 8px; /* 行間 */
  font-size: 0; /* 区切り文字を消す */
}
#footer-navi a {
font-size: 14px; /* 元のサイズに戻す */
  padding: 6px 0;
  display: block;
  color:#fff;
}
.hidden{
display:none!important;
}
#footer-navi::before,
#footer-navi::after {
  content: none;
}
#footer-top .pryvacy_in3{
display: block;
background-color:#fff;
width:80px;
height:80px;
}
#page-b{
width: 100%;
}
#footer_index{
width: 100%;
}
#footerimgC{
display:none;
}
.footerimgR{
float: none;
width: 100%;
text-align:center;
}
.footerimgR a{
display:none;
}




}
@media (hover:none){

  .details__summary:hover .accordionbnr{
    background-color:#fff;
    color:#000;
  }

}






