@charset "utf-8";

/**
 *	-----------------
 *	modaal
 */
.modaal-container .title {
	font-size: x-large;
	position: relative;
	margin-bottom: 1em;
	font-weight:bold;
	margin-bottom: 2em;
}
.modaal-container .title:after {
	content: '';
	position: absolute;
	bottom: -15px;
	display: inline-block;
	width: 60px;
	height: 5px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	background-color: #274f6f;
	border-radius: 2px;
}

.modaal-container .title-sub {
	font-size:medium;
}
.modaal-container .title-sub span {
	background: linear-gradient(transparent 50%, #fff8a7 50%);
	font-size: x-large;
	line-height: 2em;
}

.modaal-container .center {
	text-align: center;
}

.modaal-container ul li {
	padding-top:1em;
	padding-bottom:1em;
}

.modaal-container .text-last {
	padding-bottom:2em;
}

.modaal-container .is-agree,
.modaal-container .to-top {
	display: inline-block;
	padding: 0.5em 1em;
	text-decoration: none;
	background: #274f6f;
	color: #FFF;
	border-bottom: solid 1px #aaaaaa;
	border-radius: 4px;
	box-shadow: 0 4px 0 0 rgb(0 0 0 / 11%);
	cursor:pointer;
}

.modaal-container .to-top {
/*	margin-top: 3em;*/
}

.modaal-container .is-agree:active,
.modaal-container .to-top:active {
	-webkit-transform: translateY(4px);
	transform: translateY(4px);
	border-bottom: none;
}

.modaal-overlay, .modaal-wrapper {
	z-index:10000;
}

.modaal-wrapper {
	z-index:10001;
}
/**
 *	modaal
 *	-----------------
 */

/**
 *	-----------------
 *	IE
 */
.is-not-ie,
.is-ie {
	display:none;
}

.is-not-ie.is-show {
	display:block;
}

.is-ie.is-show {
	display:block;
}
/**
 *	IE
 *	-----------------
 */

/**
 *	-----------------
 *	cloudflare
 */
.cf-turnstile {
	text-align: center;
}
/**
 *	cloudflare
 *	-----------------
 */

/**
 *	-----------------
 *	attention
 */
.online-wrap .attention.input {
	border: 10px double #b71b1b;
	box-sizing: border-box;
	padding: 1em;
	max-width: 840px;
	width: 100%;
	margin: 2em auto;
}
/**
 *	attention
 *	-----------------
 */



/**
 *	-----------------
 *	header,footer
 */
.front #header,
.front #footer,
.front #main-lead,
.front #breadcrumbs {
	display:none;
}
/**
 *	header,footer
 *	-----------------
 */

/**
 *	-----------------
 *	button
 */
.training-apply a.disabled {
	pointer-events: none;
	color: gray;
	text-decoration: none;
	cursor: default;
	background-color:#eee;
}

.form-box table .btn-add-children,
.form-box table .btn-add-topics-children {
	display: inline-block;
	border: 1px solid #274f6f;
	background-color: #274f6f;
	color: #fff;
}

.form-box table .td-btn .btn-delete-children,
.form-box table .td-btn .btn-delete-topics-children {
	display: none;
	border: 1px solid #464646;
	background-color: #464646;
	color: #ffffff;
}

.form-box table .td-btn .btn-delete-children.is-show-delete-button,
.form-box table .td-btn .btn-delete-topics-children.is-show-delete-button {
	display:inline-block;
}

.form-box table .td-btn .btn-add-children.is-hide-add-button,
.form-box table .td-btn .btn-add-topics-children.is-hide-add-button {
	display:none;
}

.online-wrap .submit-btn-box .btn07 .active {
	background: #ebf2f7;
	color: #274f6f;
}

/**
 *	button
 *	-----------------
 */

/**
 *	-----------------
 *	table
 */


/**
 *	table
 *	-----------------
 */


/**
 *	-----------------
 *	input,textarea等のform要素
 */
textarea,
input[type=text],
input[type=number],
input[type=tel],
input[type=email],
input[type=url],
input[type=time],
input[type=date] {
	width: 100%;
	font-size: 14px;
	margin: 0;
	padding: 10px;
	border: 1px solid #dddddd;
	box-sizing: border-box;
}

input[type=time],
input[type=date],
input[type=tel],
input[type=number] {
	width:10em;
}

textarea {
	height: 7em;
}
input[type=number] {
	text-align: right;
}

.input-wrap-price{
	position: relative;
}

.input-wrap-price::after {
	content: "円";
	position: absolute;
	top: 6px;
	left: 160px;
}

input[type=checkbox] {
	display:inline-block;
}

label {
	display:inline-block;
	margin-left:1em;
}
[data-js~="t__request_type"] label {
	display:block;
}
[data-js~="t__inquiry_tel"] label,
[data-js~="t__inquiry_fax"] label,
[data-js~="t__inquiry_mailaddress"] label {
	display: block;
	margin-top: 1em;
}
[data-js~="t__has_cooperating"] label,
[data-js~="t__has_patronage"] label,
[data-js~="t__has_sponsorship"] label {
	margin-bottom: 1em;
}


.form-box table tbody :is(input[type="checkbox"],
input[type="radio"]).css-disabled:not(:disabled) {
	filter: grayscale(1);
}

.form-box table tbody input.css-disabled:not(:disabled) {
	pointer-events: none;
	user-select: none;
	cursor: not-allowed;
	background-color: #efefef !important;
	border: 1px solid #efefef !important;
	color: #666;
	opacity: 1;
	outline: none;
}
.form-box table tbody select.css-disabled:not(:disabled) {
	pointer-events: none !important;
	user-select: none !important;
	cursor: not-allowed !important;
	background-image: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-color: #efefef !important;
	border: 1px solid #efefef !important;
	color: #666 !important;
	outline: none !important;
}
.form-box table tbody label.css-disabled {
	opacity: 0.6;
	cursor: not-allowed;
	pointer-events: none;
}

.form-box table tbody label.css-disabled :is(input, textarea, select).css-disabled:not(:disabled) {
	pointer-events: none;
	cursor: not-allowed;
}

textarea.css-disabled {
	-webkit-overflow-scrolling: auto;
}


/* 参考：focus の可視化を一律で抑えたい場合（任意） */
.form-box table tbody :is(input, textarea, select).css-disabled:not(:disabled):focus {
	outline: none;
	box-shadow: none;
}


input[type=checkbox],
input[type=radio] {
	transform: scale(1.5);
	outline: none;
	margin: 0 10px 0 0;
}
input[type=checkbox]:focus-visible,
input[type=radio]:focus-visible {
	outline: 2px solid Highlight;
	outline-offset: 2px;
}

select{
	border: 1px solid #dddddd;
	margin: 0;
	padding: 10px;
}
/**
 *	input,textarea等のform要素
 *	-----------------
 */

/**
 *	-----------------
 *	validation engine
 */
.form-box input.form-input-error {
	border: 1px solid #b71b1b;
	background-color: #fbe1e1;
}

.form-box select.form-input-error {
	border: 1px solid #b71b1b;
	background-color: #fbe1e1;
}

.my-validate-error.inline {
	display:block;
	margin: 2px !important;
	width: 80%;
}

/**
 *	validation engine
 *	-----------------
 */

/**
 *	-----------------
 *	help
 */
.form-body.confirm .list-help {
	display:none;
}
/**
 *	help
 *	-----------------
 */




/*  hamasaki  */

h1{
	text-align: center;
	margin-bottom: 50px;
}

.online-wrap{
	background: #f5f6f6;
	padding: 5px 0;
}

.online-wrap .online-body {
	max-width: 1200px;
	width: 90%;
	margin: 0 auto;
}

.online-wrap .online-body .form-body{
	background: #fff;
	box-sizing: border-box;
	padding: 40px 60px;
	margin: 70px 0;
}

.btn-box,
.flow{
	max-width: 800px;
	margin: 0 auto;
	display: flex;
}

.btn-box{
	margin-bottom: 60px;
}

.btn-box .btn07{
	width: 48%;
}

.btn-box .btn07:first-child{
	margin-right: 4%;
}

.btn-box .btn07 .on {
	background: #274f6f;
	color: #fff;
}

.flow{
	justify-content: center;
}

.flow .box{
	width: 33%;
	text-align: center;
	color: #c1c1c1;
	font-weight: bold;
	font-size: 120%;
	position: relative;
}

.flow .box.on{
	color: #274f6f;
}

.flow .box::after{
	content: '';
	display: inline-block;
	width: 100%;
	height: 3px;
	background-color: #c1c1c1;
	position: absolute;
	top: 0.5em;
	left: 50%;
}

.flow .box.on::after{
	background-color: #274f6f;
}

.flow .box:last-child:after{
	display: none;
}

.flow .box span{
	width: 1em;
	height: 1em;
	display: block;
	border-radius: 50%;
	background-color: #c1c1c1;
	margin: 0 auto 7px;
}

.flow .box.on span{
	background-color: #274f6f;
}

.training-apply .form-body .main-block{
	margin: 30px 0 60px;
}

.training-apply .form-body .main-block h2{
	margin-top: 0;
	padding-left: 15px;
	border-left: 7px solid #274f6f;
	box-sizing: border-box;
	font-size: 120%;
}

.training-apply .form-box .form-body table {
	border-collapse: collapse;
	border-spacing: 0;
	width: 100%;
}

.training-apply .form-box .form-body th,
.training-apply .form-box .form-body td{
	box-sizing: border-box;
	border-style: solid;
	border-width: 1px 0 1px;
	text-align: left;
	padding: 15px;
}

.training-apply .form-box .form-body th{
	background-color: #ebf2f7;
	width: 20%;
	border-color: #274f6f;
	color: #274f6f;
}

.training-apply .form-box .form-body tr .box th {
	font-size: 90%;
}

.training-apply .form-box .form-body tr.required > th::after {
	content: "*";
	color: #b71b1b;
}

.training-apply .form-box .form-body tr.required span.required::before {
	content: "*";
	color: #b71b1b;
	font-weight: bold;
}

.training-apply .form-box .form-body td{
	border-color: #ebf2f7;
}

.training-apply .form-box .form-body td ul{
	margin: 0 0 5px;
}

.training-apply .form-box .form-body td ul li{
	list-style: none;
	position: relative;
	color: #656565;
	font-weight: bold;
	font-size: 95%;
}

.training-apply .form-box .form-body td ul li.caution, 
.training-apply .form-box .form-body ul li.caution {
	color: #b71b1b;
	font-weight: bold;
}

.training-apply .form-box .form-body td ul li::before{
	content: '・';
	display: inline-block;
	position: absolute;
	left: -1em;
}

.training-apply .form-box .form-body table.children.top-child{
	border-bottom: 1px solid #c1c1c1;
	margin-bottom: 2em;
}

.training-apply .form-box .form-body table.children.top-child tr:last-child td{
	margin-bottom: 2em;
}

.training-apply .form-box .form-body table.children th,
.training-apply .form-box .form-body table.children td{
	display: block;
	border: none;
	background-color: transparent;
	padding: 0;
}

.training-apply .form-box .form-body table.children th{
	color: #000;
	margin-bottom: 10px;
	width: 100%;
}

.training-apply .form-box .form-body .box-topics table.children tr:last-child td{
	margin-bottom: 0;
}

.training-apply .form-box .box-topics table.children {
	margin: 1em 0 0 auto;
	border-top: 2px dotted #dddddd;
	border-bottom: none;
	width: calc(100% - 1em);
}

.training-apply .form-box .form-body .box-topics table.children:first-child{
	border: none;
    margin-top: 0;
}

.training-apply .form-box .form-body .box-topics table.children:nth-of-type(n+2) th{
	margin: 10px 0;
}

.training-apply .form-box .td-btn {
	margin-top: 1em;
	text-align: right;
}

.training-apply .form-privacy{
	text-align: center;
	margin-bottom: 1em;
}

.flex-btn{
	display: flex;
	justify-content: center;
}

.submit-btn-box{
	max-width: 242px;
	margin: 0 auto;
}

.flex-btn .submit-btn-box{
	margin: 0 5px;
	width: 100%;
}

.form-common .submit-btn-box{
	max-width: 445px;
}

@media (max-width: 576px) {

	h1{
		margin-bottom: 30px;
	}

	.online-wrap{
		padding: 35px 0;
	}

	.btn-box{
		margin-bottom: 40px;
	}

	.btn07 a{
		text-align: left;
	}

	.online-wrap .online-body .form-body{
		padding: 10px 20px;
		margin: 40px 0;
	}

	.training-apply .form-body .main-block{
		margin: 15px 0 40px;
	}

	.training-apply .form-box .form-body th,
	.training-apply .form-box .form-body td {
		display: block;
		width: 100%;
		padding: 8px;
	}
}


.sample {
	padding: 1em;
	margin-bottom: 1em;
	display: inline-block;
	border: 1px solid  #e3dada;
}

/* 2つ目以降の .sample を非表示にする */
.fee-block tbody tr:has(.sample) ~ tr .sample {
	display: none;
}


[data-js~="tf__0__name"] input[type=text] {
	width: 24em;
}

[data-js~="tf__0__name"] .input-wrap {
	margin-bottom: 1em;
	display: inline-block;
}
