@charset "utf-8";
/* CSS Document */

@font-face {
	font-family: Hiragino Kaku Gothic Pro W3;
	src: url('../fonts/HiraKakuPro-W3.otf')
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 300;
	font-size: 16px;
	color: #000;
	margin: 0px;
	padding: 0px
}

html {
	scroll-behavior: smooth;
}

* {
	position: relative;
	box-sizing: border-box;
}

label {
	display: block;
}

img {
	width: 100%;
	display: table
}

a {
	color: #000;
	text-decoration: none
}

a:hover {
	color: #000;
	text-decoration: none
}

ul,
ol {
	margin: 0px;
	padding: 0px;
}

ul li,
ol li {
	list-style-type: none;
}

p {
	line-height: 175%
}

p:last-child {
	margin-bottom: 0px
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0px;
	padding: 0px
}


h1 {
	font-size: 58px;
	font-weight: 500
}

h2 {
	font-size: 50px;
	text-transform: uppercase
}

h3 {
	font-size: 28px;
	font-weight: bold
}

h4 {
	font-size: 20px;
	font-weight: 500;
	line-height: 170%;
}

h5 {
	font-size: 18px
}

h6 {
	font-size: 16px;
}

.h2big {
	font-size: 62px
}

.h3small {
	font-size: 24px
}

h2 span {
	color: #337ab7
}



.text-center {
	text-align: center
}

.fw-regular {
	font-weight: 400;
}

.fw-medium {
	font-weight: 500;
}

.fw-bold {
	font-weight: 600;
}

.roboto-regular {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.roboto-light {
	font-family: "Roboto", sans-serif;
	font-weight: 300;
	font-style: normal;
}

.roboto-black {
	font-family: "Roboto", sans-serif;
	font-weight: 900;
	font-style: normal;
}

.roboto-medium {
	font-family: "Roboto", sans-serif;
	font-weight: 500;
	font-style: normal;
}

.bg-lightgray {
	background-color: #f1f1f1;
}

.bread-crumb {
	font-size: 12px;
	margin-bottom: 50px;
	padding-top: 15px;
	z-index: 2
}


.pb-0 {
	padding-bottom: 0px
}


.subtext {
	font-weight: 500;
	width: fit-content;
	margin: 0px auto;
	padding-bottom: 15px;
}

.subtext:before {
	position: absolute;
	content: '';
	bottom: 0px;
	width: 30px;
	height: 3px;
	left: calc(50% - 15px);
	background-color: #337ab7;
}

.container {
	max-width: 1090px;
	margin: 0px auto;
}

.container,
.container-fluid {
	padding: 0px 70px;
	width: 100%
}

section {
	padding: 70px 0px
}

section.nopad {
	padding: 0px;
}



.block-center {
	margin: 0px auto
}

.btn1 {
	transition: ease all .5s;
	color: #fff;
	width: 100%;
	max-width: 300px;
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	font-weight: 500;
}

.btn1:hover {
	color: #fff;
}

.btn1:after {
	width: 7px;
	height: 13px;
	position: absolute;
	content: '';
	background-size: cover;
	right: 50px;
	background-image: url(../images/icon1-w.png);
}

.btn-blue {
	background-color: #337ab7;
}

.btn-blue:hover {
	background-color: #45a1f0
}

.btn-dark-gray {
	background-color: #302920;
}

.btn-dark-gray:hover {
	background-color: #555;
}

.section-head {
	position: absolute;
	top: 0px;
	z-index: 0;
	width: 100%;
	height: 548px;
}

.section-head:before {
	width: 100%;
	height: 100%;
	position: absolute;
	content: '';
	background-color: rgba(255, 255, 255, .85);
	z-index: 1;
	top: 0px;
	left: 0px
}

.section-head.right-gap:before,
.section-head.left-gap:before {
	width: 90%;
}

.section-head.right-gap {
	padding-right: 10%
}

.section-head.left-gap {
	padding-left: 10%
}

.section-head.left-gap:before {
	left: unset;
	right: 0px
}

.section-head img {
	height: 100%;
	object-fit: cover
}

.header-banner .btn1 {
	font-size: 26px;
	margin-top: 50px
}

.header {
	position: absolute;
	top: 0px;
	width: 100%;
	z-index: 9;
	transition: ease all .5s;
	background-color: #898989;
}

.header.headerfixed {
	position: fixed;
	top: 0px;
}

.home .header {
	background-color: transparent
}

.home .header.headerfixed {
	background-color: #898989;
}


.header .headertop {
	padding: 10px 0px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.home .header .headertop {
	background-color: transparent
}

.header .logo {
	width: 130px;
}

.header .menu {
	width: calc(100% - 130px);
}

.header .menu ul {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: right;
}

.header .menu ul li {
	margin-right: 3%
}

.header .menu ul li a {}

.header .menu ul li a {
	color: #fff;
}

.header .menu .menu-btn {
	color: #fff;
	font-size: 24px;
	width: 240px;
	text-align: center;
	padding: 20px 10px;
}

.header .menu .menu-btn.btn-entry span {
	display: inline-block;
	width: 20px;
	margin-right: 8px;
}

.header-banner {}

.scroll-line {
	font-size: 14px;
	color: #fff;
	position: absolute;
	bottom: 0px;
	left: 70px;
	z-index: 2;
	height: 125px
}

.scroll-line span {
	transform: rotate(90deg);
	display: block;
	margin-top: 8px;
	margin-left: -8px;
}

.scroll-line:before,
.scroll-line:after {
	background-color: #fff;
	width: 1px;
	position: absolute;
	top: 0px;
	left: 0px;
	content: '';
}

.scroll-line:before {
	animation: scrolllineanimation 2.5s infinite;
}

.scroll-line:after {
	transform: rotate(35deg);
	transform-origin: bottom;
	animation: scrollarrowanimation 2.5s infinite;
}

@keyframes scrolllineanimation {
	0% {
		height: 0px;
		top: 0px;
	}

	70% {
		height: 100%;
		bottom: 0px;
	}

	100% {
		height: 100%;
		bottom: 0px
	}
}

@keyframes scrollarrowanimation {
	0% {
		top: -9px;
		height: 12px;
	}

	70% {
		top: 113px;
		height: 12px;
	}

	100% {
		top: 113px;
		height: 12px;
	}
}

.header-banner .slick-list {
	margin: 0px;
}

.header-banner .slick-slide img {
	object-fit: cover
}

.header-banner .header-banner-content h3 {
	margin-bottom: 10px
}

.header-banner .header-banner-content {
	position: absolute;
	width: 100%;
	left: 0px;
	z-index: 2;
	color: #fff;
	display: flex;
	align-items: center;
	height: 100%;
}

.header-banner .header-banner-slider:before {
	width: 100%;
	height: 100%;
	position: absolute;
	content: '';
	background-color: rgba(0, 0, 0, .4);
	z-index: 1;
	top: 0px;
	left: 0px
}


ul.header-circles {
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px
}

ul.header-circles li {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
	width: 88px;
	height: 88px;
	border: 1px #fff solid;
	border-radius: 50%;
	text-align: center;
	aspect-ratio: 1/1;
}

ul.header-circles li:last-child {
	margin-right: 0px
}

ul.header-circles li span {
	display: block
}

ul.header-circles li .text1 {
	font-size: 17px;
	font-weight: 500
}

ul.header-circles li .text2 {
	font-size: 10px;
}

ul.header-circles li .text3 {
	font-size: 24px;
	font-family: "Roboto", sans-serif;
	font-weight: normal;
	line-height: 24px;
	line-height: 0.7em;
	margin-top: -2px;
	position: relative;
	bottom: -2px;
	padding-top: 2px;
}

ul.header-circles li .text3 ut,
ul.header-circles li .text4 {
	font-size: 9px;
	font-weight: 300;
}

ul.header-circles li .text4 {
	position: relative;
	bottom: -4px;
}

ul.header-circles li .text3 span {
	display: inline-block;
	font-size: 19px;
	line-height: 1.0em;
}

ul.header-circles li .text5 {
	font-size: 32px;
	line-height: 32px;
	font-family: "Roboto", sans-serif;
	font-weight: normal;
	margin: 0px 0px
}




.for-children .for-children-content {
	margin-top: 50px;
}

.short.for-children .for-children-content {
	display: flex;
}

.for-children h3 {
	margin-bottom: 40px;
}

.for-children .for-children-content .col {
	width: calc(33.33% - 15px);
	margin-right: 22.5px;
	background-color: #fff;
	overflow: hidden;
	border: 1px #000 solid;
	margin-bottom: 70px;
}

.for-children.lessbotspace .for-children-content .col {
	margin-bottom: 0px;
}

.for-children .for-children-content .col:nth-child(3n) {
	margin-right: 0px;
}

.for-children .for-children-content .col .col-content {
	padding: 15px;
}

.for-children .for-children-content .col .col-content h4 {
	margin: 15px 0px 20px
}

.for-children .for-children-content .col .col-content h4.botbar {
	border-bottom: 1px #000 solid;
	width: fit-content;
	margin-left: auto;
	margin-right: auto
}

.for-children .for-children-content .col a {
	display: block;
	height: 100%;
}

.for-children .content-block {
	margin-bottom: 80px
}

.for-children .content-block:last-child {
	margin-bottom: 0px
}

.for-children .content-block .content-block-img {
	margin-bottom: 35px
}

.for-children .content-block h4 {
	color: #337ab7;
}

.for-children .content-block h4 span {
	font-size: 40px
}

.for-children .content-block .h4big {
	color: #000;
	padding-bottom: 5px;
	margin-bottom: 30px;
}

.for-children .content-block .h4big span {
	font-size: 23px;
	border-bottom: 1px #000 solid;
}

.initiatives .initiatives-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 70px;
	font-size: 14px
}

.initiatives .initiatives-content .col-img {
	text-align: center;
	aspect-ratio: unset;
}

.initiatives .initiatives-content .col-img img {
	max-width: 395px;
	margin: 0px auto
}

.initiatives h3 {
	margin-bottom: 50px;
}

.initiatives .initiatives-content .col {
	width: 47.6%;
	background-color: #fff;
	overflow: hidden;
	border: 1px #000 solid;
}

.initiatives .initiatives-content .col .col-content {
	padding: 15px;
}

.initiatives .initiatives-content .col .col-content h4 {
	margin: 15px auto 20px;
	width: fit-content;
}

.initiatives .initiatives-content .col .col-content h4:before {
	width: 100%;
	position: absolute;
	content: '';
	border-bottom: 1px #000 solid;
	bottom: 0px
}

.initiatives .initiatives-content .col a {
	display: block;
	height: 100%;
}

.short.works,
.short.event {
	margin-top: 70px;
}

.works .works-content {
	display: flex;
	flex-wrap: wrap;
	margin-top: 70px;
}

.works .works-content .col {
	width: calc(33.33% - 15px);
	margin-right: 22.5px;
	background-color: #fff;
	overflow: hidden;
	border: 1px #000 solid;
	margin-bottom: 70px;
}

.works .works-content .col:nth-child(3n) {
	margin-right: 0px;
}

.works .works-content .col .col-content {
	padding: 15px;
}

.works .works-content .col .col-content h4 {
	margin: 15px 0px 20px
}

.works .works-content .col a {
	display: block;
	height: 100%;
}



.blog .blog-content {
	display: flex;
	flex-wrap: wrap;
	margin-top: 70px;
}

.blog .blog-content .col {
	width: calc(33.33% - 15px);
	margin-right: 22.5px;
	background-color: #fff;
	overflow: hidden;
	border: 1px #000 solid;
	margin-bottom: 70px;
}

.blog .blog-content .col:nth-child(3n) {
	margin-right: 0px;
}

.blog .blog-content .col .col-content {
	padding: 15px;
}

.blog .blog-content .col .col-content h4 {
	margin: 15px 0px 20px
}

.blog .blog-content .col .col-date {
	text-align: right
}

.blog .blog-content .col a {
	display: block;
	height: 100%;
}




.event {}

.event .event-content {
	margin-top: 50px;
}

.event .event-content .col {
	width: calc(33.33% - 15px);
	margin-right: 22.5px;
	background-color: #fff;
	overflow: hidden;
	border: 1px #000 solid;
	margin-bottom: 70px;
}

.event .event-content .col:nth-child(3n) {
	margin-right: 0px;
}

.event .event-content .col .col-content {
	padding: 15px;
}

.event .event-content .col .col-content h4 {
	margin: 15px 0px 20px
}

.event .event-content .subhead {
	font-size: 14px;
	width: fit-content;
	margin-bottom: 5px;
	background-color: #000;
	color: #fff;
	padding: 0px 5px 2px;
}

.event .event-content .timing {
	font-size: 14px;
	font-weight: 300;
	white-space: nowrap;
}

.event .event-content .timing span {
	font-size: 18px;
	font-weight: 500
}

.all-events .pagination {
	margin: 70px 0px
}

.event-list {
	background-color: #f1f1f1;
	border-bottom: 5px #fff solid
}

.event-list:last-child {
	border-bottom: 0px
}

.page-content.events .subtext:before {
	display: none;
}

.event-list .event-list-content h4 {
	font-size: 22px;
	font-weight: bold
}

.event-list .event-list-content .subhead {
	font-size: 16px;
	width: fit-content;
	margin-bottom: 20px;
	background-color: #000;
	color: #fff;
	padding: 1px 10px 3px
}

.event-list .event-list-content .event-fields {
	margin-top: 20px
}

.event-list .event-list-content .event-fields ul {
	display: flex;
	align-items: center;
	margin-bottom: 8px;
}

.event-list .event-list-content .event-fields ul li:first-child {
	width: 60px;
	padding: 1px 0px 3px;
	font-size: 14px;
	background-color: #898989;
	color: #fff;
	border-radius: 30px;
	text-align: center
}

.event-list .event-list-content .event-fields ul li:last-child {
	width: calc(100% - 60px);
	white-space: nowrap;
	font-size: 16px;
	padding-left: 15px;
	line-height: 22px;
}

.event-list .event-list-content .event-fields ul li:last-child span {
	font-size: 20px;
	font-weight: 500;
}

.event-list .event-list-content .col-img a {
	display: block;
	aspect-ratio: 1/.75
}

.event-list .event-list-content .col-img a img {
	height: 100%;
	object-fit: cover
}

.event-list .event-list-content .btn1:after {
	right: 25px
}


.tretto {
	color: #fff;
}

.tretto .tretto-content {
	position: absolute;
	top: 0px;
	z-index: 1;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
}

.tretto .tretto-bg img {
	height: 100%;
	object-fit: cover;
	min-height: 300px
}

.tretto .tretto-bg:before {
	width: 100%;
	height: 100%;
	position: absolute;
	content: '';
	background-color: rgba(0, 0, 0, .6);
	z-index: 1;
	top: 0px;
	left: 0px
}

.tretto h2 {
	opacity: .8
}

.tretto h3 {
	opacity: .8;
	margin: 30px 0px 60px
}


.concept {
	color: #fff;
	margin-bottom: 4px
}

.concept .subtext:before {
	display: none;
}

.concept .concept-content {
	position: absolute;
	top: 0px;
	z-index: 1;
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
}

.concept .concept-bg:before {
	width: 100%;
	height: 100%;
	position: absolute;
	content: '';
	background-color: rgba(0, 0, 0, .6);
	z-index: 1;
	top: 0px;
	left: 0px
}

.concept h2 {
	opacity: .8
}

.concept h4 {
	margin: 30px 0px 20px
}

.concept p {
	max-width: 850px;
	margin: 0px auto
}

.concept .btn1 {
	margin-top: 70px
}

.youtube {}

.youtube .youtube-content {
	display: flex;
	margin-top: 70px;
	margin-bottom: 70px
}

.youtube .youtube-content .col {
	width: calc(33.33% - 15px);
	margin-right: 22.5px;
}

.youtube .youtube-content .col:nth-child(3n) {
	margin-right: 0px;
}

.youtube .youtube-content .col iframe {
	width: 100%;
	height: 100%;
	border: 1px #000 solid;
	aspect-ratio: 1 / .55;
}


.bottom-links {
	background-color: #f1f1f1;
}

.bottom-links .bottom-links-content {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.bottom-links .bottom-links-content .col {
	width: 47.6%;
}

.bottom-links .bottom-links-content a {
	display: block;
}

.bottom-links .bottom-links-content .col:first-child a:before {
	position: absolute;
	height: 100%;
	transition: ease all .5s;
	width: 100%;
	background-color: rgba(0, 0, 0, .5);
	content: '';
	left: 0px;
	top: 0px;
	z-index: 1;
}

.bottom-links .bottom-links-content .col:first-child a:hover:before {
	background-color: rgba(0, 0, 0, .2)
}

.bottom-links .col-content {
	color: #fff;
	position: absolute;
	width: 100%;
	height: 100%;
	flex-wrap: wrap;
	display: flex;
	align-items: center;
	justify-content: center;
	top: 0px;
	left: 0px;
	z-index: 1;
}

.bottom-links .col-content tex1,
.bottom-links .col-content tex2 {
	display: table;
	margin: 0px auto;
	width: fit-content;
}

.bottom-links .col-content tex1 {
	font-size: 36px;
	opacity: .8
}

.bottom-links .col-content tex2 {
	font-size: 12px;
	padding-bottom: 5px;
}

.bottom-links .col-content tex2:before {
	width: 100%;
	height: 1px;
	position: absolute;
	bottom: 0px;
	content: '';
	background-color: #fff;
}


.footer {
	background-color: #898989;
	padding: 40px 0px;
}

.footer a {
	color: #fff;
}

.footer .social-media {
	display: flex;
	align-items: center;
	justify-content: center
}

.footer .social-media li {
	width: 34px;
	margin-right: 24px
}

.footer .social-media li:last-child {
	margin-right: 0px
}

.footer .footer-logo {
	max-width: 125px;
	margin: 30px auto 30px;
}

.footer .footer-menu {
	border-top: 1px #fff solid;
	padding-top: 25px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.footer .footer-menu li {}

.copyright {
	font-size: 12px;
	padding: 15px 0px;
	font-weight: 300;
}

.pagination {
	display: flex;
	justify-content: center;
	align-items: center;

}

.pagination a,
.pagination .current {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	margin: 0px 10px;
	text-align: center;
}

.pagination a {}

.pagination a:hover,
.pagination .current {
	font-weight: bold;
	color: #337ab7;
}

.pagination a.next,
.pagination a.prev {
	width: 22px;
	height: 22px;
	font-size: 0px;
	background-image: url(../images/icon7.png);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center center;
}

.pagination a.prev {
	transform: rotate(180deg);
}

.page-content {
	padding-top: 83px;
	background-color: #f1f1f1;
}

.page-content.concept,
.page-content.renovation,
.page-content.performance {
	padding-bottom: 0px
}

.page-content .page-header {
	position: absolute;
	height: calc(100% - 83px);
	margin-top: 0px;
	z-index: 2;
	width: 100%;
}

.page-content .page-header .container {
	height: 100%;
}

.page-content .page-header .bread-crumb,
.page-content .page-header .bread-crumb a {
	color: #fff;
}

.page-content .page-header .page-header-content {
	color: #fff;
	position: absolute;
	left: 0px;
	top: 0px;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center
}

.page-content .page-header .heading {
	line-height: 170%;
	font-size: 36px;
	text-align: center;
}

.page-content .page-header .heading span {
	border-bottom: 1px #fff solid
}

.page-content .page-header .heading1 {
	font-size: 80px;
}

.page-content .page-header-img:before {
	width: 100%;
	height: 100%;
	position: absolute;
	content: '';
	background-color: rgba(0, 0, 0, .4);
	z-index: 1;
	top: 0px;
	left: 0px;
}


.company {}

.company .company-content {
	margin-top: 50px;
	margin-bottom: 50px;
	background-color: #fff;
	border: 1px #9c9c9c solid
}

.company .company-content ul {
	display: flex;
	border-bottom: 1px #9c9c9c solid;
}

.company .company-content ul:last-child {
	border: 0px
}

.company .company-content ul li {
	padding: 15px 20px
}

.company .company-content ul li:first-child {
	font-weight: 500;
}

.company .company-content ul li:last-child {
	width: calc(100% - 150px)
}

.company .company-map {
	border: 1px #9c9c9c solid
}

.company .company-map iframe {
	width: 100%;
	height: 500px;
}

.performance {}

.performance-small.header-circles,
.performance-big.header-circles {
	justify-content: center
}

.performance-big.header-circles li {
	border-color: #000;
}

.performance.super-wall .performance-content p {
	margin-top: 0px
}

.performance .sw-logo {
	max-width: 125px;
	margin: 0px auto 5px;
}

.performance .performance-content {
	margin-top: 70px;
}

.performance .performance-bg {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
}

.performance .performance-bg img {
	max-width: 600px;
	margin: 0px auto
}

.performance h3 {
	margin-bottom: 40px;
}

.performance .performance-content .col {
	width: calc(33.33% - 15px);
	margin-right: 22.5px;
	background-color: #fff;
	overflow: hidden;
	border: 1px #000 solid;
	margin-bottom: 70px;
}

.performance .performance-content .col:nth-child(3n) {
	margin-right: 0px;
}

.performance .performance-content .col .col-content {
	padding: 15px;
}

.performance .performance-content .col .col-content h4 {
	margin: 15px 0px 20px
}

.performance .performance-content .col .col-content h4.botbar {
	border-bottom: 1px #000 solid;
	width: fit-content;
	margin-left: auto;
	margin-right: auto
}

.performance .performance-content .col a {
	display: block;
	height: 100%
}


.performance .content-block {
	margin-bottom: 80px
}

.performance .content-block:last-child {
	margin-bottom: 0px
}

.performance .content-block .content-block-img {
	margin-bottom: 35px
}

.performance .content-block h4 {
	color: #337ab7;
}

.performance .content-block h4 span {
	font-size: 40px;
	margin-left: 5px
}

.performance .content-block .h4big {
	color: #000;
	padding-bottom: 5px;
	margin-bottom: 30px;
}

.performance .content-block .h4big span {
	font-size: 23px;
	border-bottom: 1px #000 solid;
}


.renovation .renovation-content {
	margin-top: 70px;
}

.renovation h3 {
	margin-bottom: 40px;
}

.renovation .renovation-content .col {
	width: calc(33.33% - 15px);
	margin-right: 22.5px;
	background-color: #fff;
	overflow: hidden;
	border: 1px #000 solid;
	margin-bottom: 70px;
}

.renovation .renovation-content .col:nth-child(3n) {
	margin-right: 0px;
}

.renovation .renovation-content .col .col-content {
	padding: 15px;
}

.renovation .renovation-content .col .col-content h4 {
	margin: 15px 0px 20px
}

.renovation .renovation-content .col .col-content h4.botbar {
	border-bottom: 1px #000 solid;
	width: fit-content;
	margin-left: auto;
	margin-right: auto
}

.renovation .content-block {
	margin-bottom: 80px
}

.renovation .content-block:last-child {
	margin-bottom: 0px
}

.renovation .content-block .content-block-img {
	margin-bottom: 35px
}

.renovation .content-block h4 {
	color: #337ab7;
}

.renovation .content-block h4 span {
	font-size: 40px;
	margin-left: 5px
}

.renovation .content-block .h4big {
	color: #000;
	padding-bottom: 5px;
	margin-bottom: 30px;
}

.renovation .content-block .h4big span {
	font-size: 23px;
	border-bottom: 1px #000 solid;
}

.renovation .renovation-content .col a {
	display: block;
	height: 100%
}


.shortinfo {
	text-align: center
}



.post-block {
	margin-bottom: 50px;
	border-bottom: 1px #9c9c9c solid;
	padding-bottom: 50px;
}

.post-block:last-child {
	border: none;
	margin-bottom: 0px;
	padding-bottom: 0px
}

.post-block .post-img {
	margin: 30px 0px;
}

.post-block h4 {
	margin-bottom: 30px;
	z-index: 0;
	line-height: 35px;
	padding-left: 30px
}

.post-block:first-child h4 {
	padding-left: 0px
}

.post-block h4:before {
	width: 10px;
	height: 54px;
	background-color: #337ab7;
	position: absolute;
	content: '';
	left: 0px;
	top: 9px;
}

.post-block:first-child h4:before {
	display: none;
}

.gallery {
	background-color: #337ab7;
}

.gallery h2 {
	color: rgba(255, 255, 255, .8);
	text-transform: capitalize;
	margin-bottom: 50px
}

.gallery .slick-dots li button {
	background-color: transparent;
	border: 1px #fff solid
}

.gallery .slick-dots li.slick-active button {
	background-color: #fff;
}

.gallery .slick-slide {
	margin: 0px 10px
}

.gallery .gallery-slides {
	margin-bottom: 20px
}

.gallery .slick-dots {
	margin-top: 30px
}

.gallery .slick-dots li button {
	width: 20px;
	height: 20px;
}

.gallery .slick-arrow {
	width: 45px;
	height: 45px;
}

.gallery .slick-prev {
	left: -95px
}

.gallery .slick-next {
	right: -95px
}

.gallery .gallery-thumbnails .slick-arrow {
	top: calc(50% - 52px)
}

.event-gallery {
	margin-bottom: 50px
}

.event-gallery-slides {
	margin-bottom: 50px
}

.event-gallery .slick-dots li button {
	background-color: #fff;
	border: 1px #919191 solid
}

.event-gallery .slick-dots li.slick-active button {
	background-color: #337ab7;
}

.event-gallery .slick-slide {
	margin: 0px 8px;
	aspect-ratio: 1 / .7;
}

.event-gallery .slick-slide img {
	height: 100%;
	object-fit: cover;
}

.event-gallery .gallery-slides {
	margin-bottom: 20px
}

.event-gallery .slick-dots {
	margin-top: 30px
}

.event-gallery .slick-dots li button {
	width: 16px;
	height: 16px;
}

.event-gallery .slick-dots li {
	margin: 0px 6px;
}

.event-gallery .slick-arrow {
	width: 45px;
	height: 45px;
}

.event-gallery-thumbnails .slick-arrow {
	top: calc(50% - 47px);
}

.event-gallery .slick-prev {
	left: -75px
}

.event-gallery .slick-next {
	right: -75px
}

.event-gallery .gallery-thumbnails .slick-arrow {
	top: calc(50% - 52px)
}

.event-gallery .slick-prev {
	background-image: url(../images/event-scroll-left.png);
}

.event-gallery .slick-next {
	background-image: url(../images/event-scroll-right.png);
}

.event-details .container {
	max-width: 970px
}

.event-details h3 {
	margin-bottom: 30px
}

.event-details .subhead {
	font-size: 16px;
	width: fit-content;
	background-color: #000;
	color: #fff;
	padding: 1px 12px 3px;
}

.event-details .timing {
	font-size: 18px;
	font-weight: 300
}

.event-details .timing span {
	font-size: 24px;
	font-weight: 500
}

.event-details .event-details-btn .btn1 {
	margin: 50px auto 0px;
}

.event-details .event-details-block img {
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.event-details .post-block h4 {
	padding: 8px 0px 8px 30px
}

.event-details .post-block h4:before {
	width: 8px;
	height: 100%;
	background-color: #337ab7;
	position: absolute;
	content: '';
	left: 0px;
	top: 0px;
}

.event-details .google-location {
	margin: 70px 0px
}

.event-details .google-location iframe {
	width: 100%;
	height: 480px;
	border: 1px #c4c4c4 solid
}

.event-details .location-address {
	font-size: 18px;
	margin-top: 20px
}

.event-details .location-address span {
	background-color: #000;
	color: #fff;
	padding: 2px 15px 3px;
	margin-right: 10px
}

.work-details {}

.work-details .content-block {
	margin-bottom: 60px;
}

.work-details .content-block:last-child {
	margin-bottom: 0px;
}

.work-details .content-block .content-block-img {
	margin-bottom: 35px;
}

.work-details .content-block h4 {
	color: #337ab7;
}

.work-details .content-block h4 span {
	font-size: 40px;
	margin-left: 5px
}

.work-details .content-block .h4big {
	color: #000;
	padding-bottom: 5px;
	margin-bottom: 30px;
}

.work-details .content-block .h4big span {
	font-size: 23px;
	border-bottom: 1px #000 solid;
}

.work-details .page-header .page-header-content {
	display: block;
	height: unset;
	top: unset;
	bottom: 30px
}

.work-details .page-header h4 span {
	font-size: 55px;
	margin-left: 5px
}

.work-details .page-header .heading {
	text-align: left;
	line-height: 50px;
}

.work-details .page-header .heading span {
	font-size: 28px;
	line-height: unset
}

.work-details .page-header-img img {
	height: 100%;
	object-fit: cover
}




.contactform {
	max-width: 700px;
	margin-top: 70px;
	margin-left: auto;
	margin-right: auto
}

.form-group {
	margin-bottom: 25px;
}

.form-group-double p {
	display: flex;
	justify-content: space-between
}

.form-group-double label {
	width: calc(50% - 10px)
}

input,
textarea,
select {
	font-size: 15px;
	width: 100%;
	background-color: #fff;
	border-radius: 10px;
	border: 0px;
	padding: 0px 15px;
}

input,
select {
	line-height: 50px;
	height: 50px;
}

textarea {
	height: 185px;
	padding-top: 15px;
	line-height: 20px
}

.mandate {
	position: absolute;
	background-color: #e45b4e;
	color: #fff;
	border-radius: 5px;
	z-index: 1;
	padding: 0px 5px;
	line-height: 20px;
	right: 10px;
	top: 16px;
	font-size: 12px;
}

.submit-btn {
	padding: 0px 20px;
	font-size: 16px;
	display: table;
	height: 66px;
	font-weight: 500;
	max-width: 354px;
	margin: 60px auto 0px;
	background-color: transparent;
	border: 2px solid #ff0000;
	color: #ff0000;
	border-radius: 12px;
	cursor: pointer;
}

.submit-btn.wpcf7-submit-change {
	border: 2px solid #0f9e04;
	color: #0f9e04;
}

.mandate.error-change {
	background-color: #0f9e04
}

.wpcf7-spinner {
	position: absolute
}

::placeholder {
	color: #626262
}

input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Firefox */
input[type=number] {
	-moz-appearance: textfield;
}

select {
	-webkit-appearance: none;
	-moz-appearance: none;
}

@media(min-width:1920px) {
	h1 {
		font-size: 58px;
	}

	h2 {
		font-size: 60px;
	}

	h3 {
		font-size: 36px;
	}

	h4 {
		font-size: 24px;
	}

	h5 {
		font-size: 20px
	}

	h6 {
		font-size: 18px;
	}

	.h2big {
		font-size: 72px
	}

	.h3small {
		font-size: 30px
	}

	.gallery h2 {
		margin-bottom: 70px
	}

	.container {
		max-width: 1260px;
	}

	.scroll-line {
		height: 152px
	}

	section {
		padding: 100px 0px
	}

	.bottom-links {
		padding: 125px 0px
	}

	.home .short.works,
	.home .short.for-children {
		padding-bottom: 150px
	}

	.section-head.right-gap {
		padding-right: 15%
	}

	.section-head.left-gap {
		padding-left: 15%
	}


	.section-head.right-gap:before,
	.section-head.left-gap:before {
		width: 85%;
	}

	.post-block {
		margin-bottom: 60px;
		border-bottom: 1px #9c9c9c solid;
		padding-bottom: 60px;
	}

	.post-block .post-img {
		margin: 50px 0px;
	}

	.post-block h4 {
		line-height: 44px;
	}

	.post-block h4:before {
		top: 13px;
		height: 64px
	}

	.performance .performance-content,
	.renovation .renovation-content,
	.for-children .for-children-content {
		margin-top: 80px;
	}

	.performance h3,
	.renovation h3,
	.for-children h3 {
		margin-bottom: 80px;
	}

	.works .works-content {
		margin-top: 80px;
	}

	.initiatives .initiatives-content .col .col-content h4 {
		margin: 20px auto 30px;
	}

	.initiatives .initiatives-content .col .col-content .col-img {
		margin-bottom: 30px
	}


	.works .works-content .col .col-content h4,
	.for-children .for-children-content .col .col-content h4,
	.blog .blog-content .col .col-content h4,
	.event .event-content .col .col-content h4,
	.performance .performance-content .col .col-content h4,
	.renovation .renovation-content .col .col-content h4 {
		margin: 5px 0px 30px
	}

	.for-children .for-children-content .col .col-content,
	.works .works-content .col .col-content,
	.event .event-content .col .col-content,
	.blog .blog-content .col .col-content {
		padding: 30px 20px
	}


	.blog.page-content {
		margin-bottom: 100px
	}

	.blog .blog-content {
		margin-top: 80px;
	}

	.performance .performance-content .col,
	.renovation .renovation-content .col,
	.works .works-content .col,
	.for-children .for-children-content .col,
	.blog .blog-content .col,
	.event .event-content .col,
	.blog .blog-content .col {
		margin-bottom: 80px
	}

	.event .event-content {
		margin-top: 80px;
	}

	.youtube .youtube-content {
		margin-top: 80px;
		margin-bottom: 80px;
	}

	.tretto h3 {
		margin: 60px 0px 80px
	}

	.footer .footer-logo {
		margin: 30px auto 36px;
	}

	.footer .footer-menu {
		padding-top: 36px;
	}

	.header-banner .header-banner-content h3 {
		margin-bottom: 20px
	}

	.work-details .content-block,
	.works.page-content {
		margin-bottom: 100px
	}

	.bottom-links .col-content tex1 {
		font-size: 50px;
	}

	.bottom-links .col-content tex2 {
		font-size: 14px;
	}

	.company .company-content {
		margin-top: 80px;
		margin-bottom: 80px;
	}

	.work-details .content-block h4 span,
	.performance .content-block h4 span,
	.renovation .content-block h4 span,
	.for-children .content-block h4 span {
		font-size: 48px
	}

	.work-details .content-block .h4big span,
	.performance .content-block .h4big span,
	.renovation .content-block .h4big span,
	.for-children .content-block .h4big span {
		font-size: 26px;
	}

	.short.works,
	.short.event {
		margin-top: 80px;
	}

	.page-content .page-header .heading {
		font-size: 48px;
	}

	.page-content .page-header .heading1 {
		font-size: 100px;
	}

	.performance-big.header-circles {
		margin: 60px auto 100px
	}

	.performance-big.header-circles li {
		width: 225px;
		height: 225px;
		margin-right: 15px;
	}

	.performance-big.header-circles li .text1 {
		font-size: 40px
	}

	.performance-big.header-circles li .text2 {
		font-size: 23px;
	}

	.performance-big.header-circles li .text3 {
		font-size: 62px;
		line-height: 40px;
		margin-top: 20px;
	}

	.performance-big.header-circles li .text5 {
		font-size: 85px;
		line-height: 85px;
	}

	.performance-big.header-circles li .text3 ut,
	.performance-big.header-circles .text4 {
		font-size: 16px;
	}

	.performance .sw-logo {
		max-width: 150px;
	}

	.performance .performance-bg img {
		max-width: 730px;
		margin: 0px auto
	}



	.gallery h2 {
		margin-bottom: 80px
	}

	.work-details .page-header h4 span {
		font-size: 72px
	}

	.work-details .page-header .heading {
		line-height: 60px
	}

	.work-details .page-header .heading span {
		font-size: 36px;
	}



	@keyframes scrollarrowanimation {
		0% {
			top: -9px;
			height: 12px;
		}

		70% {
			top: 140px;
			height: 12px;
		}

		100% {
			top: 140px;
			height: 12px;
		}
	}


	.all-events .pagination {
		margin: 100px 0px
	}

	.event-list .event-list-content .subhead {
		font-size: 18px;
		padding: 3px 15px 5px;
		margin-bottom: 25px;
	}

	.event-list .event-list-content h4 {
		font-size: 30px;
	}

	.event-list .event-list-content .event-fields ul li:last-child {
		font-size: 18px;
	}

	.event-list .event-list-content .event-fields ul li:last-child span {
		font-size: 24px;
	}

	.event-details .subhead {
		font-size: 18px
	}

	.event-details .post-block h4 {
		padding: 10px 0px 10px 30px
	}

	.event-details .post-block h4:before {
		width: 10px;
	}

	.event-details .google-location {
		margin: 100px 0px
	}

	.contactform {
		margin-top: 100px
	}

}


@media(max-width:1440px) {
	h1 {
		font-size: 40px;
	}

	h2 {
		font-size: 40px
	}

	h3 {
		font-size: 24px
	}

	h2.big {
		font-size: 52px
	}

	.h3small {
		font-size: 22px
	}

	.section-head {
		height: 420px
	}

	.section-head.right-gap {
		padding-right: 7%;
	}

	.section-head.left-gap {
		padding-left: 7%;
	}

	.section-head.right-gap:before,
	.section-head.left-gap:before {
		width: 93%;
	}

	ul.header-circles li {
		width: 125px;
		height: 125px
	}

	ul.header-circles li .text1 {
		font-size: 20px
	}

	ul.header-circles li .text2 {
		font-size: 12px;
	}

	ul.header-circles li .text3 {
		font-size: 32px;
	}

	ul.header-circles li .text5 {
		font-size: 40px;
		margin: 4px 0px
	}

	.performance .performance-content .col,
	.renovation .renovation-content .col,
	.for-children .for-children-content .col,
	.blog .blog-content .col,
	.works .works-content .col,
	.event .event-content .col {
		width: calc(33.33% - 10px);
		margin-right: 15px
	}

	.performance .performance-content .col .col-content h4,
	.renovation .renovation-content .col .col-content h4,
	.for-children .for-children-content .col .col-content h4 {
		margin: 5px 0px 10px;
	}

	.blog .blog-content .col .col-content h4 {
		margin: 5px 0px 10px;
	}

	.works .works-content .col .col-content h4 {
		margin: 5px 0px 10px;
	}

	.event .event-content .col .col-content h4 {
		margin: 5px 0px 10px;
	}

}

@media(max-width:1300px) {
	.section-head.right-gap {
		padding-right: 4%;
	}

	.section-head.left-gap {
		padding-left: 4%;
	}

	.section-head.right-gap:before,
	.section-head.left-gap:before {
		width: 96%;
	}

	.tretto h3 {
		margin: 15px 0px 45px
	}

	.gallery .slick-prev {
		left: -55px
	}

	.gallery .slick-next {
		right: -55px
	}

}

@media(min-width:781px) and (max-width:1919px) {
	.performance-big.header-circles {
		margin: 50px auto 100px
	}

	.performance-big.header-circles li {
		width: 190px;
		height: 190px;
		margin-right: 10px;
	}

	.performance-big.header-circles li .text1 {
		font-size: 32px
	}

	.performance-big.header-circles li .text2 {
		font-size: 18px;
	}

	.performance-big.header-circles li .text3 {
		font-size: 50px;
		line-height: 40px;
		margin-top: 15px;
	}

	.performance-big.header-circles li .text5 {
		font-size: 72px;
		line-height: 75px;
	}

	.performance-big.header-circles li .text3 ut,
	.performance-big.header-circles .text4 {
		font-size: 14px;
	}

	.bottom-links {
		padding: 100px 0px
	}
}

@media(min-width:781px) {
	.d-desktop {
		display: block
	}

	.d-mobile {
		display: none;
	}

	.home .short.works,
	.home .short.for-children {
		padding-bottom: 125px
	}

	.header-banner .slick-slide img {
		min-height: 600px;
	}

	.header .side-buttons {
		position: fixed;
		right: 0px;
		width: 67px;
		height: 395px;
		top: 20%;
	}

	.header .side-buttons .btn1 {
		display: flex;
		height: 192px;
		border-radius: 0px;
	}

	.header .side-buttons .btn1:first-child {
		margin-bottom: 5px
	}

	.header .side-buttons .btn1:after {
		display: none;
	}

	.header .side-buttons .btn1 img {
		max-width: 30px;
		margin-bottom: 15px
	}

	.header .side-buttons .btn1 span {
		display: block;
		width: 100%;
		text-align: center;
		line-height: 18px;
	}

	.performance .performance-content .col .col-img,
	.renovation .renovation-content .col .col-img,
	.works .works-content .col .col-img,
	.for-children .for-children-content .col .col-img,
	.event .event-content .col .col-img,
	.blog .blog-content .col .col-img {
		aspect-ratio: 1/.7
	}

	.performance .performance-content .col .col-img img,
	.renovation .renovation-content .col .col-img img,
	.works .works-content .col .col-img img,
	.for-children .for-children-content .col .col-img img,
	.event .event-content .col .col-img img,
	.blog .blog-content .col .col-img img {
		height: 100%;
		object-fit: cover
	}

	/*.col-img{aspect-ratio:1/.7}
	.col-img img{height:100%; object-fit: cover}*/



	.blog.page-content,
	.works.page-content {
		margin-bottom: 50px
	}

	.concept .concept-bg img {
		height: 100%;
		object-fit: cover;
		min-height: 546px
	}

	.youtube .youtube-content {}

	.company .company-content ul li:first-child {
		font-weight: 500;
		width: 150px;
		background-color: #e5e5e5;
	}

	.event .event-content,
	.renovation .renovation-content,
	.short.performance .performance-content {
		display: flex;
		flex-wrap: wrap;
	}

	.performance.short {
		background-color: #f1f1f1
	}

	.work-details .page-header-img {
		height: 679px
	}

	.performance .performance-content .col:last-child,
	.performance .performance-content .col:nth-last-child(2),
	.performance .performance-content .col:nth-last-child(3) {
		margin-bottom: 0px
	}

	.event-list .event-list-content {
		width: 100%;
		margin: 0px;
		display: flex;
		justify-content: space-between
	}

	.event-list .event-list-content .col-img {
		width: 40%;
	}

	.event-list .event-list-content .col-content {
		width: 60%;
		padding-left: 50px;
		padding-bottom: 70px
	}

	.event-list .event-list-content .btn1 {
		position: absolute;
		bottom: 0px;
	}



}

@media(min-width:781px) and (max-width:992px) {
	.header .logo {
		max-width: 100px
	}

	.header .menu {
		width: calc(100% - 100px);
	}

	.home .header .menu ul li a {
		font-size: 12px
	}

	.event .event-content .timing {
		font-size: 12px;
	}

	.event .event-content .timing span {
		font-size: 16px
	}

	.renovation .renovation-content .col,
	.performance .performance-content .col,
	.for-children .for-children-content .col,
	.works .works-content .col,
	.works .works-content .col,
	.event .event-content .col {
		width: calc(33% - 5px);
		margin-right: 10px
	}

	.page-content {
		padding-top: 68.88px
	}

}


@media(max-width:780px) {
	.d-desktop {
		display: none
	}

	.d-mobile {
		display: block;
	}

	body {
		font-size: 28px;
	}

	h1 {
		font-size: 60px
	}

	h2 {
		font-size: 88px
	}

	h3 {
		font-size: 40px
	}

	h4 {
		font-size: 36px
	}

	.h2big {
		font-size: 88px
	}

	.h3small {
		font-size: 40px
	}

	.bread-crumb {
		font-size: 24px
	}

	.page-content .page-header {
		height: calc(100% - 100px);
	}

	.renovation h3,
	.performance h3,
	.initiatives h3,
	.for-children h3 {
		font-size: 36px
	}

	.work-details .content-block h4,
	.renovation .content-block h4,
	.performance .content-block h4,
	.for-children .content-block h4 {
		font-size: 24px;
		margin-bottom: 20px;
	}

	.work-details .content-block h4 span,
	.renovation .content-block h4 span,
	.performance .content-block h4 span,
	.for-children .content-block h4 span {
		font-size: 80px;
	}

	.work-details .content-block .h4big span,
	.renovation .content-block .h4big span,
	.performance .content-block .h4big span,
	.for-children .content-block .h4big span {
		font-size: 36px;
		line-height: 60px;
	}

	.work-details .content-block .content-block-img,
	.renovation .content-block .content-block-img,
	.performance .content-block .content-block-img,
	.for-children .content-block .content-block-img {
		margin-bottom: 50px
	}

	.short.works,
	.short.event {
		margin-top: 0px;
	}

	.subtext:before {
		width: 40px;
		left: calc(50% - 20px);
	}

	.scroll-line {
		left: 50%;
		height: 239px;
		font-size: 24px;
	}

	.scroll-line span {
		margin-top: 13px;
		margin-left: -15px;
	}

	.btn1 {
		height: 120px;
		max-width: 605px
	}

	.btn1:after {
		width: 12px;
		height: 22px;
	}

	.subtext {
		font-size: 24px
	}

	section {
		padding: 100px 0px;
	}

	.page-content {
		padding-top: 100px
	}

	.header {
		position: fixed;
	}

	.header .headertop {
		display: block;
		padding: 0px
	}

	.header .menu {
		display: none;
		opacity: 0;
		width: 100%;
		background-color: #fff;
		overflow: scroll;
		height: calc(100vh - 100px);
		transition: ease all 5s;
	}

	.header .logo {
		width: 100%;
		padding: 14px 0px;
	}

	.header .logo img {
		max-width: 150px;
	}

	.header .menu ul {
		display: unset;
	}

	.header .menu ul li {
		border-top: 1px solid #cdc9c3;
		margin-right: 0px;
	}

	.header .menu ul li:last-child {
		border-bottom: 1px solid #cdc9c3;
	}

	.header .menu ul li a {
		font-size: 32px;
		color: #4c4948;
		padding: 27px 60px;
		display: block
	}

	.header .menu ul li a:after {
		width: 15px;
		height: 28px;
		background-image: url('../images/icon1.png');
		background-size: cover;
		position: absolute;
		content: '';
		right: 70px;
		top: calc(50% - 14px)
	}


	.header .side-buttons {
		padding: 60px
	}

	.header .side-buttons .btn1 {
		font-size: 32px;
		max-width: unset;
		height: 135px;
		margin-top: 0px
	}

	.header .side-buttons .btn1:first-child {
		margin-bottom: 40px
	}

	.hamburger {
		position: fixed;
		right: 0px;
		top: 0px;
		width: 100px;
		flex-wrap: wrap;
		align-content: space-evenly;
		height: 100px;
		padding: 17px 20px;
		cursor: pointer;
		z-index: 99;
		background-color: #337ab7
	}

	.hamburger span {
		transition: ease all .3s;
		width: 100%;
		height: 2px;
		background-color: #fff;
		display: block;
		margin-bottom: 20px;
	}

	.hamburger span:last-child {
		margin-bottom: 0px;
	}

	.header.showmenu .container {
		padding: 0px;
	}

	.header.showmenu .logo {
		margin-left: 20px
	}

	.header.showmenu {
		background-color: #898989;
	}

	.header.showmenu .menu {
		display: block;
		animation: myanim 1s forwards;
	}

	.header.showmenu .menu ul li a {
		color: #000
	}

	.header.showmenu .hamburger span {
		transform: rotate(45deg);
		margin-top: 0px;
	}

	.header.showmenu .hamburger span:nth-child(2) {
		display: none
	}

	.header.showmenu .hamburger span:nth-child(3) {
		transform: rotate(-45deg);
		margin-top: -22px;
	}

	@keyframes myanim {
		0% {
			opacity: 0;
		}

		100% {
			opacity: 1;
		}
	}

	.header .side-buttons .btn1:before,
	.header .side-buttons .btn1:after {
		position: absolute;
		content: '';
		background-size: cover;
	}

	.header .side-buttons .btn1:after {
		width: 15px;
		height: 28px;
		right: 50px;
		background-image: url('../images/icon1-w.png')
	}

	.header .side-buttons .btn1:before {
		left: 50px;
	}

	.header .side-buttons .btn1:first-child:before {
		width: 55px;
		height: 47px;
		background-image: url('../images/icon2.png')
	}

	.header .side-buttons .btn1:last-child:before {
		width: 44px;
		height: 54px;
		background-image: url('../images/icon3.png')
	}

	.container,
	.container-fluid {
		padding: 0px 20px
	}

	.section-head.left-gap,
	.section-head.right-gap {
		padding: 0px
	}

	.section-head.right-gap:before,
	.section-head.left-gap:before {
		width: 100%;
	}


	.works .works-content,
	.renovation .renovation-content,
	.performance .performance-content,
	.for-children .for-children-content,
	.event .event-content,
	.youtube .youtube-content {
		flex-wrap: wrap;
		margin-top: 80px;
	}

	.renovation .renovation-content .col,
	.performance .performance-content .col,
	.initiatives .initiatives-content .col,
	.short.for-children .for-children-content .col,
	.for-children .for-children-content .col,
	.short.works .works-content .col,
	.short.blog .blog-content .col,
	.blog .blog-content .col,
	.works .works-content .col,
	.short.event .event-content .col,
	.event .event-content .col,
	.youtube .youtube-content .col,
	.bottom-links .bottom-links-content .col {
		width: 100%;
		margin-right: 0px;
		margin-bottom: 80px;
	}

	.performance .performance-content .col:last-child,
	.initiatives .initiatives-content .col:last-child,
	.bottom-links .bottom-links-content .col:last-child {
		margin-bottom: 0px
	}

	.youtube .youtube-content {
		margin-bottom: 0px
	}


	.header-banner .header-banner-content h3 {
		margin-bottom: 20px;
	}

	.header-banner .header-banner-content {
		text-align: center;
	}

	ul.performance-big.header-circles {
		margin-top: 60px
	}

	ul.performance-big.header-circles li .text5 {
		font-size: 50px;
	}

	ul.header-circles {
		justify-content: center;
		margin-top: 30px
	}

	ul.header-circles li {
		width: 170px;
		height: 170px;
	}

	ul.header-circles li .text1 {
		font-size: 30px
	}

	ul.header-circles li .text2 {
		font-size: 20px
	}

	ul.header-circles li .text3 {
		font-size: 34px;
		margin-top: 5px;
	}

	ul.header-circles li .text3 ut,
	ul.header-circles li .text4 {
		font-size: 20px
	}

	.renovation .subhead,
	.performance .subhead,
	.for-children .subhead {
		font-size: 24px;
	}


	.blog .blog-content .col .col-content h4,
	.works .works-content .col .col-content h4,
	.renovation .renovation-content .col h4,
	.performance .performance-content .col h4,
	.for-children .for-children-content .col .col-content h4,
	.event .event-content .col .col-content h4 {
		margin: 15px 0px 20px;
	}

	.tretto h3 {
		margin: 70px 0px 70px;
	}

	.bottom-links .bottom-links-content .col-img {
		aspect-ratio: 1/.35
	}

	.bottom-links .bottom-links-content .col:first-child .col-img img {
		height: 100%;
		object-fit: cover
	}

	.event .event-content .subhead {
		font-size: 24px
	}

	.event .event-content .timing {
		font-size: 28px
	}

	.event .event-content .timing span {
		font-size: 32px
	}

	.footer .social-media li {
		width: 96px;
		margin-right: 68px
	}

	.footer .footer-logo {
		max-width: 357px;
		margin: 64px auto 80px;
	}

	.copyright {
		font-size: 20px;
		padding: 40px 0px;
	}

	.footer {
		padding-top: 100px;
		padding-bottom: 0px
	}

	.footer .footer-menu {
		flex-wrap: wrap;
		padding-top: 0px;
		margin: 0px -20px
	}

	.footer .footer-menu li {
		width: 50%;
		border-bottom: 1px #fff solid;
		padding: 30px 30px 30px 80px;
	}

	.footer .footer-menu li:before {
		width: 15px;
		height: 20px;
		position: absolute;
		content: '';
		left: 50px;
		top: calc(50% - 10px);
		background-image: url('../images/icon6.png');
		background-size: cover;
	}

	.footer .footer-menu li:last-child,
	.footer .footer-menu li:nth-last-child(2) {
		border: 0px;
	}

	.pagination a.next,
	.pagination a.prev {
		width: 32px;
		height: 32px
	}

	.pagination a,
	.pagination .current {
		font-size: 32px;
		margin: 0px 15px
	}

	.bottom-links .col-content tex1 {
		font-size: 66px;
	}

	.bottom-links .col-content tex2 {
		font-size: 24px;
	}

	.company .company-content ul {
		display: block;
		padding: 25px
	}

	.company .company-content ul li {
		padding: 0px
	}

	.company .company-content ul li:first-child {
		margin-bottom: 10px
	}

	.initiatives .initiatives-content .col-img img {
		max-height: 183px
	}

	.initiatives .initiatives-content .col .col-content h4 {
		margin-bottom: 40px
	}

	.concept .concept-bg img {
		min-height: 569px
	}

	.page-content .page-header .heading {
		font-size: 48px;
	}

	.performance .performance-bg {
		top: 130px
	}

	.company .company-map iframe {
		height: 500px;
	}

	.shortinfo {
		text-align: left
	}

	.performance .performance-bg img {
		max-width: 470px
	}

	.post-block {
		margin-bottom: 50px;
		padding-bottom: 50px;
	}

	.post-block h4 {
		line-height: 60px;
		margin-bottom: 50px
	}

	.post-block h4:before {
		width: 8px;
		top: 15px;
	}

	.post-block .post-img {
		margin-bottom: 50px
	}

	.gallery .gallery-thumbnails {
		display: none;
	}

	.gallery .gallery-slides {
		margin-left: -20px;
		margin-right: -20px
	}

	.gallery .slick-arrow {
		opacity: .8
	}

	.gallery .slick-prev {
		left: 0px
	}

	.gallery .slick-next {
		right: 0px
	}

	.gallery .slick-dots {
		margin-top: 10px;
	}

	.slick-dots li {
		margin: 0px 5px;
	}

	.gallery .slick-dots li button {
		width: 12px;
		height: 14px;
	}

	.gallery .gallery-slides .slick-slide img {}

	.work-details .content-block {
		margin-bottom: 100px;
	}

	.work-details .page-header .page-header-content {
		bottom: 40px
	}

	.work-details .page-header h4 {
		font-size: 24px
	}

	.work-details .page-header h4 span {
		font-size: 40px
	}

	.work-details .page-header .heading {
		line-height: 60px
	}

	.work-details .page-header .heading span {
		font-size: 40px
	}

	.all-events {
		margin-bottom: 70px
	}

	.event-list .event-list-content .event-fields {
		margin-top: 20px;
	}

	.event-list .event-list-content .col-img {
		margin-bottom: 30px
	}

	.event-list .event-list-content .btn1 {
		margin: 30px auto 0px;
	}

	.event-list .event-list-content .subhead {
		margin-bottom: 15px
	}

	.event-list .event-list-content .event-fields ul li:last-child {
		padding-left: 10px
	}

	.event-gallery .slick-arrow {
		width: 20px;
		height: 20px;
	}

	.event-gallery-thumbnails .slick-arrow {
		top: calc(50% - 37px);
	}


	.event-gallery .slick-slide {
		margin: 0px 5px;
	}

	.event-gallery .event-gallery-slides .slick-slide {
		margin: 0px
	}

	.event-gallery .event-gallery-thumbnails {
		margin-left: -5px;
		margin-right: -5px;
	}

	.event-gallery .slick-next {
		right: -7px;
	}

	.event-gallery .slick-prev {
		left: -7px;
	}

	.side-buttons.footer-buttons {
		position: fixed;
		bottom: 0px;
		width: 100%;
		z-index: 3;
		display: flex;
	}

	.side-buttons.footer-buttons a {
		width: 50%;
		border-radius: 0px;
		font-size: 16px
	}

	.side-buttons.footer-buttons .btn1:after {
		display: none;
	}

	.side-buttons.footer-buttons .btn1 img {
		width: 25px;
		margin-right: 15px;
	}

	body {
		padding-bottom: 64px;
	}

}

@media(max-width:767px) {
	body {
		font-size: 16px;
	}

	h1 {
		font-size: 40px
	}

	h2 {
		font-size: 56px
	}

	h3 {
		font-size: 30px
	}

	h4 {
		font-size: 20px
	}

	.h2big {
		font-size: 60px
	}

	.h3small {
		font-size: 28px
	}

	.bread-crumb {
		font-size: 12px;
		margin-bottom: 30px;
	}

	.btn1:after {
		width: 8px;
		height: 16px;
	}

	.renovation .subhead,
	.performance .subhead,
	.for-children .subhead {
		font-size: 18px
	}

	.renovation h3,
	.performance h3,
	.initiatives h3,
	.for-children h3 {
		font-size: 30px
	}

	.page-content .page-header {
		height: calc(100% - 60px);
	}

	.work-details .page-header .page-header-content {
		bottom: 30px
	}

	.work-details .page-header .heading span {
		font-size: 28px
	}

	.work-details .content-block h4,
	.renovation .content-block h4,
	.performance .content-block h4,
	.for-children .content-block h4 {
		font-size: 20px;
		margin-bottom: 10px;
	}

	.work-details .content-block h4 span,
	.renovation .content-block h4 span,
	.performance .content-block h4 span,
	.for-children .content-block h4 span {
		font-size: 40px;
	}

	.work-details .content-block .h4big span,
	.renovation .content-block .h4big span,
	.performance .content-block .h4big span,
	.for-children .content-block .h4big span {
		font-size: 24px;
		line-height: 40px;
	}

	.work-details .content-block .content-block-img,
	.renovation .content-block .content-block-img,
	.performance .content-block .content-block-img,
	.for-children .content-block .content-block-img {
		margin-bottom: 30px
	}

	.work-details .content-block {
		margin-bottom: 50px;
	}

	.performance .performance-bg {
		top: 80px;
	}

	ul.performance-big.header-circles {
		margin-top: 50px
	}

	ul.performance-big.header-circles li .text5 {
		font-size: 40px;
	}

	.subtext {
		font-size: 18px;
	}

	.scroll-line {
		height: 125px;
		font-size: 14px;
	}

	.scroll-line span {
		margin-top: 8px;
		margin-left: -8px;
	}

	section {
		padding: 70px 0px
	}

	.page-content {
		padding-top: 61px
	}

	.concept .btn1 {
		margin-top: 30px;
	}

	.btn1 {
		height: 58px;
		max-width: 400px;
		width: 80%;
	}

	.header .logo {
		padding: 6px 0px
	}

	.header .logo img {
		max-width: 100px
	}

	.header .menu ul li a {
		font-size: 16px;
		padding: 25px 50px;
	}

	.header .menu ul li a:after {
		width: 11px;
		height: 20px;
		right: 40px;
		top: calc(50% - 10px);
	}

	.header .side-buttons .btn1 {
		font-size: 16px;
		height: 80px;
	}

	.header .side-buttons .btn1:first-child {
		margin-bottom: 25px
	}

	.header .side-buttons .btn1:first-child:before {
		width: 36px;
		height: 30px
	}

	.header .side-buttons .btn1:last-child:before {
		width: 24px;
		height: 30px
	}

	.header .side-buttons .btn1:after {
		width: 11px;
		height: 20px;
	}

	.header .side-buttons {
		padding: 40px 50px;
	}

	.hamburger span {
		margin-bottom: 8px;
	}

	.hamburger {
		width: 60px;
		height: 60px;
		padding: 15px
	}

	.header.showmenu .hamburger span:nth-child(3) {
		margin-top: -10px
	}

	.header .menu {
		height: calc(100vh - 60px)
	}

	.header-banner .header-banner-content h3 {
		margin-bottom: 10px
	}

	.footer .social-media li {
		width: 40px;
		margin-right: 20px
	}

	.footer .footer-logo {
		max-width: 200px;
		margin: 30px auto 35px;
	}

	.copyright {
		font-size: 12px;
		padding: 10px 0px;
	}

	.footer .footer-menu li {
		padding: 20px 20px 20px 60px;
	}

	.footer .footer-menu li:before {
		width: 12px;
		height: 16px;
		left: 30px;
		top: calc(50% - 8px);
	}

	ul.header-circles li {
		width: 125px;
		height: 125px;
	}

	ul.header-circles li .text1 {
		font-size: 20px;
	}

	ul.header-circles li .text2 {
		font-size: 12px
	}

	ul.header-circles li .text3 {
		font-size: 32px
	}

	ul.header-circles li .text3 ut,
	ul.header-circles li .text4 {
		font-size: 10px;
	}

	.tretto h3 {
		margin: 30px 0px 40px;
	}

	.blog .blog-content .col .col-content h4,
	.works .works-content .col .col-content h4,
	.renovation .renovation-content .col .col-content h4,
	.performance .performance-content .col .col-content h4,
	.for-children .for-children-content .col .col-content h4,
	.concept h4,
	.event .event-content .col .col-content h4 {
		margin: 10px 0px 15px;
	}

	.initiatives .initiatives-content .col,
	.renovation .renovation-content .col,
	.performance .performance-content .col,
	.short.for-children .for-children-content .col,
	.for-children .for-children-content .col,
	.short.works .works-content .col,
	.works .works-content .col,
	.short.blog .blog-content .col,
	.blog .blog-content .col,
	.short.event .event-content .col,
	.event .event-content .col,
	.youtube .youtube-content .col,
	.bottom-links .bottom-links-content .col,
	.company .company-content,
	.renovation .content-block,
	.performance .content-block,
	.for-children .content-block {
		margin-bottom: 40px
	}

	.blog .blog-content,
	.works .works-content,
	.renovation .renovation-content,
	.performance .performance-content,
	.for-children .for-children-content,
	.event .event-content,
	.youtube .youtube-content {
		margin-top: 50px
	}

	.initiatives h3 {
		margin-bottom: 30px
	}

	.initiatives .initiatives-content .col-img img {}

	.initiatives .initiatives-content .col .col-content h4 {
		margin-bottom: 20px
	}

	.event .event-content .subhead,
	.event .event-content .timing {
		font-size: 14px;
	}

	.event .event-content .timing span {
		font-size: 18px
	}

	.pagination a.next,
	.pagination a.prev {
		width: 22px;
		height: 22px
	}

	.pagination a,
	.pagination .current {
		font-size: 18px;
		margin: 0px 10px
	}

	.bottom-links .col-content tex1 {
		font-size: 36px;
	}

	.bottom-links .col-content tex2 {
		font-size: 12px;
	}

	.company .company-content ul {
		padding: 15px;
	}

	.company .company-content ul li:first-child {
		margin-bottom: 5px
	}

	.page-content .page-header .heading {
		font-size: 32px;
		line-height: normal;
	}

	.page-content .page-header .heading1 {
		font-size: 60px;
	}

	.company .company-map iframe {
		height: 400px;
	}

	.post-block .post-img {
		margin-bottom: 30px
	}

	.post-block {
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.post-block h4 {
		line-height: 35px;
		padding-left: 25px;
		margin-bottom: 30px
	}

	.post-block h4:before {
		top: 10px
	}

	.gallery .slick-arrow {
		top: calc(50% - 34px);
	}

	.gallery .slick-arrow {
		width: 30px;
		height: 30px;
	}

	.event-list .event-list-content h4 {
		font-size: 20px
	}

}

@media(max-width:600px) {

	.renovation h3,
	.performance h3,
	.initiatives h3,
	.for-children h3,
	h3 {
		font-size: 26px;
	}

	.event-list .event-list-content .btn1 {
		/*max-width:350px*/
	}

}

@media(max-width:480px) {
	h1 {
		font-size: 32px
	}

	h2 {
		font-size: 48px
	}

	.h2big {
		font-size: 50px
	}

	h3,
	.renovation h3,
	.performance h3,
	.for-children h3 {
		font-size: 22px
	}



	.h3small {
		font-size: 20px
	}

	h4,
	.renovation .renovation-content h4,
	.performance .content-block h4,
	.for-children .content-block h4 {
		font-size: 18px
	}

	.subtext {
		font-size: 18px;
		padding-bottom: 10px
	}

	.subtext:before {
		width: 25px;
		height: 2px;
		left: calc(50% - 12.5px)
	}

	.header .side-buttons .btn1:first-child:before,
	.header .side-buttons .btn1:last-child:before {
		left: 30px
	}

	.header .side-buttons .btn1:after {
		right: 30px
	}

	.header .menu ul li a {
		padding: 20px 30px;
	}

	.header .side-buttons {
		padding: 40px 30px;
	}

	.footer .footer-menu li {
		width: 100%;
	}

	ul.header-circles li {
		width: 90px;
		height: 90px;
		margin-right: 5px
	}

	ul.header-circles li .text1 {
		font-size: 16px;
	}

	ul.header-circles li .text2 {
		font-size: 10px;
	}

	ul.header-circles li .text3 {
		font-size: 20px;
		margin-top: 0px;
	}

	ul.header-circles li .text3 ut,
	ul.header-circles li .text4 {
		font-size: 8px
	}

	ul.header-circles li .text5 {
		margin: 0px;
		line-height: normal
	}

	.tretto h3 {
		margin: 20px 0px 30px;
	}

	.renovation .content-block .h4big span,
	.performance .content-block .h4big span,
	.for-children .content-block .h4big span {
		font-size: 20px;
		line-height: normal
	}


	.page-content .page-header .heading {
		font-size: 24px;
	}

	.page-content .page-header .heading1 {
		font-size: 40px;
	}

	ul.performance-big.header-circles,
	.blog .blog-content,
	.works .works-content,
	.renovation .renovation-content,
	.performance .performance-content,
	.for-children .for-children-content,
	.event .event-content,
	.youtube .youtube-content {
		margin-top: 30px;
	}

	h3,
	.renovation h3,
	.performance h3,
	.for-children h3 {
		margin-bottom: 30px;
	}





}

@media(max-width:375px) {
	h2 {
		font-size: 36px
	}

	.subtext {
		font-size: 16px
	}

	.renovation h3,
	.performance h3,
	.for-children h3 {
		font-size: 20px;
	}
}


/*------------------------------------------------
custom css
------------------------------------------------*/
/* ブログ記事用 標準スタイル */

.post-entry-block,
.post-block.post-entry-block:last-child{
    margin-bottom: 0px;
		padding-bottom: 60px;
    /*padding: 32px 24px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.04);*/
}

.post-entry-block h1,
.post-entry-block h2,
.post-entry-block h3,
.post-entry-block h4,
.post-entry-block h5,
.post-entry-block h6 {
    font-weight: bold;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.4;
    color: #222;
}

.post-entry-block h1 { font-size: 2.2em; border-left: 8px solid #337ab7; padding-left: 12px;}
.post-entry-block h2 { font-size: 1.7em; border-left: 6px solid #337ab7; padding-left: 10px;}
.post-entry-block h3 { font-size: 1.3em; border-left: 5px solid #337ab7; padding-left: 8px;}
.post-entry-block h4 { font-size: 1.1em; border-left: 4px solid #337ab7; padding-left: 6px;}
.post-entry-block h5,
.post-entry-block h6 { font-size: 1em; }

.post-entry-block p {
    margin: 1.2em 0;
    line-height: 1.8;
    color: #333;
}

.post-entry-block ul,
.post-entry-block ol {
    margin: 1.2em 0 1.2em 2em;
    padding: 0;
}

.post-entry-block ul li {
    list-style: disc inside;
    margin-bottom: 0.5em;
}

.post-entry-block ol li {
    list-style: decimal inside;
    margin-bottom: 0.5em;
}

.post-entry-block table {
    width: 100%;
    border-collapse: collapse;
    margin: 2em 0;
    background: #fafbfc;
    font-size: 1em;
}

.post-entry-block th,
.post-entry-block td {
    border: 1px solid #e0e0e0;
    padding: 12px 10px;
    text-align: left;
}

.post-entry-block th {
    background: #f0f6fa;
    font-weight: bold;
    color: #337ab7;
}

.post-entry-block a {
    color: #337ab7;
    text-decoration: underline;
    transition: color 0.2s;
}

.post-entry-block a:hover {
    color: #23527c;
    text-decoration: none;
}

.post-entry-block .blog-btn,
.post-entry-block .btn,
.post-entry-block button,
.post-entry-block input[type="button"],
.post-entry-block input[type="submit"] {
    display: inline-block;
    background: #337ab7;
    color: #fff;
    font-weight: bold;
    border: none;
    border-radius: 24px;
    padding: 12px 32px;
    font-size: 1.1em;
    margin: 1.5em 0;
    cursor: pointer;
    transition: background 0.2s;
    text-align: center;
    text-decoration: none;
}

.post-entry-block .blog-btn:hover,
.post-entry-block .btn:hover,
.post-entry-block button:hover,
.post-entry-block input[type="button"]:hover,
.post-entry-block input[type="submit"]:hover {
    background: #23527c;
}

.post-entry-block blockquote {
    border-left: 5px solid #337ab7;
    background: #f5f8fa;
    color: #444;
    margin: 2em 0;
    padding: 1em 1.5em;
    font-style: italic;
}

.post-entry-block img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 1.5em auto;
    border-radius: 0px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}

.post-entry-block figure img{
	margin-bottom: 10px;
}

.post-entry-block figure figcaption{
	font-size: 0.875em;
	text-align: center;
	margin-top: 5px;
	color: #666;
	margin-bottom: 1.5em;
}

@media (max-width: 600px) {
    .post-entry-block {
        padding: 16px 6px;
    }
    .post-entry-block h1 { font-size: 1.5em; }
    .post-entry-block h2 { font-size: 1.2em; }
    .post-entry-block h3 { font-size: 1.1em; }
    .post-entry-block th,
    .post-entry-block td {
        padding: 8px 4px;
    }
}


.post-entry-block hr{
	border: none;
	margin: 0px;
	padding: 0px;
	margin: 50px 0px;
	border-top: 1px #9c9c9c solid;
}