@charset "UTF-8";
body {
  font-family: "Kumbh Sans", sans-serif;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-feature-settings: "pkana";
          font-feature-settings: "pkana";
  font-size: 1.25rem;
}
@media (max-width: 767.98px) {
  body {
    font-size: 0.875rem;
  }
}

html, body {
  height: 100%;
}

.wrapper {
  overflow-x: hidden;
  background-color: rgb(207, 207, 230);
}
.wrapper > .container {
  position: relative;
  min-height: 100%;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1030;
  background: transparent;
}
header.scroll {
  background-color: rgb(0, 0, 60);
}
header.scroll .navbar-header .navbar-brand {
  display: block;
}
header .navbar-header {
  margin-left: 0;
  margin-right: 0;
}
header .navbar-header .navbar-brand {
  display: none;
  background-image: url("../images/logomark.svg");
}
header .navbar-header .navbar-menu #gnav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
  text-align: right;
}
header .navbar-header .navbar-menu #gnav li {
  list-style: none;
  font-size: 1rem;
  padding: 0 1rem;
}
header .navbar-header .navbar-menu #gnav li a {
  position: relative;
  mix-blend-mode: screen;
  color: #fff;
  /*
  						&.on {
  							color: $pd-blue;

  							&::before {
  								display: block;
  								position: absolute;
  								width: 100%;
  								bottom: -.5rem;
  								left: 0;
  								content: "";
  								border-bottom: 2px solid $pd-blue;
  							}
  						}
  */
}
@media (min-width: 992px) {
  header .navbar-header {
    padding: 30px 0;
  }
  header .navbar-header .navbar-brand {
    width: 189px;
    padding-top: 36px;
  }
  header .navbar-header .navbar-menu #gnav {
    height: 36px;
  }
}
@media (max-width: 991.98px) {
  header .navbar-header {
    padding: 15px 0;
  }
  header .navbar-header .navbar-brand {
    width: 126px;
    padding-top: 24px;
  }
  header .navbar-header .navbar-menu #gnav {
    height: 24px;
  }
  header .navbar-header .navbar-menu #gnav li:not(:last-child) {
    display: none;
  }
  header .navbar-header .navbar-menu #gnav li:last-child .contactus {
    display: block;
    width: 0;
    height: 24px;
    padding-left: 32px;
    overflow: hidden;
  }
  header .navbar-header .navbar-menu #gnav li:last-child .contactus::before {
    width: 32px;
    height: 24px;
  }
}

.img-txt {
  margin: auto;
  display: block;
  overflow: hidden;
  height: 0;
  padding: 0;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
}
object {
  font-family: sans-serif;
}

/*
header {
	margin-left: calc( $grid-gutter-width / 2 * -1);
	margin-right: calc( $grid-gutter-width / 2 * -1);

	#site-title.img-txt {
		width: 240px;
		background-image: url("../img/header/head-title.svg");
		@include media-breakpoint-up(lg) {
			padding-top: 100px; // 240 * 0.10416667 = 25px
		}
		@include media-breakpoint-down(lg) {
			margin-left: 30px;
			padding-top: 70px;
		}
	}
	figure.mainvisual {
		position: relative;
		margin: 0;
		.figure-img { margin-bottom: 0; }
		figcaption.img-txt {
			position: absolute;
			background-image: url("../img/header/top-title.svg");

			@include media-breakpoint-up(md) {
				top: 22.5%; //90px;
				right: 4.166667%; //40px;
				width: 41.666667%; //400px;
				padding-top: 4.6879%; //45px; // 800 * 90
			}
			@include media-breakpoint-down(md) {
				top: 10.448775%; //20px;
				left: 16%; //60px;
				width: 59.259259%; //222.222222px;
				padding-top: 6.666667%; //25px;
			}
		}
	}

	nav {
		margin-top: calc( $spacer / 2 );
		margin-bottom: calc( $spacer * 2 );

		@include media-breakpoint-up(lg) {
			#menubar { padding-left: $grid-gutter-width; padding-right: $grid-gutter-width; }
		}

		.mnBtn {
			border-bottom: 2px solid rgba($gray-800, 0);
			padding-top: 40px;
			background-size: auto 20px;

			&.top { width: 85px; background-image: url("../img/header/mn-top.svg"); }
			&.message { width: 129.75px; background-image: url("../img/header/mn-message.svg"); }
			&.schedule { width: 107.25px; background-image: url("../img/header/mn-schedule.svg"); }
			&.result { width: 107.25px; background-image: url("../img/header/mn-result.svg"); }
			&.dojo { width: 159px; background-image: url("../img/header/mn-dojo.svg"); }
			&.contact { width: 158.25px; background-image: url("../img/header/mn-contact.svg"); }

			&:hover, &:focus {
				border-bottom: 2px solid $gray-800;
			}

		}
		.external-link {
			span.img-txt {
				padding-top: 40px;
				background-size: auto 20px;
				width: 187.5px; background-image: url("../img/header/mn-dojolink.svg");
			}

			li {
				> a.linkBtn {
					position: relative;
					display: block;
					height: 72px;
					line-height: 72px;
					color: $white;
					background-color: $primary;
					border-radius: $border-radius;
					text-align: center;

					&:hover, &:focus {
						background-color: lighten( $primary, 10%);
					}

				}
				@include media-breakpoint-up(lg) {
					margin: 5px; font-size: 1rem;
					> a.linkBtn {
						height: 72px;
						line-height: 72px;
					}
				}
				@include media-breakpoint-down(lg) {
					> a.linkBtn {
						height: 42px;
						line-height: 42px;
					}
				}

//				@media (max-width: 1600px) {
//					text-align: center;
//					&:first-child { font-size: 0.75em; line-height: 1.2; }

//					.snsBtn {
//						width: 0;
//						overflow: hidden;
//						padding-left: 40px;

//						&.youtube::before { width: 40px; background-image: url("../img/common/icon_sns-yt.png"); }
//					}
//				}

			}
		}

		@include media-breakpoint-down(lg) {
			margin-top: 0;
			margin-bottom: 0;

			.menubar-offcanvas {
				> .row {
					margin: 0 auto;
					height: 100%;

					> li {
						padding-top: $spacer;
						.mnBtn {
							border-bottom: none;
							padding-top: 30px;
						}
					}
				}
			}
			.external-link {
				position: relative;
				margin-top: $spacer;
				text-align: center;

				.row {
					width: 70%;
					margin: calc($spacer/2) auto;

					@include media-breakpoint-between(sm,lg) {
						width: 40%;
					}
				}
			}
		}

		@include media-breakpoint-up(lg) {
			.external-link {
				position: absolute;
				top: 20vh;
				left: 102%;
			}
		}


	}

}

footer {
	position: absolute;
	left: 50%;
	bottom: 0;
	padding: 1rem;
	transform: translateX(-50%);
}
.img-txt, .mnBtn {
	margin: auto;
	display: block;
	overflow: hidden;
	height: 0;
	padding: 0;
	background-color: transparent;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.figure { display: block; }
.under {
	@include media-breakpoint-up(lg) {
		nav {
			.menubar-offcanvas {
				background-color: $gray-100;
			}
		}
	}
}

//-----------------------------------------------
// トグルメニュー
//-----------------------------------------------
.menubar-toggler,
.menubar-close {
	display: none;
}

@include media-breakpoint-down(lg) {
	.menubar-toggler {
		display: block;
		position: absolute;
		top: 0; right: 0;
		padding: 0;
		border: none;
		z-index: 10001;
		cursor: pointer;

		.menubar-toggler-icon {
			display: inline-block;
			width: 70px;
			height: 70px;
			vertical-align: middle;
			content: "";
			background: no-repeat center center;
			background-size: 50%;
		}

		&:hover, &:focus, &:visited {
			outline: none;
		}
	}
	.menubar-toggler {
		background-color: transparent;

		.menubar-toggler-icon {
			background-image: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMidYMid' viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='#212529' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"), "#", "%23");
		}
	}
	.menubar-toggler.is-active {
		background-color: $gray-100;

		.menubar-toggler-icon {
			background-image: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMidYMid' viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgb(30, 30, 120)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 4l22 22 M4 26l22 -22'/%3E%3C/svg%3E"), "#", "%23");
		}
	}

	.menubar-offcanvas {
		position: fixed;
		height: 100%;
		min-height: 100%;
		top: 0;
		width: 100%;
		left: -100%;
		z-index: 10000;
		overflow-y: auto;
		opacity: 0;
		padding: map-get($spacers,3);
		background-color: rgba($white, 1.0);	

		&.is-active { left: 0; opacity: 1; }
		@include transition(all .5s ease-in-out);
	}
}
*/
a:hover, a:focus, button:hover, button:focus {
  outline: none;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
@media (prefers-reduced-motion: reduce) {
  a:hover, a:focus, button:hover, button:focus {
    -webkit-transition: none;
    transition: none;
  }
}

a.contactus {
  position: relative;
  padding-left: 1.8rem;
}
a.contactus::before {
  display: block;
  position: absolute;
  width: 20px;
  height: 15px;
  top: -2px;
  left: 0;
  content: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMidYMid' viewBox='0 0 32 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-miterlimit='10' d='M1,2L31 2 31 22 1 22 1 2z M1,6.7L16 16.7 31 6.7'/%3E%3C/svg%3E");
}

.list-unstyled.bar li, .list-unstyled.check li {
  position: relative;
  padding-left: 1em;
}
.list-unstyled.bar li::before, .list-unstyled.check li::before {
  position: absolute;
  left: 0;
}
.list-unstyled.bar li::before {
  content: "-";
}
.list-unstyled.check li::before {
  display: block;
  width: 14px;
  height: 11px;
  content: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMidYMid' viewBox='0 0 14 11' xmlns='http://www.w3.org/2000/svg'%3E%3Cpolyline stroke='%23000' stroke-width='1.5' fill='none' stroke-miterlimit='10' points='1,5 5,9 13,1'/%3E%3C/svg%3E");
}
.list-unstyled li.unstyled {
  padding-left: 0 !important;
}
.list-unstyled li.unstyled::before {
  display: none;
}

footer {
  color: rgb(0, 0, 60);
}

@media (max-width: 991.98px) {
  .lead {
    font-size: 1rem;
  }
}
/*
.rice, .square {
	display: block;
	padding-left: 1em;
	text-indent: -0.875em;
	&::before { margin-right: 0.3em; }
}
.rice::before { content: "※"; }
.square::before { content: "□"; }
.more-link {
	padding-top: 1rem;
	.more {
		display: block;
		text-align: center;
		padding: 0.25rem;
		color: $white;
		border-radius: $border-radius;
		background-color: $primary;
	}
}
article > dl.row {
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
	align-items: center;

	dt {
		width: 110px;
		flex: 0 0 auto;
		font-weight: normal;
	}
	dd {
		margin-bottom: 0;
		a { color: $gray-900; }
	}
}
@include media-breakpoint-up(md) {
	a {
		&.pdf {
			display: flex;
			align-items: center;
			padding-right: 45px;

			&::after {
				display: block;
				width: 40px;
				content: url("../img/common/icon-pdf.svg");
			}
		}
	}
}

*/
.wrapper {
  display: none;
}

#loader-bg, #loader {
  display: block;
  position: fixed;
}

#loader-bg {
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background-color: rgb(30, 30, 120);
  z-index: 1040;
}
#loader-bg #loader {
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  text-align: center;
  color: #fff;
  z-index: 1045;
}
@media (min-width: 992px) {
  #loader-bg #loader {
    width: 256px;
    height: 48.768px;
  }
}
@media (max-width: 991.98px) {
  #loader-bg #loader {
    width: 128px;
    height: 24.384px;
  }
}

.sa {
  opacity: 0;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
@media (prefers-reduced-motion: reduce) {
  .sa {
    -webkit-transition: none;
    transition: none;
  }
}
.sa.sa--up {
  -webkit-transform: translate(0, 100px);
      -ms-transform: translate(0, 100px);
          transform: translate(0, 100px);
}
.sa.show {
  opacity: 1;
  -webkit-transform: none;
      -ms-transform: none;
          transform: none;
}

/*


//-----------------------------------------------
// コンテンツ
//-----------------------------------------------
main {
	section {
		position: relative;
		@include media-breakpoint-up(md) {
			padding: $grid-gutter-width;
		}
		@include media-breakpoint-down(md) {
			padding: calc( $grid-gutter-width / 2);
		}



		>.th_section {
			position: relative;
			display: block;
			margin-bottom: 1rem;
			font-weight: bold;
			line-height: 28px;
			z-index: 1;

			&::before {
				position: absolute;
				top: 0; left: 0;
				display: block;
				height: 28px;
				background-color: $gray-800;
				z-index: -1;
				content: "";
			}
		}

		> .text-end > .back-top {
			margin: 0;
			display: inline-block;
			line-height: 36px;
			text-align: center;
		}

		@include media-breakpoint-up(md) {
			>.th_section {
				font-size: 21px;
				padding-left: 36px;

				&::before { width: 28px; }
			}
			> .text-end > .back-top {
				width: 150px;
				border-radius: $border-radius;
				color: $white;
				font-size: 1.25rem;
				background-color: $gray-200;
				&:hover, &:focus { background-color: $gray-400; }
			}
		}
		@include media-breakpoint-down(md) {
			>.th_section {
				font-size: 18px;
				text-align: center;
				color: $white;

				&::before { width: 100%; }
			}
			> .text-end > .back-top {
				color: $gray-400;
				font-size: 1.0rem;
			}
		}
	}

	#message {
		.chairman { text-align: right; }
	}
	#schedule {
		small.rice { margin-top: 0.5rem; }
	}
	#dojo {
		h3 {
			font-size: 18px;
			&::before { content: "□ "; }
		}
		h4 { font-size: 1rem; margin-left: -0.5rem; }
		h5 { font-size: 1rem; margin-bottom: 0; line-height: $line-height-base; }
		@include media-breakpoint-up(lg) {
//			figure { padding-left: 1rem; }
			.order-md-1 {
				> .img-fluid { margin-left: 1rem; }
			}
		}
		@include media-breakpoint-down(md) {
			.order-md-1 {
				> .img-fluid { margin: 0.5rem; margin-bottom: 1.0rem; }
			}
		}
	}
	@include media-breakpoint-up(md) {
		#message {
			.back-top { display: none; }
		}
	}
	@include media-breakpoint-down(md) {
		#news {
			.th_section { display: none; }
		}
		.figure { width: 80%; margin: 1rem auto; }
	}
	#contact {
		h3 { font-size: 1rem; font-weight: 700; }

		.form-group {
			+ .form-group { margin-top: 1rem; }

			&.required {
				position: relative;

				@include media-breakpoint-up(lg) {
					.col-form-label + div::after {
						position: absolute;
						top: 6px; right: 0;
						content: "（必須）";
					}
				}
				@include media-breakpoint-down(md) {
					.col-form-label::after {
						position: relative;
						content: "*";
					}
				}
			}
		}
		select[name=dojo] {
			border: 0;
			background-color: $gray-200;
			color: $gray-900;
			appearance: none;
			background-position: right 3px center;
			-ms-background-position-x: right;
			-ms-background-position-y: center;
			background-size: contain;
			background-repeat: no-repeat;
			background-image: str-replace(url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMaxYMid' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='none' fill-opacity='0.8' fill='#212529' d='M 5,7 10,14 15,7'/%3E%3C/svg%3E"), "#", "%23");

			&::-ms-expand { display: none; }

		}
		.form-check {
			padding-left: 0;
			margin-bottom: 0;

			&.form-check-inline {
				.form-check-input[name=reply] {
					display: none;

					+ label {
						position:relative;
						padding-left: 30px;

						&::before {
							content: "";
							display: block;
							position: absolute;
							top: 0;
							left: 0;
							width: 24px;
							height: 24px;
							border: 1px solid $input-border-color;
							border-radius: 50%;
						}
						&::after {
							content: "";
							display: block;
							position: absolute;
							top: 6px;
							left: 6px;
							width: 12px;
							height: 12px;
							background: $gray-200;
							border-radius: 50%;
						}
					}
					&:checked + label::after {
						background: $primary;
					}

				}
			}
		}
//		button[type=submit] {
//			background-color: rgba($primary, 0.5);
//			border-color: rgba($primary, 0);

//			&:hover {
//				background-color: $primary;
//			}
//		}

	}
	.btn-outline-primary {
		&:hover, &:focus { color: $white; }
	}

}

/*

@import "override-functions";
@import "override-variables";
@import "../../../node_modules/bootstrap/scss/mixins";

$pd-blue: 		rgba(59, 94, 146, 1);

//-----------------------------------------------
// レイアウト
//-----------------------------------------------
html, body { height: 100%; }
.wrapper { overflow-x: hidden; }

//-----------------------------------------------
// コモン
//-----------------------------------------------
body {
	font-family: "proxima-nova", "ryo-gothic-plusn",　sans-serif;
	font-feature-settings: "pkana"; //"palt";
}

a, a:hover, a:focus { outline: none; text-decoration: none; }

.img-txt {
	display: block;
	height: 0;
	line-height: 0;
	font-size: 0;
	background-position: center center;
	background-repeat: no-repeat;
	overflow: hidden;
//	cursor: pointer;
}

.section-title {
	margin-bottom: 2rem;
	font-size: 2.25rem;
	font-family: "proxima-nova", sans-serif;
	font-weight: 300;
	font-style: italic;
	color: $pd-blue;
	letter-spacing: 0.2rem;
}
.list-styled {
	padding-left: 1.2rem;
	text-indent: -1.2rem;
	list-style: none;

	.hyphen {
		&::before {
			content: "−";
			margin-right: .5rem;
		}
	}
	.note {
		&::before {
			content: "※";
			margin-right: .4rem;
		}
	}
}
p, ul { text-align: justify; }

@include media-breakpoint-down(md) {
	body { font-size: 0.75rem; }
	.section-title { font-size: 1.5rem; margin-bottom: 1rem; }
	.list-styled { padding-left: 1rem; text-indent: -1rem; }
}

*/
#index h2.sec-title, #under h2.sec-title {
  text-align: center;
  font-weight: 600;
  line-height: 3;
  color: #fff;
}
@media (min-width: 992px) {
  #index h2.sec-title, #under h2.sec-title {
    font-size: 3.5rem;
  }
}
@media (max-width: 991.98px) {
  #index h2.sec-title, #under h2.sec-title {
    font-size: 2rem;
  }
}
#index .link-solution, #under .link-solution {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  text-align: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fff;
  border-radius: 1.75rem;
}
#index .link-solution:hover, #under .link-solution:hover {
  background-color: #ffeded;
}
#index .link-solution .icon-st20, #under .link-solution .icon-st20 {
  fill: none;
  stroke: rgb(30, 30, 120);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
}
#index .link-solution .icon-st15, #under .link-solution .icon-st15 {
  fill: none;
  stroke: rgb(30, 30, 120);
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
}
#index .link-solution .icon-st00, #under .link-solution .icon-st00 {
  fill: rgb(30, 30, 120);
}
#index .link-solution h3, #under .link-solution h3 {
  margin-top: 1rem;
  color: rgb(30, 30, 120);
}
#index .link-solution.active, #under .link-solution.active {
  background-color: rgb(30, 30, 120);
}
#index .link-solution.active .icon-st20, #index .link-solution.active .icon-st15, #under .link-solution.active .icon-st20, #under .link-solution.active .icon-st15 {
  stroke: #fff;
}
#index .link-solution.active .icon-st00, #under .link-solution.active .icon-st00 {
  fill: #fff;
}
#index .link-solution.active h3, #under .link-solution.active h3 {
  color: #fff;
}
@media (min-width: 992px) {
  #index .link-solution, #under .link-solution {
    padding: 1.5rem 1rem;
  }
  #index .link-solution h3, #under .link-solution h3 {
    font-size: 1.25rem;
  }
  #index .link-solution h3 small, #under .link-solution h3 small {
    font-size: 0.875rem;
  }
}
@media (max-width: 991.98px) {
  #index .link-solution, #under .link-solution {
    padding: 1rem 0.5rem;
  }
  #index .link-solution h3, #under .link-solution h3 {
    font-size: 1rem;
  }
  #index .link-solution h3 small, #under .link-solution h3 small {
    font-size: 0.75rem;
  }
}

#index h2.sec-title {
  color: #fff;
}
#index #hero {
  position: relative;
  min-height: 100vh;
  height: 100vh;
  background-color: rgb(30, 30, 120);
  z-index: 1000;
}
#index #hero > .container, #index #hero > .container-fluid {
  height: 100%;
}
#index #hero > .container > .row, #index #hero > .container-fluid > .row {
  height: 100%;
}
#index #hero p {
  color: #fff;
}
#index #hero .brand-logo {
  margin-left: 0;
  background-image: url("../images/logomark.svg");
}
#index #hero .headcopy p.catchcopy {
  margin-top: 2rem;
  line-height: 1.4;
  font-weight: 500;
}
#index #hero .headcopy p.catchcopy span {
  white-space: nowrap;
}
#index #hero .headcopy p.catchcopy span::after {
  content: "\a";
  white-space: pre;
}
#index #hero .headcopy p.leadcopy {
  line-height: 1.8;
}
#index #hero .headcopy a.contactus {
  margin-top: 2rem;
  display: inline-block;
  background-color: rgb(255, 135, 135);
  color: #fff;
}
@media (min-width: 992px) {
  #index #hero .brand-logo {
    width: 189px;
    padding-top: 36px;
  }
  #index #hero .headcopy {
    margin-bottom: 60px;
  }
  #index #hero .headcopy p.catchcopy {
    font-size: 45px;
  }
  #index #hero .headcopy a.contactus {
    padding: 0 3.5rem 0 4.5rem;
    line-height: 45px;
    border-radius: 22.5px;
  }
  #index #hero .headcopy a.contactus::before {
    top: 2px;
    left: 2.75rem;
  }
}
@media (max-width: 991.98px) {
  #index #hero .brand-logo {
    width: 126px;
    padding-top: 24px;
  }
  #index #hero .headcopy {
    margin-bottom: 30px;
  }
  #index #hero .headcopy p.catchcopy {
    font-size: 24px;
  }
  #index #hero .headcopy a.contactus {
    padding: 0 2.25rem 0 3.5rem;
    line-height: 36px;
    border-radius: 18px;
  }
  #index #hero .headcopy a.contactus::before {
    top: 2px;
    left: 1.75rem;
  }
}
#index #hero #video-area {
  position: absolute;
  z-index: -1; /*最背面に設定*/
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
  opacity: 0.75;
  mix-blend-mode: multiply;
}
#index #hero #video {
  /*天地中央配置*/
  position: absolute;
  z-index: 0;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  /*縦横幅指定*/
  width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%;
}
#index #solutions {
  background-color: rgb(30, 30, 120);
}
@media (min-width: 992px) {
  #index #solutions {
    padding-top: 90px;
  }
}
@media (max-width: 991.98px) {
  #index #solutions {
    padding: 45px 15px 0;
  }
}
#index #services {
  background-color: rgb(30, 30, 120);
}
#index #consulting .detail, #index #software .detail {
  color: #fff;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
}
#index #consulting .detail .section-title, #index #software .detail .section-title {
  color: #ffeded;
}
@media (min-width: 992px) {
  #index #consulting, #index #software {
    padding-top: 90px;
  }
  #index #consulting .detail, #index #software .detail {
    border-radius: 60px;
    padding: 90px;
  }
  #index #consulting .detail .section-title, #index #software .detail .section-title {
    font-size: 3rem;
  }
  #index #consulting .detail .lead, #index #consulting .detail ul.bar, #index #software .detail .lead, #index #software .detail ul.bar {
    margin-top: 2rem;
  }
}
@media (max-width: 991.98px) {
  #index #consulting, #index #software {
    padding: 45px 15px 0;
  }
  #index #consulting .detail, #index #software .detail {
    border-radius: 30px;
    padding: 36px;
  }
  #index #consulting .detail .section-title, #index #software .detail .section-title {
    font-size: 1.5rem;
  }
  #index #consulting .detail .lead, #index #consulting .detail ul.bar, #index #software .detail .lead, #index #software .detail ul.bar {
    margin-top: 1rem;
  }
}
#index #consulting .detail {
  background-image: url("../images/service-consulting_bg.jpg");
}
#index #software {
  position: relative;
  margin-bottom: 35%;
}
#index #software .detail {
  background-image: url("../images/service-software_bg.jpg");
  margin-bottom: -15%;
}
#index #software::after {
  position: absolute;
  left: 0;
  bottom: 0;
  display: block;
  width: 100%;
  content: url("data:image/svg+xml;charset=utf8,%3Csvg preserveAspectRatio='xMidYMid' viewBox='0 0 200 65' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='none' fill='rgb(30, 30, 120)' d='M200,0.2L56 65 0 36 0 0 200 0z'/%3E%3C/svg%3E");
  -webkit-transform: translateY(99.9%);
      -ms-transform: translateY(99.9%);
          transform: translateY(99.9%);
  z-index: 0;
}
#index #company {
  background-color: rgb(207, 207, 230);
}
#index #company > .container .row .profile {
  color: #fff;
  background-color: rgb(30, 30, 120);
}
#index #company > .container .row .profile .company-name {
  color: #fff;
}
#index #company > .container .row .access {
  padding: 0 !important;
}
#index #company > .container .row .access .ratio .accessmap {
  width: 100%;
  height: 100%;
  border: 0;
  -webkit-filter: grayscale(100%);
          filter: grayscale(100%);
}
@media (min-width: 992px) {
  #index #company > .container .row .profile {
    border-top-left-radius: 60px;
    border-bottom-left-radius: 60px;
    padding: 90px;
  }
  #index #company > .container .row .profile .company-name {
    margin-bottom: 2rem;
  }
  #index #company > .container .row .access .ratio .accessmap {
    border-top-right-radius: 60px;
    border-bottom-right-radius: 60px;
  }
}
@media (max-width: 991.98px) {
  #index #company {
    padding: 0 15px;
  }
  #index #company > .container .row .profile {
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    padding: 36px;
  }
  #index #company > .container .row .profile .company-name {
    margin-bottom: 1rem;
  }
  #index #company > .container .row .access {
    padding-left: 0 !important;
  }
  #index #company > .container .row .access .ratio .accessmap {
    border-bottom-left-radius: 30px;
    border-bottom-right-radius: 30px;
    width: 100%;
    height: 100%;
    border: 0;
    -webkit-filter: grayscale(100%);
            filter: grayscale(100%);
  }
  #index #company .list-border > [class*=col-] span {
    display: block;
  }
  #index #company .embed-responsive-32by9 {
    margin-top: 60px;
  }
  #index #company .embed-responsive-32by9::before {
    padding-top: 75%;
  }
}
#index .contact {
  background-color: rgb(30, 30, 120);
  padding-top: 30px;
  padding-bottom: 30px;
}
#index .contact [class*=col-] {
  padding: 30px;
}
#index .contact .phone {
  display: block;
  font-size: 45px;
  line-height: 1.2;
  font-weight: 100;
}
#index .contact span.small {
  font-size: 1rem;
  letter-spacing: 0.1rem;
  font-weight: 300;
}
#index .contact .phone, #index .contact .small {
  font-family: "proxima-nova", sans-serif;
  color: #fff;
}
#index .contact .btn-light {
  display: block;
  text-align: center;
  margin: auto;
  background-color: #fff;
  font-size: 1.125rem;
  font-weight: bold;
  padding: 1.5rem;
  width: 60%;
  color: rgb(30, 30, 120);
  border-radius: 0;
}
@media (min-width: 992px) {
  #index .contact [class*=col-] + [class*=col-] {
    border-left: 1px solid #fff;
  }
}
@media (max-width: 991.98px) {
  #index .contact [class*=col-] + [class*=col-] {
    padding-top: 0;
  }
  #index .contact .phone {
    font-size: 36px;
  }
  #index .contact .btn-light {
    padding: 1rem;
    width: 80%;
  }
}

#under #breadcrumb a {
  margin-right: 1rem;
}
#under #breadcrumb span {
  margin-left: 1rem;
}
#under h2.sec-title {
  color: rgb(30, 30, 120);
}
#under .solution-detail .solution-title {
  font-weight: 600;
  color: rgb(30, 30, 120);
}
#under .solution-detail .solution-title + p {
  line-height: 1.5;
  margin-bottom: 2rem;
}
#under .solution-detail .solution-wrapper {
  background-color: #fff;
}
#under .h2.text-center {
  color: rgb(30, 30, 120);
}
#under #solutions_generative-ai h4.outline {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1;
  padding: 0.25rem 0.5rem;
  border: 1px solid #212529;
}
#under #solutions_generative-ai h5 {
  font-size: 1rem;
  font-weight: 400;
  color: #336c89;
}
#under #solutions_generative-ai h5 + p {
  font-size: 0.875rem;
  line-height: 1.5;
}
#under #solutions_system-testing ul {
  border-top: 5px solid #1f3864;
  padding-top: 1rem;
}
#under #solutions_system-testing ul li {
  font-size: 1rem;
  line-height: 1.5;
}
@media (min-width: 992px) {
  #under .wrapper {
    padding-top: 120px;
  }
  #under .solution-detail {
    padding-top: 90px;
  }
  #under .solution-detail .solution-title {
    font-size: 2.5rem;
  }
  #under .solution-wrapper {
    padding: 3rem;
    border-radius: 2rem;
  }
  #under .solution-wrapper + .solution-wrapper {
    margin-top: 3rem;
  }
  #under .h2.text-center {
    margin-top: 2rem;
  }
}
@media (max-width: 991.98px) {
  #under .wrapper {
    padding-top: 60px;
  }
  #under .solution-detail {
    padding-top: 45px;
  }
  #under .solution-detail .solution-title {
    font-size: 1.75rem;
  }
  #under .solution-wrapper {
    padding: 1.5rem;
    border-radius: 1.5rem;
  }
  #under .solution-wrapper + .solution-wrapper {
    margin-top: 2rem;
  }
  #under .h2.text-center {
    margin-top: 1rem;
  }
}

#contactModal #contactModalLabel {
  font-weight: 600;
}
#contactModal .modal-header {
  background-color: rgb(30, 30, 120);
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
#contactModal .modal-header .modal-title {
  color: #fff;
}
#contactModal .modal-header, #contactModal .modal-footer {
  padding: 1.5rem 2rem;
  border: none;
}
#contactModal .modal-body {
  padding: 1rem 2rem 0;
}
#contactModal .modal-body .form-group label {
  font-size: 0.875em;
  color: rgb(30, 30, 120);
}
#contactModal .modal-body .form-group + .form-group {
  margin-top: 1rem;
}
#contactModal .modal-footer {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#contactModal .modal-footer .btn {
  padding: 0.5rem 3rem;
  border-radius: 0.5em;
}
#contactModal .contact-result {
  padding: 2rem 2rem 1rem;
  margin: 0;
}