
@charset "utf-8";

/* CSS Document */



/* ------------------------------
 Base
------------------------------*/

* { margin:0; padding:0; -webkit-appearance: none; }

html{ -webkit-text-size-adjust:100%; font-size:62.5%; }

strong { font-weight: bold; }

hr { display: none; }

a:active,
a:hover {
  outline-width: 0;
}

a {	color: #000; text-decoration:none; outline: none; }
a:visited {	color: #000; }
a:hover { text-decoration: underline; }
a:link,
a:visited,
a:active,
a:hover { overflow:hidden; outline:none; }
a:focus{ outline:none!important; text-decoration:none!important; }

.word-wrap{	word-wrap: break-word;/word-wrap: normal;/*for IE6 IE7*/ }

img { width: 100%; }

sub { vertical-align: -1px; }

li { list-style:none outside; }

/* form tag reset */
button {  
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}


embed,
object,
video {	max-width:100%; /**/ width:100%; }

html {
	background:url(../img/bg_form.png) repeat-y top center #f6f6f6;
}

body {
	margin: 0 auto;
	color:#000;
	font-family: "Noto Sans JP", sans-serif;;
	font-size: 1.4em;
	line-height:1.8;
}
body.short #wrapper {
	height:100%;
	padding-bottom:50px;/**/
}


#wrapper {
  box-sizing: border-box;
  min-height: 100%; overflow: hidden;/**/
  background:#fff;
  max-width:1000px;
  height:80%;
  margin:0 auto;
  /*box-shadow:0px 0px 7px #ccc;*/
}


input[type="button"],input[type="text"],input[type="submit"], textarea {
   -webkit-appearance: none;
   border-radius: 0;
}


@media only screen and (min-width: 768px) {
	.onlySp {
		display: none!important;
	}
	/*#wrapper { min-width:1100px; overflow:visible; }
	#main, #contents, #footer { min-width:1100px; }*/
}
@media only screen and (max-width: 767px) {
	.onlyPc {
		display: none!important;
	}
	/*#wrapper { min-width:100%; overflow:hidden; }
	#main, #contents, #footer { min-width:100%; width:100%; }*/
}


/* ------------------------------
 HEADER
------------------------------ */
#header {
	background: #fff300;
	border-bottom: 3px solid #000000;
}

#header h1 {
	padding: 3em 0;
	text-align: center;
	font-weight: bold;
	font-size: 1.8em;
}

/* ------------------------------
 FOOTER
------------------------------ */

#footer {
	background:url(../img/bg_footer.jpg) repeat 0 0;
	width:100%;
	color:#fff;
	
}
#footer .inner {
	/*max-width:1000px;*/
	margin:0 auto 0;
	position:relative;
}
#footer a {
	color:#333;
}

#footer p.copy {
	font-size:1.2rem;
	font-family:serif;
	text-align:center;
	padding: 1em 0;
}


/* ------------------------------
Clearfix
------------------------------ */

.clr:after { content: "."; display: block; clear: both; height: 0; visibility: hidden; }
.clr { min-height:1px; clear:both; }
* html .clr { height: 1px; /*\*//*/ height: auto; overflow: hidden; /**/ }

/* ------------------------------
 PRINT
------------------------------ */

@media print {
	#header,#footer {
		display:none;
	}
}


/*-------------------------------------------*/

#contents {
	background:#fff;
	width:100%;
}
.inner_wrap {
	width:100%;
	max-width:760px;
	padding:5% 0 0;
	margin:0 auto;
}
h2 {
	font-size:2.8rem;
	font-weight:bold;
	margin:0 0 10px;
	text-align:center;
}
small {
	font-size:1.1rem;
	font-weight:normal;
}

.lead {
	margin:10px 5px 0px;
	line-height:1.8;
	font-size:1.6rem;
	text-align:center;
}
.lead span {
	color:#ff0000;
}
.error {
	font-size:1.6rem;
	color:#ff0000;
	margin:5px 0 0 0%;
	line-height:1.5;
}

.mt50 {
	margin-top:50px;
}

form {
	padding:2% 0 0%;
}
form.confirm {
	display:inline;
}

input, textarea {
	border:1px solid #666;
	padding:8px;
	opacity: 0.8;
	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
	box-sizing: border-box;
}
input, textarea {
	width:100%;
}
input.type02 {
	width:93%;
	float:right;
	display:inlne-block;
}

.adx:before {
	content: "西暦";
	position:relative;
	top:5px;
}
input.type03 {
	width:100%;
}

input:focus, textarea:focus {
	/*outline: 1px #ff0000 dashed;*/
	background:rgba(212,244,254,0.3);
	opacity:1;
}

.inputgroup {
	padding-bottom:15px;
	margin-bottom:15px;
	padding:0 0 15px;
}

.inputgroup.last {
	border-bottom:none!important;
}


.inputgroup span {
	font-size:1.8rem;
	font-weight:normal;
	color:#ff0000;
	position:relative;
	top:0px;
}
label {
	width:100%;
	display:block; 
	font-weight:bold;
	vertical-align:top;
	font-size:1.6rem;
	margin-bottom:1em;
}
textarea {
	min-height:100px;
	display:inline-block; 
	vertical-align:top;
}


input[type=radio],
input[type=checkbox] {
  display: inline-block;
  margin-right: 6px;
}
input[type=radio] + label,
input[type=checkbox] + label {
  position: relative;
  display: inline-block;
  margin-right: 12px;
  line-height: 1.6;
  cursor: pointer;
  vertical-align: middle;
}
 

input[type=radio],
input[type=checkbox] {
  display: none;
  margin: 0;
}
input[type=radio] + label,
input[type=checkbox] + label {
  padding: 0 0 0 24px;
}
input[type=radio] + label::before,
input[type=checkbox] + label::before {
	content: "";
  position: absolute;
  top: 0.2em; /* 修正：50%から変更。1行目の上部に合わせます */
  left: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  width: 18px;
  height: 18px;
  /* margin-top: -9px; 不要なので削除または0に */
  margin-top: 0;
  background-color: white;
}
input[type=radio] + label::before {
  border: 1px solid #c2ced2;
  border-radius: 30px;
}
input[type=checkbox] + label::before {
  border: 1px solid #c2ced2;
}
input[type=radio]:checked + label::after,
input[type=checkbox]:checked + label::after {
  content: "";
  position: absolute;
  top: 50%;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
}
input[type=radio]:checked + label::after {
  left: 5px;
  width: 8px;
  height: 8px;
  margin-top: -0.8em; 
  background: #333;
  border-radius: 8px;
}
input[type=checkbox]:checked + label::after {
  left: 3px;
  width: 16px;
  height: 8px;
  margin-top: -10px;
  border-left: 3px solid #12b4eb;
  border-bottom: 3px solid #12b4eb;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}



ul.chk, ul.chk li {
	display:inline-block;
	position: relative;
	top: 5px;
}
ul.chk li {
	margin-right:20px;
}
ul.chk li label {
	display:inline-block;
	width:auto;
	padding-bottom: 1em;
}

.extra {
	margin-top:5px;
}

.privacy_box {
	background:#f0f0f0;
	padding:2em 0;
	font-size:1.6rem;
	margin: 2em 0;
}
.privacy_box .red { 
	text-align:center;
	color:#e60012;
}
.privacy_box .title {
	border-bottom:1px dotted #000;
	text-align:center;
	padding-bottom:5px;
	margin:0 auto 10px auto;
	font-size:2rem;
	font-weight:bold;
	display:block;
}
.privacy_box .title a {
	display:inline-block;
	text-decoration:none;	
	background:url(../img/ico_arrow.png) no-repeat center right;
	padding-right:30px;
}
.privacy_box .title a:hover {
	color:#e60012;
}
.privacy_box .info {
	padding:1% 0 0;
	width:32em;
	margin:0 auto;
	text-align: center;
}
.privacy_box .bold {
	font-weight:bold;
	font-size:2rem;
}
.privacy_box li.fl {
	display:inline-block;
	padding-right:2.5%;
	margin-right:2.5%;
	border-right:1px dotted #000;
}
.privacy_box li.fr {
	display:inline-block;
}


.btn_area {
	margin:8% auto 8%;
	text-align:center;
}
.btn_area button, .btn_area .btn {
	background:#fff;
	color:#000;
	padding:2% 0; width:30%;
	border-radius: 0;
	border:2px solid #000;
	font-size:1.8rem;
	font-weight:bold;
	transition: .1s;
	display:inline-block; 
	margin:0 1%;
}
.btn_area button:hover, .btn_area .btn:hover {
	text-decoration: none;
	color:#fff;
	background:/*url(../img/common/ico_arrow02.png) no-repeat 95% center*/ #000;
	background-size:8% auto;
}

@media (max-width: 1280px) {
	.pageTop { width:100%; max-width:100%; }
	.pageTop a { right:0!important; }
}
/**/


@media (max-width: 1210px) { 
	
	#footer #pageTop { position:absolute; right:0px; top:-50px; width:75px; }
	
}

@media (max-width: 768px) {
	.inner_wrap { width:95%;	max-width:auto; }
}

@media (max-width: 767px) {
	body.short { height:auto; background:#fff; }
	#wrapper { background:#fff; max-width:auto; box-shadow:0px 0px 0px; }
	#header h1 { background:none; }
	#header h1 img { max-width:100%; display:block; /*width:70%;*/ }
	.inner_wrap {	width:100%;	max-width:auto;	padding:5% 0 0;	margin:0 auto; }
	#contents .inner { width:90%; margin:0 auto; }
	h2 { font-size:2rem; line-height:1.5; }
	input[type=radio] + label::before,
input[type=checkbox] + label::before { margin-top:0; }

	input.type02 {width:88%;}
	.privacy_box { padding:5%; font-size:1.4rem; }
	.privacy_box .title { font-size:1.7rem; line-height: 1.2; }
	.privacy_box .info { width: auto; }
	.privacy_box .fl,.privacy_box .fr { display:block; width:100%; border-right:none; }
	.privacy_box li.fl { border-right:none; }
	.privacy_box .bold { line-height:1.4; margin:5px 0; }
	.btn_area button { width:40%; padding-top:3%; padding-bottom:3%; }
	.btn_area.single button, .btn_area.single .btn { width:80%; }
	
	#footer .inner { padding: 2em 0  }
	#footer p.copy { position:absolute; bottom:0px; text-align:center; display:inline; width:100%; padding: 1em; }
	
}

.notice_box {
  margin-top:1em;
  padding:1em;
  background:#f5f5f5;
  border:1px solid #ddd;
}