﻿@charset "utf-8";

/*----------------------------------------------------------------------------------------------------

  Header
  
----------------------------------------------------------------------------------------------------*/

header {
  position:relative;
  z-index:200;
  background-color:#fff;
  box-shadow:0 5px 10px 0 rgba(10,20,40,0.05);
}

.l-hd {
  width:100%;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  text-align:left;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  position:relative;
}

@media print,screen and (min-width:641px) {
  header {
    padding:0 30px;
  }
  
  .l-hd {
    padding-top:40px;
    padding-bottom:40px;
  }
}

@media screen and (max-width:640px) {
  body {
    padding-top:4.5em;
  }
  
  header {
    width:100%;
    min-width:320px;
    position:fixed;
    left:0;
    top:0;
  }
  
  .l-hd {
    height:4.5em;
  }
}


/*--------------------------------------------------------------------------------
  logo
--------------------------------------------------------------------------------*/

.l-hdLogo {
  line-height:1;
  background:url(../image/logo.svg) no-repeat left center;
  background-size:contain;
  padding-left:4.25em;
}

.l-hdLogo h1 {
  font-size:1.88em;
  font-weight:600;
  padding-bottom:0.25rem;
}

.l-hdLogo a { display:block; }
.l-hdLogo a,
.l-hdLogo a:visited,
.l-hdLogo a:hover,
.ua-pc .l-hdLogo h1 a:hover { color:inherit !important; text-decoration:none !important; }

.hdLogo__subTtl {
  display:inline-block;
  margin-bottom:0.5em;
  color:#aa0500;
}

.hdLogo__sname {
  font-weight:700;
  margin-left:0.75rem;
}

@media screen and (max-width:640px) {
  .l-hdLogo {
    margin-left:0.75em;
    margin-top:1em;
    font-size:80%;
    z-index:200;
    height:3.5em;
  }
}


/*--------------------------------------------------------------------------------
  nav
--------------------------------------------------------------------------------*/

.l-gNav {
  line-height:1.4;
}

.l-gNav ul {
  list-style:none;
}

@media print,screen and (min-width:641px) {
  .l-gNav-wrap,
  .l-gNav,
  .l-gNav__item {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-align:end;
    -ms-flex-align:end;
    align-items:flex-end;
    -webkit-box-pack:end;
    -ms-flex-pack:end;
    justify-content:flex-end;
    -webkit-box-flex:1;
    -ms-flex:1 0 auto;
    flex:1 0 auto;
  }
  
  .l-gNav ul:not(.subList) {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    margin-bottom:-1em;
  }
  
  .l-gNav a,
  .l-gNav a:visited,
  .l-gNav a:hover { color:#0a1428; text-decoration:none; }
  .ua-pc .l-gNav a:hover { color:#2c4683; }
  
  .l-gNav ul:not(.subList) > li:not(.l-gNav__sub) a {
    display:block;
    font-size:1.05em;
    padding-left:-webkit-calc(12 / 1180 * 100vw);
    padding-left:calc(12 / 1180 * 100vw);
    padding-right:-webkit-calc(12 / 1180 * 100vw);
    padding-right:calc(12 / 1180 * 100vw);
    padding-top:1em;
    padding-bottom:1em;
  }
}

@media print,screen and (min-width:641px) and (max-width:1000px) {
  .l-gNav ul:not(.subList) > li:not(.l-gNav__sub) a {
    padding-left:0.6em;
    padding-right:0.6em;
  }
}

@media screen and (max-width:640px) {
  html.is-sp-gNav-open {
    overflow-y:hidden;
  }
  
  .l-gNav a,
  .l-gNav a:visited,
  .l-gNav a:hover { color:inherit; text-decoration:none; }
  
  .l-SPgNav {
    display:none;
    pointer-events:none;
    width:100%;
    min-width:320px;
    height:100%;
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:199;
    padding-top:4.5em;
    text-align:center;
  }
  
  .l-gNav {
    box-shadow:0 15px 10px -10px rgba(10,20,40,0.05) inset;
    background-color:#fff;
    pointer-events:auto;
    height:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
  
  .l-gNav__item {
    display:none;
    width:100%;
    overflow-y:auto;
    font-size:1.2em;
    padding-top:2em;
    padding-left:5%;
    padding-right:5%;
  }
  
  .l-gNav__item:after {
    content:"";
    width:100%;
    height:2.5em;
    display:block;
  }
  
  .l-gNav li a {
    display:block;
    padding:0.75em;
  }
}


/*--------------------------------------------------------------------------------
  sub nav
--------------------------------------------------------------------------------*/

.l-gNav__sub {
  position:absolute;
  right:0;
  top:0;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}

.l-gNav__sub a,
.l-gNav__sub a:visited,
.l-gNav__sub a:hover,
.ua-pc .l-gNav__sub a:hover { color:#fff; text-decoration:none; }

.l-gNav__sub .subList {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}

.l-gNav__sub .subList li {
  margin-left:4px;
}

.l-gNav__sub .subList li a {
  display:block;
  font-size:0.8em;
  padding:0.7em 1em;
}

.ua-pc .l-gNav__sub .subList li a {
  transition:background 0.2s ease-out, color 0.2s ease-out;
}

.l-gNav__sub .subList li.tokutei a {
  background-color:#0f1e3c;
}

.ua-pc .l-gNav__sub .subList li.tokutei a:hover {
  background-color:#1f3665;
}

.l-gNav__sub .subList li.cart a {
  background-color:#aa0500;
}

.ua-pc .l-gNav__sub .subList li.cart a:hover {
  background-color:#cb1d17;
}

@media screen and (max-width:640px) {
  .l-gNav__sub {
    display:none;
  }
}


/*--------------------------------------------------------------------------------
  tel
--------------------------------------------------------------------------------*/

.l-hdTel {
  line-height:1;
  font-weight:700;
  color:#aa0500;
}

.l-hdTel a,
.l-hdTel a:visited,
.l-hdTel a:hover { color:inherit; text-decoration:none; }

@media print,screen and (min-width:641px) {
  .l-hdTel {
    padding-left:1em;
  }
}
@media screen and (max-width:640px) {
  .l-hdTel {
    margin-top:1.5em;
  }
}


/*--------------------------------------------------------------------------------
  SP button
--------------------------------------------------------------------------------*/

@media print,screen and (min-width:641px) {
  .l-SPhd-btns {
    display:none;
  }
}

@media screen and (max-width:640px) {
  .l-SPhd-btns {
    z-index:200;
    list-style:none;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    margin-left:auto;
  }
  
  .l-SPhd-btns a,
  .l-SPhd-btns a:visited,
  .l-SPhd-btns a:hover { color:inherit; text-decoration:none; }
  
  .l-SPhd-btns li {
    width:4em;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
    cursor:pointer;
    position:relative;
  }
  
  .l-SPhd-btns li:not(:first-child):before {
    content:"";
    width:1px;
    height:50%;
    background-color:rgba(15,30,60,0.1);
    position:absolute;
    left:0;
    top:50%;
    transform:translateY(-50%);
  }
  
  .l-SPhd-btns li.cart a {
    width:100%;
    height:100%;
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    -webkit-box-align:center;
    -ms-flex-align:center;
    align-items:center;
    -webkit-box-orient:vertical;
    -webkit-box-direction:normal;
    -ms-flex-direction:column;
    flex-direction:column;
  }
  
  .l-SPhd-btns li.cart a:before {
    content:"";
    width:18px;
    height:18px;
    display:inline-block;
    background-image:url(../image/icon/cart_red.svg);
    background-position:center center;
    background-repeat:no-repeat;
    background-size:contain;
    vertical-align:middle;
    margin-left:0.2em;
  }
  
  .l-SPhd-btns li .txt {
    display:block;
    padding-top:0.7rem;
    font-size:0.66em;
    line-height:1;
  }
  
  .l-SPhd-btns li.cart a:before {
  }

  .l-gNavBtn__icon,
  .l-gNavBtn__icon span,
  .l-gNavBtn__icon span:before,
  .l-gNavBtn__icon span:after {
    display:inline-block;
  }
    
  .l-gNavBtn__icon {
    position:relative;
    width:14px;
    height:11px;
    margin-top:4px;
    margin-bottom:3px;
    transition:all 0.3s ease-out;
  }
        
  .l-gNavBtn__icon span {
    position:absolute;
    left:0;
    width:100%;
    height:1px;
    transition:all 0.3s ease-out;
  }
  
  .l-gNavBtn__icon span,
  .l-gNavBtn.is-close .l-gNavBtn__icon span {
    background-color:#aa0500;
  }
    
  .l-gNavBtn__icon span:nth-of-type(1) {
    top:0;
  }
  .l-gNavBtn__icon span:nth-of-type(2) {
    top:5px;
  }
  .l-gNavBtn__icon span:nth-of-type(3) {
    bottom:0;
  }
  
  .l-gNavBtn.is-aniSet .l-gNavBtn__icon span:nth-of-type(1) {
    -webkit-animation:navBtn01 0.4s forwards;
    animation:navBtn01 0.4s forwards;
  }
    
  .l-gNavBtn.is-aniSet .l-gNavBtn__icon span:nth-of-type(2) {
    transition:opacity 0.2s 0.2s;
    opacity:1;
  } 
      
  .l-gNavBtn.is-aniSet .l-gNavBtn__icon span:nth-of-type(3) {
    -webkit-animation:navBtn02 0.4s forwards;
    animation:navBtn02 0.4s forwards;
  }
      
  .l-gNavBtn.is-close .l-gNavBtn__icon span:nth-of-type(1) {
    -webkit-animation:active-navBtn01 0.4s forwards;
    animation:active-navBtn01 0.4s forwards;
  }
   
  .l-gNavBtn.is-close .l-gNavBtn__icon span:nth-of-type(2) {
    opacity:0;
  }
      
  .l-gNavBtn.is-close .l-gNavBtn__icon span:nth-of-type(3) {
    -webkit-animation:active-navBtn03 0.4s forwards;
    animation:active-navBtn03 0.4s forwards;
  }
  
  html.is-sp-gNav-open .l-gNavBtn:not(.is-aniSet) .l-gNavBtn__icon span:nth-of-type(1) {
    transform:translateY(5px) rotate(45deg);
    animation:none;
  }
        
  html.is-sp-gNav-open .l-gNavBtn:not(.is-aniSet) .l-gNavBtn__icon span:nth-of-type(3) {
    transform:translateY(-5px) rotate(-45deg);
    animation:none;
  }
}

@keyframes navBtn01 {
  0% {
    transform:translateY(5px) rotate(45deg);
  }
  50% {
    transform:translateY(5px) rotate(0);
  }
  100% {
    transform:translateY(0) rotate(0);
  }
}
@keyframes navBtn02 {
  0% {
    transform:translateY(-5px) rotate(-45deg);
  }
  50% {
    transform:translateY(-5px) rotate(0);
  }
  100% {
    transform:translateY(0) rotate(0);
  }
}
@keyframes active-navBtn01 {
  0% {
    transform:translateY(0) rotate(0);
  }
  50% {
    transform:translateY(5px) rotate(0);
  }
  100% {
    transform:translateY(5px) rotate(45deg);
  }
}
@keyframes active-navBtn03 {
  0% {
    transform:translateY(0) rotate(0);
  }
  50% {
    transform:translateY(-5px) rotate(0);
  }
  100% {
    transform:translateY(-5px) rotate(-45deg);
  }
}


/*----------------------------------------------------------------------------------------------------

  Contents
  
----------------------------------------------------------------------------------------------------*/

.l-ctBlock {
  max-width:1300px;
  margin-left:auto;
  margin-right:auto;
}

@media print,screen and (min-width:641px) {
  .l-ctBlock {
    padding-left:60px;
    padding-right:60px;
  }
}

@media screen and (max-width:640px) {
  .l-ctBlock {
    padding-left:5%;
    padding-right:5%;
  }
}


/*--------------------------------------------------------------------------------
  page title
--------------------------------------------------------------------------------*/

.l-pgTtl {
  background-image:url(../image/pattern/samekomon.svg?t=04201411);
  background-repeat:repeat;
  background-position:center top;
  filter:blur(0);
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}

.l-pgTtl h2 {
  color:#fff;
  width:100%;
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
  line-height:1;
  font-family:"Noto Serif JP", serif;
  font-weight:600;
  text-align:left;
  -ms-flex-item-align:center;
  align-self:center;
}

.l-pgTtl .en {
  font-family:"Lora", serif;
  font-weight:400;
  color:#d7b94b;
  font-size:0.5em;
  letter-spacing:normal;
}

@media print,screen and (min-width:641px) {
  .l-pgTtl {
    background-size:auto 50px;
    height:200px;
    font-size:1.77em;
    padding-left:40px;
    padding-right:40px;
  }
}

@media screen and (max-width:640px) {
  .l-pgTtl {
    background-size:auto 40px;
    height:-webkit-calc(140 / 640 * 100vw);
    height:calc(140 / 640 * 100vw);
    min-height:110px;
    font-size:1.55em;
    padding-left:5%;
    padding-right:5%;
  }
}

@media screen and (max-width:560px) {
  .l-pgTtl {
    font-size:1.44em;
  }
}


/*--------------------------------------------------------------------------------
  headline
--------------------------------------------------------------------------------*/

.l-hdLine {
  line-height:1.2;
  font-weight:600;
  position:relative;
}

.l-hdLine:before {
  content:"";
  width:100%;
  height:1.25em;
  background:url(../image/hdLine-ic.svg) no-repeat center center;
  background-size:contain;
  display:block;
  margin-bottom:0.5em;
}

@media print,screen and (min-width:641px) {
  .l-hdLine {
    font-size:1.99em;
  }
}

@media screen and (max-width:640px) {
  .l-hdLine { font-size:1.77em; }
}

@media screen and (max-width:480px) {
  .l-hdLine { font-size:1.66em; }
}


/*----------------------------------------------------------------------------------------------------

  Footer
  
----------------------------------------------------------------------------------------------------*/

footer {
  position:relative;
}

.l-ft-wrap {
  background-color:#0a1428;
  color:#fff;
}

.l-ft {
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

@media print,screen and (min-width:641px) {
  .l-ft-wrap {
    padding:70px 30px;
  }
  
  .l-ft {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    text-align:left;
  }
}

@media screen and (max-width:640px) {
  .l-ft-wrap {
    padding:3.5em 0 2.5em 0;
  }
}


/*--------------------------------------------------------------------------------
  logo
--------------------------------------------------------------------------------*/

.l-ftLogo {
  display:inline-block;
  font-size:1.88em;
  font-weight:600;
  position:relative;
  line-height:1.2;
}

.l-ftLogo:before {
  content:"";
  width:100%;
  display:block;
  background:url(../image/logo_white.svg) no-repeat center center;
  background-size:contain;
  margin-bottom:0.5em;
}

.l-ftLogo__sname {
  font-weight:700;
  margin-left:0.75rem;
}

.l-ftLogo a,
.l-ftLogo a:visited,
.l-ftLogo a:hover,
.ua-pc .l-ftLogo a:hover,
.ua-pc .l-ftLogo:hover a { color:#fff; text-decoration:none; }

@media print,screen and (min-width:641px) {
  .l-ftLogo {
  	-ms-flex-item-align:end;
    align-self:flex-end;
  }
  
  .l-ftLogo:before {
    height:70px;
  }
}

@media screen and (max-width:640px) {
  .l-ftLogo {
    text-align:center;
  }
  
  .l-ftLogo:before {
    height:2em;
  }
}


/*--------------------------------------------------------------------------------
  nav
--------------------------------------------------------------------------------*/

.l-ftNavList {
  list-style:none;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap:wrap;
  flex-wrap:wrap;
}

.l-ftNav a { display:block; }
.l-ftNav a,
.l-ftNav a:visited,
.l-ftNav a:hover { color:inherit; text-decoration:none; }
.ua-pc .l-ftNav a:hover { color:#fff; opacity:0.6; }

.l-ftNav address {
  margin-bottom:0.5em;
}

@media print,screen and (min-width:641px) {
  .l-ftNav {
    padding-left:6%;
  }
  
  .l-ftNavList {
    padding-bottom:1em;
  }

  .l-ftNavList li:not(:first-child) {
    padding-left:2em;
  }
  
  .l-ftNavinfo {
    font-size:0.9em;
  }
}

@media screen and (max-width:640px) {
  .l-ftNavList {
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
    padding-top:2.5em;
    padding-bottom:2.5em;
  }
  
  .l-ftNavList li {
    width:50%;
    text-align:center;
    -ms-flex-item-align:center;
    align-self:center;
  }
  
  .l-ftNavList li:nth-child(n+3) {
    margin-top:1.5em;
  }
  
  .l-ftNavList li:nth-child(even) {
    border-left:1px solid rgba(255,255,255,0.15);
  }
  
  .l-ftNavList li a {
    display:block;
    line-height:1.4;
    padding:0 1.5em;
  }
  
  .l-ftNavinfo {
    text-align:left;
    padding-left:5%;
    padding-right:5%;
  }
}


/*--------------------------------------------------------------------------------
  copyright
--------------------------------------------------------------------------------*/

.l-ftCopy {
  opacity:0.4;
}

@media print,screen and (min-width:641px) {
  .l-ftCopy {
    margin-left:auto;
    text-align:right;
  	-ms-flex-item-align:end;
    align-self:flex-end;
  }
}

@media screen and (max-width:640px) {
  .l-ftCopy {
    text-align:left;
    padding:2.5em 5% 0 5%;
  }
}


/*--------------------------------------------------------------------------------
  back to top
--------------------------------------------------------------------------------*/

.l-backtoTop-lo {
  display:none;
  position:fixed;
  left:0;
  z-index:90;
  width:100%;
  pointer-events:none;
  text-align:right;
}

.l-backtoTop {
  display:inline-block;
  pointer-events:auto;
  cursor:pointer;
}

.l-backtoTop-lo.is-noFix {
  position:absolute;
  bottom:inherit !important;
  left:inherit !important;
}

.l-backtoTop__icon {
  height:100%;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;
}

.l-backtoTop__icon:after {
  content:"";
  display:inline-block;
  width:13px;
  height:13px;
  margin-top:7px;
  border-top:1px solid #0f1e3c;
  border-right:1px solid #0f1e3c;
  -webkit-transform:rotate(-45deg);
  transform:rotate(-45deg);
  transition:border 0.2s ease-out;
}

@media print,screen and (min-width:641px) {
  .l-backtoTop-lo {
    min-width:1000px;
    bottom:0;
  }
  
  .l-backtoTop-lo.is-noFix {
    top:-80px;
  }
  
  .l-backtoTop {
    width:60px;
    height:80px;
  }
}

@media screen and (max-width:640px) {
  .l-backtoTop-lo {
    display:none;
  }
}

