.gdpr div, .gdpr span, .gdpr applet, .gdpr object, .gdpr iframe, .gdpr h1, .gdpr h2, .gdpr h3, .gdpr h4, .gdpr h5, .gdpr h6, .gdpr p, .gdpr blockquote, .gdpr pre, .gdpr a, .gdpr abbr, .gdpr acronym, .gdpr address, .gdpr big, .gdpr cite, .gdpr code, .gdpr del, .gdpr dfn, .gdpr em, .gdpr img, .gdpr ins, .gdpr kbd, .gdpr q, .gdpr s, .gdpr samp, .gdpr small, .gdpr strike, .gdpr strong, .gdpr sub, .gdpr sup, .gdpr tt, .gdpr var, .gdpr b, .gdpr u, .gdpr i, .gdpr center, .gdpr dl, .gdpr dt, .gdpr dd, .gdpr ol, .gdpr ul, .gdpr li, .gdpr fieldset, .gdpr form, .gdpr label, .gdpr legend, .gdpr table, .gdpr caption, .gdpr tbody, .gdpr tfoot, .gdpr thead, .gdpr tr, .gdpr th, .gdpr td, .gdpr article, .gdpr aside, .gdpr canvas, .gdpr details, .gdpr embed, .gdpr figure, .gdpr figcaption, .gdpr footer, .gdpr header, .gdpr hgroup, .gdpr main, .gdpr menu, .gdpr nav, .gdpr output, .gdpr ruby, .gdpr section, .gdpr summary, .gdpr time, .gdpr mark, .gdpr audio, .gdpr video, .gdpr input, .gdpr select, .gdpr button, .gdpr caption{
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
	line-height: 1;
	word-break: break-word;
	box-sizing: border-box
}
.gdpr {
	background: #fff;
	font-family: "Noto Sans JP", Helvetica Neue, Helvetica, YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	font-weight: 400;
	color: #404040;
	font-feature-settings: "palt";
	-webkit-text-size-adjust: 100%;
  width:100%;
  overflow-x:hidden;
  position:relative;
  z-index:91;
}

.gdpr ol,.gdpr ul {
	list-style: none
}

.gdpr .first{
  position:fixed;
  left:15px;
  bottom:0;
  display: block;
  padding: 4px 12px 0;
  width: 174px;
  height: 40px;
  box-sizing:border-box;
  background: #FFFFFF;
  box-shadow: 0px -2px 4px rgba(0, 0, 0, 0.1);
  border-radius: 4px 4px 0px 0px;
  text-align:center;
  font-weight: 500;
  font-size: 15px;
  color: #404040;
  z-index:50;
  box-sizing:border-box;
  text-decoration:none;
}

.gdpr .first:after{
  content:"";
  display:inline-block;
  background:url(/img/gdpr/icon.svg) no-repeat left top;
  background-size:24px 24px;
  margin-left:6px;
  width:24px;
  height:24px;
  position:relative;
  top:6px;
}

.gdpr .second{
  width: 340px;
  height: calc(100vh - 94px); 
  position:fixed;
  left:-340px;
  bottom:0;
  z-index:60;
  background:#FFF;
  padding:30px 20px;
  box-sizing:border-box;
  overflow-y:scroll;
  scrollbar-width: thin;
  transition: all 0.4s;
  opacity:0;
}

.gdpr .second.active{
  left:0; 
  opacity:1;
}

.gdpr .second .ttl{
  font-weight: 700;
  font-size: 20px; 
  margin-bottom:20px;
  position:relative;
}

.gdpr .second .ttl .close{
  display:block;
  position:absolute;
  width:24px;
  height:24px;
  right:0;
  top:0;
  background:url(/img/gdpr/icon_close.svg) no-repeat left top;
  background-size:100% auto;
}

.gdpr .second .txt{
  font-weight: 400;
  font-size: 16px;
  line-height: 150%;
  color: #404040;
  margin-bottom:30px;
}

.gdpr .second .txt a{
  color: #404040;
  text-decoration:underline; 
}

.gdpr .second .txt a:hover{
  text-decoration:none; 
}

.gdpr .second > ul > li{
  margin-bottom:30px; 
}

.gdpr .second > ul > li > .flex{
  display:flex;
  position:relative;
}

.gdpr .second > ul > li > .flex > p{
  font-weight: 700;
  font-size: 14px; 
  color: #404040;
  margin-left:10px;
  position:relative;
  top:6px;
}

.gdpr .second > ul > li > .flex > a{
  position:absolute;
  right:0;
  top:0;
  width:24px;
  height:24px;
  background:url(/img/gdpr/icon_btm.svg) no-repeat left top;
  background-size:100% auto;
  transition: all 0.4s;
}

.gdpr .second > ul > li > .flex > a.active{
  transform:rotate(-180deg); 
}

.gdpr .second > ul > li > .flex > .radio{
  width: 56px;
  height: 28px;
  left: 0px;
  top: 0px;
  background: #DFE1ED;
  border-radius: 32px; 
  position:relative;
}

.gdpr .second > ul > li > .flex > .radio.move{
  background:#BEBEBE;
  cursor:pointer;
  transition: all 0.4s;
}

.gdpr .second > ul > li > .flex > .radio.move.active{
  background:#5666BE;
}

.gdpr .second > ul > li > .flex > .radio:after{
  content:"";
  width: 22px;
  height: 22px; 
  border-radius:50%;
  background:#FFF;
  position:absolute;
  right:3px;
  top:3px;
}

.gdpr .second > ul > li > .flex > .radio.move:after{
  right:auto;
  left:3px; 
  transition: all 0.4s;
}

.gdpr .second > ul > li > .flex > .radio.move.active:after{
  left:31px;
}

.gdpr .second > ul > li > .hidden_txt{
  margin-top:12px;
  background: #F4F4F4;
  border-radius: 4px;
  font-size: 14px;
  line-height: 150%;
  color: #333333;
  padding:12px;
  display:none;
}

.gdpr .second > ul > li > .hidden_txt > span{
  font-weight:700;
  display:block;
  margin-bottom:5px;
}

.gdpr .second .btn_gdpr_save{
  display:block;
  margin-top:30px;
  height: 46px;
  padding-top:15px;
  background: #5666BE;
  border-radius: 28px;
  text-align:center;
  font-weight: 700;
  font-size: 15px;
  color:#FFF;
  box-sizing:border-box;
  text-decoration:none !important;
}

@media screen and (max-width: 1135px){
  .gdpr .second{
    height: calc(100vh - 57px); 
  }
}

@media screen and (max-width: 767px){
  .gdpr .first{
    left:12px;
    padding: 8px;
    width: 40px;
    height: 40px;
    z-index:39;
  }
  
  .gdpr .first span{
    display:none; 
  }
  
  .gdpr .first:after{
    margin-left:0;
    top:auto;
  }
  
  .gdpr .second{
    width: 100%;
    height: 91.2vw !important; 
    left:-100vw;
    padding:16px;
    max-height: 80vh;
  }
  
  .gdpr .second .ttl{
    font-size: 17px; 
    margin-bottom:12px;
  }
  
  .gdpr .second .txt{
    font-size: 12px;
    line-height: 150%;
    margin-bottom:24px;
  }
  
  .gdpr .second > ul > li{
    margin-bottom:16px; 
  }
  
  
  .gdpr .second > ul > li > .hidden_txt{
    font-size: 12px;
  }
  
}