@charset "utf-8";
body {
		background: #F3F3F3;
}
.side_contact {
		display: none
}
a[href^="tel:"] {
		text-decoration: underline;
		color: inherit;
		color: #303030;
}
@media(max-width: 767px) {
		a[href^="tel:"] {
				text-decoration: underline;
				color: inherit;
				color: #FF5A01;
		}
}
@media (hover: hover) {
		a[href^="tel:"] {
				pointer-events: none;
				text-decoration: none;
				color: inherit;
				color: #303030;
		}
}
.contact_wrap {
		max-width: 1100px;
		margin: 0 auto;
		padding: 0px 30px 120px;
}
@media(max-width: 960px) {
		.contact_wrap {
				padding-bottom: 80px;
		}
}
@media(max-width: 767px) {
		.contact_wrap {
				padding: 0px 20px 80px;
		}
}
.contact_lead {
		line-height: 2.0;
		margin: 0 0 40px;
		text-align: center;
}
.contact_lead a {
		color: #FF7801;
		text-decoration: underline;
		text-underline-offset: 4px;
}
.must_notes {
		text-align: left;
		color: #FF7801;
		margin: 0 0 25px;
		font-size: 90%;
}
.first_input {
		margin-bottom: 70px;
}
@media (hover: hover) {
		.contact_lead a:hover {
				color: #FF7801;
				text-decoration: none;
		}
}
.contact_lead.confirm {
		text-align: center;
}
@media(max-width: 960px) {
		.contact_lead {
				margin: 0 0 30px;
		}
}
@media(max-width:840px) {
		.contact_lead {
				line-height: 2.0;
				text-align: left;
				margin: 0 0 30px;
		}
		.contact_lead br {
				display: none
		}
		.first_input {
				margin-bottom: 60px;
		}
}
.contact_form {
		margin-bottom: 35px;
		display: flex;
		align-items: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.contact_form {
				display: block
		}
		.contact_form dt {
				width: auto;
				margin: 0 0 10px
		}
}
.contact_form dt {
		font-weight: 600;
		width: 300px;
		display: flex;
		align-items: center;
}
.contact_form dt {
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.contact_form.errorON dt {
		position: relative;
		top: -19px
}
.contact_form dt.extra {
		display: block;
}
.extra_flex {
		display: flex;
		align-items: center;
}
.extra_flex_hd {
		display: flex;
		align-items: center;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.extra_flex {
				display: block
		}
		.contact_form.errorON dt {
				position: static;
				top: inherit
		}
		.contact_form dt.extra {
				display: flex;
				align-items: center;
		}
}
.dt_notes {
		padding-top: 10px;
		font-size: 13px;
		color: #888;
}
.contact_form dt div.must {
		margin-left: 8px;
		font-size: 14px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		background: #FF7801;
		width: 64px;
		height: 24px;
		border-radius: 60px;
}
.nini {
		background: #8E8E8E !important;
}
div.must span {
		transform: translateY(0.5px)
}
.contact_form dt .plus {
		padding-top: 15px;
		font-size: 14px;
		color: #737373;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.contact_form dt .plus {
				padding-top: 0;
				margin-left: 1.5em;
		}
}
.contact_form dd {
		flex: 1;
		word-break: break-all;
		line-height: 2.0;
}
.confirmBox {
		word-break: break-all;
		line-height: 2.0;
}
.contact_form dd ul:not(.file_notes) {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
}
.contact_form dd ul {
		list-style: none;
}
.contact_form dd ul:not(.file_notes) li {
		display: flex;
		align-items: center;
		margin-right: 40px;
}
@media(max-width: 960px) {
		.contact_form dd ul:not(.file_notes) li {
				margin-right: 30px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.contact_form dd ul:not(.file_notes) li {
				margin-bottom: 15px;
		}
}
.contact_form dd ul:not(.file_notes) li:last-child {
		margin-right: 0;
}
.contact_form dd ul.file_notes {
		font-size: 14px;
		margin-left: 1em;
		margin-top: 15px;
}
.contact_form dd ul.file_notes li {
		position: relative;
		margin: 0 0 6px;
		line-height: 2.0;
}
.contact_form dd ul.file_notes li:last-child {
		margin-bottom: 0;
}
.contact_form dd ul.file_notes li:before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.contact_form dd ul li:last-child {
		margin-right: 0;
}
@media(max-width: 767px) {
		.contact_form, .contact_form.extra {
				margin-bottom: 30px;
		}
		.contact_form dd ul:not(.horizon) {
				display: block;
				margin-top: 20px;
		}
		.contact_form dd ul.horizon {
				margin-top: 10px;
		}
		.contact_form dd ul:not(.file_notes) li {
				margin: 0 0 15px;
		}
		.contact_form dd ul:not(.file_notes) li:last-child {
				margin: 0;
		}
		.contact_form dd ul.horizon li {
				margin: 0 30px 10px 0
		}
		.contact_form dd ul.horizon li:last-child {
				margin-right: 0;
		}
}
.select_wrap {
		width: 100%;
		display: flex;
}
select {
		color: #1e1e1e;
}
@media(max-width: 767px) {
		.select_wrap {
				width: 100%;
		}
}
.select_body {
		position: relative;
		width: 100%;
}
.select_body::after {
		content: '';
		display: block;
		position: absolute;
		width: 6px;
		height: 6px;
		border-bottom: 2px solid #333;
		border-right: 2px solid #333;
		top: calc(50% - 5px);
		right: 15px;
		transform: rotate(45deg);
		pointer-events: none;
}
.agree_lead {
		line-height: 2.0;
		text-align: center;
		margin: 40px 0 30px;
}
@media(max-width: 767px) {
		.agree_lead {
				font-size: 14px;
				line-height: 2.0;
				text-align: left;
				margin: 40px 0 30px;
		}
}
.sendBtn_flex {
		display: flex;
		justify-content: center;
		align-items: center;
}
.sendBtn_flex.confirmFlex {
		margin-top: 60px;
}
.sendBtn {
		width: 210px;
		margin: 0 15px;
		position: relative;
}
.sendBtn button {
		font-family: "Noto Sans JP", sans-serif;
		cursor: pointer;
		width: 250px;
		height: 60px;
		border-radius: 60px;
		background: none;
		border: 1px solid #FF7801;
		background: linear-gradient(90deg, #ff6e00 0%, #ffa100 100%);
		color: #fff;
		font-weight: 600;
		font-size: 16px;
		text-align: center;
		box-sizing: border-box;
		transition: background 0.2s;
		letter-spacing: 0.04em;
}
span.toLink, span.toBack {
		position: relative;
		line-height: 1;
		display: inline-block;
}
span.toLink {
		padding-right: 13px;
		transform: translateY(-1px)
}
span.toBack {
		padding-left: 13px;
		padding-right: 0 !important;
		transform: translateY(1px)
}
span.toLink::after, span.toBack::after {
		content: '';
		display: block;
		position: absolute;
		width: 16px;
		height: 13px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 16px;
}
span.toLink::after {
		right: -15px;
		background-image: url("../images/link_arw_right_wht.png");
		top: calc(50% - 6px);
}
span.toBack::after {
		left: -15px;
		top: calc(50% - 6px);
		background-image: url("../images/link_arw_left_wht.png")
}
.sendBtn_flex .linkBtn {
		width: 250px;
		margin: 0 15px;
		font-size: 16px;
		font-weight: 600;
		letter-spacing: 0.04em;
}
.sendBtn_flex .linkBtn a {
		height: 60px;
		border: 1px solid #949494;
		background: linear-gradient(90deg, #949494 0%, #555555 100%);
}
.sendBtn_flex .linkBtn a::before {
		display: none
}
.sendBtn button:disabled {
		opacity: 0.7;
		cursor: not-allowed;
		pointer-events: none;
}
@media (hover: hover) {
		.sendBtn:not(.disActive):hover button {
				background: #fff;
				color: #FF7801;
		}
		.sendBtn:not(.disActive):hover button span.toLink::after {
				background-image: url("../images/link_arw_right_org.png")
		}
		a:hover span.toLink::after {
				background-image: url("../images/link_arw_right_org.png")
		}
		.sendBtn_flex .linkBtn a:hover {
				background: #fff;
				color: #555555;
		}
		a:hover span.toBack::after {
				background-image: url("../images/link_arw_left_blk.png")
		}
}
@media(max-width: 767px) {
		.sendBtn {
				margin: 0;
		}
		.sendBtn button {
				width: 100%;
				height: 50px;
				font-size: 15px;
		}
		.sendBtn_flex.confirmFlex .sendBtn button {
				width: 100%;
		}
		.sendBtn_flex .linkBtn a {
				height: 50px;
		}
		.sendBtn_flex.confirmFlex {
				display: flex;
				justify-content: space-between;
				align-items: center;
		}
		.sendBtn_flex.confirmFlex .linkBtn, .sendBtn_flex.confirmFlex .sendBtn {
				width: calc(50% - 4px);
				font-size: 15px !important;
				margin: 0;
		}
		span.toLink {
				padding-right: 7px;
				transform: translateY(0px)
		}
		span.toLink::after {
				top: calc(50% - 6px);
		}
		span.toBack {
				padding-left: 7px;
		}
		span.toBack {
				padding-right: 0;
				padding-left: 7px;
		}
		.span.toBack::after {
				top: calc(50% - 6px);
				width: 14px;
				height: 16px;
				background-size: 14px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		/*
		.linkBtn a span.toBack {
				padding-left: 0;
		}
		span.toLink {
				padding-right: 0;
		}
		span.toLink::after, .linkBtn a span.toBack::after, span.toBack::after {
				display: none !important
		}
		.sendConfirm, .linkBtn.backBtn {
				position: relative;
		}
		.sendConfirm::after {
				content: '';
				display: block;
				position: absolute;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 15px;
				top: calc(50% - 5.5px);
				right: 15px;
				width: 15px;
				height: 12px;
				background-image: url(../images/link_arw_right_wht.png);
				pointer-events: none
		}
		.linkBtn.backBtn a::after {
				width: 15px;
				height: 12px;
				background-size: 15px;
				right: inherit;
				left: 15px;
				top: calc(50% - 5.5px);
				background-image: url(../images/link_arw_left_wht.png);
		}
		*/
}
@media screen and (orientation: portrait) and (max-width: 767px) and (hover: hover) {
		/* .sendConfirm:hover::after {
				background-image: url(../images/link_arw_right_org.png);
		} */
		.linkBtn.backBtn a::after {
				display: none
		}
}
.error {
		color: #FF0000;
		font-size: 14px;
		font-weight: 500;
		padding-top: 10px;
}
@media(min-width: 960px) {
		.contact_form.confirmLine, .contact_form.confirmLineEnd {
				display: flex;
				margin-bottom: 30px;
				padding-bottom: 30px;
		}
		.contact_form.confirmLine dt, .contact_form.confirmLineEnd dt {
				width: 250px;
				margin-bottom: 0;
		}
		.contact_form.confirmLine dd, .contact_form.confirmLineEnd dd {
				flex: 1
		}
}
@media(max-width: 960px) {
		.contact_form.confirmLine dt .pcbr {
				display: none
		}
}
.contact_form.confirmLine dt, .contact_form.confirmLineEnd dt, .contact_form.confirmLine dd, .contact_form.confirmLineEnd dd {
		line-height: 2.0;
}
.contact_form.confirmLine {
		border-bottom: 1px dotted #BFBFBF;
		padding-bottom: 20px;
}
.contact_form.confirmLineEnd {
		margin-bottom: 60px;
		border-bottom: none;
}
@media(max-width: 767px) {
		.contact_form.confirmLine, .contact_form.confirmLineEnd {
				padding-top: 0;
				padding-bottom: 15px;
		}
		.contact_form.confirmLine dt, .contact_form.confirmLineEnd dt {
				margin: 0 0 10px;
		}
}
@media(max-width: 390px) {
		.sendBtn button, .sendBtn_flex .linkBtn {
				font-size: 15px !important;
		}
}
/* ============= */
input[type="button"], input[type="submit"], input[type="reset"], select {
		-webkit-appearance: none;
}
input::placeholder, textarea::placeholder {
		color: #B4B4B4;
		font-size: 14px;
		font-feature-settings: "palt";
		letter-spacing: 0.05em;
}
.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea, .contact_form select {
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		font-size: 16px;
		border-radius: 0;
		outline: none;
		border: none;
		box-sizing: border-box;
}
.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea, .contact_form select {
		background-color: #fff;
		width: 100%;
		padding: 25px 20px;
		border: 1px solid #BFBFBF;
		box-sizing: border-box;
		font-size: 18px;
		border-radius: 4px;
}
.contact_form.errorON input[type="text"], .contact_form.errorON input[type="email"], .contact_form.errorON textarea, .contact_form.errorON select {
		border: 1px solid #FF0000;
}
@media(max-width: 767px) {
		.contact_form input[type="text"], .contact_form input[type="email"], .contact_form textarea {
				padding: 15px;
				font-size: 18px;
		}
		.contact_form select {
				padding: 15px;
				font-size: 18px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.contact_form select {
				padding: 15px;
				font-size: 16px;
		}
}
@media screen and (orientation: portrait) and (max-width: 390px) {
		.contact_form select {
				font-size: 15px;
				padding: 18px 12px;
		}
}
.contact_form input[type="radio"], .contact_form input[type="checkbox"] {
		width: 46px;
		height: 46px;
		opacity: 0;
		margin-right: 10px;
}
.contact_form dd li label {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
}
.contact_form dd li label span {
		position: relative;
		cursor: pointer
}
.contact_form dd li label span::before, .contact_form dd li label span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 23px);
		left: -50px;
		width: 46px;
		height: 46px;
		box-sizing: border-box;
}
@media(max-width: 960px) {
		.contact_form input[type="radio"], .contact_form input[type="checkbox"] {
				width: 36px;
				height: 36px;
				margin-right: 10px;
		}
		.contact_form dd li label span::before, .contact_form dd li label span::after {
				width: 36px;
				height: 36px;
				top: calc(50% - 18px);
				left: -46px;
		}
}
@media(max-width: 767px) {
		.contact_form input[type="radio"], .contact_form input[type="checkbox"] {
				width: 30px;
				height: 30px;
				margin-right: 5px;
		}
		.contact_form dd li label span::before, .contact_form dd li label span::after {
				width: 30px;
				height: 30px;
				top: calc(50% - 15px);
				left: -35px;
		}
}
input[type="radio"] + span::before, input[type="radio"] + span::after {
		border-radius: 50%;
}
.contact_form dd li label span::before {
		background-color: #fff;
		border: 1px solid #BFBFBF;
}
.contact_form dd.errorON li label span::before {
		border: 1px solid #ff0000;
}
.contact_form dd li label span::after {
		background: #222;
		transform: scale(0);
		border: none;
		opacity: 0;
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
input[type="radio"]:checked + span::after {
		opacity: 1 !important;
		transform: scale(0.4);
}
.contact_form textarea {
		height: 260px;
		line-height: 2.0;
		resize: none;
}
@media(max-width: 767px) {
		.contact_form textarea {
				height: 200px;
		}
}
/* ============== */
.agree_check_wrap {
		padding-top: 20px;
}
.agree_check {
		display: flex;
		justify-content: center;
		align-items: center;
		margin: 0 0 60px;
		font-weight: 500;
}
.agree_check strong {
		font-weight: 500;
		padding-top: 10px;
		font-size: 13px;
		display: inline-block;
		color: #FB5B5B;
}
.agree_check a {
		color: #FF7801;
		text-decoration: underline;
		text-underline-offset: 4px;
}
@media (hover: hover) {
		.agree_check a:hover {
				color: #FF7801;
				text-decoration: none;
		}
}
@media(max-width: 767px) {
		.agree_check {
				display: flex;
				justify-content: flex-start;
				align-items: center;
				margin: 0 0 40px;
				font-size: 15px;
				line-height: 1.8;
		}
		.agree_check strong {
				font-size: 12px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.agree_check {
				display: flex;
				justify-content: center;
		}
}
.agree_check label {
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
}
.agree_check input[type="checkbox"] {
		width: 46px;
		height: 46px;
		margin-right: 10px;
		opacity: 0;
}
.agree_check label span {
		position: relative;
		cursor: pointer
}
.agree_check label span::before, .agree_check label span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 30px);
		left: -56px;
		width: 46px;
		height: 46px;
		border-radius: 50%;
		box-sizing: border-box;
}
.agree_check label span::before {
		background: #fff;
		border: 1px solid #BFBFBF;
}
.agree_check label span::after {
		border-radius: 50%;
		background: #222;
		transform: scale(0);
		transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		opacity: 0;
}
input[type="checkbox"]:checked + span::after {
		transform: scale(0.4);
		opacity: 1 !important;
}
@media(max-width: 960px) {
		.agree_check input[type="checkbox"] {
				width: 36px;
				height: 36px;
				margin-right: 10px;
		}
		.agree_check label span::before, .agree_check label span::after {
				top: -3px;
				left: -46px;
				width: 36px;
				height: 36px;
		}
}
@media(max-width: 767px) {
		.agree_check input[type="checkbox"] {
				width: 30px;
				height: 30px;
				margin-right: 10px;
		}
		.agree_check label span::before, .agree_check label span::after {
				top: 2px;
				left: -40px;
				width: 30px;
				height: 30px;
		}
}
/* ================== */
.birth_flex {
		display: flex;
		align-items: center;
}
.birth_item {
		display: flex;
		align-items: center;
		margin-right: 15px;
		position: relative;
}
.birth_item::after {
		content: '';
		display: block;
		position: absolute;
		width: 6px;
		height: 6px;
		border-bottom: 2px solid #333;
		border-right: 2px solid #333;
		top: calc(50% - 5px);
		right: 35px;
		transform: rotate(45deg);
		pointer-events: none;
}
.birth_item select {
		margin-right: 5px;
}
.birth_item.year {
		width: 180px;
}
.birth_item.month {
		width: 130px;
}
.birth_item.day {
		width: 130px;
}
@media(max-width: 960px) {
		.birth_item.year {
				width: 140px;
		}
		.birth_item.month {
				width: 130px;
		}
		.birth_item.day {
				width: 130px;
		}
}
@media(max-width: 767px) {
		.birth_item {
				display: flex;
				align-items: center;
				margin-right: 10px;
		}
		.birth_item::after {
				right: 30px;
		}
		.birth_item select {
				font-size: 16px !important;
		}
		.birth_item.year, .birth_item.month, .birth_item.day {
				width: calc(calc(100% - 40px) / 3);
		}
}
/* =============== */
.thanks_wrap {
		text-align: center;
}
.thanks_wrap h2 {
		font-size: 54px;
		font-family: "Montserrat";
		font-optical-sizing: auto;
		font-style: normal;
		font-weight: 700;
		color: #FF7801;
		letter-spacing: 0;
		margin: 0 0 40px;
		text-align: center;
}
.thanks_wrap p {
		text-align: center;
		line-height: 2.0;
		margin: 0 0 45px
}
@media(max-width: 767px) {
		.complete_wrap {
				margin-bottom: 40px;
		}
		.thanks_wrap h2 {
				font-size: 36px;
				margin-bottom: 25px;
		}
		.thanks_wrap p {
				text-align: left;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.thanks_wrap p {
				text-align: center;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.thanks_wrap p {
				font-size: 14px;
		}
}
.contactLinkBtn {
		width: 280px;
		margin: 0 auto;
		font-weight: 500;
		border-radius: 60px;
		overflow: hidden;
}
.contactLinkBtn a {
		display: flex;
		justify-content: center;
		align-items: center;
		text-decoration: none;
		color: #fff;
		border-radius: 60px;
		height: 64px;
		border: 1px solid #FF7801;
		position: relative;
}
.contactLinkBtn a::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: linear-gradient(180deg, #0075cf 0%, #00599e 100%);
		transition: opacity 0.2s;
}
.contactLinkBtn a span {
		display: inline-block;
		position: relative;
		z-index: 1
}
@media (hover: hover) {
		.contactLinkBtn a:hover {
				background: #fff;
				color: #FF7801;
		}
		.contactLinkBtn a:hover::before {
				opacity: 0;
		}
}
@media(max-width: 767px) {
		.contactLinkBtn {
				width: 240px;
				margin: 0 auto;
		}
		.contactLinkBtn a {
				height: 50px;
		}
}
.confirm_wrap {
		background: #fff;
		padding: 70px 80px;
		border-radius: 4px;
		box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.05);
		position: relative;
}
.confirm_wrap.complete {
		padding-left: 10px;
		padding-right: 10px;
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.confirm_wrap {
				padding: 60px 15px;
		}
}
@media(max-width: 767px) {
		.confirm_wrap {
				padding: 25px 15px 40px
		}
}
.extraBr {
		display: none;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.extraBr {
				display: block;
		}
}