* {box-sizing:border-box;}
html {font-size:10px; color:#342c2b; font-family:'游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', 'メイリオ', 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', sans-serif; font-weight:500;}
body {min-height:100vh;}
ul {list-style:none;}
a {color:inherit; transition:all 0.3s; text-decoration:none;}
img {max-width:100%;}


@media screen and (min-width:1024px) {
  .sp {display:none !important;}
  .fontS {font-size:10px;}
  .fontL {font-size:15px;}
  #article {padding:110px 0 0;}
  a:hover {opacity:0.5;}
}
@media screen and (max-width:1023px) {
  body {min-width:100vw; word-wrap:break-word;}
  .pc {display:none !important;}
  #article {padding:65px 0 0;}
}


/* Header */
.header {display:flex; position:fixed; top:0; left:0; justify-content:space-between; align-items:center; width:100%; height:110px; padding:0 60px; z-index:2100; background:#ffffff;}
.header_logo {margin:auto 0; padding:5px 0 0;}
.header_logo a {display:block; opacity:1; transition:opacity 0.3s;}

.header_nav {height:100%; margin:0 35px 0 auto;}
.header_nav_check {display:none;}
.header_subNav_check {display:none;}

.header_subNav {height:0; overflow:hidden; transition:all 0.3s;}

.header_contact {display:flex; width:180px; height:52px; border-radius:5px; background:#d17364; justify-content:center; align-items:center; transition:all 0.3s;}
.header_contact span {line-height:1; font-size:18px; font-weight:bold; color:#ffffff;}

@media screen and (min-width:1024px) {
  .header_logo a:hover {opacity:0.5;}
  .header_navItems {display:flex; height:100%; justify-content:space-between; align-items:center;}
  .header_navItem {display:flex; position:relative; height:100%; margin:0; padding:0 10px; align-items:center; position:relative;}
  .header_navItem > label,
  .header_navItem > a {display:inline-block; margin:5px 0 0; padding:5px 10px; font-size:16px; color:#342c2b; transition:all 0.3s; cursor:pointer;}
  .header_navItem > label::after,
  .header_navItem > a::after {content:''; position:absolute; left:50%; bottom:0; width:calc(100% - 30px); height:10px; background:#ffffff; transform:translateX(-50%); transition:all 0.3s;}
  .header_navItem > label:hover,
  .header_navItem > a:hover {color:#00457f; opacity:1;}
  .header_navItem > label:hover::after,
  .header_navItem > a:hover::after {background:#00457f;}
  .header_navItem.on > label,
  .header_navItem.on > a {color:#00457f; font-weight:bold;}
  .header_navItem.on > label::after,
  .header_navItem.on > a::after {background:#00457f;}
  .header_navItem.sub:hover .header_subNav {height:300px;}

  .header_subNav {display:flex; position:fixed; justify-content:center; align-items:center; top:110px; left:0; width:100%; background:#f5f5f5;}
  .header_subNavItems {display:flex; justify-content:center;}
  .header_subNavItem {margin:0 15px; padding:10px 0 0; font-weight:bold;}
  .header_subNavItem a {display:inline-block; font-size:16px; transition:all 0.3s; cursor:pointer;}
  .header_subNavItem a:hover {opacity:0.5;}
  .header_subNavItem img {display:block; margin:0 0 10px;}

  .header_contact:hover {opacity:0.5;} 
}

@media screen and (max-width:1023px) {
  .header {height:67px; padding:0;}
  .header_logo {margin:3px 0 0 18px; padding:0;}
  .header_logo a {width:128px;}

  .header_nav {position:fixed; top:67px; left:0; width:100%; height:0; margin:0; background:#ffffff; transition:height 0.3s; overflow:hidden;}
  .header_nav_check:checked + .header_nav {height:calc(100vh - 67px);}
  .header_navItems {display:block; margin:0 20px;}
  .header_navItem {position:relative; height:auto; margin:0; border-bottom:solid 1px #00457f;}
  .header_navItem label,
  .header_navItem a {display:block; padding:0 5px; font-size:16px; line-height:70px; font-weight:bold; color:#00457f;}
  .header_navItem.sub img.plus {position:absolute; width:16px; top:calc(35px - (16px / 2)); right:5px; transition:all 0.2s;}

  .header_subNav {}
  .header_subNavItems {}
  .header_subNavItem {}
  .header_subNavItem a {margin:0 15px 5px; padding:20px; line-height:1; background:#efefef;}
  .header_subNavItem img {display:none;}

  .header_subNav_check:checked + .header_navItems .header_subNav {height:230px;}
  .header_subNav_check:checked + .header_navItems .header_navItem.sub img.plus {transform:rotate(45deg);}

  .header_contact {display:flex; width:67px; height:67px; margin:0 0 0 auto; padding:0; border-radius:0; justify-content:center; align-items:center;}
  .header_contact img {width:60px;}
  .header_recruit {display:flex; width:67px; height:67px; margin:0; padding:0; border-radius:0; justify-content:center; align-items:center; background:#00457f;}
  .header_recruit img {width:40px;}
  .header_btn {display:flex; width:67px; height:67px; margin:0; padding:0; border-radius:0; justify-content:center; align-items:center; background:#ffffff;}
  .header_btn img.btnOpen {display:inline; width:32px; margin:4px 0 10px;}
  .header_nav_check:checked ~ .header_btn img.btnOpen {display:none;}
  .header_btn img.btnClose {display:none; width:24px; margin:4px 0 10px;}
  .header_nav_check:checked ~ .header_btn img.btnClose {display:inline;}
}



.fnc_fontSize {display:flex; height:50px; margin:0 auto 0 35px; padding:0 20px; align-items:center; justify-content:space-between; background:#f5f5f5;}
.fnc_sizeTtl {font-size:16px; line-height:21px;}
.fnc_sizeS {margin:0 15px; padding:6px 1px 2px; font-size:14px; line-height:14px; border-bottom:solid 1px #f5f5f5;}
.fnc_sizeL {padding:0 0 2px; font-size:20px; line-height:20px; border-bottom:solid 1px #f5f5f5;}
.fontS .fnc_sizeS {border-bottom:solid 1px #808080;}
.fontL .fnc_sizeL {border-bottom:solid 1px #808080;}
.fnc_fontSize a {transition:all 0.3s;}
.fnc_fontSize a:hover {opacity:0.5;}

@media screen and (max-width:1023px) {
  .fnc_fontSize {display:none;}
}




/* Footer */
.footer {position:relative; width:100%; overflow:hidden;}

.footer_navBox {width:100%; color:#ffffff; background:#00457f;}
.footer_navBoxInner {display:flex; width:100%; max-width:1120px; margin:0 auto; padding:90px 0; justify-content:space-between; align-items:center;}

.footer_logo {}
.footer_nav {display:flex; justify-content:space-between; align-items:flex-start;}
.footer_navItems {}
.footer_navItem {font-weight:bold;}
.footer_contact {}
.footer_contact p {margin:40px 0 20px; text-align:center; font-size:14px; font-weight:bold; line-height:2;}
.footer_contact a {display:flex; width:180px; height:52px; margin:0 0 40px; border-radius:5px; background:#d17364; justify-content:center; align-items:center; transition:all 0.3s;}
.footer_contact a span {line-height:1; font-size:18px; font-weight:bold; color:#ffffff;}

.footer_linkBox {padding:55px 0; background:#f5f5f5;}
.footer_linkBoxInner {display:flex; justify-content:center; align-items:center; max-width:1120px; width:100%; margin:0 auto;}
.footer_linkBox a {margin:0 25px; text-align:center;}
.footer_linkBox img {display:block; margin:0 auto 10px;}
.footer_linkBox span {display:inline-block; position:relative; padding:0 20px 0 0; font-size:16px;}
.footer_linkBox span::before {content:''; display:block; position:absolute; top:3px; right:0; width:11px; height:9px; border:solid 1px #808080;}
.footer_linkBox span::after {content:''; display:block; position:absolute; top:5px; right:2px; width:11px; height:9px; border-bottom:solid 1px #808080; border-left:solid 1px #808080;}

.footer_linkBox .slick-prev:before,
.footer_linkBox .slick-next:before {content:''; display:block; width:10px; height:10px; border-top:solid 2px #342c2b; opacity:1; transition:opacity 0.3s;}
.footer_linkBox .slick-prev:before {border-left:solid 2px #342c2b; transform:rotate(-45deg);}
.footer_linkBox .slick-next:before {border-right:solid 2px #342c2b; transform:rotate(45deg);}
.footer_linkBox .slick-prev:hover:before,
.footer_linkBox .slick-prev:focus:before,
.footer_linkBox .slick-next:hover:before,
.footer_linkBox .slick-next:focus:before {opacity:0.5;}
.footer_linkBox .slick-dots {bottom:-50px;}
.footer_linkBox .slick-dots li button:before {content:''; top:5px; left:5px; width:10px; height:10px; border-radius:10px; background:#00457f; transition:opacity 0.3s;}
.footer_linkBox .slick-dots li.slick-active button:before {opacity:1;}


.footer_copyBox {display:flex; justify-content:flex-start; align-items:center; flex-wrap:wrap; padding:50px 0 0;}
.footer_copyBox .link_logo {margin:40px 0 40px 60px;}
.footer_copyBox address {margin:15px 0 0 60px; font-size:14px; line-height:2; color:#342c2b;}
.footer_copyBox p {flex:0 0 100%; width:100%; padding:15px; font-size:14px; text-align:center; font-weight:300; color:#808080; font-family:'Montserrat',sans-serif;}


@media screen and (min-width:1024px) {

  .footer_navItems:first-of-type {padding:0 100px 0 0;}
  .footer_navItem {margin:50px 0 0; font-size:16px;}
  .footer_navItem:first-of-type {margin:0;}

  .footer_contact {padding:0 0 0 85px; border-left:solid 1px #ffffff;}
  .footer_contact a:hover {opacity:0.5;}
}

@media screen and (max-width:1023px) {
  .footer {padding:32px 0 0;}

  .footer_navBoxInner {padding:30px 0; flex-direction:column;}
  .footer_nav {order:1;}

  .footer_navItem {position:relative; padding:20px 0; font-size:14px;}
  .footer_navItem a {padding:0 0 0 22px;}
  .footer_navItem a::before {content:''; display:block; width:16px; height:16px; position:absolute; top:0; bottom:0; margin:auto 0; border-radius:50px; background:#0060b1; overflow:hidden;}
  .footer_navItem a::after {content:''; display:block; width:5px; height:5px; position:absolute; top:50%; left:7px; border:solid 1px #ffffff; border-width:1px 1px 0 0; transform:translate(-50%, -50%) rotate(45deg);}

  .footer_contact {width:calc(100% - 36px); margin:20px auto 30px; padding:0 0 0; border-top:solid 1px #ffffff; border-bottom:solid 1px #ffffff; order:2;}
  .footer_contact p {margin:40px 0 20px; text-align:center; font-size:14px; font-weight:bold; line-height:2;}
  .footer_contact a {position:relative; width:calc(100% - 76px); height:52px; margin:0 auto 40px; border-radius:2px; font-size:16px;}
  .footer_contact a span {padding:0 30px 0 0; font-size:16px;}
  .footer_contact a::after {content:''; position:absolute; top:50%; right:50%; width:10px; height:10px; border:solid 1px #ffffff; border-width:2px 2px 0 0; border-radius:2px; transform:translate(60px, -50%) rotate(45deg);}

  .footer_logo {display:flex; order:3; justify-content:space-between; align-items:center; width:calc(100% - 36px); margin:0 auto;}
  .footer_logo a {width:144px;}
  .footer_logoItems {}
  .footer_logoItem {margin:15px 0; font-size:13px;}
  .footer_logoItem a {position:relative; padding:0 0 0 22px;}
  .footer_logoItem a::before {content:''; display:block; width:16px; height:16px; position:absolute; top:0; bottom:0; margin:auto 0; border-radius:50px; background:#0060b1; overflow:hidden;}
  .footer_logoItem a::after {content:''; display:block; width:5px; height:5px; position:absolute; top:50%; left:7px; border:solid 1px #ffffff; border-width:1px 1px 0 0; transform:translate(-50%, -50%) rotate(45deg);}

  .footer_linkBox {padding:40px 18px 10px;}
  .footer_linkBoxInner {display:flex; flex-direction:column;}
  .footer_linkBox a {width:100%; margin:0 0 30px;}
  .footer_linkBox a img {width:100%; max-width:400px;}


  .footer_copyBox {display:block;}
  .footer_copyBox .link_logo {display:block; width:250px; margin:0 auto 20px;}
  .footer_copyBox address {margin:0 auto 50px; font-size:14px; line-height:22px; text-align:center;}
  .footer_copyBox address span {display:block; margin:0 0 5px; font-weight:bold; color:#808080;}
  .footer_copyBox p {padding:0 15px 15px; font-size:12px;}




}





/* Bread */
.bread {}
.bread_items {display:flex; justify-content:flex-end; align-items:center; padding:0 20px;}
.bread_item {line-height:3rem; font-size:1.4rem;}
.bread_item.link::after {content:'\00A0＞\00A0';}

@media screen and (min-width:1024px) {
  .bread {height:6rem;}
  .bread_items {height:6rem;}
  .bread_item.link a:hover {text-decoration:underline;}
}
@media screen and (max-width:1023px) {
  .bread {width:100%; overflow-x:scroll; word-break:keep-all; -webkit-overflow-scrolling:touch;}
  .bread_items {display:block; padding:18px; white-space:nowrap; text-align:right;}
  .bread_item {display:inline-block; line-height:1; white-space:nowrap;}
}



/* Gotop */
.gotop {display:block; position:fixed; bottom:60px; right:-160px; width:108px; height:108px; border-radius:60px; color:#ffffff; text-align:center; line-height:115px; font-weight:700; font-size:18px; background:#00457f; cursor:pointer; opacity:0; font-family:'Montserrat',sans-serif; z-index:1200; transition:right 0.3s, opacity 0.3s;}
.gotop::before {content:''; display:block; width:8px; height:8px; position:absolute; top:50%; left:50%; border:solid 2px #ffffff; border-width:2px 2px 0 0; transform:translate(-50%, -20px) rotate(-45deg);}
.gotop.on {right:60px; opacity:1;}
.gotop.on.fix {position:absolute;}

@media screen and (min-width:1024px) {
  .gotop.on.fix {top:200px; bottom:auto;}
  .gotop:hover {opacity:0.5;}
}

@media screen and (max-width:1023px) {
  .gotop {bottom:18px; width:75px; height:75px; line-height:85px; font-size:16px;}
  .gotop::before {transform:translate(-50%, -15px) rotate(-45deg);}
  .gotop.on {right:18px; opacity:1;}
  .gotop.on.fix {bottom:950px;}
}


/* CatTag */
.catTag {display:block; width:140px; flex:0 0 140px; height:25px; line-height:25px; font-size:12px; color:#ffffff; font-weight:bold; text-align:center;}
.catTag.catInfo {background:#f6ad76;}
.catTag.catRecruit {background:#00457f;}
.catTag.catLibrary {background:#71a9b0;}
.catTag.catJadecom {background:#808080;}
@media screen and (max-width:1023px) {
  .catTag {height:18px; line-height:18px;}
}



