@charset "UTF-8";

/*COMMON*/

body,
html {
	text-align: left;
	text-decoration: none
}

body {
	-webkit-font-smoothing: antialiased
}

img {
	-webkit-backface-visibility: hidden;

}

*:focus {
	outline: none;
}

#wrapper {
	width: 100%;
	height: auto;
	overflow-x: hidden;
	overflow-y: hidden;
	background-color: #fff;
}

@-ms-viewport {
	width: auto;
	initial-scale: 1
}

@viewport {
	width: device-width;
	initial-scale: 1
}

div,
h1,
h2,
h3,
h4,
p {
	font: 13px/1.3 "Helvetica Neue",Helvetica,Arial,sans-serif;
}



.textarea_m {
	font-size: 1.5rem;

}
.textarea_ml {
	font-size: 1.8rem;

}
.textarea_l {
	font-size: 2.5rem;
}

.textarea_ll {
	font-size: 3.0rem;
}


@media screen and (min-width:320px) and (max-width:1050px) {
	
.textarea_m {
	font-size: 1.7rem;

}
.textarea_ml {
	font-size:2rem;

}
.textarea_l {
	font-size: 2.5rem;
	text-align: justify;
}

.textarea_ll {
	font-size: 3.0rem;
}
}


.contents_inner {
	position: relative;
	margin-top: 0;
	width: 60%;
	height: auto;
	margin-left: auto;
	margin-right: auto
}


@media screen and (min-width:320px) and (max-width:1050px) {

	.contents_inner {
		position: relative;
		padding: 0 2% 0 2%;
		text-align: justify;
		width: 85%;
		margin-left: auto;
		margin-right: auto;

	}
}


.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden
}

.clearfix {
	min-height: 1px
}

.wdt100 {
	width: 100%
}

@media screen and (min-width:320px) and (max-width:1050px) {
	.rspsv {
		width: 100%
	}
}

.rightbox {
	float: right;
	height: auto;

}

.leftbox {
	float: left;
	height: auto
}


/*UNIQ*/

.header {
	position: relative;
	height: 28px;
	width: 100%;
	border-bottom:thin solid #999;
	background-color: #fff;
	z-index: 1100;


}

.headlogo {
	margin-top: 8px;
	text-align: center;
	margin-bottom: 0;
}

.ftlogo {
	width: 15%;
	margin: 0 auto;
}

.textarea_ft {
	margin-top: 1em;
	text-align: center;
}

#maintop {
	margin-top: 7%;
}

.textarea_tit {
	font-weight: 600;
		padding-left:8px;
	margin-bottom: 4%;
}
.textarea_tit:before {
 content:"";
   display:inline-block;
   width:5px;
   height:30px;
   background-color:#0095de;
   position:absolute;
   top:0px;
   left:-5px;
	
}

#privacywrp {
margin-top: 3%;
}

.textarea_titlead {
	font-weight: 600;
	line-height: 1.8;
	text-align: left;
	
}

.textarea_subtit {
	font-weight: 600;
}



.textarea_lead {
	font-weight: 500;
	line-height: 1.8;
	text-align: left;
	;
}

.leadset {
	margin-top: 5%;
}


#footerwrp {
	margin-top: 5%;
	margin-bottom: 5%;
}


@media screen and (min-width:320px) and (max-width:1050px) {
	.textarea_titlead {
	font-weight: 600;
	line-height: 1.4em;
}
	.textarea_lead {
	font-weight: 500;
	line-height: 1.7em;
}
	#privacywrp {
margin-top: 3%;
		padding-bottom:5%;
}

	.leadset {
	margin-top: 9%;
		
}
	.ftlogo {
	width: 30%;
	margin: 10% auto;
		margin-bottom: 0;
}
	
	
#footerwrp {
	margin-bottom: 15%;
}
}


/* ===== Desktop: table as-is ===== */
.table-wrap{
  width: 100%;
  overflow-x: auto;
}

.privacy-table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.privacy-table th,
.privacy-table td{
  border: 1px solid rgba(0,0,0,0.18);
  padding: 16px 14px;
  vertical-align: top;
  word-break: break-word;
  line-height: 1.8;
}

.privacy-table thead th{
  font-weight: 700;
  background: rgba(0,0,0,0.04);
}

/* ===== Mobile: simple vertical ===== */
@media (max-width: 768px){

  /* テーブル構造を全部ブロック化 */
  .privacy-table,
  .privacy-table thead,
  .privacy-table tbody,
  .privacy-table tr,
  .privacy-table th,
  .privacy-table td{
    display: block;
    width: 100%;
  }

  /* 見出し行は不要 */
  .privacy-table thead{
    display: none;
  }

  /* 1行（元のtr）をカード化 */
  .privacy-table tr{
    border: 1px solid rgba(0,0,0,0.18);
    padding: 12px 12px 6px;
    margin: 0 0 14px 0;
  }

  /* 3列だったtdを「項目ブロック」にする */
  .privacy-table td{
    border: none;
    padding: 0 0 10px 0;
  }

  /* ラベル（項目名）→上に表示 */
  .privacy-table td::before{
    content: attr(data-label);
    display: block;
    font-weight: 700;
    margin: 0 0 6px 0;
    padding: 8px 10px;
    background: rgba(0,0,0,0.04);
    border-left: 3px solid rgba(0,0,0,0.25);
  }
}
@media (min-width: 1050px){

  /* 2列目・3列目を中央寄せ */
  .privacy-table tbody td:nth-child(2),
  .privacy-table tbody td:nth-child(3){
    vertical-align: middle;  /* テーブルセルの天地中央 */
  }

  /* もしセル内が複数行でブロック要素が入る場合の保険 */
  .privacy-table tbody td:nth-child(2) > *,
  .privacy-table tbody td:nth-child(3) > *{
    margin-top: 0;
    margin-bottom: 0;
  }
}