/* フッター全体の上部余白設定 */
footer {
	margin-top: 100px;
}

.footer_contact_body{
	background-image: url("/common/img/footer/bg_contact.jpg");
	color: #fff;
	text-shadow: 0 0 10px rgba(0,0,0,.2);
	padding: 35px 0 150px;
	font-weight: bold;
}
.footer_contact_title{
	font-size: 2.5em;
	line-height: 1.2;
}
.footer_contact_title_sub{
}
.footer_contact_txt_width{
	max-width: 740px;
	margin-left: auto;
	margin-right: auto;
}

.footer_contact_link{
	margin-top: 25px;
}
.footer_contact_link a{
	display: block;
	text-decoration: none;
	color: #fff;
	text-align: center;
	position: relative;
	background: #4582EC;
	font-size: 1.1em;
	transition: .3s;
	padding: 20px 39px;
}
.footer_contact_link a:hover{
	background: #8EB3F3;
}
.footer_contact_link a:after{
    content: "\f061";
    font-family: "Font Awesome 6 Free", FontAwesome;
    font-weight: 900;
    display: inline-block;
    text-decoration: none;
    margin-left: .8em;
}

.footer_black_body{
	background: #2F3538;
	padding: 70px 0;
	color: #fff;
}
.footer_black_body a{
	text-decoration: none;
	color: #fff;
}
.footer_black_body a:hover{
	text-decoration: underline;
}

.footer_link_grid_link_01 a{
    font-size: 1.1em;
    display: block;
    border-bottom: 1px solid rgba(255,255,255,.4);
    margin-bottom: 10px;
    position: relative;
    padding-bottom: 3px;}
.footer_link_grid_link_01 a:after {
    position: absolute;
    right: 0;
    content: "\f061";
    font-family: FontAwesome;
    display: inline-block;
    text-decoration: none;
}

.footer_link_grid {
    padding-top: 40px;
    padding-bottom: 40px;
}

.footer_link_grid ul{
	list-style: disc;
	margin-left: 1.2em;
}

.footer_copy_body{
	display: flex;
	align-items: center;
	height: 100px;
	color: #555;
}

.foot_pagetop_btn{
	transition: .3s;
	border-top: 1px solid rgba(255,255,255,.45);
	border-left: 1px solid rgba(255,255,255,.45);
	position:fixed;
	bottom:0;
	right:0;
	height:100px;
	width:100px;
	background:#4582EC;
	color:#fff;
	text-align:center;
	line-height:100px;
	z-index:100;
	font-size:30px;
	cursor:pointer;}
.foot_pagetop_btn:hover{
	background:#8EB3F3;}

/* 以下、layout.cssから抽出したfooter用CSS */
.footer_contact_body {
    background-image: url("/common/img/footer/bg_contact.jpg");
    color: #fff;
    text-shadow: 0 0 10px rgba(0,0,0,.2);
    padding: 35px 0 150px;
    font-weight: bold;
}
.footer_contact_title {
    font-size: 2.5em;
    line-height: 1.2;
}
.footer_contact_title_sub {
    /* ...必要に応じて記述... */
}

.footer_contact_link {
    margin-top: 25px;
}
.footer_contact_link a {
    display: block;
    text-decoration: none;
    color: #fff;
    text-align: center;
    position: relative;
    background: #4582EC;
    font-size: 1.1em;
    transition: .3s;
    padding: 20px 39px;
    border-radius: 100px;
    font-weight: bold;
}
.footer_contact_link a:hover {
    opacity: .6;
}

.footer_black_body {
    background: #2F3538;
    padding: 70px 0;
    color: #fff;
}
.footer_black_body a {
    text-decoration: none;
    color: #fff;
}
.footer_black_body a:hover {
    text-decoration: underline;
}
.footer_link_grid_link_01 a {
    font-size: 1.1em;
    display: block;
    border-bottom: 1px solid rgba(255,255,255,.4);
    margin-bottom: 10px;
    position: relative;
    padding-bottom: 3px;
}
.footer_link_grid_link_01 a:after {
    position: absolute;
    right: 0;
    content: "\f061";
    font-family: FontAwesome;
    display: inline-block;
    text-decoration: none;
}
.footer_link_grid ul {
    list-style: disc;
    margin-left: 1.2em;
}
.footer_copy_body {
    display: flex;
    align-items: center;
    height: 100px;
    color: #555;
}
.foot_pagetop_btn {
    transition: .3s;
    border-top: 1px solid rgba(255,255,255,.45);
    border-left: 1px solid rgba(255,255,255,.45);
    position: fixed;
    bottom: 0;
    right: 0;
    height: 100px;
    width: 100px;
    background: #4582EC;
    color: #fff;
    text-align: center;
    line-height: 100px;
    z-index: 100;
    font-size: 30px;
    display: none;
    cursor: pointer;
}
.foot_pagetop_btn:hover {
    background: #8EB3F3;
}
.footer_logo a {
    text-decoration: none;
    display: inline-flex;
    align-items: center;
}
.footer_logo a .footer-text {
    font-size: 20px;
    color: #fff;
    display: inline-flex;
    align-items: center;
}
.footer_logo a .footer-text::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 30px;
    background-color: #fff;
    margin: 0 10px;
    align-self: center;
}

/* ...既存のfooter.cssの他のスタイル... */




/* sm: media="print, screen and (max-width:1199px)" */
@media print, screen and (max-width:1199px) {
  .footer_copy_body {
    height: 80px;
  }
  .foot_pagetop_btn {
    height: 80px;
    width: 80px;
    line-height: 80px;
    font-size: 25px;
  }
  .footer_logo img {
    width: 190px;
  }
  .footer_black_body {
    padding: 50px 0;
  }
  .footer_contact_body {
    padding: 30px 0 100px;
  }
  .footer_contact_title_sub {
    margin-bottom: 20px;
  }
}

/* s: media="screen and (max-width:959px)" */
@media screen and (max-width:959px) {
  .footer_link_grid {
    padding-top: 35px;
    padding-bottom: 35px;
  }
  .footer_copy_body {
    height: 70px;
  }
  .footer_black_body {
    padding: 40px 0;
  }
  .footer_contact_title {
    font-size: 2em;
  }
}

/* xs: media="screen and (max-width:640px)" */
@media screen and (max-width:640px) {
  footer {
    margin-top: 60px;
  }
  .footer_link_grid {
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .footer_copy_body small {
    font-size: .6em;
  }
  .footer_copy_body {
    height: 50px;
  }
  .foot_pagetop_btn {
    height: 50px;
    width: 50px;
    line-height: 50px;
    font-size: 15px;
  }
  .footer_link_grid ul {
    display: none;
  }
  .footer_link_grid > .uk-grid-margin {
    margin-top: 4px;
  }
  .footer_logo {
    text-align: center;
  }
  .footer_logo img {
    width: 150px;
  }
  .footer_contact_title,
  .footer_contact_title_sub {
    text-align: center;
  }
  .footer_contact_txt_width {
    max-width: 400px;
  }
  .footer_contact_link a,
  
  .common_link_btn2 {
    font-size: 1em;
    padding: 15px 30px;
  }
  .footer_contact_body {
    padding: 30px 0 50px;
  }
  
  /* SP版フッターリンクのタップターゲットサイズ調整（Googleガイドライン対応） */
  .footer_link_grid_link_01 a {
    padding: 12px 0;
    margin-bottom: 4px;
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}
