@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: auto; /* SP:電話リンク有効 */
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:has(#hamburger-check:checked) {
  overflow: hidden;
}
#hamburger_menu {
position: fixed;
top: 0;
right: 0;
z-index: 1000;
}
#hamburger-check {
  display: none;
}
.hamburger {
width: 50px; /* SP: 小さく */
height: 50px;
background-color: #dfc78b;
border: none;
cursor: pointer;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
gap: 7px;
padding: 0;
position: relative;
z-index: 9000;
}
.hamburger span {
display: block;
width: 32px; /* SP: 少し短く */
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(10px) rotate(45deg);
}
#hamburger-check:checked ~ .hamburger span:nth-child(2) {
  opacity: 0;
}
#hamburger-check:checked ~ .hamburger span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}
/* overlay 初期状態 */
#overlay {
position: fixed;
top: 0;
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;
}
#hamburger-check:checked ~ #overlay {
opacity: 1;
visibility: visible;
}
#overlay .contents {
width: 90%; /* SP: 幅広げる */
margin: 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: 60%;
padding: 15px 0 0 0;
}
#overlay .contents dl.login dt .logo {
}
#overlay .contents dl.login dt .logo img {
width: 100%;
height: auto;
}
#overlay .contents dl.login dd {
margin-top: 20px;
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;
padding: 0 0 0.5em 0;
}
#overlay .contents dl.login dd ul li {
font-weight: 800;
}
#overlay .contents dl.login dd ul li.name {
width: 100%;
margin-bottom: 0.5em;
}
#overlay .contents dl.login dd ul li.bt {
margin-right: 1em;
}
#overlay .contents dl.login dd ul li.bt a {
font-size: 14px;
display: block;
border-radius: 100vh;
background-color: #131d3d;
color: #FFF;
padding: 0.2em 1em 0.2em 1em;
}
#overlay .contents a {
text-decoration: none;
color: #131d3d;
position: relative;
}
#overlay .contents a::after {
content: '';
position: absolute;
bottom: -6px;
left: 0;
width: 0;
height: 2px;
transition: width 0.3s ease;
}
#overlay .contents a:hover {
color: #001345;
}
#overlay a:hover::after {
width: 100%;
}
#overlay .contents dl.menu {
display: block; /* SP: 縦並び */
margin: 40px 0 0 0;
width: 100%;
padding: 0 0 80px 0;
}
#overlay .contents dl.menu dt {
text-align: left;
box-sizing: border-box;
padding: 0.6em 0.5em 0.4em 0.5em;
font-weight: 700;
font-size: 16px; /* SP: フォント小さく */
line-height: 1.5em;
width: 100%;
border-bottom: 1px solid #ffffff;
}
#overlay .contents dl.menu dd {
box-sizing: border-box;
padding: 0.8em 0.5em 0.8em 1em;
width: 100%;
margin-bottom: 0;
font-size: 15px; /* SP: フォント小さく */
line-height: 1.5em;
letter-spacing: 0.05em;
}
#overlay .contents dl.menu dd ul {
display: flex;
flex-wrap: wrap;
justify-content: flex-start;
}
#overlay .contents dl.menu dd ul li {
margin: 0 1em 0.5em 0;
position: relative;
}
#overlay .contents dl.menu dd ul li:before {
content: '';
box-sizing: border-box;
display: inline-block;
position: absolute;
width: 7px;
height: 7px;
border-style: solid;
border-width: 1px 1px 0 0;
border-color: #000;
transform: rotate(45deg);
top: 34%;
left: 0;
}
#overlay .contents dl.menu dd ul li a {
color: #001345;
padding: 0 0 0 1em;
}
#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_sp.png");
background-size: cover;
background-position: top center;
display: block;
padding: 50px 0 0 0;
z-index: 1000;
}

/*=============================================================
Contents
=============================================================*/
#mainbody {
margin: 40px auto 0 auto;
padding: 0;
}
#mainbody #title {
background-color: #f2f2f2;
padding: 2em 0 2em 1em;
background-image: url("../image/list/bg_title_sp.jpg");
background-position: right center;
box-sizing: border-box;
}
#mainbody #title h1 {
font-size: 18px;
line-height: 1.3em;
color: #131d3d;
font-family: dnp-shuei-mincho-pr6, sans-serif;
font-weight: 500;
font-style: normal;
text-align: left;
padding: 0 0 0 0;
}
#mainbody #title p {
color: #686868;
font-size: 15px;
line-height: 1.3em;
text-align: left;
display: block;
margin: 1em auto 0 auto;
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 400;
font-style: normal;
}
#mainbody #title.kodate,
#mainbody #title.tochi,
#mainbody #title.man {
padding: 2em 0 2em 0;
}
#mainbody #title.kodate {
background-image: url("../image/list/bg_kodate_sp.jpg");
background-size: 30%;
}
#mainbody #title.tochi {
background-image: url("../image/list/bg_tochi_sp.jpg");
}
#mainbody #title.man {
background-image: url("../image/list/bg_man_sp.jpg");
}

.breadcrumb-list {
display: none;
}

/*=============================================================
 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: 10px;
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: 15px;
bottom: 15px;
z-index: 8000;
width: 40px;
height: 40px;
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: 14px;
font-weight: bold;
line-height: 2.8;
text-align: center;
text-decoration: none;
}
.pagetop span:hover {
background-color: #8a969e;
}
#footer {
background-image: url("../image/mosaic_tile_base_sp.png");
background-size: 100%;
background-position: top center;
width: 100%;
margin: 0 auto;
text-align: center;
overflow: hidden;
position: relative;
background-color: #dfc88c;
padding: 60px 0 60px 0; /* SP: パディング縮小 */
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 500;
font-style: normal;
}
#footer .body {
width: 90%; /* SP: 幅広げる */
margin: 0 auto;
text-align: left;
}
#footer ul.sns {
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
width: 70%;
margin: 0px auto 0 auto;
}
#footer ul.sns li {}
#footer dl.logo {
display: block; /* SP: 縦並び */
margin: 0 auto;
}
#footer dl.menu {
display: block; /* SP: 縦並び */
margin: 40px 0 0 0;
width: 100%;
}
#footer dl.menu dt {
text-align: left;
box-sizing: border-box;
padding: 0.5em 0 0.5em 0;
font-size: 15px;
line-height: 1.5em;
width: 100%;
margin-bottom: 0;
border-bottom: 1px solid #fff;
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 700;
font-style: normal;
}
#footer dl.menu dd {
border-left: none; /* SP: 左ボーダー削除 */
box-sizing: border-box;
padding: 0.5em 0.5em 0.8em 0.5em;
width: 100%;
margin-bottom: 10px;
}
#footer dl.menu dd ul {}
#footer dl.menu dd ul li {
margin-bottom: 0.4em;
font-size: 15px;
}
#footer .banner {
width: 200px;
margin: 20px auto 0 auto;
text-align: center;
}
#footer .banner img {
width: 100%;
height: auto;
}
#footer dl.logo {
margin: 40px auto 0 auto;
}
#footer dl.logo dt {
width: 100%;
}
#footer dl.logo dd {
text-align: center;
margin: 40px auto 0 auto;
}
#footer dl.logo dd img {
width: 50%;
height: auto;
}
#footer dl.logo dt ol {
margin: 30px auto 0 auto;
}
#footer dl.logo dt ol li {
font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 500;
font-style: normal;
font-size: 13px;
line-height: 1.8em;
}
#footer dl.logo dt ol li:nth-child(1) {
font-weight: 700;
font-size: 15px;
}
#footer dl.logo dt ol li:nth-child(3) {
padding: 1em 0 0 0;
font-size: 12px;
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: 90%;
margin: 0 auto;
text-align: center; /* SP: 中央寄せ */
padding: 2em 0 3em 0;
}
.copyright p {
color: #848484;
font-size: 12px;
line-height: 1.6em;
}