/*  */

@import url('https://fonts.googleapis.com/css2?family=BIZ+UDGothic&family=BIZ+UDPMincho&display=swap');

@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPMincho:wght@400;700&display=swap');

:root {
  --MAIN: #333;
}
body {
    color: #333!important;
}
:where(ul:not([class*=lib]))>li:before {
    display: none;
}
h1.title {
  color: #765638!important;
}


.mincho {
	font-family: "BIZ UDPMincho", serif;
}
.sp {
  display: none;
}
@media (max-width: 1080px) {
  .sp-header-wrap{
    display: block !important;
  }
}
body{
  background: url(/dcms_media/image/bg-body.png) 0 0 repeat;
}


/* CMSの初期削除 */
div[role="navigation"][aria-label="Skip link navigation"]{
  display: none;
}
.lib-cta__outer.lib-cta-BS01.bg-gry.--fill{
  display: none;
}
header :where(ol:not([class*="lib"])) > li ~ li,
header :where(ul:not([class*="lib"])) > li ~ li{
  margin-top: 0;
}
header :where(ol:not([class*="lib"])) > li,
header :where(ul:not([class*="lib"])) > li{
  padding-left: 0;
  position: static;
  line-height: normal;
}
header #wrapper {
  line-height: 1;
}


header {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1080px;
  z-index: 2;
}
header a {
  color: #333;
}
header a:hover {
  opacity: 0.7;
}
header p.kasou_logo {
  width: 313px;
  float: left;
}

header div.block {
  position: absolute;
  max-width: 1080px;
  width: 100%;
  box-sizing: border-box;
  top: 20px;
  right: 0;
  background: #FFF;
  padding: 10px 20px;
  border-radius: 10px;
}
header div.block .hojyo {
  display: flex;
  justify-content: end;
}
header div.block .hojyo dl.moji {
  display: flex;
  margin-right: 10px;
}
header div.block .hojyo dl.moji #moji_large {
  font-weight: bold;
}


header div.block .hojyo dl.haikei {
  display: flex;
}
header div.block .hojyo dt {
  margin-right: 10px;
}
header div.block .hojyo dd a {
  margin-right: 10px;
  border: 1px solid #333;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 0.8rem;
  display: block;
  background: #FFF;
}
header div.block .haikei dd a {
  border-radius: 15px;
  padding: 1px 6px;
  display: block;
  margin-top: 3px;
  background: #FFF;
}
header div.block .haikei dd #haikei_black {
  border-color: #000000;
  background: #000000 !important;
  color: #ffffff !important;
}
header div.block .haikei dd #haikei_blue {
  border-color: #0000ff;
  background: #0000ff !important;
  color: #ffff00 !important;
}

header nav ul {
  display: flex;
  margin: 11px 0 3px 0;
  justify-content: end;
}
header nav ul li {
  width: 22%;
  text-align: center;
  border-right: solid 1px #61452B;
}
.font-large header nav ul li {
  width: 23%;
}
header nav ul li:nth-of-type(1) {
  border-left: solid 1px #61452B;
  width: 25%;
}
.font-large header nav ul li:nth-of-type(1) {
  width: 30%;
}
header nav ul a {
  color: #61452B;
  display: block;
  padding: 5px 0px;
}
@media (max-width: 1080px) {
  body.is-open{
    overflow: hidden;
  }
  body.is-open header div.block {
    display: flex;
  }
  header div.block {
    display: none;
    max-width: none;
    background: url(/dcms_media/image/bg-body.png) 0 0 repeat;
    min-height: 100dvh;
    min-height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;

    border-radius: 0;
    z-index: 2;
    padding-top: 150px;
    flex-direction: column;
    padding-bottom: 50px;
    overflow-y: auto;
    position: fixed;
  }
  header div.block p.kasou_logo {
    display: none;
  }
  header div.block nav {
    order: 1;
  }  header div.block .hojyo {
    display: block;
    margin: 20px 0 0 20px;
    order: 2;
  }
  header div.block ul.banner{
    display: block !important;
    order: 3;
    margin: 33px 0 0 0;
  }
  header div.block ul.banner li{
    margin: 0 0 25px 0;
  }

  header div.block .hojyo dl.moji {
    margin-bottom: 15px;
  }
  header nav ul {
    display: block;
  }
  header nav ul li {
    border: none !important;
    border-bottom: solid 1px #61452B !important;
    width: 100% !important;
    text-align: left;
    background: url(/dcms_media/image/bg-link.png) center right 15px no-repeat;
    margin-bottom: 10px;
  }
  header nav ul li a {
    padding: 22px 0px 22px 20px;
  }
}


/*ハンバーガーメニュー*/
.sp-header-wrap{
  position: fixed;
  top: 15px;
  left: 15px;
  width: calc( 100% - 30px );
  z-index: 3;
}
.sp-header{
  background: #FFF;
  border-radius: 10px;
  padding: 10px;
  position: relative;
}
.sp-header > p:nth-of-type(1){
  width: 261px;
}
.hamburger{
  padding:10px 0px;
  cursor: pointer;
  position: absolute;
  top: 12px;
  right: 15px;
}
body.is-open .hamburger {
  top: 14px;
  right: 20px;
}
.hamburger i{
  display:block;
  width:40px;
  height:3px;
  background:#61452B;
  border-radius:999px;
  transition:transform 220ms ease, opacity 220ms ease, background 220ms ease;
  margin: 0 auto;
}
.hamburger span {
  padding: 16px 0 0 0;
  display: block;
  font-size: 0.8rem;
  text-align: center;
}
body.is-open .hamburger span {
  padding: 9px 0 0 5px;
}
.hamburger i:nth-of-type(1){ transform:translateY(-8px); }
.hamburger i:nth-of-type(2){ transform:translateY(0); }
.hamburger i:nth-of-type(3){ transform:translateY(8px); }
.hamburger span:nth-of-type(2){ display:none; }

body.is-open .hamburger i:nth-of-type(1){ transform:rotate(45deg); margin: 0px 0 -2px 4px;}
body.is-open .hamburger i:nth-of-type(2){ opacity:0; }
body.is-open .hamburger i:nth-of-type(3){ transform:rotate(-45deg); margin: -4px 0px 12px 2px; }
body.is-open .hamburger span:nth-of-type(1){ display:none; }
body.is-open .hamburger span:nth-of-type(2){ display:block; }



/* main部 */
.lib-breadcrumb__outer {
  padding-top: 130px;
  padding-bottom: 10px;
}

/* 以下、大メニューと小メニュー */
div.--typeA h1{
  background: url(/dcms_media/image/top-tl-boder.png) left bottom repeat-x;
  display: inline-block !important;
  padding: 0 8px 8px 15px;
  margin-bottom: 20px;
}
/* 大メニュー */
.ico-before-arr.align-items-start::before {
  display: none;
}
ul.lib-indent__list.--image li{
  display: block;
}
ul.lib-indent__list.--image li a{
  width: 100%;
  max-width: 900px;
  margin: 0 auto 20px auto;
  display: block;
  background: url(/dcms_media/image/dai-bg-link.png) right 35px center no-repeat #FFF;
  padding: 15px 40px 15px 30px;
  border-radius: 999px;
  border: solid 1px #E2B66E;
  transition: none;
  text-decoration: none;
}
ul.lib-indent__list.--image li a:hover{
  opacity: 1;
  box-shadow: 0 0 0 1px #E2B66E;
}
/* 小メニュー */
ul.lib-indent__list:has(> li.ico-before-arr) {
  background: #FFF;
  border-radius: 30px;
  padding: 30px;
}
ul.lib-indent__list.--image span.thumb {
  display: none;
}
ul li.ico-before-arr a{
  display: block;
  padding: 10px 0 10px 5px;
  background: url(/dcms_media/image/syo-bg-link.png) left bottom repeat-x;
  margin-top: 10px;
  width: 100%;
  text-decoration: none;
}


/* 記事ページ */
.lib-title__outer:not(.--typeA) h1 {
  background:
    url(/dcms_media/image/kiji-bg-h1_2.png) right 40px bottom 0px no-repeat,
    url(/dcms_media/image/kiji-bg-h1.png) left top no-repeat;
  padding: 19px 0 19px 25px;
  min-height: 80px;
  font-size: 2rem;
  border-radius: 10px;
  margin-bottom: 40px;
  background-size: 270px auto , auto auto;
  color: #765638;
}
.lib-title__outer:not(.--typeA) h2 {
  background: url(/dcms_media/image/kiji-bg-h2.png) 0 0 no-repeat;
  padding: 15px 0 15px 25px;
  min-height: 60px;
  font-size: 1.6rem;
  border-radius: 10px;
  margin-bottom: 30px;
}
.lib-title__outer:not(.--typeA) h3 {
  border-left: #E2B66E solid 10px;
  padding-left: 10px;
}
.lib-title__outer:not(.--typeA) h4 {
  background: url(/dcms_media/image/kiji-bg-h4.png) left bottom repeat-X;
  padding: 0 15px 10px 15px;
}
.lib-title__outer:not(.--typeA) h5 {
  border-bottom: #EBD0A4 solid 2px;
  padding-bottom: 2px;
}
.lib-title__outer:not(.--typeA) h6 {
  background: url(/dcms_media/image/kiji-bg-h6.png) left top 6px no-repeat;
  padding: 0 0 0 22px;
}

/* footer */
footer {
  max-width: 810px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
}
footer > p:nth-of-type(1) {
  font-size: 1.6rem;
  font-weight: 800;
  margin-bottom: 10px;
}
footer > p:nth-of-type(2) {
  margin-bottom: 25px;
}
footer dl {
  background: #FFF;
  border-radius: 20px;
  padding: 20px;
  display: flex;
  align-items: center;
  margin-bottom: 20px;
}
footer dl dt {
  width: 28%;
  text-align: center;
  padding-top: 60px;
}
footer dl:nth-of-type(1) dt {
  background: url(/dcms_media/image/madoguti-tell.png) center 0 no-repeat;
  background-size: 42px;
}
footer dl:nth-of-type(2) dt {
  background: url(/dcms_media/image/madoguti-mail.png) center 15px no-repeat;
}
footer dl:nth-of-type(3) dt {
  background: url(/dcms_media/image/madoguti-taimen.png) center 10px no-repeat;
}
footer dl dd {
  border-left: #AEAEAE solid 1px;
  padding: 10px 0 10px 30px;
  line-height: 1.4rem;
}
footer dl dd a {
  text-decoration: underline;
}
footer dl:nth-of-type(2) dd a {
  color: #61452B;
  border: 1px solid #61452B;
  background: url(/dcms_media/image/bg-link.png) right 12px center no-repeat;
  padding: 7px 40px 8px 20px;
  border-radius: 20px;
  display: block;
  text-decoration: none;
}
footer div.footer-box-wrap{
  text-align: center;
  margin: 30px 0;
}
footer div.footer-box{
  background: url(/dcms_media/image/ft-logo.png) 0 center no-repeat;
  padding: 10px 0 10px 110px;
  line-height: 1.4;
  display: inline-block;
  text-align: left;
}
footer div > p:nth-of-type(1){
  font-size: 2rem;
}
footer p.copy{
  text-align: center;
  margin-bottom: 15px;
}


@media (max-width: 1080px) {
  .lib-breadcrumb__outer {
    padding-top: 105px;
  }
  footer dl {
    display: block;
  }
  footer dl dt {
    width: 200px;
    margin: 0 auto 10px auto;
  }
  footer dl dd {
    border: none;
    padding-left: 0;
  }
  footer dl:nth-of-type(2) dd a {
    text-align: center;
  }
}

