/*
Theme Name: asahi
Theme URI:
Author: Lucias
Author URI: https://wordpress.org
Description: asahi is designed to take advantage of the new design tools introduced in WordPress 6.1. With a clean, blank base as a starting point, this default theme includes ten diverse style variations created by members of the WordPress community. Whether you want to build a complex or incredibly simple website, you can do it quickly and intuitively through the bundled styles or dive into creation and full customization yourself.
Requires at least: 6.1
Tested up to: 6.2
Requires PHP: 7.2
Version: 1.1
Text Domain: asahi
*/

@charset "utf-8";


/**************************************************50
 * footer
 **************************************************/
footer{
	color: #4D4D4D;
	position: relative;
}
footer #btn_totop{
	background-color: #23308F;
	color: #FFFFFF;
	z-index: 1000;
}
footer nav{
	background-color: #94A8B1;
}
footer nav a{
	color: #FFFFFF;
	text-decoration: none;
}
footer nav a .icon_new{
	margin-left: 0.5em;
}
#footer_info{
	border-bottom: 1px solid #4D4D4D;
	font-size: 93.75%;
}
#footer_info a{
	color: #4D4D4D;
}
#footer_info p{
	font-size: 87.5%;
}
#footer_sns{
	font-size: 87.5%;
	text-align: right;
}
#footer_sns p{
	height: 25px;
	line-height: 25px;
}
#footer_sns p:nth-child(1){
	color: #94A8B1;
}
#footer_sns p:nth-child(2){
	color: #23308F;
}
#footer_sns p:after{
	clear: both;
	content: "";
	display: block;
}
#footer_sns p > span{
	display: inline-block;
	float: left;
	vertical-align: middle;
}
#footer_sns a[class*="link_"]{
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transition: opacity 0.2s ease-out 0s;
}
#footer_sns a[class*="link_"],
#footer_sns .mdi-blank{
	float: right;
	display: block;
	font-size: 22px;
	height: 22px;
	line-height: 22px;
	margin-left: 2px;
}
#footer_sns a[class*="link_"]:hover{
	opacity: 0.7;
}
#footer_sns a[class*="link_"]:before,
#footer_sns .mdi-blank:before{
	vertical-align: middle;
}
#footer_sns a.link_twitter:before{
	content: "\F0544";
	font-family: "Material Design Icons";
}
#footer_sns a[class*="link_"] span,
#footer_sns .mdi-blank span{
	color: #94A8B1;
	display: inline-block;
	font-size: 10px;
	height: 22px;
	vertical-align: middle;
	width: 5em;
}
#footer_links{
	text-align: center;
	font-size: 87.5%;
}
#footer_links a{
	color: #4D4D4D;
}
#footer_tel{
}
#footer_tel > li{
	border-left: 3px solid #4D4D4D;
	line-height: 1.2;
	padding-left: 8px;
	text-align: left;
}
#footer_tel > li p{
	font-size: 75%;
}
#footer_tel > li > *:not(p){
	font-size: 150%;
}
#copyright{
	font-size: 11px;
	text-align: center;
}
@media screen and (max-width:319px){
	footer nav a{
		font-size: 60%;
	}
}
@media screen and (min-width:320px) and (max-width:413px){
	footer nav a{
		font-size: 80%;
	}
}
@media screen and (max-width:767px){
	footer #btn_totop{
		font-size: 140%;
		height: 42px;
		line-height: 42px;
		width: 42px;
	}
	footer #btn_totop:not(.active){
		top: -52px;
	}
	footer nav{
		border-top: 2px solid #FFFFFF;
	}
	footer nav:after{
		clear: both;
		content: "";
		display: block;
	}
	footer nav section{
		border-bottom: 2px solid #FFFFFF;
		border-left: 1px solid #FFFFFF;
		border-right: 1px solid #FFFFFF;
		margin-top: -1px;
	}
	footer nav section{
		float: left;
		width: 50%;
	}
	footer nav section.wide{
		width: 100%;
	}
	footer nav a{
		border-bottom: 1px solid #FFFFFF;
		float: left;
		padding: 1.5625% 3.125%;
		position: relative;
		text-decoration: none;
		width: 50%;
	}
	footer nav a:after{
		content: "\F0142";
		font-family: "Material Design Icons";
		font-size: 22px;
		font-weight: normal;
		line-height: 1;
		position: absolute;
		top: 50%;
		right: 0;
		-ms-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	footer nav a.active{
		background-color: #FFFFFF;
		color: #94A8B1;
	}
	footer nav h3{
		text-align: center;
	}
	footer nav h3 a{
		border-bottom: none;
		display: block;
		float: none;
		width: 100%;
	}
	footer nav section > a:not(h3){
		display: none;
	}
	#footer_info{
		padding: 1.5625% 3.125%;
	}
	#footer_info #footer_logo{
		margin-top: 3.333333333333333%;
		margin-bottom: 3.333333333333333%;
	}
	#footer_info > div a{
		display: inline-block;
		text-decoration: none;
	}
	#footer_info > div > span{
		display: inline-block;
	}
	#footer_sns a[class^="link_"],
	#footer_sns .mdi-blank{
		margin-left: 0.5em;
	}
	#footer_links a{
		text-decoration: none;
	}
	#footer_tel{
	}
	#footer_tel > li{
		margin: 3.125% 1.5625% 0;
	}
}
@media screen and (min-width:768px){
	footer{
		margin-top: 65px;
	}
	footer nav > section{
		padding: 0.2em 0 0.2em 1em;
		position: relative;
	}
	footer nav > section:before{
		background-color: #FFFFFF;
		content: "";
		display: block;
		height: -webkit-calc(100% - 0.6em);
		height: calc(100% - 0.6em);
		position: absolute;
		top: 50%;
		left: 0;
		-ms-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 1px;
	}
	footer nav{
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction:         column;
		-webkit-flex-wrap: wrap;
		flex-wrap:         wrap;
		-webkit-justify-content: space-between;
		justify-content:         space-between;
		-webkit-align-items: flex-start;
		align-items:         flex-start;
	}
	footer nav a{
		display: block;
	}
	footer nav a:hover{
		text-decoration: underline;
	}
	#footer_info #footer_logo{
		margin-top: 20px;
		margin-bottom: 10px;
	}
	#footer_sns a[class^="link_"],
	#footer_sns .mdi-blank{
	}
	#footer_links{
		padding-top: 10px;
		margin-bottom: 10px;
	}
	#footer_tel{
	}
	#footer_tel > li{
	}
	#copyright{
		padding-bottom: 10px;
	}
}
@media screen and (min-width:768px) and (max-width:939px){
	footer nav{
		height: 320px;
		padding: 20px;
	}
	footer nav a{
		font-size: 90%;
	}
	footer #btn_totop{
		font-size: 160%;
		height: 56px;
		line-height: 56px;
		width: 56px;
	}
	footer #btn_totop:not(.active){
		top: -66px;
	}
	#footer_info{
		padding-bottom: 10px;
	}
	#footer_tel > li{
		margin: 10px 20px 0;
	}
}
@media screen and (max-width:939px){
	footer #btn_totop{
		display: inline-blcok;
		right: 10px;
		text-align: center;
	}
	footer #btn_totop.active{
		position: fixed;
		bottom: 10px;
	}
	footer #btn_totop:not(.active){
		position: absolute;
	}
	#footer_links{
		position: relative;
	}
	#footer_info{
		text-align: center;
	}
	#footer_info #footer_logo{
		max-width: 484px;
		width: 100%;
	}
	#footer_sns{
		height: 52px;
		text-align: center;
	}
	#footer_sns p{
		display: inline-block;
	}
	#footer_sns p > span{
		display: inline-block;
		margin-top: 13px;
		text-align: right;
		width: 9em;
	}
	#footer_tel{
		text-align: center;
	}
	#footer_tel > li{
		display: inline-block;
		width: 212px;
	}
}
@media screen and (min-width:940px){
	footer #btn_totop{
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		cursor: pointer;
		font-size: 140%;
		line-height: 1;
		position: absolute;
		top: 0;
		padding: 0.3em 1em;
		width: 148px;
		transition: opacity 0.2s ease-out 0s;
	}
	footer #btn_totop:after{
		content: "PAGE TOP";
		font-size: 60%;
		line-height: 1.6;
		margin-left: 1em;
		vertical-align: bottom;
	}
	footer #btn_totop:hover{
		opacity: 0.7;
	}
	footer h2{
		position: absolute;
		top: 60px;
	}
	footer nav{
		height: 314px;
		padding-top: 20px;
		padding-bottom: 20px;
	}
	footer nav a{
		font-size: 80%;
	}
	footer nav h3 a{
		font-size: 90%;
	}
	#footer_info{
		height: 245px;
	}
	#footer_info #footer_logo{
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transition: opacity 0.2s ease-out 0s;
	}
	#footer_info #footer_logo:hover{
		opacity: 0.7;
	}
	#footer_sns a[class^="link_"]{
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transition: opacity 0.2s ease-out 0s;
	}
	#footer_sns a[class^="link_"]:hover{
		opacity: 0.7;
	}
	#footer_sns{
		float: right;
		width: 184px;
	}
	#footer_sns p > span{
		margin-top: 15px;
	}
	#footer_tel{
		float: left;
		margin-top: 5px;
	}
	#footer_tel > li + li{
		margin-top: 10px;
	}
}
@media screen and (min-width:940px) and (max-width:980px){
	#footer_info > p{
		font-size: 87.5%;
		margin-bottom: 4px;
	}
}
@media screen and (min-width:940px) and (max-width:1039px){
	footer #btn_totop{
		right: 20px;
		-ms-transform: translateY(-100%);
		-webkit-transform: translateY(-100%);
		transform: translateY(-100%);
	}
	footer h2{
		left: 0;
	}
	footer > .wrap{
		padding-left: 400px;
	}
}
@media screen and (min-width:1040px){
	footer #btn_totop{
		left: -webkit-calc(50% + (1000px / 2));
		left: calc(50% + (1000px / 2));
		-ms-transform: translate(-100%, -100%);
		-webkit-transform: translate(-100%, -100%);
		transform: translate(-100%, -100%);
	}
	footer h2{
		left: -webkit-calc(50% - 500px);
		left: calc(50% - 500px);
	}
	footer > .wrap{
		padding-left: -webkit-calc(((100% - 1000px) / 2) + 400px);
		padding-left: calc(((100% - 1000px) / 2) + 400px);
	}
}
