@charset "UTF-8";

#pagebody.reserve{
background: linear-gradient(45deg, #cdb043 31%, #987d3c 100%);
}

/* フォーム
---------------------------------------------------------*/
.mail_table_memo{
	margin-bottom: .5em;
}
.tbl_form {
	width: 100%;
}
.tbl_form > dl:nth-child(odd),
.tbl_form tr:nth-child(odd) {
	background:rgba(255,255,255,0.2);
}
.tbl_form > dl > dt,
.tbl_form > dl > dd,
.tbl_form tr > th,
.tbl_form tr > td{
	text-align: left;
	vertical-align: middle;
	box-sizing: border-box;
}
.tbl_form > dl > dt,
.tbl_form > dl > dd > div,
.tbl_form tr > th,
.tbl_form tr > td > div{
	padding-top: min(40px,4vw);
	padding-bottom: min(40px,4vw);
    letter-spacing: .1em;
	box-sizing: border-box;
}
.tbl_form > dl > dt,
.tbl_form tr > th{
	width: 17.5em;
	font-size: 110%;
	font-weight: bold;
	line-height: 1.6em;
	padding-left: 3em;
	padding-right: 1.5em;
    color:#fff;
}
.tbl_form tr > th{
	width: 25em;
}
.tbl_form > dl > dt .yellow{
	display: block;
	line-height: 1.4em;
	padding-top: 1em;
	font-weight: normal;
	color: #fff24d;
}
.tbl_form > dl > dd,
.tbl_form tr > td {
	width: calc(100% - 17.5em);
}
.tbl_form tr > td {
	width: calc(100% - 25em);
}
.tbl_form > dl > dd > div,
.kakunin_box dd,
.kakunin_box td{
	font-size: 17px;
	line-height: 1.8em;
	padding-right: 3em;
	color: #fff;
}

.date_list{
	max-width: 730px;
	overflow: hidden;
	display: flex;
    justify-content: space-between;
}
.date_list li {
	position: relative;
	width: 57%;
	vertical-align: middle;
}

.date_list li:nth-child(2){
	width: 43%;
}
.date_list li img {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 81%;
	width: 2em;
	vertical-align: middle;
}

.s_title{
	position: relative;
}
.s_title::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: 105%;
	height: 1px;
	left: -2.5%;
	top:0;
}
.s_title .fs18{
	position: relative;
	padding-left: 1.6em;
	box-sizing: border-box;
}
.s_title .fs18::before{
	position: absolute;
	display: block;
	content: "";
	background: #fff24d;
	background-size: 100% auto;
	width:1em;
	height:1em;
	top: .45em;
	left: 0;
	border-radius: 50%;
	opacity: .5;
}
.s_title .fs15{
	padding-left: 2em;
	box-sizing: border-box;
	margin-top: .7em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.tbl_form > dl > dt,
.tbl_form tr > th{
	width: 14em!important;
	padding-left: 1.5em;
}
.tbl_form > dl > dd,
.tbl_form tr > td {
	width: calc(100% - 14em)!important;
}
.tbl_form > dl > dd > div,
.kakunin_box dd,
.kakunin_box td{
	font-size: 16px;
	line-height: 1.7em;
	padding-right: 2em;
}
	
.s_title::before{
	width: 100%;
	left: 0;
}
.s_title .fs15{
	margin-top: .5em;
}	
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.mail_table_memo{
	margin-bottom: .3em;
}
.tbl_form {
	width: 100%;
}
.tbl_form > dl,
.tbl_form tr{
	display: block!important;
}
.tbl_form > dl > dt,
.tbl_form > dl > dd,
.tbl_form tr > th,
.tbl_form tr > td{
	display: block!important;
}
.tbl_form > dl > dd > div,
.tbl_form tr > td{
    letter-spacing: .05em;
	padding-top: 0;
	padding-bottom:9%;
}
.tbl_form tr > td{
	padding-bottom: 6%;
}
.tbl_form tr > th,	
.tbl_form > dl > dt {
	width: 100%!important;
	font-size: 100%;
	padding-left: 5%;
	padding-right: 5%;
	padding-top: 7%;
	padding-bottom: 4%;
	box-sizing: border-box;
}
.tbl_form > dl > dt .yellow{
	padding-top: .5em;
}
.tbl_form > dl > dd,
.tbl_form tr > td {
	width: 100%!important;
}
.tbl_form > dl > dd > div,
.kakunin_box dd,
.kakunin_box td{
	font-size: 4vw;
	line-height: 1.6em;
	padding-right: 5%;
	padding-left: 5%;
}
.date_list{
	max-width: 100%;
	display: block;
}
.date_list li {
	width: 100%;
}
.date_list li:nth-child(2){
	width: 100%;
	margin-top: 2%;
}

.s_title .fs18{
	padding-left: 1.2em;
}
.s_title .fs18::before{
	width: .8em;
	height:.8em;
	top: .4em;
}
.s_title .fs15{
	padding-left: 1.2em;
	margin-top: .5em;
}
}









/* ボタンレイアウト
---------------------------------------------------------*/
.submit_box {
	width: 100%;
	text-align: center;
}
.submit_box ul {
    width: 100%;
    max-width: 600px;
    margin: 0 auto;
	text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
.submit_box li {
	display: inline-block;
    width: 49%;
}
.submit_box li:nth-child(2){
    margin-left: 2%;
}
.tbl_form > dl{
	display: flex;
    align-items: center;
}


/*入力項目デザイン*/
.tbl_form .max_txt {
	width: 100%;
}
.tbl_form .middle_txt {
	width: 100%;
	max-width: 520px;
}
.tbl_form .age_txt {
	width: 100%;
	max-width:150px;
}
.tbl_form .date_txt {
	position: relative;
	width: 78%!important;
	max-width: 100%!important;
}

.tbl_form .check_list {
	margin-left: -2.8em;
}
.tbl_form .check_list li {
	float: left;
	margin-left: 2.8em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/*入力項目デザイン*/
.tbl_form .check_list{
	margin-bottom: -1em;
}
.tbl_form .check_list li {
	margin-bottom: 1em;
}	
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
.tbl_form .check_list {
	margin-left: 0;
}
.tbl_form .check_list li {
	float: none;
	margin-left: 0;
	margin-bottom: .8em;
}
.tbl_form .check_list li:last-child {
	margin-bottom: 0;
}
	
.submit_box .fs17{
	display: flex;
    align-items: center;
    justify-content: center;
}
.submit_box .fs17 span{
	display: inline-block;
	text-align: left!important;
	line-height: 1.5em;
	padding-left: .5em;
	box-sizing: border-box;
}
}






/* input
---------------------------------------------------------*/
/********************/
/* テキストボックス */
/********************/
.form input[type="text"] {
	padding: 16px 20px 12px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	outline: none;
	border: solid 1px #dbcab7;
	-webkit-appearance: none;
	font-size: 17px;
    border-radius: 5px;
}
.form textarea {
	height: 20em;
	padding: 16px 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	outline: none;
	border: solid 1px #dbcab7;
	-webkit-appearance: none;
	font-size: 17px;
    border-radius: 5px;
}
/****************/
/* ラジオボタン・チェックボックス @supportsでIE以外の指定、IEはデフォルト表示 */
/****************/
@supports(-webkit-appearance: none) or (-moz-appearance: none) {
.form input[type="checkbox"],
.form input[type="radio"] {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.form input[type="checkbox"] + label,
.form input[type="radio"] + label{
	padding: 0;
	position: relative;
}
.form input[type="checkbox"] + label span,
.form input[type="radio"] + label span{
	padding-left: 40px;
}
.form input[type="checkbox"] + label::before,
.form input[type="radio"] + label::before{
	content: "";
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
	left: 0;
	box-sizing: border-box;
	display: block;
	width: 26px;
	height: 26px;
	background: #fff;
}
.form input[type="checkbox"] + label::before,
.form input[type="radio"] + label::before{
    border-radius: 3px;
}
.form input[type="radio"] + label::before{
	border-radius: 30px;
}
.form input[type="radio"]:checked + label::after{
	content: "";
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
    left: 5px;
	width: 15px;
	height: 15px;
	background: #987d3c;
    border-radius: 50px;
	box-sizing: border-box;
	display: block;
}
.form input[type="checkbox"]:checked + label::after {
    content: "";
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
    left: 3px;
    width: 18px;
    height: 6px;
    margin-top: -10px;
    border-left: 5px solid #987d3c;
    border-bottom: 5px solid #987d3c;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
}

/****************/
/* セレクトボックス */
/****************/
.form select {
  /* デフォルトのスタイルを解除 */
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  /* スタイル */
  display: block;
  width: 100%;
  max-width: 100%; 
  padding: 0.7em 1.5em 0.6em .8em; 
  box-sizing: border-box;
  cursor: pointer; 
  line-height: 1.4;
  font-size: 100%; 
  border-radius: 5px; 
  border: solid 1px #b3b3b3; 
  background: url("../images/common/form_arrow.svg")no-repeat center right 4% #fff;
  background-color: #fff; 
  background-size: auto 50%;
}
/* フォーカス時 */
.form select:focus {
  outline: 0;
  border-color: #b3b3b3; /* 枠線色を変更 */
}
/* IEでデフォルトの矢印を消す */
.form select::-ms-expand {
  display: none;
}

/**********/
/* ボタン */
/**********/
input[type="submit"], 
input[type="button"],
input[type="reset"] {
	-webkit-appearance: none;
	width: 100%;
	height: 80px;
	border: none;
	cursor: pointer;
	border-radius: 0;
	font-size:135%;
	letter-spacing: 0.05em;
	color: #fff;
	font-weight: normal;
	line-height: 1.0em;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-style: normal;
}
input[type="button"], 
input[type="reset"] {
	background-color: #999999;
}

/**********/
/* チェックを入れて送信 */
/**********/

/* 送信ボタン */
input[type="submit"] {
	max-width: 314px;
	background: #43382a;
}
 
/* 送信ボタン - マウスオーバー時 */
input[type="submit"]:hover {
	background: #43382a;
}
 
/* 送信ボタン - 押せないとき */
input[type="submit"][disabled] {
	background-color: #ccc;
	cursor: default;
}

input::placeholder{
	color: #ccc!important;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
/********************/
/* テキストボックス */
/********************/
.form input[type="text"] {
	padding: .9em 1em .8em;
	font-size: 16px;
}
.form textarea {
	height: 15em;
	padding: .9em 1em .8em;
	font-size: 16px;
}
/**********/
/* ボタン */
/**********/
input[type="submit"], 
input[type="button"],
input[type="reset"] {
	height: 75px;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
/********************/
/* テキストボックス */
/********************/
.form input[type="text"] {
	padding: .5em 1em;
	font-size: 4vw;
}
.form textarea {
	height: 15em;
	padding:.5em 1em;
	font-size: 4vw;
}

/****************/
/* セレクトボックス */
/****************/
.form select {
  font-size: 4vw; 
}

/**********/
/* ボタン */
/**********/
input[type="submit"], 
input[type="button"],
input[type="reset"] {
	height: 3em;
	font-size: 4.5vw;
}
}






/* mobile_attention
---------------------------------------------------------*/
.form .mobile_attention {
	padding-top: 30px;
	width: 100%;
	max-width: 710px;
	font-size: 90%;
	letter-spacing: .15em;
	line-height: 1.8em;
}
.form .mobile_attention dt {
	font-weight: bold;
	font-size: 120%;
	letter-spacing: .15em;
	text-decoration: underline;
}
.form .mobile_attention dd{
    padding-top: .5em;
}
.form .mobile_attention ul {
	margin-top: 1.0em;
}
.form .mobile_attention li {
	margin-top: 5px;
	padding-left: 15px;
	float: left;
	margin-right: 20px;
	position: relative;
	vertical-align: middle;
	line-height: 1.2em;
}
.form .mobile_attention li::before {
	position: absolute;
	left: 0;
	top: 50%;
    transform: translateY(-50%);
	content: "";
	vertical-align: middle;
	width: 4px;
	height: 4px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}
.form .mobile_attention a:hover {
	text-decoration: underline;
}
.form .mobile_attention .open_trigger p::after{
    color:#fff;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.form .mobile_attention {
	padding-top: 3%;
	letter-spacing: .1em;
}
.form .mobile_attention dt {
	letter-spacing: .1em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}









/* privacy
---------------------------------------------------------*/
.form .privacy {
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	padding: 40px 0;
}
.form .privacy h3 {
	text-align: center;
	text-decoration: underline;
}
.form .privacy h3 span {
	font-size: 120%;
	font-weight: bold;
	letter-spacing: .15em;
	line-height: 1.2em;
	text-align: center;
}
.form .privacy .open_box {
	padding-top: 40px;
	width: 100%;
	max-width: 1280px;
	margin: 0 auto;
}
.form .privacy dl {
	margin-top: 30px;
}
.form .privacy dt {
	position: relative;
	margin-bottom: .5em;
	padding-left: 1.5em;
}
.form .privacy dt::before {
	position: absolute;
	display: block;
	content: "";
	background: #fff;
	background-size: 100% auto;
	width: .8em;
	height: .8em;
	top:.6em;
	left: 0;
	border-radius: 50%;
	opacity: .5;
}
.form .privacy dd {
	padding-left: 1.7em;
}
.form .privacy li {
	text-indent: -1.5em;
	margin-left: 1.5em;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
.form .privacy {
	padding: 4% 0;
}
.form .privacy .open_box {
	padding-top: 4%;
}
.form .privacy dl {
	margin-top: 3%;
}
.form .privacy dt {
	margin-bottom: .3em;
	padding-left: 1.3em;
}
.form .privacy dt::before {
	top:.45em;
}
.form .privacy dd {
	padding-left: 1.3em;
}
.form .privacy li {
	text-indent: -1.3em;
	margin-left: 1.3em;
}
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}













/* 確認画面、完了ページ
-----------------------------------------------------------------------*/
.entry .kakunin_box {
    width:100%;
    max-width: 1280px;
    margin: 0 auto;
	margin-bottom: 60px;
}
.entry .err_box {
	text-align: center;
	color: #db6e4d;
	font-weight: normal;
}
.entry .txt_kakunin {
	text-align: center;
	font-weight: bold;
	margin-bottom: 1.5em;
    color:#3f2933;
}
.entry .end_txt {
	margin-bottom: 100px;
}
.entry .end_txt dl{
    text-align: center;
}
.entry .end_txt dl dt{
    font-size:180%;
    letter-spacing: 0.1em;
    line-height: 1.5em;
    margin-bottom: .8em;
    color:#3f2933;
}

/* Tablet (Portrait)
------------------------------------------*/
@media only screen and (min-width: 768px) and (max-width: 959px) { 
}

/* Mobile (Portrait) 
------------------------------------------*/ 
@media only screen and (max-width: 767px) { 
}
