@charset "utf-8";
/* CSS Document */


/*修正*/
html{
	margin-top: 0px !important;
}
img{
	max-width: 100%;
}
tr{
	display: flex;
	flex-direction: column;
	margin-bottom: 10px;
}

/*修正*/

/* common */


.contact_form{
/*	width: calc( 100% - 575px);*/
	width: 375px;
	max-width: 100%;
	box-shadow:5px 5px 5px 0px rgba(0,0,0,.2);
	border: 3px solid #068acc;
	background-color: white;
	border-radius: 15px;
	position: relative;
	top: 15px;
	z-index: 1;
}
.contact_form .contact_head{
	background-color: #068acc;
	padding: 7px 10px;
	border-radius: 5px 5px 0 0;
}
.contact_form form{
	padding: 0 10px 16px 10px;
	border-radius: 15px;
}
.contact_form .attention{
	font-size: 1.2rem;
	color: #068acc;
	padding-bottom: 9px;
}
.contact_form .attention a{
	color: #068acc;
	text-decoration: underline;
}
.contact_form .attention a:hover{
	text-decoration: none;
}
.contact_form dl{
	display: flex;
	flex-wrap: wrap;
	border-top: 1px solid #808080;
}

.contact_form dt{
	font-size: 1.3rem;
	color: #1a1a1a;
	width: calc(100% - 227px);
	max-width: 100%;
	border-bottom: 1px solid #808080;
	line-height: 1.4;
	padding: 16px 0 0;
}
.contact_form dt .hissu{
	color: #FF6414;
	font-size: 1.0rem;
}
.contact_form dd{
	width: 227px;
	max-width: 100%;
	font-size: 1.3rem;
	color: #1a1a1a;
	border-bottom: 1px solid #808080;
	padding: 10px 0 9px;
}
.contact_form dd.area{
	padding: 7px 0 4px;
}
.contact_form dd.area label{
	display: inline-block;
	margin-right: 5px;
}
.contact_form dd.policy{
	padding: 7px 0 13px;
}

.contact_form dd .policy_txt{
	font-size: 1.2rem;
	line-height: 1.67;
	height: 52px;
	width: 100%;
	overflow-y: scroll;
}
.contact_form dd .policy_txt p{
	margin-bottom: 1em;
}
.contact_form dd .policy_txt a{
	color: #1F2B5C;
}

.contact_form dd.graduate{
	padding: 13px 0;
}
.contact_form dd.graduate label{
	display: inline-block;
	margin-right: 15px;
}
.contact_form dd.graduate label input[type="radio"] + span {
	padding-right: 0;
	padding-left: 22px;
}
.contact_form dd.graduate label input[type="radio"] + span::before {
  right: auto;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	border: 1px solid #068acc;
}
.contact_form dd.graduate label input[type="radio"]:checked + span::after {
	background: #068acc;
	right: auto;
	left: 4px;
	top: 6px;
}

.contact_form dt.adj{
	display: flex;
	align-items: center;
	padding: 0;
}
.contact_form p.policy_ttl{
	font-weight: bold;
}
.contact_form dd input{
	padding: 4px 10px;
}
.contact_form dd .policy_ttl{
	font-weight: bold;
}

label input[type="checkbox"] + span{
	padding-left: 3px;
}
label input[type="checkbox"] + span::before,
label input[type="checkbox"] + span::after{
	top: 3px;
}

label input[type="checkbox"]:checked + span::after {
    border: 2px solid #068acc;
    border-width: 0 2px 2px 0;
}

input[type=submit]{
	background-image: url(../images/mv_contact_btn.png);
	width: 360px !important;
	height: 61px;
	display: block;
	margin: auto;
	cursor: pointer;
	font-size: 2.2rem;
	font-weight: bold;
	margin-top: 20px;
	border-radius: 0;
	background-color: transparent;
	max-width: 100%;

}
input[type=submit]:hover{
	opacity: 0.7;
}



/*修正*/
div#trust-form.contact-form table th span{
	font-weight: normal;
}
div#trust-form.contact-form table th{
font-size: 1.3rem;
	color: #1a1a1a;
	width:100%;
    max-width: 100%;
    /* border-bottom: 1px solid #ccc !important; */
    line-height: 1.4;
    /* padding: 16px 0 0; */
    padding: 0px !important;
}
div#trust-form.contact-form table td{
	    /* width: 227px; */
	width: 100%;
    max-width: 100%;
    font-size: 1.3rem;
    color: #1a1a1a;
    /* border-bottom: 1px solid #ccc !important; */
    padding: 2px 0 6px;
	background-color: white !important;
}
form{
	background-color: white !important;
}
div#trust-form.contact-form input[type="radio"] {
    right: auto;
    left: 0;
    top: 2px;
    width: 18px;
    height: 18px;
}


div.privacy{
	width: 100% !important;
}
#confirm-button{
    width: 100%;
    margin:0 auto;
}

.contact-form-finish-message-title {
	font-size: 2rem;
	font-weight: bold;
	color: #009ba7;
	padding: 10px;
	text-align: center;
}
p.contact-form-finish-message {
	font-size: 1.4rem;
    padding: 20px 0;
}

.thanks-message {
    margin: 20px;
    padding: 20px;
    border: 1.5px solid #009ba7;
    border-radius: 10px;
}

.select-type-btn {
  display: block;
  height: 60px;
  border-radius: 30px;
  color: #FFFFFF !important;
  text-align: center;
  background-color: #A2D838;
  font-size: 24px;
  line-height: 60px;
  background-image: url('../../images/circle-arrow-right-solid.svg');
  background-repeat: no-repeat;
  background-position: 19px 19px;
}

/*修正*/




/*------------------- contact ----------------*/
.footer_area #contact{
	padding: 140px 0 0;
}
#contact .sec_subttl{
	color: #fff;
	/* margin-bottom: 120px; */
}


@media only screen and (min-width: 769px) {

#contact .contact_form{
	width: 490px;
	max-width: 100%;
	margin: auto;
	box-shadow: none;
	border-color: #068acc;
}
#contact .contact_form form {
    padding: 4px 8px 30px;
}

#contact .contact_form .attention{
	font-size: 1.4rem;
	text-align: center;
	padding-bottom: 24px;
	color: #1a1a1a;
}
#contact .contact_form .attention span{
	color: #068acc;
}
#contact .contact_form .contact_head {
	border-radius: 5px 5px 0 0;
  padding: 16px 10px;
}
div#trust-form.contact-form table th,
div#trust-form.contact-form table td{
	font-size: 1.4rem;
}
div#trust-form.contact-form table td.area{
	font-size: 1.6rem;
}
div#trust-form.contact-form table th{
	width: 157px;
	padding: 22px 0 0;
}
div#trust-form.contact-form table th.adj{
	padding-top: 0;
}
div#trust-form.contact-form table td{
	/* width: calc( 100% - 173px); */
	/* padding: 15px 0 15px; */
}
div#trust-form.contact-form table th:last-of-type,
div#trust-form.contact-form table td:last-of-type{
	border-bottom: none;
}
#contact .contact_form dd.area label{
	width: 91px;
}
#contact .contact_form dd .policy_txt{
	background-color: #fff;
	padding: 5px;
	height: 65px;
}
#contact label input[type="checkbox"] + span::before,
#contact label input[type="checkbox"] + span::after{
	top: 6px;
}

#contact .contact_form dd.graduate {
    padding: 17px 0 16px;
}
#contact .contact_form dd.graduate label input[type="radio"] + span::before{
	top: 4px;
}
#contact .contact_form dd.graduate label input[type="radio"]:checked + span::after{
	top: 8px;
}

}




.thanks .contact_form{
	height: 625px;

}
.thanks .contact_form p{
	font-size: 2.4rem;
	font-weight: bold;
	color: #FF0000;
	padding: 128px 0 0 22px;
}
.thanks .contact_form a{
	display: block;
	background-image: url(../images/mv_contact_btn.png);
	color: #fff;
	width: 361px;
	height: 61px;
	margin: auto;
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	padding-top: 10px;
	margin-top: 370px;
	max-width: 100%;
}

.thanks .contact_form a:hover{
	text-decoration: none;
	opacity: 0.7;
}


/*修正*/
/*------------------- 768 ------------------*/



	.contact_form .attention{
		font-size: 1rem;
	}
	.contact_form dt{
		font-size: 1.2rem;
		width: 125px;
	}
	.contact_form dd{
		font-size: 1.2rem;
		width: calc( 100% - 125px);
		padding: 8px 0;
	}
	.contact_form dd input{
		font-size: 1.6rem;
		padding: 2px 10px;
	}
	.contact_form dd input::placeholder {
		font-size: 1.2rem;
	}
	.iphone .contact_form dd input::placeholder {
		position: relative;
		top: 3px;
	}
	input[type=button], input[type=submit]{
		padding: 0;
	}
	input[type=submit]{
		font-size: 1.9rem;
		background-size: 100% 100%;
		height: 52px;
	}
	div.privacy{
		width:80% !important;
	}
	.mv_bottom {
    width: 100vw;
		position: absolute;
		right: -3.3%;
		bottom: 0;
		padding: 0;
		/* height: 17.7vw; */
	}
	.mv_bottom .wrap{
		width: 100%;
		height: 100%;
		/* display: flex; */
		justify-content: center;
		align-items: center;
		padding: 0 5%;
	}

	
	#confirm-button{
		width:100%;
	}

	div#trust-form.contact-form table td{
		width:100%;
	}
	.footer_area{
		/* background-image: url(../images/contact_bg_sp.jpg); */
		background-position: top;
		background-size: cover;
		background-repeat: no-repeat;
	}
	.footer_area #contact{
		padding: 40px 0 0;
	}
	#contact .sec_subttl {
    margin-bottom: 35px;
	}
	#contact h2 img{
		width: 215px;
	}
	#contact .contact_form{
		border-radius: 9px;
		border: 2px solid #068acc;
	}
	#contact .contact_form .contact_head {
		border-radius: 5px 5px 0 0;
		padding: 10px 10px;
	}

	.thanks .contact_form{
		padding: 0 15px;
		height: 550px;
		position: relative;
	}
	.thanks .contact_form p{
		font-size: 2.0rem;
		padding-left: 0;
	}
	.thanks .contact_form a{
		margin-top: 0;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 18px;
		width:90%;
		max-width: 315px;
		background-size: 100% 100%;

	}

/*------------------- 425 ------------------*/

/* Trust Form 完了画面 */
.trust_form_complete {
	margin: 5px 20px;
	padding: 35px 20px;
	border: 1px solid #63A8BE;
	border-radius: 7px;
	background-color: #FFFFFF;
  }
  .trust_form_complete h3 {
	font-size: 18px;
	font-weight: bold;
	display: block;
	text-align: center;
	color: #4591AF;
	margin-bottom: 35px;
  }
  .trust_form_complete p {
	font-size: 14px;
	margin-bottom: 35px;
  }
  .trust_form_complete p span {
	color: #CE3026;
	font-weight: bold;
  }
  .trust_form_complete a {
	display: block;
	height: 60px;
	border-radius: 30px;
	color: #FFFFFF;
	text-align: center;
	background-color: #EC8B34;
	font-size: 24px;
	line-height: 60px;
	background-image: url('../../images/circle-arrow-right-solid.svg');
	background-repeat: no-repeat;
	background-position: 19px 19px;
  }
  .trust_form_complete a:hover {
	background-color: #E40E13;
  }

  /* 利用規約の同意を非表示 */
  #trust-form form table tr:nth-child(7) {
    display: none;
  }

/* Checkboxのカスタムスタイル */
input[type="checkbox"] {
    width: 15px;
    height: 15px;
    background-color: #EEE;
    position: inherit;
    opacity: 1;
}

input[type="checkbox"]:checked {
    background-color: #2196F3;
}

.checkbox {
    text-align: center;
	font-size: 14px;
	margin-bottom: 15px;
}

.checkbox a {
	color: #007bff;
}

p {
    /* margin-bottom: auto !important; */
}

h2 {
    font-size: 1.5em !important;
    clear: both;
    margin: 0;
}

#box-kiyaku2 {
    border: 1px solid rgba(0,0,0,.1)
}

#box-kiyaku2>section {
    font-size: .7rem;
    padding: .4rem;
    white-space: pre-line
}

.modal-content {
    max-height: calc(100vh - 10.5rem);
}

.modal-body {
    overflow-y: auto;
}

.modal-dialog {
    max-width: 600px !important;
}

body.no-scroll {
    overflow-y: hidden;
    height: 100vh;
}

select.situation {
    width: 100% !important;
    font-size: 10px;
    padding: 8px 8px;
    border-color: #aaa;
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    border: 1px solid #bbbbbb;
    border-radius: 0;
    background-image: url(https://talk.dshu.jp/wp-content/themes/HTML5-Reset-WordPress-Theme/custom-post-template/kou_neet_botchan_ariyoshi_20230511_sample/images/arrow-bottom.png);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 13px 13px;
}

input {
    border-radius: 0;
}

.custom-control-input {
	z-index: auto !important;
}

div#trust-form.contact-form table {
	margin-bottom: 1em !important;
}

#trust-form ul li {
    margin-top: 0 !important;
}

div#trust-form.contact-form input[type="radio"] {
	margin-right: 5px;
}

th {
    vertical-align: middle !important;
}

/*------------------- sp ------------------*/
@media screen and (max-width: 782px){
	html{
		margin-top: 0px !important;
	}

	.wrap img {
		width: 100%;
	}

	p {
		/* margin-bottom: 1px !important; */
	}

	div#trust-form.contact-form table th {
		border-bottom: 0 !important;
	}

	div#trust-form.contact-form table td {
		border-bottom: 0 !important;
		/* background-color: rgb(228 243 248 / 95%); */
		background-color: white;
	}

	div#trust-form table {
		border: 0 !important;
	}

	.contact_form {
		width: 90%;
		margin: 55px auto 30px;
		/* background-color: rgb(228 243 248 / 95%); */
		background-color: white;
		top: 0px;
	}

	div#trust-form table th {
		/* background-color: rgb(228 243 248 / 95%) !important; */
		background-color: white !important;
		padding: 10px 0 0 0 !important;
	}

	div#trust-form table ul li {
		line-height: 0 !important;
	}

	div#trust-form table {
		margin: 1rem auto !important;
	}

	.contact_head img {
		/* width: 75%; */
	}
}

section#annotation {
    text-align: right;
}

span.txt-annotation {
    margin-right: 9px;
    color: #a4a4a4;
	display: block;
}

img.floating-banner_img.pc {
    position: absolute;
    top: 685px;
    width: calc(36% - 37px);
    left: calc(10% - 37px);
}

.floating-banner.sp {
    /* height: 38.7vw; */
    margin-top: -35px;
	position: relative;
}
.floating-banner.sp img{
	position: absolute;
	content: "";
	top: 50%;
	left: 50%;
	transform: translate(-50%,-140%);
	width: 93%;
}


@media only screen and (min-width: 815px) and ( max-width:850px){
 .contact_form{
	/*	width: calc( 100% - 575px);*/
	width: 375px;
	max-width: 100%;
	box-shadow: 5px 5px 5px 0px rgba(0,0,0,.2);
	border: 3px solid #068acc;
	background-color: white;
	border-radius: 15px;
	position: relative;
	left: -253px;
	top: -6px;
	}
}
@media only screen and (min-width: 765px) and ( max-width:769px){
	#target-img {
		width: 275px;
    position: relative;
    top: 153px;
    left: -210px;
 }
  #trust-form input,
	#trust-form select{
		vertical-align: middle;
		width: 300px;
	}
}

main#main{
	width: 100%;
	margin: auto;
	max-width: 1300px;
}
#form{
	width: 85%;
	margin: -30px auto 0;
	z-index: 10;
	position: relative;
	border-radius: 15px;
	box-shadow: 0 10px 10px rgba(20, 25, 64, 0.1);
}
#form p{
	margin-bottom: 0;
}
#form .message{
	border-radius: 15px 15px 0 0;
	background: #1b1464;
	color: white;
	font-size: 20px;
	font-weight: bold;
	padding: 10px 0;
	text-align: center;
	letter-spacing: 1px;
}
#trust-form{
	padding: 20px;
}
input[type="submit"]{
	background: #1b1464;
}
footer{
	width: 100%;
	margin: 50px auto 0;
	background: #1b1464;
	padding: 30px 10px;
	max-width: 1300px;
}
footer img{
	display: block;
	width: 60%;
	margin: auto;
	max-width: 250px;
}
footer ul{
	display: flex;
	justify-content: center;
	align-items: center;
	column-gap: 10px;
	color: white;
	margin-top: 20px;
	font-size: 14px;
}
footer ul a{
	color: white !important;
}
footer p{
	color: white;
	text-align: center;
	margin-top: 20px;
}
@media only screen and (min-width: 769px) {
	.sponly{
		display: none !important;
	}
	#form{
		margin: 30px auto 0;
		max-width: 700px;
	}
	#form .message{
		font-size: 28px;
	}
}
@media only screen and (max-width: 768px) {
	.pconly{
		display: none !important;
	}
	#form .message{
		font-size: 18px;
	}
	#trust-form{
		padding-top: 10px;
	}
 input[type="submit"]{
	font-size: 28px;
 }
}
#confirm-button input{
	max-width: 400px;
	margin: auto;
}