@charset "utf-8";
/* CSS Document */
/*ios でのCSS　リセット*/
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

.catch {
	max-width:1000px;
	width:100%;
	margin:auto;
}
@media screen and (max-width: 900px) {
.catch img {
	width:100% !important;
	max-width: 1000px;
	display: block;
}
.catch {
	width:100%;
}
}
/*ログイン*/
.loginWrap {
	margin:50px 0;
}
@media screen and (max-width: 640px) {
.loginWrap {
	margin:10px 0;
}
}
.loginWrap li {
	display:inline-block;
	vertical-align:top;
	text-align:center;
	border:1px solid #ccc;
}
.loginWrap li h3 {
	margin-bottom:10px;
}
.loginWrap li h3 span {
	display:block;
	font-size:13px;
}
.loginWrap li a {
	display:block;
	background:#e53747;
	color:#fff;
	padding:10px 0;
	font-weight:bold;
}
.loginWrap input[type="text"],.loginWrap input[type="password"] {
	display:inline-block;
	line-height:35px;
	height:35px;
	border:1px solid #B3B3B3;
	padding-left:10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
@media screen and (min-width: 1000px) {
.loginWrap li {
	display:inline-block;
	width:430px;
	padding:20px 10px;
	margin:0 20px;
}
.loginWrap li h3 {
	font-size:20px;
	font-weight:bold;
}
.loginWrap li a {
	margin:0 100px;
}
.loginWrap li dl {
	text-align:left;
	padding:20px 30px;
	background:#eee;
}
.loginWrap li dl dt {
	display:inline-block;
	width:30%;
	padding:10px 0;
	font-weight:bold;
}
.loginWrap li dl dd {
	display:inline-block;
	width:65%;
}
.loginWrap input[type="text"],.loginWrap input[type="password"] {
	display:inline-block;
	line-height:35px;
	height:35px;
	border:1px solid #B3B3B3;
	padding-left:10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
}
@media screen and (min-width: 641px) and (max-width: 999px) {
.loginWrap {
	text-align:center;
}
.loginWrap li {
	display:inline-block;
	width:44%;
	padding:20px 10px;
	margin:0 auto;
}
.loginWrap li h3 {
	font-size:16px;
	font-weight:bold;
}
.loginWrap li a {
	margin:0 30px;
}
.loginWrap li dl {
	text-align:left;
	padding:20px 30px;
	background:#eee;
}
.loginWrap li dl dt {
	display:inline-block;
	width:30%;
	padding:10px 0;
	font-weight:bold;
}
.loginWrap li dl dd {
	display:inline-block;
	width:65%;
}
.loginWrap input[type="text"],.loginWrap input[type="password"] {
	display:inline-block;
	line-height:35px;
	height:35px;
	border:1px solid #B3B3B3;
	padding-left:10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
}
@media screen and (max-width: 640px) {
.loginWrap {
	text-align:center;
}
.loginWrap li {
	display:block;
	width:80%;
	padding:20px 10px;
	margin:0 auto 20px;
}
.loginWrap li h3 {
	font-size:16px;
	font-weight:bold;
}
.loginWrap li a {
	margin:0 30px;
}
.loginWrap li dl {
	text-align:left;
	padding:10px;
	background:#eee;
}
.loginWrap li dl dt {
	display:inline-block;
	width:25%;
	padding:10px 0;
	font-weight:bold;
	font-size:12px;
}
.loginWrap li dl dd {
	display:inline-block;
	width:70%;
}
.loginWrap input[type="text"],.loginWrap input[type="password"] {
	display:inline-block;
	line-height:35px;
	height:35px;
	border:1px solid #B3B3B3;
	padding-left:10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	width:100%;
}
}
/*
*/
.menu {
    width:100%;
    margin:30px auto 0;
	text-align:center;
}
.menu:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
} 
.menu li {
    width:200px;
	display:inline-block;
    text-align:center;
    margin:10px;
	position:relative;
}
.menu li a {
    display:block;
    padding:60px 0;
    background:#F2F2F2;
    border:2px solid #CCCCCC;
    border-radius: 5px;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
	font-weight:bold;
    color:#666;
	font-size:18px;
}
.menu li.active a {
    border:2px solid #ff0000;
    color:#ff0000;
}
.menu li.active span {
	display:block;
	position:absolute;
	bottom:10px;
    color:#ff0000;
	width:100%;
}
.menu li a:hover {
    border:2px solid #F15A24;
}
.menu li i {
    display:block;
    font-size:50px;
}
.menu li.not {
	width:200px;
	display:inline-block;
	text-align:center;
	margin:10px;
	position:relative;
	padding:60px 0;
	background:#ccc;
	border:2px solid #CCCCCC;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	font-weight:bold;
	color:#666;
	font-size:18px;
}
.menu li.not span {
	display:block;
	position:absolute;
	bottom:10px;
	width:100%;
	font-size:14px;
}
.logout {
    display:block;
    width:220px;
    border:2px solid #fff;
    text-align:center;
    background: #e2635d;
    background: -moz-linear-gradient(top,  #e2635d 0%, #ca3c38 100%);
    background: -webkit-linear-gradient(top,  #e2635d 0%,#ca3c38 100%);
    background: linear-gradient(to bottom,  #e2635d 0%,#ca3c38 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e2635d', endColorstr='#ca3c38',GradientType=0 );
    border-radius:3px;
    -moz-border-radius:3px;
    -webkit-border-radius:3px;
	font-weight:bold;
    font-size:16px;
    color:#fff;
    padding:20px 0;
    margin:30px auto 20px;
}
@media screen and (max-width: 640px) {
.menu li {
    width:130px !important;
}
.menu li i {
	font-size:30px;
}
.menu li a {
	display:block;
	padding:30px 0;
	font-size:14px;
}
.menu li.not {
	padding:30px 0;
	font-size:14px;
}
}
/*--------------------
      form 本体
------------------*/

#form_1 table {
	width:100%;
	max-width:800px;
	margin:20px auto 40px;
	background:#fff;
	padding:30px;
}
#form_1 table tr {
	border-bottom:1px solid #ccc;
}
#form_1 table th {
	position:relative;
}
#form_1 table .must {
	display:block;
	width:60px;
	letter-spacing:4px;
	line-height:20px;
	font-size:14px;
	color:#fff;
	background:#dd272d;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
@media screen and (min-width: 641px) {
#form_1 table .must {
	position:absolute;
	top:41%;
	right:0;
}
}
#form_1 table td {
	padding:20px 10px;
	line-height:30px;
}
#form_1 table td .req {
		background:#FBE2EA;
}
#form_1 table td select {
	height:35px;
	border:1px solid #B3B3B3;
	background:#fff;
}
#form_1 table td textarea {
	width:80%;
	padding:5%;
	height:150px;
}
#form_1 table td span {
	line-height:14px;
	vertical-align:middle;
	font-size:14px;
}
#form_1 table .text1 {
	font-size:14px !important;
	line-height:22px;
	display:block;
	color:#000;
}
#form_1 table th {
	width:260px;
	font-family: "M PLUS 1p";
	text-align:center;
	background:#FAFAFA;
	line-height:26px;
	font-weight:bold;
	padding:40px 0;
}
#form_1 table th a {
	background:#DE1C85;
	color:#fff;
	padding:5px 10px;
}
#form_1 table th button {
	display:block;
	margin:auto;
}
#form_1 table {
	font-size:15px;
}
#form_1 table input[type="text"],#form_1 table input[type="password"] {
	display:inline-block;
	line-height:35px;
	height:35px;
	border:1px solid #B3B3B3;
	padding-left:10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#form_1 table input::placeholder {
	color:#aaa;
}
#form_1 table .up_button {
	background: #000;
	color: #fff;
	font-size: 13px;
	padding:7px 10px;
	border-radius: 4px;
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-top:5px;
}
#form_1 table .up_button:hover {
	background: #333;
}
div.privacy {
	max-width:800px;
	width:80%;
	height:200px;
	overflow-y:scroll;
	border:1px solid #ccc;
	background-color:#fff;
	margin:20px auto 20px;
}
div.privacy p {
	font-size:13px !important;
	line-height:22px !important;
	margin:20px;
}
div.privacy h3 {
	margin:10px 0;
	text-align:center;
}
@media screen and (max-width: 640px) {
#form_1 table th {
	text-align:left;
	width:90%;
	padding:20px 10px 10px;
	display:block;
	background:#fff;
}
#form_1 table .must {
	display:inline-block;
	float:none;
	text-align:center;
	width:60px;
	letter-spacing:4px;
	line-height:20px;
	font-size:14px;
	color:#fff;
	background:#dd272d;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	margin-left:10px;
}
#form_1 table td {
	padding:0 10px 20px;
	line-height:30px;
	display:block;
}
#form_1 table td .req {
	background:#FBE2EA;
}
#form_1 table td select {
	height:35px;
	border:1px solid #B3B3B3;
	background:#fff;
}
#form_1 table td textarea {
	width:90%;
	padding:0 0 0 10px;
	height:100px;
	border:1px solid #B3B3B3;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#form_1 table td span {
	line-height:14px;
	vertical-align:middle;
	font-size:14px;
}
#form_1 table .text1 {
	font-size:14px !important;
	line-height:22px;
	display:block;
	color:#000;
}
#form_1 table th a {
	background:#DE1C85;
	color:#fff;
	padding:5px 10px;
}
#form_1 table th button {
	display:block;
	margin:auto;
}
#form_1 table {
	font-size:15px;
}
#form_1 table input[type="text"],#form_1 table input[type="password"] {
	display:inline-block;
	line-height:35px;
	height:35px;
	border:1px solid #B3B3B3;
	padding-left:10px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
#form_1 table input::placeholder {
	color:#aaa;
}
#form_1 table .up_button {
	background: #000;
	color: #fff;
	font-size: 13px;
	padding:7px 10px;
	border-radius: 4px;
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-top:5px;
}
#form_1 table .up_button:hover {
	background: #333;
}
div.privacy {
	max-width:800px;
	width:90%;
	height:200px;
	overflow-y:scroll;
	border:1px solid #ccc;
	background-color:#fff;
	margin:20px auto 20px;
}
div.privacy p {
	font-size:13px !important;
	line-height:22px !important;
	margin:10px;
}
}
/*--------------------
       横幅
------------------*/
@media screen and (min-width: 641px) {
.w400 {
	width:400px;
	display:inline-block;
}
.w300 {
	width:300px;
	display:inline-block;
}
.w200 {
	width:200px;
	display:inline-block;
}
.w150 {
	width:150px;
	display:inline-block;
}
.w100 {
	width:100px;
	display:inline-block;
}
.w80 {
	width:80px;
	display:inline-block;
}
.w50 {
	width:50px;
	display:inline-block;
}
}
@media screen and (max-width: 640px) {
#form_1 table input[type="text"],#form_1 table input[type="password"] {
	width:90%;
}
}
/*--------------------
       form help
------------------*/
.help {
	display:block;
	padding:3px;
	font-size:14px;
	color:#333;
	line-height:18px !important;
}
.checkLast {
	font-size:17px;
}
.saveButton:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
.saveButton {
	margin:20px auto 50px;
	max-width:900px;
	text-align:center;
}
.saveButton li {
	display:inline-block;
	width:270px;
	margin:0 15px;
	text-align:center;
}
#send {
	border:none;
	cursor:pointer;
	text-align:center;
	display:block;
	width:250px;
	margin:20px auto 0;
	background:#e53747;
	padding:10px 0;
	color:#fff;
	font-size:16px;
	font-weight:bold;
}
#send:hover {
	text-decoration:underline;
}
#back {
	border:none;
	cursor:pointer;
	text-align:center;
	display:block;
	width:250px;
	margin:20px auto 0;
	background:#aaa;
	padding:10px 0;
	color:#fff;
	font-size:16px;
	font-weight:bold;
}
#back:hover {
	background:#C89F62;
}
/*fancy3*/
a.button {
	width:140px;
	margin:10px;
	font-size:14px;
	-moz-border-radius:8px;
	-webkit-border-radius:8px;
	border-radius:8px;
	border:1px solid #dcdcdc;
	padding:10px 6px;
	line-height:16px;
	text-decoration:none;
	background:-moz-linear-gradient( center top, #ededed 5%, #dfdfdf 100% );
	background:-ms-linear-gradient( top, #ededed 5%, #dfdfdf 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ededed', endColorstr='#dfdfdf');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #ededed), color-stop(100%, #dfdfdf) );
	background-color:#ededed;
	color:#0;
	display:block;
	float:left;
	text-align:center !important;
	text-shadow:1px 1px 0px #ffffff;
 	-webkit-box-shadow:inset 1px 1px 0px 0px #ffffff;
 	-moz-box-shadow:inset 1px 1px 0px 0px #ffffff;
 	box-shadow:inset 1px 1px 0px 0px #ffffff;
}.button:hover {
	background:-moz-linear-gradient( center top, #dfdfdf 5%, #ededed 100% );
	background:-ms-linear-gradient( top, #dfdfdf 5%, #ededed 100% );
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#dfdfdf', endColorstr='#ededed');
	background:-webkit-gradient( linear, left top, left bottom, color-stop(5%, #dfdfdf), color-stop(100%, #ededed) );
	background-color:#dfdfdf;
}.button:active {
	position:relative;
	top:1px;
}
.choiceButton {
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border:none;
	cursor:pointer;
	text-align:center;
	display:block;
	width:650px;
	margin:auto;
	background:#F7931E;
	padding:20px 0;
	color:#fff;
	font-size:18px;
}
#form_1 .attention {
	border:1px solid red;
	margin-top:20px;
}
#form_1 .attention p {
	line-height:24px;
	font-family: "Noto Sans JP";
	font-weight:bold;
	font-size:14px;
}
#form_1 .attention span {
	display:block;
	background:red;
	color:#fff;
	padding:5px 10px;
	font-size:16px;
}
#form_1 .seminar_box {
	display:none;
}
#form_1 .catalog_title {
	width:100px;
}
/*セミナー*/
@media screen and (max-width: 700px) {
.seminar {
}
}
.seminar table {
	width:98%;
	margin:20px auto 0;
	min-width:700px;
}
.seminar table th {
	border:1px solid #ccc;
	text-align:center;
	font-size:12px;
	font-weight:bold;
	padding:10px 0;
}
.seminar table th.time {
	width:15%;
}
.seminar table .day {
	background:#e53747;
	color:#fff;
}
.seminar table td {
	border:1px solid #ccc;
	padding:10px;
	font-size:12px;
	width:38%;
	vertical-align:top;
}
.seminar table tr:first-child {
	text-align:center;
}
.seminar table label.checked {
	background:#f7931e;
}
.seminar table label input {
	display:none;
}
.seminar table td.check {
	background:#ffeaa1;
}
.seminar b {
	font-size:14px;
}
.seminar table input[type=checkbox] {
    display: none;
}
.seminar table label {
    box-sizing: border-box;
    cursor: pointer;
	margin-top:5px;
    padding: 2px 0 2px 30px;
    position: relative;
    width: auto;
	display:block;
	line-height:25px;
	color:#FFF;
	font-weight:bold;
	background:#e53747;
}
.seminar table label::before {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 50%;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    margin-top: -8px;
    position: absolute;
    top: 50%;
    width: 16px;
}
.seminar table label::after {
    background: #f7931e;
    border-radius: 50%;
    content: '';
    display: block;
    height: 8px;
    left: 10px;
    margin-top: -3px;
    opacity: 0;
    position: absolute;
    top: 50%;
    width: 8px;
}
.seminar table input[type=checkbox]:checked + label::before {
    border-color: #666;
}
.seminar table input[type=checkbox]:checked + label::after {
    opacity: 1;
}
#form_1 .midashi {
	background: #e53747;
	padding: 10px 0;
	color: #fff;
	font-size: 18px;
	letter-spacing: 3px;
	position: relative;
}
.survey label {
	display: inline-block;
	width: 190px;
	font-size: 14px;
}
.space,
.space th {
	background: #fff;
}
/*==================================================================
  2026 共通フォーム  （2026-07-27 追加）
  .form_table … 全テーブル共通の下地（一覧/確認/入力すべて）
  .form_input … 入力フォーム専用レイアウト（ラベル左・入力右／SPで縦積み）
  ※ .form_input を付けない .form_table（invite一覧・一括入力グリッド等）は
     下地のみ当たり、多カラム表レイアウトを壊さない。
==================================================================*/

/* --- 下地：全 .form_table 共通 --- */
.form_table {
	font-size: 15px;
}
.form_table th,
.form_table td {
	padding: 12px 14px;
	line-height: 1.7;
	vertical-align: middle;
	word-break: break-word;
}
/* .form_table 内の入力欄（一括入力・入力フォーム共通の見た目）*/
.form_table input[type="text"],
.form_table input[type="password"],
.form_table input[type="email"],
.form_table input[type="tel"],
.form_table input[type="url"],
.form_table input[type="number"],
.form_table select,
.form_table textarea {
	font-family: inherit;
	font-size: 16px;             /* iOSの自動ズーム防止のため16px */
	color: #222;
	background: #fff;
	border: 1px solid #b9bdc4;
	border-radius: 6px;          /* フォーム入力欄は角丸OK（使いやすさ優先）*/
	padding: 11px 12px;          /* 高さを出してタップしやすく */
	box-sizing: border-box;
	line-height: 1.4;
	max-width: 100%;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .15s, box-shadow .15s;
}
.form_table select {
	-webkit-appearance: menulist;
	appearance: auto;
	min-height: 46px;
	padding-right: 8px;
}
.form_table textarea {
	width: 100%;
	min-height: 120px;
	line-height: 1.6;
}
.form_table input:focus,
.form_table select:focus,
.form_table textarea:focus {
	outline: none;
	border-color: #e53747;                       /* フォーカスで枠線が赤に */
	box-shadow: 0 0 0 3px rgba(229, 55, 71, .15);
}
.form_table input::placeholder,
.form_table textarea::placeholder {
	color: #8a8f98;                              /* 薄すぎないプレースホルダ */
	opacity: 1;
}

/* --- 必須バッジ（ラベルから分離して視認しやすく）--- */
.must {
	display: inline-block;
	background: #dd272d;
	color: #fff;
	font-size: 12px;
	font-weight: bold;
	line-height: 1;
	padding: 4px 8px;
	margin-left: 8px;
	border-radius: 4px;
	letter-spacing: 1px;
	vertical-align: middle;
	white-space: nowrap;
}

/*==================================================================
  .form_input … 入力フォーム専用（ラベル左・入力右の2カラム）
==================================================================*/
.form_input {
	width: 100%;
	max-width: 760px;
	margin: 24px auto 8px;
	background: #fff;
	border-top: 2px solid #e53747;
}
.form_input th,
.form_input td {
	text-align: left;
	border-bottom: 1px solid #e6e8eb;
}
.form_input th {
	width: 34%;
	min-width: 150px;
	padding: 16px 14px;
	background: #f7f8fa;
	font-weight: bold;
	color: #333;
	vertical-align: middle;
}
.form_input td {
	padding: 14px 14px;
}
/* セクション見出し（<th colspan="2" class="midashi">）*/
.form_input .midashi {
	width: auto;
	background: #e53747;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	letter-spacing: 2px;
	text-align: left;
	padding: 12px 14px;
	border-bottom: none;
}
/* 補足テキスト */
.form_input .help {
	margin-top: 6px;
	color: #555;
}
/* チェックボックス／ラジオ（来場予定日 等）*/
.form_input th label,
.form_input td label {
	display: inline-block;
	margin: 2px 18px 2px 0;
	padding: 6px 4px;
	line-height: 1.6;
	cursor: pointer;
}
.form_input input[type="checkbox"],
.form_input input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-right: 7px;
	vertical-align: -3px;
	accent-color: #e53747;
	cursor: pointer;
}

/* --- 各入力欄の幅（項目に応じて / name属性で指定・HTML非改修）--- */
.form_input input[name="company_name"],
.form_input input[name="address"],
.form_input input[name="url"],
.form_input input[name="mail"],
.form_input input[name="email"],
.form_input input[name="busho"],
.form_input input[name="title"],
.form_input input[name="sei_kana"],
.form_input input[name="mei_kana"] {
	width: 100%;
}
.form_input input[name="password"],
.form_input input[name="password_confirm"] {
	width: 100%;
	max-width: 340px;
}
.form_input input[name="zip"] {
	max-width: 160px;
}
.form_input input[name="tel"],
.form_input input[name="fax"] {
	max-width: 240px;
}
/* 姓／名・セイ／メイ の横並び */
.form_input #name_sei,
.form_input #name_mei,
.form_input #name_sei_kana,
.form_input #name_mei_kana {
	width: 150px;
	max-width: 42vw;
	display: inline-block;
}

/*==================================================================
  属性/登録時アンケート（survey_render.php 出力）
==================================================================*/
.survey_area {
	max-width: 760px;
	margin: 8px auto 0;
}
.survey_sec {
	max-width: 760px;
	margin: 34px auto 6px;
	padding: 10px 14px;
	background: #333;
	color: #fff;
	font-size: 16px;
	font-weight: bold;
	border-radius: 4px;
}
.q_block {
	max-width: 760px;
	margin: 0 auto;
	padding: 16px 4px 18px;
	border-bottom: 1px solid #e6e8eb;
}
.q_block .midashi {
	background: none;
	color: #222;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 0;
	padding: 0 0 8px;
}
.q_block .help {
	margin: 0 0 8px;
	color: #555;
}
.q_group {
	margin: 12px 0 4px;
	color: #e53747;
	font-size: 14px;
	font-weight: bold;
}
.q_block label {
	display: inline-block;
	min-width: 200px;
	margin: 3px 12px 3px 0;
	padding: 6px 8px 6px 4px;
	line-height: 1.5;
	border-radius: 4px;
	cursor: pointer;
}
.q_block label:hover {
	background: #f5f6f8;
}
.q_block input[type="checkbox"],
.q_block input[type="radio"] {
	width: 18px;
	height: 18px;
	margin-right: 7px;
	vertical-align: -3px;
	accent-color: #e53747;
	cursor: pointer;
}
.q_other {
	margin: 8px 0 2px;
}
.q_other input[type="text"] {
	width: 100%;
	max-width: 360px;
}

/*==================================================================
  送信/戻るボタン（.send / .back クラス。id版 #send/#back は別途）
==================================================================*/
.send {
	display: inline-block;
	min-width: 240px;
	margin: 8px auto;
	padding: 15px 30px;
	background: #e53747;
	color: #fff;
	font-size: 17px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .08);
	transition: background .15s;
}
.send:hover {
	background: #cf2f3e;
	color: #fff;
	text-decoration: none;
}
.back {
	display: inline-block;
	min-width: 200px;
	margin: 8px auto;
	padding: 15px 30px;
	background: #8a9099;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	text-decoration: none;
}
.back:hover {
	background: #767d86;
	color: #fff;
	text-decoration: none;
}

/*==================================================================
  スマホ：.form_input のみ縦積み（ラベル上・入力下）
  ※ .form_input を付けない一覧表(.form_table)は縦積みしない
==================================================================*/
@media screen and (max-width: 640px) {
	.form_input,
	.form_input tbody,
	.form_input tr,
	.form_input th,
	.form_input td {
		display: block;
		width: 100%;
		box-sizing: border-box;
	}
	.form_input th {
		padding: 12px 12px 8px;
		border-bottom: none;
	}
	.form_input td {
		padding: 8px 12px 16px;
	}
	.form_input .midashi {
		padding: 12px;
	}
	.form_input #name_sei,
	.form_input #name_mei,
	.form_input #name_sei_kana,
	.form_input #name_mei_kana {
		width: 45%;
	}
	.send,
	.back {
		width: 100%;
		min-width: 0;
		box-sizing: border-box;
	}
}

/* id版ボタン(#send/#back)も .send/.back と見た目を統一（2026-07-27）*/
#send,
a#send {
	width: 260px;
	padding: 15px 0;
	font-size: 17px;
	border-radius: 6px;
	text-decoration: none;
	box-shadow: 0 2px 0 rgba(0, 0, 0, .08);
}
#send:hover {
	background: #cf2f3e;
	text-decoration: none;
}
#back {
	width: 260px;
	padding: 15px 0;
	font-size: 15px;
	background: #8a9099;
	border-radius: 6px;
}
#back:hover {
	background: #767d86;
}
@media screen and (max-width: 640px) {
	#send,
	a#send,
	#back {
		width: 100%;
		box-sizing: border-box;
	}
}

/*==================================================================
  追加調整 2026-07-27
==================================================================*/

/* --- 姓名／フリガナ：ラベル+入力を1組にして横1行に揃える --- */
.form_input .name_cols .nc {
	display: inline-block;
	white-space: nowrap;   /* 「姓 [入力]」を分割させない（組ごと折返し）*/
	margin: 2px 14px 2px 0;
	vertical-align: top;
}
.form_input .name_cols .lb {
	display: inline-block;
	width: 2.8em;          /* 姓/名 と セイ/メイ で入力開始位置を揃える */
}
.form_input .name_cols .help {
	display: block;
	white-space: normal;
	margin-top: 6px;
}

/* --- アンケートの入力欄（.form_table外のため個別に高さ・枠を付与）--- */
/* 「その他」自由入力欄などを本体の入力欄と同じ高さ・角丸に揃える（点4）*/
.survey_area input[type="text"],
.q_other input[type="text"] {
	font-family: inherit;
	font-size: 16px;
	color: #222;
	background: #fff;
	border: 1px solid #b9bdc4;
	border-radius: 6px;
	padding: 11px 12px;
	box-sizing: border-box;
	line-height: 1.4;
	-webkit-appearance: none;
	appearance: none;
	transition: border-color .15s, box-shadow .15s;
}
.survey_area input[type="text"]:focus,
.q_other input[type="text"]:focus {
	outline: none;
	border-color: #e53747;
	box-shadow: 0 0 0 3px rgba(229, 55, 71, .15);
}
.survey_area input::placeholder,
.q_other input::placeholder {
	color: #8a8f98;
	opacity: 1;
}

@media screen and (max-width: 640px) {
	/* スマホ：姓名/フリガナは「ラベル＋入力」を1行にして各組を縦に積む
	   （ラベルと入力欄が別行に割れる崩れを防ぐ）*/
	.form_input .name_cols .nc {
		display: flex;
		align-items: center;
		white-space: normal;
		margin: 6px 0;
	}
	.form_input .name_cols .lb {
		flex: 0 0 2.8em;
		width: 2.8em;
	}
	.form_input .name_cols .nc input {
		flex: 1 1 auto;
		width: auto !important;
		max-width: none;
		min-width: 0;
	}
	.form_input .name_cols .help {
		flex-basis: 100%;
	}
}

/* --- 住所3分割（2026-07-27）--- */
.form_input select[name="pref"] {
	min-width: 180px;
}
.form_input input[name="address_city"],
.form_input input[name="address_bldg"] {
	width: 100%;
}

/*==================================================================
  招待（invite）: 1人=1ブロック（カード）  2026-07-27
==================================================================*/
#invite_blocks {
	max-width: 760px;
	margin: 0 auto;
}
.invite_block {
	position: relative;
	border: 1px solid #d7dade;
	border-radius: 8px;
	background: #fff;
	padding: 14px 16px 16px;
	margin: 0 auto 14px;
}
.invite_block .ib_head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 10px;
}
.invite_block .ib_no {
	font-size: 13px;
	font-weight: bold;
	color: #8a8f98;
}
.invite_block .ib_del {
	border: none;
	background: #8a9099;
	color: #fff;
	font-size: 13px;
	font-weight: bold;
	padding: 6px 14px;
	border-radius: 6px;
	line-height: 1.3;
	cursor: pointer;
}
.invite_block .ib_del:hover {
	background: #767d86;
}
/* PC: 2列（姓・名／セイ・メイ／メール=全幅）*/
.invite_block .ib_grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px 14px;
}
.invite_block .ib_field {
	display: block;
}
.invite_block .ib_field.ib_full {
	grid-column: 1 / -1;
}
.invite_block .ib_label {
	display: block;
	font-size: 13px;
	font-weight: bold;
	color: #555;
	margin-bottom: 4px;
}
/* ブロック内の小見出し（会社情報／招待する方 を区切る） */
.invite_block .ib_clabel {
	margin: 12px 0 8px;
	padding-top: 10px;
	border-top: 1px dashed #d7dade;
	font-size: 12px;
	font-weight: bold;
	color: #e53747;
}
.invite_block .ib_clabel_first {
	margin-top: 2px;
	padding-top: 0;
	border-top: none;
}
/* 入力欄は application と同じ見た目（角丸・高め）*/
.invite_block input[type="text"],
.invite_block select {
	width: 100%;
	box-sizing: border-box;
	font-family: inherit;
	font-size: 16px;
	color: #222;
	background: #fff;
	border: 1px solid #b9bdc4;
	border-radius: 6px;
	padding: 11px 12px;
	line-height: 1.4;
	transition: border-color .15s, box-shadow .15s;
}
.invite_block input[type="text"] {
	-webkit-appearance: none;
	appearance: none;
}
.invite_block select {
	min-height: 46px;
	-webkit-appearance: menulist;
	appearance: auto;
}
.invite_block input[type="text"]:focus,
.invite_block select:focus {
	outline: none;
	border-color: #e53747;
	box-shadow: 0 0 0 3px rgba(229, 55, 71, .15);
}
.invite_block input::placeholder {
	color: #8a8f98;
	opacity: 1;
}
/* 「＋ 人を追加」ボタン（緑CTA）*/
.ib_add {
	display: inline-block;
	border: none;
	background: #3fa535;
	color: #fff;
	font-size: 15px;
	font-weight: bold;
	padding: 12px 22px;
	border-radius: 6px;
	line-height: 1.3;
	cursor: pointer;
}
.ib_add:hover {
	background: #358f2c;
}
/* スマホ: 1列に素直に縦積み */
@media screen and (max-width: 640px) {
	.invite_block .ib_grid {
		grid-template-columns: 1fr;
	}
}

/* データ表（.data_table）＋ 状態バッジ（.badge_*）＋ 成否セル（.cell-ok/.cell-ng）は
   common.css に共通化して移動（招待一覧・送信結果など複数ページで再利用）。 */

/* セミナー選択テーブル（seminar/index.php）：長い講座名の折返し・スマホ縦積み */
.sem_pick th { vertical-align: top; }
.sem_pick td { overflow-wrap: anywhere; word-break: break-word; }
@media screen and (max-width: 640px) {
	/* 参加/残席の th を全幅にし、時間+講座名の td を下段に（inline width:130px を上書き）*/
	.sem_pick th { width: 100% !important; padding-bottom: 4px; border-bottom: none; }
	.sem_pick td { padding-top: 4px; }
	.sem_pick th label { margin-right: 12px; }
}
