@charset "utf-8";

/*----------------------------------------------
	.clearfix
---------------------------------------------*/
.clearfix:after {
/*    content:" "; */
    display:block;
    clear:both;
}
#contents {
	margin-left:auto;margin-right:auto;
}

/*----------------------------------------------
	各ページ共通
---------------------------------------------*/
.footer_office {
        position: absolute;
	text-align:left;
	padding-top:4px;
	padding-bottom:4px;
        line-height:130%;
        left: 39%;
	width: 32%;
	display: inline-block;
	font-color:#333;
	font-size: 13px;
}
@media screen and (max-width: 750px){
.footer_office {
        position: absolute;
	text-align:left;
	padding-top:4px;
	padding-bottom:4px;
        line-height:130%;
        left: 10%;
	width: 80%;
	display: inline-block;
	font-size: 13px;
}

}
/*----------------------------------------------
	共通書式
---------------------------------------------*/
.red    { color:#ff0000; }
.blue   { color:#0000ff; }
.orange { color:#ff6600; }
.yellow { color:#FFFF00; }
.white  { color:#ffffff; }
.green  { color:#32C102; }
.black  { color:#0080ff; }

/*----------------------------------------------
	メッセージ
---------------------------------------------*/

.topTitle {
	font-size:2.0rem;
 	text-align:center;
	font-weight:bold;
	padding:14px 6px;
}

.top_message {
	font-size: 0.9em;
	padding:4px 0px 16px 84px;
}

dl dd .notice {
	font-size:1.0rem;
	line-height:120%;
}
dl dd .notice_orange {
	font-size:1.0rem;
	line-height:120%;
	color:#ff6600;
}

dl dd .annotation {
	font-size:0.86rem;
	line-height:120%;
	text-indent: 1em;
}
dl dt .confirm {
	font-weight:normal;
}

@media screen and (max-width:768px) {
dl dd .annotation {
	font-size:0.86rem;
	line-height:120%;
	text-indent:1em;
}
}
/*----------------------------------------------
	登録ページ
---------------------------------------------*/
.top_area{
    padding: 0;
    background:#FFFFFF;
}
.middle_area_old{
	margin:0 auto;
/*	width:950px; */
}
.middle_area {
	margin-left:auto;margin-right:auto;
/*	width:950px; */
	width:100vw
	padding: 0rem 2rem 0rem 2rem;
	background:#FFFFFF;
}

@media screen and (min-width:769px) {
    .space_time {
	width:60%;
    }
}
@media screen and (max-width:768px) {
    #content, .middle_area {
	width:100%;
    }
    .top_area {
	width:100%;
 	text-align:center;
    }
    .space_time {
        width:0%;
    }
}


/* 進行バー */
table.progressTable {
    margin : 0 auto;
    width:100%;
    text-align:right;
}
@media screen and (min-width:769px) {
}

.this_time {
    padding-top:3px;
    color:#333;
    font-weight:bold;
    text-align:center;
    font-size:15px;
    vertical-align:middle;
}
.next_step {
    padding-top:3px;
    font-weight:normal;
    text-align:center;
    font-size:12px;
}
.this_time img{
    margin: 5px 0 0 0;
}
@media screen and (max-width:480px) {
.this_time {
    padding-top:2px;
    color:#333;
    font-weight:bold;
    text-align:center;
    font-size:13px;
    vertical-align:top;
    line-height:1.2;
}
}
/*
@media screen and (max-width:300px) {
.this_time {
    padding-top:2px;
    color:#333;
    text-align:center;
    font-size:12px;
    vertical-align:top;
    line-height:1.2;
}
}
*/
.red_arrow { color:#ff0000;font-size:17px;}

.mt05{
	margin-top:1rem;
	padding-left:10px;
	color:#333;
}

.title_form { /* 2025/10/22 Fujita追加 */
	font-size: 2.2em;
	border-bottom-width: 4px;
	border-bottom-style: solid;
	padding-bottom: 4px;
	display: inline-block;
	margin-top: 30px;
	margin-bottom: 30px;
	line-height: 1.4;
}

.indent {
    margin:4px 0px 6px 76px;
}
.sub_title {
    font-size:1.333rem;
    font-weight:bold;
    margin-left:64px;
    padding:2px 10px;
    border-left:#1d2e56 solid 10px; /* #54B18D */
    border-bottom:dotted 1px rgb(180,180,180);
}
.sub_title_small {
    font-weight:normal;
    color:#ff6600;
}

.requiredOnOff {
	font-size: 57.5%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
	padding: 0px 5px 0px 5px;
	background: #ffffff;
	border-radius: 4px; 
	color:#fff;
}
.required {
	font-size: 57.5%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
	padding: 0px 5px 0px 5px;
	background: #ff78a0;
	border-radius: 4px; 
	color:#fff;
}

.agreement_button {
	font-weight:bold;
	font-size: 1.1em;
}
/* エラー対応 */
.error {
	font-size:small;
	color:#fff;
	width:91%;
	background: #ff2929;
	border-radius: 4px;
}
form#mail_form .error {
	padding-left: 5px;
}

/*----------------------------------------------
	確認画面
---------------------------------------------*/
.confirmMessage {
	color:red;
	text-align:center;
	font-weight:bold;
	padding-bottom:16px;
}
#btnArea {}

@media screen and (max-width:768px) {
    .confirmMessage {
	color:red;
	text-align:left;
	font-weight:bold;
	line-height:1.3;
	padding-left:4px;
	padding-right:4px;
	padding-bottom:16px;
    }
}
#btnArea {
	font-size: 57.5%;
}
}
/*----------------------------------------------
	完了ページ
---------------------------------------------*/
.itemr-complete {
    color: #fff;
    width:26%;
    padding-top:5px; 
    padding-left:8px; 
    background-repeat: no-repeat;
    background-position: left center;
    background-color: #3399CC;
    background-image: url(../images/bg_menu_s01.png);
}

.value {
    padding-top:5px; 
    padding-left:6px;
}

.infoTB {
	border-collapse:separate;
	border-spacing:1px;
}
.completeBox {
	text-align:left;
	width:66%; 
	margin-left:auto;margin-right:auto;
	margin-top:5px;
	margin-bottom:60px;
	padding: 12px 12px 10px 12px;
	background-color: #F5F5F5;

        filter: alpha(opacity=85);
        -moz-opacity:0.85;
        opacity:0.85;
	border-radius: 5px;
}

/*----------------------------------------------
	登録画面 個人情報
---------------------------------------------*/
.abstract_red    { 
	color:#ff0000;
	line-height:1.4;
}
textarea {
	width:80%;
	height:50px;
	padding-left:3px;
}
/*
textarea#policy {
	width:75%;
	height:200px;
}
*/
form#mail_form dl dd .scroll-area {
  overflow: scroll;
  height: 200px;
  border: 1px solid black;
  width: 100%;
}
form#mail_form dl dd .box {
  width: 75%px;
  height: 200px;
  margin: 10px;
  line-height:1.4;
	padding-left:5px;
}

/*----------------------------------------------
	Form input button
---------------------------------------------*/
table td .ex {
	padding-left:6px;
	font-size:0.7rem;
}

form#mail_form input[type="text"] {
	font-size:100%;
	height:1.7em;
	padding: 1px 3px;
	width: 90%; 
	outline:none;
}
form#mail_form input#familyname, 
form#mail_form input#givenname,
form#mail_form input#kana_family, 
form#mail_form input#kana_given {
	width: 20%;
}
form#mail_form input#kaiin_id,
form#mail_form input#amount_total {
	width: 14%;
}

input[type="text"]:hover {
/*	border: 1px solid #0094ff; */
}
input[type="text"]:active {
/*	border: 1px solid #0094ff; */
}

form#mail_form input[type="file"] {
	height:2.2em;
	font-size:1.2em;
}

form#mail_form select {
	height:2.1em;
	font-size:100%;
	outline:none;
}

form#mail_form button,
form#mail_form input[type="button"],
form#mail_form input[type="submit"] {
	cursor:pointer;
	font-size: 1.4em;
	margin-bottom: 20px;
	padding: 6px 20px;	/*ボタン内の余白*/
	border-radius: 6px;	/*角丸のサイズ*/
	background: #D8D6D5; 
	background: -webkit-linear-gradient(#FFF, #D8D6D5); 	/*グラデーション*/
	background: linear-gradient(#FFF, #D8D6D5);			/*同上*/
	font-weight: bold;
/*	font-family: inherit; */
	border: 1px solid #D8D6D5; 
}
/*ボタンのマウスオン時の設定*/
form#mail_form input[type="button"]:hover,
form#mail_form input[type="submit"]:hover {
	background: #FFF; 	/*背景色（古いブラウザだとここの色のみが出ます）*/
	background: -webkit-linear-gradient(#D8D6D5, #FFF);	/*グラデーション*/
	background: linear-gradient(#D8D6D5, #FFF);	 		/*同上 e5e5e5 */
	cursor:pointer ; 
}
@media screen and (max-width: 750px){
form#mail_form button,
form#mail_form input[type="button"],
form#mail_form input[type="submit"] {
	padding: 6px 10px;
}
}

/* エラーページ ***************************** */
.errorBox {
	text-align:left;
	width:90%; 
	margin:0 auto;
	margin-top:5px;
	margin-bottom:60px;
	padding: 12px 12px 10px 12px;
	background-color: #F5F5F5;
	font-size: 1.1em;

        filter: alpha(opacity=85);
        -moz-opacity:0.85;
        opacity:0.85;
	border-radius: 5px;
}

.loginbox {
	text-align:left;
	width:66%; 
	margin-left:auto;margin-right:auto;
	margin-top:5px;
	margin-bottom:60px;
	padding: 12px 12px 10px 12px;
	background-color: #F5F5F5;

        filter: alpha(opacity=85);
        -moz-opacity:0.85;
        opacity:0.85;
	border-radius: 5px;
}

/* SP版のみ改行 */
br.sp_br{
   display: none;
}
@media screen and (max-width:768px) {
   br.sp_br {
      display: inherit;
   }
}

/* PC版のみ改行 */
br.pc_br{
   display: inherit;
}
@media screen and (max-width:480px) {
   br.pc_br {
      display: none;
   }
}


/***************************************************************/
/* mac Safari                                              */
/***************************************************************/
form#mail_form dl dd select.province {
	width: 51px;
	height: 30px;
	padding-left: 3px;
}

/* mac Safari */
form#mail_form dl dd select.month,
form#mail_form dl dd select.year {
	width: 55px;
	height: 28px;
	padding-left: 6px;
}

.select-css {
    display: inline-block; width: auto;
    font-size: 0.9em;
	font-family: sans-serif;
	font-weight: 400;
	color: #444;
	line-height: 1.3;
	padding: .6em 1.4em .2em .8em;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
    border: 1px solid #b6b6b6;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
    border-radius: 4px;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #fff;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E'),
	  linear-gradient(to bottom, #ffffff 0%,#e5e5e5 100%);
	background-repeat: no-repeat, repeat;
	background-position: right .7em top 50%, 0 0;
	background-size: .65em auto, 100%;
}
.select-css::-ms-expand {
	display: none;
}
.select-css:hover {
	border-color: #888;
}
.select-css:focus {
	border-color: #aaa;
	box-shadow: 0 0 1px 3px rgba(59, 153, 252, .7);
	box-shadow: 0 0 0 3px -moz-mac-focusring;
	color: #222;
	outline: none;
}
.select-css option {
	font-weight:normal;
}



/*----------------------------------------------
	決済ページ
---------------------------------------------*/
.top_area{
    padding: 0;
    background:#FFFFFF;
}

@media screen and (min-width:769px) {
    .space_time {
	width:60%;
    }
}
@media screen and (max-width:768px) {
    .top_area {
	width:100%;
 	text-align:center;
    }
    .space_time {
        width:0%;
    }
}

.settlement_top_message {
	font-weight:bold;
	text-align:center;
	font-size: 1.1em;
	padding-top:14px;
}
.settlement_button {
	text-align:center;
}
.cardMessage {
	font-weight:bold;
	color:#0000ff;
}
.settlementMessageRed {
	color:#ff0000;
	font-weight:bold;
	font-size: 1.1em;
}

@media screen and ( min-width: 769px ) {
  .settlementMessageRed {
	text-align:center;
  }
}

@media screen and (max-width:768px) {
  .cardMessage {
	line-height:1.2;
}
  .settlementMessageRed {
	line-height:1.2;
  }
}



table.settlement {
    margin : 0 auto;
    width:100%;
	border-collapse:separate;
	border-spacing:1px;
}

form#mail_form input[type="text"].cardnumber,
form#mail_form input[type="text"].ex_short {
    height:1.6em;
	width: 52px;
    padding-left:4px;
}
form#mail_form input[type="password"] {
    height:1.8em;
	width: 60px;
    padding-left:4px;
}
form#mail_form input[type="text"]#holdername {
    height:1.8em;
	width: 240px;
    padding-left:4px;
}

form#mail_form dl dd .MessageBox {  /* Card page */
	font-size: 0.9em;
	line-height: 130%;
	padding-top:3px;
}
form#mail_form dl dd .MessageBoxSmall {  /* Card page */
	font-size: 0.8em;
	line-height: 130%;
	padding-top:3px;
	line-height:1.1;
}
@media screen and ( max-width: 768px ) {
  form#mail_form input[type="text"].cardnumber,
  form#mail_form input[type="text"].ex_short {
	height:1.8em;
	width: 46px;
	padding-left:4px;
  }
}
@media screen and ( max-width: 300px ) {
  form#mail_form input[type="text"].cardnumber,
  form#mail_form input[type="text"].ex_short {
	height:1.8em;
	width: 36px;
	padding-left:4px;
  }
}

/* 決済エラーページ ***************************** */
.settlement_error {
	text-align:center;
	width:400px; 
	margin-left:auto;margin-right:auto;
	margin-top:5px;
	margin-bottom:60px;
	background-color: #F5F5F5;
	padding: 12px 0px 10px 0px;

        filter: alpha(opacity=85);
        -moz-opacity:0.85;
        opacity:0.85;
	border-radius: 5px;
}
.errorTitle {
	text-align:center;
	font-size:18px;
	font-weight: bold;
        color: #ff0000;
	padding-top:14px;
	padding-bottom:10px;
}
.maintenanceBox {
	width:50%;
	margin-left:auto;margin-right:auto;
	margin-top:5px;
	margin-bottom:60px;
	padding: 12px 12px 10px 12px;
        color: #ff0000;
}
.hiduke {
	padding-left:12px;
}
@media screen and ( max-width: 768px ) {
  .maintenanceBox {
	width:69%;
  }
@media screen and ( max-width: 400px ) {
  .maintenanceBox {
	width:76%;
  }
}

