@charset "UTF-8";

/* ----------------------------
Import
---------------------------- */
@import url("reset.css");

/* ----------------------------
Base
---------------------------- */
html,
body {
width: 100%;
}
body {
margin: 0;
padding: 0;
background-color: #fff;
color: #333;
font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
font-size: 1em;
line-height: 1.8;
text-align: left;
text-size-adjust: 100%;
}
a:link {
color: #00f;
text-decoration: underline;
transition: all 0.3s ease-out;
}
a:visited {
color: #66f;
text-decoration: underline;
}
a:hover,
a:active {
color: #00f;
text-decoration: underline;
}
a[href^="tel:"] {
pointer-events: none;
text-decoration: none;
color: #000;
}
#container {
width: 100%;
margin: 0 auto;
text-align: center;
background-color: #fff;
}
.hd,
#sp_menu,
#footer_bt {
display: none;
}
/*=============================================================
web fonts
=============================================================*/
.Didot {
font-family: linotype-didot, serif;
font-weight: 400;
font-style: normal;
}
.Shuei_Mincho_L {
font-family: dnp-shuei-mincho-pr6, sans-serif;
font-weight: 400;
font-style: normal;
}
.Shuei_Mincho_M {
font-family: dnp-shuei-mincho-pr6, sans-serif;
font-weight: 500;
font-style: normal;
}
.Shuei_Mincho_B {
font-family: dnp-shuei-mincho-pr6, sans-serif;
font-weight: 600;
font-style: normal;
}
.font_Gothicu_M {
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 400;
font-style: normal;
}
.font_Gothicu_B {
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 700;
font-style: normal;
}
/*=============================================================
hamburger Menu
=============================================================*/
/* メニューが開いてる時にbodyのスクロールを止める */
body:has(#hamburger-check:checked) {
  overflow: hidden;
}
#hamburger_menu {
position: fixed;
top: 0;
right: 0;
z-index: 1000;
}
#hamburger-check {
  display: none;
}
.hamburger {
width: 80px;
height: 80px;
background-color: #dfc78b;
border: none;
cursor: pointer;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 9px;
padding: 0;
position: relative;
z-index: 9000;
}
.hamburger span {
display: block;
width: 43px;
height: 3px;
background-color: #3a3226;
border-radius: 100vh;
transition: transform 0.3s ease, opacity 0.3s ease;
}
/* チェック時に×へ変化 */
#hamburger-check:checked ~ .hamburger span:nth-child(1) {
  transform: translateY(12px) rotate(45deg);
}
#hamburger-check:checked ~ .hamburger span:nth-child(2) {
  opacity: 0;
}
#hamburger-check:checked ~ .hamburger span:nth-child(3) {
  transform: translateY(-12px) rotate(-45deg);
}
/* overlay 初期状態 */
#overlay {
position: fixed;
top: 0px;
left: 0;
width: 100%;
height: 100%;
background-color: #dfc78b;
z-index: 5000;
opacity: 0;
visibility: hidden;
transition: opacity 0.4s ease, visibility 0.4s ease;
box-sizing: border-box;
font-family: dnp-shuei-mincho-pr6, sans-serif;
font-weight: 400;
font-style: normal;
overflow-y: auto;
}
/* チェック時にoverlay展開 */
#hamburger-check:checked ~ #overlay {
opacity: 1;
visibility: visible;
}
#overlay .contents {
width: 80%;
margin: 0px auto 0 auto;
}
#overlay .contents dl.login {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
margin: 50px 0 0 0;
}
#overlay .contents dl.login dt {
width: 300px;
margin-right: 2em;
padding: 15px 0 0 0;
}
#overlay .contents dl.login dt .logo {
}
#overlay .contents dl.login dt .logo img {
width: 200px;
height: auto;
}
#overlay .contents dl.login dd {
font-size: 16px;
line-height: 1.5em;
background-color: #FFF;
padding: 0.4em 1em 0.4em 1em;
}
#overlay .contents dl.login dd ul {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
align-items: center;
}
#overlay .contents dl.login dd ul li {
font-weight: 800;
}
#overlay .contents dl.login dd ul li.name {
margin-right: 2em;
}
#overlay .contents dl.login dd ul li.bt {
margin-right: 1em;
}
#overlay .contents dl.login dd ul li.bt a {
display: block;
border-radius: 100vh;
background-color: #131d3d;
color: #FFF;
padding: 0.2em 1em 0.2em 1em;
}
#overlay .contents dl.login dd ul li.bt a:hover {
background-color: #850E10;
}

#overlay .contents a {
text-decoration: none;
color: #131d3d;
position: relative;
}
#overlay .contents dl.menu a::after {
content: '';
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 2px;
transition: width 0.3s ease;
}
#overlay .contents dl.menu a:hover {
color: #001345;
}
#overlay .contents dl.menu a:hover::after {
width: 100%;
}
#overlay .contents dl.menu {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin: 40px 0 0 0;
width: 100%;
padding: 0 0 100px 0;
}
#overlay .contents dl.menu dt {
text-align: left;
box-sizing: border-box;
padding: 0.5em 1em 0.3em 0.5em;
font-weight: 700;
font-size: 20px;
line-height: 1.5em;
width: 100%;
border-bottom: 1px solid #ffffff;
}
#overlay .contents dl.menu dd {
box-sizing: border-box;
padding: 1em 1em 1em 1.5em;
width: 100%;
margin-bottom: 0px;
font-size: 18px;
line-height: 1.5em;
letter-spacing: 0.1em;
}
#overlay .contents dl.menu dd ul {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
#overlay .contents dl.menu dd ul li {
margin: 0 1.5em 0.5em 0;
position: relative;
}
#overlay .contents dl.menu dd ul li:before {
content: '';
box-sizing: border-box;
display: inline-block;
position: absolute;
width: 10px;
height: 10px;
border-style: solid;
border-width: 1px 1px 0 0;
border-color: #000;
transform: rotate(45deg);
top: 32%;
left: 0;
}
#overlay .contents dl.menu dd ul li a {
color: #001345;
padding: 0 0 0 1.2em;
position: relative;
}
#overlay .contents dl.menu dd ul li a:hover {
text-decoration: underline;
}
#overlay .contents dl.menu dd ul li.login a:after {
content: '';
display: inline-block;
width: 12px;
height: 14px;
background-image: url("../image/login.png");
background-size: contain;
vertical-align: middle;
position: relative;
top: -2px;
left: 3px;
}
/*=============================================================
Header
=============================================================*/
#header {
width: 100%;
margin: 0 auto;
text-align: left;
overflow: hidden;
background-image: url("../image/mosaic_tile_base.png");
background-position: top center;
padding: 80px 0 0 0;
position: relative;
top: 0;
right: 0;
z-index: 1000;
}
/*=============================================================
Contents
=============================================================*/
#mainbody {
width: 100%;
margin: 0 auto;
padding: 0px 0 40px;
}
#mainbody #title {
background-color: #f2f2f2;
padding: 50px 50% 50px 0;
background-image: url("../image/list/bg_list.jpg");
background-position: right center;
background-size: 50%;
}
#mainbody #title h1 {
font-size: 34px;
line-height: 1.2em;
color: #131d3d;
font-family: dnp-shuei-mincho-pr6, sans-serif;
font-weight: 500;
font-style: normal;
text-align: left;
display: block;
margin: 0px auto 0 auto;
width: 80%;
}
#mainbody #title p {
color: #686868;
font-size: 18px;
line-height: 1.5em;
text-align: left;
display: block;
margin: 1em auto 0 auto;
width: 80%;
min-width: 1200px;
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 400;
font-style: normal;
}
#mainbody #title.kodate,
#mainbody #title.tochi,
#mainbody #title.man {
background-position: right center;
background-size: 50%;
padding: 50px 0 50px 0;
}
#mainbody #title.kodate {
background-image: url("../image/list/bg_kodate.jpg");
}
#mainbody #title.tochi {
background-image: url("../image/list/bg_tochi.jpg");
}
#mainbody #title.man {
background-image: url("../image/list/bg_man.jpg");
}

.breadcrumb-list {
padding: 10px 0 5px 10px;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
line-height: 1;
color: #999;
}
.breadcrumb-list ul {
}
.breadcrumb-list li {
padding-right: 5px;
color: #000;
}
.breadcrumb-list a {
color: #5ca73c;
text-decoration: none;
}
.breadcrumb-list a:hover {
color: #000;
text-decoration: underline;
}
.breadcrumb-list strong {
font-weight: bold;
color: #5ca63d;
}
#mainbody #title {
display: block;
}

.breadcrumb-list {
font-size: 14px;
line-height: 1.5em;
color: #999;
font-family: Arial, Helvetica, sans-serif;
padding: 1em 0 1em 0;
margin: 0px auto 0 auto;
text-align: left;
min-width: 1200px;
width: 80%;
}
.breadcrumb-list ul {
display: flex;
flex-wrap: nowrap;
justify-content: flex-start;
align-items: center;
}
.breadcrumb-list li {
display: inline;
padding-right: 5px;
color: #686868;
}
.breadcrumb-list a {
color: #686868;
text-decoration: none;
position: relative;
margin-right: 1em;
}
.breadcrumb-list a:after {
content: '';
box-sizing: border-box;
display: inline-block;
position: absolute;
width: 6px;
height: 6px;
border-style: solid;
border-width: 1px 1px 0 0;
border-color: #919191;
transform: rotate(45deg);
top: 35%;
right: -0.8em;
}
.breadcrumb-list a:hover {
color: #000;
text-decoration: underline;
}

/*=============================================================
 stock
 =============================================================*/
.stock_bt{
position: absolute;
text-align: center;
margin: 0px auto 0 auto;
display: block;
width: 30px;
height: 30px;
z-index: 100;
}
.stock_bt a:before,
.stock_bt a:after {
position: absolute;
content: "";
left: 9px;
top: 2;
width: 10px;
height: 17px;
background: #CDCDCD;
border-radius: 50px 50px 0 0;
transform: rotate(-45deg);
transform-origin: 0 100%;
margin: 26% 0 0 18.5%;
}
.stock_bt a:after{
left: 0;
transform: rotate(45deg);
transform-origin :100% 100%;
}
.stock_bt a {
position: absolute;
display: block;
border: 2px solid #CDCDCD;
border-radius: 100vh;
width: 30px;
height: 30px;
background: #FFF;
}
.stock_bt.active a {
border: 2px solid #f88dc8;
}
.stock_bt span {
display: none;
}
.stock_bt a:hover {
background: #EDEDED;
}
.stock_bt.active a {
background: #f88dc8;
} 
.stock_bt.active a:before,
.stock_bt.active a:after{
background: #fff;
}


/*=============================================================
Footer
=============================================================*/
.pagetop {
display: none;
position: fixed;
right: 30px;
bottom: 30px;
z-index: 8000;
width: 50px;
height: 50px;
text-align: center;
cursor: pointer;
}
.pagetop span {
display: block;
width: 100%;
height: 100%;
margin: 0 auto;
border-radius: 50%;
background: #9fb7d4;
color: #fff;
font-family: Arial, Helvetica, sans-serif;
font-size: 18px;
font-weight: bold;
line-height: 2.5;
text-align: center;
text-decoration: none;
}
.pagetop span:hover {
background-color: #8a969e;
}
#footer {
background-image: url("../image/mosaic_tile_base.png");
background-position: top center;
width: 100%;
margin: 100px auto 0 auto;
text-align: center;
overflow: hidden;
position: relative;
background-color: #dfc88c;
padding: 150px 0 120px 0;
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 500;
font-style: normal;
}
#footer .body {
width: 80%;
margin: 0 auto;
text-align: left;
}
#footer ul.sns {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
width: 250px;
margin: 0px 0 0 auto;
}
#footer ul.sns li {}

#footer dl.menu {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
margin: 70px 0 0 0;
width: 100%;
}
#footer dl.menu dt {
text-align: right;
box-sizing: border-box;
padding: 0.5em 1em 1em 0em;
font-weight: 700;
font-size: 16px;
line-height: 1.5em;
width: 14%;
margin-bottom: 40px;
}
#footer dl.menu dd {
border-left: 1px solid #ffffff;
box-sizing: border-box;
padding: 0.5em 1em 1em 1.5em;
width: 19.3%;
margin-bottom: 40px;
}
#footer dl.menu dd ul {}
#footer dl.menu dd ul li {
margin-bottom: 0.5em;
}
#footer .banner {
width: 300px;
margin: 30px 0 0 auto;
text-align: right;
}
#footer .banner img {
width: 100%;
height: auto;
}
#footer .banner img:hover {
opacity: .70;
}
#footer dl.logo {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
align-items: flex-end;
margin: 40px auto 0 auto;
}
#footer dl.logo dt {
width: 60%;
}
#footer dl.logo dd {}
#footer dl.logo dd img {
width: 220px;
height: auto;
}
#footer dl.logo dt ol {
margin: 0px auto 0 auto;
}
#footer dl.logo dt ol li {
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 16px;
line-height: 1.8em;
}
#footer dl.logo dt ol li:nth-child(1) {
font-weight: 700;
font-size: 18px;
}
#footer dl.logo dt ol li:nth-child(3) {
padding: 1em 0 0 0;
font-size: 14px;
line-height: 1.6em;
font-weight: 400;
}

#footer a {
text-decoration: none;
color: #131d3d;
position: relative;
}
#footer a::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 1px;
background-color: #959595;
transition: width 0.3s ease;
}
#footer a:hover {
color: #001345;
}
#footer a:hover::after {
width: 100%;
}
.copyright {
width: 80%;
margin: 0 auto;
text-align: left;
padding: 3em 0 5em 0;
}
.copyright p {
color: #848484;
font-size: 14px;
line-height: 1.6em;
}





/*=============================================================
タブレット対応 （641px ~ 1024px）
=============================================================*/
@media screen and (max-width: 1024px) {

  /* hamburger */
  .hamburger {
    width: 60px;
    height: 60px;
    gap: 7px;
  }
  .hamburger span {
    width: 32px;
  }
  #hamburger-check:checked ~ .hamburger span:nth-child(1) {
    transform: translateY(10px) rotate(45deg);
  }
  #hamburger-check:checked ~ .hamburger span:nth-child(3) {
    transform: translateY(-10px) rotate(-45deg);
  }

  /* overlay */
  #overlay {
    top: 60px;
  }
  #overlay .contents {
    width: 90%;
  }
  #overlay .contents dl.menu dt {
    font-size: 17px;
  }
  #overlay .contents dl.menu dd {
    font-size: 16px;
  }

  /* header */
  #header {
    padding: 60px 0 0 0;
  }
/* footer */
#footer {
padding: 120px 0 80px 0;
}
#footer .body {
width: 90%;
}
#footer dl.menu dt {
font-size: 16px;
width: 20%;
}
#footer dl.menu dd {
font-size: 16px;
width: 30%;
padding: 0.5em 0.8em 1em 1em;
}
#footer ol li {
font-size: 16px;
line-height: 1.5em;
}
#footer ol li:nth-child(1) {
font-size: 16px;
}
#footer .banner {
width: 300px;
margin: 30px auto 0 auto;
text-align: center;
}
#footer dl.logo dt {
min-width: 220px;
width: 60%;
}
#footer dl.logo dd {}
#footer dl.logo dd ul {
width: 200px;
}
/* copyright */
.copyright {
width: 90%;
padding: 2em 0 3em 0;
}

}
