/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jul 30 2025 | 15:52:28 */
/* 04. Header css */
.header_dummy {
	  display: block;
		width: 100%;
		height: 100px;
		position: relative;
}
.header {
	/* position: absolute; */
	position: fixed;
	z-index: 99;
	width: 100%;
	padding-right: 30px;
}

.header:after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100px;
	background: #fff;
	content: "";
	z-index: -1;
}
.header:before {
    /* border-color: #2996cd transparent; */
    /* border-style: solid; */
    /* border-width: 0 60px 100px; */
    content: "";
    right: -700px;
    position: absolute;
    width: 1150px;
    z-index: 1;
    background-image: url(/wp-content/uploads/sites/775/2022/07/gradation_2x.png);
    height: 100px;
    background-size: 450px;
    background-position: center left;
	display: none;
}
.header .container {
	margin-left: 0
}

.header .col-lg-12 {
	padding-left: 0
}

.header-inn {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between
}

.site-logo a {
    padding: 35px 25px;
    background: #003d75;
    width: 195px;
    display: inline-block;
    text-align: center;
    border-radius: 0 0 30px 0;
}

.header-navigation {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-flex: 1;
	-ms-flex: 1;
	flex: 1;
	position: relative;
	z-index: 11;
}

.mainmenu ul {
    padding-left: 90px;
    margin: 0;
}

.mainmenu ul li {
	display: inline-block;
	list-style: none;
	margin-right: 20px;
	position: relative
}

.mainmenu ul li a {
    font-weight: 500;
    color: #666;
    text-transform: uppercase;
    display: block;
    padding: 36px 0;
    position: relative;
    background: -webkit-linear-gradient(left, #2996cd, #2996cd 50%, #666 50%);
    background: linear-gradient(to right, #2996cd, #2996cd 50%, #666 50%);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-size: 200% 100%;
    background-position: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 600;
    letter-spacing: 0.15em;
    font-size: 15px;
}
.mainmenu ul>li.active a:before {
	position: absolute;
	content: '';
	background: #2996cd;
	left: 50%;
	bottom: 25px;
	width: 25px;
	height: 3px;
	border-radius: 5px;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}

.mainmenu ul li a:hover {
	background-position: 0 100%;
	border-color: #2996cd;
	text-decoration: none;
}

.mainmenu ul>li.active>a {
	background-position: 0 100%;
	border-color: #2996cd;
}

.mainmenu ul li ul {
	position: absolute;
	top: 120%;
	left: 0;
	width: 200px;
	background: #fff;
	padding: 0;
	-webkit-transition: all 0.4s ease 0s;
	transition: all 0.4s ease 0s;
	visibility: hidden;
	opacity: 0;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"
}

.mainmenu ul li:hover ul {
	visibility: visible;
	top: 100%;
	opacity: 1;
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"
}

.mainmenu ul li ul li {
	margin: 0;
	display: block;
	border-top: 1px solid #eee
}

.mainmenu ul li ul li a {
	display: block;
	padding: 14px 20px;
	text-transform: capitalize;
	font-size: 15px
}

nav#menu .sns_link{
	display: none;
}

.header_right {
    font-size: 0;
    letter-spacing: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    float: left;
    margin-left: 45px;
    flex-wrap: wrap;
    width: 135px;
		position: relative;
}
.header_right span {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0.15em;
    width: 100%;
    text-align: left;
    line-height: 1;
    margin-bottom: 10px;
    margin-left: 10px;
    font-family: 'Noto Sans JP', sans-serif;
}
.header_right a {
    display: block;
    margin-left: 15px;
}

.header_right:last-child:after {
    content: "";
    width: 1px;
    height: 100%;
    background: #fff;
    display: block;
    position: absolute;
    top: 0;
    left: -20px;
}

/* .header-btn {
	display: inline-block;
	padding: 16px 25px 16px 40px;
	background: #fff none repeat scroll 0 0;
	border-radius: 5px;
	text-transform: capitalize;
	font-weight: 500;
	margin-left: 35px;
	position: relative;
	color: #2996cd
}

.header-btn>div {
	position: absolute;
	left: -16px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: #2996cd;
	text-align: center;
	color: #2996cd;
	border-radius: 5px;
	line-height: 40px;
	z-index: 1;
}

.header-btn>div i {
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	padding: 8px;
	border-radius: 5px;
}

.header-btn>div:after {
	position: absolute;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 4px solid #2996cd;
	z-index: -1;
	border-radius: 5px;
} */

.search-toggle {
	color: #fff;
	padding: 10px
}

.search-toggle:hover {
	color: #000
}

#search-overlay {
	display: none;
}

.block {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: auto;
	text-align: center;
	background: rgba(0, 0, 0, 0.9);
	margin: 0;
	z-index: 99
}

.block:before {
	content: '';
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

.centered {
	display: inline-block;
	vertical-align: middle;
	width: 50%;
	padding: 10px 15px;
	color: #FFF;
	border: none;
	background: transparent;
}

#search-box {
	position: relative;
	width: 100%;
	margin: 0;
}

#search-form {
	height: 4em;
	border-bottom: 1px solid #fff;
	background-color: transparent;
	overflow: hidden;
}

#search-box input[type="text"] {
	width: 100%;
	padding: 20px;
	color: #fff;
	outline: none;
	font-size: 20px;
	background: transparent
}

#search-button {
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: auto;
	font-size: 18px;
	color: #fff;
	font-weight: 600;
	text-align: center;
	line-height: 42px;
	border-width: 0;
	background-color: transparent;
	border-radius: 0 2px 2px 0;
	cursor: pointer;
}

#close-btn {
	position: fixed;
	top: 20px;
	right: 20px;
	color: #fff
}

.spinner-master {
	display: none;
}

.spinner-spin {
	text-indent: -99999px;
	width: 22px;
	cursor: pointer;
}

nav#menu>ul>li.block_sp {
	  display: none !important;
}
footer {
    background-color: #eeeeee;
    margin: 0;
    padding-top: 40px;
}
.wrap_copyright {
    border-top: 1px solid #b7b7b7;
    padding: 15px 0;
}
p.copyright {
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1;
    color: #666;
	text-align: center;
}
.wrap_linklist {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 40px;
}
footer .box_col12 {
    width: 100%;
    margin-bottom: 45px;
}
footer .box_col2 {
    width: calc(100% / 5 - 40px);
    position: relative;
}
footer .box_col2:not(:last-child):after {
    content: "";
    width: 1px;
    height: 100%;
    background: #b7b7b7;
    display: block;
    position: absolute;
    top: 0;
    right: -20px;
}
footer .box_col2 h3 {
    font-size: 14px;
    font-weight: 600;
    color: #666;
    letter-spacing: 0.1em;
    margin-bottom: 18px;
}
footer .box_col2 h3 a {
    color: #666;
}
footer .box_col2 h3 a:hover {
  	text-decoration: none;
	  color: #003d75;
}
footer .box_col2 ul {
    margin: 0;
}
footer .box_col2 ul li:not(:last-child) {
    margin-bottom: 12px;
}
footer .box_col2 ul li {
    list-style: none;
    line-height: 1.5;
    font-size: 13px;
    font-weight: 500;
    letter-spacing: 0.1em;
}
footer .box_col2 ul li a {
    color: #666;
}
footer .box_col2 ul li a:hover {
    text-decoration: none;
    color: #003d75;
}
footer .footerbox1 ul li {
    font-weight: 600;
    font-size: 14px;
}
footer .box_col2:not(.footerbox1) ul li {
    padding-left: 20px;
    position: relative;
}
footer .box_col2:not(.footerbox1) ul li:before {
    content: "\03e";
    width: 15px;
    height: 30px;
    position: absolute;
    left: 0;
    top: -1px;
    color: #666;
}

.header-inn {
    padding-left: 195px;
}
.site-logo {
    position: absolute;
    left: 0;
    top: 0;
}

@media(max-width: 1550px) {
	.header-inn {
	    padding-left: 0;
	}
	.site-logo {
	    position: relative;
	}
	.header {
	    padding-right: 20px;
	}
	.mainmenu ul {
	    padding-left: 60px;
	}
	.header:before {
	    right: -750px;
	}
	.header_right a img {
	    width: 25px;
	}
	.header_right span {
	    margin-left: 15px;
	}
	.site-logo a {
	    padding: 20px;
	    width: 120px;
	    border-radius: 0 0 25px 0;
	}
	.site-logo a img {
	    width: 70px;
	}
}

@media(max-width: 1440px) {
	.mainmenu ul {
	    padding-left: 40px;
	}
	.header_right {
	    width: 120px;
	}
	.header:before {
	    right: -780px;
	}
	.mainmenu ul li a {
	    padding: 37px 0 36px;
	    letter-spacing: 0.1em;
	    font-size: 14px;
	}
	.mainmenu ul li {
	    margin-right: 18px;
	}
}

@media(max-width: 1250px) {
	.header_right:first-child {
	    margin-left: 0;
	}
	.header_right a img {
	    width: 20px;
	}
	.header_right {
	    width: 105px;
	}
	.header:before {
	    right: -825px;
	}
	.mainmenu ul li a {
	    letter-spacing: 0.01em;
	}
}

@media(max-width: 1150px) {
	.mainmenu ul {
	    padding-left: 20px;
	}
	.mainmenu ul li a {
	    padding: 38px 0 37px;
	    font-size: 13px;
	}
	.header:before {
	    right: -865px;
	}
	.header_right a {
	    margin-left: 10px;
	}
	.header_right {
	    width: 90px;
	}
	.header_right span {
	    font-size: 13px;
	}
}

@media(max-width: 1050px) {
	.mainmenu ul li {
	    margin-right: 10px;
	}
}

@media(max-width: 991px) {
	.header_dummy {
	    height: 75px;
	}
	.site-logo a {
	    width: 100px;
	    border-radius: 0;
	    padding: 10px 10px;
	}
	.site-logo a img {
	    width: 55px;
	}
	.header-action {
	    display: none;
	}
	nav#menu>ul>li.block_sp {
	    display: block !important;
	}
	nav#menu>ul>li.block_sp span {
	    font-family: 'Noto Sans JP', sans-serif;
	    font-weight: 600;
	    color: #fff;
	    font-size: 14px;
	    padding: 10px;
	    display: block;
	    padding-bottom: 0;
	}
	nav#menu>ul>li.block_sp a {
	    border-bottom: none;
	    display: inline-block;
	    padding: 8px 10px;
	    width: 45px;
	}
	nav#menu>ul>li.block_sp a[href^="tel:"] {
    pointer-events: all;
	}
	nav#menu>ul>li>a:hover {
	    text-decoration: none;
	    opacity: .8;
	}
	nav#menu>ul>li.block_sp:last-child {
	    border-top: 1px solid rgba(255, 255, 255, 0.13);
	}
	.spinner-master * {
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
		box-sizing: border-box;
	}
	.spinner-master {
		position: relative;
		width: 46px;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		background: transparent;
		height: 46px;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		margin-left: 5px;
		z-index: 9999;
		margin-top: 15px;
	}
	.spinner:nth-child(2n) {
		width: 70% !important
	}
	.spinner-master label {
		cursor: pointer;
		height: auto;
		width: 100%;
		padding: 0;
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
		top: -13px;
		position: relative;
	}
	.spinner-master .spinner {
		height: 2px;
		width: 100%;
		background-color: #fff;
	}
	.spinner-master .horizontal {
		margin-top: 6px;
	}
	.spinner-master .diagonal.part-2 {
		margin-top: 6px;
	}
	.spinner-master.active .spinner-spin>.horizontal {
		opacity: 0;
		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	}
	.spinner-master.active .spinner-spin>.diagonal.part-1 {
		transform: rotate(135deg);
		-webkit-transform: rotate(135deg);
		margin-top: 3px;
		background-color: #fff;
	}
	.spinner-master.active .spinner-spin>.diagonal.part-2 {
		transform: rotate(-135deg);
		-webkit-transform: rotate(-135deg);
		margin-top: -10px;
		background-color: #fff;
	}
	nav#menu {
		position: absolute;
		top: 75px;
		left: 0;
		width: 100%;
		display: block;
		z-index: 99;
	}
	nav#menu,
	nav#menu>ul ul {
		overflow: hidden;
		max-height: 0;
		background-color: rgba(255,255,255,0.9);
		-webkit-transition: all 0.4s ease 0s;
		transition: all 0.4s ease 0s;
	}
	nav#menu.active,
	nav#menu>ul ul.active {
		max-height: 100vh;
		height: calc( 100vh - 60px);
		overflow: auto;
		padding: 20px;
	}
	nav#menu>ul>li {
		display: block !important;
		margin: 0 !important;
		width: 50%;
		box-sizing: border-box;
	}
	nav#menu ul ul,
	nav#menu ul ul ul {
		display: inherit;
		position: relative;
		left: auto;
		top: auto;
		padding: 0
	}
	nav#menu ul ul.sub-menu {
		left: 0;
		-webkit-transform: translateX(0);
		transform: translateX(0);
		box-shadow: none;
	}
	nav#menu ul ul.sub-menu.active {
	    visibility: visible;
	    opacity: 1;
	    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
	    max-height: 55em;
	    padding: 10px 5px 0;
	}
	nav#menu>ul>li>a {
		display: block;
		position: relative;
		padding: 10px 0;
		color: #707070;
		border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	}
	nav#menu>ul>li:last-child>a {
		border-bottom: 0px
	}
	nav#menu li.has-submenu>a:before {
		position: absolute;
		top: 10px;
		right: 0px;
		display: block;
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		font-size: 15px
	}
	.megamenu.active {
		padding: 15px 0 !important
	}
	.sub-menu:before {
		height: 90% !important;
		left: 50% !important;
		-webkit-transform: translate(-50%, -50%) !important;
		transform: translate(-50%, -50%) !important;
	}
	.sub-menu:after {
		display: none
	}
	nav#menu li.has-submenu>a.active:after {
	    content: "-";
	    margin-left: 10px;
	}
	nav#menu ul ul>li a {
	    padding: 7px 20px;
	    font-size: 14px;
	    color: #707070;
	    -webkit-text-fill-color: #707070;
	    font-family: 'Noto Sans JP', sans-serif;
	    font-weight: 600;
	    letter-spacing: 0.1em;
	}
	nav#menu ul ul>li a:hover {
	    text-decoration: none;
	    opacity: .8;
	}
	nav#menu .sns_link{
		display: flex;
		margin-top: 30px;
	}
	nav#menu .sns_link p{
		padding: 0 20px 0 10px;
	}
	
	.mainmenu ul li ul li {
		border: none
	}
	.header:before {
		display: none
	}
	.header:after {
		display: none
	}
	.header-btn {
		display: none
	}
	.header-navigation {
		-webkit-box-pack: end;
		-ms-flex-pack: end;
		justify-content: flex-end;
	}
	.header {
	    padding-right: 0;
	    background: #003d75;
	}
	.header-navigation {
		position: static
	}
	.mainmenu ul {
		padding-left: 0;
		margin: 0;
		display: flex;
        flex-wrap: wrap;
	}
	nav#menu>ul>li>a {
		padding: 10px;
		background: transparent;
		-webkit-text-fill-color: #707070;
		font-size: 14px;
		letter-spacing: 1px;
	}
	.centered {
		width: 80%
	}
	#search-box input[type="text"] {
		font-size: 16px
	}
	.block {
		z-index: 999999
	}
	.hero-social {
		width: 60px
	}
	.hero-social ul li a {
		font-size: 14px
	}
	.hero-social ul li {
		margin-top: 20px
	}
	.hero-social p {
		font-size: 14px
	}
	.breadcrumb-area .hero-social p {
		display: none
	}
	.service-video-box-text p {
		font-size: 16px
	}
	.no-paading {
		padding: 0 15px
	}
	.portfolio-box {
		margin-top: 30px
	}
	.portfolio-page {
		padding-top: 70px
	}
	.countdown-box {
		display: none
	}
}

@media(max-width: 767px) {
    #welcome {
        max-height: 35px;
    }
	.hero-text h2 {
		font-size: 40px;
		letter-spacing: 3px;
	}
	.hero-action .cta-btn {
		display: inline-block;
		padding: 14px 17px !important;
		text-align: center;
		margin: 3px;
	}
	.hero-slide-item .video-main {
		display: none
	}
	.section-title {
		font-size: 38px;
		line-height: 44px;
	}
	.sub-title {
		letter-spacing: 3px;
		font-size: 20px;
	}
	.about-counter {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 40px;
		margin-top: 50px;
		text-align: center
	}
	.counter-box {
		padding-left: 0;
		margin-bottom: 30px;
		text-align: center
	}
	.counter-box h2 {
		font-size: 40px
	}
	.counter-box p {
		font-size: 14px;
		letter-spacing: 0
	}
	.about-right {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center
	}
	.about-right>img {
		float: left;
		width: 50%;
		position: static
	}
	.service-area {
		padding-top: 0
	}
	.service-page-area {
		padding-top: 70px
	}
	.service-text h3 {
		font-size: 30px
	}
	.tour-area .container:before {
		top: 90px
	}
	.project-box p {
		font-size: 14px;
		left: -110px;
		bottom: 135px;
		letter-spacing: 4px;
	}
	.project-box h3 {
		top: 15px;
		left: 20px;
		letter-spacing: 2px;
		font-size: 19px;
	}
	.project-box:hover p {
		letter-spacing: 20px;
	}
	.project-box:hover .project-zoom {
		-webkit-transform: scale(1) translateX(-50%);
		transform: scale(1) translateX(-50%);
	}
	.projects-area {
		padding-bottom: 100px;
	}
	.latest-news-area .row .col-lg-6:last-child {
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
		margin-top: 60px;
	}
	.news-date {
		letter-spacing: 2px;
		font-size: 14px;
	}
	.news-text h3 {
		letter-spacing: 2px;
		font-size: 22px;
	}
	.single-footer {
		margin: 30px 0;
	}
	.signature-left {
		width: 50%
	}
	.signature-right h3 {
		font-size: 22px
	}
	.hero-slide-item .hero-text {
		padding-top: 0
	}
	.hero-slider .owl-nav {
		padding-left: 60px;
		left: 50%;
		-webkit-transform: translateX(-50%);
		transform: translateX(-50%);
		bottom: 10px
	}
	.hero-social p {
		display: none
	}
	.single-footer p br {
		display: none
	}
	.breadcrumb-inn h1 {
		font-size: 50px;
		letter-spacing: 4px;
		line-height: 55px
	}
	.breadcrumb-area {
		padding-top: 200px;
		padding-bottom: 150px;
	}
	.breadcrumb-inn {
		padding-left: 60px;
	}
	.about-text {
		overflow: hidden;
	}
	.expertise-area:before {
		width: 100%;
	}
	.expertise-bg {
		display: none
	}
	p {
		font-size: 16px;
		line-height: 26px;
	}
	.latest-news-area .row .col-md-6:last-child {
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
		margin-top: 50px;
	}
	.team-meta h4 {
		font-size: 24px
	}
	.expertise-area {
		background: #000
	}
	.expertise-inn {
		-webkit-transform: translateY(0);
		transform: translateY(0)
	}
	.expertise-area:before {
		display: none
	}
	.team-area {
		padding-top: 100px
	}
	.projects-page-area .col-md-5:nth-child(2n+2) {
		-webkit-transform: translateY(30px);
		transform: translateY(30px);
	}
	.projects-page-area .project-box {
		margin-bottom: 30px;
	}
	.service-video-box-area .site-heading br {
		display: none
	}
	.service-video-box-area .site-heading {
		text-align: center
	}
	.service-video-box-text:before {
		left: 0
	}
	.portfolio-page .col-md-4:last-child {
		display: none
	}
	.accordion-button {
		font-size: 18px
	}
	.faq-accordion {
		padding: 20px;
		margin-bottom: 30px
	}
	.accordion-button:after {
		width: 1rem;
		height: 1rem;
		background-size: 1rem;
	}
	.contact-form {
		padding: 30px
	}
	.single-contact-info {
		padding-left: 20px
	}
	.contact-page-right {
		margin-top: 30px
	}
	.error-page-inn h2 {
		font-size: 76px;
		line-height: 60px;
		letter-spacing: 10px;
	}
	.comming-soon-content h1 {
		font-size: 44px
	}
	.blog-info p span {
		font-size: 14px
	}
	.comment-form-group {
		margin-top: 10px
	}
	.comment-form-text textarea {
		margin-top: 10px
	}
	.blog-sidebar {
		margin-top: 30px
	}
}

@media(max-width: 575px) {
	.projects-page-area .col-md-5:nth-child(2n+2) {
		-webkit-transform: translateY(0px);
		transform: translateY(0px);
	}
	.projects-page-area .project-box {
		margin-bottom: 30px;
	}
	.projects-page-area {
		padding-bottom: 70px
	}
	.faq-page-area .site-heading {
		text-align: center
	}
	.blog-info {
		display: block
	}
	.blog-info-comments {
		text-align: center
	}
	.b_info_flex {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center
	}
	.blog-info p span {
		font-size: 14px;
	}
	.blog-replay-box {
		margin-left: 100px;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.hero-area .hero-slide-item {
		height: 600px
	}
	.hero-slide-item .hero-text {
		padding-top: 0
	}
	.hero-text h2 {
		font-size: 56px;
		letter-spacing: 2px
	}
	.section-title {
		font-size: 45px;
		line-height: 54px;
	}
	.counter-box {
		padding-left: 10%
	}
	.counter-box h2 {
		font-size: 36px;
		line-height: 36px
	}
	.about_img_1 {
		display: none
	}
	.tour-area .container:before {
		width: 2600px
	}
	.project-box p {
		font-size: 16px;
		left: -110px;
		bottom: 150px;
		letter-spacing: 6px;
	}
	.project-box h3 {
		top: 15px;
		left: 20px;
		letter-spacing: 2px;
		font-size: 24px;
	}
	.project-box:hover p {
		letter-spacing: 20px;
	}
	.project-box:hover .project-zoom {
		-webkit-transform: scale(1) translateX(-50%);
		transform: scale(1) translateX(-50%);
	}
	.projects-area {
		padding-bottom: 100px
	}
	.news-text h3 {
		letter-spacing: 2px;
		font-size: 22px;
	}
	.news-date {
		font-size: 16px;
		letter-spacing: 1px;
		margin-bottom: 5px
	}
	.news-text {
		padding: 15px
	}
	.latest-news-area .row .col-md-6:last-child {
		-webkit-transform: translateY(-55px);
		transform: translateY(-55px);
	}
	.single-footer {
		margin: 30px 0;
	}
	.counter-box p {
		letter-spacing: 1px
	}
	.breadcrumb-area {
		padding-top: 200px;
		padding-bottom: 150px;
	}
	.breadcrumb-inn {
		padding-left: 60px;
	}
	.about-text {
		overflow: hidden;
	}
	p {
		font-size: 16px;
		line-height: 26px;
	}
	.team-meta {
		padding: 0 15px
	}
	.team-meta h4 {
		font-size: 26px;
		letter-spacing: 1px;
	}
	.projects-page-area {
		padding-bottom: 50px
	}
	.service-video-box-area .site-heading br {
		display: none
	}
	.service-video-box-area .site-heading {
		text-align: center
	}
	.service-video-box-text:before {
		left: 0
	}
	.faq-accordion {
		padding: 20px
	}
	.accordion-button {
		font-size: 18px
	}
	.contact-form {
		padding: 30px
	}
	.single-contact-info {
		padding-left: 20px
	}
	.contact-page-right {
		margin-top: 30px
	}
	.error-page-inn h2 {
		font-size: 100px;
		line-height: 90px;
		letter-spacing: 10px;
	}
	.blog-sidebar {
		margin-top: 0px
	}
	.blog-replay-box {
		margin-left: 130px
	}
	.comment-form-group {
		margin-top: 10px
	}
	.comment-form-text textarea {
		margin-top: 10px
	}
}

@media (max-width: 1024px) {
	.hero-slider .owl-nav {
		padding-left: 15%
	}
	.section-title {
		font-size: 50px;
		letter-spacing: 2px;
		line-height: 55px;
	}
	.signature-left {
		width: 145px
	}
	.about_img_1 {
		left: -80px
	}
	.tour-area .container:before {
		width: 2800px
	}
	.project-box p {
		font-size: 20px;
		left: -110px;
		bottom: 150px;
		letter-spacing: 6px;
	}
	.project-box h3 {
		top: 15px;
		left: 20px;
		letter-spacing: 2px;
		font-size: 30px;
	}
	.project-box:hover p {
		letter-spacing: 20px;
	}
	.project-box:hover .project-zoom {
		-webkit-transform: scale(1) translateX(-50%);
		transform: scale(1) translateX(-50%);
	}
	.breadcrumb-inn {
		padding-left: 60px
	}
	.about-text {
		overflow: hidden
	}
	.team-meta {
		padding: 0 15px
	}
	.team-meta h4 {
		font-size: 26px;
		letter-spacing: 1px;
	}
	.flip-clock-wrapper {
		width: 68%
	}
}

@media (max-width: 480px) {

	nav#menu {
		top: 60px;
	}

	.header_dummy {
	    height: 60px;
	}
	.site-logo a {
	    width: auto;
	    border-radius: 0;
	    padding: 10px 15px;
	}
	.site-logo a img {
	    width: 40px;
	}
	.spinner-master {
	    margin-top: 7px;
	}
	footer .box_col12 {
	    margin-bottom: 35px;
	}
	footer .box_col12 img.footer_logo {
	    width: 200px;
	}
	footer .box_col2 {
	    width: calc(100% / 2 - 15px);
	}
	footer .box_col2:not(:last-child):after {
	    content: none;
	}
	footer .box_col2:nth-child(odd):after {
	    content: "";
	    width: 1px;
	    height: 100%;
	    background: #b7b7b7;
	    display: block;
	    position: absolute;
	    top: 0;
	    left: -16px;
	}
	footer .box_col2:not(:last-child) {
	    margin-bottom: 30px;
	}
	footer .box_col2 ul li:not(:last-child) {
	    margin-bottom: 10px;
	}
	footer .box_col2:not(.footerbox1) ul li:before {
	    width: 10px;
	    height: 20px;
	    top: 0;
	    font-size: 13px;
	}
	footer .box_col2:not(.footerbox1) ul li {
	    padding-left: 15px;
	}
	footer .box_col2 h3 {
	    margin-bottom: 15px;
	}
	.wrap_copyright {
	    padding: 12px 0;
	}
	p.copyright {
	    font-size: 13px;
	}
}





body.single-voice  #content.site-content{
	margin-top: 0;
}
body.single-staff  #content.site-content{
	margin-top: 0;
}


.es-link-container{
	display: none;
}
.es-article-single .list-explanation{
	display: none;
}
.es-article-single .kokoku-detail-point{
	display: none;
}



.type-info .entry-header{
	text-align: center;
}
.type-info .entry-header .post_type_name{
	margin-bottom: 50px;
	border-bottom: none; 
}
.type-info .entry-content{
	max-width: 1120px;
	margin: 0 auto;
	padding: 50px 50px 10px;
	background-color:#F4F9FF;
	border-radius: 40px;
}

@media (max-width: 767px) {
    .type-info .entry-content .uagb-columns__stack-mobile>.uagb-columns__inner-wrap {
        display: flex;
    }
	.type-info .entry-content .uagb-column__inner-wrap{
		padding: 0;
	}
}

@media (max-width: 480px) {
	.type-info .entry-title{
		font-size: 22px;
	}
.type-info .entry-content{
	max-width: 1120px;
	margin: 0 15px;
	padding: 30px 15px 10px;
	background-color:#F4F9FF;
	border-radius: 20px;
}

}

.es-blog-single-style-1 .type-post{
	max-width: 1120px;
	margin: 0 auto;
	padding: 50px 50px 10px;
	background-color:#F4F9FF;
	border-radius: 40px;
}
@media (max-width: 767px) {
    .es-blog-single-style-1 .type-post .uagb-columns__stack-mobile>.uagb-columns__inner-wrap {
        display: flex;
    }
	.es-blog-single-style-1 .type-post .uagb-column__inner-wrap{
		padding: 0;
	}
}
@media (max-width: 480px) {
.es-blog-single-style-1 .type-post{
	max-width: 1120px;
	margin: 0 15px;
	padding: 30px 15px 10px;
	background-color:#F4F9FF;
	border-radius: 20px;
}
.entry-header.blog h1 {
    font-size: 1.3rem;
}

}


.type-voice .entry-header{
	display: none;
}
@media (max-width: 767px) {
    .type-voice  .entry-content .uagb-columns__stack-mobile>.uagb-columns__inner-wrap {
        display: flex;
    }
	.type-voice  .entry-content .uagb-column__inner-wrap{
		padding: 0;
	}
}

    .voice-container {
        max-width: 1200px;
        margin: 60px auto 0;
        position: relative;
        padding-bottom: 120px;
    }
    
    .voice-container .voice-image {
        max-width: 55%;
        position: relative;
        z-index: 2;
        border-radius: 20px ;
    }
    
    .voice-container .voice-image img {
        max-width: 100%;
        min-height: 400px;
        object-fit: cover;
        border-radius: 20px ;
    }
    
    .voice-container .voice-content {
        position: absolute;
        top: 100px;
        right: 0;
        background-color: #F4F9FF;
        padding: 100px 80px 100px 160px;
        width: 55%;
        box-sizing: border-box;
        z-index: 1;
        border-radius: 20px ;
    }
    
    .voice-container .voice-text {
        font-size: 30px;
        line-height: 1.5;
        color: #333333;
        font-weight: bold;
    }
    
    .voice-container .voice-text span{
        font-size: 26px;
        line-height: 1.5;
        color: #003D75;
        display: block;
    }
    
    /* レスポンシブ対応 */
    @media (max-width: 480px) {
        .voice-container {
            display: block;
            width: 100%;
            padding-bottom: 0;
        }
        .voice-container .voice-image {
            width: 100%;
            border-radius: 0;
            max-width: 100%;
        }
        .voice-container .voice-image img {
            width: 100%;
            max-width: 100%;
            height: auto;
            border-radius: 0;
        }
        
        .voice-container .voice-content {
            width: 100%;
            border-radius: 0;
            position: initial;
            padding: 40px 30px;
        }
        .voice-container .voice-text {
            font-size: 24px;
        }
        .voice-container .voice-text span{
            font-size: 18px;
        }
    }

   .survey-container {
        max-width: 1120px;
        margin: 50px auto;
        background-color: #FFFFFF;
        border: 3px solid #003D75;
        border-radius: 30px;
        padding: 60px 120px;
        box-sizing: border-box;
    }
    
    .survey-container .survey-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 50px;
        padding-bottom: 30px;
        border-bottom: 1px solid #333333;
    }
    
    .survey-container .satisfaction-section img {
        max-width: 440px;
        height: auto;
    }
    
    .survey-container .staff-section {
        display: flex;
        align-items: center;
        gap: 15px;
    }
    
    .survey-container .staff-photo {
        width: 130px;
        height: 130px;
        border-radius: 50%;
        object-fit: cover;
    }
    
    .survey-container .staff-info {
        font-size: 14px;
        color: #333;
    }
    
    .survey-container .staff-message {
        color: #003D75;
        font-weight: bold;
        font-size: 18px;
        margin-bottom: 5px;
    }
    
    .survey-container .staff-message-name{
        font-size: 18px;
    }
    
    .survey-container .survey-image {
        margin: 20px auto;
        max-width: 640px;
    }
    
    .survey-container .survey-image img {
        width: 100%;
        height: auto;
    }
    
    .survey-container .qa-section {
        margin-top: 50px;
    }
    
    .survey-container .qa-item {
        margin-bottom: 25px;
    }
    
    .survey-container .question {
        font-size: 20px;
        font-weight: bold;
        color: #003D75;
        margin-bottom: 8px;
    }
    
    .survey-container .answer {
        font-size: 14px;
        color: #555;
        line-height: 1.6;
    }
    
    /* レスポンシブ対応 */
    @media (max-width: 480px) {
        .survey-container {
            margin: 30px 5px;
            padding: 20px;
            border-radius: 20px;
        }
        
        .survey-container .survey-header {
            flex-direction: column;
            gap: 20px;
            align-items: flex-start;
        }
        
        .survey-container .satisfaction-section {
            flex-direction: column;
            align-items: center;
            gap: 10px;
            width: 100%;
			text-align: center;
        }
        
        .survey-container .satisfaction-section img {
            max-width: 100%;
            width: 185px;
			height: auto;
        }
        
        .survey-container .staff-section {
            align-self: center;
            display: block;
        }
        
        .survey-container .staff-photo {
            width: 100px;
            height: 100px;
            margin: 0 auto;
            display: block;
        }

        .survey-container .staff-info{
            margin-top: 15px;
        }
        
        .survey-container .survey-image {
            margin: 20px 0;
        }
        
        .survey-container .survey-image img {
            border-radius: 5px;
        }
        
        .survey-container .question {
            font-size: 15px;
        }
        
        .survey-container .answer {
            font-size: 12px;
        }
    }



.single-staff .site-content{
	margin-bottom: 0!important;
}
.single-staff .site-content .es-container{
	max-width: 100%;
    padding-left: 0;
    padding-right: 0;
}
.single-staff .site-content .content-area{
	padding-bottom: 0!important;
}

.type-staff .entry-header{
	display: none;
}

    .staff_section01 {
        overflow: hidden;
    }

    .staff_section01 .staff-container {
        max-width: 1120px;
        margin: 0 auto;
        padding: 20px 0 50px;
        position: relative;
    }
    
    .staff_section01 .staff-container::before {
        content: "";
        width: 3000px;
        height: 70%;
        background-color: #DFE0E1;
        position: absolute;
        bottom: -50px;
        left: -1500px;
        z-index: -1;
    }

    .staff_section01 .staff-copy {
        position: absolute;
        top: 50px;
        left: 0;
        background-color: #ffffff;
        padding: 20px 50px 20px 90px;
    }
    
    .staff_section01 .favorite-word-label {
        font-size: 20px;
        color: #333333;
        margin-bottom: 10px;
    }
    
    .staff_section01 .favorite-word {
        font-size: 32px;
        font-weight: bold;
        color: #333;
        line-height: 1.4;
    }
    
    .staff_section01 .staff-info-box {
        position: absolute;
        left: 50px;
        bottom: 0;
        display: inline-block;
        background-color: #003D75;
        color: white;
        padding: 40px;
        text-align: center;
    }
    
    .staff_section01 .staff-id {
        font-size: 20px;
        font-weight: bold;
        margin-bottom: 10px;
        letter-spacing: 2px;
    }
    
    .staff_section01 .staff-position {
        font-size: 20px;
        margin-bottom: 5px;
    }
    
    .staff_section01 .staff-name {
        font-size: 38px;
        font-weight: bold;
        margin-bottom: 10px;
        letter-spacing: 6px;
    }
    
    .staff_section01 .staff-store {
        font-size: 20px;
    }
    
    .staff_section01 .staff-image {
    }
    
    .staff_section01 .staff-image img {
        width: 100%;
        height: auto;
        border-radius: 40px;
    }
    
    /* レスポンシブ対応 */
    @media (max-width: 480px) {
        .staff_section01 .staff-container {
            padding: 0 15px 40px;
            text-align: center;
        }

        .staff_section01 .staff-container::before {
            content: "";
            width: 3000px;
            height: 90%;
            background-color: #DFE0E1;
            position: absolute;
            bottom: -20px;
            left: -1500px;
            z-index: -1;
        }
        
        .staff_section01 .staff-copy {
            position: absolute;
            top: 35px;
            left: 15px;
            width: calc(100% - 70px);
            padding: 10px 20px;
            text-align: left;
        }
        
        .staff_section01 .favorite-word-label {
            font-size: 15px;
            color: #333333;
            margin-bottom: 10px;
        }

        .staff_section01 .favorite-word {
            font-size: 24px;
            font-weight: bold;
            color: #333;
            line-height: 1.4;
        }
        
        .staff_section01 .staff-info-box {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            bottom: 0;
            display: inline-block;
            background-color: #003D75;
            color: white;
            padding: 20px;
            text-align: center;
            min-width: 180px;
        }
        
        .staff_section01 .staff-id {
            font-size: 12px;
            font-weight: bold;
            margin-bottom: 5px;
            letter-spacing: 2px;
        }
        
        .staff_section01 .staff-position {
            font-size: 12px;
            margin-bottom: 5px;
        }
        
        .staff_section01 .staff-name {
            font-size: 26px;
            font-weight: bold;
            margin-bottom: 5px;
            letter-spacing: 6px;
        }
        
        .staff_section01 .staff-store {
            font-size: 12px;
        }
        
        .staff_section01 .staff-image {
        }
        
        .staff_section01 .staff-image img {
            width: 100%;
            height: auto;
            border-radius: 40px;
        }
    }

    .staff_section02 {
        max-width: 1120px;
        margin: 90px auto 0;
        padding: 0 40px;
    }
    
    .staff_section02 .career-container {
        padding: 40px;
        border-radius: 10px;
        margin-top: 30px;
    }
    
    .staff_section02 .career-item {
        font-size: 14px;
        line-height: 1.8;
        margin-bottom: 30px;
        color: #003D75;
    }
    
    .staff_section02 .career-description {
        font-size: 14px;
        line-height: 1.8;
        color: #555;
        text-align: justify;
    }
    
    /* レスポンシブ対応 */
    @media (max-width: 480px) {
        .staff_section02 {
            margin: 50px auto 0;
            padding: 0 15px;
        }
        
        .staff_section02 .career-container {
            padding: 25px;
            border-radius: 5px;
        }
        
        .staff_section02 .career-item {
            font-size: 16px;
        }
        
        .staff_section02 .career-description {
            font-size: 13px;
        }
    }

    .staff_section03 {
        background-color: #F4F9FF;
        padding: 90px 40px 20px;
    }

    .staff_section03 .inner {
        max-width: 1120px;
        margin: 0 auto 0;
        padding: 60px;
        background-color: #ffffff;
        border-radius: 40px;
    }

    .staff_section03 .page-title {
		margin-top: 0;
    }
    
    .staff_section03 .qa-container {
        margin-top: 30px;
    }
    
    .staff_section03 .qa-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 40px 60px;
    }
    
    .staff_section03 .qa-item {
        padding-bottom: 20px;
    }
    
    .staff_section03 .qa-question {
        border-bottom: 2px solid #003D75;
        padding-bottom: 10px;
        display: flex;
        align-items: center;
        margin-bottom: 15px;
    }
    
    .staff_section03 .qa-icon {
        width: 47px;
        height: 47px;
        background-color: #003D75;
        color: white;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 27px;
        line-height: 27px;
        font-weight: bold;
        margin-right: 16px;
        flex-shrink: 0;
    }
    
    .staff_section03 .qa-title {
        font-size: 18px;
        color: #003D75;
    }
    
    .staff_section03 .qa-answer {
        font-size: 14px;
        line-height: 1.6;
        color: #333333;
    }
    
    /* レスポンシブ対応 */
    @media (max-width: 480px) {
        .staff_section03 {
            margin: 20px auto 0;
            padding: 40px 15px;
        }

        .staff_section03 .inner {
            max-width: 1120px;
            margin: 0 auto 0;
            padding: 30px 20px;
            border-radius: 20px;
        }
        
        .staff_section03 .qa-grid {
            grid-template-columns: 1fr;
            gap: 20px;
        }

        .staff_section03 .qa-item {
            padding-bottom: 10px;
        }
        
        .staff_section03 .qa-icon {
            width: 35px;
            height: 35px;
            font-size: 16px;
        }
        
        .staff_section03 .qa-title {
            font-size: 15px;
        }
        
        .staff_section03 .qa-answer {
            font-size: 12px;
        }
    }

    .staff_section04 {
        background-color: #F4F9FF;
        padding: 20px 40px 90px;
    }

    .staff_section04 .inner {
        max-width: 1120px;
        margin: 0 auto 0;
        padding: 60px 100px;
        background-color: #ffffff;
        border-radius: 40px;
    }

    .staff_section04 .page-title {
		margin-top: 0;
    }

    .staff_section04 .page-title .subtitle {
        font-size: 16px;
        color: #333333;
        margin-top: 5px;
    }

    .staff_section04 .schedule-container {
        margin-top: 50px;
    }

    .staff_section04 .schedule-timeline {
        position: relative;
        padding-left: 90px;
    }

    .staff_section04 .schedule-timeline::before {
        content: '';
        position: absolute;
        left: 39px;
        top: 10px;
        bottom: 10px;
        width: 2px;
        background-color: #003D75;
    }

    .staff_section04 .schedule-item {
        position: relative;
        display: flex;
        align-items: flex-start;
        margin-bottom: 30px;
        min-height: 30px;
    }

    .staff_section04 .schedule-item:last-child {
        margin-bottom: 0;
    }

    .staff_section04 .schedule-item::before {
        content: '';
        position: absolute;
        left: -46px;
        top: 8px;
        width: 8px;
        height: 8px;
        background-color: #003D75;
        border-radius: 50%;
        border: 2px solid #F8F9FA;
    }

    .staff_section04 .schedule-time {
        position: absolute;
        left: -90px;
        font-size: 16px;
        color: #003D75;
        line-height: 1.2;
        width: 80px;
        text-align: right;
        padding-top: 3px;
        background-color: #ffffff;
        text-align: center;
    }

    .staff_section04 .schedule-content {
        flex: 1;
        min-width: 0;
    }

    .staff_section04 .schedule-title {
        font-size: 16px;
        font-weight: bold;
        color: #003D75;
        margin-bottom: 8px;
    }

    .staff_section04 .schedule-description {
        font-size: 14px;
        line-height: 1.6;
    }

    /* レスポンシブ対応 */
    @media (max-width: 480px) {
        .staff_section04 {
            padding: 0 15px 40px;
        }

        .staff_section04 .inner {
            max-width: 1120px;
            margin: 0 auto 0;
            padding: 30px 20px 30px 10px;
            background-color: #ffffff;
            border-radius: 20px;
        }
        
        .staff_section04 .schedule-container {
        }
        
        .staff_section04 .schedule-timeline {
            padding-left: 70px;
        }
        
        .staff_section04 .schedule-timeline::before {
            left: 33px;
        }
        
        .staff_section04 .schedule-item::before {
            left: -32px;
            top: 6px;
            width: 6px;
            height: 6px;
        }
        
        .staff_section04 .schedule-time {
            left: -65px;
            font-size: 14px;
            width: 60px;
        }
        
        .staff_section04 .schedule-title {
            font-size: 14px;
        }
        
        .staff_section04 .schedule-description {
            font-size: 12px;
        }
    }

.main_wrapper_kasou .main_left a:last-child{
	    margin-bottom: 30px!important;
}

.main_wrapper_kasou .main_left a {
	width: 18px!important;
}




