@charset "utf-8";


.grecaptcha-badge { 
	visibility: hidden;
}

.ui-datepicker-calendar .day-sunday > a,
.ui-datepicker-calendar .day-holiday > a {
  background: #ffc0c0;
}
.ui-datepicker-calendar .day-saturday > a {
  background: #c0d0ff;
}

@media print, screen and (min-width: 769px) {
	#wrapper {
		min-width: 1080px;
	}
}

/*=============================================

	上部タイトル

==============================================*/
.top_title {
	padding: 4em 0 3em;
	background-color: #f2f2f2;
}
.top_title .title_en {
    font-size: max(10vw, 24px);
    color: #003461;
    text-align: center;
    margin-bottom: 0.3em;
    line-height: 1;
}
.top_title .title_jp {
    font-size: max(4vw, 16px);
    color: #003461;
    text-align: center;
}
.top_title .lead {
    font-size: max(4vw, 12px);
    text-align: left;
    margin:3em 0 2em;
}
.top_title ul {
	display: flex;
	gap:10px;
	justify-content: center;
	width:100%;
	max-width: 740px;
	margin:0 auto;
}
.top_title ul li {
	width:100%;
	font-family: "Noto Serif JP", serif;
}
.top_title ul li a {
	display: block;
	width:100%;
	text-align: center;
	border:solid 1px #000;
	color:#000;
	position: relative;
	padding:0.7em 5% 0.7em;
	font-size: max(4vw, 12px);
}
.top_title ul li a.arrow_right::after {
	top:calc(50% - 4px);
	right:12px;
}
.top_title ul li a.arrow_under::after {
	content:"";
	width:6px;
	height:6px;
	border-right:solid 1px #003461;
	border-bottom:solid 1px #003461;
	transform:rotate(45deg);
	position: absolute;
	top:calc(50% - 4px);
	right:12px;
}


@media print, screen and (min-width: 769px) {
	.top_title {
		padding: 6em 0 4em;
	}
	.top_title .title_en {
	    font-size: max(5vw, 32px);
	    margin-bottom: 0.3em;
	}
	.top_title .title_jp {
	    font-size: max(2vw, 18px);
	}
	.top_title .lead,
	.top_title ul li a {
	    font-size: max(1.2vw, 14px);
	    text-align: center;
	}
	.top_title ul li a.arrow_right::after,
	.top_title ul li a.arrow_under::after {
		right:20px;
	}
}
@media print, screen and (min-width: 1281px) {


}


/*=============================================

	フォーム

==============================================*/
#form,
#tel_list {
	background: #F2F2F2;
}

#form {
	padding:0 0 5em 0;
}

#form .container,
#tel_list .container {
	background: #FFF;
	max-width:970px;
	padding:3em;
}

@media print, screen and (min-width: 769px) {
	#form,
	#tel_list {
		padding:0 0 100px 0;
	}

	#form .container {
		padding:3em 7% 100px;
		min-width:0;
	}
}
@media print, screen and (min-width: 1281px) {
	#form .container {
		padding:3em 115px 100px;
		min-width:0;
	}
}

main form,
#tel_list {
	font-family: "Noto Serif JP", serif;
}

main form > p.note {
	text-align: right;
}

main form dl {
	margin-bottom: 1.8em;
}

main form dl + p {
	background: #003461;
	color:#FFF;
	padding:8px 16px;
	margin:3em 0 1.5em;
}

main form p.err {
	color:#EE4455;
	font-weight:bold;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", sans-serif;
}

main form dl dt span {
	display: inline-block;
	margin-left:0.5em;
}

main form dl dt p.note {
	display: inline;
}

main form dl dd ul {
	display: flex;
	gap:0.7em 2em;
	flex-wrap: wrap;
	margin-top:0.5em;
}

main form select {
	width:100%;
	max-width: 100%;
	box-sizing: border-box;
	background: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e") no-repeat right 8px center #F2F2F2;
	background-size: 20px;
	border:none;
}

main form input[type="radio"],
main form input[type="checkbox"] {
	width:0;
	margin:0;
	padding:0;
	/*-webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;*/
}

main form input[type="radio"] + label,
main form input[type="checkbox"] + label {
	position: relative;
	display: inline-block;
	padding: 0 0 0 20px !important;
}

main form input[type="radio"] + label:hover,
main form input[type="checkbox"] + label:hover {
	cursor: pointer;
}

main form input[type="radio"] + label:before {
	content:"";
	width:15px;
	height:15px;
	border:solid 1px #333;
	border-radius: 100%;
	position: absolute;
	top:4px;
	left:0;
}

main form input[type="radio"]:checked + label:after {
	content:"";
	width:9px;
	height:9px;
	background: #333;
	border-radius: 100%;
	position: absolute;
	top:7px;
	left:3px;
}

main form input[type="checkbox"] + label:before {
	content:"";
	width:15px;
	height:15px;
	border:solid 1px #333;
	background: #F2F2F2;
	position: absolute;
	top:4px;
	left:0;
}

main form input[type="checkbox"]:checked + label:before {
	border:solid 1px #333;
	background: #333;
}

main form input[type="checkbox"]:checked + label:after {
	content:"";
	width:5px;
	height:8px;
	border-right:solid 2px #FFF;
	border-bottom:solid 2px #FFF;
	transform:rotate(45deg);
	position: absolute;
	top:6px;
	left:5px;
}

main form input[type="text"] {
	background: #F2F2F2;
	width:100%;
	box-sizing: border-box;
	border:none;
}

main form textarea {
	background: #F2F2F2;
	width:100%;
	box-sizing: border-box;
	border:none;
	min-width:100%;
	max-width: 100%;
}

div.agree_box {
	text-align: center;
	margin:1.5em 0 1em;
}

p.agree_link {
	display: block;
	max-width:25em;
	margin:0 auto 1em;
}

p.agree_link a {
	color:#003461;
	text-decoration: underline;
}

p.agree_link a:hover {
	text-decoration: none;
}

main form button {
    display: block;
    position: relative;
    background-color: #003461;
    color: #FFF;
    text-align: center;
    padding: 0.8em 1em;
    font-size:1.2em;
    width: 100%;
    border: none;
}

main form button::before,
main form button::after {
	content: "";
	width: 6%;
	height: 1px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
main form button::before {
	background-color: #FFF;
	right: 0;	
}
main form button::after {
	background-color: #003461;
	right: -6%;
}

main form button:disabled::after {
	background-color: #CCC;
}

main form button:disabled {
	background: #CCC;
}

#success_message {
	background: #d9e6fb;
    text-align: center;
    color: #0066CC;
    font-weight: 600;
    padding: 0.7em 0;
    font-size: 1.2em;
    margin: 2em 0 1em;
}

#success_message + p {
	margin-bottom:2em;
}

@media print, screen and (min-width: 769px) {
	main form input[type="radio"] + label:before {
		top:5px;
	}
	main form input[type="radio"]:checked + label:after {
		top:8px;
	}
	main form input[type="checkbox"] + label:before {
		width:16px;
		height:16px;
		top:5px;
	}
	main form input[type="checkbox"]:checked + label:after {
		width:6px;
		height:9px;
		top:7px;
	}
	#success_message + p {
		margin-bottom:0;
	}
}



/*=============================================

	電話番号リスト

==============================================*/
#tel_list .container {
	padding:1em 3em;
	min-width: 0;
}

.tel_list_inner {
	text-align: center;
}

.tel_list_inner dl {
	padding:1.4em 0;
	font-family: "Cinzel", "Noto Serif JP",serif;
}

.tel_list_inner dl + dl {
	border-top:dashed 1px #848484;
}

.tel_list_inner dl dt {
	color:#003461;
	font-size:1.3em;
	line-height: 1.4;
}

.tel_list_inner dl dt span {
	font-size:0.7em;
	display: block;
}

.tel_list_inner dl dd a {
	font-size:2.1em;
	display: inline-block;
	line-height: 1.0;
	padding:0.3em 0;
	color:#000;
}

.tel_list_inner dl dd a img {
	display: inline-block;
	width:0.7em;
	margin:0 0.2em 0 0;
}

.tel_list_inner dl dd p {
	font-size:12px;
}

@media print, screen and (min-width: 769px) {
.tel_list_inner {
	text-align: left;
}

.tel_list_inner dl {
    display: flex;
    justify-content: space-between;
    align-items: top;
}

.tel_list_inner dl dt {
	font-size:33px;
	line-height: 1.3;
}

.tel_list_inner dl dt span {
	font-size:15px;
}

.tel_list_inner dl dd {
	display: flex;
	align-items: center;
}

.tel_list_inner dl dd a {
	width:7.5em;
	font-size:41px;
}

.tel_list_inner dl dd a img {
	width:28px;
	margin-right:4px;
}

.tel_list_inner dl dd p {
	width:18.5em;
	font-size:14px;
}