@charset "UTF-8";




/*テーブル
---------------------------------------------------------*/
.com_form{
	position: relative;
	z-index: 2;
	background: #fff;
	border-radius: 13px;
	padding: 60px 7%;
	box-sizing: border-box;	
}
.com_form .required {
	background: #ad5050;
	color: #fff;
	font-size: 70%;
	font-weight: 600;
	padding: .4em .8em;
	box-sizing: border-box;
	border-radius: 3px;
	margin-right:1.2em;
}
.com_form .required.type_no {
	background: #b3b3b3;
}
.com_form .sub_txt_b{
	font-size:85%;
	letter-spacing: 0.01em;
	line-height: 1.4em;
	margin-top: 1em;
}
.com_form .tbl_form {
	width: 100%;
	font-size:110%;
}
.com_form .tbl_form th,
.com_form .tbl_form td {
	display: block;
}
.com_form .tbl_form th {
	font-weight: normal;
	line-height: 1.6em;
	padding-bottom: .8em;
}
.com_form .tbl_form .table_title th{
	padding: .7em .8em;
	box-sizing: border-box;
	font-weight: bold;
	border-top:1px solid #000;
	border-bottom:1px solid #000;
	margin-top: 1em;
	margin-bottom: 1.8em;
}

.com_form .tbl_form td {
	padding-bottom: 2.1em;
}
.com_form .tbl_form tr:last-child td {
	padding-bottom: 0;
}
.com_form .tbl_txt {
	margin-bottom: .5rem;
}
.tbl_form_kakunin,
.tbl_form_kakunin tr{
	width: 100%;
}
.tbl_form_kakunin th{
	width: 14rem;
	font-family: "dnp-shuei-mincho-pr6n", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size:110%;
	background:#f5f7fa;
}
.tbl_form_kakunin th,
.tbl_form_kakunin td{
	border-bottom: 1px solid #ccc;
	padding: 1.5rem 1.5rem;
	box-sizing: border-box;
	vertical-align: middle;
}
.tbl_form_kakunin tr:first-of-type th,
.tbl_form_kakunin tr:first-of-type td{
	border-top: 1px solid #ccc;
}
.tbl_form_kakunin td{
	width: calc(100% - 14rem);
	padding-right: 0!important;
}

/*age_flex*/
.com_form .age_flex{
	display: flex;
    justify-content: space-between;
}
.com_form .age_flex div {
	width: 32%;
}
.com_form .age_flex div select{
	width: calc(100% - 2em);
	margin-right: .5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) {
.com_form{
	padding: 5%;	
}
.com_form .tbl_txt {
	margin-bottom: .8rem;
}
.tbl_form_kakunin th{
	width: 12rem;
}
.tbl_form_kakunin td{
	width: calc(100% - 12rem);
}
.tbl_form_kakunin th,
.tbl_form_kakunin td{
	padding: 1.2rem 1rem;
}
	
/*age_flex*/
}

/* Mobile (Portrait)
------------------------------------------*/
@media only screen and (max-width: 767px) {
.com_form{
	padding: 5%;	
}
.com_form .required {
	margin-right: .9em;
}
.tbl_form_kakunin th{
	font-size:100%;
	width: 40%;
}
.tbl_form_kakunin td{
	width: 60%;
}
.tbl_form_kakunin th,
.tbl_form_kakunin td{
	letter-spacing: normal;
	line-height: 1.4em;
	padding: 1.5rem 1rem;
}
.com_form .tbl_form .table_title th{
	margin-bottom: 1.2em;
}
	
/*age_flex*/
.com_form .age_flex{
	flex-wrap: wrap;
}
.com_form .age_flex div {
	width: 50%;
}
.com_form .age_flex div:first-child{
	margin-bottom: .5em;
	margin-right: 50%;
}
.com_form .age_flex div select{
	width: calc(100% - 2em);
	margin-right: .5em;
}
}








/*入力項目デザイン
-----------------------------------------------------------------------------*/
/********************/
/* テキストボックス */
/********************/
.com_form input[type="text"] {
	width: 100%;
	max-width: 100%;
	padding: .9em 1em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background:#f9f8fa;
	font-size:105%;
	outline: none;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
}
.com_form input[type="text"]::placeholder {
	color: #b3b3b3!important;
}

/****************/
/* ラジオボタン */
/****************/
.checkbox_list li{
	display: inline-block;
	margin-right:1.8em;
}

.com_form input[type=radio], 
.com_form input[type=checkbox] {
	display: inline-block;
	font-size: 19px;
	letter-spacing: normal;
}
.com_form input[type=radio] + label, 
.com_form input[type=checkbox] + label {
	position: relative;
	display: inline-block;
	font-size: 19px;
	cursor: pointer;
}

@media (min-width: 1px) {
.com_form input[type=radio], 
.com_form input[type=checkbox] {
	position: absolute;		
	z-index: -1;			
	pointer-events: none;	
	visibility: hidden;		
	margin: 0;
}
.com_form input[type=radio] + label, 
.com_form input[type=checkbox] + label {
	padding: 0 0 0 28px;
}
.com_form input[type=radio] + label::before, 
.com_form input[type=checkbox] + label::before {
	content: "";
	position: absolute;
	left: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
	width: 20px;
	height: 20px;
	background: #fff;
	border:1px solid #928e8a;
}
	
.com_form input[type=radio] + label::before {
	top: 50%;
	transform: translateY(-50%);
	border-radius: 5px;
}
.com_form input[type=checkbox] + label::before {
	top: 50%;
	transform: translateY(-50%);
	border-radius: 5px;
}
.com_form input[type=radio]:checked + label::after, 
.com_form input[type=checkbox]:checked + label::after {
	content: "";
	position: absolute;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	display: block;
}
.com_form input[type=radio]:checked + label::after {
	left: 5px;
	top: 5px;
	margin: auto;
	width: 12px;
	height: 12px;
	background: #ad5050;
	border-radius: 50%;
}
.com_form input[type=checkbox]:checked + label::after {
	top: .4em;
	left: 3px;
	width: 18px;
	height: 10px;
	border-left: 4px solid #ad5050;
	border-bottom: 4px solid #ad5050;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.com_form .checkBtn input[type=checkbox] + label::before{
	background:#ffffff;
	border:1px solid #928e8a;
	border-radius: 5px !important;
	top: 0.3em;
	}	
}

/****************/
/* セレクトボックス */
/*****************/
.com_form select{
	font-size: 19px;
	width: 100%;
	padding: .8em;
	box-sizing: border-box;
	border: none;
	appearance: none!important;
	background: #f9f8fa url("../images/select_arrow@2x.png") no-repeat 92% center!important;
	background-size: 0.5em 1em!important;
}
.com_form .date_input {
	background: #fff url("../images/select_arrow@2x.png") no-repeat 92% center!important;
	background-size: 0.5em 1em!important;
}

/**********/
/* ボタン */
/**********/
.com_form input[type="submit"], 
.com_form input[type="button"], 
.com_form input[type="reset"] {
	position: relative;
	-webkit-appearance: none;
	cursor: pointer;
	display: block;
	width: 100%;
	min-width: 16.5em;
	color: #fff;
	line-height: 1.5em;
	padding: .85em 1.5em .7em;
	box-sizing: border-box;
	border-radius: 50px;
	font-size: min(19px,2vw);
	font-weight: bold;
	text-align: left;
	background: #333333;
	border:none;
	transition: 0.4s;
}
.com_form input[type="button"] {
	background:rgba(51,51,51,0.50);
}

/**********/
/* チェックを入れて送信 */
/**********/
/* 送信ボタン - マウスオーバー時 */
input[type="submit"]:hover {
	transition: 0.4s;
}
.com_form input[type="button"]:hover{
	transition: 0.4s;
}
 
/* 送信ボタン - 押せないとき */
input[type="submit"][disabled] {
	background-color: #ccc;
	/*cursor: default;*/
}

/*ファイル選択ボタン*/
.com_form .btn_file { 
	font-size:17px;
	width: 100%;
}
.com_form .btn_file::file-selector-button {
	text-align: center;
	color: #251c15;
	font-size:17px;
	line-height: 1em;
	background: #fff;
	border: solid 1px #928e8a;
	padding: .75em 1.1em .7em;
	border-radius:10px;
	cursor: pointer;
	margin-right: 1em;
}

/*
.com_form textarea {
	width: 100%;
	max-width: 810px;
	height: 8em;
	padding: 1em .8em;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: rgba(47,47,47,0.05);
	font-size: 16px;
	letter-spacing: .1em;
	outline: none;
	border: none;
	border-radius: 0;
	-webkit-appearance: none;
}*/
/*width: 100%;
	height: 4em;
	border-radius: 5px;
	padding-right: 1.0em;
	font-size: 120%;
	font-weight: normal;
	letter-spacing: .2em;
	line-height: 1.0em;
	color:#3a3a3a;
	background-color: rgba(47,47,47,0.15);
	background-image: url("../images/btn_form_submit2.svg");
	background-repeat: no-repeat;
	background-position: 90% center;
	background-size: 23px auto;*/
/*
.com_form input[type="submit"] {
	color: #fff;
	background-color: #532f6b;
	background-image: url("../images/btn_form_submit1.svg");
}
.file-input {
    display: none; 
}
.file-label {
    display: inline-block;
	font-size:17px;
	line-height: 1em;
	color: #251c15;
	padding: .65em 1.1em .6em;
    background: #fff;
	border: solid 1px #928e8a;
    border-radius: 10px;
    cursor: pointer;
}
.file-name {
	margin-left: .5em;
	font-size:17px;
}*/
/* PC調整
------------------------------------------*/
@media only screen and (min-width: 960px) and (max-width: 1400px) {
/**********/
/* ボタン */
/**********/
.com_form input[type="submit"], 
.com_form input[type="button"], 
.com_form input[type="reset"] {
	min-width: 13em;
}
}
/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/****************/
/* ラジオボタン */
/****************/
.com_form input[type=radio], 
.com_form input[type=checkbox],
.com_form input[type=radio] + label, 
.com_form input[type=checkbox] + label {
	font-size: 15px;
}
.com_form input[type=radio] + label::before, 
.com_form input[type=checkbox] + label::before {
	width: 18px;
	height: 18px;
}
.com_form input[type=radio] + label::before ,
.com_form input[type=checkbox] + label::before {
	border-radius: 3px;
}
	
.checkbox_list{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
.checkbox_list li{
	width:50%;
	display:block;
	margin-right:0;
	margin-top:.1em;
}
.checkbox_list li:nth-child(-n+2){
	margin-top:0;
}
.com_form select{
	font-size: 15px;
	padding: 1em .8em;
}
	
/**********/
/* ボタン */
/**********/
.com_form input[type="submit"], 
.com_form input[type="button"], 
.com_form input[type="reset"] {
	min-width: 12em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/********************/
/* テキストボックス */
/********************/
.com_form input[type="text"] {
	padding: .8em 1em;
	font-size:100%;
}
	
/****************/
/* ラジオボタン */
/****************/
.com_form input[type=radio], 
.com_form input[type=checkbox],
.com_form input[type=radio] + label, 
.com_form input[type=checkbox] + label {
	display: block;
	font-size: 95%;
}
.com_form input[type=radio] + label, 
.com_form input[type=checkbox] + label {
	padding: 0 0 0 1.8em;
}
.com_form input[type=radio] + label::before, 
.com_form input[type=checkbox] + label::before {
	width: 1.2em;
	height: 1.2em;
}
.com_form input[type=radio] + label::before ,
.com_form input[type=checkbox] + label::before {
	border-radius: 3px;
}
.checkbox_list{
	display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
}
.checkbox_list li{
	width:50%;
	display:block;
	margin-right:0;
	margin-top:.2em;
}
.checkbox_list li:nth-child(-n+2){
	margin-top:0;
}
	
/****************/
/* セレクトボックス */
/*****************/
.com_form input[type="submit"], 
.com_form input[type="button"], 
.com_form input[type="reset"]{
	font-size:100%;
	min-width: 14em;
}
.com_form select{
	font-size: 100%;
	padding: .6em .6em;
	background-size: 0.5em 1em!important;
}
.com_form .date_input {
	background-size: 0.5em 1em!important;
}
}





/* ボタンレイアウト
-----------------------------------------------------------------------*/
.com_form .submit_box {
	text-align: center;
	margin-top: 3em;
}
.com_form .submit_box li{
	position: relative;
	display: inline-block;
	margin-right: .5em;
}
.com_form .submit_box li:last-child{
	margin-right: 0;
}
.com_form .submit_box li::before{
	position: absolute;
	font-family: 'fontello';
	content: '\e800';
	top:50%;
	transform: translateY(-50%); 
	right: 1.3em;
	font-size:140%;
	color: #fff;
	z-index: 10;
}
.com_form .submit_box p{
	line-height: 1.6em;
	margin-bottom: 1rem;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.kakunin .com_form .submit_box {
	margin-top: 2em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.kakunin .com_form .submit_box {
	margin-top: 2em;
}
.com_form .submit_box li{
	margin-right: auto;
	margin-bottom: .5em;
}
.com_form .submit_box li:last-child{
	margin-bottom: 0;
}
}




/* end_txt
---------------------------------------------------------*/
.end_txt .ft_min{
	font-size: min(170%,3vw);
	line-height: 1.5em;
	margin-bottom: .8rem;
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.end_txt .ft_min{
	font-size:145%;
}
.end_txt p span{
	text-decoration: underline;
}
}





/* アコーディオン
----------------------------------------------------------------------
.com_form .open_trigger {
	text-align: center;
	font-size: 120%;
	color: #84378e;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.4em;
	cursor: pointer;
}
.com_form .open_trigger span {
	background-position: 99% center;
	background-repeat: no-repeat;
	background-size: 20px 20px;
	padding-right: 30px;
	background-image:url("../images/icon_form_plus.svg");
}
.com_form .open_trigger.active span {
	background-image:url("../images/icon_form_minus.svg");
}
.com_form .open_trigger span:hover {
	text-decoration: none;
}
.open_box {
	padding-top: 30px;
	display: none;
}







/* ドメイン設定
-----------------------------------------------------------------------
.com_form .mobile_attention {
	margin-top: 40px;
	width: 100%;
	max-width: 700px;
}
.com_form .mobile_attention .open_box {
	width: 100%;
	margin: 0 auto;
	font-size: 90%;
	line-height: 1.8em;
}
.com_form .mobile_attention .open_trigger{
	text-align:left;
}

.com_form .mobile_attention ul {
	margin-top: 1.0em;
}
.com_form .mobile_attention li {
	margin-top: 5px;
	padding-left: 15px;
	float: left;
	margin-right: 20px;
	position: relative;
	line-height: 1.2em;
}
.com_form .mobile_attention li::before {
	position: absolute;
	left: 0;
	top: 55%;
    transform: translateY(-50%) rotate(45deg);
	content: "";
	vertical-align: middle;
	width: 6px;
	height: 6px;
	border-top: 1px solid rgba(178,151,2,0.90);
	border-right: 1px solid rgba(178,151,2,0.90);
}
.com_form .mobile_attention a:hover {
	text-decoration: underline;
}

















/* 個人情報
------------------------------------------------------------------------
.com_form .privacy {
	margin: 0 auto;
	border-top:5px solid rgba(132,55,142,0.50);
	border-bottom:5px solid rgba(132,55,142,0.50);
	padding: 40px 0;
}

.com_form .privacy .open_box {
	max-width: 1000px;
	margin: 0 auto;
	font-size: 85%;
	line-height: 1.8em;
}
.com_form .privacy .flex_box {
	margin-top: 30px;
	display: -webkit-flex;
	display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
}
.com_form .privacy .flex_box dl {
	width: 47%;
}
.com_form .privacy .flex_box dl:first-child {
	padding-right: 3%;
	border-right: solid 1px rgba(149,128,105,0.50);
}
.com_form .privacy dt {
	color: #84378e;
	font-size: 110%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.2em;
	margin-bottom: .5em;
}
.com_form .privacy dd li {
	text-indent: -1.6em;
	margin-left: 1.6em;
	line-height: 1.6em;
	margin-bottom: .5em;
}
.com_form .privacy dd li:last-child {
	margin-bottom: 0;
}









/* ご利用に関するご注意
--------------------------------------------------------
.com_form_coution .bgbox{
	padding: 80px 0 85px 0;
background: rgb(219,203,153);
background: -moz-linear-gradient(left,  rgba(219,203,153,1) 0%, rgba(232,220,183,1) 100%);
background: -webkit-linear-gradient(left,  rgba(219,203,153,1) 0%,rgba(232,220,183,1) 100%);
background: linear-gradient(to right,  rgba(219,203,153,1) 0%,rgba(232,220,183,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#dbcb99', endColorstr='#e8dcb7',GradientType=1 );
}
.com_form_coution .title{
	text-align:center;
	margin-bottom: 40px;
}
.com_form_coution .title dt{
	font-size:250%;
	margin-bottom: 15px;
}
.com_form_coution .title dd{
	color:#a27925;
	font-size:110%;
	letter-spacing: 0.2em;
}
.com_form_coution .list1{
	margin-bottom: 65px;
}
.com_form_coution .list1 > li{
	margin-bottom: 20px;
	padding-left: 1.5em;
	position: relative;
	font-weight: bold;
	font-size:105%;
}
.com_form_coution .list1 > li .col_red{
	color:#c1272d;
}
.com_form_coution .list1 > li:last-child{
	margin-bottom: 0;
}
.com_form_coution .list1 > li::before {
	font-family: 'fontello';
	content: '\e806';
	position: absolute;
	color: #a37925;
	font-size: 115%;
	letter-spacing: normal;
	line-height: 1.2em;
	left: 0;
	top:0.2em;
}
.com_form_coution .list2 > li{
	margin-bottom: 15px;
	padding-left: 1.5em;
	line-height: 1.5em;
	position: relative;
}
.com_form_coution .list2 > li:last-child{
	margin-bottom: 0;
}
.com_form_coution .list2 > li::before {
	font-family: 'fontello';
	content: '\e806';
	position: absolute;
	color: #84378e;
	font-size: 80%;
	letter-spacing: normal;
	line-height: 1.2em;
	left: 0;
	top:0.3em;
}