/******************************/
/*     01. General Styles     */
/******************************/


/******** 大枠ボックス *****/
.layer{
	position: relative;
	margin: 0 auto;
	text-align: center;
}

/* 背景画像の読み込み */
.layer-bg{
	height: 250px;
	background: url(../../img/subtop.webp) no-repeat 0 0;
	background-size: cover;
	background-position: center;
}

/* 重ねるボックスの設定 */
.layer-in{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}

/* 重ねる文字の基本設定 */
.layer-txt{
	font-family: 'Josefin Sans', sans-serif, serif;
	position: absolute;
	top: 20%;
	left: 80%;
	transform: translateX(-100%);
	color: #7ac2c5;
	font-weight: 400;
	font-size: 8rem;
	z-index: 100;
}

.logo-img {
	vertical-align: middle;
	border-style: none;
	aspect-ratio: auto 200 / 100;
	width: 150px;
	height: 100%;
}

.ul-text {
	margin-left:24% ;
	text-align: left;
}

.layer-bg{
	height: 250px;
}
.layer-in{
	width: 350px;
	height: 90px;
}
.layer-txt{
	font-size: 3.0rem;
}

.layer-second-txt{
	height: 10%;
	font-size: 1rem;
}

.ul-text {
	margin-left:2% ;
	text-align: left;
}

.st-img {
	vertical-align: middle;
	border-style: none;
	aspect-ratio: auto 200 / 100;
	margin: 20px;
	width: 320px;
	height: 100%;
}

.sy-img {
	margin-left: 20%;
	margin-right: 20%;
	margin-bottom: 10%;
	width: 200px;
}


.indent {
	padding-left: 1.25rem;
}


a[target=_blank][rel=noopener] {
	padding-right: 25px;
	background: url('../../images/link_icon.png?1') right center/22px auto no-repeat;
}

.testimonial-text {
	font-style: italic;
}

.testimonial-author {
	font: 700 1rem/1.375rem "Montserrat", sans-serif;
}

strong {
	color: #484a46;
}


.form-group {
	position: relative;
	margin-bottom: 1.25rem;
}

.form-group.has-error.has-danger {
	margin-bottom: 0.625rem;
}

.form-group.has-error.has-danger .help-block.with-errors ul {
	margin-top: 0.375rem;
}


.basic-2 {
	padding-top: 6.375rem;
	padding-bottom: 3.375rem;
	background-color: #fbfbfb;
	text-align: center;
}


.top-image-wrapper {
  width: 100%;
  text-align: center; /* 画像を中央揃えしたい場合 */
  margin-top: 60px;
}

.top-image-wrapper img {
  max-width: 100%;
  height: auto;
  display: inline-block;
}



/* IE10+ hack to solve lower label text position compared to the rest of the browsers */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
	.label-control {
		top: 0.9375rem;
	}
}

.form-control-input:focus + .label-control,
.form-control-input.notEmpty + .label-control,
.form-control-textarea:focus + .label-control,
.form-control-textarea.notEmpty + .label-control {
	top: 0.125rem;
	opacity: 1;
	font-size: 0.75rem;
	font-weight: 500;
}

.form-control-input,
.form-control-select {
	display: block; /* needed for proper display of the label in Firefox, IE, Edge */
	width: 100%;
	padding-top: 1.25rem;
	padding-bottom: 0.25rem;
	padding-left: 1.3125rem;
	border: 1px solid #dadada;
	border-radius: 0.25rem;
	background-color: #fff;
	color: #787976;
	font: 400 0.875rem/1.375rem "Open Sans", sans-serif;
	transition: all 0.2s;
	-webkit-appearance: none; /* removes inner shadow on form inputs on ios safari */
}

.form-control-select {
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	height: 3rem;
}

/* IE10+ hack to solve lower label text position compared to the rest of the browsers */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
	.form-control-input {
		padding-top: 1.25rem;
		padding-bottom: 0.75rem;
		line-height: 1.75rem;
	}

	.form-control-select {
		padding-top: 0.875rem;
		padding-bottom: 0.75rem;
		height: 3.125rem;
		line-height: 2.125rem;
	}
}

select {
	/* you should keep these first rules in place to maintain cross-browser behavior */
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	background-image: url('../../images/down-arrow.png');
	background-position: 96% 50%;
	background-repeat: no-repeat;
	outline: none;
}

select::-ms-expand {
	display: none; /* removes the ugly default down arrow on select form field in IE11 */
}

.form-control-textarea {
	display: block; /* used to eliminate a bottom gap difference between Chrome and IE/FF */
	width: 100%;
	height: 8rem; /* used instead of html rows to normalize height between Chrome and IE/FF */
	padding-top: 1.25rem;
	padding-left: 1.3125rem;
	border: 1px solid #dadada;
	border-radius: 0.25rem;
	background-color: #fff;
	color: #787976;
	font: 400 1rem/1.5625rem "Open Sans", sans-serif;
	transition: all 0.2s;
}

.form-control-input:focus,
.form-control-select:focus,
.form-control-textarea:focus {
	border: 1px solid #a1a1a1;
	outline: none; /* Removes blue border on focus */
}

.form-control-input:hover,
.form-control-select:hover,
.form-control-textarea:hover {
	border: 1px solid #a1a1a1;
}

.checkbox {
	font: 400 0.875rem/1.375rem "Open Sans", sans-serif;
}

input[type='checkbox'] {
	vertical-align: -15%;
	margin-right: 0.375rem;
}

/* IE10+ hack to raise checkbox field position compared to the rest of the browsers */
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
	input[type='checkbox'] {
		vertical-align: -9%;
	}
}

.form-control-submit-button {
	display: inline-block;
	width: 100%;
	height: 3.125rem;
	border: 0.125rem solid #dcdcdc;
	border-radius: 0.25rem;
	background-color: #dcdcdc;
	color: #fff;
	font: 700 0.75rem/1.75rem "Montserrat", sans-serif;
	cursor: pointer;
	transition: all 0.2s;
}

.form-control-submit-button:hover {
	background-color: transparent;
	color: #dcdcdc
}

/* Form Success And Error Message Formatting */
#lmsgSubmit.h3.text-center.tada.animated,
#cmsgSubmit.h3.text-center.tada.animated,
#pmsgSubmit.h3.text-center.tada.animated,
#lmsgSubmit.h3.text-center,
#cmsgSubmit.h3.text-center,
#pmsgSubmit.h3.text-center {
	display: block;
	margin-bottom: 0;
	color: #b93636;
	font: 400 1.125rem/1rem "Open Sans", sans-serif;
}

.help-block.with-errors .list-unstyled {
	color: #787976;
	font-size: 0.75rem;
	line-height: 1.125rem;
	text-align: left;
}

.help-block.with-errors ul {
	margin-bottom: 0;
}
/* end of form success and error message formatting */

/* Form Success And Error Message Animation - Animate.css */
@-webkit-keyframes tada {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	10%, 20% {
		-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		-ms-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
	}
	30%, 50%, 70%, 90% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		-ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
	}
	40%, 60%, 80% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		-ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
	}
	to {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

@keyframes tada {
	from {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
	10%, 20% {
		-webkit-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		-ms-transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);
	}
	30%, 50%, 70%, 90% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		-ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
	}
	40%, 60%, 80% {
		-webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		-ms-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
		transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
	}
	to {
		-webkit-transform: scale3d(1, 1, 1);
		-ms-transform: scale3d(1, 1, 1);
		transform: scale3d(1, 1, 1);
	}
}

.tada {
	-webkit-animation-name: tada;
	animation-name: tada;
}

.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
/* end of form success and error message animation - Animate.css */

/* Fade-move Animation For Lightbox - Magnific Popup */
/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
	opacity: 0;
	transition: all 0.2s ease-out;
	-webkit-transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
	-ms-transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
	transform: translateY(-1.25rem) perspective(37.5rem) rotateX(10deg);
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
	opacity: 1;
	-webkit-transform: translateY(0) perspective(37.5rem) rotateX(0);
	-ms-transform: translateY(0) perspective(37.5rem) rotateX(0);
	transform: translateY(0) perspective(37.5rem) rotateX(0);
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
	opacity: 0;
	-webkit-transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg);
	-ms-transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg);
	transform: translateY(-0.625rem) perspective(37.5rem) rotateX(10deg);
}

/* dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
	opacity: 0;
	transition: opacity 0.2s ease-out;
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
	opacity: 0.8;
}
/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
	opacity: 0;
}
/* end of fade-move animation for lightbox - magnific popup */

/* Fade Animation For Image Slider - Magnific Popup */
@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.fadeIn {
	-webkit-animation: fadeIn 0.6s;
	animation: fadeIn 0.6s;
}

@-webkit-keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

@keyframes fadeOut {
	from {
		opacity: 1;
	}
	to {
		opacity: 0;
	}
}

.fadeOut {
	-webkit-animation: fadeOut 0.8s;
	animation: fadeOut 0.8s;
}
/* end of fade animation for image slider - magnific popup */


/*************************/
/*     02. Preloader     */
/*************************/
.spinner-wrapper {
	position: fixed;
	z-index: 999999;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: #f3f3f3;
}

.spinner {
	position: absolute;
	top: 50%; /* centers the loading animation vertically one the screen */
	left: 50%; /* centers the loading animation horizontally one the screen */
	width: 3.75rem;
	height: 1.25rem;
	margin: -0.625rem 0 0 -1.875rem; /* is width and height divided by two */
	text-align: center;
}

.spinner > div {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	border-radius: 100%;
	background-color: #272727;
	-webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
	animation: sk-bouncedelay 1.4s infinite ease-in-out both;
}

.spinner .bounce1 {
	-webkit-animation-delay: -0.32s;
	animation-delay: -0.32s;
}

.spinner .bounce2 {
	-webkit-animation-delay: -0.16s;
	animation-delay: -0.16s;
}

@-webkit-keyframes sk-bouncedelay {
	0%, 80%, 100% { -webkit-transform: scale(0); }
	40% { -webkit-transform: scale(1.0); }
}

@keyframes sk-bouncedelay {
	0%, 80%, 100% {
		-webkit-transform: scale(0);
		-ms-transform: scale(0);
		transform: scale(0);
	} 40% {
		  -webkit-transform: scale(1.0);
		  -ms-transform: scale(1.0);
		  transform: scale(1.0);
	  }
}


/**************************/
/*     03. Navigation     */
/**************************/
.navbar-custom {
	padding-top: 0.375rem;
	padding-bottom: 0.375rem;
	background-color: #f3f3f3;
	box-shadow: 0 0.0625rem 0.375rem 0 rgba(0, 0, 0, 0.1);
	font: 600 0.875rem/0.875rem "Open Sans", sans-serif;
	transition: all 0.2s;
}

.navbar-custom .navbar-brand {
	font-size: 0;
}

.navbar-custom .navbar-brand.logo-image img {
	height: 21px;
	-webkit-backface-visibility: hidden;
}

.navbar-custom .navbar-brand.logo-text {
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
	font: 700 2.25rem/1.5rem "Montserrat", sans-serif;
	color: #fff;
	text-decoration: none;
}

.navbar-custom .navbar-nav {
	margin-top: 0.75rem;
	margin-bottom: 0.5rem;
}

.navbar-custom .nav-item .nav-link {
	padding: 0.625rem 0.75rem 0.625rem 0.75rem;
	color: #272727;
	text-decoration: none;
	transition: all 0.2s ease;
}

.navbar-custom .nav-item .nav-link:hover,
.navbar-custom .nav-item .nav-link.active {
	color: #dcdcdc
}

/* Dropdown Menu */
.navbar-custom .dropdown:hover > .dropdown-menu {
	display: block; /* this makes the dropdown menu stay open while hovering it */
	min-width: auto;
	animation: fadeDropdown 0.2s; /* required for the fade animation */
}

@keyframes fadeDropdown {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

.navbar-custom .dropdown-toggle:focus { /* removes dropdown outline on focus  */
	outline: 0;
}

.navbar-custom .dropdown-menu {
	margin-top: 0;
	border: none;
	border-radius: 0.25rem;
	background-color: #113448;
}

.navbar-custom .dropdown-item {
	color: #fff;
	text-decoration: none;
}

.navbar-custom .dropdown-item:hover {
	background-color: #113448;
}

.navbar-custom .dropdown-item .item-text {
	font: 600 0.875rem/0.875rem "Open Sans", sans-serif;
}

.navbar-custom .dropdown-item:hover .item-text {
	color: #dcdcdc
}

.navbar-custom .dropdown-items-divide-hr {
	width: 100%;
	height: 1px;
	margin: 0.75rem auto 0.75rem auto;
	border: none;
	background-color: #b5bcc4;
	opacity: 0.2;
}
/* end of dropdown menu */

.navbar-custom .social-icons {
	display: none;
}

.navbar-custom .navbar-toggler {
	border: none;
	color: #272727;
	font-size: 2rem;
}

.navbar-custom button[aria-expanded='false'] .navbar-toggler-awesome.fas.fa-times{
	display: none;
}

.navbar-custom button[aria-expanded='false'] .navbar-toggler-awesome.fas.fa-bars{
	display: inline-block;
}

.navbar-custom button[aria-expanded='true'] .navbar-toggler-awesome.fas.fa-bars{
	display: none;
}

.navbar-custom button[aria-expanded='true'] .navbar-toggler-awesome.fas.fa-times{
	display: inline-block;
	margin-right: 0.125rem;
}


/*********************/
/*    04. Header     */
/*********************/


.zindex-front{
	z-index: 2;
	position: relative;
}
.zindex-back{
	z-index: 1;
}
/*********************/
/*     05. Intro     */
/*********************/
.basic-1 {
	padding-top: 6.5rem;
	padding-bottom: 3rem;
}

.basic-1 .text-container {
	margin-bottom: 3rem;
}

.basic-1 .section-title {
	margin-bottom: 0.5rem;
}

.basic-1 h2 {
	margin-bottom: 1.375rem;
}

.basic-1 .testimonial-author {
	color: #484a46;
}

/* Hover Animation */
.basic-1 .image-container {
	overflow: hidden;
	border-radius: 0.25rem;
}

.basic-1 .image-container img {
	margin: 0;
	border-radius: 0.25rem;
	transition: all 0.3s;
}

.basic-1 .image-container:hover img {
	-moz-transform: scale(1.15);
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}
/* end of hover animation */


/***************************/
/*     06. Description     */
/***************************/
.cards-1 {
	padding-top: 8rem;
	padding-bottom: 2rem;
}

.cards-1 .card {
	margin-bottom: 2.5rem;
	border: none;
	text-align: center;
}

.cards-1 .fa-stack {
	width: 6rem;
	height: 6rem;
	margin-right: auto;
	margin-bottom: 1rem;
	margin-left: auto;
	line-height: 6rem;
	text-align: left;
}

.cards-1 .fa-stack .hexagon {
	position: absolute;
	width: 6rem;
	height: 6rem;
	background: url('../../images/hexagon-green.svg') center center no-repeat;
	background-size: 6rem 6rem;
}

.cards-1 .fa-stack-1x {
	color: #fff;
	font-size: 2rem;
}

.cards-1 .card-body {
	padding: 0;
}

.cards-1 .card-title {
	margin-bottom: 0.625rem;
}


/************************/
/*     07. Services     */
/************************/
.cards-2 {
	padding-top: 0rem;
	padding-bottom: 1rem;
	background-color: #fbfbfb;
}

.cards-2 .section-title {
	margin-bottom: 0.5rem;
	text-align: center;
}
/*
.cards-2 h2 {
	margin-bottom: 3.25rem;
	text-align: center;
}
*/
.cards-2 .card {
	margin-bottom: 2.5rem;
	/*margin-bottom: 5.625rem;*/
	border: none;
	background-color: transparent;
}

.cards-2 .card-image img {
	border-top-left-radius: 0.375rem;
	border-top-right-radius: 0.375rem;
}

.cards-2 .card-body {
	padding: 2.25rem 2rem 2.125rem 2rem;
	border: 1px solid #ebe8e8;
	border-bottom-left-radius: 0.375rem;
	border-bottom-right-radius: 0.375rem;
	background-color: #fff;
}

.cards-2 h3 {
	margin-bottom: 0.75rem;
	text-align: center;
}

.cards-2 .list-unstyled {
	margin-bottom: 1.5rem;
}

.cards-2 .list-unstyled .fas {
	color: #dcdcdc;
	font-size: 0.5rem;
	line-height: 1.375rem;
}

.cards-2 .list-unstyled .media-body {
	margin-left: 0.625rem;
}

.cards-2 .price {
	margin-bottom: 0.25rem;
	color: #484a46;
	font: 700 1rem/1.5rem "Montserrat", sans-serif;
	text-align: center;
}

.cards-2 .price span {
	color: #dcdcdc
}

.cards-2 .button-container {
	margin-top: -1.375rem;
	text-align: center;
}

.cards-2 .btn-solid-reg:hover {
	background-color: #fff;
}


/*************************/
/*     08. Details 1     */
/*************************/
.accordion .area-1 {
	height: 21rem;
	background: url('../../images/project_recu-2.jpg') center center no-repeat;
	background-size: contain;
}

.accordion .accordion-container {
	max-width: 90%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 2.375rem;
	padding-bottom: 1.5rem;
}

.accordion h2 {
	margin-bottom: 1.525rem;
}

.accordion .item {
	margin-bottom: 2rem;
}

.accordion h4 {
	margin-bottom: 0;
}

.accordion span[aria-expanded="true"] .circle-numbering,
.accordion span[aria-expanded="false"] .circle-numbering {
	display: inline-block;
	width: 1.0rem;
	height: 1.0rem;
	margin-right: 0.875rem;
	border: 0.125rem solid #dcdcdc;
	border-radius: 50%;
	background-color: #484a46;
	color: #fff;
	font: 700 1rem/2.125rem "Montserrat", sans-serif;
	text-align: center;
	vertical-align: middle;
	transition: all 0.2s ease;
}

.accordion span[aria-expanded="false"] .circle-numbering {
	border: 0.125rem solid #484a46;
	background-color: transparent;
	color: #484a46;
}

.accordion .item:hover span[aria-expanded="false"] .circle-numbering {
	border: 0.125rem solid #dcdcdc;
	color: #dcdcdc
}

.accordion .accordion-title {
	display: inline-block;
	/*width: 70%;*/
	margin-top: 0.125rem;
	margin-bottom: 0.25rem;
	color: #484a46;
	font: 700 1.25rem/1.75rem 'Josefin Sans', "Montserrat", sans-serif;
	vertical-align: middle;
	/*cursor: pointer;*/
	transition: all 0.2s ease;
}



.accordion span[aria-expanded="true"] .accordion-title {
	color: #484a46
}


/*************************/
/*     09. Details 2     */
/*************************/
.tabs .tabs-container {
	max-width: 90%;
	margin-right: auto;
	margin-left: auto;
	padding-top: 2rem;
	padding-bottom: 0.5rem;
}

.tabs .nav-tabs {
	justify-content: center;
	margin-bottom: 1.125rem;
	border-bottom: none;
}

.tabs .nav-link {
	margin-right: 1.625rem;
	margin-bottom: 0.875rem;
	padding: 0;
	border: none;
	border-radius: 0.25rem;
	color: #4f4f4d;
	font: 700 1.375rem/1.375rem "Montserrat", sans-serif;
	text-decoration: none;
	transition: all 0.2s ease;
}

.tabs .nav-link:hover,
.tabs .nav-link.active {
	color: #dcdcdc
}

.tabs .nav-link .fas {
	margin-right: 0.125rem;
	font-size: 0.875rem;
	vertical-align: 20%;
}

.tabs #tab-1 .progress-container {
	margin-top: 1.5rem;
}

.tabs #tab-1 .progress-container .title {
	margin-bottom: 0.25rem;
	color: #484a46;
	font: 600 0.875rem/1.25rem "Open Sans", sans-serif;
}

.tabs #tab-1 .progress {
	height: 1.375rem;
	margin-bottom: 1.125rem;
	border-radius: 0.125rem;
	background-color: #f9fafc;
}

.tabs #tab-1 .progress-bar {
	display: block;
	padding-left: 1.5rem;
	border-radius: 0.125rem;
	background: linear-gradient(to bottom right, #14bf98, #1bd1a7);
}

.tabs #tab-1 .progress-bar.first {
	width: 100%;
}

.tabs #tab-1 .progress-bar.second {
	width: 75%;
}

.tabs #tab-1 .progress-bar.third {
	width: 90%;
}

.tabs #tab-2 .list-unstyled {
	margin-top: 1.75rem;
	margin-bottom: 0;
	vertical-align: top;
}

.tabs #tab-2 .list-unstyled .media {
	margin-bottom: 2rem;
}

.tabs #tab-2 .list-unstyled .media-bullet {
	color: #dcdcdc;
	font-weight: 600;
	font-size: 2rem;
	line-height: 2rem;
}

.tabs #tab-2 .list-unstyled .media-body {
	margin-left: 0.875rem;
}

.tabs #tab-3 .list-unstyled .fas {
	color: #dcdcdc;
	font-size: 0.5rem;
	line-height: 1.375rem;
}

.tabs #tab-3 .list-unstyled .media-body {
	margin-left: 0.625rem;
}

.tabs #tab-3 .list-unstyled {
	margin-bottom: 1.75rem;
}

.tabs .area-2 {
	height: 0rem;
	/*height: 27rem;*/
	background: url('/images/details-2-background.jpg') center center no-repeat;
	background-size: cover;
}


/****************************/
/*     10. Testimonials     */
/****************************/
.slider {
	padding-top: 6.375rem;
	padding-bottom: 6.5rem;
	background-color: #fbfbfb;
}

.slider h2 {
	margin-bottom: 0.75rem;
	text-align: center;
}

.slider .slider-container {
	position: relative;
}

.slider .swiper-container {
	position: static;
	width: 90%;
	text-align: center;
}

.slider .swiper-button-prev:focus,
.slider .swiper-button-next:focus {
	/* even if you can't see it chrome you can see it on mobile device */
	outline: none;
}

.slider .swiper-button-prev {
	left: -0.5rem;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23787976'%2F%3E%3C%2Fsvg%3E");
	background-size: 1.125rem 1.75rem;
}

.slider .swiper-button-next {
	right: -0.5rem;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2028%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23787976'%2F%3E%3C%2Fsvg%3E");
	background-size: 1.125rem 1.75rem;
}

.slider .card {
	position: relative;
	border: none;
	background-color: transparent;
}

.slider .card-image {
	width: 6rem;
	height: 6rem;
	margin-right: auto;
	margin-bottom: 0.25rem;
	margin-left: auto;
	border-radius: 50%;
}

.slider .card .card-body {
	padding-bottom: 0;
}

.slider .testimonial-text {
	margin-bottom: 0.625rem;
}

.slider .testimonial-author {
	color: #484a46;
}


/**********************/
/*     11. Call Me    */
/**********************/
.form-1 {
	padding-top: 6.625rem;
	padding-bottom: 5.625rem;
	background-color: #153e52;
}

.form-1 .text-container {
	margin-bottom: 4rem;
}

.form-1 .section-title {
	margin-bottom: 0.5rem;
}

.form-1 h2 {
	margin-bottom: 1.375rem;
	color: #fff;
}

.form-1 .list-unstyled .fas {
	color: #dcdcdc;
	font-size: 0.5rem;
	line-height: 1.375rem;
}

.form-1 .list-unstyled .media-body {
	margin-left: 0.625rem;
}

.form-1 .label-control {
	color: #fff;
}

.form-1 .form-control-input,
.form-1 .form-control-select {
	border: 1px solid #39728f;
	background-color: #2a5d77;
	color: #fff;
}

.form-1 .form-control-textarea {
	border: 1px solid #39728f;
	background-color: #2a5d77;
	color: #fff;
}

.form-1 .form-control-input:focus,
.form-1 .form-control-input:hover,
.form-1 .form-control-select:focus,
.form-1 .form-control-select:hover,
.form-1 .form-control-textarea:focus,
.form-1 .form-control-textarea:hover {
	border: 1px solid #fff;
}

#lmsgSubmit.h3.text-center.tada.animated,
#lmsgSubmit.h3.text-center {
	color: #fff;
}

.form-1 .help-block.with-errors .list-unstyled {
	color: #dfe5ec;
}


/************************/
/*     12. Projects     */
/************************/
.filter {
	padding-top: 6.5rem;
	padding-bottom: 7rem;
}

.filter .section-title {
	margin-bottom: 0.5rem;
}

.filter h2,
.filter .section-title {
	text-align: center;
}

.filter h2 {
	margin-bottom: 3.25rem;
}

.filter .button-group {
	text-align: center;
}

.filter .button-group a {
	display: inline-block;
	margin-right: 0.1875rem;
	margin-bottom: 0.5rem;
	margin-left: 0.1875rem;
	padding: 0.3125rem 1.375rem 0.25rem 1.375rem;
	border-radius: 0.25rem;
	background-color: #f1f4f7;
	color: #7b7e85;
	font: 700 0.75rem/1.25rem "Montserrat", sans-serif;
	cursor: pointer;
	transition: all 0.2s ease;
}

.filter .button-group a:hover {
	background-color: #dcdcdc;
	color: #fff;
}

.filter .button-group a.button.is-checked {
	background-color: #dcdcdc;
	color: #fff;
}

.filter .grid {
	margin-top: 1.25rem;
	border-radius: 0.375rem;
}

/* Hover Animation */
.filter .element-item {
	position: relative;
	float: left;
	overflow: hidden;
	width: 50%;
	background-color: #000; /* to hide 1px white margin in IE */
}

.filter .element-item img {
	max-width: 100%;
	margin: 0;
	transition: all 0.3s;
}

.filter .element-item:hover img {
	-moz-transform: scale(1.15);
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}
/* end of hover animation */

.filter .element-item .element-item-overlay {
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	opacity: 1;
	text-align: center;
	transition: all 0.3s;
}

.filter .element-item .element-item-overlay span {
	position: absolute;
	z-index: 3;
	top: 42%;
	right: 0;
	left: 0;
	color: #fff;
	font: 700 1.125rem/1.625rem "Montserrat", sans-serif;
}


/**********************************/
/*     13. Project Lightboxes     */
/**********************************/
.lightbox-basic {
	position: relative;
	max-width: 62.5rem;
	margin: 2.5rem auto;
	padding: 1.5625rem;
	border-radius: 0.25rem;
	background: #fff;
	text-align: left;
}

.lightbox-basic img {
	margin-right: auto;
	margin-bottom: 2rem;
	margin-left: auto;
	border-radius: 0.25rem;
}

.lightbox-basic .line-heading {
	width: 3rem;
	height: 1px;
	margin-top: 0;
	margin-bottom: 0.625rem;
	margin-left: 0;
	border: none;
	background-color: #dcdcdc
}

.lightbox-basic h6 {
	margin-bottom: 2rem;
}

.lightbox-basic .testimonial-container {
	margin-top: 1.75rem;
	margin-bottom: 2.125rem;
	padding: 1.125rem 1.5rem 1.125rem 1.5rem;
	border-radius: 0.25rem;
	background-color: #fbfbfb;
}

.lightbox-basic .testimonial-text {
	margin-bottom: 0.5rem;
}

.lightbox-basic .testimonial-author {
	margin-bottom: 0;
}

.lightbox-basic .btn-solid-reg,
.lightbox-basic .btn-outline-reg {
	margin-right: 0.375rem;
	margin-bottom: 1rem;
}

.lightbox-basic a.mfp-close.as-button {
	position: relative;
	width: auto;
	height: auto;
	margin-right: 0.5rem;
	color: #484a46;
	opacity: 1;
}

.lightbox-basic a.mfp-close.as-button:hover {
	color: #f2f2f2;
}

.lightbox-basic button.mfp-close.x-button {
	position: absolute;
	top: -0.375rem;
	right: -0.375rem;
	width: 2.75rem;
	height: 2.75rem;
}


/********************/
/*     14. Team     */
/********************/
.basic-2 {
	padding-top: 6.375rem;
	padding-bottom: 3.375rem;
	background-color: #fbfbfb;
	text-align: center;
}

.basic-2 h2 {
	margin-bottom: 0.75rem;
}

.basic-2 .team-member {
	display: inline-block;
	max-width: 13rem;
	margin-right: 1.5rem;
	margin-bottom: 3.5rem;
	margin-left: 1.5rem;
}

/* Hover Animation */
.basic-2 .image-wrapper {
	overflow: hidden;
	margin-bottom: 1.5rem;
}

.basic-2 .image-wrapper img {
	margin: 0;
	transition: all 0.3s;
}

.basic-2 .image-wrapper:hover img {
	-moz-transform: scale(1.15);
	-webkit-transform: scale(1.15);
	transform: scale(1.15);
}
/* end of hover animation */

.basic-2 .team-member .p-large {
	margin-bottom: 0.25rem;
}

.basic-2 .team-member .job-title {
	margin-bottom: 0.75rem;
	color: #484a46;
	font: 700 1rem/1.375rem "Montserrat", sans-serif;
}

.basic-2 .fa-stack {
	width: 1.75rem;
	height: 1.75rem;
	margin-right: 0.125rem;
	margin-left: 0.125rem;
}

.basic-2 .fa-stack .hexagon {
	position: absolute;
	left: 0;
	width: 1.75rem;
	height: 1.75rem;
	background: url('../../images/hexagon-green.svg') center center no-repeat;
	background-size: 1.75rem 1.75rem;
	transition: all 0.2s ease;
}

.basic-2 .fa-stack:hover .hexagon {
	background: url('../../images/hexagon-white.svg') center center no-repeat;
	background-size: 1.75rem 1.75rem;
}

.basic-2 .fa-stack-1x {
	font-size: 0.6875rem;
	line-height: 1.75rem;
	color: #fff;
	transition: all 0.2s ease;
}

.basic-2 .fa-stack:hover .fa-stack-1x {
	color: #dcdcdc
}


/*********************/
/*     15. About     */
/*********************/
.counter {
	padding-top: 6.875rem;
	padding-bottom: 5.25rem;
}

.counter .image-container {
	margin-bottom: 3rem;
}

.counter .image-container img {
	border-radius: 0.25rem;
}

.counter .section-title {
	margin-bottom: 0.5rem;
}

.counter h2 {
	margin-bottom: 1.375rem;
}

.counter .list-unstyled {
	margin-bottom: 1.5rem;
}

.counter .list-unstyled .fas {
	color: #dcdcdc;
	font-size: 0.5rem;
	line-height: 1.375rem;
}

.counter .list-unstyled .media-body {
	margin-left: 0.625rem;
}

.counter #counter {
	text-align: center;
}

.counter #counter .cell {
	display: inline-block;
	width: 9.5rem;
	margin-bottom: 0.75rem;
}

.counter #counter .counter-value {
	display: inline-block;
	margin-bottom: 0.125rem;
	color: #dcdcdc;
	font: 700 2.875rem/3.25rem "Montserrat", sans-serif;
	vertical-align: middle;
}

.counter #counter .counter-info {
	display: inline-block;
	margin-left: 0.5rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	vertical-align: middle;
}


/***********************/
/*     16. Contact     */
/***********************/
.form-2 {
	padding-top: 6.625rem;
	padding-bottom: 5.625rem;
	background-color: #fbfbfb;
}

.form-2 .text-container {
	margin-bottom: 3rem;
}

.form-2 .section-title {
	margin-bottom: 0.5rem;
}

.form-2 h2 {
	margin-bottom: 1.375rem;
}

.form-2 .list-unstyled {
	margin-bottom: 2.25rem;
	font-size: 1rem;
	line-height: 1.625rem;
}

.form-2 .list-unstyled .fas,
.form-2 .list-unstyled .fab {
	margin-right: 0.5rem;
	font-size: 0.875rem;
	color: #dcdcdc;
}

.form-2 .list-unstyled .fa-phone {
	vertical-align: 3%;
}

.form-2 h3 {
	margin-bottom: 1rem;
}

.form-2 .fa-stack {
	margin-right: 0.25rem;
	margin-bottom: 0.75rem;
	margin-left: 0.125rem;
	width: 3.25rem;
	height: 3.25rem;
}

.form-2 .fa-stack .hexagon {
	position: absolute;
	width: 3.25rem;
	height: 3.25rem;
	background: url('../../images/hexagon-green.svg') center center no-repeat;
	background-size: 3.25rem 3.25rem;
	transition: all 0.2s ease;
}

.form-2 .fa-stack:hover .hexagon {
	background: url('../../images/hexagon-white.svg') center center no-repeat;
	background-size: 3.25rem 3.25rem;
}

.form-2 .fa-stack-1x {
	font-size: 1.5rem;
	line-height: 3.25rem;
	color: #fff;
	transition: all 0.2s ease;
}

.form-2 .fa-stack:hover .fa-stack-1x {
	color: #dcdcdc
}


/*
@charset "utf-8";
*/
input,img,iframe,textarea {
	vertical-align: top;
	border: 0;
	max-width: 100%;
}



section {
	padding-top: 3%;
	background-color: #fcfcfc;
}
.clearfix{zoom:1;}
.clearfix:after{
	display:block;
	content:'';
	clear:both;
}
.inner {
	margin: 0% 3% 0;
}
.wrapper {
	width: 100%;
	margin: 0 auto;
	padding: 6% 0;
}
.container {
	margin: 0 auto;
}
.clearfix{zoom:1;}
.clearfix:after{
	display:block;
	content:'';
	clear:both;
}
.view_pc {
	display: block;
}
.view_sp {
	display: none;
}
br.sp {
	display: none;
}
a {
	text-decoration: none;
	color: #121212;
}
a:hover {
	color: #ddd;
}
a.btn:hover {
	opacity:0.8;
}
img {
	max-width: 100%;
	height: auto;
}
ul {
	list-style-type: none;
	text-align: center;
}


.Josefin {
	font-family: 'Josefin Sans', sans-serif;
}

.mv {
	padding-top: 0;
	height: 90vh;
	min-height: 500px;
	position: relative;
}
.mv .inner {
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 0;
	right: 0;
	height: max-content;
}
.mv .wrapper {
	background: transparent;
}
.mv h1 img {
	max-width: 850px;
	margin-bottom: 60px;
}
.news nav ul li {
	display: inline-block;
	margin: 0 3%;
}
.news .news_list ul {
	margin: 5% auto;
}
.news .news_list ul li {
	width: 29%;
	display: inline-block;
	margin: 2% 6% 2% 0;
	vertical-align: top;
}
.news .news_list ul li:nth-child(3n) {
	margin-right: 0;
}
.news .news_list ul li:last-child {
	margin-right: 0;
}
.news .news_list ul li article {
	text-align: left;
}
.news .news_list ul li article .detail p {
	display: inline-block;
	font-weight: bold;
	margin: 20px 10px 0 0;
	font-family: 'Josefin Sans', sans-serif;
}
.news .news_list ul li article p.title {
	/*height: 66px;*/
	overflow: hidden;
}
.news a.btn_all {
	background: #121212;
	font-size: 15px;
	color: #fff;
	padding: 11px 0;
	font-weight: normal;
	margin: 0 auto;
	display: block;
	text-align: center;
	width: 200px;
}
.service p.lead {
	text-align: center;
	margin: 3% auto 5%;
}
.service a {
	color: #999;
}
.service a i {
	margin-right: 5px;
}
.service .box {
	position: relative;
	height: 400px;
}
.service .box.top {
	margin-bottom: 10%;
}
.service .box.bottom {
	margin-bottom: 2%;
}
.service .box h3 {
	margin-bottom: 20px;
}
.service .box img {
	width: 600px;
	position: absolute;
	top: 0;
	margin: auto;
	z-index: 1;
}
.service .box .txt {
	width: 35%;
	position: absolute;
	top: 23%;
}
.service .box.top img {
	left: 0;
}
.service .box.bottom img {
	right: 0;
}
.service .box.top .txt {
	right: 0;
}
.service .box.bottom .txt {
	left: 0;
}
i.fa-external-link {
	margin-right: 2%;
}
.company table {
	text-align: left;
	margin: 0 auto;
	font-size: 14px;
	letter-spacing: 0.1em;
}
.company table tr {
	display: block;
}
.company table th {
	padding: 10px 0;
	width: 200px;
	vertical-align: text-top;
}
.company table td {
	padding: 10px 0;
	width: auto;
}
.company table a {
	color: #999;
	display: block;
}
.contact {
	text-align: center;
	padding: 3% 0 2%;
}
.contact_form_text {
	margin: 10px 0 0;
}
.contact form {
	padding: 20px 0 0;
}
.contact .form {
	width: 80%;
	margin: 0 auto;
}
.contact .form .form_block01 {
	float: left;
	width: 48%;
	text-align: left;
}
.contact .form .form_block02 {
	float: left;
	width: 48%;
	text-align: left;
}
.contact .form label {
	display: block;
	margin-top: 25px;
}
.contact .form label span {
	color: red;
	padding-left: 5px;
}
.contact input {
	background-color: #f3f3f3;
	width: 350px;
	height: 35px;
	border: none;
	border: solid 1px #dcdcdc;
}
.contact input.wpcf7-form-control.wpcf7-submit {
	background-color: #121212;
	width: 90px;
	height: 35px;
	color: #fff;
	border: none;
	font-size: 14px;
	display: block;
	margin: 20px auto 0;
	border-radius: 0;
}
input[type="button"],
input[type="text"],
input[type="email"],
input[type="submit"],
textarea {
	-webkit-appearance: none;
	border-radius: 0;
}
.contact select {
	background-color: #f3f3f3;
	width: 350px;
	height: 35px;
	border: none;
	border: solid 1px #dcdcdc;
}
.contact #message {
	width: 600px;
	max-width: 80%;
	height: 200px;
}
.contact button {
	background-color: #121212;
	color: #101010;
	width: 90px;
	height: 35px;
	border: none;
	font-size: 14px;
}
textarea {
	width: 700px;
	min-height: 200px;
	background-color: #f3f3f3;
	border: none;
	border: solid 1px #dcdcdc;
}
.accept {
	font-size: 13px;
	margin: 20px 0;
}
.accept span.wpcf7-list-item {
	margin-left: 0;
}
.accept input[type="checkbox"] {
	width: 16px;
	height: 16px;
}


/* archive */
.archive_page .wrapper {
	min-height: 100vh;
}
.archive_page nav ul {
	margin-bottom: 3%;
	text-align: center;
	font-family: 'Josefin Sans', sans-serif;
}
.archive_page .tag_list li {
	display: inline-block;
	margin: 0 3%;
	letter-spacing: 0.1em;
	font-size: 14px;
	color: #a5a5a5;
}
.archive_page .tag_list li a {
	color: #a5a5a5;
}
.archive_page .tag_list li.all a {
	color: #161c14;
}
.tag-information .archive_page .tag_list li.information a,
.tag-media .archive_page .tag_list li.media a {
	color: #161c14;
}
.tag-media .archive_page .tag_list li.all a,
.tag-information .archive_page .tag_list li.all a {
	color: #a5a5a5;
}
.archive_page ul.archive_news_box {
	border-bottom: dashed 1px #dedede;
	text-align: center;
}
.archive_page .archive_news_box li{
	width: 28%;
	display: inline-block;
	margin: 0 2% 5% 2%;
	vertical-align: top;
	text-align: left;
}
.archive_page .article_data {
	margin: 7% 0 3%;
	font-size: 13px;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 0.1em;
}
.archive_page .article_data .category {
	margin-left: 6%;
}
.archive_page p.title {
	font-size: 15px;
}


/* pager */
.pager {
	padding-top: 10px;
	text-align: center;
	margin: 20px 0;
}
.page-numbers.current {
	color: #fff;
	background-color: #121212;
	border: 1px solid #121212;
}
.page-numbers {
	background-color: #eeeeee;
	color: #121212;
	padding: 12px 14px;
	margin: 0 5px 0 0;
	border: 1px solid #121212;
}
.page-numbers:hover {
	opacity: 0.8;
}
.page-numbers.current:hover {
	opacity: 1;
}
.page-numbers.dots {
	padding: 0;
	background-color: #fff;
	color: #999;
	border: none;
}
.page-numbers.prev, .page-numbers.next {
	display: none;
}




/* single */
.singe_page .news_box {
	border-top: dashed 1px #231815;
	border-bottom: dashed 1px #231815;
	padding: 5% 0;
}
.singe_page article .date {
	width: 18%;
	display: inline-block;
	font-size: 24px;
	font-family: 'Josefin Sans', sans-serif;
	vertical-align: top;
	margin: 3% 0;
	letter-spacing: 0.1em;
	line-height: 150%;
}
.singe_page article .date span {
	font-size: 13px;
}
.singe_page article .date span.year {
	display: block;
}
.singe_page article .date span.week {
	margin-left: 10px;
}
.singe_page article h1 {
	width: 76%;
	display: inline-block;
	font-size: 24px;
	text-align: left;
	border-left: dashed 1px #231815;
	margin: 3% 0;
	padding-left: 5%;
	line-height: 150%;
}
.singe_page article .category {
	font-size: 13px;
	display: block;
}
.singe_page article img {
	margin: 30px auto;
	display: block;
	max-width: 100%;
	height: auto;
}
.singe_page article .article_text {
	width: 720px;
	margin: 0 auto;
}
.singe_page article .article_text p {
	margin: 15px 0;
	font-size: 15px;
	line-height: 180%;
}
.singe_page article .article_text a {
	text-decoration: underline;
	word-break: break-all;
}
.singe_page article .article_text h2 {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", sans-serif;
	text-align: left;
	font-size: 24px;
	margin: 8% 0 4%;
	padding: 0 0 5px;
	border-bottom: 1px solid;
	line-height: 140%;
	letter-spacing: 0;
}
.singe_page article .article_text table th {
	text-align: left;
	padding: 6px 20px 6px 0;
}
.singe_page article .article_text table td {
	padding: 6px 20px 6px 0;
}
.singe_page article .article_text .btn {
	display: inline-block;
	width: auto;
	min-width: 200px;
	margin: 2% 0 2%;
	padding: 1% 10px;
	font-size: 14px;
	text-align: center;
	background: #121212;
	color: #fff;
	text-decoration: none;
}
.singe_page .related_news h2 {
	font-size: 36px;
	letter-spacing: 0.1em;
	font-weight: 300;
	text-align: center;
	padding: 10% 0 2%;
}
.singe_page .related_news ul {
	text-align: center;
}
.singe_page .related_news li {
	width: 28%;
	display: inline-block;
	margin: 0 2% 5% 2%;
	vertical-align: top;
	text-align: left;
}
.singe_page .related_news .article_data {
	font-size: 13px;
	display: inline-block;
	margin: 7% 0 3%;
	font-family: 'Josefin Sans', sans-serif;
	letter-spacing: 0.1em;
}
.singe_page .related_news .article_data .category {
	padding-left: 10px;
}
.singe_page .related_news .title {
	font-size: 15px;
	display: block;
}
.singe_page .related_news .btn {
	display: block;
	width: 20%;
	margin: 4% auto 0;
	padding: 1% 0;
	font-size: 14px;
	text-align: center;
	background: #121212;
	color: #fff;
}

/* 追加 */
.member ul li {
	display: inline-block;
	width: 24%;
	margin-right: 3%;
	margin-bottom: 5%;
	vertical-align: top;
}
.member ul li:nth-child(3n) {
	margin-right: 0;
}
.member ul li:last-child {
	margin-right: 0;
}
.member img.member {
	width: 285px;
}
.member p.name {
	font-size: 12px;
}
.member p.name span {
	display: block;
	font-size: 18px;
	font-weight: bold;
}
.member .img_box:hover {
	opacity: 0.8;
}
.member .popup {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: .6s;
}
.member .popup.is-show {
	opacity: 1;
	visibility: visible;
}
.member .popup-inner {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	width: 80%;
	max-width: 600px;
	padding: 50px;
	background-color: #fff;
	z-index: 2;
}
.member .popup-inner img {
	width: 40%!important;
	display: inline-block;
}
.member .member_txt_head {
	position: relative;
	margin: 0 0 0 auto;
	text-align: left;
}
.member .popup-inner .member_txt {
	width: 56%;
	display: inline-block;
	margin-left: 3%;
}
.member .popup-inner .member_txt p.name {
	display: inline-block;
	margin: 0;
}
.member .popup table {
	font-size: 13px;
	line-height: 1.4;
	margin-top: 10px;
}
.member .popup table th {
	font-weight: normal;
	padding: 5px 10px 5px 0px;
	vertical-align: top;
}
.member .popup table td {
	text-align: left;
	vertical-align: top;
	padding: 5px 0px 5px 0px;
}
.member .close-btn {
	position: absolute;
	right: 0;
	top: 0;
	width: 50px;
	height: 50px;
	line-height: 50px;
	text-align: center;
	cursor: pointer;
}
.member .close-btn i {
	font-size: 20px;
	color: #333;
}
.member .black-background {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.8);
	z-index: 1;
	cursor: pointer;
}
.member .icon_twitter {
	display: inline-block;
	background: #000;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	position: relative;
	vertical-align: bottom;
	margin-left: 10px;
}
.member ul li:nth-of-type(n+4) .icon_twitter {
	display: none;
}
.member .fab.fa-twitter {
	color: #fff;
	width: 14.14px;
	height: 14px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

/* RECRUIT */
.page h1 {
	font-family: 'Josefin Sans', sans-serif;
	font-size: 38px;
	letter-spacing: 0.1em;
	font-weight: 300;
	text-align: center;
	padding: 2% 0 4%;
}
.page h1 span {
	font-family: 'Open Sans', "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",Meiryo,sans-serif,"宋体",Gulim;
	margin: 2% 0;
	font-size: 18px;
	letter-spacing: 0.1em;
	display: block;
}
.recruit_lead {
	text-align: center;
}
.recruit ul.recruit_list {
	padding: 20px 0 30px;
}
.recruit ul.recruit_list li {
	width:46%;
	margin: 25px auto;
	border: solid 1px #dcdcdc;
	background: #121212;
	font-size: 15px;
	color: #fff;
	text-align: center;
}
.recruit ul.recruit_list li a {
	color: #fff;
	padding: 11px 0;
	display: block;
}
.recruit ul.recruit_list li:hover {
	opacity: 0.8;
}

/** NEWS  phone size **/
a {
	color: #000;
	text-decoration: none;
	outline: none;
}

a:active, a:hover {
	outline-width: 0
}


.section {
	overflow: hidden;
	padding: 40px 0;
	position: relative
}

.section-inner {
	margin: auto;
	max-width: 1020px;
	padding: 0 20px
}

.top-head {
	padding: 20px 0 20px;
	text-align: center
}

.top-pickup {
	border-top: 1px solid #d6d5d5;
}

.n-img-logo {
	text-align: center;
	width: 250px;
	height: 100%;
}

.top-pickup-thumb {
	text-align: center;
}

li {
	text-align: left;
}

li.img {
	text-align: center;
}

/* SP向けの設定 */
@media screen and (max-width: 600px) {

	li {
		text-align: left;
		font-size: 1.15rem;
	}
	li.img {
		text-align: center;
	}


	.st-img {
		vertical-align: middle;
		border-style: none;
		aspect-ratio: auto 200 / 100;
		margin-top: 20px;
		margin-bottom: 20px;
		height: 100%;
	}

	.top-image-wrapper {
        margin-top: 70px;
    }
}

/* Min-width width 992px 以上に適用 */
@media (min-width: 992px) {

	.top-image-wrapper {
        margin-top: 0px;
    }

	.con_textbox {
		font-size: 3rem;
	}

	li {
		text-align: left;
		font-size: 1.8rem;
	}
	li.img {
		text-align: center;
	}


	.st-img {
		vertical-align: middle;
		border-style: none;
		aspect-ratio: auto 200 / 100;
		margin: 20px;
		width: 900px;
		height: 100%;
	}

	.logo-img {
		vertical-align: middle;
		border-style: none;
		aspect-ratio: auto 200 / 100;
		width: 300px;
		height: 100%;
	}

	.sy-img {
		margin-left: 20%;
		margin-right: 20%;
		margin-bottom: 10%;
		width: 300px;
	}

	.top-pickup {
		border-top: 1px solid #d6d5d5;
		font-size: 1.2rem;
	}

	.top-pickup-thumb {
		display: inline-block;
	}

	.top-pickup-block {
		display: inline-block;
		margin-left: 20px;
		margin-top: 20px;
		vertical-align: top;
		width: calc(100% - 280px)
	}

	.top-pickup-block-date {
		color: #5a5858;
		vertical-align: text-top;
	}

	.top-pickup-block-title {
		font-size: 1.125rem;
		font-weight: bold;
		line-height: 1.4;
		margin-top: 0.4rem;
		text-align: left;
	}

	.top-pickup-block-detail {
		margin-top: 0.5rem;
		font-size: .875rem
	}

	.top-pickup-block div::first-line {
		line-height: 1;
		vertical-align: top
	}
	.top .sec-stock .section-inner {
		max-width: 980px
	}

	.p-heading {
		width: 65%;
	}
	/* end of general styles */


	/* Navigation */
	.navbar-custom .social-icons {
		display: block;
		margin-left: 0.5rem;
	}

	.navbar-custom .fa-stack {
		margin-left: 0.375rem;
		font-size: 0.8125rem;
	}

	.navbar-custom .fa-stack .hexagon {
		width: 1.625rem;
		height: 1.625rem;
		position: absolute;
		background: url('/images/hexagon-green.svg') center center no-repeat;
		background-size: 1.625rem 1.625rem;
		transition: all 0.2s ease;
	}

	.navbar-custom .fa-stack:hover .hexagon {
		background: url('/images/hexagon-white.svg') center center no-repeat;
		background-size: 1.625rem 1.625rem;
	}

	.navbar-custom .fa-stack-1x {
		font-size: 0.6875rem;
		line-height: 1.625rem;
		color: #fff;
		transition: all 0.2s ease;
	}

	.navbar-custom .fa-stack:hover .fa-stack-1x {
		color: #dcdcdc
	}
	/* end of navigation */


	/* Header */
	.header .header-content {
		padding-top: 2rem;
		padding-bottom: 2rem;
	}

	.header .text-container {
		margin-top: 2rem;
	}
	/* end of header */


	/* Intro */
	.basic-1 {
		padding-top: 6.875rem;
	}

	.basic-1 .text-container {
		margin-bottom: 0;
	}
	/* end of intro */


	/* Description */
	.cards-1 .card {
		display: inline-block;
		max-width: 17.5rem;
		text-align: left;
		vertical-align: top;
	}

	.cards-1 div.card:nth-child(3n+2) {
		margin-right: 2.5rem;
		margin-left: 2.5rem;
	}
	/* end of description */


	/* Services */
	.cards-2 .card {
		max-width: 18.25rem;
		display: inline-block;
		vertical-align: top;
	}

	.cards-2 .col-lg-12 div.card:nth-child(3n+2) {
		margin-right: 1.25rem;
		margin-left: 1.25rem;
	}
	/* end of services */


	/* Details 1 */
	.accordion {
		height: 44rem;
	}

	.accordion .area-1 {
		width: 50%;
		height: 70%;
		display: inline-block;
		vertical-align: top;
	}

	.accordion .area-2 {
		width: 50%;
		height: 100%;
		display: inline-block;
		vertical-align: top;
	}

	.accordion .accordion-container {
		max-width: 88%;
		margin-left: 2rem;
		padding-bottom: 0;
		font-size: 1.3rem;
	}

	/* Details 2 */
	.tabs {
		height: 40.125rem;
	}

	.tabs .area-1 {
		width: 50%;
		height: 100%;
		display: inline-block;
		vertical-align: top;
	}

	.tabs .area-2 {
		width: 49%;
		height: 100%;
		display: inline-block;
	}

	.tabs .tabs-container {
		max-width: 88%;
		margin-left: 2rem;
		padding-top: 2.75rem;
		padding-bottom: 0;
		font-size: 1.3rem;
	}

	.tabs .nav-tabs {
		justify-content: flex-start;
	}

	/* Call Me */
	.form-1 {
		padding-top: 7rem;
	}

	.form-1 .text-container {
		margin-bottom: 0;
	}
	/* end of call me */


	/* Project Lightboxes */
	.lightbox-basic img {
		margin-bottom: 0;
	}

	.lightbox-basic h3 {
		margin-top: 0.375rem;
	}

	.lightbox-basic .btn-solid-reg,
	.lightbox-basic .btn-outline-reg {
		margin-bottom: 0;
	}
	/* end of project lightboxes */


	/* Team */
	.basic-2 .team-member {
		width: 12.75rem;
		max-width: 100%;
		margin-right: 0.75rem;
		margin-left: 0.75rem;
	}
	/* end of team */

	.counter .image-container {
		margin-bottom: 0;
	}

	.form-2 {
		padding-top: 6.875rem;
	}

	.form-2 .text-container {
		margin-bottom: 0;
	}

	.ex-header h1 {
		width: 80%;
		margin-right: auto;
		margin-left: auto;
	}

	.ex-basic-2 {
		padding-bottom: 5rem;
	}

	#contactcom {
		width: 100%;
		padding-top: 60px;
		padding-bottom: 100px;
		position: relative;
	}

	.accordion .accordion-title {
		display: inline-block;
		margin-top: 1.125rem;
		margin-bottom: 0.25rem;
		color: #484a46;
		font: 700 1.85rem / 2.4rem 'Josefin Sans', "Montserrat", sans-serif;
		vertical-align: middle;
		transition: all 0.2s ease;
	}

}

/* Min-width width 1600px 以上に適用 */
@media (min-width: 1600px) {

	.navbar-custom {
		padding-right: 12rem;
		padding-left: 12rem;
	}

	.navbar-custom.top-nav-collapse {
		padding-right: 12rem;
		padding-left: 12rem;
	}

	.top-image-wrapper {
        margin-top: 0px;
    }
}
