@charset "utf-8";
/* CSS Document */

/*共通エリア調整*/
main div#contents_wrap{
  padding-bottom: 0;
}
div#bottom-nav-area{
  display: none;
}
footer#hikari-footer-area{
  padding-top: 0 !important;
}

/**/
#contents_wrap{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
  text-align: center;
}
#contents_wrap .noto{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 400;
}
#contents_wrap .bold{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
}
#contents_wrap .medi{
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
}

#contents_wrap .sp{
  display: none;
}


/*緊急お知らせ*/
#warning{
  background-color: #ffcc00;
  padding: 10px;
  font-size: 16px;
  font-weight: bold;
  color: #000;
}


/*topメインヴィジュアル*/
#main_visual2{
  width: 100%;
  background: #bee3fd url(../images/mainbg_pc.png) center top no-repeat;
  background-size: 1400px auto;
  position: relative;
}
#main_visual2 div.maintitle > img.pc{
  width: 435px; 
  height: auto;
  margin: 28px auto 40px;
}
#main_visual2 div.maintitle h1{
  font-size: 0;
  position: relative;
  z-index: 10;
}
#main_visual2 div.maintitle h1 > img.pc{
  width: 594px; height: auto;
  margin: 0 auto;
}
#main_visual2 div.maintitle img.pc:nth-of-type(3){
  width: 1000px; height: auto;
  margin: 0 auto 40px;
  position: relative;
  top: 8px;
  z-index: 0;
}
#main_visual2 div.service.wrap{
  width: 830px; height: auto;
  display: flex;
  margin: auto;
}
#main_visual2 div.service.wrap div{
  width: 33.3%;
  border-right: 2px solid #1ba3e4;
  font-size: 16px;
  color: #000;
}
#main_visual2 div.service.wrap div:first-child{
  border-left: 2px solid #1ba3e4;
}
#main_visual2 div.service.wrap div img{
  width: 200px; height: auto;
  margin-top: 15px;
}
#main_visual2 div.service.wrap div:nth-of-type(2) img{
  width: 204px;
}
#main_visual2 div.service.wrap div:nth-of-type(3) img{
  width: 234px;
}
#main_visual2 div.step_set.wrap{
  padding: 18px 16px;
  border: solid 6px #fffa6b;
  background: #fff;
  width: 777px;
  margin: 50px auto 0;
  position: relative;
  display: flex;
  align-items:center;
  justify-content: space-between;
  color:#333;
}
#main_visual2 div.step_set.wrap h3{
  position: absolute;
  top:-18px;
  left: calc(50% - 134px);
  width: 268px; height: auto;
}
#main_visual2 div.step_set.wrap div.sankaku{
  width: 0;
  height: 0;
  border-left: 12px solid #1ba3e4;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
}
#main_visual2 div.step_set.wrap div.step{
  background: #ddf1ff;
  width:344px; height:110px;
  padding: 12px 20px;
}
#main_visual2 div.step_set.wrap div.step > img{
  width:70px; height:auto;
  margin-bottom: 10px;
}
#main_visual2 div.step_set.wrap div.step div.wrap{
  display: flex;
  align-items:center;
}
#main_visual2 div.step_set.wrap div.step div.wrap img{
  width:48px; height:auto;
}
#main_visual2 div.step_set.wrap div.step div.wrap p{
  font-size: 16px;
  line-height: 1.5;
  margin-left: 10px;
  text-align: left;
}
#main_visual2 div.step_set.wrap div.step div.wrap p sup{
  font-size: 10px;
  top:3px;
}

a.blue_btn{
  color: #fff;
  width: 240px;
  display: inline-block;
  border-radius: 4px;
  font-size: 16px;
  padding: 12px 0;
  background: #1ba3e4 url(../images/icon_pagelink.png) 210px center  no-repeat;
  background-size: 12px 10px
}
a.blue_btn:hover{
  text-decoration: none;
  opacity: 0.75;
}
#main_visual2 a.blue_btn{
  margin: 40px auto;
}

a.white_btn{
  color: #1ba3e4;
  width: 240px;
  display: inline-block;
  border-radius: 4px;
  font-size: 14px;
  padding: 12px 0;
  background: #fff;
  border: 1px solid #1ba3e4;
}
a.white_btn:hover{
  text-decoration: none;
  opacity: 0.75;
}
#main_visual2 a.white_btn{
  margin: 40px 16px;
}

/*SPコンテンツ紹介*/
#sp_contents{
  background: #fffb97;
  width: 100%;
}
#sp_contents h2{
  display: inline-block;
  padding: 30px 0;
  position: relative;
}
#sp_contents h2 img.main{
  width: 689px;
  height: auto;
}
#sp_contents h2 img.balloon{
  width: 88px;
  height: auto;
  position: absolute;
  top:-13px;
  left: -102px;
}
#sp_contents div.wrap{
  width: 820px;
  display: flex;
  margin: auto;
  justify-content:center;
}
#sp_contents div.wrap div.sample_list{
  text-align: center;
  white-space: nowrap;
padding-bottom:20px;
}
#sp_contents div.wrap div.sample_list:first-child{
  width: 396px;
  margin-right:38px;
}
#sp_contents div.wrap div.sample_list:last-child{
  width: 386px;
}
#sp_contents div.wrap div.sample_list img{
  width: 90px; 
  height: auto;
  margin-right: 12px;
}
#sp_contents div.wrap div.sample_list:last-child img:first-child{
  width: 80px; height: auto;
}
#sp_contents div.wrap div.sample_list img:last-child{
  margin-right: 0;
}
#sp_contents div.wrap div.sample_list p{
  display: inline-block;
  font-size: 16px;
  margin-top: 15px;
}
#sp_contents div.wrap div.sample_list p span{
  margin: 0 5px;
  position: relative;
  z-index: 1;
}
#sp_contents div.wrap div.sample_list p:after{/*テキスト下部ライン、角丸版*/
  background-color: #fff;
  border-radius: 5px;
  content: "";
  display: block;
  height: 5px;
  position: relative;
  top:-8px;
  z-index: 0;
}
#sp_contents a.blue_btn{
  margin: 25px auto 32px;
}







/****************************************/
#sp_contents2{
  background: #fff;
  width: 100%;
}

#sp_contents2 h2{
  display: inline-block;
  padding: 30px 0;
  position: relative;
}
#sp_contents2 h2 img.main{
  width: 689px;
  height: auto;
}
#sp_contents2 h2 img.balloon{
  width: 88px;
  height: auto;
  position: absolute;
  top:-13px;
  left: -102px;
}
#sp_contents2 div.wrap{
  width: 820px;
  display: flex;
  margin: auto;

  justify-content:center;
}
#sp_contents2 div.wrap div.sample_list{
  text-align: center;
  white-space: nowrap;
  padding-bottom:20px;
}

/****************************************/
#sp_contents2 div.wrap div.sample_list:first-child{
 /** width: 396px;
  margin-right:38px;**/
}
#sp_contents2 div.wrap div.sample_list:last-child{
   /**width: 386px;**/
}
#sp_contents2 div.wrap div.sample_list img{
  width: 90px; height: auto;
    margin-right: 12px;
}
/** 
#sp_contents2 div.wrap div.sample_list:last-child img:first-child{
  width: 90px; height: auto;

}
#sp_contents2 div.wrap div.sample_list img:last-child{
  width: 90px;
  margin-right: 0;
}**/
#sp_contents2 div.wrap div.sample_list p{
  display: inline-block;
  font-size: 16px;
  margin-top: 15px;
}
#sp_contents2 div.wrap div.sample_list p span{
  margin: 0 5px;
  position: relative;
  z-index: 1;
}
#sp_contents2 div.wrap div.sample_list p:after{/*テキスト下部ライン、角丸版*/
  background-color: #fff;
  border-radius: 5px;
  content: "";
  display: block;
  height: 5px;
  position: relative;
  top:-8px;
  z-index: 0;
}
#sp_contents2 a.blue_btn{
  margin: 25px auto 32px;
}

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














/*注意書き他共通*/
#notes2,
#tab_spec2,
#app_list2{
  background: #bee3fd;
  width: 100%;
}

/*注意書き*/
#notes2 ul{
  width: 980px;
  font-size: 16px;
  line-height: 1.3;
  color: #464646;
  text-align: left;
  margin: auto;
  padding-top: 16px;
  padding-bottom: 56px;
}
#notes2 ul li{
  display: inline;
  padding-left: 1em;
}
#notes2 ul li:first-child{
  padding-left: 0;
}

/*タブレットスペック*/
#tab_spec2{
  padding-bottom:72px;
}
#tab_spec2 div.contents_wrap,
#app_list2 div.contents_wrap{
  background: #fff;
  width: 980px;
  margin: 0 auto 0;
  box-shadow:0px 6px 8px 0px rgba(0,0,0,0.16);
}
#tab_spec2 div.contents_wrap h2,
#app_list2 div.contents_wrap h2{
  background: #1ba3e4;
  color: #fff;
  font-size: 20px;
  text-align: left;
  padding: 4px 40px;
}
#tab_spec2 div.contents_wrap div.wrap{
  padding: 20px 40px;
  padding-bottom: 20px;
  display: flex;
}
#tab_spec2 div.contents_wrap div.wrap table{
  width: 50%;
  text-align: left;
}
#tab_spec2 div.contents_wrap div.wrap table tr{
  border-top:1px solid #bbb;
}
#tab_spec2 div.contents_wrap div.wrap table tr:last-child{
  border-bottom:1px solid #bbb;
}
#tab_spec2 div.contents_wrap div.wrap table tr th{
  background: #eee;
  font-weight: normal;
}
#tab_spec2 div.contents_wrap div.wrap table tr th,
#tab_spec2 div.contents_wrap div.wrap table tr td{
  padding-left: 16px;
  font-size: 15px;
  padding-top: 6px;
  padding-bottom: 6px;
}
#tab_spec2 div.contents_wrap ul.notes2{
  width: 900px;
  font-size: 16px;
  line-height: 1.3;
  color: #464646*;
  text-align: left;
  margin: auto;
  padding-top: 8px;
  padding-bottom: 0px;
}
#tab_spec2 div.contents_wrap ul.notes2 li{
  padding-left: 1em;
  text-indent: -1em;
}

/*掲載アプリ*/
#app_list2{
  padding-bottom:16px;
  text-align: left;
  font-size: 14px;
}

#app_list2 div.card_wrap{
  padding: 36px 40px 0 40px;
}
#app_list2 div.card_wrap:last-child{
  padding: 36px 40px 36px 40px;
}
#app_list2 div.card_wrap h3{
  padding: 0;
  position: relative;
  padding-left: 22px;
  color: #333;
  font-size: 18px;
  margin-bottom:24px;
}
#app_list2 div.card_wrap h3:before {
  background: #bee3fd;
  content: "";
  height: 16px;
  width: 16px;
  position: absolute;
  top: 5px; left: 0;
}
#app_list2 div#brain.card_wrap h3{/*脳活*/
  margin-bottom:32px;
}
#app_list2 div#recipe.card_wrap h3{/*レシピ*/
  margin-bottom:16px;
}
#app_list2 div.card_wrap h4{
  font-size: 18px;
  color: #1ba3e4;
}
#app_list2 div.card_wrap h4:nth-of-type(2){
  margin-top: 36px;
}
#app_list2 div.card_wrap > p{
  font-size: 14px;
  color: #333;
  margin:12px auto 22px
}

#app_list2 div.card_wrap ul{
  display: flex;
  flex-wrap: wrap;
}
#app_list2 div.card_wrap ul li{
  width: calc(50% - 8px);
  border: solid 1px #d2d2d2;
  margin-bottom: 16px;
}
#app_list2 div.card_wrap ul li:nth-of-type(2n){
  margin-left: 16px;
}
#app_list2 div.card_wrap ul li.mb0{/*cardのmbをリセット*/
  margin-bottom: 0;
}
#app_list2 div#brain.card_wrap ul li,
#app_list2 div#recipe.card_wrap ul li{/*脳活・レシピ*/
  width: calc((100% - 32px) / 3);
}
@supports (-ms-ime-align: auto) {
  #app_list2 div#brain.card_wrap ul li,
  #app_list2 div#recipe.card_wrap ul li{/*脳活・レシピ*/
    width: calc((99.5% - 32px) / 3);
  }
}
#app_list2 div#brain.card_wrap ul li:nth-of-type(2n){/*脳活*/
  margin-left: 0;
}
#app_list2 div#brain.card_wrap ul li:nth-of-type(3n+2),
#app_list2 div#brain.card_wrap ul li:nth-of-type(3n+3){/*脳活*/
  margin-left: 16px;
}

/*掲載アプリカード内*/
#app_list2 div.card_wrap ul li.card{
  padding: 15px;
  position: relative;
}
#app_list2 div.card_wrap ul li.card > img{
  width: 65px; height: 65px;
  margin-right: 16px;
}
#app_list2 div.card_wrap ul li.card h5{
  font-size: 16px;
  line-height: 1.3;
  color: #333;
  display: flex;
  align-items:center;
}
#app_list2 div.card_wrap ul li.card h5 img{
  width: 93px; height: auto;
  margin-left: 10px;
}
#app_list2 div#htv2.card_wrap ul li.card img,
#app_list2 div#kids2.card_wrap ul li.card img{
  float: left;
}
#app_list2 div#htv2.card_wrap ul li.card h5,
#app_list2 div#kids2.card_wrap ul li.card h5{
  float: right;
  width: calc(100% - 65px - 16px);
}
#app_list2 div#htv2.card_wrap ul li.card p,
#app_list2 div#kids2.card_wrap ul li.card p{
  float: right;
  width: calc(100% - 65px - 16px);
  margin-top: 6px;
  margin-bottom: 22px;/*詳細btn用のエリアを確保するため*/
}
#app_list2 div#kids2.card_wrap ul li.card p{
  margin-bottom: 0;/*詳細btn用のエリアを無しのため*/
}
#app_list2 div#htv2.card_wrap ul li.card:hover{
  opacity: 0.7;
}
#app_list2 div.card_wrap ul li.card a{
  clear:both;
}
#app_list2 div.card_wrap ul li.card a.stretched-link:after{
  /*クリック範囲を広げる*/
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  z-index:1;
  pointer-events:auto;
  content:"";
  background-color:rgba(0,0,0,0)
}
#app_list2 div.card_wrap ul li.card a span.detail_btn{
  /*リンクのテキストをcard右下に固定*/
  position: absolute;
  bottom: 15px;
  right: 15px;
  background: url(../images/icon_link_mini.png) right center no-repeat;
  background-size: 7px 12px;
  padding-right: 16px;
  text-align: right;
}

#app_list2 div#brain.card_wrap ul li.card,
#app_list2 div#recipe.card_wrap ul li.card{/*脳活・レシピ*/
  display: flex;
  align-items:center;
}

/*注意PCのみ*/
#app_list2 > p.pc{
  width: 980px;
  margin: auto;
  font-size: 11px;
  color: #464646;
  margin-top: 4px;
  margin-bottom: 72px;
}
#app_list2 > p.pc:nth-of-type(1){
  font-size: 10px;
  color: #666;
  margin-top: 16px;
  margin-bottom: 0;
}


/*モニターキャンペーン*/
#application{
  width: 100%;
  background: #f3f3f3;
  padding-bottom: 48px;
}
#application #check_list{
  display: block;
  width: 100%;
  background: #1ba3e4;
  color: #fff;
  padding-top: 30px;
  padding-bottom: 40px;
  position: relative;
}
#application #check_list h2{
  color: #fff;
  font-size: 18px;
  position: relative;
  display:inline-block;
  margin-bottom: 24px;
}
#application #check_list h2 img{
  position: absolute;
  top:-53px; left: -68px;
  width: 58px; height: 53px;
}
#application #check_list ul{
  display:inline-block;
  text-align: left;
  margin: auto;
  font-size: 16px;
  line-height: 1.4;
}
#application #check_list ul li{
  background: url(../images/warning_icon_check.png) 0 center no-repeat;
  background-size: 26px;
  display: block;
  min-height: 26px;
  margin-bottom: 16px;
  padding-left: calc(26px + 16px);
}
#application #check_list ul li:last-child{
  margin-bottom: 0;
}
#application #check_list span{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 8px 0 8px;
  border-color: #1ba4e4 transparent transparent transparent;
  position: absolute;
  bottom:-12px; left:calc(50% - 6px );
}

#application #application_btn_area{
  padding-top: 48px;
}
#application #application_btn_area a{
  color: #1ba3e4;
  text-decoration: underline;
}
#application #application_btn_area a:hover,
#application #application_btn_area a:active{
  opacity: 0.75;
}
#application #application_btn_area p{
  font-size: 18px;
  color: #000;
}
#application #application_btn_area a.btn{
  font-size: 20px;
  text-decoration: none;
  display: inline-block;
  margin: 20px auto;
  padding: 13px 55px;
  border-radius: 6px;
  border: solid 2px #1ba3e4;
  background: #fef13e url(../images/icon_link.png) 95% center no-repeat;
  background-size: 11px;
}
#application #application_btn_area a.link{
  font-size: 16px;
}

#application div.notes2{
  width: 980px;
  padding: 0 40px;
  margin: 0 auto;
  text-align: left;
}
#application div.notes2 h3{
  color: #000;
  font-size: 18px;
  margin-bottom: 16px;
}
#application div.notes2 ul{
  color: #000;
  padding-left: 1.5em;
  list-style-type: disc;
  font-size: 14px;
  line-height: 1.6;
}

/*／／／／／／／／規　約／／／／／／／／*/
section#simplepage{
  margin: auto;
  padding-bottom: 72px;
  width: 980px;
  text-align: left;
  font-family: 'Noto Sans JP', sans-serif !important;
  font-weight: 400;
}

section#simplepage h1.bothsideline{
  font-size: 28px;
  color: #333333;
  position: relative;
  align-items: center;
  margin:36px auto 48px;
  text-align: center;
}
section#simplepage h1.bothsideline:before,
section#simplepage h1.bothsideline:after{
  content: "";
  width: 70px;
	height: 1px;
	background: #afafaf;
	display: inline-block;
	position: relative;
	top:-13px;
}
section#simplepage h1.bothsideline:before {
	margin-right: 20px;
}
section#simplepage h1.bothsideline:after {
	margin-left: 20px;
}

/*section#simplepage h2{
  text-align: center;
  padding: 8px 20px;
  background:#80d9ff;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
  margin: 0 auto;
}*/
section#simplepage h2{
  font-size: 18px;
  color: #777;
  margin: 35px auto 10px;
}
section#simplepage h3{
  font-size: 16px;
  color: #777;
  margin: 0 auto 20px;
}
section#simplepage div.wrap{
  width: 100%;
  padding-left: 2em;
  color: #888;
  font-size: 14px;
  margin: 0 auto 30px;
}
section#simplepage div.wrap:last-child{
  margin: 0 auto 0;
}

section#simplepage div.wrap p{
  margin-bottom: 7px;
  text-align:justify;
}
section#simplepage div.wrap ol{
  list-style-type: decimal;
  padding-left: 1.5em;
}
section#simplepage div.wrap ul{
  list-style-type: circle;
  padding-left: 1.5em;
}
section#simplepage div.wrap ol li,
section#simplepage div.wrap ul li{
  margin-bottom: 7px;
}
section#simplepage div.wrap ol li:last-child,
section#simplepage div.wrap ul li:last-child{
  margin-bottom: 0;
}

section#simplepage div.wrap ol.kakko_count{
  padding:5px 0 0 0;
  margin:0;
}

section#simplepage div.wrap p + ol.kakko_count + ol{/*括弧数字カウント、直後にリストあり用*/
  padding-top:7px;
}

section#simplepage div.wrap ol.kakko_count>li{/*括弧数字カウント用*/
  list-style-type:none;
  list-style-position:outside;
  counter-increment: cnt;
  text-indent: -1.4em;
  padding-left: 1.4em;
}
section#simplepage div.wrap ol.kakko_count>li:before{/*括弧数字カウント用*/
  display: marker;
  content: "(" counter(cnt) ") ";
}
section#simplepage table.simple{
  width: 100%;
  border: 1px solid #ccc;
}
section#simplepage table.simple th,
section#simplepage table.simple td{
  padding: 12px 20px;
  font-size: 14px;
  border: 1px solid #ccc;
  color: #888;
}
section#simplepage table.simple th{
  font-weight: bold;
  background: #afe7ff;
  color: #666;
  text-align: center;
}
section#simplepage table.simple td{
  padding: 8px 20px;
  text-align: justify;
}
section#simplepage table.simple th:first-child{
  width: 300px;
}
section#simplepage table.simple th:last-child{
  width: calc(100% - 300px);
}

@charset "utf-8";





/**********************************************************/
@media screen and (max-width: 768px){


#sp_contents div.wrap div.sample_list{
padding-bottom:10px;
padding-top:0;
}


#contents_wrap .sp{
  display:block;
}
#contents_wrap .pc{
  display:none;
}

/*topメインヴィジュアル*/
#main_visual2{
  width: 100%;
  background: #bee3fd url(../images/mainbg_sp.png) center 36px no-repeat;
  background-size: 100%;
}
#main_visual2 div.maintitle{
  padding-top: 20px;
}
#main_visual2 div.maintitle > img.sp{
  width: 83%; height: auto;
  margin: 0 auto 0;
}
#main_visual2 div.maintitle h1{
  padding: 0 20px;
}
#main_visual2 div.maintitle h1 > img.sp{
  width:100% ; height: auto;
  margin: 0 auto;
}
#main_visual2 div.maintitle img.sp:nth-of-type(4){
  width: calc(100% - 16px); height: auto;
  margin: 16px 8px 24px;
  top:0;
  z-index: 0;
}

#main_visual2 div.service.wrap{
  width: calc(100% - 12.8%); height: auto;
  padding: 0 16px;
  display: flex;
  flex-direction: column;
}
#main_visual2 div.service.wrap div{
  width: 100%;
  border-right: none;
  border-bottom: 2px solid #1ba3e4;
  font-size: 16px;
  padding: 12px 0 14px;
  text-align: left;
}



#main_visual2 div.service.wrap div:first-child{
  border-left: none;
  border-top: 2px solid #1ba3e4;
}
#main_visual2 div.service.wrap div p{
  width: 100%; height: auto;
  text-align: center;
}
#main_visual2 div.service.wrap div img{
  width: 67.8%/*200px*/; height: auto;
  margin-top: 15px;
  margin-left: 10.17%/*30px*/;
}
#main_visual2 div.service.wrap div:nth-of-type(2) img{
  width:69.2% /*204px*/;
}
#main_visual2 div.service.wrap div:nth-of-type(3) img{
  width: 79.3%/*234px*/;
}

#main_visual2 div.step_set.wrap{
  padding: 24px 18px;
  width: calc(100% - 32px);
  margin: 50px 16px 0;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
#main_visual2 div.step_set.wrap h3{
  position: absolute;
  top:-20px;
  left: calc(50% - 33%);
  width: 66%; height: auto;
}
#main_visual2 div.step_set.wrap div.sankaku{
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-top: 12px solid #1ba3e4;
  border-right: 8px solid  transparent;
  margin-top: 6px;
}
#main_visual2 div.step_set.wrap div.step{
  background: #ddf1ff;
  width:100%; height:auto;
  padding: 16px 16px 26px;
}
#main_visual2 div.step_set.wrap div.step > img{
  margin-bottom: 12px;
}
#main_visual2 div.step_set.wrap div.step .wrap{
  width: auto;
}

a.blue_btn{
  width: 65%;
  background-position:  90% center;
}
/**********************************************************/
@media screen and (max-width: 320px){
  a.blue_btn{
    background-position:  94% center;
  }
}
/**********************************************************/

#main_visual2 a.white_btn{
  margin: 40px 6px;
  width: calc(100% / 2 - 12.8% / 2 - 8px * 2 - 16px / 2 );
}

/*SPコンテンツ紹介*/
#sp_contents h2{
  width: 100%;
  display: inline-block;
  padding: 0 8px;
  position: relative;
}
#sp_contents h2 img.main{
  position:relative;
  top:-20px;
  width: 100%;
  height: auto;
}
#sp_contents h2 img.main{
  position:relative;
  top:-20px;
  width: 100%;
  height: auto;
}
#sp_contents div.wrap{
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 25px 0 16px;
}
#sp_contents div.wrap div.sample_list{
  min-height: 0%;/*IE11高さ用ハック*/
}


/*スペシャルコンテンツ*/
#sp_contents div.wrap div.sample_list:first-child{
margin-bottom: 12px;
}

#sp_contents div.wrap div.sample_list:first-child,
#sp_contents div.wrap div.sample_list:last-child{
  width: 100%;
  margin-right:0;
}
#sp_contents div.wrap div.sample_list img.sp{
  display: inline-block;
}
#sp_contents div.wrap div.sample_list img{
  width: calc((100% - (12px * 3)) / 4); height: auto;
  margin-right: 12px;
}
#sp_contents div.wrap div.sample_list img.last_img{
  margin-right: 0;
}
#sp_contents div.wrap div.sample_list p{
  font-size: 16px;
}








/**********************************************************/
/*SPコンテンツ紹介*/
#sp_contents2 h2{
  width: 100%;
  display: inline-block;
  padding: 0 8px;
  position: relative;
}
#sp_contents2 h2 img.main{
  position:relative;
  top:-20px;
  width: 100%;
  height: auto;
}
#sp_contents2 h2 img.main{
  position:relative;
  top:-20px;
  width: 100%;
  height: auto;
}
#sp_contents2 div.wrap{
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 16px;
}
#sp_contents2 div.wrap div.sample_list{
  min-height: 0%;/*IE11高さ用ハック*/
}
#sp_contents2 div.wrap div.sample_list:first-child{
margin-bottom: 0px;
}
#sp_contents2 div.wrap div.sample_list:first-child,
#sp_contents2 div.wrap div.sample_list:last-child{
  width: 100%;
  margin-right:0;
}
#sp_contents2 div.wrap div.sample_list img.sp{
  display: inline-block;
}
#sp_contents2 div.wrap div.sample_list img{
  width: calc((100% - (12px * 3)) / 4); height: auto;
  margin-right: 12px;
}
#sp_contents2 div.wrap div.sample_list img.last_img{
  margin-right: 0;
}
#sp_contents2 div.wrap div.sample_list p{
  font-size: 16px;
}

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













}

/**********************************************************/
@media screen and (max-width: 375px){
  #sp_contents div.wrap div.sample_list p{
    font-size: 15px;
  }


  #sp_contents2 div.wrap div.sample_list p{
    font-size: 15px;
  }


}
/**********************************************************/
@media screen and (max-width: 320px){
  #sp_contents div.wrap div.sample_list p{
    font-size: 13px;
  }



  #sp_contents2 div.wrap div.sample_list p{
    font-size: 13px;
  }
}
/**********************************************************/
#sp_contents a.blue_btn{
  margin: 25px auto 24px;
}

#sp_contents2 a.blue_btn{
  margin: 25px auto 24px;
}


/*注意書き*/
#notes2 ul{
  width: 100%;
  text-align: left;
  margin: auto;
  padding: 16px 8px 40px 8px;
  padding-left: calc(8px + 1.8em)
}
#notes2 ul li{
  display: block;
  padding-left: 0;
  text-indent: -1.8em;
}

/*タブレットスペック*/
#tab_spec2{
  padding-bottom:48px;
}
#tab_spec2 div.contents_wrap,
#app_list2 div.contents_wrap{
  width: 100%;
  box-shadow:none;
}
#tab_spec2 div.contents_wrap h2,
#app_list2 div.contents_wrap h2{
  padding: 4px 16px;
}
#tab_spec2 div.contents_wrap div.wrap{
  padding: 12px 12px;
  flex-direction: column;
}
#tab_spec2 div.contents_wrap div.wrap table{
  width: 100%;
}
#tab_spec2 div.contents_wrap div.wrap table:last-child tr:first-child{
  border-top:none;
}
#tab_spec2 div.contents_wrap div.wrap table:last-child tr:nth-of-type(3){
  border-bottom:1px solid #bbb;
}
#tab_spec2 div.contents_wrap div.wrap table tr th{
  width: 100px;
}
#tab_spec2 div.contents_wrap div.wrap table tr th,
#tab_spec2 div.contents_wrap div.wrap table tr td{
  padding-left: 12px;
  font-size: 14px;
}
#tab_spec2 div.contents_wrap div.wrap table tr td{
  width: cacl(100% - 100px);
}
#tab_spec2 div.contents_wrap ul.notes2{
  width: 100%;
  padding: 8px 16px;
}



/*掲載アプリ*/
#app_list2{
  padding-bottom: 0;
}

#app_list2 div.tab{
  width: 100%;
  background: #bee3fd;
  padding: 12px 8px 12px;
}
#app_list2 div.tab ul{
  display: flex;
  text-align: center;
  font-size: 14px;
}

#app_list2 div.tab ul li {
  width: calc((100% - 16px - 9px) / 3);
  margin-left: 2px;
}
#app_list2 div.tab ul li:first-child{
  margin-left: 0;
}
#app_list2 div.tab ul li a{
  display: inline-block;
  width: 100%;
  background: #e3e3e3;
  padding: 14px 0;
  color: #8c8c8c;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 500;
  position: relative;
}
#app_list2 div.tab ul li a:hover,
#app_list2 div.tab ul li a:active{
  background: #fff;
  color: #1ba3e4;
}
#app_list2 div.tab ul li a:hover:after,
#app_list2 div.tab ul li a:active:after{
  border-color: #fff transparent transparent transparent;
}

#app_list2 div.tab ul li a:after{
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #e3e3e3 transparent transparent transparent;
  border-width: 8px 5px 0 5px;
}
#app_list2 div.tab ul li a.active{
  background: #fff;
  color: #1ba3e4;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 700;
}
#app_list2 div.tab ul li a.active:after{
  border-color: #fff transparent transparent transparent;
}


#app_list2 div.card_wrap{
  padding: 20px 8px;
}
#app_list2 div.card_wrap:last-child{
  padding: 20px 8px;
}
/*js用*/
#app_list2 div.card_wrap{
  display: none;
}
#app_list2 div.card_wrap.active{
  display:block;
  animation-name: fadein;
  animation-duration:0.3s;
  animation-timing-function:ease-in;
}
@keyframes fadein{
  from{
    opacity: 0;}
  to{
    opacity: 1.0;}
}
/*js用end*/

#app_list2 div.card_wrap h3{
  padding-left: 26px;
  padding-right: 8px;
  font-size: 16px;
  margin-bottom:20px;
}
#app_list2 div.card_wrap h3:before {
  height: 14px;
  width: 14px;
  position: absolute;
  top: 6px; left: 8px;
}
#app_list2 div#brain.card_wrap h3,/*脳活*/
#app_list2 div#recipe.card_wrap h3{/*レシピ*/
  margin-bottom:20px;
}
#app_list2 div.card_wrap h4{
  font-size: 16px;
  padding: 0 8px;
}
#app_list2 div.card_wrap h4:nth-of-type(2){
  margin-top: 24px;
}
#app_list2 div.card_wrap > p{
  padding: 0 8px;
  margin:8px auto 12px
}

#app_list2 div.card_wrap ul{
  flex-direction: column;
  flex-wrap:nowrap;
}
#app_list2 div.card_wrap ul li{
  width: 100%;
  border: none;
  border-top: solid 1px #d2d2d2;
  margin-bottom: 0;
}
#app_list2 div.card_wrap ul li:nth-of-type(2n){
  margin-left: 0;
}
#app_list2 div.card_wrap ul li:last-child{
  border-bottom: solid 1px #d2d2d2;
}
#app_list2 div#brain.card_wrap ul li,
#app_list2 div#recipe.card_wrap ul li{/*脳活・レシピ*/
  width: 100%;
}
#app_list2 div#brain.card_wrap ul li:nth-of-type(3n+2),
#app_list2 div#brain.card_wrap ul li:nth-of-type(3n+3){/*脳活*/
  margin-left: 0;
}

/*掲載アプリカード内*/
#app_list2 div.card_wrap ul li.card{
  padding: 12px 8px;
}

#app_list2 div.card_wrap ul li.card > img{
  width: 55px; height: 55px;
  /*margin-right: 16px;*/
}
#app_list2 div.card_wrap ul li.card h5{
  font-size: 16px;
  line-height: 1.25;
  display: flex;/*テキストと有料オプションimg用*/
  flex-direction: column-reverse;/*有料オプションimgと逆順に*/
  align-items:flex-start;/*左揃え*/
}
#app_list2 div.card_wrap ul li.card h5 img{
  margin-left: 0;
}
#app_list2 div#htv2.card_wrap ul li.card,
#app_list2 div#kids2.card_wrap ul li.card{
  display: flex;
  flex-wrap: wrap;
  align-items:center;
}
#app_list2 div#htv2.card_wrap ul li.card:nth-of-type(4),
#app_list2 div#htv2.card_wrap ul li.card:nth-of-type(5),
#app_list2 div#htv2.card_wrap ul li.card:nth-of-type(6){
  /*有料オプションimgありはアイコン画像と上揃え*/
  align-items:flex-start;
}

#app_list2 div#htv2.card_wrap ul li.card > img,
#app_list2 div#kids2.card_wrap ul li.card > img{
  float: none;
}
#app_list2 div#htv2.card_wrap ul li.card h5,
#app_list2 div#kids2.card_wrap ul li.card h5{
  float: none;
  width: calc(100% - 55px - 16px - 100px);/*詳細btn 分(100px)も縮小*/
}
#app_list2 div#htv2.card_wrap ul li.card h5 img{
  margin-bottom: 2px;
}


#app_list2 div#htv2.card_wrap ul li.card p,
#app_list2 div#kids2.card_wrap ul li.card p{
  float: none;
  width: 100%;
  margin-top: 8px;
  margin-bottom: 0;
  /*複数行ある場合のテキスト省略して三点リーダー置き換え*/
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
#app_list2 div#htv2.card_wrap ul li.card p.open,
#app_list2 div#kids2.card_wrap ul li.card p.open{
  /*複数行ある場合のテキスト省略解除時*/
  display: block;
  overflow:auto;
}

#app_list2 div#htv2.card_wrap ul li.card:hover{
  /*hover時の挙動無し*/
  opacity: 1.0;
}
#app_list2 div.card_wrap ul li.card a.stretched-link:hover{
  /*hover時の挙動*/
  opacity: 0.6;
}
#app_list2 div.card_wrap ul li.card a.stretched-link:after{
  /*クリック範囲を広げたのをリセット*/
  position: relative;
}

#app_list2 div.card_wrap ul li.card a span.detail_btn{
  /*リンクのテキストをcard右下に固定*/
  font-size: 13px;
  bottom: auto;
  top:30px;
  right: 8px;
  background-size: 6px 10px;
  padding-right: 14px;
  width: 95px;
}

/*注意SPのみ*/
#app_list2 div#htv2.card_wrap p.sp{
  width: calc(100% - 16px;);
  font-size: 11px;
  line-height: 1.27;
  color: #464646;
  margin: 16px 8px 0;
  padding: 0;
  text-indent: -1.5em;
  padding-left: 1.5em;
}
#app_list2 div#kids2.card_wrap p.sp{
  width: calc(100% - 16px;);
  font-size: 10px;
  line-height: 1.4;
  color: #666;
  padding: 0;
  margin: 16px 8px 0;
}


/*モニターキャンペーン*/
#application{
  padding-bottom: 48px;
}
#application #check_list{
  padding-top: 16px;
  padding-bottom: 24px;
}
#application #check_list h2{
  font-size: 16px;
  padding: 0 24px;
  margin-bottom: 16px;
}
#application #check_list h2 img{
  top:-36px; left: 10px;
  width: 40px; height: 36px;
}
#application #check_list ul{
  padding: 0 16px;
  font-size: 14px;
}
#application #check_list ul li{
  background-position: 0 0;
  margin-bottom: 8px;
  padding-left: calc(26px + 12px);
  padding-top: 4px;
}
#application #check_list ul li:last-child{
  margin-bottom: 0;
}

#application #application_btn_area{
  padding-top: 35px;
}
#application #application_btn_area p{
  font-size: 16px;
}
#application #application_btn_area a.btn{
  width: 80%;
  font-size: 20px;
  margin: 24px auto 20px;
  padding: 11px 0;
}
#application #application_btn_area a.link{
  font-size: 14px;
}

#application div.notes2{
  width: calc(100% - 16px);
  padding: 0 8px;
  margin: 0 8px;
}

/*／／／／／／／／規　約／／／／／／／／*/
section#simplepage{
  width: 100%;
  padding: 0 10px;
}

section#simplepage h1.bothsideline{
  font-size: 25px;
}
section#simplepage h1.bothsideline:before,
section#simplepage h1.bothsideline:after{
  display: none;
}
/*section#simplepage h2{
  text-align: left;
  padding: 6px 15px;
  margin: 0 auto;
  font-size: 16px;
}*/

section#simplepage h2{
  font-size: 17px;
  margin: 25px auto 15px;
}
section#simplepage h3{
  font-size: 15px;
}
section#simplepage div.wrap{
  padding-left: 0 !important;
  font-size: 13px;
}
section#simplepage div.wrap:last-child{
  margin: 0 auto 100px;
}
section#simplepage table.simple th,
section#simplepage table.simple td{
  padding: 8px 10px;
  font-size: 13px;
}
section#simplepage table.simple th:first-child{
  width: 120px;
}
section#simplepage table.simple th:last-child{
  width: calc(100% - 120px);
}
section#simplepage div.wrap ol,
section#simplepage div.wrap ul{
  padding-left: 1.5em;
}
}
/*******************************/
/*お知らせ追加*/
div#information{
  width: 900px;
  padding: 45px 0 55px;
  margin: auto;
}
div#information h2{
  text-align: left;
  margin-bottom: 15px;
}
div#information h2 span{
  display: inline-block;
  color: #000;
  font-size: 24px;
  line-height: 1.3;
  background: #fff url(../images/info_icon.png) 0 center no-repeat;
  background-size: 38px 32px;
  padding: 0 0 0 50px;
  height: 32px;
}

div#information ul li{
  display: flex;
  padding: 14px 0;
  border-top: solid 1px #e6e6e6;
  font-size: 15px;
  color: #333;
}
div#information ul li:last-child{
  border-bottom: solid 1px #e6e6e6;
}
div#information ul li p.date{
  text-align: left;
  width: 130px;
}
div#information ul li > p.lead{
  width: calc(100% - 130px);
  text-align: left;
}
div#information ul li > a{
  color: #006699;
  text-align: left;
  width: calc(100% - 130px);
}

div#information ul li > a:hover{
  text-decoration: underline;
}
div#information ul li.new > a{
  background: url(../images/icon_new.png) 0 2px no-repeat;
  background-size: 47px 21px;
  text-indent: 57px;
}


/**********************************************************/
@media screen and (max-width: 768px){

/*お知らせ追加*/
div#information{
  width: 100%;
  padding: 30px 16px 55px;
  margin: auto;
}
div#information h2{
  text-align: center;
  margin-bottom: 25px;
}
div#information h2 span{
  font-size: 22px;
  line-height: 1.0;
  background-size: 28px 23px;
  padding: 0 0 0 35px;
  height: 23px;
}

div#information ul li{
  flex-direction:column;
  padding: 0 0;
  font-size: 14px;
  line-height: 1.55;
}
div#information ul li p.date{
  text-align: left;
  width: 100%;
  padding: 14px 0;
}
div#information ul li.new p.date{
  background: url(../images/icon_new.png) 7em center no-repeat;
  background-size: 47px 21px;
}
div#information ul li > p.lead,
div#information ul li > a{
  width: 100%;
  margin-bottom: 14px;
}

div#information ul li.new a{
  background: none;
  background-size: 47px 21px;
  text-indent: 0;
}
}



/**********************************************************/
@media screen and (max-width: 320px){
  #main_visual2 div.service.wrap div{
    font-size: 14px;
  }
}
/**********************************************************/
/**********************************************************/
@media screen and (max-width: 320px){
  #app_list2 div.tab ul{
    font-size: 11px;
  }
}
/**********************************************************/

/**********************************************************/
@media screen and (max-width: 320px){
  #sp_contents div.wrap div.sample_list p{
    font-size: 13px;
  }

  #sp_contents2 div.wrap div.sample_list p{
    font-size: 13px;
  }
}
/**********************************************************/