@charset "utf-8";
@media only screen and (max-width: 520px) {

	/*-----------------------------------------------------
		base
	------------------------------------------------------*/

	body {
		background-size: 200% auto, 200% auto;
	}

	/*-----------------------------------------------------
		layout
	------------------------------------------------------*/

	/* header */

	header {
		font-size: 1.3em;
	}
	header .logo img {
		max-width: 240px;
	}

	/* footer */

	footer {
		font-size: 1.3em;
		padding-bottom: 3em;
	}
	footer .top .contact:before {
		height: 7.8rem;
		top: -3.9rem;
	}
	footer .top .contact h2 {
		font-size: 1.6rem;
	}
	footer .top .contact p {
		font-size: 1rem;
		display: block;
		margin: 0 0 1em 0;
	}
	footer .top .contact p a[href*="tel"] {
		font-size: 2.4rem;
	}
	footer .top .contact p a[href*="tel"]:before {
		width: 2.4rem;
		height: 3rem;
	}
	footer .top .contact p span {
		padding-left: 2.4rem;
	}
	footer .top .contact .more {
		font-size: 1.4rem;
		margin: 0;
	}
	footer .top .contact .more a {
		padding: 0.5em 2em;
	}
	footer .top .address {
		display: block;
	}
	footer .top .address p br.visible {
		display: inline;
	}
	footer .top .address p a[href*="maps"] {
		margin-left: 0;
	}
	footer #pagetop {
		width: 48px;
		height: 48px;
		margin: -24px auto 3rem auto;
	}
	footer #pagetop:before {
		font-size: 1.8rem;
	}
	footer > .menu li {
		font-size: 1rem;
	}
	footer > small {
		font-size: 1rem;
	}

	/*-----------------------------------------------------
		module
	------------------------------------------------------*/

	/* hgroup */

	article > #hgroup {
		font-size: 1.3em;
		padding: 10em 2em;
	}
	article > #hgroup h1 {
		font-size: 2.4rem;
	}
	article > #hgroup ul {
		font-size: 1.2rem;
	}
	article > #hgroup time {
		font-size: 1.2rem;
	}

	/* bread */

	article > #bread {
		margin-bottom: 13rem;
		-webkit-overflow-scrolling: touch;
		overflow-x: scroll;
		white-space: nowrap;
		overflow-y: hidden;
		padding: 1rem;
	}
	article > #bread li {
		font-size: 1rem;
	}

	/* pagelink */

	article > #pagelink {
		font-size: 1.3em;
	}

	/* postlink */

	article > #postlink {
		margin: 0 2.6rem;
	}
	article > #postlink li {
		font-size: 1.3rem;
	}

	/*-----------------------------------------------------
		archives
	------------------------------------------------------*/

	article > .archives {
		font-size: 1.3em;
	}

	/* post */

	article > .archives .post {
		float: none;
		width: auto;
	}
	article > .archives .post:nth-of-type(odd) {
		margin-right: 0;
	}
	article > .archives .post figure img {
		width: 75px;
	}
	article > .archives .post h2 {
		font-size: 1.6rem;
	}
	article > .archives .post ul li {
		font-size: 1rem;
	}
	article > .archives .post time {
		font-size: 1rem;
	}

	/* pagination */

	article > .navigation.pagination {
		font-size: 1.3em;
	}

	/*-----------------------------------------------------
		default
	------------------------------------------------------*/

	/* drawer */

	.drawer-hamburger {
		width: 2.4rem;
		padding: 1rem 1rem 3rem 1rem;
	}
	.drawer-hamburger:after {
		bottom: 0.5em;
	}
	.drawer-hamburger-icon:before {
		top: -8px;
	}
	.drawer-hamburger-icon:after {
		top: 8px;
	}
	.drawer-nav {
		width: calc(100% - 4em);
	}
	.drawer--right .drawer-nav {
		right: -100%;
	}

	/* modaal */

	.modaal-content-container {
		font-size: 1.3em;
	}
	.modaal-content-container h2 {
		font-size: 1.4rem;
	}
	.modaal-close {
		padding: 0.75rem 0.75rem 1rem 0.75rem !important;
	}
	.modaal-close:before {
		font-size: 3rem !important;
	}

	/*-----------------------------------------------------
		entry
	------------------------------------------------------*/

	.entry {
		font-size: 1.3em;
	}
	.entry h1 {
		font-size: 2.4rem;
	}
	.entry h2 {
		font-size: 2.1rem;
	}
	.entry h3 {
		font-size: 1.8rem;
	}
	.entry h4 {
		font-size: 1.6rem;
	}
	.entry h5 {
		font-size: 1.4rem;
	}

	/*-----------------------------------------------------
		class
	------------------------------------------------------*/

	/* more */

	.more {
		font-size: 1.4rem;
	}
	.more a {
		width: auto;
		max-width: auto;
	}

	/* verticalred */

	hr.verticalred {
		height: 60px;
	}

	/*-----------------------------------------------------
		custom
	------------------------------------------------------*/

	/* release */

	.entry .wp-block-image.release .alignleft, .entry .wp-block-image.release .alignright {
		float: none;
		margin: 0 0 2em 0;
	}

	/* download */

	.entry .wp-block-file.download a[href*=".pdf"]:before {
		font-size: 2.1rem;
	}

	/* hgroup_a */

	.entry .hgroup_a p {
		color: #222;
		text-shadow: none;
	}

	/* heatpump_a */

	.entry .heatpump_a > .wp-block-group__inner-container:before {
		font-size: 2.1rem;
	}
	.entry .heatpump_a > .wp-block-group__inner-container :last-child {
		text-align: left;
	}

	/* nonstoragefloor_b */

	.entry .nonstoragefloor_b {
		padding: 3em 2em;
	}
	.entry .nonstoragefloor_b ul {
		font-size: 1.6rem;
	}

	/* nonstoragefloor_a */

	.entry .nonstoragefloor_a {
		padding: 3em 2em;
	}
	.entry .nonstoragefloor_a ul {
		font-size: 1.6rem;
	}

	/* storagefloor_c */

	.entry .storagefloor_c {
		display: block;
	}
	.entry .storagefloor_c figure.wp-block-image:not(#individual-image) {
		width: auto;
		margin-bottom: 1em;
	}

	/* storagefloor_b */

	.entry .storagefloor_b > .wp-block-group__inner-container:before {
		font-size: 2.1rem;
	}
	.entry .storagefloor_b > .wp-block-group__inner-container :last-child {
		text-align: left;
	}

	/* storagefloor_a */

	.entry .storagefloor_a {
		display: block;
		padding: 3em 2em;
	}
	.entry .storagefloor_a .wp-block-group {
		margin-bottom: 2em;
	}
	.entry .storagefloor_a figure {
		margin-left: 0;
		max-width: none;
	}
	.entry .storagefloor_a .wp-block-group ul {
		font-size: 1.6rem;
	}

	/* snowmelting_a */

	.entry .snowmelting_a .wp-block-group > .wp-block-group__inner-container {
		padding: 2em 3em;
	}
	.entry .snowmelting_a .wp-block-group > .wp-block-group__inner-container:before {
		font-size: 1.8rem;
	}

	/* hgroup_a */

	.entry .hgroup_a {
		background-size: auto, cover;
		background-position: 0 0, 50% 50%;
	}
	.entry .hgroup_a.snowmelting {
		background-size: auto, cover;
	}
	.entry .hgroup_a.thermalstorage {
		background-image: -moz-linear-gradient(left, rgba(250,240,230,0.75) 0%, rgba(250,240,230,0.75) 100%), url('images/bg_02.jpg');
		background-image: -webkit-linear-gradient(left, rgba(250,240,230,0.75) 0%, rgba(250,240,230,0.75) 100%), url('images/bg_02.jpg');
		background-image: linear-gradient(to right, rgba(250,240,230,0.75) 0%, rgba(250,240,230,0.75) 100%), url('images/bg_02.jpg');
	}
	.entry .hgroup_a.snowmelting {
		background-image: -moz-linear-gradient(left, rgba(250,240,230,0.75) 0%, rgba(250,240,230,0.75) 100%), url('images/bg_03.jpg');
		background-image: -webkit-linear-gradient(left, rgba(250,240,230,0.75) 0%, rgba(250,240,230,0.75) 100%), url('images/bg_03.jpg');
		background-image: linear-gradient(to right, rgba(250,240,230,0.75) 0%, rgba(250,240,230,0.75) 100%), url('images/bg_03.jpg');
	}
	.entry .hgroup_a h2:after {
			font-size: 3.6em;
	}
	.entry .hgroup_a p {
		font-size: 1.8rem;
	}

	/* thermalstorage_a */

	.entry .thermalstorage_a {
		width: auto;
		min-height: 0;
		float: none;
		margin: 0 0 2em 0;
	}

	/* nonstoragefloor_a */

	.entry .nonstoragefloor_a {
		display: block;
		padding: 3em 2em;
	}
	.entry .nonstoragefloor_a .wp-block-group {
		margin-bottom: 2em;
	}
	.entry .nonstoragefloor_a figure {
		margin-left: 0;
		max-width: none;
	}

	/* home_e */

	.entry .home_e.is-layout-flex .wp-block-image img {
		width: 80px;
	}
	.entry .home_e.is-layout-flex p {
		font-size: 1.6rem;
		text-align: left;
	}
	.entry .home_e.is-layout-flex p br {
		display: none;
	}

	/* home_c */

	.entry .home_c .wp-block-group > .wp-block-group__inner-container {
		padding: 2em 3em;
	}
	.entry .home_c .wp-block-group > .wp-block-group__inner-container:before {
		font-size: 1.8rem;
	}
	.entry .home_c .wp-block-group > .wp-block-group__inner-container ul {
		font-size: inherit;
		padding-left: 0;
		margin-bottom: 0;
	}
	.entry .home_c .wp-block-group > .wp-block-group__inner-container ul li {
		font-size: inherit;
		display: block;
		margin: 0 0 0.5em 0;
	}

	/* home_d */

	.entry h2.home_d {
		padding: 17.5rem 2.6rem 2.6rem 2.6rem;
		margin-right: 2.6rem;
	}
	.entry h2.home_d:after {
		left: 2.6rem;
		font-size: 3.6em;
	}

	/* home_a */

	.entry .home_a > .wp-block-group__inner-container h2 {
		font-size: 3rem;
	}
	.entry .home_a > .wp-block-group__inner-container p {
		font-size: 1.6rem;
	}
	.entry .home_a > .wp-block-group__inner-container figure img {
		width: 100%;
		max-width: none;
	}

	/* company_c */

	.entry figure.company_c.wp-block-table table, .entry figure.company_c.wp-block-table tbody, .entry figure.company_c.wp-block-table tr, .entry figure.company_c.wp-block-table td {
		display: block;
	}
	.entry figure.company_c.wp-block-table td {
		padding: 0;
	}
	.entry figure.company_c.wp-block-table tr {
		padding: 0.75em 1em;
	}

	/* company_b */

	.entry figure.company_b.wp-block-table table, .entry figure.company_b.wp-block-table tbody, .entry figure.company_b.wp-block-table tr, .entry figure.company_b.wp-block-table td {
		display: block;
	}
	.entry figure.company_b.wp-block-table td {
		padding: 0;
		border-bottom: none;
	}
	.entry figure.company_b.wp-block-table tr td:first-child {
		border-bottom: none;
		width: auto;
	}
	.entry figure.company_b.wp-block-table tr {
		padding: 0.75em 0;
		position: relative;
	}
	.entry figure.company_b.wp-block-table tr:after {
		content: '.';
		font-size: 0;
		display: block;
		width: 100%;
		height: 1px;
		position: absolute;
		margin: auto;
		bottom: 0;
		background-image: -moz-linear-gradient( left, #C92629 25%, rgba(0,0,0,0.1) 25%);
		background-image: -webkit-linear-gradient( left, #C92629 25%, rgba(0,0,0,0.1) 25%);
		background-image: linear-gradient(to right, #C92629 25%, rgba(0,0,0,0.1) 25%);
	}

	/* shadow */

	.entry h2.shadow:after {
		font-size: 3.6em;
	}

	/* company_a */

	.entry .company_a figure.wp-block-image figcaption {
		font-size: 1.6rem;
	}

	/* contact_a */

	.entry p.contact_a a {
		font-size: 2.4rem;
	}
	.entry p.contact_a a:before {
		width: 2.4rem;
		height: 3.6rem;
	}

	/*-----------------------------------------------------
		section
	------------------------------------------------------*/

	/* recent */

	#recent.entry .post {
		padding: 0.5em 0 0.5em 3em;
	}
	#recent.entry .post time {
		font-size: 1rem;
	}

	/*-----------------------------------------------------
		widget
	------------------------------------------------------*/


}