@charset "UTF-8";

/* styleをタグ名で指定 */


h1{
		color:white;
	font-size:1.3em;
}

h2{
	 	color:white;
	margin:0 auto;
	text-align:center;
	font-size:1.3rem;
	height:auto !important;
}

i {
	font-size:2.0rem;
}

.btnShow{

	text-align:center !important;
	margin:auto;
}



a{
 	text-decoration: none;

}
.new{
	display:inline-block;
	margin-right:2px;
	margin-left:2px;
	white-space:nowrap;
}
.new::before{
	font-size:12px;
	color:#fff;
    content: "NEW";
    background-color: crimson;
	padding: 5px 8px;
	
}
header{
	width:auto;
	background-color: #8ACDD7;
	margin:0 auto 0;
	padding:1%;
	text-align:center;
		color:white;
}

header div{
	margin:0 auto;
}

header img{
	width:80%;
	height:auto;
}


.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}

.breadcrumb li:not(:last-of-type)::after {
  content: "»";
  margin: 0 .6em; /* 記号の左右の余白 */
  color: #777; /* 記号の色 */
}



main{
	margin:0 auto;
	text-align:center;
	padding:20px 0px;
}

main div{
	width:90%;
	margin:0 auto;
}

main div img{
	width:98%;
	height:auto;
}
main div table{
	width:98%;
	height:auto;
}

.kairandiv{
	margin-top:5%;
	margin-bottom:5%;
}

.kairandiv p{
	margin:2% 1%;
	font-size:1.2rem;
}

.kairanli{
	text-align:left;
	font-size:1rem;
	margin:1%;
}

.kairanspan{
    display: inline-block;
	width:8rem
	}


section{
	width:100%;
	display:block;
	padding-bottom:10px;
}

section div{
	width:80%;
	height:auto;
	padding:6% 0% 6% 10%;
	font-size:1.1rem;
	margin:4% auto;
	border: 1px solid gray;

	text-align:left;
	vertical-align:middle;
		background:#82A0D8;
	box-shadow: 5px 5px gray;
}

section div ul{
	list-style:none;
	padding:0;
	display:flex;
		color:white;
	flex-direction: row;
	justify-content: space-evenly;
}

section div ul li{
	width:50%;
}

footer{
	width: 100%;
	height: 100px;
	padding:0 auto;
	background-color: #8ACDD7;
	color: white;
	text-align: center;
	_margin:10px auto 0;
	padding-top:10px;
}

footer ul {
	width:92%;
	margin:0 auto;
	padding:2%;
	font-size:0.6rem;
	text-align: center;
}

footer ul li {
	width:24%;
	text-align: center;
	display: inline-block;
}

footer ul li a {
	color: white;
}


.evebtn1{
	display: block;
	width: 90%;
	height:60px;
	line-height:60px;
	max-width:600px;
	padding: 1rem;
	margin:0 auto;
	font-size: 1rem;
	background-color: #007acc;
	color: white;
	border: none;
	cursor: pointer;
	border-radius: 5px;
}

.evebtn2{
	display: block;
	width: 90%;
	height:60px;
	line-height:60px;
	max-width:600px;
	padding: 1rem;
	margin:40px auto 60px;
	font-size: 1.2rem;
	background-color: #4169e1;
	color: white;
	border: none;
	cursor: pointer;
	border-radius: 5px;
}

.nav-list {
	text-align: center;
	padding: 20px 0;
	margin: 0 auto;
}
.nav-list a{
	color:white;

}
.nav-list-item {
	list-style: none;
	display: inline-block;
	margin: 0 20px;
}

.detail_text{
	width:100%;
	margin:0 auto;
	display:block;
}

.detail_text div{
	width:90%;
	margin:4% auto;
	text-align:left;
}


 
.box{
	border: 1px solid #e9bb72;
background:#fff;
height: 200px;
padding: 1%;
overflow: scroll;
}

.box p{
font-size: 1.1em;
margin-left:90px;
text-align:left;
}

.box hr{
border: 1px dotted #d8cfc7;
}

.box p span{
margin-left:-20%;
font-size:0.9em;
color:#bd7800;
padding-right: 10px;
}
.box2{
	border: 1px solid #e9bb72;
background:#fff;
height:auto;
padding: 1%;

}
.box2 p{
font-size: 14px;
margin-left:72px;
text-align:left;
}
.box2 p span{
margin-left:-62px;
font-size:14px;
color:#bd7800;
padding-right: 10px;

}

.btnshow{
	width:auto;
	text-align:center !important;
	margin:auto;
	background:none;
	border:none;
		height:10px;
	border: 0px;
	box-shadow: none;
}
  .last td:last-child {
    border-bottom: solid 1px #ccc;
    width: 100%;
  }
  .tbl-r02 {
	width: 98%;
	margin:0 auto;
  }
  .tbl-r02 th,
  .tbl-r02 td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
.tbl-r02 th {
	width:auto;
	font-size:16px;
  background: #8ACDD7;
  border: solid 1px #ccc;
  color: #fff;

}
.thmonth{
	background:#A3DC9A  !important;
	margin:5% auto 2%;
}
  .tbl-r02 td {
	text-align:left;
}
	.titletr2{
		background:#a2c2e2;
	}
	.titletr2 td{
		padding:2%;

	}
	.titletr3{
			text-align:left;
	}

	
	.thtxt01{
	width:40%;	
	}
	.thtxt02{
	font-size:1.4rem;	
	}	


form {
  max-width: 600px;
  margin: 0 auto;
	padding: 1rem;
	font-size:1rem;
}

.form-group {
	  margin-top: 1rem;
  margin-bottom: 1rem;
}


label {
    display: inline-block;
  margin-bottom: 0.5rem;
}

.radioItem {
  align-items: center;
  column-gap: 4px;
  width: fit-content;
  line-height: 1;
  cursor: pointer;
}

.radioItem:not(:last-of-type) {
  margin-bottom: 16px;
}
.txta {
 display: inline-block;
	width: 100%;
	max-width:400px;
    padding: 0.5em;
    border: 1px solid #999;
    box-sizing: border-box;
    background: #f2f2f2;
    margin: 0.5em 0;
}



	
.radioButton {
  appearance: none;
  position: relative;
  width: 20px;
	height: 20px;
	top:3px;
  border: 1px solid #06b6d4;
  border-radius: 9999px;
  cursor: pointer;
}

.radioButton:checked::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 12px;
  height: 12px;
  margin: auto;
  border-radius: 9999px;
  background-color: #06b6d4;
}

textarea {
  width: 100%;
  padding: 0.75rem;
  font-size: 1rem;
  box-sizing: border-box;
}

button {
  display: block;
  height:60px;
	line-height:60px;
  width: 80%;
	margin:0 auto;
  font-size: 1rem;
  background-color: #007acc;
  color: white;
  border: none;
  cursor: pointer;
  border-radius: 5px;
}



.pagination-3 {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 3px;
    list-style-type: none;
	padding: 0;

}

.pagination-3 a {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 2.8em;
    height: 1.6em;
    border-bottom: 2px solid #fff0D8;
	color:#82A0D8;
    text-decoration: none;
}

.pagination-3 .current a {
    border-bottom: 2px solid #2589d0;
    pointer-events: none;
}
	
	
	/*チャット*/
	.roomdiv{
	width: 90%; 
	margin-top:20px;
	}
.room {
	width: 100%;      /* チャットルームの幅を指定 */
	_padding: 4px;     /* 余白を10pxキープ */
	text-align:left;
}

.chat {
	display: flex;        /* 要素を横並び */
	margin-bottom: 5px;  /* チャット同士に隙間を作る */

}

.chat .mes {
	max-width: 70%;       /* 短いチャットにも対応させるため、widthではなくmax-widthを指定 */
	border-radius: 16px;  /* （あとでも可）角丸を指定 */
	padding: 0.5em;       /* （あとでも可）メッセージの内側に余白 */
}

.room label{
  font-size:18px;
}

#room_result_div {
    overflow-y: auto;
    height: 50vh;
    scrollbar-width: none;
    -ms-overflow-style: none;
	border:1px solid gray;
	background-color:#f5f5f5;
}

#room_result_div::-webkit-scrollbar {
    width: 0;
    height: 0;
}

.texta2{
height:50px;
width:98%;
  font-size:16px;
  margin-bottom:15px;
}

.texta3{
height:150px;
width:98%;
  font-size:16px;
  margin-bottom:15px;
}


/* 相手メッセージのCSS */
.chat.you {
	margin-bottom: 0px;
	flex-direction: column;
	align-items: flex-start;
}

	.chat.you .mes{
	max-width: 40%;
	padding:10px 20px;
  color: #fff;        /* 文字色を白 */
  background: #7ebbdc;   /* 背景を黒 */
  order: 1;
}

.chat.you .date_div {
	order: 2;
	font-size: 0.8em;
	color: #666;
	margin-top: 3px;
	width: 100% !important;
}

/* 自分メッセージのCSS */
.chat.me {
	/*
		flex-direction: row-reverse;  左右の並び順を逆順にする
	*/
	margin-left: auto;
	margin-bottom: 0px;
	flex-direction: column; /* 縦方向のFlexboxに変更 */
	align-items: flex-end;  /* 全体を右寄せにする */
}

.chat.me .mes{
		background: #5AC323;
		padding:10px 20px;
		order: 1;
}
.chat.me .date_div {
	order: 2;
	font-size: 0.8em;
	color: #666;
	margin-top: 3px;
	text-align:right;
	width: 100% !important;
}
	
	
	
/* 登録変更画面 */
	.contact-bg form{
	width:100%;
	max-width: 600px !important;
	margin: 0 auto;
	padding: 0.6rem;
	font-size:1rem;
}

.essential{
	color:red;
	font-size:0.8rem;
	vertical-align: top;
	}
.contact-table{
	width:100%;
	max-width:100%;
}
.contact-table th{
	font-weight:normal;
	font-size:1.2rem;
	white-space: nowrap;
	width: 1px;
	padding-right: 15px;
	vertical-align: middle;
}
.contact-table .input-area {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	display: block;
}




.input-area{
	width:94%;
	padding:4px;
	margin-bottom:5px;
	border-radius:3px;
	border:1px solid #ddd;
}

.table-list th{
	text-align:left !important;
}
.table-list td{
	text-align:left;
	padding: 8px 0;
}
.inp02{
	width:100%;
}

  /* 1. colgroupの幅指定を無効化 */
  .changetbl colgroup {
    display: none;
  }

  /* 2. テーブル要素をブロック要素に変えて縦に並べる */
  .changetbl,
  .changetbl tbody,
  .changetbl tr,
  .changetbl th,
  .changetbl td {
    display: block;
    width: 100% !important;
    box-sizing: border-box;
  }

  /* 3. ヘッダー行（最初のtr）を非表示にする */
  .changetbl tr:first-child {
    display: none;
  }

  /* 4. 各行に余白と境界線をつけて「カード」に見せる */
  .changetbl tr {
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 5px;
    padding: 10px;
    background: #fff;
  }

  /* 5. 各セルに見出しを擬似要素で追加（必要に応じて） */
  .changetbl td, .changetbl th {
    text-align: left;
    padding: 8px 5px;
    border: none;
    border-bottom: 1px dotted #eee;
	position: relative;
  }

  /* 詳細表示（内側のテーブル）の調整 */
  .changetbl td[colspan="5"] {
    padding: 0;
    border: none;
  }

  .changetbl td[colspan="5"] div {
    width: 100% !important; /* インラインスタイルの70%を上書き */
    margin: 10px 0;
  }

  /* data-label 属性を持っている td だけ、左に余白を作る */
  .changetbl td[data-label] {
  	padding-left: 35% !important;
	text-align: left;
	min-height: 2.5em;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	word-break: break-all;
	overflow-wrap: break-word;
  }

  /* data-label 属性を持っている td だけ、擬似要素を表示する */
  .changetbl td[data-label]::before {
    content: attr(data-label);
    position: absolute;
    left: 10px;
	top: 8px;
    width: 30%;
    text-align: left;
    font-weight: bold;
	overflow: hidden;
	text-overflow: ellipsis;
  }

  /* ボタンなどが入る data-label がないセル */
  .changetbl td:not([data-label]) {
    padding: 15px 5px;;    /* 通常の余白に戻す */
    text-align: center; /* 中央寄せにする */
	border-bottom: none;
  }

  /* 6. ボタンを押しやすく大きくする */
  .hensyubtn {
    display: block;      /* ブロック要素にする */
    width: 100%;         /* 横幅いっぱい */
    padding: 12px 0;    /* 上下に余白 */
    margin-top: 5px;
    
    /* 文字中央寄せのためのセット */
    text-align: center;  /* 横方向の中央 */
    line-height: 1;      /* 行高を調整 */
    box-sizing: border-box; /* パディングを含めたサイズ計算 */
  }

  .kairanli a {
    display: flex;
    flex-direction: column; /* 縦並びにする */
    align-items: flex-start;
    padding: 10px;
    text-decoration: none;
    border-bottom: 1px solid #eee;
  }

  .kairanspan {
    width: auto !important; /* 15emを無効化 */
    display: block;
    font-size: 0.85em;      /* 日付を少し小さく */
    color: #666;            /* 日付を少し薄くしてコントラストをつける */
    margin-bottom: 4px;     /* タイトルとの隙間 */
  }

  /* タイトル部分（テスト）の調整 */
  .kairanli {
    list-style: none;
  }

.request_form {
	font-size:1.1em;
}
.bottom_btn1{
	background:#71c2e2;
	height:44px;
	}
.bottom_btn2{
	background:#7ebbdc;
		height:44px;
	}
.bottom_btn3{
	background:#8ab4d6;
		height:44px;
	}
.bottom_btn4{
	background:#97add1;
		height:44px;
	}
.bottom_btn5{
	background:#a4a6cb;
		height:44px;
	}
.bottom_btn6{
	background:#b09fc5;
		height:44px;
	}
.bottom_btn7{
	background:#bd8fb0;
		height:44px;
	}
.bottom_btn8{
	background:#bd98bf;
		height:44px;
	}
.bottom_btn99{
	background:#d882c9;
		height:44px;
	}
.bp01{
	font-size:24px;
	margin-left:-80px;
	margin-top:-12px;
}
.bp012{
	font-size:24px;
	margin-left:-80px;
	margin-top:-30px;
}
.bp02{
	margin-top:-10px;
}

.bottom_btn {
	display:flex;
	align-items:center;
}
.bottom_btn a {
	display:block;
	width:100%;
}
.bottom_btn ul {
	display: flex;
	align-items: center;
}
.bottom_btn ul li:nth-child(1) {
	width:30%;
	display: flex;
}
.bottom_btn ul li:nth-child(2) {
	width:70%;
}
.mob_delete_br {
	display:none;
}

.box p.news_line {
    margin-left: 5px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

.box p.news_line .date_part {
    order: 1 !important;
	margin-left:3px !important;
    flex-basis: 100% !important; /* 日付を1行目に固定 */
    color: #bd7800;
    margin-bottom: 5px;
}

.box p.news_line .title_part {
    order: 2 !important;
    /* ここがポイント：100%にせず、NEWと並べるために inline に戻す */
    display: inline !important;
    margin-left: 10px !important;
    word-break: break-all;
}

.box p.news_line span.new {
    order: 3 !important;
    display: inline-block !important;
    margin-left: 5px !important;
    vertical-align: middle;
}

/* 最後の切り札：タイトルとNEWを2行目に押し込める「見えない壁」 */
.box p.news_line::before {
    content: "";
    order: 2; /* タイトルの直前に配置 */
    flex-basis: 100%; /* これが「日付の後の改行」を保証します */
}

    /* テーブル全体の幅を確保 */
    .contact-table,
    .contact-table tbody {
        display: block !important;
        width: 100% !important;
    }

    /* 行、見出し、セルをすべてブロック要素（1行独占）にする */
    .contact-table tr,
    .contact-table th,
    .contact-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 見出し（ラベル）の調整 */
    .contact-table th {
        text-align: left !important; /* 左寄せに */
        padding: 10px 0 5px 0 !important;
        border: none !important; /* 邪魔な枠線があれば消す */
    }

    /* 入力エリアの調整 */
    .contact-table td {
        padding: 0 0 10px 0 !important;
    }

    /* 会員名などの「姓」「名」が分かれている場合、横に並べたいならここ */
    .contact-table td .input-area {
        width: 100% !important;
        margin-bottom: 5px;
		font-size:1.1em;
    }
