@charset "UTF-8";
html {
  background: fff;
  color: 333;
  overflow-y: scroll; }

body {
  font: 13px/1.22 arial,helvetica,clean,sans-serif;
  *font-size: small;
  *font: x-small;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px; }

table {
  font-size: inherit;
  font: 100%; }

a img, img {
  border: 0; }

figure, blockquote, dd, div, dl, dt,
h1, h2, h3, h4, h5, h6,
li, ol, p, pre, span, td, th, ul {
  margin: 0;
  padding: 0; }

abbr, acronym {
  border: 0; }

address, caption, cite, code, dfn, em, th, strong, var {
  font-style: normal;
  font-weight: normal; }

caption, th {
  text-align: left; }

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 100%; }

* + html code, kbd, pre, samp, tt {
  font-size: 108%; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol, ul {
  list-style: none; }

q:before, q:after {
  content: ''; }

button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%; }

hr {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  background-color: #FFF;
  color: #FFF; }

input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px; }

body {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  color: #1a0000;
  line-height: 180%;
  letter-spacing: 1px;
  width: 100%;
  height: 100%;
  text-align: left;
  margin: 0;
  padding: 0px;
  font-size: 15px;
  background-color: #FFFFFF; }
  @media (min-width: 768px) and (max-width: 1080px) {
    body {
      font-size: 14px; } }
  @media (max-width: 767px) {
    body {
      font-size: 14px; } }

form {
  margin: 0;
  padding: 0px; }

li {
  line-height: 180%; }

h1 {
  margin: 0;
  padding: 0px;
  font-size: 13px;
  font-weight: normal; }
  @media (min-width: 768px) and (max-width: 1080px) {
    h1 {
      font-size: 12px; } }
  @media (max-width: 767px) {
    h1 {
      font-size: 12px; } }

strong {
  font-weight: bolder; }

img {
  border: none; }

a:link {
  color: #1a0000; }

a:visited {
  color: #1a0000; }

a:hover {
  color: #1a0000; }

a:active {
  color: #1a0000; }

a {
  line-height: 180%;
  text-decoration: none; }

p {
  margin: 0;
  padding: 0px; }

img {
  max-width: 100%;
  height: auto; }

@media (max-width: 359px) {
  p, h3 {
    letter-spacing: 0.5px !important; }

  .pagetop a {
    width: 45% !important; } }
#mv-wrap {
  background-color: #eee; }

header {
  width: 980px;
  margin: 0 auto;
  padding: 10px 18px 5px 18px;
  background-color: #fff;
  z-index: 100;
  border-radius: 0 0 12px 12px;
  box-sizing: border-box;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }
  @media (min-width: 768px) and (max-width: 1080px) {
    header {
      height: auto;
      width: 100%;
      height: 49px;
      display: block;
      border-radius: 0;
      text-align: center; } }
  @media (max-width: 767px) {
    header {
      padding: 8px 10px 5px 10px;
      border-radius: 0;
      width: 100%;
      height: 49px;
      display: block;
      box-sizing: border-box; } }

header h1 {
  width: 285px;
  margin: 10px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    header h1 {
      width: 190px;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    header h1 {
      width: 53%;
      max-width: 220px;
      margin: 0;
      padding: 0; } }

header h1 img {
  width: 100%;
  vertical-align: bottom;
  height: auto; }

#pc-header {
  width: 440px;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }

#pc-header ul {
  width: 100%;
  font-size: 13px;
  color: #847F80;
  text-align: right;
  padding: 0 0 10px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #pc-header ul {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #pc-header ul {
      font-size: 12px; } }

#pc-header ul li {
  display: inline-block;
  padding: 0 15px;
  line-height: 1.2; }

#pc-header ul li:first-child {
  border-right: 1px solid #999; }
#pc-header ul li:last-child {
  border-left: 1px solid #999; }  

#pc-header ul li a {
  line-height: 1.2;
  color: #847F80; }

#pc-header .btn {
  width: 45%;
  font-size: 13px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #pc-header .btn {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #pc-header .btn {
      font-size: 12px; } }

#pc-header .btn a {
  border-radius: 50px;
  line-height: 1.2;
  text-align: left;
  padding: 7px 0;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: left;
  /*--- safari（PC）用 ---*/
  justify-content: left; }

#pc-header .btn i {
  display: inline-block;
  font-size: 20px;
  padding: 5px 5px 0 15px; }

#pc-header .search {
  width: 53%;
  background-color: #EFEFEF;
  border-radius: 30px;
  padding: 5px 15px;
  box-sizing: border-box;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }

#pc-header .search input {
  outline: 0;
  border: 0px;
  background: transparent;
  border: none;
  width: 180px;
  color: #999; }

#pc-header .search button {
  background: inherit;
  border: none;
  padding: 0px; }

header nav {
  width: 100%;
  padding: 15px 0 10px 0;
  position: relative; }

header nav ul {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (min-width: 768px) and (max-width: 1080px) {
    header nav ul {
      display: none; } }
  @media (max-width: 767px) {
    header nav ul {
      display: none; } }

header nav ul li {
  flex-grow: 1;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  box-sizing: border-box;
  border-left: 1px solid #ccc;
  padding: 0
  text-align: center;
  position: relative; }

header nav ul li a{
      width: 100%;
    display: inline-block;
    padding: 5px 0;
    text-align: center;
}
header nav ul li.ar:after {
  content: '\f078';
  color: #eeeeee;
  font-family: "Font Awesome 5 Free";
  position: absolute;
  bottom: -15px;
  margin: 0 auto;
  left: 50%;
  right: 50%;
  left: 0;
  width: 100%;
  text-align: center; }

header nav ul.child {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  position: absolute;
    background: rgb(255, 255, 255);
    padding: 1rem;
    width: 980px;
    left: -18px;
    box-sizing: border-box;
    display: none;
    z-index: 2;
    top: 65px;
    border-radius: 0px 0px 10px 10px;


}
  @media (min-width: 768px) and (max-width: 1080px) {
    header nav ul.child {
      display: none; } }
  @media (max-width: 767px) {
    header nav ul.child {
      display: none; } }

header nav ul.child li {
  display: block;
  background-color: #f7f4e7;
  flex-grow: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  box-sizing: border-box;
  border: none !important;
  padding: 10px 0 10px 0;
  text-align: center;
  border-radius: 5px; }

header nav ul#childA li {
  width: 48%; }

header nav ul#childB li {
  width: 25%;
  margin: 0 .5rem; }

header nav ul li:first-child {
  border: none; }

header ul li span {
  line-height: 1;
  font-size: 11px;
  display: block; }

header .info {
  margin: 0 auto 10px 25px;
  font-size: 12px;
  letter-spacing: 0.5;
  line-height: 1.4; }

header .info strong {
  font-weight: normal;
  display: block;
  padding: 0 0 15px 0; }

header .info strong {
  font-weight: normal;
  display: block;
  padding: 0 0 15px 0; }

header .tel {
  margin: 0 auto 25px 25px;
  font-weight: bolder;
  font-family: 'Abel', sans-serif;
  font-size: 24px;
  letter-spacing: 0.5; }

header .tel i {
  font-family: "Font Awesome 5 Free";
  font-size: 21px;
  color: #a21928;
  padding: 0px 0px 0 5px; }

header .mail {
  width: 225px;
  margin: 0 auto 10px auto;
  font-size: 13px; }

header .mail a {
  padding: 4px 0; }

.btn.mail i {
  padding: 0 5px 0px 0; }

.contents {
  margin: 0 auto;
  overflow: hidden; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .contents {
      width: 100%;
      padding: 0; } }
  @media (max-width: 767px) {
    .contents {
      width: 100%;
      padding: 0; } }

#main {
  float: left;
  width: 700px;
  text-align: left; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #main {
      float: none;
      width: 100%; } }
  @media (max-width: 767px) {
    #main {
      float: none;
      width: 100%; } }

#side {
  float: right;
  text-align: left;
  width: 205px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #side {
      float: none;
      width: 100%; } }
  @media (max-width: 767px) {
    #side {
      float: none;
      width: 100%; } }

#childA, #childB {
  display: none; }

header {
  z-index: 2; }
  @media (min-width: 768px) and (max-width: 1080px) {
    header {
      position: fixed; } }
  @media (max-width: 767px) {
    header {
      position: fixed; } }

#rwdMenuWrap .search {
  padding: 25px 15px;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }

#rwdMenuWrap .search strong {
  width: 100%; }

#rwdMenuWrap .search input {
  border-radius: 5px;
  border: 1px solid #ccc;
  padding: 3px;
  width: 65%;
  box-sizing: border-box; }

#rwdMenuWrap .search button {
  border-radius: 5px;
  border: 1px solid #ccc;
  background-color: #ccc;
  width: 30%;
  padding: 3px;
  box-sizing: border-box; }

#rwdMenuWrap .banner {
  padding: 10px 15px;
  margin: 0 auto; }

#rwdMenuWrap .banner img {
  max-width: 100%;
  height: auto; }

#rwdMenuWrap li {
  opacity: 0;
  -webkit-transform: translateX(5%);
  -ms-transform: translateX(5%);
  transform: translateX(5%);
  list-style: none;
  font-weight: bolder; }

#rwdMenuWrap ul {
  margin: 0; }

#rwdMenuWrap li a {
  line-height: 1.2; }

#rwdMenuWrap li span {
  display: block;
  font-size: 13px;
  line-height: 1.2; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #rwdMenuWrap li span {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #rwdMenuWrap li span {
      font-size: 12px; } }

#rwdMenuWrap li:after {
  content: '\f054';
  font-family: "Font Awesome 5 Free";
  position: absolute;
  right: 15px;
  top: 10px;
  color: #eee;
  font-size: 13px; }

#rwdMenuWrap li.plus:after {
  content: '+';
  position: absolute;
  right: 15px;
  top: 10px;
  color: #aaa;
  font-size: 20px; }

#rwdMenuWrap ul.child li:after {
  content: '\f054';
  font-family: "Font Awesome 5 Free";
  position: absolute;
  right: 5px;
  color: #fff;
  font-size: 11px;
  line-height: 1.5;
  height: 15px;
  box-sizing: border-box;
  vertical-align: middle;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.fade-nx:nth-child(1) {
  -webkit-animation: fade 1s ease 0.1s 1 forwards;
  animation: fade 1s ease 0.1s 1 forwards; }

.fade-nx:nth-child(2) {
  -webkit-animation: fade 1s ease 0.2s 1 forwards;
  animation: fade 1s ease 0.2s 1 forwards; }

.fade-nx:nth-child(3) {
  -webkit-animation: fade 1s ease 0.3s 1 forwards;
  animation: fade 1s ease 0.3s 1 forwards; }

.fade-nx:nth-child(4) {
  -webkit-animation: fade 1s ease 0.4s 1 forwards;
  animation: fade 1s ease 0.4s 1 forwards; }

.fade-nx:nth-child(5) {
  -webkit-animation: fade 1s ease 0.5s 1 forwards;
  animation: fade 1s ease 0.5s 1 forwards; }

@-webkit-keyframes fade {
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }
@keyframes fade {
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0); } }
/* ------------------------------
   MEDIAQUERIES LAYOUT
------------------------------ */
@media only screen and (max-width: 800px) {
  #mobile-header ul {
    width: 100%; }

  #mobile-header ul li {
    width: 20%; } }
/* ------------------------------
   MEDIAQUERIES[SP]LAYOUT
------------------------------ */
#mobile-header {
  display: none; }

@media only screen and (max-width: 1080px) {
  #mobile-header {
    display: none; }

  #menuOverlay {
    top: 0px;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    display: none;
    position: fixed;
    z-index: 9997; }

  #switchBtnArea {
    width: 100%;
    background: #000;
    border-bottom: #aaa 1px solid;
    position: relative;
    position: fixed;
    z-index: 999999;
    font-family: "Montserrat","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","Meiryo","メイリオ","ＭＳ Ｐゴシック",sans-serif; }

  #switchBtnArea #switchBtn {
    top: 0px;
    right: 0px;
    width: 120px;
    height: 49px;
    border-radius: 0px 0px 0px 49px;
    box-shadow: -20px 0px #7e1521;
    display: block;
    position: absolute;
    background-color: #a21928;}

  #switchBtnArea #switchBtn span {
    right: 33px;
    width: 25px;
    height: 2px;
    display: block;
    position: absolute;
    background-color: #fff;
    border-radius: 5px;
    transition: all 0.2s linear;}

  #switchBtnArea #switchBtn span:nth-of-type(1) {
    top: 10px;
    transform: rotate(0); }

  #switchBtnArea #switchBtn span:nth-of-type(2) {
    top: 17px;
    transform: scale(1); }

  #switchBtnArea #switchBtn span:nth-of-type(3) {
    top: 24px;
    transform: rotate(0); }

  #switchBtnArea #switchBtn.btnClose {
    background: #a21928; }

  #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
    background-color: #fff;
    top: 18px;
    transform: rotate(-45deg); }

  #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
    background-color: #fff;
    transform: scale(0); }

  #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
    background-color: #fff;
    top: 18px;
    transform: rotate(45deg); }

  #switchBtnArea #switchBtn::after {
    position: absolute;
    right: 38px;
    bottom: 0px;
    content: 'MENU';
    display: block;
    width: 25px;
    color: #fff;
    font-size: 10px;
    text-decoration: none;
    text-align: center;
    transition: all .4s; }

  #switchBtnArea #switchBtn.btnClose::after {
    content: 'CLOSE';
    right: 40px;
    bottom: 0px;
    color: #fff; }

  #rwdMenuWrap {
    padding: 49px 0 0 0;
    top: 0px;
    right: -100%;
    width: 70%;
    height: 100%;
    background: white;
    overflow: auto;
    position: fixed;
    z-index: 9998; } }
  @media only screen and (max-width: 1080px) and (min-width: 768px) and (max-width: 1080px) {
    #rwdMenuWrap {
      width: 45%; } }

@media only screen and (max-width: 1080px) {
  #rwdMenuWrap ul {
    width: 100%; }

  #rwdMenuWrap ul li {
    width: 100%;
    font-size: 17px;
    border-top: 1px solid #eee;
    margin: 0 auto;
    text-align: left;
    box-sizing: border-box; } }
  @media only screen and (max-width: 1080px) and (min-width: 768px) and (max-width: 1080px) {
    #rwdMenuWrap ul li {
      font-size: 16px; } }
  @media only screen and (max-width: 1080px) and (max-width: 767px) {
    #rwdMenuWrap ul li {
      font-size: 16px; } }

@media only screen and (max-width: 1080px) {
  #rwdMenuWrap ul li a {
    padding: 15px; }

  #rwdMenuWrap ul li.logo {
    width: 60%; }

  #rwdMenuWrap ul li.logo img {
    max-width: 100%;
    height: auto; }

  #rwdMenuWrap ul li:last-child {
    border-bottom: 1px solid #eee; }

  #rwdMenuWrap ul li a.line small {
    display: none; }

  #rwdMenuWrap ul .ch1 {
    padding: 10px 0 0 0; }

  #rwdMenuWrap ul.child li {
    padding: 0px 0;
    border: none;
    background-color: #847F80;
    margin: 10px 15px;
    border-radius: 5px;
    box-sizing: border-box;
    width: auto; }

  #rwdMenuWrap ul.child li a {
    color: #fff;
    padding: 10px;
    text-align: left;
    display: block;
    box-sizing: border-box;
    transition: all 0.4s cubic-bezier(0.06, 0.03, 0.24, 1.02) 0s; }

  #rwdMenuWrap ul.child small {
    font-size: 13px;
    letter-spacing: 0; } }
  @media only screen and (max-width: 1080px) and (min-width: 768px) and (max-width: 1080px) {
    #rwdMenuWrap ul.child small {
      font-size: 12px; } }
  @media only screen and (max-width: 1080px) and (max-width: 767px) {
    #rwdMenuWrap ul.child small {
      font-size: 12px; } }

@media only screen and (max-width: 1080px) {
  #rwdMenuWrap ul#social-links {
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    flex-wrap: wrap;
    padding: 5px;
    width: 90%;
    margin: 0 auto; }

  #rwdMenuWrap ul#social-links li {
    width: 18%;
    border: none; }

  #rwdMenuWrap nav .btn1 {
    margin: 10px 0 15px 0; }

  #rwdMenuWrap nav .btn a {
    width: 200px;
    display: block;
    margin: 0 auto;
    border: 1px solid #888;
    padding: 5px;
    color: #000;
    text-align: center;
    font-size: 12px;
    line-height: 2; }

  #rwdMenuWrap #telnum {
    display: none; }

  #rwdMenuWrap #mobile-tel {
    font-size: 12px;
    width: 80%;
    margin: 0 auto;
    padding: 15px 0 10px 0;
    letter-spacing: 1px;
    line-height: 1.8;
    display: block; }

  #rwdMenuWrap #mobile-tel h5 {
    font-weight: bolder;
    line-height: 1.8; }

  #rwdMenuWrap #mobile-tel a {
    text-decoration: underline; }

  #rwdMenuWrap #mobile-tel .tel-link a {
    border-bottom: none; }

  #contents {
    width: 100%; }

  #rwdMenuWrap .fix {
    position: static; }

  #mobile-tel {
    display: block; } }
/* ------------------------------
   CLEARFIX ELEMENTS
------------------------------ */
#mobile-header > ul:before,
#mobile-header > ul:after {
  content: " ";
  display: table; }

#mobile-header > ul:after {
  clear: both; }

#mobile-header > ul {
  *zoom: 1; }

#rwdMenuWrap ul li a {
  display: block;
  width: 100%;
  font-family: "Montserrat","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","Meiryo","メイリオ","ＭＳ Ｐゴシック",sansserif; }

.pagetop {
  width: 945px;
  margin: 0 auto;
  padding: 50px 0 0 0;
  text-align: right; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .pagetop {
      width: 100%; } }
  @media (max-width: 767px) {
    .pagetop {
      width: 100%; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    .pagetop {
      width: 97%;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    .pagetop {
      width: 97%;
      margin: 0 auto; } }

.pagetop a {
  font-size: 13px;
  letter-spacing: 2px;
  line-height: 1;
  text-align: center;
  width: auto;
  display: inline-block;
  position: relative;
  vertical-align: bottom;
  width: 160px;
  box-sizing: border-box; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .pagetop a {
      font-size: 12px; } }
  @media (max-width: 767px) {
    .pagetop a {
      font-size: 12px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    .pagetop a {
      width: 140px;
      margin: 0 0 0 auto;
      display: block; } }
  @media (max-width: 767px) {
    .pagetop a {
      width: 35%;
      margin: 0 0 0 auto;
      display: block; } }

.pagetop span {
  width: 100%;
  display: block;
  color: #fff;
  background-color: #a21928;
  border-radius: 10px 10px 0 0;
  padding: 15px 15px 10px 15px;
  height: 40px;
  box-sizing: border-box;
  font-weight: bolder;
  font-family: "Montserrat", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  position: absolute;
  bottom: 0;
  transition: all 0.1s linear; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .pagetop span {
      font-size: 9px;
      height: 38px; } }
  @media (max-width: 767px) {
    .pagetop span {
      font-size: 8px;
      height: 35px; } }

.pagetop i {
  color: #dc8691;
  padding: 0 0 0 5px; }

.pagetop a {
  color: #fff; }

.pagetop a:hover span {
  height: 45px; }

footer {
  letter-spacing: 0;
  width: 100%;
  border-top: 5px solid #a21928;
  font-size: 13px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    footer {
      font-size: 12px; } }
  @media (max-width: 767px) {
    footer {
      font-size: 12px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    footer {
      display: block;
      background-color: #fff;
      padding: 0px 0 0 0; } }
  @media (max-width: 767px) {
    footer {
      display: block;
      background-color: #fff;
      padding: 0px 0 0 0; } }

footer #footer-box {
  width: 945px;
  margin: 0 auto;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: nowrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: nowrap;
  flex-direction: row-reverse;
  padding: 30px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    footer #footer-box {
      width: 100%; } }
  @media (max-width: 767px) {
    footer #footer-box {
      width: 100%; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    footer #footer-box {
      display: block;
      padding: 0; } }
  @media (max-width: 767px) {
    footer #footer-box {
      display: block;
      padding: 0; } }

footer .info {
  width: 37%;
  letter-spacing: 0px;
  color: #666; }
  @media (min-width: 768px) and (max-width: 1080px) {
    footer .info {
      padding: 25px 0;
      width: 100%;
      width: 92%;
      margin: 0 auto;
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: space-between;
      /*--- safari（PC）用 ---*/
      justify-content: space-between; } }
  @media (max-width: 767px) {
    footer .info {
      text-align: center;
      padding: 30px 0;
      width: 92%;
      margin: 0 auto; } }

footer .info .logo {
  width: 240px;
  padding: 0 0 5px 0; }
  @media (max-width: 767px) {
    footer .info .logo {
      margin: 0 auto; } }

footer .info img {
  max-width: 100%;
  height: auto; }

footer nav {
  width: 70%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    footer nav {
      width: 100%; } }
  @media (max-width: 767px) {
    footer nav {
      width: 100%; } }

footer nav ul {
  text-align: right;
  padding: 10px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    footer nav ul {
      border-bottom: 1px solid #eee;
      padding: 15px 0;
      text-align: center; } }
  @media (max-width: 767px) {
    footer nav ul {
      padding: 0;
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: space-between;
      /*--- safari（PC）用 ---*/
      justify-content: space-between;
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/
      flex-wrap: wrap; } }

footer nav ul li {
  display: inline-block;
  border-left: 1px solid #666;
  padding: 0 15px;
  line-height: 1; }
  @media (max-width: 767px) {
    footer nav ul li {
      border: 0;
      border-bottom: 1px solid #eee;
      width: 50%;
      box-sizing: border-box;
      text-align: center;
      padding: 0; } }

footer nav ul li a {
  line-height: 1; }
  @media (max-width: 767px) {
    footer nav ul li a {
      padding: 20px 0;
      display: block; } }

footer nav ul li:last-child {
  border-right: 1px solid #666; }
  @media (max-width: 767px) {
    footer nav ul li:last-child {
      border-right: none; } }

@media (max-width: 767px) {
  footer nav ul li:nth-child(odd) {
    border-right: 1px solid #eee; } }

footer small {
  background-color: #ece9e1;
  text-align: center;
  padding: 15px 0;
  display: block;
  width: 100%; }

footer .sns li{
  width: 100px;
  border:none;
  padding: 0 .5rem;
}
footer nav .sns ul {
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
    display:flex;
    -webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack:justify;/*--- IE10 ---*/
    -webkit-justify-content:left;/*--- safari（PC）用 ---*/
    justify-content:flex-end;
    align-items: center;

}
footer nav .sns ul li:first-of-type{
  width: auto;
  font-weight: normal;
}
footer nav .sns ul li:last-child{
  border:none;
}
@media (max-width: 767px) {
  footer nav .sns ul li:first-of-type{
  width: 100%;
  padding:1rem 0 0 0;
}
footer nav .sns{
  border-bottom: 1px solid #eee;
}
footer nav .sns ul {
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
    display:flex;
    -webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack:justify;/*--- IE10 ---*/
    -webkit-justify-content:center;/*--- safari（PC）用 ---*/
    justify-content:center;
}

  footer .sns li{
  width: 30%;
  border:none;
}
  footer nav .sns ul li:nth-child(odd) {
    border:none;
  } 
}
.inner {
  width: 945px;
  margin: 0 auto; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .inner {
      width: 92%; } }
  @media (max-width: 767px) {
    .inner {
      width: 92%; } }


#pt-wrap {
  position: relative;
  height: 380px;
  background: #f7f4e7 url(../images/common/bg.jpg) repeat; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #pt-wrap {
      height: 200px; } }
  @media (max-width: 767px) {
    #pt-wrap {
      height: 150px; } }

#pagetitle {
  z-index: 0;
  text-align: center;
  font-weight: bolder;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin: 80px 0 0 0;
  font-size: 30px;
  letter-spacing: 3px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #pagetitle {
      letter-spacing: 1px;
      padding: 60px 0 0 0;
      width: 90%;
      font-size: 24px;
      margin: 0 auto;
      text-align: center; } }
  @media (max-width: 767px) {
    #pagetitle {
      letter-spacing: 1px;
      line-height: 1;
      padding: 55px 0 0 0;
      width: 90%;
      font-size: 20px;
      margin: 0 auto;
      text-align: center; } }

#pagetitle h2 {
  font-weight: bolder; }

#pagetitle span {
  font-size: 15px;
  color: #a21928; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #pagetitle span {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #pagetitle span {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #pagetitle span {
      letter-spacing: 1px;
      font-size: 11px; } }

@media (max-width: 359px) {
  #pagetitle {
    font-size: 19px; } }
#main-area {
  padding: 50px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #main-area {
      padding: 80px 0 0 0; } }
  @media (max-width: 767px) {
    #main-area {
      padding: 80px 0 0 0; } }

.ttl {
  font-family: "Noto Sans Japanese", "Shin Go Regular", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bolder;
  font-size: 24px;
  line-height: 1.8;
  padding: 0 0 5px 0;
  text-align: center;
  letter-spacing: 2px;
  border-bottom: 6px solid #a21928;
  display: inline-block; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .ttl {
      font-size: 23px; } }
  @media (max-width: 767px) {
    .ttl {
      font-size: 18px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    .ttl {
      padding: 0 0 5px 0; } }
  @media (max-width: 767px) {
    .ttl {
      padding: 0 0 5px 0; } }

.tit span {
  color: #1a0000;
  display: block;
  font-size: 12px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .tit span {
      font-size: 11px; } }
  @media (max-width: 767px) {
    .tit span {
      font-size: 11px; } }

.border {
  border-bottom: 3px solid #000;
  display: inline-block;
  padding: 0 0 10px 0; }

.btn a {
  display: inline-block;
  width: 100%;
  background-color: #a21928;
  color: #fff;
  border-radius: 50px;
  text-align: center;
  padding: 8px 25px; }

.btn a.ar:after {
  content: "\f105";
  color: #dc8691;
  padding: 0 0 0 8px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

.btn a.ar2 {
  position: relative; }

.btn a.ar2:after {
  content: "\f105";
  color: #dc8691;
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

.btn2 a {
  display: inline-block;
  width: 100%;
  border: 2px solid #a21928;
  color: #a21928;
  border-radius: 50px;
  text-align: center;
  padding: 8px 25px; }

.btn2 a.ar:after {
  content: "\f105";
  color: #a21928;
  padding: 0 0 0 8px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

.btn2 a.ar2 {
  position: relative; }

.btn2 a.ar2:after {
  content: "\f105";
  color: #a21928;
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

.btn2 a.ar3 {
  position: relative; }

.btn2 a.ar3:after {
  content: "\f106";
  color: #a21928;
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

.btn3 a:after {
  font-family: "Font Awesome 5 Free";
  content: "\f054";
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  font-size: 11px;
  padding: 0 0 0 20px; }

.link a {
  color: #a21928;
  text-decoration: underline; }

.link.right {
  width: 100%;
  text-align: right; }

.link:after {
  content: "\f105";
  color: #a21928;
  padding: 0 0 0 8px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder;
  text-decoration: none; }

.link2 a {
  color: #a21928;
  text-decoration: underline; }

.link2.right {
  width: 100%;
  text-align: right; }

.link2:before {
  content: "\f105";
  color: #a21928;
  padding: 0 8px 0 0px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder;
  text-decoration: none; }

@media (min-width: 768px) and (max-width: 1080px) {
  .only-pc {
    display: none; } }
@media (max-width: 767px) {
  .only-pc {
    display: none; } }

.only-tabsp {
  display: none; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .only-tabsp {
      display: block; } }
  @media (max-width: 767px) {
    .only-tabsp {
      display: block; } }

.only-tab {
  display: none; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .only-tab {
      display: block; } }
  @media (max-width: 767px) {
    .only-tab {
      display: none; } }

@media (max-width: 767px) {
  .only-pctab {
    display: none; } }

.only-sp {
  display: none; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .only-sp {
      display: none; } }
  @media (max-width: 767px) {
    .only-sp {
      display: block; } }

.only-pcsp {
  display: block; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .only-pcsp {
      display: none; } }
  @media (max-width: 767px) {
    .only-pcsp {
      display: block; } }

.only-pcsp_i {
  display: inline; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .only-pcsp_i {
      display: none; } }
  @media (max-width: 767px) {
    .only-pcsp_i {
      display: inline; } }

.blocklink {
  cursor: pointer;
  transition: opacity 0.3s ease-out;
  opacity: 1; }

.blocklink:hover {
  opacity: 0.6; }

.pages {
  padding: 180px 0 0 0 !important;
  text-align: center !important; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .pages {
      padding: 130px 0 0 0 !important; } }
  @media (max-width: 767px) {
    .pages {
      padding: 130px 0 0 0 !important; } }

.fadein {
  opacity: 0;
  transform: translate(0, 10px);
  -webkit-transform: translate(0, 10px);
  transition: 1s; }

.fadein2 {
  opacity: 0;
  transition: 1s; }

.fadeinAnm {
  opacity: 1.0;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
  transition: 1s; }

.fadein2Anm {
  opacity: 1.0;
  transition: 0.5s; }

/************************************
** レスポンシブページネーション
************************************/
.pagination {
  list-style-type: none;
  padding-left: 0;
  margin: 30px 0; }

.pagination,
.pagination li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

.pagination a {
  font-weight: 300;
  padding-top: 1px;
  text-decoration: none;
  border: 1px solid #ddd;
  border-left-width: 0;
  min-width: 36px;
  min-height: 36px;
  color: #333; }

.pagination li:not([class*="current"]) a:hover {
  background-color: #eee; }

.pagination li:first-of-type a {
  border-left-width: 1px; }

.pagination li.first span,
.pagination li.last span,
.pagination li.previous span,
.pagination li.next span {
  /* screen readers only */
  position: absolute;
  top: -9999px;
  left: -9999px; }

.pagination li.first a::before,
.pagination li.last a::after,
.pagination li.previous a::before,
.pagination li.next a::after {
  display: inline-block;
  font-family: "Font Awesome 5 Free";
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
  font-weight: bold; }

.pagination li.first a::before {
  content: "\f100"; }

.pagination li.last a::after {
  content: "\f101"; }

.pagination li.previous a::before {
  content: "\f104"; }

.pagination li.next a::after {
  content: "\f105"; }

.pagination li.current a {
  background-color: #ddd;
  cursor: default;
  pointer-events: none; }

.pagination > li:first-child > a {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px; }

.pagination > li:last-child > a {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px; }

@media only screen and (max-width: 680px) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px; }

  .pagination li.previous a {
    border-left-width: 1px; } }
@media only screen and (max-width: 500px) {
  .pagination li {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px; }

  .pagination li.current,
  .pagination li.first,
  .pagination li.last,
  .pagination li.previous,
  .pagination li.next {
    position: initial;
    top: initial;
    left: initial; }

  .pagination li.previous a {
    border-left-width: 0; } }
@media only screen and (max-width: 400px) {
  .pagination li.first,
  .pagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px; }

  .pagination li.previous a {
    border-left-width: 1px; } }
@media only screen and (max-width: 240px) {
  /* For watches? */
  .pagination li {
    width: 50%; }

  .pagination li.current {
    order: 2;
    width: 100%;
    border-left-width: 1px; } }
#mv-wrap {
  position: relative;
  background-image: url(../images/top/mv.jpg);
  background-color: #eeeeee;
  background-position: center center;
  background-size: cover; }
  @media (max-width: 767px) {
    #mv-wrap {
      background-image: url(../images/top/mv-sp.jpg); } }

#mv {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  padding: 25px 0 0 0;
  font-size: 30px;
  color: #fff; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #mv {
      width: 90%;
      font-size: 30px;
      margin: 0 auto;
      text-align: center; } }
  @media (max-width: 767px) {
    #mv {
      width: 90%;
      font-size: 23px;
      margin: 0 auto;
      text-align: center; } }

@media (max-width: 359px) {
  #mv {
    font-size: 19px; } }
#top-concept {
  width: 100%;
  background-image: url(../images/top/top-concept-bg1.png), url(../images/top/top-concept-bg2.png);
  background-position: left top, right bottom;
  background-repeat: no-repeat, no-repeat;
  padding: 120px 0;
  text-align: center; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-concept {
      background-position: left -35px, 110% bottom;
      background-size: 35%,50%;
      padding: 80px 0; } }
  @media (max-width: 767px) {
    #top-concept {
      background-position: -5px -15px, 110% bottom;
      background-size: 35%,50%;
      padding: 120px 0 80px 0; } }

#top-concept h3 {
  font-size: 22px;
  padding: 0 0 60px 0;
  line-height: 1.8;
  font-family: "Noto Sans Japanese", "Shin Go Regular", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-concept h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #top-concept h3 {
      font-size: 19px; } }
  @media (max-width: 767px) {
    #top-concept h3 {
      font-size: 17px;
      padding: 0 0 40px 0; } }

@media (max-width: 359px) {
  #top-concept h3 {
    font-size: 15px; } }
#top-concept p {
  padding: 0 0 20px 0; }
  @media (max-width: 767px) {
    #top-concept p {
      text-align: left; } }

#top-concept .btn {
  padding: 40px 0 20px 0;
  width: 945px;
  margin: 0 auto;
  text-align: center; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-concept .btn {
      width: 92%; } }
  @media (max-width: 767px) {
    #top-concept .btn {
      width: 92%; } }

#top-concept .btn a {
  width: auto; }

#top-lineup {
  background: #f7f4e7 url(../images/common/bg.jpg) repeat;
  text-align: center;
  padding: 60px 0; }

#top-lineup .tabContainer {
  width: 945px;
  margin: 0 auto;
  padding: 60px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-lineup .tabContainer {
      width: 92%; } }
  @media (max-width: 767px) {
    #top-lineup .tabContainer {
      width: 92%; } }

#top-lineup .tab {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }

#top-lineup .tab__button {
  background-color: #847F80;
  border-radius: 8px 8px 0 0;
  color: #fff;
  width: 49%;
  text-align: center;
  padding: 10px 0;
  font-size: 20px;
  font-family: "Noto Sans Japanese", "Shin Go Regular", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-lineup .tab__button {
      font-size: 18px; } }
  @media (max-width: 767px) {
    #top-lineup .tab__button {
      font-size: 14px; } }

@media (max-width: 767px) {
  #top-lineup .tab__button:nth-child(2) {
    padding: 15px 0 0 0; } }

@media (max-width: 359px) {
  #top-lineup .tab__button:nth-child(2) {
    padding: 25px 0 0 0; } }
#top-lineup .tab__button.active {
  background-color: #a21928; }

#top-lineup .tab__button a {
  color: #fff; }

#top-lineup .tab small {
  padding: 0 0 0 5px; }
  @media (max-width: 767px) {
    #top-lineup .tab small {
      padding: 0;
      display: block;
      line-height: 1.2;
      letter-spacing: 0; } }

#top-lineup .lineup-box {
  background-color: #fff;
  border-radius: 0 0 5px 5px;
  padding: 25px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-lineup .lineup-box {
      padding: 25px 0 0 0; } }
  @media (max-width: 767px) {
    #top-lineup .lineup-box {
      padding: 0 0 0 0; } }

#top-lineup .inner {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  box-sizing: border-box;
  padding: 15px 30px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-lineup .inner {
      padding: 15px 0px; } }
  @media (max-width: 767px) {
    #top-lineup .inner {
      padding: 15px 0px; } }

#top-lineup .lineup-box dl {
  width: 21%; }
  @media (max-width: 767px) {
    #top-lineup .lineup-box dl {
      width: 45%;
      padding: 15px 1%; } }

#top-lineup .lineup-box dt img {
  max-width: 100%;
  height: auto; }

#top-lineup .lineup-box dd {
  line-height: 1.2;
  padding: 10px 0 0 0; }
  @media (max-width: 767px) {
    #top-lineup .lineup-box dd {
      padding: 3px 0 0 0; } }

#top-lineup .link {
  padding: 40px 0 20px 0; }
  @media (max-width: 767px) {
    #top-lineup .link {
      padding: 30px 0 10px 0; } }

#top-lineup small {
  font-size: 85%;
  letter-spacing: 0; }

#top-news h3 {
  margin: 0 0 60px 0; }
  @media (max-width: 767px) {
    #top-news h3 {
      margin: 0 0 30px 0; } }

#top-news {
  width: 945px;
  margin: 0 auto;
  text-align: center;
  padding: 60px 0 40px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-news {
      width: 92%; } }
  @media (max-width: 767px) {
    #top-news {
      width: 92%; } }
  @media (max-width: 767px) {
    #top-news {
      padding: 60px 0 10px 0; } }

#top-news dl {
  width: 100%;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  border-bottom: 1px dashed #ccc;
  padding: 20px 0; }
  @media (max-width: 767px) {
    #top-news dl {
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: left;
      /*--- safari（PC）用 ---*/
      justify-content: left; } }

#top-news dt {
  text-align: left;
  font-size: 13px;
  width: 10%;
  color: #999; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-news dt {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #top-news dt {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #top-news dt {
      width: 90px; } }

#top-news dd {
  text-align: left; }

#top-news dd.icon {
  font-size: 13px;
  width: 10%;
  padding: 5px 0 0 0;
  line-height: 1.5; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-news dd.icon {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #top-news dd.icon {
      font-size: 12px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-news dd.icon {
      width: 15%; } }
  @media (max-width: 767px) {
    #top-news dd.icon {
      width: auto;
      padding: 0; } }

#top-news dd.icon span {
  border-radius: 5px;
  padding: 3px 10px;
  text-align: center;
  display: block;
  color: #fff; }
  @media (max-width: 767px) {
    #top-news dd.icon span {
      display: inline-block; } }

#top-news dd.news span {
  background-color: #A39558; }

#top-news dd.event span {
  background-color: #D88827; }

#top-news dd.new span {
  background-color: #79C2D8; }

#top-news dd.other span {
  background-color: #BC8782; }

#top-news dd.txt {
  font-size: 15px;
  width: 75%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-news dd.txt {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #top-news dd.txt {
      font-size: 14px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #top-news dd.txt {
      width: 70%; } }
  @media (max-width: 767px) {
    #top-news dd.txt {
      width: 100%;
      padding: 10px 0 0 0;
      line-height: 1.5; } }

#top-news dd a {
  text-decoration: underline; }
  @media (max-width: 767px) {
    #top-news dd a {
      text-decoration: none;
      line-height: 1.5; } }

#top-news .btn {
  margin: 60px 0 60px 0;
  text-align: center; }

#top-news .btn a {
  width: auto;
  display: inline-block; }

#top-contents {
  background-color: #f7f4e7;
  padding: 45px 0; }

#top-contents .inner {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (max-width: 767px) {
    #top-contents .inner {
      display: block; } }

#top-contents dl {
  width: 45%;
  text-align: center; }
  @media (max-width: 767px) {
    #top-contents dl {
      width: 100%;
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: space-between;
      /*--- safari（PC）用 ---*/
      justify-content: space-between; } }

#top-contents .btn2 {
  width: auto;
  padding: 30px 0 0 0; }
  @media (max-width: 767px) {
    #top-contents .btn2 {
      width: auto;
      padding: 10px 0 0 0; } }

#top-contents .btn2 a {
  display: inline-block;
  width: 60%; }
  @media (max-width: 767px) {
    #top-contents .btn2 a {
      width: 100%;
      box-sizing: border-box; } }

#top-contents h4 {
  display: inline-block;
  font-weight: bolder;
  padding: 20px 0; }
  @media (max-width: 767px) {
    #top-contents h4 {
      padding: 5px 0 10px 0; } }

#top-contents h4:before {
  content: "\f105";
  color: #a21928;
  padding: 0 8px 0 0px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }
  @media (max-width: 767px) {
    #top-contents h4:before {
      padding: 0 3px 0 0px; } }

#top-contents dl dd {
  line-height: 1.5; }
  @media (max-width: 767px) {
    #top-contents dl dd {
      width: 65%;
      text-align: left; } }

@media (max-width: 767px) {
  #top-contents dl:first-child {
    padding: 0 0 30px 0;
    border-bottom: 1px dotted #A39558;
    margin: 0 0 30px 0; } }

@media (max-width: 767px) {
  #top-contents dl dt {
    width: 30%; } }

@media (min-width: 768px) and (max-width: 1080px) {
  #top-contents dl dt img {
    width: 80%;
    text-align: center; } }

#onlineshop-link {
  padding: 50px 0; }

#onlineshop-link h3 {
  width: 100%;
  text-align: center;
  font-family: "Noto Sans Japanese", "Shin Go Regular", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bolder;
  font-size: 22px;
  line-height: 1.8;
  padding: 0 0 40px 0;
  text-align: center;
  letter-spacing: 2px;
  display: block; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #onlineshop-link h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #onlineshop-link h3 {
      font-size: 19px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #onlineshop-link h3 {
      padding: 0 0 35px 0; } }
  @media (max-width: 767px) {
    #onlineshop-link h3 {
      padding: 0 0 35px 0; } }

#onlineshop-link ul {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }

#onlineshop-link .inner li {
  width: 30%;
  line-height: 1.2; }
  @media (max-width: 767px) {
    #onlineshop-link .inner li {
      width: 100%;
      padding: 20px;
      box-sizing: border-box;
      border: 1px solid #dacf9f;
      margin: 0 0 15px 0; } }

#onlineshop-link .inner li .ul {
  padding: 15px 0 0 0; }

#onlineshop-link .inner li .ul a {
  text-decoration: underline;
  font-size: 14px;
  line-height: 1.2; }

#onlineshop-link .inner li .txt {
  font-size: 13px;
  letter-spacing: 0;
  color: #444;
  padding: 15px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #onlineshop-link .inner li .txt {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #onlineshop-link .inner li .txt {
      font-size: 12px; } }

.blank:after {
  text-decoration: none;
  content: "\f35d";
  color: #a21928;
  padding: 0 0 0 8px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

#products .read {
  text-align: center;
  padding: 80px 0; }
  @media (max-width: 767px) {
    #products .read {
      text-align: left;
      padding: 50px 0; } }

#products h2 small {
  font-size: 65%;
  display: block;
  line-height: 2; }

#lineup-retailers {
  padding: 80px 0; }
  @media (max-width: 767px) {
    #lineup-retailers {
      text-align: left;
      padding: 50px 0; } }

#products .tab {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: left;
  /*--- safari（PC）用 ---*/
  justify-content: left;
  border-bottom: 1px solid #dc8691; }

#products .tab__button {
  background-color: none;
  border-radius: 8px 8px 0 0;
  min-width: 15%;
  text-align: center;
  padding: 10px 0;
  font-size: 16px;
  font-weight: bolder;
  font-family: "Noto Sans Japanese", "Shin Go Regular", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #products .tab__button {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #products .tab__button {
      width: 25%;
      font-size: 13px; } }
  @media (max-width: 359px) {
    #products .tab__button {
      width: 25%;
      font-size: 11px;
      letter-spacing: 0; } }

#products .tab__button.active {
  background-color: #a21928; }

#products .tab__button.active a {
  color: #fff; }

#products .tab small {
  padding: 0 0 0 5px; }
  @media (max-width: 767px) {
    #products .tab small {
      padding: 0;
      display: block;
      line-height: 1.2;
      letter-spacing: 0; } }

.lineup-box {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  padding: 0 0 50px 0; }
  @media (max-width: 767px) {
    .lineup-box {
      padding: 30px 0 50px 0; } }

.lineup-box dl {
  width: 30%;
  padding: 30px 0 40px 0; }
  @media (max-width: 767px) {
    .lineup-box dl {
      padding: 0 0 20px 0;
      width: 33.3%;
      box-sizing: border-box;
      border: 1px solid #eee; } }

.lineup-box .is-empty {
  width: 30%; }
  @media (max-width: 767px) {
    .lineup-box .is-empty {
      width: 33.3%; } }

@media (max-width: 767px) {
  #lineup-business .lineup-box dl {
    padding: 0 0 20px 0;
    width: 48%;
    box-sizing: border-box;
    border: 1px solid #eee; } }

@media (max-width: 767px) {
  #lineup-business .lineup-box .is-empty {
    width: 48%; } }

.lineup-box h5 {
  font-size: 17px;
  padding: 0 0 5px 0;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .lineup-box h5 {
      font-size: 15px; } }
  @media (max-width: 767px) {
    .lineup-box h5 {
      font-size: 11px;
      padding: 0 5px;
      letter-spacing: 0; } }

.lineup-box h5 a {
  color: #40220F; }

.lineup-box .small {
  color: #908282;
  font-size: 13px;
  padding: 0 0 8px 0;
  display: block; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .lineup-box .small {
      font-size: 12px; } }
  @media (max-width: 767px) {
    .lineup-box .small {
      font-size: 12px; } }
  @media (max-width: 767px) {
    .lineup-box .small {
      line-height: 1.2;
      font-size: 11px;
      padding: 0 5px;
      letter-spacing: 0; } }
  @media (max-width: 359px) {
    .lineup-box .small {
      font-size: 9px;
      letter-spacing: 0; } }

.lineup-box .txt {
  line-height: 1.5; }

#lineup-business .lineup-box .txt {
  line-height: 1.5; }
  @media (max-width: 767px) {
    #lineup-business .lineup-box .txt {
      font-size: 11px;
      padding: 10px 5px 0 5px;
      letter-spacing: 0; } }

.lineup-box dl dt img {
  border-radius: 10px; }
  @media (max-width: 767px) {
    .lineup-box dl dt img {
      border-radius: 0px; } }

#lineup-retailers .lineup-box dl dt img {
  border: 1px solid #eee; }
  @media (max-width: 767px) {
    #lineup-retailers .lineup-box dl dt img {
      border: none; } }

#lineup-retailers .lineup-box h5 {
  font-size: 17px;
  padding: 5px 0 15px 0;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-retailers .lineup-box h5 {
      font-size: 15px; } }
  @media (max-width: 767px) {
    #lineup-retailers .lineup-box h5 {
      font-size: 11px;
      padding: 0 5px;
      letter-spacing: 0; } }

#lineup-retailers .lineup-box h5 a {
  color: #40220F; }

@media (max-width: 767px) {
  #lineup-retailers .lineup-box .link {
    display: none; } }

#lineup-message {
  background-color: #f7f4e7;
  padding: 50px 0; }
  @media (max-width: 767px) {
    #lineup-message {
      padding: 40px 0; } }

#lineup-message .read {
  padding: 15px 0 40px 0;
  text-align: left; }

#lineup-message h3 {
  width: 100%;
  text-align: center;
  font-family: "Noto Sans Japanese", "Shin Go Regular", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bolder;
  font-size: 22px;
  line-height: 1.8;
  padding: 0 0 40px 0;
  text-align: center;
  letter-spacing: 2px;
  display: block; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-message h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #lineup-message h3 {
      font-size: 19px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-message h3 {
      padding: 0 0 20px 0; } }
  @media (max-width: 767px) {
    #lineup-message h3 {
      padding: 0 0 20px 0; } }

#lineup-message .box {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (max-width: 767px) {
    #lineup-message .box {
      display: block; } }

#lineup-message dl {
  width: 48%;
  background-color: #fff;
  border-radius: 10px;
  padding: 25px;
  box-sizing: border-box; }
  @media (max-width: 767px) {
    #lineup-message dl {
      width: 100%;
      margin: 0 0 25px 0; } }

#lineup-message dt {
  text-align: center;
  font-weight: bolder;
  color: #a21928;
  font-size: 17px;
  padding: 0 0 20px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-message dt {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #lineup-message dt {
      font-size: 16px; } }

#lineup-message dd {
  font-size: 13px;
  line-height: 1.6; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-message dd {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #lineup-message dd {
      font-size: 12px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-message dd {
      letter-spacing: 0; } }

#lineup-message dd .btn2 {
  padding: 15px 0 0 0;
  font-weight: bold;
  text-align: center; }

#lineup-message dd .btn2 a {
  box-sizing: border-box;
  width: 80%; }
  @media (max-width: 767px) {
    #lineup-message dd .btn2 a {
      width: 100%; } }

#lineup-message dd .tel {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: center;
  /*--- safari（PC）用 ---*/
  justify-content: center;
  font-family: 'Oswald', sans-serif;
  font-size: 34px;
  line-height: 1;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-message dd .tel {
      font-size: 28px;
      letter-spacing: 1px; } }
  @media (max-width: 767px) {
    #lineup-message dd .tel {
      font-size: 25px; } }
  @media (max-width: 359px) {
    #lineup-message dd .tel {
      font-size: 20px;
      letter-spacing: 0; } }

#lineup-message dd .tel small {
  font-size: 65%; }

#lineup-message dd .time {
  font-size: 13px;
  line-height: 1;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: normal;
  padding: 5px 0 0 10px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-message dd .time {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #lineup-message dd .time {
      font-size: 12px; } }
  @media (max-width: 359px) {
    #lineup-message dd .time {
      padding: 2px 0 0 10px;
      font-size: 9px;
      letter-spacing: 0; } }

#lineup-retailers .biko {
  padding: 0;
  font-size: 12px;
  color: #666;
  text-align: center; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-retailers .biko {
      font-size: 11px; } }
  @media (max-width: 767px) {
    #lineup-retailers .biko {
      font-size: 9px; } }
  @media (max-width: 767px) {
    #lineup-retailers .biko {
      text-align: left;
      padding: 20px 0 0 0;
      line-height: 1.5; } }

#lineup-retailers .detail {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (max-width: 767px) {
    #lineup-retailers .detail {
      display: block; } }

#lineup-retailers .detail .photo {
  width: 45%;
  border: 1px solid #eee; }
  @media (max-width: 767px) {
    #lineup-retailers .detail .photo {
      border: none;
      width: 90%;
      margin: 0 auto; } }

#lineup-retailers .detail .photo img {
  border-radius: 10px; }
  @media (max-width: 767px) {
    #lineup-retailers .detail .photo img {
      border-radius: 10px; } }

#lineup-retailers .detail .txt {
  width: 50%; }
  @media (max-width: 767px) {
    #lineup-retailers .detail .txt {
      width: 100%;
      width: 90%;
      margin: 0 auto; } }

#lineup-retailers .detail h3 {
  font-size: 22px;
  padding: 30px 0;
  color: #40220F;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-retailers .detail h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #lineup-retailers .detail h3 {
      font-size: 19px; } }
  @media (max-width: 767px) {
    #lineup-retailers .detail h3 {
      padding: 8px 0; } }

#lineup-retailers .detail p {
  padding: 0 0 5px 0; }

#lineup-retailers .info {
  padding: 40px 0; }
  @media (max-width: 767px) {
    #lineup-retailers .info {
      padding: 20px 0; } }

#lineup-retailers .info dl {
  border-bottom: 1px solid #ccc;
  padding: 30px 0; }
  @media (max-width: 767px) {
    #lineup-retailers .info dl {
      padding: 15px 0; } }

#lineup-retailers .info dl dt {
  font-size: 17px;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-retailers .info dl dt {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #lineup-retailers .info dl dt {
      font-size: 16px; } }

#lineup-retailers .info dl dt span {
  font-size: 80%; }

#lineup-retailers .info dl dt:before {
  content: '■';
  color: #a21928;
  padding: 0 0 0 5px; }

#lineup-retailers .info dl dd {
  padding: 15px 0 0 18px; }
  @media (max-width: 767px) {
    #lineup-retailers .info dl dd {
      line-height: 1.5;
      width: 95%;
      margin: 0 auto;
      padding: 10px 0 15px 0; } }

#lineup-retailers .icon {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }
  @media (max-width: 767px) {
    #lineup-retailers .icon {
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: left;
      /*--- safari（PC）用 ---*/
      justify-content: left; } }

#lineup-retailers .icon li {
  background-color: #BC8782;
  color: #fff;
  border-radius: 5px;
  display: inline-block;
  min-width: 15%;
  box-sizing: border-box;
  text-align: center;
  padding: 8px 10px;
  margin: 0 2px 8px 0; }
  @media (max-width: 767px) {
    #lineup-retailers .icon li {
      padding: 5px 10px;
      font-size: 12px; } }

#lineup-retailers .info li.is-empty {
  height: 0;
  line-height: 0;
  background-color: #fff;
  padding: 0;
  min-width: 0; }

#lineup-retailers .info .cell {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: left;
  /*--- safari（PC）用 ---*/
  justify-content: left; }
  @media (max-width: 767px) {
    #lineup-retailers .info .cell {
      width: auto;
      overflow: scroll; } }

#lineup-retailers .info .cell dl {
  padding: 30px 0;
  border: none; }
  @media (max-width: 767px) {
    #lineup-retailers .info .cell dl {
      padding: 10px 0;
      min-width: 30%;
      width: auto; } }

#lineup-retailers .info .cell dl dt {
  font-size: 13px;
  font-weight: bolder;
  border-left: 1px dotted #fff;
  background-color: #9A8A64;
  color: #fff;
  text-align: center;
  padding: 5px 10px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-retailers .info .cell dl dt {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #lineup-retailers .info .cell dl dt {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #lineup-retailers .info .cell dl dt {
      width: auto;
      padding: 2px 10px; } }
  @media (max-width: 359px) {
    #lineup-retailers .info .cell dl dt {
      font-size: 9px;
      letter-spacing: 0; } }

#lineup-retailers .info .cell dl dt:before {
  content: none;
  padding: 0; }

#lineup-retailers .info .cell dl dd {
  padding: 5px 10px;
  font-size: 13px;
  text-align: center;
  border: 1px solid #9A8A64;
  border-left: none; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-retailers .info .cell dl dd {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #lineup-retailers .info .cell dl dd {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #lineup-retailers .info .cell dl dd {
      width: auto; } }

#lineup-retailers .info .cell dl:first-of-type dd {
  padding: 5px 10px;
  font-size: 13px;
  text-align: center;
  border: 1px solid #9A8A64;
  border-left: 1px solid #9A8A64; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #lineup-retailers .info .cell dl:first-of-type dd {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #lineup-retailers .info .cell dl:first-of-type dd {
      font-size: 12px; } }

#lineup-retailers .return {
  text-align: right; }

#lineup-retailers .return a {
  width: auto; }

#concept01 {
  background-color: #eee;
  height: 800px;
  position: relative;
  background: #fff url(../images/concept/concept01.jpg) 0 0 no-repeat; }
  @media (max-width: 767px) {
    #concept01 {
      background: #eee url(../images/concept/concept01.jpg) 0 0 no-repeat;
      background-size: contain;
      height: 700px; } }

#concept01 .box {
  background-color: rgba(255, 255, 255, 0.85);
  width: 825px;
  box-sizing: border-box;
  padding: 50px;
  margin: 0 auto;
  min-height: 600px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept01 .box {
      width: 650px; } }
  @media (max-width: 767px) {
    #concept01 .box {
      width: 93%;
      margin: 0 auto;
      padding: 0;
      min-height: 400px; } }

#concept01 .midashi {
  position: relative;
  width: 100%; }

#concept01 .midashi:before {
  content: '「';
  font-size: 48px;
  position: absolute;
  left: 0;
  top: 0;
  color: #666; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept01 .midashi:before {
      font-size: 40px; } }
  @media (max-width: 767px) {
    #concept01 .midashi:before {
      font-size: 30px; } }

#concept01 .midashi:after {
  content: '」';
  font-size: 48px;
  position: absolute;
  right: 0;
  bottom: 0;
  color: #666; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept01 .midashi:after {
      font-size: 40px; } }
  @media (max-width: 767px) {
    #concept01 .midashi:after {
      font-size: 30px; } }

#concept01 .box h3 {
  width: 70%;
  margin: 40px auto 80px auto;
  padding: 20px 0;
  font-size: 24px;
  line-height: 150%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept01 .box h3 {
      font-size: 23px; } }
  @media (max-width: 767px) {
    #concept01 .box h3 {
      font-size: 18px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept01 .box h3 {
      width: 85%; } }
  @media (max-width: 767px) {
    #concept01 .box h3 {
      font-size: 15px;
      padding: 0;
      font-weight: bolder;
      margin: 40px auto 40px auto; } }

#concept01 .box h3 span {
  font-size: 22px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept01 .box h3 span {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #concept01 .box h3 span {
      font-size: 19px; } }
  @media (max-width: 767px) {
    #concept01 .box h3 span {
      font-size: 14px; } }

#concept01 .box p {
  padding: 0 0 30px 0; }
  @media (max-width: 767px) {
    #concept01 .box p {
      width: 93%;
      margin: 0 auto; } }

#concept02 {
  height: 650px;
  box-sizing: border-box;
  padding: 240px 0 200px 0;
  background: #fff url(../images/concept/concept02.jpg) center center no-repeat; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept02 {
      background-image: url(../images/concept/concept02-sp.jpg);
      background-size: cover;
      background-repeat: none;
      background-position: top; } }
  @media (max-width: 767px) {
    #concept02 {
      background-image: url(../images/concept/concept02-sp.jpg);
      background-size: cover;
      background-repeat: none;
      padding: 50px 0 50px 0;
      height: auto; } }

#concept02 .inner {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (max-width: 767px) {
    #concept02 .inner {
      display: block; } }

#concept02 .inner h3 {
  width: 35%;
  text-align: center;
  font-size: 24px;
  position: relative; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept02 .inner h3 {
      font-size: 23px; } }
  @media (max-width: 767px) {
    #concept02 .inner h3 {
      font-size: 18px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept02 .inner h3 {
      padding: 0px 0 0 0;
      position: static; } }
  @media (max-width: 767px) {
    #concept02 .inner h3 {
      font-weight: bolder;
      width: 100%;
      padding: 0 0 40px 0; } }

#concept02 .inner h3 span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: auto;
  left: 0;
  top: 30%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept02 .inner h3 span {
      position: static !important; } }
  @media (max-width: 767px) {
    #concept02 .inner h3 span {
      width: 100%;
      position: static; } }

#concept02 .inner .txt {
  width: 60%; }
  @media (max-width: 767px) {
    #concept02 .inner .txt {
      width: 100%; } }

#concept02 p {
  padding: 0 0 30px 0; }

#concept03 {
  background-color: #f7f4e7;
  padding: 80px 0; }
  @media (max-width: 767px) {
    #concept03 {
      padding: 40px 0; } }

#concept03 .inner {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (max-width: 767px) {
    #concept03 .inner {
      display: block; } }

#concept03 .inner h3 {
  width: 35%;
  font-size: 24px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept03 .inner h3 {
      font-size: 23px; } }
  @media (max-width: 767px) {
    #concept03 .inner h3 {
      font-size: 18px; } }
  @media (max-width: 767px) {
    #concept03 .inner h3 {
      text-align: center;
      padding: 0 0 40px 0;
      width: 100%;
      font-weight: bolder; } }

#concept03 .inner p {
  width: 60%; }
  @media (max-width: 767px) {
    #concept03 .inner p {
      width: 100%; } }

#concept03 .photo {
  width: 945px;
  margin: 0 auto;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 80px 0 50px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept03 .photo {
      width: 92%; } }
  @media (max-width: 767px) {
    #concept03 .photo {
      width: 92%; } }
  @media (max-width: 767px) {
    #concept03 .photo {
      padding: 30px 0 0px 0;
      display: block; } }

#concept03 .photo dl {
  width: 30%; }
  @media (max-width: 767px) {
    #concept03 .photo dl {
      width: 100%;
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: space-between;
      /*--- safari（PC）用 ---*/
      justify-content: space-between;
      padding: 15px 0;
      border-top: 1px dotted #ccc; } }

@media (max-width: 767px) {
  #concept03 .photo dt {
    width: 25%; } }

#concept03 .photo dd {
  text-align: center; }
  @media (max-width: 767px) {
    #concept03 .photo dd {
      width: 70%;
      text-align: left; } }

#concept03 .photo h4 {
  padding: 20px 0 10px 0;
  font-size: 17px;
  color: #a21928;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept03 .photo h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #concept03 .photo h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #concept03 .photo h4 {
      padding: 0 0 5px 0;
      font-size: 15px; } }

#concept03 .photo p {
  text-align: left;
  line-height: 1.6; }

#concept04 .inner {
  position: relative;
  min-height: 500px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept04 .inner {
      min-height: 350px; } }
  @media (max-width: 767px) {
    #concept04 .inner {
      min-height: auto;
      padding: 30px 0 0 0; } }

#concept04 .txt {
  position: absolute;
  top: 300px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept04 .txt {
      top: 150px; } }
  @media (max-width: 767px) {
    #concept04 .txt {
      position: static;
      width: 100%;
      padding: 0 0 15px 0; } }

#concept04 .photo {
  position: absolute;
  top: -80px;
  right: 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept04 .photo {
      width: 45%; } }
  @media (max-width: 767px) {
    #concept04 .photo {
      position: static; } }

#concept04 .photo img {
  border-radius: 10px; }

#concept04 .txt h3 {
  font-size: 24px;
  padding: 0 0 25px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #concept04 .txt h3 {
      font-size: 23px; } }
  @media (max-width: 767px) {
    #concept04 .txt h3 {
      font-size: 18px; } }
  @media (max-width: 767px) {
    #concept04 .txt h3 {
      text-align: center;
      font-weight: bolder; } }

#concept04 .txt p {
  width: 50%; }
  @media (max-width: 767px) {
    #concept04 .txt p {
      width: 100%; } }

#shop .read {
  text-align: center;
  padding: 80px 0 0 0 ; }
  @media (max-width: 767px) {
    #shop .read {
      text-align: left;
      padding: 50px 0 0 0; } }

#shop .read2 {
  text-align: center;
  padding: 30px 0 50px 0; }
  @media (max-width: 767px) {
    #shop .read2 {
      text-align: left;
      padding: 30px 0 40px 0; } }
#shop .read2 a{
  color:#a21928;
  text-decoration: underline;
}
#shop .read2:after{
    text-decoration: none;
    content: "\f35d";
    color: #a21928;
    padding: 0 0 0 8px;
    font-family: "Font Awesome 5 Free";
    font-weight: bolder;
}      
.shop-box {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  border-top: 1px solid #ccc;
  padding: 35px 0; }
  @media (max-width: 767px) {
    .shop-box {
      display: block;
      border-top: 3px solid #ccc; } }

.shop-box .photo {
  width: 35%; }
  @media (max-width: 767px) {
    .shop-box .photo {
      width: 100%; } }

.shop-box .txt {
  width: 60%; }
  @media (max-width: 767px) {
    .shop-box .txt {
      width: 100%; } }

.shop-box .txt h4 {
  font-size: 22px;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shop-box .txt h4 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    .shop-box .txt h4 {
      font-size: 19px; } }
  @media (max-width: 767px) {
    .shop-box .txt h4 {
      font-size: 16px; } }

.shop-box .txt ul {
  padding: 15px 0; }

.shop-box .txt ul li {
  display: inline-block;
  color: #fff;
  border-radius: 5px;
  margin: 0 5px 0 0;
  padding: 5px 10px;
  font-size: 13px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shop-box .txt ul li {
      font-size: 12px; } }
  @media (max-width: 767px) {
    .shop-box .txt ul li {
      font-size: 12px; } }
  @media (max-width: 767px) {
    .shop-box .txt ul li {
      font-size: 11px;
      margin: 0 5px 5px 0; } }

.shop-box .txt ul li.brown {
  background-color: #A39558; }

.shop-box .txt ul li.orange {
  background-color: #D88827; }

.shop-box .txt ul li.pink {
  background-color: #BC8782; }

.shop-box .txt ul li.blue {
  background-color: #79C2D8; }

.shop-box .txt ul li img {
  width: 16px;
  height: 16px;
  vertical-align: middle;
  margin: 0 5px 0 0; }

.shop-box .txt dl {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  color: #40220F; }

.shop-box .txt dt {
  width: 25%;
  font-weight: bolder;
  border-top: 1px solid #d8cfca;
  padding: 10px 0; }
  @media (max-width: 767px) {
    .shop-box .txt dt {
      padding: 5px 0;
      width: 30%; } }

.shop-box .txt dd {
  width: 70%;
  border-top: 1px solid #d8cfca;
  padding: 10px 0 10px 5%; }
  @media (max-width: 767px) {
    .shop-box .txt dd {
      padding: 5px 0 5px 5%;
      width: 65%; } }

.shop-box .txt .btn {
  text-align: right; }
  @media (max-width: 767px) {
    .shop-box .txt .btn {
      padding: 10px 0 0 0; } }

.shop-box .txt .btn a {
  width: auto;
  padding: 8px 40px; }
  @media (max-width: 767px) {
    .shop-box .txt .btn a {
      width: 100%;
      box-sizing: border-box; } }

#shop .online-link {
  background-color: #f7f4e7;
  margin: 30px 0 0 0; }

#shop .online-link .inner {
  padding: 50px 0;
  text-align: center; }

#shop .online-link .read {
  padding: 0 0 30px 0; }
  @media (max-width: 767px) {
    #shop .online-link .read {
      text-align: center; } }

#shop .online-link p a {
  text-decoration: underline; }

#company .inner {
  padding: 80px 0 40px 0;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  flex-direction: row-reverse; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #company .inner {
      padding: 80px 0 30px 0; } }
  @media (max-width: 767px) {
    #company .inner {
      display: block;
      padding: 50px 0 0 0; } }

#company .inner .side {
  width: 253px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #company .inner .side {
      width: 25%; } }
  @media (max-width: 767px) {
    #company .inner .side {
      width: 100%; } }

#company .inner .main {
  width: 620px;
  text-align: center; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #company .inner .main {
      width: 70%; } }
  @media (max-width: 767px) {
    #company .inner .main {
      width: 100%; } }

#company .inner .side h4 {
  border-radius: 5px;
  display: block;
  box-sizing: border-box;
  font-size: 17px;
  font-weight: bolder;
  background-color: #a21928;
  padding: 5px 15px;
  color: #fff; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #company .inner .side h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #company .inner .side h4 {
      font-size: 16px; } }

#company .inner .side ul {
  padding: 15px 0; }

#company .inner .side ul li a {
  border-radius: 5px;
  display: block;
  border: 2px solid #eee;
  padding: 8px 20px;
  margin: 0 0 15px 0;
  font-size: 17px;
  font-weight: bolder;
  position: relative;
  color: #40220F; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #company .inner .side ul li a {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #company .inner .side ul li a {
      font-size: 16px; } }

#company .inner .side ul li a:hover {
  background: #EFEFEF; }

#company .inner .side ul li a:after {
  content: "\f105";
  color: #a21928;
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

#company .inner h3 {
  margin: 0 0 40px 0; }

#company #prof {
  padding: 0 0 100px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #company #prof {
      padding: 0; } }
  @media (max-width: 767px) {
    #company #prof {
      padding: 0; } }

#company #prof .photo {
  padding: 0 0 40px 0; }

#company #prof dl {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  border-top: 1px solid #E3D8CE; }

#company #prof dt {
  width: 20%;
  padding: 15px 0;
  border-bottom: 1px solid #E3D8CE;
  font-weight: bolder;
  background-color: #FAF9F9; }
  @media (max-width: 767px) {
    #company #prof dt {
      width: 25%; } }
  @media (max-width: 359px) {
    #company #prof dt {
      font-size: 12px; } }

#company #prof dd {
  width: 75%;
  border-bottom: 1px solid #E3D8CE;
  padding: 15px 0 15px 5%;
  text-align: left;
  letter-spacing: 0;
  font-size: 14px; }
  @media (max-width: 767px) {
    #company #prof dd {
      font-size: 13px; } }
  @media (max-width: 767px) {
    #company #prof dd {
      width: 70%; } }
  @media (max-width: 359px) {
    #company #prof dd {
      font-size: 12px; } }

@media (max-width: 767px) {
  #company #prof dd span.only-sp {
    display: inline-block; } }

#company #area {
  padding: 0 0 80px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #company #area {
      padding: 80px 0; } }
  @media (max-width: 767px) {
    #company #area {
      padding: 80px 0; } }

#company #area dl {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  border-top: 1px solid #E3D8CE;
  text-align: left;
  padding: 10px 0; }
  @media (max-width: 767px) {
    #company #area dl {
      display: block; } }

#company #area dl:last-child {
  border-bottom: 1px solid #E3D8CE; }

#company #area dt {
  width: 30%; }
  @media (max-width: 767px) {
    #company #area dt {
      width: 100%;
      font-weight: bolder; } }
  @media (max-width: 359px) {
    #company #area dt {
      font-size: 12px; } }

#company #area dd {
  width: 65%; }
  @media (max-width: 767px) {
    #company #area dd {
      width: 100%; } }
  @media (max-width: 359px) {
    #company #area dd {
      letter-spacing: 0;
      font-size: 12px; } }

#business .read {
  padding: 0 0 30px 0;
  text-align: left; }

#business .business-box {
  border: 2px solid #a21928;
  border-radius: 10px;
  padding: 25px;
  margin: 0 0 50px 0; }
  @media (max-width: 767px) {
    #business .business-box {
      margin: 0 0 30px 0; } }
  @media (max-width: 359px) {
    #business .business-box {
      padding: 15px;
      font-size: 13px;
      line-height: 1.7; } }

#business .business-box h3 {
  color: #a21928;
  font-size: 22px;
  font-weight: bolder;
  padding: 0 0 30px 0;
  margin: 0;
  text-align: left; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #business .business-box h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #business .business-box h3 {
      font-size: 19px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #business .business-box h3 {
      padding: 0 0 20px 0; } }
  @media (max-width: 767px) {
    #business .business-box h3 {
      font-size: 18px;
      padding: 0 0 15px 0; } }
  @media (max-width: 359px) {
    #business .business-box h3 {
      font-size: 16px; } }

#business .business-box dl {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 0 0 0px 0;
  text-align: left; }
  @media (max-width: 767px) {
    #business .business-box dl {
      display: block; } }

#business .business-box dt {
  width: 30%; }
  @media (max-width: 767px) {
    #business .business-box dt {
      width: 100%;
      padding: 0 0 10px 0; } }

#business .business-box dd {
  width: 67%; }
  @media (max-width: 767px) {
    #business .business-box dd {
      width: 100%; } }

#business .business-box p.link2 {
  text-align: right;
  padding: 15px 0 0 0; }

#business .business-box p.link2 a {
  color: #40220F; }

#business .business-box dl.torihiki {
  border-top: 2px dotted #a21928;
  margin: 20px 0 0 0;
  padding: 15px 0 0 0;
  font-size: 13px;
  line-height: 1.5; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #business .business-box dl.torihiki {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #business .business-box dl.torihiki {
      font-size: 12px; } }

#business .business-box dl.torihiki dt {
  width: 20%;
  text-align: center; }
  @media (max-width: 767px) {
    #business .business-box dl.torihiki dt {
      width: 100%;
      text-align: left;
      font-weight: bolder; } }

#business .business-box dl.torihiki dd {
  width: 75%; }
  @media (max-width: 767px) {
    #business .business-box dl.torihiki dd {
      width: 100%; } }

#business .business-box dl.link {
  border-top: 2px dotted #a21928;
  margin: 20px 0 0 0;
  padding: 15px 0 0 0;
  font-size: 13px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #business .business-box dl.link {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #business .business-box dl.link {
      font-size: 12px; } }

#business .business-box dl.link dt {
  width: auto;
  text-align: center;
  line-height: 1.5; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #business .business-box dl.link dt {
      width: 50%; } }
  @media (max-width: 767px) {
    #business .business-box dl.link dt {
      width: 100%;
      text-align: left;
      font-weight: bolder; } }

#business .business-box dl.link dd {
  width: auto;
  line-height: 1.5; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #business .business-box dl.link dd {
      width: 50%;
      word-break: break-all; } }
  @media (max-width: 767px) {
    #business .business-box dl.link dd {
      width: 100%; } }

#business .business-box dl.link dd a {
  line-height: 1.5; }
  @media (max-width: 359px) {
    #business .business-box dl.link dd a {
      font-size: 11px; } }

#business .business-box dl.link:after {
  content: none; }

@media (max-width: 767px) {
  #history {
    padding: 0 0 30px 0; } }

#history dl {
  text-align: left;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }

#history dt {
  font-family: "Andada", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  color: #a21928;
  font-size: 30px;
  width: 20%;
  position: relative; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #history dt {
      font-size: 24px; } }
  @media (max-width: 767px) {
    #history dt {
      width: 25%;
      font-size: 20px; } }

#history dt:after {
  content: '●';
  font-size: 18px;
  color: #a21928;
  position: absolute;
  right: 0px;
  top: 0px;
  display: block;
  transform: translateY(8px) translateX(60%);
  line-height: 1; }

#history dt .line {
  position: absolute;
  top: 0.2em;
  right: -2px;
  content: "";
  display: inline-block;
  height: 100%;
  width: 2px;
  background: #F7F1E8;
  transform-origin: 0% 0%;
  /* 左上 */
  transform: scaleY(0); }

#history dt span {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  color: #a21928;
  font-size: 15px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #history dt span {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #history dt span {
      font-size: 14px; } }

#history dd {
  width: 75%;
  box-sizing: border-box;
  padding: 20px;
  border-top: 1px solid #a21928;
  line-height: 1.5;
  margin: 15px 0 0 0; }
  @media (max-width: 767px) {
    #history dd {
      width: 70%;
      padding: 10px 5px;
      font-size: 13px; } }
  @media (max-width: 359px) {
    #history dd {
      font-size: 12px; } }

#history dd img {
  width: 50%; }

#history dd p:nth-of-type(2) {
  padding: 5px 0 5px 0; }

#history dl.fade-history {
  opacity: 0;
  -webkit-transform: translateY(5%);
  -ms-transform: translateY(5%);
  transform: translateY(5%); }

#history dl:nth-of-type(1) {
  -webkit-animation: fade 0.8s ease 0.4s 1 forwards;
  animation: fade 0.8s ease 0.4s 1 forwards; }

#history dl:nth-of-type(2) {
  -webkit-animation: fade 0.8s ease 0.8s 1 forwards;
  animation: fade 0.8s ease 0.8s 1 forwards; }

#history dl:nth-of-type(3) {
  -webkit-animation: fade 0.8s ease 1.2s 1 forwards;
  animation: fade 0.8s ease 1.2s 1 forwards; }

#history dl:nth-of-type(4) {
  -webkit-animation: fade 0.8s ease 1.6s 1 forwards;
  animation: fade 0.8s ease 1.6s 1 forwards; }

#history dl:nth-of-type(5) {
  -webkit-animation: fade 0.8s ease 2s 1 forwards;
  animation: fade 0.8s ease 2s 1 forwards; }

#history dl:nth-of-type(6) {
  -webkit-animation: fade 0.8s ease 2.4s 1 forwards;
  animation: fade 0.8s ease 2.4s 1 forwards; }

#history dl:nth-of-type(7) {
  -webkit-animation: fade 0.8s ease 2.8s 1 forwards;
  animation: fade 0.8s ease 2.8s 1 forwards; }

#history dl:nth-of-type(8) {
  -webkit-animation: fade 0.8s ease 3.2s 1 forwards;
  animation: fade 0.8s ease 3.2s 1 forwards; }

#history dl:nth-of-type(9) {
  -webkit-animation: fade 0.8s ease 3.6s 1 forwards;
  animation: fade 0.8s ease 3.6s 1 forwards; }

#history dl:nth-of-type(10) {
  -webkit-animation: fade 0.8s ease 4s 1 forwards;
  animation: fade 0.8s ease 4s 1 forwards; }

#history dl:nth-of-type(11) {
  -webkit-animation: fade 0.8s ease 4.4s 1 forwards;
  animation: fade 0.8s ease 4.4s 1 forwards; }

#history dl:nth-of-type(12) {
  -webkit-animation: fade 0.8s ease 4.8s 1 forwards;
  animation: fade 0.8s ease 4.8s 1 forwards; }

#history dl:nth-of-type(13) {
  -webkit-animation: fade 0.8s ease 5.2s 1 forwards;
  animation: fade 0.8s ease 5.2s 1 forwards; }

#history dl:nth-of-type(14) {
  -webkit-animation: fade 0.8s ease 5.6s 1 forwards;
  animation: fade 0.8s ease 5.6s 1 forwards; }

#history dl:nth-of-type(15) {
  -webkit-animation: fade 0.8s ease 6s 1 forwards;
  animation: fade 0.8s ease 6s 1 forwards; }

#history dl:nth-of-type(16) {
  -webkit-animation: fade 0.8s ease 6.4s 1 forwards;
  animation: fade 0.8s ease 6.4s 1 forwards; }

#history dl:nth-of-type(17) {
  -webkit-animation: fade 0.8s ease 6.8s 1 forwards;
  animation: fade 0.8s ease 6.8s 1 forwards; }

#history dl:nth-of-type(18) {
  -webkit-animation: fade 0.8s ease 7.2s 1 forwards;
  animation: fade 0.8s ease 7.2s 1 forwards; }

#history dl:nth-of-type(19) {
  -webkit-animation: fade 0.8s ease 7.6s 1 forwards;
  animation: fade 0.8s ease 7.6s 1 forwards; }

#history dl:nth-of-type(20) {
  -webkit-animation: fade 0.8s ease 8s 1 forwards;
  animation: fade 0.8s ease 8s 1 forwards; }

#history dl:nth-of-type(21) {
  -webkit-animation: fade 0.8s ease 8.4s 1 forwards;
  animation: fade 0.8s ease 8.4s 1 forwards; }

#history dl:nth-of-type(22) {
  -webkit-animation: fade 0.8s ease 8.8s 1 forwards;
  animation: fade 0.8s ease 8.8s 1 forwards; }

#history dl:nth-of-type(23) {
  -webkit-animation: fade 0.8s ease 9.2s 1 forwards;
  animation: fade 0.8s ease 9.2s 1 forwards; }

#history dl:nth-of-type(24) {
  -webkit-animation: fade 0.8s ease 9.6s 1 forwards;
  animation: fade 0.8s ease 9.6s 1 forwards; }

#history dl:nth-of-type(25) {
  -webkit-animation: fade 0.8s ease 10s 1 forwards;
  animation: fade 0.8s ease 10s 1 forwards; }

#history dl:nth-of-type(26) {
  -webkit-animation: fade 0.8s ease 10.4s 1 forwards;
  animation: fade 0.8s ease 10.4s 1 forwards; }

#history dl:nth-of-type(27) {
  -webkit-animation: fade 0.8s ease 10.8s 1 forwards;
  animation: fade 0.8s ease 10.8s 1 forwards; }

#history dl:nth-of-type(1) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 0.4s 1 forwards;
  animation: lineanime-u 0.8s ease-in 0.4s 1 forwards; }

#history dl:nth-of-type(2) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 0.8s 1 forwards;
  animation: lineanime-u 0.8s ease-in 0.8s 1 forwards; }

#history dl:nth-of-type(3) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 1.2s 1 forwards;
  animation: lineanime-u 0.8s ease-in 1.2s 1 forwards; }

#history dl:nth-of-type(4) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 1.6s 1 forwards;
  animation: lineanime-u 0.8s ease-in 1.6s 1 forwards; }

#history dl:nth-of-type(5) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 2s 1 forwards;
  animation: lineanime-u 0.8s ease-in 2s 1 forwards; }

#history dl:nth-of-type(6) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 2.4s 1 forwards;
  animation: lineanime-u 0.8s ease-in 2.4s 1 forwards; }

#history dl:nth-of-type(7) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 2.8s 1 forwards;
  animation: lineanime-u 0.8s ease-in 2.8s 1 forwards; }

#history dl:nth-of-type(8) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 3.2s 1 forwards;
  animation: lineanime-u 0.8s ease-in 3.2s 1 forwards; }

#history dl:nth-of-type(9) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 3.6s 1 forwards;
  animation: lineanime-u 0.8s ease-in 3.6s 1 forwards; }

#history dl:nth-of-type(10) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 4s 1 forwards;
  animation: lineanime-u 0.8s ease-in 4s 1 forwards; }

#history dl:nth-of-type(11) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 4.4s 1 forwards;
  animation: lineanime-u 0.8s ease-in 4.4s 1 forwards; }

#history dl:nth-of-type(12) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 4.8s 1 forwards;
  animation: lineanime-u 0.8s ease-in 4.8s 1 forwards; }

#history dl:nth-of-type(13) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 5.2s 1 forwards;
  animation: lineanime-u 0.8s ease-in 5.2s 1 forwards; }

#history dl:nth-of-type(14) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 5.6s 1 forwards;
  animation: lineanime-u 0.8s ease-in 5.6s 1 forwards; }

#history dl:nth-of-type(15) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 6s 1 forwards;
  animation: lineanime-u 0.8s ease-in 6s 1 forwards; }

#history dl:nth-of-type(16) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 6.4s 1 forwards;
  animation: lineanime-u 0.8s ease-in 6.4s 1 forwards; }

#history dl:nth-of-type(17) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 6.8s 1 forwards;
  animation: lineanime-u 0.8s ease-in 6.8s 1 forwards; }

#history dl:nth-of-type(18) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 7.2s 1 forwards;
  animation: lineanime-u 0.8s ease-in 7.2s 1 forwards; }

#history dl:nth-of-type(19) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 7.6s 1 forwards;
  animation: lineanime-u 0.8s ease-in 7.6s 1 forwards; }

#history dl:nth-of-type(20) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 8s 1 forwards;
  animation: lineanime-u 0.8s ease-in 8s 1 forwards; }

#history dl:nth-of-type(21) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 8.4s 1 forwards;
  animation: lineanime-u 0.8s ease-in 8.4s 1 forwards; }

#history dl:nth-of-type(22) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 8.8s 1 forwards;
  animation: lineanime-u 0.8s ease-in 8.8s 1 forwards; }

#history dl:nth-of-type(23) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 9.2s 1 forwards;
  animation: lineanime-u 0.8s ease-in 9.2s 1 forwards; }

#history dl:nth-of-type(24) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 9.6s 1 forwards;
  animation: lineanime-u 0.8s ease-in 9.6s 1 forwards; }

#history dl:nth-of-type(25) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 10s 1 forwards;
  animation: lineanime-u 0.8s ease-in 10s 1 forwards; }

#history dl:nth-of-type(26) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 10.4s 1 forwards;
  animation: lineanime-u 0.8s ease-in 10.4s 1 forwards; }

#history dl:nth-of-type(27) .line {
  -webkit-animation: lineanime-u 0.8s ease-in 10.8s 1 forwards;
  animation: lineanime-u 0.8s ease-in 10.8s 1 forwards; }

@-webkit-keyframes lineanime-u {
  0% {
    transform: scaleY(0); }
  100% {
    transform: scaleY(1); } }
@keyframes lineanime-u {
  0% {
    transform: scaleY(0); }
  100% {
    transform: scaleY(1); } }
#recruit .read {
  padding: 0 0 30px 0; }
  @media (max-width: 767px) {
    #recruit .read {
      text-align: left; } }

#recruit .read h3 {
  padding: 25px 0 0 0;
  font-size: 22px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recruit .read h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #recruit .read h3 {
      font-size: 19px; } }
  @media (max-width: 767px) {
    #recruit .read h3 {
      text-align: left; } }

#recruit .read .txt {
  text-align: left;
  padding: 0 0 50px 0; }

#recruit .read .btns {
  padding: 50px 0 80px 0; }
  @media (max-width: 767px) {
    #recruit .read .btns {
      padding: 30px 0 20px 0; } }

#recruit .read .btns ul {
  text-align: center; }

#recruit .read .btn {
  width: 30%;
  margin: 0 10px;
  box-sizing: border-box;
  display: inline-block;
  position: relative; }
  @media (max-width: 767px) {
    #recruit .read .btn {
      width: 40%; } }

#recruit .read .btn a {
  width: 100%;
  display: block;
  background-color: #938470;
  box-sizing: border-box; }

#recruit .read .btn a.ar2 {
  position: relative; }

#recruit .read .btn a.ar2:after {
  content: "\f105";
  color: #DED9D3;
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

#recruit .read .btn.noactive {
  background-color: #DED9D3 !important;
  display: inline-block;
  background-color: #a21928;
  color: #fff;
  border-radius: 50px;
  text-align: center;
  padding: 8px 25px; }

@media (max-width: 767px) {
  .recruit-box {
    padding: 60px 0 0 0; } }

.recruit-box h4 {
  margin: 0 0 50px 0; }

.recruit-box dl {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  border-bottom: 1px solid #cac5be; }

.recruit-box dl:first-of-type {
  border-top: 1px solid #cac5be; }

.recruit-box dl dt {
  text-align: center;
  font-weight: bolder;
  background-color: #FAF9F9;
  width: 25%;
  padding: 15px 0; }
  @media (max-width: 767px) {
    .recruit-box dl dt {
      width: 28%;
      font-size: 12px;
      padding: 10px 0; } }
  @media (max-width: 359px) {
    .recruit-box dl dt {
      font-size: 11px; } }

.recruit-box dl dd {
  text-align: left;
  width: 75%;
  padding: 15px 25px;
  box-sizing: border-box;
  letter-spacing: 0.5px; }
  @media (max-width: 767px) {
    .recruit-box dl dd {
      letter-spacing: 0px;
      width: 72%;
      font-size: 13px;
      padding: 10px 15px; } }
  @media (max-width: 359px) {
    .recruit-box dl dd {
      font-size: 12px;
      line-height: 1.6; } }

.recruit-box .btn2 {
  padding: 50px 0 80px 0; }

.recruit-box .btn2 a {
  width: auto;
  display: inline-block;
  padding: 8px 35px; }

#recruit02 {
  padding: 50px 0 100px 0;
  border-top: 3px solid #ccc; }

#recruit .noentry {
  border: 1px solid #ccc;
  padding: 80px 30px;
  position: relative; }

#recruit .noentry p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  left: 0;
  width: 100%;
  text-align: center;
  transform: none !important; }

@media (max-width: 767px) {
  #morning h2 {
    font-size: 16px; } }

#morning .inner {
  padding: 80px 0; }
  @media (max-width: 767px) {
    #morning .inner {
      text-align: left;
      padding: 50px 0; } }

#morning .read {
  text-align: center; }
  @media (max-width: 767px) {
    #morning .read {
      text-align: left; } }

#morning .read h3 {
  font-size: 22px;
  font-weight: bolder;
  color: #a21928;
  padding: 0 0 35px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning .read h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #morning .read h3 {
      font-size: 19px; } }
  @media (max-width: 767px) {
    #morning .read h3 {
      text-align: left;
      padding: 0 0 25px 0; } }

#morning .read span {
  display: inline-block;
  padding: 10px 0 0 0; }
  @media (max-width: 767px) {
    #morning .read span {
      display: block;
      text-align: center;
      padding: 20px 0 0 0; } }

#morning .read span.link2 a {
  color: #1a0000;
  text-decoration: underline; }

#morning #sort {
  padding: 80px 0 30px 0;
  text-align: right; }
  @media (max-width: 767px) {
    #morning #sort {
      padding: 80px 0 20px 0; } }

#morning #sort li {
  display: inline-block;
  padding: 0px 0; }

#morning #sort li a {
  color: #999;
  display: inline-block;
  padding: 0 20px;
  line-height: 1.2;
  border-left: 1px solid #999; }

#morning #sort li:last-child a {
  border-right: 1px solid #999; }

#morning #sort a.active {
  color: #1a0000; }

#morning-list {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }
  @media (max-width: 767px) {
    #morning-list {
      display: block; } }

#morning-list dl {
  background-color: #E8C86D;
  width: 31%;
  border-radius: 10px;
  margin: 0 0 30px 0;
  color: #fff;
  box-sizing: border-box;
  padding: 40px 20px 20px 20px;
  position: relative; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-list dl {
      width: 48%; } }
  @media (max-width: 767px) {
    #morning-list dl {
      margin: 0 0 15px;
      padding: 30px 10px 20px 10px;
      width: 100%;
      border-radius: 10px;
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: space-between;
      /*--- safari（PC）用 ---*/
      justify-content: space-between;
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/
      flex-wrap: wrap;
      flex-direction: row-reverse; } }

#morning-list dl.new:before {
  border-color: #a21928 transparent transparent transparent;
  border-style: solid;
  border-width: 60px 60px 0 0;
  content: "";
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  z-index: 2; }
  @media (max-width: 767px) {
    #morning-list dl.new:before {
      border-width: 40px 40px 0 0; } }

#morning-list dl.new:after {
  color: #fff;
  content: "NEW";
  font-size: 12px;
  position: absolute;
  top: 10px;
  left: 6px;
  transform: rotate(-45deg);
  z-index: 3; }
  @media (max-width: 767px) {
    #morning-list dl.new:after {
      top: 4px;
      left: 0px;
      font-size: 10px; } }

#morning-list h4 {
  color: #fff;
  font-size: 17px;
  text-align: center;
  font-weight: bolder;
  line-height: 1.5; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-list h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #morning-list h4 {
      font-size: 16px; } }
  @media (max-width: 359px) {
    #morning-list h4 {
      text-align: left; } }

#morning-list h4 span {
  font-size: 13px;
  display: block;
  font-weight: normal;
  letter-spacing: 0.5px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-list h4 span {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #morning-list h4 span {
      font-size: 12px; } }
  @media (max-width: 359px) {
    #morning-list h4 span {
      font-size: 10px; } }

#morning-list h4 a {
  color: #fff;
  line-height: 1.5; }

#morning-list .city {
  padding: 10px 0;
  text-align: right;
  font-size: 12px; }
  @media (max-width: 767px) {
    #morning-list .city {
      padding: 0; } }

@media (max-width: 767px) {
  #morning-list dt {
    width: 70%; } }
@media (max-width: 359px) {
  #morning-list dt {
    text-align: left; } }

@media (max-width: 767px) {
  #morning-list dd {
    width: 25%; } }
@media (max-width: 359px) {
  #morning-list dd {
    text-align: left; } }

#morning-list dd img {
  border-radius: 10px; }
  @media (max-width: 767px) {
    #morning-list dd img {
      border-radius: 5px; } }

#morning-list .update {
  padding: 10px 0 0 0;
  text-align: right;
  font-size: 11px; }
  @media (max-width: 767px) {
    #morning-list .update {
      width: 100%;
      padding: 0px 0 0 0;
      display: none; } }

#morning-list .is-empty {
  height: 0;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 0;
  margin-bottom: 0; }

#about-morning {
  background-color: #f7f4e7;
  padding: 50px 0 30px 0; }

#about-morning .inner {
  border-radius: 10px;
  padding: 40px 30px;
  box-sizing: border-box;
  background-color: #fff;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #about-morning .inner {
      display: block; } }
  @media (max-width: 767px) {
    #about-morning .inner {
      display: block; } }
  @media (max-width: 359px) {
    #about-morning .inner {
      padding: 25px 15px; } }

#about-morning h3 {
  width: 30%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #about-morning h3 {
      width: 100%; } }
  @media (max-width: 767px) {
    #about-morning h3 {
      width: 100%; } }

#about-morning .txt {
  width: 65%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #about-morning .txt {
      width: 100%; } }
  @media (max-width: 767px) {
    #about-morning .txt {
      width: 100%; } }

#about-morning .txt p {
  padding: 0 0 15px 0; }

#about-morning .txt .biko {
  font-size: 93%;
  color: #999; }

#about-morning .txt .btn2 {
  text-align: right; }

#about-morning .txt .btn2 a {
  width: auto; }
  @media (max-width: 359px) {
    #about-morning .txt .btn2 a {
      font-size: 12px; } }

#about-morning h3 span {
  font-size: 17px;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #about-morning h3 span {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #about-morning h3 span {
      font-size: 16px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #about-morning h3 span {
      padding: 0 0 15px 0; } }
  @media (max-width: 767px) {
    #about-morning h3 span {
      padding: 0 0 10px 0; } }

#morning-post.inner {
  padding: 80px 0 40px 0;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  flex-direction: row-reverse; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-post.inner {
      padding: 80px 0 30px 0; } }
  @media (max-width: 767px) {
    #morning-post.inner {
      display: block;
      padding: 50px 0 0 0; } }

#morning-post.inner .side {
  width: 253px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-post.inner .side {
      width: 25%; } }
  @media (max-width: 767px) {
    #morning-post.inner .side {
      width: 100%; } }

#morning-post.inner .main {
  width: 620px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-post.inner .main {
      width: 70%; } }
  @media (max-width: 767px) {
    #morning-post.inner .main {
      width: 100%; } }

#morning-post .side h4 {
  border-radius: 5px;
  display: block;
  box-sizing: border-box;
  font-size: 15px;
  font-weight: bolder;
  background-color: #a21928;
  padding: 5px 15px;
  color: #fff; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-post .side h4 {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #morning-post .side h4 {
      font-size: 14px; } }

#morning-post.inner .side ul {
  padding: 15px 0; }

#morning-post.inner .side ul li a {
  border-radius: 5px;
  display: block;
  border-bottom: 1px solid #ccc;
  padding: 5px 15px;
  margin: 0 0 0px 0;
  font-size: 15px;
  font-weight: bolder;
  position: relative;
  color: #40220F; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-post.inner .side ul li a {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #morning-post.inner .side ul li a {
      font-size: 14px; } }

#morning-post.inner .side ul li a:hover {
  background: #EFEFEF; }

#morning-post.inner .side ul li a:after {
  content: "\f107";
  color: #a21928;
  position: absolute;
  right: 10px;
  font-family: "Font Awesome 5 Free";
  font-weight: bolder; }

#morning-post.inner .side ul.child {
  list-style: disc;
  width: 80%;
  margin: 0 auto; }

#morning-post.inner .side ul.child li a {
  border-radius: 5px;
  display: block;
  font-weight: normal;
  border-bottom: none;
  padding: 0px 0px 15px 0px;
  margin: 0 0 0px 0;
  font-size: 15px;
  line-height: 1.2;
  color: #40220F;
  text-decoration: underline; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-post.inner .side ul.child li a {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #morning-post.inner .side ul.child li a {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #morning-post.inner .side ul.child li a {
      padding: 0px 0px 5px 0px; } }

#morning-post.inner .side ul.child li a:hover {
  background: none; }

#morning-post.inner .side ul.child li a:after {
  content: none; }

#morning-post h3 {
  border-top: 2px solid #999;
  border-bottom: 2px solid #999;
  font-size: 22px;
  font-weight: bolder;
  padding: 25px 10px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #morning-post h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #morning-post h3 {
      font-size: 19px; } }
  @media (max-width: 767px) {
    #morning-post h3 {
      margin: 0 0 30px 0; } }

@media (max-width: 767px) {
  #morning-post h3 br {
    display: none; } }

#morning-post dl {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 40px 0 25px 0; }
  @media (max-width: 767px) {
    #morning-post dl {
      padding: 15px 0 15px 0;
      display: block; } }

#morning-post dl:nth-child(odd) {
  flex-direction: row-reverse; }

#morning-post dl dt {
  width: 42%; }
  @media (max-width: 767px) {
    #morning-post dl dt {
      width: 65%;
      margin: 0 auto; } }

@media (max-width: 767px) {
  #morning-post dl dt img {
    border-radius: 8px; } }

#morning-post dl dd {
  width: 55%;
  padding: 10px 0;
  line-height: 1.6; }
  @media (max-width: 767px) {
    #morning-post dl dd {
      padding: 10px 0;
      width: 100%;
      line-height: 1.5;
      font-size: 13px; } }

.shopinfo {
  border: 2px solid #a21928;
  border-radius: 10px;
  box-sizing: border-box;
  padding: 30px 20px;
  margin: 15px 0 80px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shopinfo {
      padding: 30px 20px 0px 20px; } }
  @media (max-width: 767px) {
    .shopinfo {
      padding: 20px;
      margin: 15px 0 35px 0; } }

.shopinfo .shopname {
  border-bottom: 2px dotted #a21928;
  padding: 0px 0 15px 0;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }

.shopinfo .shopname h4 {
  font-size: 17px;
  font-weight: bolder; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shopinfo .shopname h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    .shopinfo .shopname h4 {
      font-size: 16px; } }

.shopinfo .shopname span {
  font-size: 13px;
  color: #999; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shopinfo .shopname span {
      font-size: 12px; } }
  @media (max-width: 767px) {
    .shopinfo .shopname span {
      font-size: 12px; } }

.shopinfo-box {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 35px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shopinfo-box {
      padding: 15px 0 0 0; } }
  @media (max-width: 767px) {
    .shopinfo-box {
      -webkit-flex-wrap: wrap;
      /*--- safari（PC）用 ---*/
      flex-wrap: wrap;
      padding: 20px 0 0 0; } }

.shopinfo-box .photo {
  width: 40%; }

.shopinfo-box .txt {
  width: 55%; }

.shopinfo-box .add {
  width: 100%;
  font-size: 13px; }
  @media (max-width: 359px) {
    .shopinfo-box .add {
      font-size: 12px;
      line-height: 1.5; } }

.shopinfo-box .txt h5 {
  font-size: 17px;
  font-weight: bolder;
  padding: 0 0 25px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shopinfo-box .txt h5 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    .shopinfo-box .txt h5 {
      font-size: 16px; } }

.shopinfo-box .txt h5 {
  font-size: 15px;
  font-weight: bolder;
  padding: 0 0 25px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shopinfo-box .txt h5 {
      font-size: 14px; } }
  @media (max-width: 767px) {
    .shopinfo-box .txt h5 {
      font-size: 14px; } }

.shopinfo-box .txt p {
  font-size: 13px;
  padding: 0 0 25px 0;
  line-height: 1.4; }
  @media (min-width: 768px) and (max-width: 1080px) {
    .shopinfo-box .txt p {
      font-size: 12px; } }
  @media (max-width: 767px) {
    .shopinfo-box .txt p {
      font-size: 12px; } }

#morning-post .btn2 {
  text-align: center; }
  @media (max-width: 767px) {
    #morning-post .btn2 {
      padding: 0 0 40px 0; } }

#morning-post .btn2 a {
  width: auto; }
  @media (max-width: 359px) {
    #morning-post .btn2 a {
      font-size: 12px;
      line-height: 1.5; } }

@media print {
  .print {
    display: none; } }
#postpage.archive {
  width: 945px;
  margin: 0 auto;
  text-align: center;
  padding: 60px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage.archive {
      width: 92%; } }
  @media (max-width: 767px) {
    #postpage.archive {
      width: 92%; } }

#postpage.archive dl {
  width: 100%;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  border-bottom: 1px dashed #ccc;
  padding: 20px 0; }
  @media (max-width: 767px) {
    #postpage.archive dl {
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: left;
      /*--- safari（PC）用 ---*/
      justify-content: left; } }

#postpage.archive dt {
  text-align: left;
  font-size: 13px;
  width: 10%;
  color: #999; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage.archive dt {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #postpage.archive dt {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #postpage.archive dt {
      width: 90px; } }

#postpage.archive dd {
  text-align: left; }

#postpage.archive dd.icon {
  font-size: 13px;
  width: 10%;
  padding: 5px 0 0 0;
  line-height: 1.5; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage.archive dd.icon {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #postpage.archive dd.icon {
      font-size: 12px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage.archive dd.icon {
      width: 15%; } }
  @media (max-width: 767px) {
    #postpage.archive dd.icon {
      width: auto;
      padding: 0; } }

#postpage.archive dd.icon span {
  border-radius: 5px;
  padding: 3px 10px;
  text-align: center;
  display: block;
  color: #fff; }
  @media (max-width: 767px) {
    #postpage.archive dd.icon span {
      display: inline-block; } }

#postpage.archive dd.news span {
  background-color: #A39558; }

#postpage.archive dd.event span {
  background-color: #D88827; }

#postpage.archive dd.new span {
  background-color: #79C2D8; }

#postpage.archive dd.other span {
  background-color: #BC8782; }

#postpage.archive dd.txt {
  font-size: 15px;
  width: 75%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage.archive dd.txt {
      font-size: 14px; } }
  @media (max-width: 767px) {
    #postpage.archive dd.txt {
      font-size: 14px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage.archive dd.txt {
      width: 70%; } }
  @media (max-width: 767px) {
    #postpage.archive dd.txt {
      width: 100%;
      padding: 10px 0 0 0;
      line-height: 1.5; } }

#postpage.archive dd a {
  text-decoration: underline; }
  @media (max-width: 767px) {
    #postpage.archive dd a {
      text-decoration: none;
      line-height: 1.5; } }

#postpage.archive .btn {
  margin: 60px 0 60px 0;
  text-align: center; }

#postpage.archive .btn a {
  width: auto;
  display: inline-block; }

#postpage .kiji {
  margin-top: 50px !important; }

#postpage .btn {
  width: 40%;
  margin: 0 auto;
  text-align: center; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage .btn {
      width: 92%; } }
  @media (max-width: 767px) {
    #postpage .btn {
      width: 92%; } }

#postpage .btn a {
  box-sizing: border-box; }

#postpage #pagetitle {
  background: #fff url(../images/blog-pt.jpg) right 65% no-repeat; }

#postpage-box {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  width: 925px;
  padding: 90px 0 0 0;
  margin: 0 auto; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage-box {
      width: 92%;
      display: block;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    #postpage-box {
      width: 92%;
      display: block;
      margin: 0 auto; } }

#postpage #main-area {
  width: 72%;
  padding: 0 0 0 20px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage #main-area {
      width: 100%;
      padding: 0; } }
  @media (max-width: 767px) {
    #postpage #main-area {
      width: 100%;
      padding: 0; } }

#postpage #main-area.info {
  width: 725px !important;
  padding: 90px 0 0 20px;
  margin: 0 auto; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage #main-area.info {
      width: 92% !important;
      padding: 90px 0 0 0; } }
  @media (max-width: 767px) {
    #postpage #main-area.info {
      width: 92% !important;
      padding: 90px 0 0 0; } }

#postpage #side {
  width: 22%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage #side {
      width: 100%;
      padding: 0; } }
  @media (max-width: 767px) {
    #postpage #side {
      width: 100%;
      padding: 0; } }

#postpage .kiji {
  border: 1px solid #ccc;
  padding: 4%;
  box-sizing: border-box;
  margin: 0 0 10% 0; }

#postpage .kiji h3 {
  font-weight: bolder;
  font-family: "Noto Sans Japanese", "Shin Go Regular", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  font-size: 17px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage .kiji h3 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #postpage .kiji h3 {
      font-size: 16px; } }

#postpage .kiji .date {
  text-align: right;
  border-bottom: 2px solid #eee;
  padding: 5px 0 10px 0;
  color: #999; }

#postpage .kiji .date span {
  padding: 0 0px 0 10px;
  font-size: 13px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage .kiji .date span {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #postpage .kiji .date span {
      font-size: 12px; } }

#postpage .kiji .date span.new {
  color: #f7889a;
  padding: 0 10px 0 0;
  font-size: 13px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage .kiji .date span.new {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #postpage .kiji .date span.new {
      font-size: 12px; } }

#postpage .kiji .honbun {
  padding: 4% 0; }

#postpage .kiji .honbun p {
  padding: 0 0 15px 0; }

#postpage .kiji .foot {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  background-color: #f7f5f5;
  padding: 3%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage .kiji .foot {
      display: block; } }
  @media (max-width: 767px) {
    #postpage .kiji .foot {
      display: block; } }

#postpage .kiji .foot .read {
  width: 100%;
  text-align: center;
  padding: 0 0 5% 0; }

#postpage .kiji .foot .info strong {
  font-size: 14px; }

#postpage .kiji .foot .info {
  width: 60%;
  font-size: 12px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage .kiji .foot .info {
      text-align: center;
      width: 100%;
      line-height: 1.5; } }
  @media (max-width: 767px) {
    #postpage .kiji .foot .info {
      text-align: center;
      width: 100%;
      line-height: 1.5; } }

#postpage .kiji .foot .contact {
  width: 35%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage .kiji .foot .contact {
      width: 100%;
      padding: 20px 0 0 0; } }
  @media (max-width: 767px) {
    #postpage .kiji .foot .contact {
      width: 100%;
      padding: 20px 0 0 0; } }

#postpage .kiji .foot .contact .tel {
  margin: 0 auto 10px auto;
  font-weight: bolder;
  font-family: 'Abel', sans-serif;
  font-size: 24px;
  letter-spacing: 0.5; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage .kiji .foot .contact .tel {
      text-align: center; } }
  @media (max-width: 767px) {
    #postpage .kiji .foot .contact .tel {
      text-align: center; } }

#postpage .kiji .foot .contact .tel i {
  font-family: "Font Awesome 5 Free";
  font-size: 21px;
  color: #a21928;
  padding: 0px 0px 0 5px; }

@media (min-width: 768px) and (max-width: 1080px) {
  #postpage .kiji .foot .contact .btn a {
    padding: 5px 0; } }
@media (max-width: 767px) {
  #postpage .kiji .foot .contact .btn a {
    padding: 5px 0; } }

#postpage #side h3 {
  background-color: #000;
  color: #fff;
  font-size: 17px;
  padding: 3px 15px;
  width: 100%;
  font-family: "Noto Sans Japanese", "Shin Go Regular", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bolder;
  margin: 0 0 15px 0;
  box-sizing: border-box; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage #side h3 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #postpage #side h3 {
      font-size: 16px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #postpage #side h3 {
      margin: 0 0 0px 0; } }
  @media (max-width: 767px) {
    #postpage #side h3 {
      margin: 0 0 0px 0; } }

#postpage #side .date {
  display: block;
  font-size: 12px;
  line-height: 1.2;
  color: #999; }

#postpage #side ul {
  width: 100%;
  margin: 0 0 30px 0; }

#postpage #side li {
  display: block;
  padding: 10px 0;
  line-height: 1.2; }

#postpage #side li a {
  text-decoration: underline;
  line-height: 1.5; }

#contact #main-area {
  padding: 90px 0 0px 0;
  text-align: left;
  width: 800px;
  margin: 0 auto; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #contact #main-area {
      width: 92%;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    #contact #main-area {
      width: 92%;
      margin: 0 auto; } }

#contact #main-area dl {
  line-height: 1.5;
  padding: 15px 0 15px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #contact #main-area dl {
      display: block; } }
  @media (max-width: 767px) {
    #contact #main-area dl {
      display: block; } }

#contact #main-area dl label {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #contact #main-area dl label {
      display: block; } }
  @media (max-width: 767px) {
    #contact #main-area dl label {
      display: block; } }

#contact #main-area dt {
  width: 25%;
  font-weight: bolder;
  padding: 10px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #contact #main-area dt {
      width: 100%; } }
  @media (max-width: 767px) {
    #contact #main-area dt {
      width: 100%; } }

#contact #main-area dt span {
  color: #bf2e2e;
  font-size: 13px;
  padding: 10px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #contact #main-area dt span {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #contact #main-area dt span {
      font-size: 12px; } }
  @media (min-width: 768px) and (max-width: 1080px) {
    #contact #main-area dt span {
      padding: 0; } }
  @media (max-width: 767px) {
    #contact #main-area dt span {
      padding: 0; } }

#contact #main-area dd {
  width: 70%; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #contact #main-area dd {
      width: 100%; } }
  @media (max-width: 767px) {
    #contact #main-area dd {
      width: 100%; } }

#contact #main-area dd input, #contact #main-area dd select, #contact #main-area dd textarea {
  border: 1px solid #ccc;
  border-radius: 2px;
  padding: 8px;
  font-size: 15px;
  width: 100%;
  box-sizing: border-box;
  background-color: #f9f9f9; }
#contact #main-area dd input[type="radio"] {
  width:auto;
}

#contact #main-area dd input.p-postal-code {
  width: 20%; }

#contact #main-area dd input:focus, #contact #main-area dd select:focus, #contact #main-area dd textarea:focus {
  background: #ffffff; }

#contact #main-area .privacy-txt {
  text-align: center;
  padding: 30px 0 15px 0; }

#contact #main-area .privacy-txt a {
  text-decoration: underline; }

#contact #main-area input.wpcf7-submit {
  padding: 10px 40px;
  background-color: #a21928;
  display: block;
  color: #fff;
  border-style: none;
  margin: 0 auto;
  width: 45%;
  border-radius: 28px;
  margin: 10px 0 30px 0; }

#kanryo #main-area {
  padding: 180px 0 100px 0;
  text-align: left;
  width: 630px;
  margin: 0 auto; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #kanryo #main-area {
      width: 92%;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    #kanryo #main-area {
      width: 92%;
      margin: 0 auto; } }

#kanryo .txt {
  text-align: center; }

#kanryo .txt h3 {
  margin: 0px 0 25px 0; }

#kanryo .txt p {
  padding: 0px 0 15px 0; }
  @media (max-width: 767px) {
    #kanryo .txt p {
      text-align: left; } }

#kanryo .txt .btn2 {
  padding: 50px 0 0 0;
  text-align: center; }

#kanryo .txt .btn2 a {
  width: 60%;
  padding: 10px 0; }

div.wpcf7-validation-errors, div.wpcf7-acceptance-missing {
  border: 2px solid #e8caca !important;
  background-color: #ffe9e9;
  color: #c36b6b; }

span.wpcf7-not-valid-tip {
  color: #b74d4d !important;
  font-size: 1em;
  font-weight: normal;
  display: block;
  background-color: #ffe9e9;
  text-align: center; }

#sitemap #main-area {
  padding: 90px 0 0px 0;
  text-align: left;
  width: 768px;
  margin: 0 auto; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #sitemap #main-area {
      width: 92%;
      margin: 0 auto; } }
  @media (max-width: 767px) {
    #sitemap #main-area {
      width: 92%;
      margin: 0 auto; } }

#sitemap-area ul li {
  font-size: 17px;
  font-weight: bolder;
  padding: 10px 0;
  line-height: 1; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #sitemap-area ul li {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #sitemap-area ul li {
      font-size: 16px; } }

#sitemap-area ul li a {
  line-height: 1.2; }

#sitemap-area ul li span {
  font-size: 13px;
  font-weight: normal;
  display: block;
  line-height: 1; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #sitemap-area ul li span {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #sitemap-area ul li span {
      font-size: 12px; } }

#sitemap-area ul li ul {
  margin-top: .5em;
  margin-bottom: .75em;
  margin-left: 48px; }

#sitemap-area ul li ul li {
  margin-bottom: .25em;
  position: relative; }

#sitemap-area ul li ul li::before {
  content: "";
  position: absolute;
  top: -0.5em;
  left: -16px;
  width: 10px;
  height: calc(100% + .75em);
  border-left: 1px solid #a21928; }

#sitemap-area ul li ul li:last-child::before {
  height: calc(1em + .25em); }

#sitemap-area ul li ul li::after {
  content: "";
  position: absolute;
  top: .75em;
  left: -16px;
  width: 10px;
  border-bottom: 1px solid #a21928; }

#privacy .read, #privacy dl {
  width: 800px;
  margin: 0 auto; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #privacy .read, #privacy dl {
      width: 100%; } }
  @media (max-width: 767px) {
    #privacy .read, #privacy dl {
      width: 100%; } }

#privacy dl {
  padding: 30px 0; }

#privacy dt {
  font-weight: bold;
  font-size: 17px;
  border-bottom: 2px solid #000;
  display: inline-block;
  margin: 0 0 15px 0;
  padding: 0 0 10px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #privacy dt {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #privacy dt {
      font-size: 16px; } }

#privacy-date {
  text-align: right;
  padding: 30px 0; }

#recipe .read {
  text-align: center;
  padding: 50px 0; }

#recipe-list {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }
  @media (max-width: 767px) {
    #recipe-list {
      display: block; } }

#recipe-list dl {
  width: 47%;
  background-color: #ece9e1;
  box-sizing: border-box;
  padding: 25px;
  margin: 0 0 45px 0;
  box-shadow: 1px 0px 9px 3px #e0e0e0; }
  @media (max-width: 767px) {
    #recipe-list dl {
      width: 100%;
      box-sizing: border-box; } }

#recipe-list dt {
  position: relative; }

.monthname {
  position: absolute;
  top: -15px;
  left: -15px; }

.monthname span {
  display: inline-block;
  position: relative;
  height: 45px;
  /*高さ*/
  line-height: 45px;
  /*高さ*/
  vertical-align: middle;
  text-align: center;
  padding: 0 40px 0 18px;
  /*文字の左右の余白*/
  font-size: 18px;
  /*文字サイズ*/
  background: #ffc668;
  /*背景色*/
  color: #FFF;
  /*文字色*/
  box-sizing: border-box; }

.monthname span:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1; }

.monthname span:after {
  top: 0;
  right: 0;
  border-width: 22px 15px 22px 0px;
  border-color: transparent #ece9e1 transparent transparent;
  border-style: solid; }

#recipe-list dd {
  padding: 5px 40px 0 0;
  line-height: 1.2;
  position: relative; }

#recipe-list dd:after {
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: bolder;
  border-radius: 50%;
  border: 2px solid #a21928;
  color: #a21928;
  padding: 10px 15px 5px 15px;
  box-sizing: border-box;
  height: 40px;
  position: absolute;
  right: 0;
  top: 35%;
  bottom: 50%; }
  @media (max-width: 767px) {
    #recipe-list dd:after {
      right: -20px; } }

#recipe-list dd span {
  color: #a21928;
  font-size: 13px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe-list dd span {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #recipe-list dd span {
      font-size: 12px; } }

#recipe-list dd h4 {
  font-weight: bolder;
  font-size: 17px;
  line-height: 1.4; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe-list dd h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #recipe-list dd h4 {
      font-size: 16px; } }

#recipe-list dd h4 a {
  line-height: 1.4; }

#recipe-list dd h4 small {
  font-size: 13px;
  display: block; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe-list dd h4 small {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #recipe-list dd h4 small {
      font-size: 12px; } }

#recipe-post {
  padding: 50px 0; }

#recipe01 {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 0 0 35px 0; }
  @media (max-width: 767px) {
    #recipe01 {
      display: block; } }

#recipe01 .photo {
  width: 40%; }
  @media (max-width: 767px) {
    #recipe01 .photo {
      width: 100%; } }

#recipe01 .txt {
  width: 55%; }
  @media (max-width: 767px) {
    #recipe01 .txt {
      width: 100%; } }

#recipe01 .txt h3 {
  font-size: 22px;
  font-weight: bolder;
  margin: 10px 0 25px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe01 .txt h3 {
      font-size: 20px; } }
  @media (max-width: 767px) {
    #recipe01 .txt h3 {
      font-size: 19px; } }

#recipe01 .txt h3 small {
  font-size: 13px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe01 .txt h3 small {
      font-size: 12px; } }
  @media (max-width: 767px) {
    #recipe01 .txt h3 small {
      font-size: 12px; } }

#recipe02 {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 35px 0 35px 0; }

#recipe01 .use {
  width: 100%;
  background-color: #f7f4e7;
  border-radius: 10px;
  padding: 2%;
  box-sizing: border-box;
  letter-spacing: 0;
  font-size: 17px;
  margin: 25px 0 0 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe01 .use {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #recipe01 .use {
      font-size: 16px; } }

#recipe01 .use h4 {
  font-size: 17px;
  padding: 0 0 10px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe01 .use h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #recipe01 .use h4 {
      font-size: 16px; } }

#recipe01 .use dl {
  padding: 5px 15px;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  background-color: #fff; }

#recipe01 .use dl dt {
  width: 25%; }

#recipe01 .use dl dd {
  width: 70%;
  padding: 30px 0 0 0; }

#recipe02 .material {
  width: 100%;
  border-top: 3px solid #999;
  border-bottom: 3px solid #999;
  padding: 2%;
  box-sizing: border-box; }

#recipe02 .material h4 {
  font-weight: bolder;
  font-size: 17px;
  padding: 0 0 25px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe02 .material h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #recipe02 .material h4 {
      font-size: 16px; } }

#recipe02 .material ul {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap; }
  @media (max-width: 767px) {
    #recipe02 .material ul {
      display: block; } }

#recipe02 .material ul li {
  width: 45%;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 0 0 15px 0;
  line-height: 1.3; }
  @media (max-width: 767px) {
    #recipe02 .material ul li {
      width: 100%; } }

#recipe02 .material ul li span:first-of-type {
  max-width: 60%; }

#recipe02 .material ul li span.ten {
  width: 20%; }

#recipe03 {
  padding: 35px 35px 50px 35px; }
  @media (max-width: 767px) {
    #recipe03 {
      padding: 20px 35px 50px 35px; } }

#recipe03 h4 {
  font-weight: bolder;
  font-size: 17px;
  padding: 0 0 25px 0; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #recipe03 h4 {
      font-size: 16px; } }
  @media (max-width: 767px) {
    #recipe03 h4 {
      font-size: 16px; } }

#recipe03 .biko {
  color: #666; }

#share {
  background-color: #eee;
  padding: 5%;
  box-sizing: border-box;
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (max-width: 767px) {
    #share {
      text-align: center;
      display: block; } }

#share .print-btn {
  width: 40%;
  border: 1px solid #333;
  padding: 2%;
  text-align: center;
  box-sizing: border-box; }

#share .print-btn a {
  display: block;
  width: 100%; }

#share .link {
  width: 30%; }
  @media (max-width: 767px) {
    #share .link {
      width: 100%; } }

#share .link:after {
  content: "";
  display: none; }

#share .link ul {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between; }
  @media (max-width: 767px) {
    #share .link ul {
      display: -webkit-box;
      /*--- Androidブラウザ用 ---*/
      display: -ms-flexbox;
      /*--- IE10 ---*/
      display: -webkit-flex;
      /*--- safari（PC）用 ---*/
      display: flex;
      -webkit-box-pack: justify;
      /*--- Androidブラウザ用 ---*/
      -ms-flex-pack: justify;
      /*--- IE10 ---*/
      -webkit-justify-content: center;
      /*--- safari（PC）用 ---*/
      justify-content: center; } }

#share .tt {
  padding: 10px 0 0 0; }

#share .link ul li {
  width: 25%;
  font-weight: bolder;
  font-family: "Font Awesome 5 Free";
  font-size: 24px; }
  @media (min-width: 768px) and (max-width: 1080px) {
    #share .link ul li {
      font-size: 23px; } }
  @media (max-width: 767px) {
    #share .link ul li {
      font-size: 18px; } }
  @media (max-width: 767px) {
    #share .link ul li {
      width: 50px;
      padding: 0 10px 0; } }

#share .link ul li a {
  border-radius: 50%;
  color: #fff;
  text-align: center;
  display: block;
  box-sizing: border-box; }

#share .link ul li.tw a {
  background-color: #59cce4;
  padding: 10px 0; }

#share .link ul li.fb a {
  background-color: #063c9a;
  padding: 10px 0; }

#share .link ul li.line a {
  background-color: #149a09;
  padding: 10px 0px; }

#paging {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 40px 0; }
  @media (max-width: 767px) {
    #paging {
      display: block; } }

#paging a {
  color: #a21928;
  text-decoration: underline; }

#paging li {
  width: 50%; }
  @media (max-width: 767px) {
    #paging li {
      width: 100%; } }

#paging li:nth-of-type(2) {
  text-align: right; }

.retuen {
  width: 20%; }
  @media (max-width: 767px) {
    .retuen {
      width: 80%; } }


article, aside, details, figcaption, figure, hgroup, menu, nav, section {
  display: block; }
#media-archive{

}
.media-archive li{
  padding: 2% 0;
  border-bottom: 1px dotted #ccc;
}
.media-archive .date{
  font-size: 0.9em;
  color: #a21928;
}
.media-archive h3{
  font-size: 1.2em;
  font-weight: bolder;
}
.media-archive .naiyou{
  font-size: 0.9em;
}
.media-archive .icon-tv{
  background-color: #e09d00;
}
.media-archive .icon-radio{
  background-color: #9ccc65;
}
.media-archive .icon-magazine {
    background-color: #278ab0;

}
.media-archive .icon-other{
  background-color: #d85984;
}
.media-archive .icon{
    color: #fff; 
    font-size: 0.8em;
    font-weight: normal;
    padding: 3px 10px;
    margin: 0 5px 0 0;
    border-radius: 3px;    
}

.top-bns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  width: 945px;
  margin: 40px auto 40px;
  text-align: center;}
  @media (min-width: 768px) and (max-width: 1080px) {
    .top-bns {
      width: 92%; } }
  @media (max-width: 767px) {
    .top-bns {
      width: 92%; } }


.top-bns p {
  width: 460px;
  display: inline-block;
}


.top-bns p img {
  max-width: 460px;
  height: auto;
}
#sdgs .read{
  padding: 2.5rem 0 3.5rem 0;
  border-bottom:3px solid #ccc;
  text-align: center;
  color:#666;
}
#sdgs .logo{
  padding: 0 0 1rem 0;
}

#sdgs {
  padding: 0 0 2rem 0;
}
#sdgs .honbun{
  padding: 3rem 0;
  text-align: center;  
}
  @media (min-width: 521px) and (max-width: 1080px) {
    #sdgs .honbun{
      text-align: center;} }
  @media (max-width: 520px) {
    #sdgs .honbun {
      text-align: left;} }
#sdgs .honbun h3{
  font-size: 1.5rem;
  font-weight: bolder;
  padding: 2rem 0 2.5rem 0;
  text-align: center;
}
#sdgs .honbun h3 small{
  font-size: 0.8em;
  display: block;
}
#sdgs .honbun　p{
  padding: 1.5rem 0;
  text-align: center;
}
#sdgs .sdgsbox{
  padding: 1.2rem ;
  border-radius:0.5rem;
  box-sizing: border-box;
  display: flex;
justify-content:space-between;  
  margin:0 0 2.5rem 0;
  align-items: center;
}
  @media (min-width: 521px) and (max-width: 1080px) {
    #sdgs .sdgsbox{
       padding: 1rem;   
       display: flex;
justify-content:space-between; } 
    }
  @media (max-width: 520px) {
    #sdgs .sdgsbox{
       padding: 1rem ;   
      display: block;}
    }
#sdgs .sdgsbox dt{
  width:230px;
  box-sizing: border-box;  
}
  @media (min-width: 521px) and (max-width: 1080px) {
    #sdgs .sdgsbox dt{
  width:28%;
  box-sizing: border-box;
  text-align: center;
  }
  }

  @media (max-width: 520px) {
    #sdgs .sdgsbox dt{
      margin: 0 auto 1rem auto;
      width: 100%;
      text-align: center;
   }
 }
  @media (min-width: 521px) and (max-width: 1080px) {
    #sdgs .sdgsbox dt img{
      margin: 0 auto;
      width: 100%;
      height: auto;
  }
     }
  @media (max-width: 520px) {
    #sdgs .sdgsbox dt img{
      margin: 0 auto;
      width: 50%;
      height: auto;
  }
 }
#sdgs .sdgsbox dt small{
  text-align: center;
  color:#fff;
  display: block;
  line-height: 1.3;
  }
#sdgs .sdgsbox dd{
  width:670px;
  border-radius:0.5rem;
  background-color: #fff;
  box-sizing: border-box; 
  padding: 1.5rem;   
}
  @media (min-width: 521px) and (max-width: 1080px) {
    #sdgs .sdgsbox dd{
         width:70%;}
     }
  @media (max-width: 520px) {
    #sdgs .sdgsbox dd{
     width:100%;
   }
 }
#sdgs .sdgsbox dd h4{
  font-weight: bolder;
  font-size: 1.3rem;
  padding: 1rem 0 1rem 0;

}
#sdgs .sdgsbox dd p{
  padding:.5rem 0;
  line-height: 1.5;
  }
#sdgs01{
  background-color: #c60f28;
}
#sdgs02{
  background-color: #f5a30a;
}
#sdgs03{
  background-color: #D29304;
}
#sdgs01 h4{
  color: #c60f28;
}
#sdgs02 h4{
  color: #f5a30a;
}
#sdgs03 h4{
  color: #D29304;
}
/*
#top-recipe {
  text-align: center; }
  @media (max-width: 767px) {
    #top-recipe {
      width: 85%;
      text-align: center;
      margin: 0 auto; } }
*/
#liaison-for-business .read{
  padding: 3rem 0;
  text-align: center;
}
  @media (min-width: 521px) and (max-width: 1080px) {
    #liaison-for-business .read{
         text-align: center;}
     }
  @media (max-width: 520px) {
    #liaison-for-business .read{
     text-align: left
   }
 }
#liaison-for-business .bgarea{
  padding: 2rem 0;
  background: url(../images/common/liaison-for-business-bg.jpg) center center no-repeat;
  background-size: cover;
}
#liaison-for-business .bgarea .inner2{
  width:75%;
  margin:0 auto;
  background-color: #ffffffeb;  
}
  @media (min-width: 521px) and (max-width: 1080px) {
    #liaison-for-business .bgarea .inner2{
         width:90%;}
     }
  @media (max-width: 520px) {
    #liaison-for-business .bgarea .inner2{
     width:90%;
     padding: .5rem;
     box-sizing: border-box;
   }
 }

#liaison-for-business dl{
  padding: 3rem 0;
  text-align: center;
}
#liaison-for-business dl:first-of-type{
  border-bottom: 1px solid #ccc;
}
#liaison-for-business dt{
  font-size: 1.3em;
  font-weight: bolder;
  color:#524D4D;
}
#liaison-for-business dd{
  color:#524D4D;
  padding: 2rem 0 0 0;
}
#liaison-for-business dd .btn2 a{
  width:38%;
  box-sizing: border-box;
  margin:2rem 0 0 0;
   background-color: #ffffff9c; 
   transition:  all 0.7s;  
}
  @media (min-width: 521px) and (max-width: 1080px) {
    #liaison-for-business dd .btn2 a{
         width:38%;}
     }
  @media (max-width: 520px) {
    #liaison-for-business dd .btn2 a{
     width:80%;
   }
 }
#liaison-for-business dd .btn2 a:hover{
  background-color: #fff;
}
.pt-small{
  font-size: 0.7em;
  line-height: 1.8;

}
.liaison-for-business-btn{
    position: fixed;
    bottom: 1rem;
    right: 8vw;
    border:3px solid #eee;
    border-radius: 50%;
    width: 140px;
    height: 140px;
    text-align: center;
    font-size: .9rem;
    z-index: 9999;
    background-color: #fff;
    transition: all 0.5s ease-out;
}
  @media (min-width: 521px) and (max-width: 1080px) {
   .liaison-for-business-btn{
    width: 140px;
    height: 140px;}
     }
  @media (max-width: 520px) {
    .liaison-for-business-btn{
    width: 100px;
    height: 100px;
   }
 }
.float {
    animation: float 2s linear infinite;
    transform-origin: 50% 50%;
}
@keyframes float {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
  100% {
    transform: translateY(0);
  }
}
.liaison-for-business-btn a {
    position: relative;
    display: block;
    height: 140px;
    width: 140px;
    font-weight: bolder;
    line-height: 1.6;
}
  @media (max-width: 520px) {
  .liaison-for-business-btn a{
    font-size: 0.8em;
    width: 100px;
    height: 100px;
   }
 }
.liaison-for-business-btn a small{
  font-size: 0.6em;
  color:#a21828;
  letter-spacing: 0; 
  margin:0.2em 0 0 0; 
  }
.liaison-for-business-btn a:link small,.liaison-for-business-btn a:link i{
  color:#a21828;
  }    
.liaison-for-business-btn a:visited small,.liaison-for-business-btn a:visited i{
  color:#a21828;
  }  
  @media (max-width: 520px) {
  .liaison-for-business-btn a small{
    font-size: 0.5em;
    letter-spacing: 0;
   } 
   } 
  .liaison-for-business-btn a i{
  font-size: 1.4em;
  margin:0.3em 0 0 0;
  color:#a21828;
  }
.liaison-for-business-btn span {
  width:93%;
  margin:0 auto;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); 
}
.fa-angle-right:before {
    content: "\f105";
    font-weight: 700;
    /* text-decoration: line-through; */
    font-style: normal;
    font-family: "Font Awesome 5 Free";
}

#recruit-interview{

}
#recruit-interview .interview-box{
  border-radius:1rem;
  border: 3px solid #eee;
  padding: 1.5rem;
  margin:2.5rem 0;  
}
#recruit-interview .interview-box .head{
  padding: 0 0 1rem 0;
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
    display:flex;
    -webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack:justify;/*--- IE10 ---*/
    -webkit-justify-content:left;/*--- safari（PC）用 ---*/
    justify-content:left;
    align-items: center;

}
#recruit-interview .interview-box .busyo{
  background-color: #8A7966;
  color:#fff;
  font-size: 15px;
  font-weight: bolder;
  padding: .2rem 2rem;
  margin:0 1rem 0 0;
}
#recruit-interview .interview-box .reki{
  font-weight: bolder;
}
#recruit-interview .interview-box h3{
    color: #9F1827;
    font-size: 1.35rem;
    font-weight: bolder;
    border-bottom: 2px dotted #eee;
    padding: 0rem 0 1rem 0;
}
#recruit-interview .interview-box .pc-flex{
    padding: 2rem 0;

    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
    display:flex;
    -webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack:justify;/*--- IE10 ---*/
    -webkit-justify-content:space-between;/*--- safari（PC）用 ---*/
    justify-content:space-between;


}
#recruit-interview .interview-box .photo{
  width:30%;
}
#recruit-interview .interview-box .honbun{
  width:65%;
}
#interview-navi{
    display:-webkit-box;/*--- Androidブラウザ用 ---*/
    display:-ms-flexbox;/*--- IE10 ---*/
    display: -webkit-flex;/*--- safari（PC）用 ---*/
    display:flex;
    -webkit-box-pack:justify;/*--- Androidブラウザ用 ---*/
    -ms-flex-pack:justify;/*--- IE10 ---*/
    -webkit-justify-content:flex-start;/*--- safari（PC）用※260122修正 ---*/
    justify-content:flex-start;
    -webkit-flex-wrap:wrap;/*--- safari（PC）用 ---*/
    flex-wrap:wrap;
}
#recruit-interview .read{
  text-align: center;
  padding: 3rem 0;
}
#interview-navi li{
  width:25%;
  box-sizing: border-box;
  padding: .5rem 1rem;
}
#interview-navi li a{
  display:block;
  background-color: #8A7966;
  color:#fff;
  font-size: 15px;
  font-weight: bolder;
  padding: .5rem 2rem;
  box-sizing: border-box;
  width:100%; 
  text-align: center;
  transition: all .5s;
}
#interview-navi li a:hover{
  opacity:0.6;
}
#recruit-interview .btn{
    width: 100%;
    display: block;
    box-sizing: border-box;
    text-align: center;
}  
#recruit-interview .btn a{
    width: auto;
    display: inline-block;
    background-color: #938470;
    box-sizing: border-box;
    padding: 8px 35px;
}
#recruit-interview .btn a.ar2:after {
    content: "\f105";
    color: #DED9D3;
    position: absolute;
    right: 10px;
    font-family: "Font Awesome 5 Free";
    font-weight: bolder;
}
.interview-bn{
  padding: 0 0 2rem 0;
  transition:all .5s;

}
.interview-bn:hover{
  opacity:0.6;

}
#recruit .msg-box{
  border: 1px solid #e3e3e3;
  box-shadow: 0px 2px 5px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;

}  
@media (max-width: 767px) {
#recruit .msg-box{
  padding: 1.5rem 1.5rem 0 1.5rem;

}
}
#recruit .msg-box  h3{
    font-weight: bolder;
}
#recruit .msg-box  h3:after{
  display: block;
  margin:2rem auto;
  width:20%;
  height: 3px;
  background-color: #a21828;
  content:"";
}  
@media (min-width: 521px) and (max-width: 1080px) {


}
@media (max-width: 520px) {
#recruit-interview .interview-bn{
  padding: 0 0 0rem 0;

}   
  #recruit-interview .interview-box{
    padding: 1rem;
  }
#recruit-interview .interview-box .busyo{
  font-size: 13px;
  padding: .2rem .5rem;
    margin: 0 0.5rem 0 0;  
}
#recruit-interview .interview-box .reki{
  font-size: 12px;
}
#recruit-interview .interview-box h3{
    font-size: 1rem;
}  
#recruit-interview .interview-box .pc-flex{
    padding: 1rem 0 0 0;
    display: block;

}  
#recruit-interview .read{
  text-align: left;
  padding: 3rem 0;
}  
#recruit-interview .interview-box .photo{
  width:100%;
  padding: 0rem 0 .5rem 0;  
}
#recruit-interview .interview-box .honbun{
  width:100%;
}
#interview-navi li{
  width:auto;
  box-sizing: border-box;
  padding: .2rem .2rem;
}
#interview-navi li a{
  display:block;
  background-color: #8A7966;
  color:#fff;
  font-size: 13px;
  font-weight: normal;
  padding: .2rem .5rem;
  box-sizing: border-box;
  width:100%; 
  text-align: center;
  transition: all .5s;
}
}

footer .catalogdl i {
    text-decoration: none;
    color: #a21928;
    padding: 0 0 0 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: bolder;
    font-style: normal;
}