@charset 'utf-8';

footer { width:100%; float:left; padding:80px 5% 10px 5%;  margin-bottom:50px; }
footer .logo { width:100%; display:block; }
footer .logo img { width:200px; margin:0 auto 50px auto; display:block; }
.footer_company { width:100%; font-family: 'GenJyuuGothic-Bold'; letter-spacing:0.04em; display:inline-block; margin-bottom:10px; }
.footer_company a:hover { color:#5C9062; }
.footer_address { width:100%; font-size:14px; display:block; line-height:1.42em; letter-spacing:0.05em; }
.footer_link { width:100%; margin:0; display:block; padding-bottom:0; /*border-bottom:1px solid #BBBBBB;*/ }
.footer_link ul { width:100%; display:flex; flex-wrap:wrap; margin:0 auto; align-items: flex-start}
.footer_link li { width:50%; margin:0 0 30px 0; }
/* .footer_link li:nth-child(1){ order:1; width:57%; } */
/* .footer_link li:nth-child(2){ order:2; width:43%;} */
.footer_link li:nth-child(1){ order:1; width:50%; }
.footer_link li:nth-child(2){ order:2; width:50%;}
.footer_link li:nth-child(3){ order:4; width:57%; }
.footer_link li:nth-child(4){ order:5; width:43%;}
.footer_link li:nth-child(5){ order:5; width:57%; }
.footer_link li strong  { width:100%; margin-bottom:5px; display:inline-block; line-height:1em; letter-spacing:0.08em; color:#5C9062; font-family: 'GenJyuuGothic-Bold';}
.footer_link li a { width:100%; font-size:12px; display:inline-block; letter-spacing:0.03em; color:#727171; line-height:1.5em; font-style: normal; }
.footer_link li a:link { text-decoration:underline; text-underline-offset:4px; color:#727171;
    font-family: 
    -apple-system, /* iOS, macOS */
    BlinkMacSystemFont, /* macOS */
    "Segoe UI", /* Windows */
    "Roboto", /* Android */
    "Helvetica Neue", /* iOS */
    "Helvetica", /* 通常のサンセリフフォント */
    sans-serif; /* サンセリフのフォールバック */}
.footer_link li a:hover { color:#5C9062;}
.footer_time { font-size:14px; font-weight:500; }
.footer_time strong { font-family: 'GenJyuuGothic-Bold'; margin-right:20px; }
.privacy { width:100%; font-size:12px; line-height:1.2em; display:inline-block; margin:40px auto 19px auto; color:#727171; }
.privacy:link { text-decoration:underline; text-decoration:underline; text-underline-offset:4px; }
.privacy:hover { color:#5C9062; text-decoration:underline;}
.copy { width:100%; margin-bottom:40px; font-size:10px; letter-spacing:0.05em; display:inline-block; text-align:left; font-family: "Roboto", sans-serif; }
.footer_info .logo_sp  {display:none; } 
.footer_link_reform { margin-top:32px; }


@media screen and ( min-width:768px) {
    footer { width:100%; padding:0; margin-bottom:initial; }
    footer.footer_contact { margin-top:110px;}
    .footer_inner { width:90%; margin:0 auto; display:flex; flex-wrap:wrap; justify-content:space-between;}
    footer .logo { display:none; }
    .footer_company { font-size:16px; margin-bottom:11px; }
    .footer_address { font-size:16px; color:#3B3B3B; }
    .footer_link { width:60%; order:2; margin-bottom:40px; padding-bottom:25px;}
    .footer_link li { width:33%; margin:0 0 25px 0; }
    .footer_link li:nth-child(1){ order:1; width:190px; }
    .footer_link li:nth-child(2){ order:2; width:155px; }
    .footer_link li:nth-child(3){ order:4; width:190px; margin-top:-20px; }
    .footer_link li:nth-child(4){ order:5; width:155px; margin-top:-20px; }
    .footer_link li:nth-child(5){ order:3; width:176px;}
    .footer_link li a { font-size:14px; }
    .footer_info { width:36%; order:1; }
    .footer_info .logo_sp { width:220px; display:block; margin-bottom:12px; }
    .footer_link { margin:0; padding-bottom:0; border-bottom:none; }
    .privacy { width:100%; order:3; margin-bottom:13px; }
    .privacy:link { text-decoration:none;}
    .copy { width:100%;  font-size:10px; letter-spacing:0.05em; text-align:left; margin-bottom:20px; display:block; order:4; color:#727171; }
    .footer_link_reform { margin-top:20px; }
}

@media screen and ( min-width:1000px) {
    .footer_link { width:525px; order:2; }
    .footer_inner { width:923px; margin:0 auto; }
}

@media screen and ( min-width:1200px) {
   .footer_inner { width:1110px; margin:0 auto; }
   .footer_link li:nth-child(1) { width:188px; }
   .footer_link li:nth-child(3) { width:188px; margin-top:-10px; }
   .footer_link li:nth-child(2) { width:180px; }
   .footer_link li:nth-child(4) { width:160px; margin-top:-10px; }
   .footer_link li:nth-child(5) { width:176px; }
   .footer_info .logo_sp { width:auto; height:66px; margin-bottom:32px; }
   .footer_info .logo_sp img { height:100%; }
   .privacy { margin-top:-10px; }
   

}



/*ページトップ*/
#page_top { position: fixed; right: 0; bottom: 0; z-index: 50; width: 32px; transition: bottom 0.5s;}
@media screen and ( min-width:768px) {
    #page_top { position:fixed; bottom:50px; right:0; width:55px; height:55px; display:block; }
    #page_top a::before { position:absolute; top:0; bottom:0; right:0; left:0; width:25px; height:25px; margin:auto; font-weight:900; font-size:25px; text-align:center; }
    #page_top a:hover { opacity:0.7; }
}
@media screen and ( min-width:1200px) {
    #page_top { right:100px; }
}

/*サイド固定問い合わせボタン（PC・Pad）*/
.side_footer_fixed { position:fixed; bottom:0; display:none; z-index:51; }
@media screen and ( min-width:768px) {
  .side_footer_fixed { width:48px;  right:0; top:200px; display:block; }
  .side_footer_fixed_button { width:100%;margin-bottom:15px;}
  .side_footer_fixed_button a { width:100%; display:flex; flex-direction: column; align-items:center; justify-content:center; padding:12px 0; letter-spacing:0.04em; border-radius:10px 0 0 10px;}
  .side_footer_fixed_button label { width:100%; display:flex; align-items:center; justify-content:center; padding:12px 0; letter-spacing:0.04em; border-radius:10px 0 0 10px; writing-mode: vertical-rl; cursor: pointer; }

  .side_footer_fixed_button.bg_green a { background:#5C9062; border:1px solid #5C9062; color:#fff;  transition: background 0.3s ease, color 0.3s ease; /* 背景色と文字色にスムーズなトランジションを追加 */
  }
  .side_footer_fixed_button.bg_green a:hover { background:#fff; color:#5C9062; }

  .side_footer_fixed_button.bg_yellow a { background:#FCFF56; border:1px solid #FCFF56; transition: background 0.3s ease, color 0.3s ease; /* 背景色と文字色にスムーズなトランジションを追加 */}
  .side_footer_fixed_button.bg_yellow a:hover { background:#fff; border:1px solid #ccc; }
  .side_footer_fixed_button.bg_yellow label { background:#FCFF56; border:1px solid #FCFF56; transition: background 0.3s ease, color 0.3s ease; /* 背景色と文字色にスムーズなトランジションを追加 */}
  .side_footer_fixed_button.bg_yellow label:hover { background:#fff; border:1px solid #ccc; }
  .side_footer_fixed_button.bg_yellow label.disabled { background:#ddd; border:1px solid #ccc; cursor:default; }

  .side_footer_fixed_button img { width:24px; margin-bottom:5px; }
  .side_footer_fixed_button span {
    width: 24px;
    text-align: center;
    line-height: 1.1;
    display: inline-block;
    font-family: 'GenJyuuGothic-Bold';
    writing-mode: vertical-rl; 
    letter-spacing: 0.1em; 
    word-break: break-word; 
    word-wrap: break-word; 
    transform: translateY(0); 
}
/* Chrome専用のスタイル */
.chrome-only .side_footer_fixed_button span {
  letter-spacing: -0.2em; /* 文字間を狭める */
}



}






/* フッター固定問い合わせボタン（スマホ） */
@media screen and ( max-width:768px) {
    .side_footer_fixed { width: 100%; height: 80px; padding: 4% 5%; position: fixed; bottom: 0; display: flex; justify-content: space-between; background-color: #fff; box-sizing: border-box;}
    .side_footer_fixed a { display: block; z-index:999;}
    .side_footer_fixed label { display: flex; justify-content:center; cursor: pointer; }
    .side_footer_fixed_button { width:48%; height: 48px; text-align: center; border-radius: 24px;}
    .side_footer_fixed_button.bg_green { color: #fff; background-color: #5C9062; box-shadow: 0px 4px 0px #A7D2AB;}
    .side_footer_fixed_button.bg_yellow { color: #000; background-color: #FCFF56; box-shadow: 0px 4px 0px #E1E42F;}
    .side_footer_fixed_button img { width:23px; margin: 0 5px 0 0;}
    .side_footer_fixed_button span { font-size: 16px; line-height: 48px; font-family: 'GenJyuuGothic-Bold'; display:flex; align-items: center; justify-content: center;}

}




/*お問い合わせ*/
.box_contact_wrap { width:100%; min-height:400px; float:left; position:relative; }
.box_contact {  width:100%; color:#fff; position:relative; 
  text-align:center; background: url(/img/contact_bg.jpg) no-repeat; background-size:cover; padding:65px 0 88px 0; }
.box_contact .title_big { font-size:23px; letter-spacing:0.15em; line-height:3.4rem; margin-bottom:30px; letter-spacing:0.04em; font-family:'GenJyuuGothic-Bold'; font-style:normal;}
.box_contact .button_contact { width:330px; z-index:1;}
.box_contact_wrap .box_contact + .contact_tel { position:absolute; /*z-index:10;*/ left:50%; transform: translateX(-50%); bottom:-30px; }
@media screen and ( min-width:768px) {
  .box_contact { height:530px; padding-top:110px; margin:0 auto 100px auto; overflow:visible; position:initial;}
  .box_contact .title_big { margin-bottom:40px; line-height:4.4rem;}
  .box_contact_wrap .box_contact + .contact_tel  { margin:-68px auto 0px auto; bottom:40px; }
  .box_contact .button_contact { width:480px; }
}
@media screen and ( min-width:1000px) {
  .box_contact { height:480px; padding-top:100px; margin-top:220px; overflow:visible; position:initial;} 
  .box_contact .title_big { font-size:32px; line-height:1.375em; }

}
@media screen and ( min-width:1280px) {
  .box_contact { }
  .box_contact .button_contact { margin-bottom:40px; }
}
.box_contact .contact { width:100%; text-align:center; display:inline-block; font-size:21px; font-family: 'GenJyuuGothic-Bold'; line-height:3.4rem; letter-spacing:0.04em; margin:105px 0 40px 0; }
.box_contact span { width:100%; text-align:center; /*display:inline-block; */}

.contact_tel { width:88%; /*margin:0 auto 100px auto; */position: relative; padding:17px 0 17px 0; border-radius:10px; background:#5C9062; color:#fff; text-align:center; }
.contact_tel a img { width:265px; margin:0 auto 10px auto; display:block; }
@media screen and ( min-width:768px) {
  .contact_tel { width:560px; height:125px; margin: 0 auto 64px auto ; padding:30px 0 25px 0; }
  .contact_tel a img { width:340px; }
  .contact_tel .inline_pc { width:340px; margin:0 auto; display:block; }
  .contact_tel span.time { width:auto; text-align:center; display:inline-block; margin-left:60px; }

}

@media screen and ( min-width: 768px ) {
  #global-nav .contact_tel { display:none; }
}

