@charset "utf-8";

/*----------------------------------------------------
 全体
----------------------------------------------------*/
body {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
	font-size: var(--18px);
	line-height: 1.65;
	color: var(--text-color);
	letter-spacing: 0.05em;
	background-color: var(--color-white);
}

a {
	transition: 0.3s;
	text-decoration: none;
	color: inherit;
}

a:hover {
	color: var(--color-light-blue);
}

a img {
	transition: 0.3s;
}

a:hover img {
	opacity: 0.6;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	font-style: italic;
	background-repeat: no-repeat;
	background-size: cover;
	shape-margin: 0.75rem;
}

ul,
dl,
ol {
  text-indent: 0;
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

small {
	font-size: 75%;
}

strong {
	font-weight: 700;
}

/*----------------------------------------------------
 common
----------------------------------------------------*/
.sp {
	display: none !important;
}

.pc {
	display: block;
}

/*----------------------------------------------------
 header
----------------------------------------------------*/
.head {
	width: 100%;
	height: 80px;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	background-color: var(--color-white);
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 var(--20px);
}
	.head .leftBox {
	}
		.head .leftBox a {
			display: flex;
			align-items: center;
		}
			.head .leftBox .logo {
				padding-right: var(--20px);
			}
			.head .leftBox h1 {
				font-weight: 300;
				font-size: var(--16px);
			}

/* 820px以下 */
@media screen and (max-width:768px) {
	.head .leftBox h1 {
		width: 100px;
		line-height: 1.2;
	}
}

	.head .rightBox {
	}
		.head .rightBox .nav {
			display: flex;
			align-items: center;
		}
			.head .rightBox .nav .arrow {
				font-weight: 500;
				font-size: var(--16px);
				padding-left: var(--18px);
				margin-right: var(--20px);
				background-image: url("../img/icon_arrow.svg");
				background-repeat: no-repeat;
				background-position: left center;
			}
			.head .rightBox .nav .btn {
				display: block;
				border-radius: var(--06px);
				background-color: var(--color-light-blue);
				font-weight: 500;
				font-size: var(--16px);
				color: var(--color-white);
				padding: var(--04px) var(--15px) var(--04px) var(--45px);
				background-image: url("../img/icon_mail.svg");
				background-repeat: no-repeat;
				background-position: left 14px center;
				background-size: 20px auto;
			}
				.head .rightBox .nav .btn:hover {
					background-color: var(--color-blue);
				}

/*----------------------------------------------------
 main
----------------------------------------------------*/
main {
	padding-top: 80px;
}

/*----------------------------------------------------
 mv
----------------------------------------------------*/
.mv {
	width: 100%;
	height: 500px;
	background-image: linear-gradient(rgba(80, 195, 231, 0.7), rgba(21, 88, 110, 0.65)), url("../img/mv.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}
	.mv .inner {
		padding-top: 190px;
		text-align: right;
		color: var(--color-white);
		font-size: var(--35px);
		font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		text-shadow: 0 1px 6px #010B1E;
		background-image: url("../img/mv_logo.svg");
		background-repeat: no-repeat;
		background-position: right top -40px;
	}

/*----------------------------------------------------
 inner
----------------------------------------------------*/
.inner {
	max-width: 1000px;
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}

/*----------------------------------------------------
 title
----------------------------------------------------*/
.title {
	padding-top: var(--40px);
	margin-bottom: var(--30px);
	text-align: center;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: var(--30px);
	background-image: url("../img/logo_mark.svg");
	background-repeat: no-repeat;
	background-position: center top;
	background-size: 56px auto;
}

/*----------------------------------------------------
 message
----------------------------------------------------*/
.message {
	padding: var(--50px) 0 var(--70px);
}
	.message dl {
		display: flex;
		gap: var(--50px);
	}
		.message dl dt .photo {
			width: 450px;
			border-radius: 15px;
			overflow: hidden;
		}
		.message dl dd h3 {
			font-size: var(--24px);
			font-weight: 600;
			color: var(--color-blue);
			margin-bottom: var(--12px);
		}

/* 820px以下 */
@media screen and (max-width:820px) {
	.message dl {
		display: block;
	}
		.message dl dt .photo {
			width: 100%;
			margin-bottom: var(--20px);
		}
}

/*----------------------------------------------------
 mvAbout
----------------------------------------------------*/
.mvAbout {
	width: 100%;
	height: 300px;
	background-image: linear-gradient(rgba(11, 36, 83, 0.3), rgba(11, 36, 83, 0.4)), url("../img/about.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}
	.mvAbout .inner {
		padding-top: 110px;
		text-align: right;
		color: var(--color-white);
		font-size: var(--40px);
		font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		text-shadow: 0 1px 6px #010B1E;
	}

/*----------------------------------------------------
 about
----------------------------------------------------*/
.about {
	padding: var(--50px) 0 100px;
}
	.about .box {
		display: flex;
		gap: 50px;
	}
		.info {
			width: calc((100% - 50px) / 2);
			border-top: 1px solid var(--color-blue);
		}
			.info,.info td,.info th {
				border-collapse: collapse;
				border-bottom: 1px solid var(--color-blue);
			}
			.info td,.info th {
				padding: var(--10px) var(--15px);
			}
			.info th {
				width: 25%;
				text-align: left;
			}
		.about .box .map {
			width: calc((100% - 50px) / 2);
			height: 380px;
			border-radius: 15px;
		}

/* 820px以下 */
@media screen and (max-width:820px) {
	.about {
		padding: var(--50px) 0;
	}
		.about .box {
			display: block;
		}
			.info {
				width: 100%;
				margin-bottom: var(--30px);
			}
			.about .box .map {
				width: 100%;
			}
}

/*----------------------------------------------------
 mvInquiry
----------------------------------------------------*/
.mvInquiry {
	width: 100%;
	height: 300px;
	background-image: linear-gradient(rgba(11, 36, 83, 0.7), rgba(11, 36, 83, 0.8)), url("../img/inquiry.jpg");
	background-repeat: no-repeat;
	background-size: cover;
}
	.mvInquiry .inner {
		padding-top: 110px;
		text-align: right;
		color: var(--color-white);
		font-size: var(--40px);
		font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
		text-shadow: 0 1px 6px #010B1E;
	}

/*----------------------------------------------------
 form
----------------------------------------------------*/
.form {
	padding: var(--50px) 0;
}
.form table {
    width: 100%;
    border-top: 1px solid var(--color-blue);
    border-collapse: collapse;
}
    .form td,.form th {
        border-collapse: collapse;
        border-bottom: 1px solid var(--color-blue);
        padding: var(--20px);
        text-align: left;
    }
    .form th {
        width: 250px;
    }

.form table .required {
    color: var(--color-white);
    background-color: var(--color-blue);
    padding: 5px 10px;
    border-radius: 7px;
    margin-right: var(--10px);
    font-weight: 300;
    font-size: var(--12px);
}

.form input,
.form textarea {
    border-radius: 5px;
    border: solid 1px var(--color-glay);
    width: 100%;
    padding: var(--05px) var(--10px);
}

.privacy {
    margin: var(--30px) var(--20px);
}
    .privacy h3 {
        font-weight: 600;
        font-size: var(--18px);
        margin-bottom: var(--10px);
    }
    .privacy .text {
        border: solid 1px var(--color-glay);
        border-radius: 5px;
        height: 200px;
        padding: var(--20px);
        overflow: auto;
        font-size: var(--14px);
    }
        .privacy .text h4 {
            font-weight: 600;
            margin-bottom: var(--10px);
        }
        .privacy .text p {
            margin-bottom: var(--20px);
        }
        .privacy .text ol {
            margin-bottom: var(--20px);
        }
            .privacy .text ol li {
                margin: 0 0 5px 20px;
                list-style: decimal;
            }
        .privacy .text ul {
            margin-bottom: var(--20px);
        }
            .privacy .text ul li {
                margin: 0 0 5px 20px;
            }

.form .sendBtn {
	display: block;
	border-radius: 10px;
	border: none;
	background-color: var(--color-light-blue);
	font-weight: 500;
	font-size: var(--24px);
	color: var(--color-white);
	padding: var(--15px);
	transition: 0.3s;
	cursor: pointer;
}
	.form .sendBtn:hover {
		background-color: var(--color-blue);
	}

.error {
	display: none;
	color: red;
	font-weight: bold;
	margin-bottom: 10px;
}

/*----------------------------------------------------
 finish
----------------------------------------------------*/
.finish {
	width: 80%;
	margin: 0 auto;
}
	.finish h3 {
		font-weight: 600;
		font-size: var(--22px);
		margin-bottom: var(--10px);
	}
	.finish .mb {
		margin-bottom: var(--30px);
	}
	.finish .backBtn {
		text-align: center;
	}
		.finish .backBtn a {
			display: inline-block;
			padding: var(--10px) var(--20px);
			background-color: var(--color-light-blue);
			font-weight: 500;
			color: var(--color-white);
			border-radius: 10px;
		}
			.finish .backBtn a:hover {
				background-color: var(--color-blue);
			}

/*----------------------------------------------------
 footer
----------------------------------------------------*/
.foot {
	width: 100%;
	background-color: var(--color-blue);
}
	.foot .inner {
		padding: var(--35px) 0;
		text-align: center;
		color: var(--color-white);
		font-weight: 500;
		font-size: var(--16px);
	}
		.foot .inner .logo {
			display: inline-block;
			margin-bottom: var(--15px);
		}
		.foot .inner .btn {
			margin-top: var(--15px);
			display: inline-block;
			border-radius: var(--06px);
			background-color: var(--color-light-blue);
			font-weight: 500;
			font-size: var(--16px);
			color: var(--color-white);
			padding: var(--05px) var(--15px) var(--05px) var(--45px);
			background-image: url("../img/icon_mail.svg");
			background-repeat: no-repeat;
			background-position: left 14px center;
			background-size: 20px auto;
		}
			.foot .inner .btn:hover {
				background-color: var(--color-blue);
				outline: 1px solid var(--color-white);
			}

/* copy */
.foot .copy {
	padding: var(--10px) 0;
	background-color: var(--color-black);
	text-align: center;
	color: var(--color-white);
	font-size: var(--12px);
}