/*
Theme Name: Helild
Template: hello-elementor
*/

@import url('https://fonts.googleapis.com/css?family=Roboto&text=0123456789');
@font-face {
	font-family: 'NotoSansJPSubset';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: local("Noto Sans CJK JP DemiLight"),
	url('https://www.gokoh.gr.jp/uploads/fonts/NotoSans_DemiLight.woff2') format('woff2'),
	url('https://www.gokoh.gr.jp/uploads/fonts/NotoSans_demilight.woff') format('woff');
}
@font-face {
	font-family: 'NotoSansJPSubset';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: local("Noto Sans CJK JP Regular"),
	url('https://www.gokoh.gr.jp/uploads/fonts/NotoSans_Regular.woff2') format('woff2'),
	url('https://www.gokoh.gr.jp/uploads/fonts/NotoSans_regular.woff') format('woff');
}
@font-face {
	font-family: 'NotoSansJPSubset';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: local("Noto Sans CJK JP Medium"),
	url('https://www.gokoh.gr.jp/uploads/fonts/NotoSans_Medium.woff2') format('woff2'),
	url('https://www.gokoh.gr.jp/uploads/fonts/NotoSans_medium.woff') format('woff');
}
@font-face {
	font-family: 'YakuhanJPs';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('https://www.gokoh.gr.jp/uploads/fonts/YakuHanJPs-DemiLight.woff2') format('woff2'),
	url('https://www.gokoh.gr.jp/uploads/fonts/YakuHanJPs-DemiLight.woff') format('woff');
}
@font-face {
	font-family: 'YakuhanJPs';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('https://www.gokoh.gr.jp/uploads/fonts/YakuHanJPs-Medium.woff2') format('woff2'),
	url('https://www.gokoh.gr.jp/uploads/fonts/YakuHanJPs-Medium.woff') format('woff');
}

html {
	font-size: 62.5%;
}
body {
	font-family: 'SF Pro text', 'Helvetica Neue', 'Roboto', Helvetica, 'YakuhanJPs', 'NotoSansJPSubset', 'Noto Sans JP', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
	font-size: 16px;
	font-size: calc(1.37rem + 0.15vw);
	color: #444;
	line-height: 1.6;
	min-width: 320px;
	overflow-x: hidden;
	-webkit-text-size-adjust: 100%;
	font-feature-settings: "palt";
	letter-spacing: 0.01em;
}

/*-------------------- Header -------------------*/
.ekit-template-content-header {
	position: fixed;
	width: 100%;
	top: 0;
	z-index: 10;
}
.ekit-template-content-header.is-sticky {
	justify-content: center;
}
.ekit-template-content-header .site-header {
	max-width: 1360px;
	margin: 0 auto;
	padding: 0;
	transition: 0.6s;
}
.home.elementor-page .ekit-template-content-header.is-sticky .site-header {
	max-width: 1380px;
	padding: 0;
	background: #fffa;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.home.elementor-page .ekit-template-content-header .site-header {
	max-width: none;
	padding: 8px 10px;
	background: none;
}
.ekit-template-content-header .navi {
	width: auto;
}
.site-logo a {
	padding: 8px;
}
.home.elementor-page .site-logo a {
	background: #fffa;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.elementor-page .ekit-template-content-header .site-logo a img {
	transition: 0.3s;
}
.elementor-page .ekit-template-content-header.is-sticky .site-logo a {
	background: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
.elementor-page .ekit-template-content-header.is-sticky .site-logo a img {
	width: 230px;
}

/*-------------------- Main Navi -------------------*/
#ekit-megamenu-main-navi {
	width: 750px;
}
.home.elementor-page #ekit-megamenu-main-navi {
	background: #f8f8f8aa;
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
}
.home .ekit-template-content-header.is-sticky #ekit-megamenu-main-navi {
	background: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}
#ekit-megamenu-main-navi #menu-main-navi > li {
	flex: 1;
}
#ekit-megamenu-main-navi #menu-main-navi > li > a {
	font-size: 100%;
	font-weight: 600;
	color: #456;
	justify-content: center;
	flex-direction: column;
	border-left: 1px solid #9993;
}
#ekit-megamenu-main-navi #menu-main-navi > li > a:before {
	content: attr(data-desc);
	content: none;
	font-size: 80%;
	color: #aaa;
}
#ekit-megamenu-main-navi #menu-main-navi > li > a:after {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 3px;
	background: #37b;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
#ekit-megamenu-main-navi #menu-main-navi > li > a.active:after {
	transform-origin: left top;
	transform: scale(1, 1);
}
#ekit-megamenu-main-navi #menu-main-navi > li.elementskit-dropdown-has {
	text-align: center;
}
#ekit-megamenu-main-navi #menu-main-navi > li.elementskit-dropdown-has:after {
	position: absolute;
	font-family: "Font Awesome 5 Free";
	font-size: 60%;
	font-weight: 600;
	color: #58b;
	content: "\f078";
	bottom: 0;
}
#ekit-megamenu-main-navi .ekit-wid-con .elementskit-info-box-title {
	font-size: 110%;
	font-weight: 500;
	margin: 0.1em 0;
}
#ekit-megamenu-main-navi .ekit-wid-con p {
	font-size: 100%;
}
#ekit-megamenu-main-navi .ekit-wid-con .elementskit-infobox .box-body {
	padding: 1em 0 0.3em;
	background: #4006;
}
#ekit-megamenu-main-navi .elementor-col-25:nth-child(even) .ekit-wid-con .elementskit-infobox .box-body {
	padding: 1em 0 0.3em;
	background: #0146;
}
#ekit-megamenu-main-navi .htmega-post-grid-area .ht-post .post-content {
	padding: 0;
}
#ekit-megamenu-main-navi .htmega-post-grid-area .ht-post .post-content .content .htmega-post-g-title {
	font-size: 90%;
	line-height: 1.4;
	margin: 0;
}
#ekit-megamenu-main-navi .htmega-post-grid-area .ht-post .post-content .content .htmega-post-g-title a {
	display: block;
	padding: 0.5em 1em;
}
#ekit-megamenu-main-navi h3.elementor-heading-title, #ekit-megamenu-main-navi h3.elementskit-info-box-title {
	border: none;
	padding: 0.2em;
}
#ekit-megamenu-main-navi h3.elementor-heading-title:before {
	background: none;
}
#ekit-megamenu-main-navi .ht-post.mt--30 {
	margin-top: 10px;
}
#ekit-megamenu-main-navi .ht-post .thumb a img {
	max-height: calc(112px + 2vw);
}

/*-------------------- Footer -------------------*/
.site-footer {
	color: #fff;
	padding: 0.8em;
	background: #567;
}
.site-footer .footer-inner {
	text-align: center;
	margin: 0 auto;
	max-width: 1300px;
}
.site-footer .footer-inner p {
	margin: 0;
}
.site-footer .footer-inner .hide {
	display: none;
}
body .scroll-back-to-top-wrapper i.fa {
	line-height: calc(1.7em - 0.6vw);
}

/*-------------------- Top Page -------------------*/
.home .title-en {
	font-size: 175%;
}
.home .slider-wrapper .elementor-background-overlay:after, .commercial .slider-wrapper .elementor-background-overlay::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.5);
	background-image: radial-gradient(#000 30%, transparent 31%), radial-gradient(#000 30%, transparent 31%);
	background-size: 4px 4px;
	background-position: 0 0, 2px 2px;
}
.elementor-button {
	background: #789;
}

/*-------------------- Hero -------------------*/
.hero {
	overflow: hidden;
}
.hero .hero-catch {
	position: absolute;
	text-shadow: 0 0 5px #0368;
}
.hero .elementor-heading-title {
	font-size: calc(2em + 2vw);
}
.hero .hero-catch p {
	font-family: YuMincho, 'Yu Mincho';
	font-size: calc(1.2em + 1.2vw);
	color: #fff;
	text-shadow: 0 0 5px #0368,	0 0 5px #0368;
}
.hero-content .elementor-widget-html p {
	font-family: YuMincho, 'Yu Mincho';
	font-size: 250%;
	color: #fff;
}
.hero .hero-video {
	position: relative;
	max-height: 105vh;
	height: calc(1em + 53vw);
}
.hero .hero-video video {
	position: absolute;
	width: 103%;
	max-width: 103%;
	bottom: 0;
}
.hero .htmega-postslider-layout-5 .content .post-inner h2 {
	margin: 0;
}
.hero .htmega-single-post-slide .thumb a {
	overflow: hidden;
	max-height: 160px;
}
.hero .htmega-postslider-layout-5 .content .post-inner {
	min-height: 3em;
}
.hero .hero-ticker {
	position: absolute;
	bottom: 1em;
}
.hero .htmega-newsticker-style-6 .breaking-news-title, .hero .htmega-newsticker-style-6 .breaking-news-nav {
	height: 45px;
}
.hero .htmega-newsticker-style-6 .breaking-news-ticker li a {
	font-family: 'SF Pro text', 'Helvetica Neue', 'Roboto', Helvetica, 'YakuhanJPs', 'NotoSansJPSubset', 'Noto Sans JP', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
}
.switcher button {
	color: #fff;
	border-color: transparent;
}
.switcher button:hover {
	border-color: #fff;
	background: none;
}
.switcher button:focus {
	background: none;
	outline: none;
}

/*-------------------- Pickup -------------------*/
.pickup .htmega-single-post-slide .thumb {
	box-shadow: 0 0 6px #0004;
}
.pickup .htmega-postslider-layout-4 .content .post-inner h2 {
	font-size: 100%;
	margin: 0;
}

/*-------------------- Business -------------------*/
.business .ekit-wid-con .elementskit-info-box-title {
	font-size: 125%;
	font-weight: 600;
}
.business .ekit-wid-con a .elementskit-infobox:after {
	position: absolute;
	font-family: 'Font Awesome 5 Free';
	font-size: 90%;
	font-weight: 600;
	content: "\f054";
	margin: 0 8px;
	top: calc((100% - 1em) / 2);
	right: 0;
	color: #fff6;
}

/*-------------------- Top Works -------------------*/
.works .post-carousel-wrapper .htmega-postslider-layout-2 .content {
	position: absolute;
	width: 100%;
	bottom: 1em;
}
.works .post-carousel-wrapper .htmega-postslider-layout-2 .content .post-inner h2 {
	font-size: 90%;
	line-height: 1.35;
	text-align: left;
	margin: 0;
	padding: 0.3em 0.5em 0;
}
.works .post-carousel-wrapper .htmega-postslider-layout-2 .content .post-inner h2 a {
	display: block;
}
.works .htmega-single-post-slide .thumb {
	box-shadow: 0 0 6px #0004;
}

/*-------------------- Top Topics -------------------*/
.htmega-post-grid-area .ht-post .post-content .content h2 {
	font-size: 155%;
}
.htmega-post-grid-area .ht-post .post-content .content h4 {
	font-size: 115%;
}
.home .su-posts-default-loop.topiclist-loop .su-post-title {
	font-size: 100%;
}

/*-------------------- Access -------------------*/
.access .gmap iframe {
	margin-bottom: -6px;
}
.access .elementor-icon-box-title {
	margin-top: 0.2em;
}
.access .elementor-icon-box-description {
	font-size: 95%;
}

/*-------------------- Topics -------------------*/
.page .su-posts-default-loop .su-post-meta {
	font-size: 95%;
	opacity: 1;
}
.su-posts-default-loop.topiclist-loop .su-post {
	display: flex;
	margin-bottom: 0.5em;
	padding: 0.5em 0 0.2em;
	border-bottom: 1px solid #eee;
	transition: 0.3s;
}
.su-posts-default-loop.topiclist-loop .su-post-title {
	font-size: 95%;
	line-height: 1.6;
	margin: 0;
}
.page .su-tabs {
	margin-bottom: 0.5em;
	background: none;
}
.page .su-tabs-nav span {
	position: relative;
	font-size: 92%;
	text-align: center;
	width: calc((100% - 10px) / 3);
}
.page .su-tabs-nav span::before {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	width: 100%;
	height: 3px;
	background: #ddd;
}
.page .su-tabs-nav span::after {
	position: absolute;
	bottom: -4px;
	left: 0;
	content: '';
	width: 100%;
	height: 3px;
	background: #37b;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
.page .su-tabs-nav span.su-tabs-current:before {
	background: #37b;
}
.page .su-tabs-pane {
	font-size: 100%;
	padding: 1.5em 0 0.5em;
	min-height: 16em;
}

/*-------------------- Page Template -------------------*/
.page:not(.elementor-page) .site-main {
	margin-top: 100px;
}
.page:not(.elementor-page) .site-main {
	margin-top: 70px;
}
body:not(.elementor-page) .page-header {
	background: #eee;
}
body:not(.elementor-page) .ekit-template-content-header.is-sticky {
	border-bottom: 1px solid #eee;
}
body:not(.elementor-page) .page-header h1 { 
	max-width: 1300px;
	margin: 0 auto;
	padding: 1.2em 0.6em 1em;
}
body:not(.elementor-page) .page-content {
	max-width: 1300px;
	margin: 0 auto;
	padding: 2em 0.8em;
}

/*-------------------- Sub Page -------------------*/
.title-en {
	font-size: 160%;
	font-weight: 600;
}
.htmega-post-grid-area .ht-post a.post-category {
	background: #0008;	
}
.htb-nav {
	z-index: 1;
}
.htb-tab-pane {
	margin-top: -140px;
	padding-top: 140px;
}
.htb-tab-pane .elementor-column-gap-default>.elementor-column>.elementor-element-populated {
	padding: 0;
}

/*-------------------- Works Page -------------------*/
.works-slider .post-carousel-wrapper .htmega-postslider-layout-2 .content {
	padding: 0 10px;
}
.works-slider .post-carousel-wrapper .htmega-postslider-layout-2 .content .post-inner h2 {
	font-size: 90%;
    line-height: 1.35;
    text-align: left;
    margin: 0;
    padding: 0.3em 0.6em 0;
}
.works-content .black-overlay .thumb a::before {
	background: none;
}
.works-content .htmega-post-grid-area .ht-post .post-content .content h4 {
	font-size: 90%;
    line-height: 1.35;
	margin: 0;
    padding: 0.2em 0.5em 0.1em;
	background: #0008;
}
.works-content .ht-post .post-content {
	padding: 10px;
}
.works-content .ht-post .thumb img {
	height: calc(9em + 5vw);
	object-fit: cover;
}

/*-------------------- Download Page -------------------*/
.img-48 img {
	width: 48px;
}
.updates .update-information {
	font-size: 90%;
	height: 7.8em;
	margin-bottom: 2.5em;
	padding: 0.5em 1em;
	overflow-y: scroll;
	border: 1px solid #eee;
}
.wpdm-link-template .media {
	display: flex;
	margin-bottom: 0.3em;
}
.wpdm-link-template .media-body div {
	font-size: 80%;
	color: #888;
}
.wpdm-link-template .package-title {
	font-size: 120%;
	font-weight: 500;
	color: #555;
	margin: 0;
	padding: 0.3em;
}
.wpdm-link-template .wpdm-download-link {
	font-size: 85%;
	padding: 0 1em;
}
.wpdm-link-template .wpdm-download-link:after {
	content: "";
}
.w3eden .btn {
    line-height: 1.3;
	background: #f0f4f8;
}
.w3eden .btn-link {
    color: #468;
}
.w3eden a.btn-link:hover {
    color: #fff;
}

/*-------------------- Contact Page -------------------*/
.page .mw_wp_form {
	padding-top: 110px;
	margin-top: -110px;
}
.page .mw_wp_form.mw_wp_form_confirm {
	padding-top: 240px;
	margin-top: -240px;
}
input, optgroup, select, textarea, [type=button], [type=submit] {
	font-size: 95%;
}

/*-------------------- Staff Page -------------------*/
.password-addword {
	font-size: 70%;
	color: #999;
	margin-left: 0.5em;
}

/*-------------------- Single -------------------*/
.single .page-content {
	max-width: 1330px;
	margin: 0 auto;
}
.single #content {
	padding-top: 70px;
}
body:not(.elementor-page).single .page-header h1 {
	font-size: 125%;
}

/*-------------------- Single Work -------------------*/
.single-work .work-info {
	display: flex;
	gap: 1em;
	margin-bottom: 2%;
}
.single-work .work-info div, .single-work .work-info dl {
	width: 50%;
}
.single-work .thumb img {
	max-height: calc(20em + 20vw);
	object-fit: cover;
}
.single-work .work-detail {
	padding: 1.2em;
	background: #f8f8f8;
}
.gallery {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -1%;
}
.gallery-columns-3 .gallery-item {
    width: calc(100% / 3);
	margin: 0;
	padding: 1%;
}
.gallery .gallery-icon img {
	object-fit: cover;
	height: calc(10em + 5vw);
}

/*-------------------- General CSS -------------------*/
.center {
	text-align: center;
}
.left {
	text-align: left;
}
.right {
	text-align: right;
}
.f-left {
	float: left;
	margin: 0 2% 0.5em 0;
}
.f-right {
	float: right;
	margin: 0 0 0.5em 2%;
}
.f-left img, .f-right img {
	max-width: 45vw;
}
.clear {
	clear: both;
}
.absolute {
	position: absolute;
}
.ib, .inline-block {
	display: inline-block;
}
.mt0 {
	margin-top: 0;
}
.mt10 {
	margin-top: 10px;
}
.mt20 {
	margin-top: 20px;
}
.mb0 {
	margin-bottom: 0;
}
.mb5 {
	margin-bottom: 5px;
}
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}
.pl1 {
	padding-left: 1%;
}
.pl2 {
	padding-left: 2%;
}
.pl3 {
	padding-left: 3%;
}
.pr1 {
	padding-right: 1%;
}
.pr2 {
	padding-right: 2%;
}
.pr3 {
	padding-right: 3%;
}
.pt10 {
	padding-top: 10px;
}
.pt20 {
	padding-top: 20px;
}
.pl10 {
	padding-left: 10px;
}
.pl20 {
	padding-left: 20px;
}
.pr10 {
	padding-right: 10px;
}
.pr20 {
	padding-right: 20px;
}
.pb10 {
	padding-bottom: 10px;
}
.pb20 {
	padding-bottom: 20px;
}
.mw400 {
	max-width: 400px;
}
.mw500 {
	max-width: 500px;
}
.mw600 {
	max-width: 600px;
}
.mw700 {
	max-width: 700px;
}
.mw800 {
	max-width: 800px;
}
h1, h2, h3, h4, h5, h6 {
	margin: 1em 0 0.6em;
}
h1, h2, h3 {
	font-weight: 600;
}
h4, h5, h6 {
	font-weight: 500;
}
h1 {
	font-size: 140%;
}
h2 {
	font-size: 128%;
}
h3 {
	font-size: 120%;
}
h4 {
	font-size: 114%;
}
h5 {
	font-size: 106%;
}
h6 {
	font-size: 102%;
}
.ti1 {
	text-indent: -1em;
	padding-left: 1em; 
}
.ti13 {
	text-indent: -1.3em;
	padding-left: 1.3em; 
}
.ti2 {
	text-indent: -2em;
	padding-left: 2em; 
}
.ti3 {
	text-indent: -3em;
	padding-left: 3em; 
}
.xx-smaller {
	font-size: 80%;
}
.x-smaller {
	font-size: 90%;
}
.smaller {
	font-size: 96%;
}
.larger {
	font-size: 104%;
}
.x-larger {
	font-size: 110%;
}
.xx-larger {
	font-size: 120%;
}
ul, ol {
	margin-bottom: 0.3em;
	padding-left: 0;
}
ul li {
	list-style-type: none;
}
ul.circle li {
	list-style-type: circle;
	margin-bottom: 0.2em;
}
ul.disc li {
	list-style-type: disc;
	margin-bottom: 0.2em;
}
ol {
	list-style-type: none;
	counter-reset: number;
}
ol li {
	text-indent: -1.5em;
	margin: 0 0 0.3em;
	padding-left: 0.5em;
}
ol li::before {
	counter-increment: number;
	content: counter(number)".";
	font-weight: 600;
	color: #7ae;
	padding: 0 0.3em;
}
ol.circle-list {
	list-style-type: none;
	counter-reset: number;
}
ol.circle-list li {
	text-indent: -1.4em;
	margin: 0 0 5px;
	padding-left: 0.2em;
}
ol.circle-list li a {
	max-width: 91%;
}
ol.circle-list li::before {
	counter-increment: number;
	content: counter(number);
	color: #fff;
	font-size: 90%;
	font-weight: 500;
	width: 1em;
	height: 1em;
	margin: 0 0.3em 0 0;
	padding: 0 0.35em;
	vertical-align: top;
	background: #8bf;
	border-radius: 10px;
}
.arrow-list li {
	margin-bottom: 0.1em;
	text-indent: -1.3em;
	padding-left: 1.2em;
}
.comment-list li {
	margin-bottom: 0.1em;
	text-indent: -1.7em;
	padding-left: 1.5em;
}
.check-list li {
	margin-bottom: 0.1em;
	text-indent: -1.6em;
	padding-left: 1.5em;
}
.arrow-list li:before {
	font-family: 'Font Awesome 5 Free';
	font-size: 75%;
	font-weight: 600;
	content: "\f054";
	margin: 0 6px 0 6px;
	color: #9cc;
}
.arrow-list li a {
	color: #577;
}
.comment-list li:before {
	font-family: 'Font Awesome 5 Free';
	font-size: 92%;
	font-weight: 600;
    content: "\f075";
    margin: 0 0.4em;
    color: #eca;
}
.check-list li:before {
	font-family: 'Font Awesome 5 Free';
	font-size: 95%;
	font-weight: 400;
	content: "\f14a";
	margin: 0 0.4em;
	color: #6ca;
}
.exclamation-list li {
	text-indent: -1.35em;
	padding-left: 1.4em;
}
.exclamation-list li:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #eb9;
	content: "\f06a";
	margin-right: 0.3em;
}
.exclamation-list.red li:before {
	color: #eaa;
}
.flex-list, .entry-content .flex-list {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0;
}
.flex-list li, .entry-content .flex-list li {
	margin: 0 0.5em 0.5em 0;
	padding: 0.2em 0.5em 0.1em 0.4em;
	background: #eaf7f7;
	border-radius: 3px;
}
.g-sheet .flex-list li, .b-sheet .flex-list li, .y-sheet .flex-list li, .p-sheet .flex-list li {
	background: #fff;	
}
.g-sheet .flex-list li {
	border: 1px solid #eee;
}
.b-sheet .flex-list li {
	border: 1px solid #def;
}
.y-sheet .flex-list li {
	border: 1px solid #eec;
}
.p-sheet .flex-list li {
	border: 1px solid #eec;
}
.g-sheet .flex-list li.bgt, .b-sheet .flex-list li.bgt, .y-sheet .flex-list li.bgt, .p-sheet .flex-list li.bgt {
	background: transparent;
	border-color: transparent;
}
dl dt {
	font-weight: 400;
	color: #358;
	margin: 0;
	clear: both;
}
dd {
	margin: 0 0 0.4em 0.2em;
}
.f-def {
	margin: 0 0 0.4em 0.2em;
}
.f-def dt {
	display: inline-block;
	color: #358;
	float: left;
	width: auto;
}
.f-def dd {
	display: block;
	float: none;
	line-height: 1.55;
}
.f-def.p2 dd {
	padding-left: 2.5em;
}
.f-def.p3 dd {
	padding-left: 3.5em;
}
.f-def.p4 dd {
	padding-left: 4.6em;
}
.f-def.p5 dd {
	padding-left: 5.6em;
}
.f-def.p6 dd {
	padding-left: 6.7em;
}
.f-def.p7 dd {
	padding-left: 7.7em;
}
.f-def.p8 dd {
	padding-left: 8.8em;
}
.f-def.p9 dd {
	padding-left: 9.8em;
}
.f-def.p10 dd {
	padding-left: 10.9em;
}
.f-def.p11 dd {
	padding-left: 11.9em;
}
.f-def.bb dd {
	border-bottom: 1px solid #eee;
}
.f-def.m0 dd {
	line-height: 1.45;
}
.flex-def {
	display: flex;
	flex-wrap: wrap;
}
.flex-def.w2 > dt {
	width: 2.2em;
}
.flex-def.w2 > dd {
	width: calc(100% - 2.2em);
}
table {
	font-size: 97%;
	text-align: center;
	margin-bottom: 10px;
	border-collapse: separate;
	border-bottom: 1px solid #eee;
}
th, td {
	text-align: center;
}
table th {
	font-weight: 500;
	background: #ebf8f9;
	letter-spacing: 0;
}
table td {
	font-size: 98%;
}
table tr:nth-child(2n) {
	background: #f9fbfb;
}
table tr span {
	color: #888;
}
.left td {
	text-align: left;
}
th.center, td.center {
	text-align: center;
}
th.left, td.left {
	text-align: left;
}
th.top, td.top {
	vertical-align: top;
}
th.none, td.none {
	display: none;
}
table.first-left tr td:first-child {
	text-align: left;
}
table.first-center tr td {
	text-align: left;
}
table.first-center tr td:first-child {
	text-align: center;
}
table.second-center tr td {
	text-align: left;
}
table.second-center tr td:nth-child(2) {
	text-align: center;
}
table.second-left tr td {
	text-align: center;
}
table.second-left tr td:nth-child(2) {
	text-align: left;
}
table.third-center tr td {
	text-align: left;
}
table.third-center tr td:nth-child(3) {
	text-align: center;
}
table.first-colored tr td:first-child {
	background: #f3fafb;
}
table.first-colored tr:nth-child(odd) td:first-child {
	background: #eef8f9;
}
table.first-colored tr td[rowspan] + td {
    background-color: none;
}
table.first-colored tbody tr:hover td:first-child {
	background: #e5f4f5;
}
table.first-colored tbody tr:nth-child(odd):hover td:first-child {
	background: #e0f1f2;
}
table > thead > tr > th, table > tbody > tr > th, table > tfoot > tr > th, table > thead > tr > td, table > tbody > tr > td, table > tfoot > tr > td {
	border: 1px solid #fff;
	padding: 0.4em;
}
p {
	line-height: 1.7;
	margin: 0 0.1em 0.5em;
}
p.bb {
	border-bottom: 1px solid #eee;
}
p.fw {
	margin: 0 0 1.5%;
}
p.hd {
	margin: 0 0 1.5%;
}
p.f-left.hd {
	margin: 0 2% 0.5em 0;
}
p.f-right.hd {
	margin: 0 0 0.5em 2%;
}
.exclamation {
	text-indent: -1.3em;
	padding-left: 1.4em;
}
.exclamation:before {
	content: "\f06a";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #eb9;
	margin-right: 0.3em;
}
a {
	color: #357;
}
a.ib {
	display: inline-block;
	margin-right: 1em;
}
a.phone {
	display: inline-block;
	font-size: 125%;
	font-weight: 600;
	line-height: 1.4;
	color: #469;
}
a.phone:before {
	font-family: "Font Awesome 5 Free";
	font-size: 90%;
	font-weight: 900;
	content: "\f879";
	margin-right: 0.2em;
}
a.phone.smaller {
	font-size: 105%;
}
.info-circle {
	text-indent: -1.2em;
	padding-left: 1.2em;
}
.info-circle:before {
	font-family: "Font Awesome 5 Free";
	font-size: 95%;
	font-weight: 900;
	color: #8ac;
	content: "\f05a";
	margin-right: 0.3em;
}
.su-tabs .su-tabs-pane {
	padding: 1em 0 0;
}
.su-posts.su-posts-default-loop .su-post-meta {
	opacity: 1;
}
.su-posts-default-loop.topiclist-loop .su-post {
	margin: 0.2em 0 0.4em;
	border-bottom: 1px solid #eee;
}
.su-posts-default-loop.topiclist-loop .su-post-meta {
	display: inline-block;
	font-size: 100%;
	line-height: 1.6;
	color: #8ac;
	margin: 0 0.2em 0.2em 0;
	min-width: 11.6em;
	vertical-align: top;
	opacity: 1;
}
.su-posts-default-loop.topiclist-loop .su-post-meta .date {
	margin-right: 0.3em;
}
.top-topics .su-posts-default-loop.topiclist-loop .su-post h5 {
	font-size: 100%;
	color: #466;
	line-height: 1.4;
	margin: 0.3em 0;
}
.cate {
	display: inline-block;
	font-size: 85%;
	color: #579;
	line-height: 1.3;
	text-align: center;
	min-width: 6em;
	padding: 2px 8px 1px;
	background: #e8f5f8;
	border-radius: 3px;
}
.cate.important-topic {
	color: #a44;
	background: #faf0f0;
}
.cate.event-topic {
	color: #c95;
	background: #faf5f0;
}
.cate.construction {
	color: #b17321;
	background: #f8f2e8;
}
.cate.public {
	color: #b53;
	background: #fbf0ec;
}
.m-anchor {
	position: relative;
	vertical-align: top;
	padding-top: 57px;
	margin-top: -57px;
	z-index: -1;
}
.m-anchor.low {
	padding-top: 36px;
	margin-top: -36px;
}
.m-anchor.mid {
	padding-top: 44px;
	margin-top: -44px;
}
.m-anchor.hi {
	padding-top: 53px;
	margin-top: -53px;
}
.page-parent:not(.page-child) .m-anchor {
	padding-top: 63px;
	margin-top: -63px;
}
.lh-low {
	line-height: 1.4;
}
.red {
	color: #b65;
}
.blue {
	color: #36a;
}
.green {
	color: #073;
}
.orange {
	color: #c84;
}
.grey {
	color: #888;
}
.semi-bold {
	font-weight: 500;
}
.white-shadow {
	text-shadow: 0 -1px 2px #fff, -1px 0 2px #fff, 1px 0 2px #fff, 0 1px 2px #fff, 0px 1px 3px #fff;
}
.mincho {
	font-family: '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', HG明朝E, 'MS P明朝', 'MS 明朝', serif;
}
.gyosho {
	font-family: 'HG正楷書体-PRO', 'HGP行書体', '游明朝', YuMincho, 'ヒラギノ明朝 ProN W3', 'Hiragino Mincho ProN', 'HG明朝E', 'MS P明朝', 'MS 明朝', serif;
	font-size: 150%;
	font-weight: bold;
}
.g-sheet, .y-sheet, .p-sheet, .b-sheet {
	max-height: 999999px;
	margin: 0.4em 0;
	padding: 1em 1.2em 0.9em 1em;
}
.g-sheet {
	background: #f8f8f8;
}
.y-sheet {
	background: #fefdf5;
	border: 1px solid #f5f5d5;
}
.p-sheet {
	background: #fff7f7;
	border: 1px solid #ffeaea;
}
.b-sheet {
	background: #f3faff;
	border: 1px solid #e5f3ff;
}
.line-sheet {
	max-height: 999999px;
	margin: 0.4em 0;
	padding: 1em 1.2em 0.8em 1em;
	border: 1px solid #eee;
}
.g-sheet h3:first-child, .y-sheet h3:first-child, .p-sheet h3:first-child, .b-sheet h3:first-child, .line-sheet h3:first-child,
.g-sheet h4:first-child, .y-sheet h4:first-child, .p-sheet h4:first-child, .b-sheet h4:first-child, .line-sheet h4:first-child,
.g-sheet h5:first-child, .y-sheet h5:first-child, .p-sheet h5:first-child, .b-sheet h5:first-child, .line-sheet h5:first-child,
.g-sheet h6:first-child, .y-sheet h6:first-child, .p-sheet h6:first-child, .b-sheet h6:first-child, .line-sheet h6:first-child {
	margin-top: 0;
}
.g-sheet p:last-child, .y-sheet p:last-child, .p-sheet p:last-child, .b-sheet p:last-child, .line-sheet p:last-child {
	margin-bottom: 0;
}
.y-sheet .line-sheet, .b-sheet .line-sheet, .p-sheet .line-sheet {
	background: #fff;
}
.marker-y {
	background: linear-gradient(transparent 75%, #ffc 75%, #ffc 95%, transparent 95%);
}
.marker-p {
	background: linear-gradient(transparent 75%, #fde 75%, #fde 95%, transparent 95%);
}
.marker-b {
	background: linear-gradient(transparent 75%, #def 75%, #def 95%, transparent 95%);
}
.marker-g {
	background: linear-gradient(transparent 75%, #d5f5ea 75%, #d5f5ea 95%, transparent 95%);
}
h3.nb {
	text-indent: -2.2em;
	padding-left: 2.2em;
}
h3.nb span:first-child {
	font-size: 90%;
	color: #4a9;
	width: 30px;
	margin: 0 8px 0 4px;
	padding: 4px 8px 3px;
	border: 1px solid #7ba;
	border-radius: 3px;
}
.border-box a, .border-box span {
	display: inline-block;
	border: 1px solid #ccc;
	overflow: hidden;
}
.border-box a img, .border-box span img {
	position: relative;
	max-width: calc(100% + 2px);
	margin: -1px;
	z-index: -1;
}
.mid-line {
	position: relative;
	margin: 0 3em;
}
.mid-line:before, .mid-line:after {
	position: absolute;
	width: 2.5em;
	height: 1px;
	margin-right: 0.5em;
	background-color: #acc;
	content: '';
}
.mid-line:before {
	top: 0.5em;
	left: -3em;
}
.mid-line:after {
	bottom: 0.5em;
}
a.btn {
	display: inline-block;
	position: relative;
	font-family: 'SF Pro text', 'Helvetica Neue', Helvetica, 'YakuhanJPs', 'NotoSansJPSubset', 'Noto Sans JP', 'BIZ UDGothic', 'Hiragino Sans', sans-serif;
	font-size: 97%;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: none;
	text-align: left;
	white-space: normal;
	color: #468;
	margin: 0.3em 0.6em 0.6em 0;
	padding: 0.8em 1.8em 0.7em 0.8em;
	background: #f0f4f8;
	transition: 0.3s ease;
}
a.btn:after {
    position: absolute;
    font-family: "Font Awesome 5 Free";
    font-size: 80%;
    font-weight: 600;
    color: #8be;
    content: "\f054";
    margin-top: 1.3%;
    right: 0.5em;
}
a.btn.down:after {
	content: "\f078";
}
a.btn .fa:before, a.btn .fas:before, a.btn .far:before {
	margin-right: 0.3em;
}
a.btn.min12 {
	min-width: 12.3em;
}
a.btn.round {
	border-radius: 20px;
}
a.btn.border {
	border: 1px solid #d0e8e8;
	border-bottom: 1px solid #bdd;
}
a.btn.green {
	color: #fff;
	background: #8dd;
}
a.btn.green:after {
    color: #cee;
}
:not(.btn-check)+.btn:active {
	color: #288;
	background: #eafafa;
	border:	1px solid #8dd;
}
a.lb {
	display: inline-block;
	position: relative;
	border: 1px solid #eee;
}
a.lb::after {
	content: "\f00e";
	font-family: 'Font Awesome 5 Free';
	font-weight: 600;
	font-size: 125%;
	color: #fffe;
	position: absolute;
	right: 2%;
	bottom: 0;
	text-shadow: 0 -1px 2px #7777, -1px 0 2px #7777, 1px 0 2px #7777, 0 1px 2px #7777, 0px 1px 3px #7777;
}
.layer-capt {
	display: flex;
	justify-content: center;
	align-items: end;
}
.layer-capt .capt {
	position: absolute;
	font-size: 90%;
	color: #fff;
	background: #4bbe;
	padding: 0.2em 0.5em 0.1em;
	margin-bottom: -0.4em;
}


/* File Link Icon
-------------------------------------------------------------- */
a:not(.link-to-pdf)[href$=".pdf"] {
	display: inline-block;
	background: url("../../../uploads/2023/01/pdf-icon-m.png");
	background-size: 1.5em;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 1.8em;
	margin-bottom: 0.3em;
}
a[href*=".doc"] {
	display: inline-block;
	background: url("../../../uploads/2023/01/word-icon-m.png");
	background-size: 1.5em;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 1.8em;
	margin-bottom: 0.3em;
}
a[href*=".xls"] {
	display: inline-block;
	background: url("../../../uploads/2023/01/excel-icon-m.png");
	background-size: 1.5em;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 1.8em;
	margin-bottom: 0.3em;
}
a[href*=".zip"] {
	display: inline-block;
	background: url("../../../uploads/2023/01/zip-icon-m.png");
	background-size: 1.5em;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 1.8em;
	margin-bottom: 0.3em;
}
.page-content a:not([href$=".pdf"]):not([href*=".doc"]):not([href*=".xls"]):not([href*=".zip"])[rel="noopener"]::after {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color: #7cc;
	content: "\f35d";
	margin: 0.15em 0 0 0.3em;
}
a:not(.link-to-pdf)[href$=".pdf"] span, a[href*=".doc"] span, a[href*=".xls"] span, a[href*=".zip"] span, .page-content a:not([href$=".pdf"])[rel="noopener"] span {
	font-size: 87%;
    color: #999;
    margin: 0 0 0 0.2em;
}
a.link-to-pdf[href$=".pdf"] img {
	display: inline;
	transition: 0.3s;
	outline: 1px solid #ddd;
	outline-offset: -1px;
}
a.link-to-pdf {
	position: relative;
	transition: 0.3s;
}
a.link-to-pdf[href$=".pdf"] font {
	display: inline-block;
	background: url("../../../uploads/2023/01/pdf-icon-m.png");
	background-size: 1.5em;
	background-repeat: no-repeat;
	background-position: left center;
	padding-left: 1.8em;
	margin-bottom: 0.3em;
}
a.link-to-pdf[href$=".pdf"] font span {
	font-size: 87%;
    color: #999;
    margin: 0 0 0 0.2em;
}
.arrow-list li a:not(.link-to-pdf)[href$=".pdf"], .arrow-list li a[href*=".doc"], .arrow-list li a[href*=".xls"], .arrow-list li a[href*=".zip"],
.check-list li a:not(.link-to-pdf)[href$=".pdf"], .check-list li a[href*=".doc"], .check-list li a[href*=".xls"], .check-list li a[href*=".zip"] {
    padding-left: 3.3em;
}

/*-------------------- Media Query -------------------*/
@media (min-width: 1200px) {
	body:not(.elementor-page) .page-content {
		min-height: 82vh;
	}
	.ekit-template-content-header .site-header {
		background: #fffa;
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
	}
	.hero-content {
		position: relative;
	}
	.pickup .slick-slide {
		transform: scale(0.85);
		transition: 1s;
	}
	.pickup .slick-slide.slick-center {
		transform: scale(1);
	}
	.single .page-content #primary, .archive .page-content #primary {
		padding-bottom: 3%;
	}
	.elementskit-menu-hamburger {
		display: none;
	}
}

@media (max-width: 1199px) {
	.site-logo a {
		background: #fffe;
	}
	.hero .hero-ticker {
		position: relative;
	}
	.hero .hero-video {
		height: calc(18em + 40vw);
	}
	.hero-video video {
		width: 200%;
	}
	.htb-tab-pane {
		padding-top: 180px;
		margin-top: -180px;
	}
	.ekit-template-content-header {
		position: absolute;
	}
	.home.elementor-page .ekit-template-content-header .site-header {
		padding: 0;
	}
	.mobile-menu .elementor-col-50 {
		width: 50%;
	}
	.mobile-menu-main .ekit-wid-con .elementskit-infobox .box-body {
		padding: 0 0.5em;
	}
	.mobile-menu-main .ekit-wid-con .elementskit-info-box-title {
		font-size: 130%;
		color: #333;
	}
	.mobile-menu-main .ekit-wid-con p {
		font-size: 90%;
		color: #777;
	}
	.mobile-menu-footer .elementor-button {
		min-width: 9.5em;
		padding: 0.8em 1em 0.7em;
	}
	.pickup .slick-slide {
		margin: 0 1em;
	}
}

@media (max-width: 768px) {
	.topics .su-tabs-mobile-stack .su-tabs-nav span {
		display: inline-block;
	}
	.htb-tab-pane {
		padding-top: 220px;
		margin-top: -220px;
	}
}

@media (max-width: 599px) {
	.hero .hero-video {
		height: calc(23em + 38vw)
	}
}

@media (max-width: 575px) {
	.topics .su-posts-default-loop.topiclist-loop .su-post {
		flex-direction: column;
	}
	.htb-tab-pane {
		padding-top: 260px;
		margin-top: -260px;
	}
	.access .gmap iframe {
		max-height: 400px;
	}
	.single-work .work-info {
		flex-direction: column;
	}
	.single-work .work-info div, .single-work .work-info dl {
		width: 100%;
	}
	.gallery-columns-3 .gallery-item {
		width: 50%;
	}
	.works-slider .post-carousel-wrapper .htmega-postslider-layout-2 .content {
		margin-bottom: 10px;
	}
}

@media (max-width: 350px) {
	label {
		font-size: 90%;
	}
}

@media (hover) {
	a.btn:hover {
		color: #fff;
		background: #259;
	}
	#ekit-megamenu-main-navi #menu-main-navi > li > a:hover:after {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	.ekit-wid-con .elementskit-navbar-nav-default .elementskit-navbar-nav > li > a:hover {
		background: #fffe;
	}
	.su-posts-default-loop.topiclist-loop .su-post:hover {
		background: #f4f8fc;
	}
	.page .su-tabs-nav span:not(.su-tabs-current):hover {
		background: #f4f8fc;
	}
	.page .su-tabs-nav span:hover::after {
		transform-origin: left top;
		transform: scale(1, 1);
	}
	.htmega-tab-nav a:hover {
		background: #777;
	}
}

@media print {
	a[href]:after {
		content: "";
	}
	abbr[title]:after {
		content: "";
	}
	@page {
		margin: 8mm;
		margin: 10mm 8mm 10mm 8mm;
	}
	* {
		-webkit-print-color-adjust: exact !important;
		background-attachment: initial !important;
	}
	html {
		overflow: visible !important;
		zoom: 0.7 !important;
	}
	body {
		overflow: visible !important;
		min-width: 1240px !important;
		padding-top: 0px !important;
		padding-bottom: 0px !important;
	}
	.container {
		min-width: 1240px !important;
	}
	.col-md-4 {
		width: 33.33% !important;
	}
	.col-lg-6 {
		width: 50% !important;
	}
	.elementor-column.elementor-col-33 {
		width: 33.33%;
	}
	.elementor-column.elementor-col-50 {
		width: 50%;
	}
	.animated {
		animation: none !important;
		transition: 0s !important;
	}
}
