@charset "UTF-8";
@font-face {
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Light.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Light.ttf") format("ttf");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Regular.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Regular.ttf") format("ttf");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Medium.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Medium.ttf") format("ttf");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Bold.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Bold.ttf") format("ttf");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Zen Kaku Gothic New";
	src: url("../fonts/ZenKakuGothicNew-Black.woff") format("woff"), url("../fonts/ZenKakuGothicNew-Black.ttf") format("ttf");
	font-weight: 900;
	font-style: normal;
	font-display: swap;
}
html {
	font-size: 62.5%;
}

body {
	font-family: "Zen Kaku Gothic New", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
	font-size: 4.2666666667vw;
	font-weight: 500;
	line-height: 1.5;
	color: #00342B;
	background: #FCFCFC;
}
body.open {
	height: 100%;
	overflow: hidden;
}

a {
	color: #00342B;
}

img {
	width: 100%;
	height: auto;
}

.sp {
	display: block;
}

.pc {
	display: none;
}

#wrap {
	width: 100%;
	overflow: hidden;
}

.section {
	padding: 21.3333333333vw 0;
}

.section2 {
	padding: 25.6vw 0 21.3333333333vw;
}

.inner_section {
	width: 87.4666666667vw;
	margin: 0 auto;
}

/* header
------------------------------------------------------------------------- */
#header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	background: #fff;
}

.wrap_header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 17.0666666667vw;
	padding-left: 2.6666666667vw;
}

.header_logo {
	font-weight: bold;
	font-size: 4.8vw;
}

/* ハンバーガーメニュー ここから*/
#nav_toggle {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 17.0666666667vw;
	height: 17.0666666667vw;
	background: -webkit-gradient(linear, left top, left bottom, from(#006554), to(#00342B));
	background: linear-gradient(to bottom, #006554 0%, #00342B 100%);
}

#nav_toggle div {
	width: 11.7333333333vw;
	height: 11.7333333333vw;
	margin: 0 auto;
	position: relative;
}

#nav_toggle span {
	display: block;
	width: 8.5333333333vw;
	height: 2px;
	border-radius: 3px;
	background: #fff;
	position: absolute;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	-webkit-transition: top 0.2s ease, -webkit-transform 0.2s ease-in-out;
	transition: top 0.2s ease, -webkit-transform 0.2s ease-in-out;
	transition: transform 0.2s ease-in-out, top 0.2s ease;
	transition: transform 0.2s ease-in-out, top 0.2s ease, -webkit-transform 0.2s ease-in-out;
}

#nav_toggle span:nth-child(1) {
	top: 0;
}

#nav_toggle span:nth-child(2) {
	top: 1.6vw;
}

#nav_toggle span:nth-child(3) {
	top: 3.2vw;
}

#nav_toggle p:nth-child(4) {
	text-align: center;
	font-weight: bold;
	font-size: 4.2666666667vw;
	color: #fff;
	position: absolute;
	bottom: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.open #nav_toggle span:nth-child(1) {
	-webkit-transform: translate(-50%, -50%) rotate(20deg);
	transform: translate(-50%, -50%) rotate(20deg);
	top: 1.6vw;
}

.open #nav_toggle span:nth-child(2) {
	width: 0;
}

.open #nav_toggle span:nth-child(3) {
	-webkit-transform: translate(-50%, -50%) rotate(-20deg);
	transform: translate(-50%, -50%) rotate(-20deg);
	top: 1.6vw;
}

/* グローバルナビゲーション */
#g_nav {
	width: 100%;
	height: calc(100vh - 17.0666666667vw);
	padding: 8.5333333333vw 0 12.8vw;
	overflow-y: auto;
	position: fixed;
	top: 17.0666666667vw;
	left: 0;
	z-index: 1000;
	opacity: 0;
	visibility: hidden;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	background: #F6F6F6;
}

.open::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	border: 2px solid #006554;
	background: none;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1000;
}
.open #g_nav {
	opacity: 1;
	visibility: visible;
}

.ul_nav {
	width: 87.4666666667vw;
	margin: 0 auto;
}
.ul_nav li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.1333333333vw;
	padding: 4.2666666667vw 0 4.2666666667vw 2.1333333333vw;
	border-bottom: 1px solid #B9D4CE;
	font-weight: bold;
}
.ul_nav li a::before {
	content: "";
	display: block;
	width: 2.1333333333vw;
	height: 2.1333333333vw;
	background: -webkit-gradient(linear, left top, left bottom, from(#006554), to(#00342B));
	background: linear-gradient(to bottom, #006554 0%, #00342B 100%);
}

.wrap_header_btn {
	width: 53.3333333333vw;
	margin: 10.6666666667vw auto 0;
}
.wrap_header_btn p {
	margin-bottom: 2.1333333333vw;
}
.wrap_header_btn p:last-child {
	margin-bottom: 0;
}
.wrap_header_btn p a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 14.9333333333vw;
	border-radius: 1.0666666667vw;
	font-weight: bold;
}

/* 共通パーツ
------------------------------------------------------------------------- */
/* ========== ボタン ========== */
.btn_orange a {
	background: #F25D0A;
	color: #fff;
	border: 2px solid #fff;
	border-radius: 2.1333333333vw;
}

.btn_white a {
	background: #fff;
	color: #F25D0A;
	border: 2px solid #F25D0A;
	border-radius: 2.1333333333vw;
}

.btn {
	width: 65.6vw;
	margin: 0 auto;
}
.btn a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.1333333333vw;
	height: 17.0666666667vw;
	font-weight: bold;
	letter-spacing: 0.05em;
	-webkit-box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.16);
	box-shadow: 4px 4px 8px rgba(0, 0, 0, 0.16);
}

/* 資料ダウンロード */
.btn_document_icon a::before {
	content: "";
	display: block;
	width: 8.5333333333vw;
	height: 8.5333333333vw;
	background: url(../images/common/icon_document_white.svg) no-repeat;
	background-size: contain;
}

/* 個別相談予約 */
.btn_reserved_icon a::before {
	content: "";
	display: block;
	width: 10.6666666667vw;
	height: 10.6666666667vw;
	background: url(../images/common/icon_reserved_orange.svg) no-repeat;
	background-size: contain;
}

/* 外部リンク用 */
.external_link a {
	gap: 1.0666666667vw;
}
.external_link a::after {
	content: "";
	display: block;
	width: 3.2vw;
	height: 3.2vw;
	background: url(../images/common/icon_external_link_orange.svg) no-repeat;
	background-size: contain;
}

/* ========== 見出し ========== */
.ttl_h2 {
	font-weight: 900;
	font-size: 7.4666666667vw;
	letter-spacing: 0.05em;
	color: #006554;
	width: 87.4666666667vw;
	margin: 0 auto 17.0666666667vw;
	position: relative;
}
.ttl_h2::after {
	content: "";
	display: block;
	width: 21.3333333333vw;
	height: 2.1333333333vw;
	border-radius: 10.6666666667vw;
	background: #8DC63F;
	position: absolute;
	bottom: -4.2666666667vw;
	left: 0;
}

.ttl_h3 {
	font-size: 6.4vw;
	font-weight: bold;
	color: #006554;
	padding-bottom: 1.0666666667vw;
	border-bottom: 1px solid #8DC63F;
	margin-bottom: 4.2666666667vw;
}
.ttl_h3 span {
	position: relative;
	z-index: 1;
}
.ttl_h3 span::after {
	content: "";
	display: block;
	width: 100%;
	height: 3.2vw;
	background: #FCEE21;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: -1;
}

.ttl_h4 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.1333333333vw;
	color: #006554;
	font-weight: bold;
	font-size: 5.3333333333vw;
	letter-spacing: 0.05em;
	margin-bottom: 2.1333333333vw;
}
.ttl_h4::before {
	content: "";
	display: block;
	width: 1.6vw;
	height: 5.3333333333vw;
	background: #006554;
	border-radius: 1.0666666667vw;
}

.ttl_h5 {
	font-weight: bold;
	font-size: 4.8vw;
	margin-bottom: 2.1333333333vw;
	color: #006554;
}

/* 色 */
.c_yellow {
	color: #FFE300;
}

/* footer
------------------------------------------------------------------------- */
#footer {
	background: #00342B;
	border-radius: 12.8vw 12.8vw 0 0;
	padding: 12.8vw 0;
	color: #fff;
}
#footer a {
	color: #fff;
}

.wrap_footer_contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	width: 87.4666666667vw;
	margin: 0 auto;
}

.footer_logo {
	font-weight: bold;
	font-size: 5.3333333333vw;
}

.footer_nav li {
	margin-bottom: 6.4vw;
}
.footer_nav li:last-child {
	margin-bottom: 0;
}
.footer_nav a {
	font-weight: bold;
}

.copyright {
	margin-top: 17.0666666667vw;
	text-align: center;
}

/* 送信完了
------------------------------------------------------------------------- */
.ttl_thanks {
	text-align: center;
	font-weight: bold;
	color: #006554;
	margin-bottom: 6.4vw;
	font-size: 6.4vw;
}

.wrap_txt_thanks {
	width: 87.4666666667vw;
	margin: 0 auto;
}

.company_info {
	margin-top: 6.4vw;
	padding: 6.4vw 0;
	position: relative;
}
.company_info::after {
	content: "";
	display: block;
	width: calc(100% + 6.9333333333vw);
	height: 100%;
	background: #fff;
	border-radius: 6.4vw;
	border: 1px solid #F6F6F6;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: -1;
}
.company_info p {
	font-weight: bold;
	font-size: 5.3333333333vw;
	color: #006554;
	margin-bottom: 2.1333333333vw;
}

.dl_company_info dt {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 2.1333333333vw;
	color: #006554;
	font-weight: bold;
	font-size: 5.3333333333vw;
	letter-spacing: 0.05em;
	margin-bottom: 0.5333333333vw;
}
.dl_company_info dt::before {
	content: "";
	display: block;
	width: 1.6vw;
	height: 5.3333333333vw;
	background: #006554;
	border-radius: 1.0666666667vw;
}
.dl_company_info dd {
	margin-bottom: 2.1333333333vw;
}
.dl_company_info dd:last-of-type {
	margin-bottom: 0;
}

.thanks .btn_caption {
	text-align: center;
	margin-top: 6.4vw;
	color: #F25D0A;
}
.thanks .btn_top {
	width: 65.6vw;
	margin: 8.5333333333vw auto 0;
}
.thanks .btn_top a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: 14.9333333333vw;
	border-radius: 2.1333333333vw;
	border: 1px solid #00342B;
	font-weight: bold;
}

.ul_download {
	display: flex;
	gap: calc(16 / 375 * 100vw);
}

.download_text {
	text-align: center;
	margin-top: calc(16 / 375 * 100vw);
}

@media print, screen and (min-width: 769px) {
	body {
		font-size: min(1.3235294118vw, 18px);
	}
	.sp {
		display: none;
	}
	.pc {
		display: block;
	}
	.section {
		padding: min(5.8823529412vw, 80px) 0;
	}
	.section2 {
		padding: min(8.8235294118vw, 120px) 0 min(5.8823529412vw, 80px);
	}
	.inner_section {
		width: min(82.3529411765vw, 1120px);
	}
	/* header
	------------------------------------------------------------------------- */
	#header {
		background: rgba(252, 252, 252, 0.88);
	}
	.wrap_header {
		height: min(5.8823529412vw, 80px);
		padding: 0 min(2.9411764706vw, 40px) 0 min(4.1176470588vw, 56px);
	}
	.header_logo {
		font-size: min(1.4705882353vw, 20px);
	}
	/* ハンバーガーメニュー ここから*/
	#nav_toggle {
		display: none;
	}
	/* グローバルナビゲーション */
	#g_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: min(1.7647058824vw, 24px);
		width: auto;
		height: auto;
		padding: 0;
		overflow-y: visible;
		position: static;
		opacity: 1;
		visibility: visible;
		background: none;
	}
	.ul_nav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: min(1.7647058824vw, 24px);
		width: auto;
		margin: 0;
	}
	.ul_nav li a {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		gap: 0;
		padding: 0;
		border-bottom: none;
		font-size: min(1.1764705882vw, 16px);
		position: relative;
	}
	.ul_nav li a::before {
		content: none;
	}
	.ul_nav li a::after {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: #00342B;
		position: absolute;
		bottom: -4px;
		left: 0;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
		-webkit-transition: -webkit-transform 0.2s;
		transition: -webkit-transform 0.2s;
		transition: transform 0.2s;
		transition: transform 0.2s, -webkit-transform 0.2s;
		-webkit-transform-origin: right top;
		transform-origin: right top;
	}
	.ul_nav li a:hover::after {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}
	.wrap_header_btn {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: min(1.1764705882vw, 16px);
		width: auto;
		margin: 0;
	}
	.wrap_header_btn p {
		margin-bottom: 0;
	}
	.wrap_header_btn p a {
		height: min(4.1176470588vw, 56px);
		border-radius: min(0.2941176471vw, 4px);
		padding: 0 min(1.1764705882vw, 16px);
		-webkit-transition: 0.2s;
		transition: 0.2s;
	}
	.wrap_header_btn p.btn_document a:hover {
		color: #F25D0A;
		background: #fff;
		border-color: #F25D0A;
	}
	.wrap_header_btn p.btn_reserved a:hover {
		color: #fff;
		background: #F25D0A;
		border-color: #fff;
	}
	/* 共通パーツ
	------------------------------------------------------------------------- */
	/* ========== ボタン ========== */
	.btn_orange a {
		border-radius: min(0.5882352941vw, 8px);
	}
	.btn_white a {
		border-radius: min(0.5882352941vw, 8px);
	}
	.btn {
		width: min(25.8823529412vw, 352px);
		margin: 0;
	}
	.btn a {
		gap: min(1.1764705882vw, 16px);
		height: min(7.0588235294vw, 96px);
		font-size: min(1.7647058824vw, 24px);
	}
	/* 資料ダウンロード */
	.btn_document_icon a::before {
		width: min(3.5294117647vw, 48px);
		height: min(3.5294117647vw, 48px);
	}
	/* 個別相談予約 */
	.btn_reserved_icon a::before {
		width: min(3.5294117647vw, 48px);
		height: min(3.5294117647vw, 48px);
	}
	/* 外部リンク用 */
	.external_link a {
		gap: min(0.2941176471vw, 4px);
	}
	.external_link a::after {
		width: min(0.8823529412vw, 12px);
		height: min(0.8823529412vw, 12px);
		-webkit-transition: 0.2s;
		transition: 0.2s;
	}
	.external_link a:hover::after {
		background-image: url(../images/common/icon_external_link_white.svg);
	}
	/* ========== 見出し ========== */
	.ttl_h2 {
		font-size: min(2.9411764706vw, 40px);
		width: auto;
		margin: 0 auto min(4.7058823529vw, 64px);
		text-align: center;
	}
	.ttl_h2::after {
		width: min(5.8823529412vw, 80px);
		height: min(0.5882352941vw, 8px);
		border-radius: min(2.9411764706vw, 40px);
		bottom: max(-1.1764705882vw, -16px);
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
	}
	.ttl_h3 {
		font-size: min(2.3529411765vw, 32px);
		padding-bottom: min(0.5882352941vw, 8px);
		margin-bottom: min(1.1764705882vw, 16px);
	}
	.ttl_h3 span::after {
		height: min(1.7647058824vw, 24px);
	}
	.ttl_h4 {
		gap: min(0.5882352941vw, 8px);
		font-size: min(1.4705882353vw, 20px);
		margin-bottom: min(0.5882352941vw, 8px);
	}
	.ttl_h4::before {
		width: min(0.4411764706vw, 6px);
		height: min(1.4705882353vw, 20px);
		border-radius: min(0.2941176471vw, 4px);
	}
	.ttl_h5 {
		font-size: min(1.3235294118vw, 18px);
		margin-bottom: min(0.5882352941vw, 8px);
	}
	/* footer
	------------------------------------------------------------------------- */
	#footer {
		border-radius: 3.5294117647vw 3.5294117647vw 0 0;
		padding: min(3.5294117647vw, 48px) 0 min(2.3529411765vw, 32px);
	}
	.wrap_footer_contents {
		width: min(82.3529411765vw, 1120px);
	}
	.footer_logo {
		font-size: min(1.4705882353vw, 20px);
	}
	.footer_nav ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		gap: min(1.7647058824vw, 24px);
	}
	.footer_nav li {
		margin-bottom: 0;
	}
	.footer_nav li a {
		position: relative;
	}
	.footer_nav li a::after {
		content: "";
		display: block;
		width: 100%;
		height: 1px;
		background: #fff;
		position: absolute;
		bottom: -4px;
		left: 0;
		-webkit-transform: scale(0, 1);
		transform: scale(0, 1);
		-webkit-transition: -webkit-transform 0.2s;
		transition: -webkit-transform 0.2s;
		transition: transform 0.2s;
		transition: transform 0.2s, -webkit-transform 0.2s;
		-webkit-transform-origin: right top;
		transform-origin: right top;
	}
	.footer_nav li a:hover::after {
		-webkit-transform: scale(1, 1);
		transform: scale(1, 1);
		-webkit-transform-origin: left top;
		transform-origin: left top;
	}
	.copyright {
		margin-top: min(7.6470588235vw, 104px);
	}
	/* 送信完了
	------------------------------------------------------------------------- */
	.ttl_thanks {
		margin-bottom: min(1.7647058824vw, 24px);
		font-size: min(2.3529411765vw, 32px);
	}
	.wrap_txt_thanks {
		width: min(68.2352941176vw, 928px);
	}
	.txt_thanks {
		text-align: center;
	}
	.company_info {
		margin-top: min(1.7647058824vw, 24px);
		padding: min(1.7647058824vw, 24px) min(7.0588235294vw, 96px);
	}
	.company_info::after {
		width: min(68.2352941176vw, 928px);
		border-radius: min(1.7647058824vw, 24px);
	}
	.company_info p {
		font-size: min(1.4705882353vw, 20px);
		margin-bottom: min(0.5882352941vw, 8px);
	}
	.dl_company_info dt {
		gap: min(0.5882352941vw, 8px);
		font-size: min(1.4705882353vw, 20px);
		margin-bottom: min(0.5882352941vw, 8px);
	}
	.dl_company_info dt::before {
		width: min(0.4411764706vw, 6px);
		height: min(1.4705882353vw, 20px);
		border-radius: min(0.2941176471vw, 4px);
	}
	.dl_company_info dd {
		margin-bottom: min(0.5882352941vw, 8px);
	}
	.thanks .btn {
		margin: 0 auto;
	}
	.thanks .btn a {
		-webkit-transition: 0.2s;
		transition: 0.2s;
	}
	.thanks .btn a:hover {
		-webkit-transform: scale(1.1);
		transform: scale(1.1);
	}
	.thanks .btn_caption {
		margin-top: min(1.7647058824vw, 24px);
	}
	.thanks .btn_top {
		width: min(25.8823529412vw, 352px);
		margin: min(2.3529411765vw, 32px) auto 0;
	}
	.thanks .btn_top a {
		height: min(4.1176470588vw, 56px);
		border-radius: min(0.5882352941vw, 8px);
		-webkit-transition: 0.2s;
		transition: 0.2s;
	}
	.thanks .btn_top a:hover {
		background: #00342B;
		color: #fff;
	}

	.ul_download {
		gap: min(calc(32 / 1360 * 100vw), 32px);
		width: min(calc(544 / 1360 * 100vw), 544px);
		margin: 0 auto;
	}

	.download_text {
		margin-top: min(calc(16 / 1360 * 100vw), 16px);
	}
	
	.download_text a {
		transition: 0.2s;
	}
	
	.download_text a:hover {
		color: #F25D0A;
		text-decoration: underline;
	}
	
	.wrap_calendar {
		padding: 0 5%
	}
}