@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{	height:100%;}
html{
	font-size:62.5%;
    overflow-y: scroll;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family:"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	color:#000;
	letter-spacing: 1px;
	font-size: 1.6rem;
}

a img {
 transition: opacity 0.3s ease-out;
}

a:hover img {
 opacity: 0.7;
}

.img_txt{
	white-space: nowrap;
	text-indent: 100%;
	overflow: hidden;
}

/* ----------------------------------------------------------------------------------------------------
*  基本
* --------------------------------------------------------------------------------------------------*/
.contents {
	position: relative;
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

.main_top5form {
	border: 1px solid #e4e4e4;
	width: 900px;
	box-sizing: border-box;
	padding: 52px 20px 50px;
	margin:10px auto;
	border-radius: 5px;
}

h1 {
	text-align: center;
	margin: 50px auto 100px;
}

.top5form h2 {
	text-align: center;
	color: #3c0063;
	font-size: 4.0rem;
	font-weight: bold;
	margin: 0 auto 50px;
}

.mt10 {
	margin-top: 10px;
}
.mt15 {
	margin-top: 15px;
}
.mr5 {
	margin-right: 5px;
}
.mr10 {
	margin-right: 10px;
}
.mr20 {
	margin-right: 20px;
}
.ml10 {
	margin-left: 10px;
}

.f14 {
	font-size: 1.4rem;
}

.f_c {
	text-align: center;
}
.font_r {
	color: #e60012;
}

p.caution,
div.formErrorContent {
	color: #FFF;
	background: #ff5353;
	padding: 0.8em 1em 0.6em;
	margin-top: 10px;
	font-size: 1.4rem;
}
.gecko p.caution {
	padding: 0.6em 1em 0.6em;
}

/* tab */
.tab {
	text-align: center;
	margin-bottom: 50px;
}
.tab li{
	display: inline-block;
	background: #eeeeee;
	color: #3c0063;
	text-align: center;
	font-size: 1.2rem;
	width: 260px;
	height: 80px;
	box-sizing: border-box;
	padding: 26px 0 20px;
	position: relative;
}
.tab li + li{
	margin-left: 20px;
}
.tab li strong{
	font-size: 1.6rem;
	font-weight: normal;
	display: block;
	margin-bottom: 10px;
}
.tab li:after{
	content: "";
	display: block;
	height: 0;
	width: 0;
	position: absolute;
	right: -32px;
	top: 50%;
	margin-top: -12px;
    border-top: 12px solid transparent;
    border-left: 20px solid #eeeeee;
    border-bottom: 12px solid transparent;
    border-right: 20px solid transparent;
}
.tab li:last-child:after{
	display: none;
}
.tab li.active{
	background: #3c0063;
	color: #FFF;
	font-weight: bold;
	font-size: 1.8rem;
	padding: 20px 0 14px;
}
.tab li.active strong{
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 6px;
}
.tab li.active:after{
    border-left: 20px solid #3c0063;
}

/* table */
.table01 {
	width: 100%;
	border: 0;
	border-top: 1px solid #dfdfdf;
	border-collapse:collapse;
}
.table01 p{
	line-height: 1.56;
}
.table01  th,
.table01  td{
	border: 0;
	border-bottom: 1px solid #dfdfdf;
	vertical-align: middle;
	padding: 20px;
	line-height: 1.56;
}
.table01  th{
	font-weight: bold;
	background: #f6f6f6;
	box-sizing: border-box;
	width: 330px;
}
.table01  th .info{
	display: block;
	font-weight: normal;
	background: #e60012;
	color: #FFF;
	width: 4em;
	text-align: center;
	font-size: 1.2rem;
	padding: 3px 0;
	border-radius: 6px;
	float: left;
	margin-right: 10px;
}
.table01  th .info.l2{
	margin-top: 10px;
}
.table01  th .info + span {
	display: block;
	float: left;
}
.table01  td{
	padding-right: 0;
}
.table01 td .line_top {
    padding-top: 10px;
    margin-top: 10px;
    border-top: 1px dotted #dfdfdf;
}
/* text */
input[type=text] ,
input[type=tel] ,
input[type=email] {
    padding: 10px;
    border: 1px solid #c9c9c9;
	border-radius: 6px;
	font-size: 1.6rem;
	width: 150px;
	box-sizing: border-box;
}
input.wd_s {
	width: 80px;
}
input.wd_l {
	width: 300px;
}

:placeholder-shown {
    color: #c9c9c9; }
::-webkit-input-placeholder {
    color: #c9c9c9; }
:-moz-placeholder {
    color: #c9c9c9; opacity: 1; }
::-moz-placeholder {
    color: #c9c9c9; opacity: 1; }
:-ms-input-placeholder {
    color: #c9c9c9; }


/* radio */
.label-radio input[type="radio"]{
  /*display: none;*/
	width:0;
	height:0;
	margin: 0;
	opacity: 0;
}
.label-radio{
  padding-left: 12px;
  position:relative;
  margin-right: 20px;
	cursor: pointer;
}
.label-radio .lever:before{
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 0;
  width: 13px;
  height: 13px;
  border: 1px solid #999;
  border-radius: 50%;
}
.label-radio input[type="radio"]:checked + .lever{
  color: #3c0063;
}
.label-radio input[type="radio"]:checked + .lever:after{
  content: "";
  display: block;
  position: absolute;
  top: 7px;
  left: 3px;
  width: 9px;
  height: 9px;
  background: #3c0063;
  border-radius: 50%;
}

/* select */
select{
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    height: 40px;
    background: transparent;
    position: relative;
    z-index: 1;
    padding: 8px 50px 6px 10px;
    border: 1px solid #c9c9c9;
	border-radius: 6px;
	font-size: 1.6rem;
}
.gecko select{
    padding: 6px 50px 8px 10px;
}
select::-ms-expand {
    display: none;
}
.selectwrap{
    position: relative;
    display: inline-block;
}

.selectwrap::after{
    content: '';
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 7px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 7px 4.5px 0 4.5px;
    border-color: #000 transparent transparent transparent;
	pointer-events: none;
}

label {
	position: relative;
}
/* checkbox */
.checkbox01-input{
  /*display: none;*/
	width:0;
	height:0;
	opacity: 0;
	margin: 0;
	position: absolute;
}
.checkbox01-parts{
  padding-left: 20px;
  position:relative;
  margin-right: 20px;
	cursor: pointer;
}
.checkbox01-parts::before{
  content: "";
  display: block;
  position: absolute;
  top: 3px;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
}
.checkbox01-input:checked + .checkbox01-parts{
  color: #3c0063;
}
.checkbox01-input:checked + .checkbox01-parts::after{
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #3c0063;
  border-right: 3px solid #3c0063;
}
.checkbox01-input:disabled + .checkbox01-parts{
	color:#bbb;
}

.table01 td .note{
	margin-top: 10px;
}
.table01 td .note li{
    font-size: 1.4rem;
    line-height: 1.4;
    padding-left: 1em;
    text-indent: -1.05em;
}
.table01 td .note li + li{
	margin-top: 5px;
}
.table01 td .note li:before{
	content: "※";
}

/* pp */
.pp {
	margin: 30px auto;
	padding: 20px;
	border: 1px solid #dfdfdf;
	height: 250px;
	overflow-y: auto;
}
.pp h3 {
	font-size: 2.0rem;
	font-weight: bold;
	margin-bottom: 1em;
}
.pp h4 {
	margin: 20px 0;
	font-weight: bold;
	font-size: 1.1em
}

.pp h5 {
	font-size: 1.1em;
	border-left: 5px solid #8A4142;
	padding-left: 5px;
	margin: 1em 0 0.5em;
}
.pp h5.ppm {
	margin: 0.5em 0;
	padding: 1em;
	font-size: 1.15em;
	font-weight: bold;
	border-left:none;
	background-color: rgba(48, 190, 219, 0.12);
}
.pp ul {
	margin: 1em 0;
}
.pp p ,
.pp li {
	font-size: 1.4rem;
	line-height: 1.7;
	letter-spacing: normal;
}
.pp_txt, .pp_txt2 {
    color: #e91d1d;
    line-height: 1.4;
    margin-top: 30px;
    font-size: 14px;
}
.pp_txt2{
	margin-top: 10px;
	text-align: center;
}

/* btn */

button[type="submit"],
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;
}
button[type="submit"]::-webkit-search-decoration,
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
button[type="submit"]:focus,
input[type="submit"]:focus,
input[type="button"]:focus {
  outline-offset: -2px;
}
textarea{
    padding: 10px;
    border: 1px solid #c9c9c9;
    border-radius: 6px;
    font-size: 1.6rem;
    width: 100%;
	height: 250px;
    box-sizing: border-box;
	resize: vertical;
	font-family:"メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

.btn {
	margin: 50px auto 0;
	text-align: center;
}
.btn button {
	display: inline-block;
	position: relative;
	border: none;
	cursor: pointer;
}
.btn button + button {
	margin-left: 40px;
}
.btn button {
	display: inline-block;
	font-size: 2.0rem;
	font-weight: bold;
	width: 250px;
	height: auto;
	line-height: 1;
	padding: 20px 0;
	border-radius: 5px;
	transition: 0.2s;
	text-align: center;
	text-decoration: none;
	outline: none;
}
.btn button:hover {
	opacity: 0.7;
}
.btn button:after {
	font-weight: bold;
	display: inline-block;
	font-size: 2.0rem;
	position: absolute;
	top: 50%;
	margin-top: -8px;
	line-height: 1;
}
.btn button.back {
	color: #535353;
	background: #e5e5e5;
}
.btn button.back:after {
	content: "＜";
	left: 11px;
	color: #535353;
}
.btn button.kwkefo_next,
.btn button[type="submit"] {
	color: #FFF;
	background: #c0a000;
}
.btn button.kwkefo_next:after,
.btn button[type="submit"]:after {
	content: "＞";
	right: 11px;
	color: #FFF;
}
.btn button:disabled,
.btn button.kwkefo_next.kwkefo_disabled,
.btn button[type="submit"].kwkefo_disabled {
	color: #535353;
	background: #e5e5e5;
}
.btn button:disabled:after,
.btn button.kwkefo_next.kwkefo_disabled:after,
.btn button[type="submit"].kwkefo_disabled:after {
	content: "＞";
	right: 11px;
	color: #535353;
}


/* ------------------------------
    footer
------------------------------ */
#footer{
	min-width: 1100px;
	padding: 33px 0;
	background: #3a444f;
	margin: 100px 0 0;
}
#footer .inner{
	position: relative;
	width: 1100px;
	margin: auto;
}
p.btn_pagetop{
	position: fixed;
	right: 0;
	margin-right: 2%;
	z-index: 9999;
}
p.btn_pagetop a{
	display: block;
	width: 70px;
	height: 70px;
	background: url(../img/btn_pagetop.png) 50% 50% no-repeat;
	border-radius: 70px;
}

#footer dl dt,
#footer dl dd{
	display: inline;
	color: #fff;
}
#footer .sponsor01{
	margin-bottom: 30px;
}
#footer .sponsor_no{
	font-size: 1.4rem;
	font-weight: normal;
}

#footer .sponsor02{
	/*margin-bottom: 5px;*/
}
#footer .sponsor02,
#footer .sponsor02 dd{
	display: flex;
}
#footer .sponsor02 dd img + img{
	padding-left: 15px;
}
#footer .sponsor01 dt,
#footer .sponsor01 dd{
	font-size: 2.4rem;
}
#footer .sponsor01 dd{
	font-weight: bold;
}
#footer .sponsor02 dt,
#footer .sponsor02 dd{
	line-height: 1.6;
	font-size: 1.2rem;
}
#footer .flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#footer .copyright{
	font-size: 1.1rem;
	color: #fff;
	/*margin-bottom: 10px;*/
}

@media screen and (max-width: 1300px) {
	#footer .btn_pagetop{
		right: 0;
	}
}
@media screen and (max-width: 768px) {
	#footer{
		position: relative;
		min-width: 0;
		padding: 10% 0;
		margin: 13% 0 0;
	}
	#footer .inner{
		position: static;
		width: 95%;
	}
	p.btn_pagetop a{
		display: block;
		width: 35px;
		height: 35px;
		background: url(../img/btn_pagetop.png) 50% 50% no-repeat;
		background-size: 100% auto;
		border-radius: 35px;
	}
	#footer .sponsor02,
	#footer .sponsor02 dd{
		display: block;
	}
	#footer .sponsor02 dd img{
		width: 30%;
	}
	#footer .sponsor02 dd img + img{
		padding-left: 15px;
	}
	#footer .sponsor01{
		margin-bottom: 2em;
	}
	#footer .sponsor01 dt,
	#footer .sponsor01 dd{
		font-size: 1.6rem;
	}
	#footer .flex{
		display: block;
	}
	#footer .copyright{
		margin-top: 2em;
	}
}

@media screen and (min-width:767px) {
.sp{
	display:none!important;
}
.sp_inline{
	display:none!important;
}
}
@media screen and (max-width:766px) {


	.pc{
		display:none!important;
	}
	.sp{
		display:block;
	}
	.sp_inline{
		display:inline;
	}

	body{min-width:314px;}
	p, table, dl, ol,a{font-size:1.4rem;line-height:1.6;}

	.main p ,
	.main p a {
		font-size:1.4rem;
	}

	/* ----------------------------------------------------------------------------------------------------
	*  基本
	* --------------------------------------------------------------------------------------------------*/
	.contents {
		padding: 2% 0;
	}
	.main_top5form {
		width: 96%;
		padding: 10% 2%;
		margin:0 auto;
	}
	h1 {
		margin: 5% auto 5% 3% ;
	}
	h1  img{
		width: 35%;
	}
	.top5form h2 {
		font-size: 2.0rem;
		margin: 0 auto 10%;
	}

	.mr10 ,
	.mr20 {
		margin-right: 0;
	}
	.mr20 {
		margin-bottom: 10px;
	}
	.ml10 {
		margin-left: 0;
	}
	.f_c ,
	.f14 {
		font-size: 1.2rem;
	}

	.sp_mb10 {
		margin-bottom: 10px;
	}

	p.caution {
		color: #FFF;
		background: #ff5353;
		padding: 0.8em 1em 0.6em;
		margin-top: 10px;
		font-size: 1.4rem;
	}
	input[type="text"],
	input[type="button"],
	input[type="email"],
	input[type="tel"],
	input[type="submit"],
	textarea {
		border-radius: 0;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	/* tab */
	.tab {
		margin-bottom: 10%;
	}
	.tab li{
		font-size: 1.0rem;
		width: 28%;
		height: auto;
		padding: 3% 0;
	}
	.tab li + li{
		margin-left: 3%;
	}
	.tab li strong{
		font-size: 1.3rem;
		margin-bottom: 5%;
	}
	.tab li:after{

		right: -28px;
		z-index: -1;
	}
	.tab li:last-child:after{
		display: none;
	}
	.tab li.active{
		font-size: 1.0rem;
		padding: 3% 0;
	}
	.tab li.active strong{
		font-size: 1.4rem;
		margin-bottom: 5%;
	}

	/* table */
	.table01 th,
	.table01 td{
		display: block;
	}
	.table01 th{
		background: #f6f6f6;
		box-sizing: border-box;
		width: 100%;
		padding: 0.5em 0 0.5em 1em ;
	}
	.table01 th .info{
		font-size: 1.0rem;
		padding: 2px 0;
		border-radius: 4px;
		margin-top: 2px;
	}
	.table01  th .info.l2{
		margin-top: 12px;
		margin-bottom: 10px;
	}
	.table01  th .info.l2 + span{
		width: 80%;
	}
	.table01  td{
		padding: 1em 2%;
		font-size: 1.2rem;
	}
	.table01  td p{
		font-size: 1.2rem;
	}
	.table01 td .line_top{
		padding-top: 2%;
		margin-top: 2%;
		border-top: 1px dotted #dfdfdf;
	}

	/* text */
	input[type=text] ,
	input[type=tel] ,
	input[type=email] ,
	input.wd_l {
		padding: 5px 10px;
		border-radius: 4px;
		font-size: 1.2rem;
		width: 100%;
	}
	input.wd_s {
		width: 20%;
	}


	/* radio */
	.label-radio .lever:before{
	  top: 3px;
	  width: 10px;
	  height: 10px;
	}
	.label-radio input[type="radio"]:checked + .lever:after{
	  top: 6px;
	  left: 3px;
	  width: 6px;
	  height: 6px;
	}
	.android .label-radio .lever:before{
	  top: 1px;
	}
	.android .label-radio input[type="radio"]:checked + .lever:after{
	  top: 4px;
	}

	/* select */
	select{
		height: 30px;
		padding: 3px 50px 6px 10px;
		border-radius: 4px;
		font-size: 1.4rem;
		width: 100%;
	}

	/* checkbox */
	.checkbox01-parts::before{
	  top: 2px;
	  width: 13px;
	  height: 13px;
	}
	.checkbox01-input:checked + .checkbox01-parts::after{
	  top: 0px;
	  width: 5px;
	  height: 10px;
	}
	.mobile .checkbox01-parts::before{
	  top: -1px;
	}
	.mobile .checkbox01-input:checked + .checkbox01-parts::after{
	  top: -3px;
	}

	.table01 td .note li{
		font-size: 1.2rem;
	}

	/* pp */
	.pp {
		margin: 5% auto;
		padding: 5%;
		height: 150px;
	}
	.pp h3 {
		font-size: 1.4rem;
	}
	.pp p ,
	.pp li {
		font-size: 1.0rem;

	}
	.pp_txt,.pp_txt2{
		font-size: 1.2rem;
	}
	.pp_txt {
		line-height: 1.4;
		margin-top: 5%;
	}

	/* btn */

	.btn {
		margin: 10% auto 0;
	}
	.btn button {
		display: block;
		width: 90%;
		margin: 0 auto;
	}
	.btn button + button {
		margin-left: auto;
		margin-top: 2%
	}
	.btn button,
	.btn button {
		display: block;
		font-size: 1.4rem;
		width: 100%;
		padding: 0.8em 0;
		border-radius: 4px;
	}
	.btn button:after{
		font-size: 1.4rem;
		margin-top: -5px;
	}
}


/* ------------------------------
    clearfix
------------------------------ */

.table01 th:after,
.cf:after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

.cf {display: inline-block;}

/* Hides from IE Mac */
* html .cf {height: 1%;}
.cf {display:block;}
/* End Hack */
