@charset "utf-8";
/* CSS Document */

/* ------------------------------
 Margin
------------------------------ */

.tc { text-align: center !important; }
.tl { text-align: left !important; }
.tr { text-align: right !important; }

/* Top */
.mt0   { margin-top:0 !important; }
.mt10  { margin-top:10px !important; }
.mt20  { margin-top:20px !important; }
.mt30  { margin-top:30px !important; }
.mt40  { margin-top:40px !important; }
.mt50  { margin-top:50px !important; }
.mt60  { margin-top:60px !important; }
.mt70  { margin-top:70px !important; }
.mt80  { margin-top:80px !important; }
.mt90  { margin-top:90px !important; }
.mt100 { margin-top:100px !important; }
.mt-30 { margin-top:-30px !important; }
.mt-40 { margin-top:-40px !important; }

/* Bottom */
.mb0   { margin-bottom:0 !important; }
.mb10  { margin-bottom:10px !important; }
.mb20  { margin-bottom:20px !important; }
.mb30  { margin-bottom:30px !important; }
.mb40  { margin-bottom:40px !important; }
.mb50  { margin-bottom:50px !important; }
.mb60  { margin-bottom:60px !important; }
.mb70  { margin-bottom:70px !important; }
.mb80  { margin-bottom:80px !important; }
.mb90  { margin-bottom:90px !important; }
.mb100 { margin-bottom:100px !important; }

/* Left-Right */
.ms0   { margin-left:0;     margin-right:0 !important; }
.ms10  { margin-left:10px;  margin-right:10px !important; }
.ms20  { margin-left:20px;  margin-right:20px !important; }
.ms30  { margin-left:30px;  margin-right:30px !important; }
.ms40  { margin-left:40px;  margin-right:40px !important; }
.ms50  { margin-left:50px;  margin-right:50px !important; }
.ms60  { margin-left:60px;  margin-right:60px !important; }
.ms70  { margin-left:70px;  margin-right:70px !important; }
.ms80  { margin-left:80px;  margin-right:80px !important; }
.ms90  { margin-left:90px;  margin-right:90px !important; }
.ms100 { margin-left:100px; margin-right:100px !important; }
.ms110 { margin-left:110px; margin-right:110px !important; }
.ms120 { margin-left:120px; margin-right:120px !important; }
.ms130 { margin-left:130px; margin-right:130px !important; }
.ms140 { margin-left:140px; margin-right:140px !important; }
.ms150 { margin-left:150px; margin-right:150px !important; }

/* ------------------------------
 Width
------------------------------ */

.w35   { width:35px !important; }
.w40   { width:40px !important; }
.w50   { width:50px !important; }
.w55   { width:55px !important; }
.w60   { width:60px !important; }
.w70   { width:70px !important; }
.w80   { width:80px !important; }
.w90   { width:90px !important; }
.w100  { width:100px !important; }
.w110  { width:110px !important; }
.w120  { width:120px !important; }
.w130  { width:130px !important; }
.w140  { width:140px !important; }
.w150  { width:150px !important; }
.w160  { width:160px !important; }
.w170  { width:170px !important; }
.w180  { width:180px !important; }
.w190  { width:190px !important; }
.w200  { width:200px !important; }
.w210  { width:210px !important; }
.w220  { width:220px !important; }
.w230  { width:230px !important; }
.w240  { width:240px !important; }
.w250  { width:250px !important; }
.w260  { width:260px !important; }
.w270  { width:270px !important; }
.w280  { width:280px !important; }
.w290  { width:290px !important; }
.w300  { width:300px !important; }

.w400  { width:400px !important; }
.w500  { width:500px !important; }
.w600  { width:600px !important; }
.w700  { width:700px !important; }
.w800  { width:800px !important; }
.w900  { width:900px !important; }

.w10p { width:10%; }
.w20p { width:20%; }
.w30p { width:30%; }
.w40p { width:40%; }
.w50p { width:50%; }
.w60p { width:60%; }
.w70p { width:70%; }
.w80p { width:80%; }
.w90p { width:90%; }
.w100p { width:100%; }

input, button, textarea, select { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; box-sizing: border-box; }
select::-ms-expand { display: none; }
.sup { color:#777; }
.error { padding: 15px; background: #FCD6D6; border-radius: 10px; color:#f00; }
.attention { color:#f00; }
.entryform { padding: 0 0 20px; /* background: #fafafa; */ }
.entryform h1 { font-size: 2.8em; text-align: center; margin: 0 auto 60px; }
.entryform h1 small { display: inline-block; padding: 0.2em 1em; background:#DB0017; color:#fff; line-height: 1.2; margin: 25px auto 0; font-size: 20px; border-radius: 100px; }
.entryform .caption { font-size: 1em; text-align: center; line-height: 1.9; margin: 0 20px 60px; }
.entryform .caption.v2 { text-align: center; font-size: 1.25em; }
.entryform .caption.v2 .inr { max-width:100%; display: inline-block; text-align: left; line-height: 1.9; margin: 0 auto; }
.entryform p { padding:0 1.0em; }
.entryform .inr { max-width: 600px; margin: 0 15px; }
.entryform .inr h2 { font-size: 1.5em; letter-spacing: 1px; margin: 0 0 60px; padding: 0 0 20px; text-align: center; text-align: center; position: relative; }
.entryform .inr h2:after { content: ""; width: 80px; height: 0; display: block; border-bottom: 1px solid #333; position: absolute; left: 50%; bottom: 0; margin: 0 0 0 -40px; }
.entryform .inr table { margin: 0 auto 60px; border-top:1px solid #ddd; width:100%; border-spacing: 0; border-collapse: collapse; display: block; box-sizing: border-box; }
.entryform .inr table tr { display: block; width: 100%; box-sizing: border-box; }
.entryform .inr table thead { display: block; width: 100%; box-sizing: border-box; }
.entryform .inr table tbody { display: block; width: 100%; box-sizing: border-box; }
.entryform .inr table th { position: relative; padding: 20px 0; box-sizing: border-box; vertical-align: middle; border-bottom:1px solid #ddd; width: 100%; text-align: left; line-height: 1.5; display: block; }
.entryform .inr table td { position: relative; padding: 20px 0; box-sizing: border-box; vertical-align: middle; border-bottom:1px solid #ddd; width: 100%; text-align: left; line-height: 1.5; display: block; }
.entryform .inr table tr.must th { background: url(/reservation/static/images/ico_must.png) right center no-repeat; }
.entryform .inr table tr.option th { background: url(/reservation/static/images/ico_option.png) right center no-repeat; }
.entryform .inr table tr.lineoff th,
.entryform .inr table tr.lineoff td { border:none; }
.entryform .inr table td input[type="text"] { border-radius: 2px; background: #fff; font-size: 14px; border:1px solid #ccc; padding:8px; outline: 0; line-height: 1em; }
.entryform .inr table td input[type="date"] { border-radius: 2px; background: #fff; font-size: 14px; border:1px solid #ccc; padding:8px; outline: 0; line-height: 1em; }
.entryform .inr table td textarea { border-radius: 2px; background: #fff; font-size: 14px; border:1px solid #ccc; padding:8px; outline: 0; line-height: 1em; }
.entryform .inr table td .selectarea { position: relative; display: inline-block; }
.entryform .inr table td .selectarea select { border-radius: 2px; background: #fff; font-size: 14px; border:1px solid #ccc; padding: 8px 25px 8px 8px; line-height: 1em; }
.entryform .inr table td .selectarea option { border-radius: 2px; background: #fff; font-size: 14px; line-height: 1em; }
.entryform .inr table td .selectarea::before{ content: ''; width: 6px; height: 6px; border: 0px; border-top: solid 1px #aaa; border-right: solid 1px #aaa; -ms-transform: rotate(135deg); -webkit-transform: rotate(135deg); transform: rotate(135deg); position: absolute; top: 50%; right: 10px; margin-top: -6px; }
.entryform .inr table td textarea:focus,
.entryform .inr table td input[type="text"]:focus,
.entryform .inr table td input[type="date"]:focus,
.entryform .inr table td .selectarea select:focus { background: #f5f5f5; }
.entryform .formbtn { text-align: center; padding: 0; }
.entryform .formbtn .submit{ line-height: 1.2em; cursor: pointer; letter-spacing: 1px; display: inline-block; padding: 0.5em 3em; text-decoration: none; background: #668ad8; color: #FFF; border-bottom: solid 4px #627295; border-radius: 3px; font-size: 1.5em; font-weight: bold; }
.entryform .formbtn .submit:active { -ms-transform: translateY(4px); -webkit-transform: translateY(4px); transform: translateY(4px); box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2); border-bottom: none; margin-bottom:4px; }
.entryform .formbtn .back{ line-height: 1.2em; cursor: pointer; letter-spacing: 1px; display: inline-block; padding: 0.5em 3em; text-decoration: none; background: #eee; color: #333; border-bottom: solid 4px #ddd; border-radius: 3px; font-size: 1.5em; font-weight: bold; margin: 0 5px 5px; }
.entryform .formbtn .back:active { -ms-transform: translateY(4px); -webkit-transform: translateY(4px); transform: translateY(4px); box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2); border-bottom: none; margin:0 5px 4px; }
.entryform img.ui-datepicker-trigger { width: auto; }
.entryform .ui-datepicker-trigger:hover { cursor: pointer; opacity: 0.75; }
.entryform #ui-datepicker-div * { font-size: 10px; }
.entryform pre { width: auto; height: 300px; overflow: auto; padding: 10px; margin: 20px 20px 0; box-sizing: border-box; border: solid 1px #ccc; font-size:12px; line-height: 170.0%; white-space: normal; background-color:#fff; color:#666; }
/* .entryform pre { width: auto; height: 300px; overflow: auto; padding: 16px 0; margin: 20px 20px 0; box-sizing: border-box; border: solid 1px #ccc; font-size:12px; line-height: 170.0%; white-space: normal; background-color:#fff; color:#666; } */
.entryform .inr input[type="checkbox"] { border-radius: 5px; background: #fff; border:1px solid #ccc; padding: 8px; outline: 0;  vertical-align: baseline; -webkit-appearance: checkbox; -moz-appearance: checkbox; appearance: checkbox; vertical-align: baseline; }
.entryform .inr label { display:block; width: 200px; padding:10px; margin: 0 auto; text-align:center; font-size:16px; border-radius: 5px; transition:background-color 0.3s; cursor: pointer; vertical-align: baseline; }
.entryform .inr label:hover { background-color:#FCD6D6; transition:background-color 0.3s; }

#ui-datepicker-div .ui-state-default,
#ui-datepicker-div .ui-widget-content .ui-state-default,
#ui-datepicker-div .ui-widget-header .ui-state-default {
	border-radius: 100px;
	text-align: center;
	font-weight: normal;
}
#ui-datepicker-div .ui-widget-header { background: transparent; border:none; color:#444; }
#maintitle.reserve { background-image: url(/reservation/static/images/reserve/title_bg.jpg); }
#maintitle.contact { background-image: url(/reservation/static/images/contact/title_bg.jpg); }
#maintitle.mailmag { background-image: url(/reservation/static/images/mailmag/title_bg.jpg); }

.entryBlue { color:#87CEEB; font-weight:bold; }
.entryOrange { color:#FFD700; font-weight:bold; }
.entryPink { color:#FFB6C1; font-weight:bold; }

.entryform h2.caption em { font-style:normal; display:block; color:#0091DB; }
em.entryContact { color:crimson; font-style:normal; font-weight:bold; }
.entryIndent { padding-left: 2.3em; }
.entryform .inr p em { display:block; color:#5D5553; font-style:normal;  font-weight:bold; }
.entryform .inr p em + span { color:#E60012; font-weight:bold; }
.entryform .inr .caption {font-size:0.74em;}
.entryform .inr .caption:before {content:"\A";white-space: pre;}
.new_feature {font-size:1.2em; font-weight:bold; color:#f00; }
.new_feature a{color:#f00; }
.feature_header {display:block;}

#academic .entryform .formbtn a { margin-bottom: 20px !important }

.entryform .caption.v2{
	font-size:1em;
}
.entryform .caption.v2 ul.caption_list { font-size:0.9em; }
.entryform .caption.v2 ul.caption_list li:before {content: "※";margin-left: -1em;}
.entryform .caption.v2 ul.caption_list li {margin: 5px 1em; color:gray; line-height: 1.6em;}
.entryform .caption.v2 ul.caption_list li br {display:none;}