@charset "UTF-8";
#site-link-utility, #site-link-utility li a, #site-link-utility li button, .main.flex .content, #local-special-01 .link, #local-special-01 .link li, #local-special-01 .link li a, #header .header-inner .header-utility, #header .header-inner .header-utility .header-lang > .header-lang-inner, #header .header-inner .header-utility .header-lang > .header-lang-inner .lang-list, #header .header-inner .header-utility .header-lang.open > .header-lang-inner .lang-list, #global .global-list-01, .list-des-02, .list-img-02, .list-backnumber-01, .list-process-01 li, .list-link-01, .list-input-01, .list-input-01 li, .list-input-01 li label, .list-input-01 li span, .link-img-01 li a, .link-img-01.col2, .link-img-02.col2, .link-sns-01, .link-anchor-02, .link-anchor-02 li, .link-anchor-02 li a, .link-anchor-03 li a, .link-anchor-03 li .link, .link-news-01 > li a, .link-news-01 > li .link, .link-news-02 > li, .link-news-02 > li .box, .link-news-02 > li .box .img + .txt, .link-bnr-01, .link-faq-01 .link-faq-inner li, .link-sitemap, .link-tab-01 > .link, .link-tab-01 > .link li, .link-tab-01 > .link li a, .link-list-03, .link-list-03 li, .link-list-03 li a, .link-recipe-howto, .link-anchor-04, .hdg-01-03 .hdg-box-link-01 a, .box-04, .box-04 .visual, .box-search-01 .box-search-inner, .box-search-01 form, .box-search-02 .search-column, .box-search-02 .search-link-01, .box-select-01 .form-search, .box-select-01 .form-list, .box-select-01 .form-list > li, .box-select-02 .form-search, .box-select-02 .form-list, .box-customer-01.herb, .box-bnr-01 a, .box-bnr-02, .box-parger-01, .box-parger-01 ul, .box-material-01 .item li, .box-cm-01, .layout-04, .layout-recipe-01 .list-type, .layout-news-01.top.col2, .column, .column > .col > [class^="box-"], .btn-list-01, .index-01 .panel-01, .index-01 .panel-02, .index-01 .panel-03, .index-01 .panel-01 > li, .index-01 .panel-02 > li, .index-01 .panel-03 > li, .index-01 .slick-track > li, .index-01 .panel-02 > li a, .index-01 .slick-track > li a, .index-01 .list-type, .index-02 .panel-01, .index-02 .panel-01 li, .index-02 .panel-01 li a, .index-03 .panel-01, .index-04, .index-04 li a .img, .index-05, .index-06, .index-07 .panel-01, .index-07 .panel-01 > li, .index-08 .panel-01, .index-08 .panel-01 > li, .index-icon-01 .panel-01, .index-icon-01 .panel-01 > li, .index-10, .index-10 .item, .index-10 .item a, .index-12, .index-12 .item, .index-12 .item a, .index-11, .index-13, .index-13 .panel-01, .index-13 .panel-01 .data, .index-13 .panel-01 .link-01, .index-14, .index-14 li, .carousel-recipe-start .slick-track, .carousel-recipe-start .slick-list, .carousel-recipe-start .slick-track > li, .carousel-recipe-start .slick-list > li, .box-tab-01 .tab-link-01 > .link, .box-tab-01 .tab-link-01 > .link li, .box-tab-01 .tab-link-01 > .link li a, .carousel-movie .slick-list, .carousel-movie .slick-track, .carousel-movie .list-01, .carousel-movie .list-01 li, .main.brand .box-carousel-brand .slick-dots, .main.brand .product .box-img-01, .main#site-search .box-search-result, .main#site-search .box-search-result .result-sort, .main#site-search .box-search-item > a, .main.faq .column.col2 .col, .main.faq .list-news-faq, .main.faq .faq-box-01 .faq-box-hdg,
.main.faq-list.free .faq-box-01 .faq-box-hdg, .main.faq .faq-box-01 .index-08,
.main.faq-list.free .faq-box-01 .index-08, .main.faq .faq-box-02,
.main.faq-list.free .faq-box-02, .main#jiten .box-carousel-detail .list-01, .box-jiten-01 .jiten-img, .box-detail-01.col .box-inner, .box-detail-01 .box-inner li a, #box-detail-02, #box-detail-modal, #box-detail-02 .detail-img li, #box-detail-modal .detail-img li, #box-detail-02 .detail-img li > .img, #box-detail-modal .detail-img li > .img, .main#shop .main-item, .main#shop .main-item .introduction .box .img-list-01, .main#shop .main-item .panel .img-list-02, .sbsoken-box-01 .utility, .sbsoken-box-01 .utility .btn, .main#sbsoken .link-list-03 .sbsoken a > span, .resipe-hdg-utility, .main.recipe .content.recipe-02 .search-link-01, .main.recipe .recipe-conten-01, .main.recipe .recipe-conten-01 > .feature, .main.recipe .recipe-conten-01 > .hearb, .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01, .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-visual-01, .main#recipe-detail #recipe-detail-box, .main#recipe-detail #recipe-detail-box > .detail-content, .main#recipe-detail #recipe-detail-box > .detail-content .type, .main#recipe-detail #box-howto, .main#recipe-detail .box-carousel-recipe-prodct, .main#recipe-detail .box-carousel-recipe-prodct .item, .main#recipe-detail .box-carousel-recipe-prodct .item .slick-list,
.main#recipe-detail .box-carousel-recipe-prodct .item .slick-track, .main#recipe-detail .box-carousel-recipe-prodct .item .list-01, .main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li, .main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li .list-inner, .main#recipe-detail .box-carousel-recipe-prodct .item .link, .main#recipe-detail .recipe-table-nutrition, .main#recipe-pickup-detail #pickup-detail-content .content-inner, .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name, .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box, .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner, .main#recipe-pickup-detail .pickup-detail-box-01.col, .main#recipe-search-result .recipe-search-utility, .main#recipe-search-result .box-search-01 .box-keyword, .main#recipe-search-result .box-search-01 .box-keyword .recipe-search-link-01, .main#recipe-feature-backnumber .recipe-feature-box-01, .main#recipe-feature-backnumber .link-list-02.col2, .main#recipe-feature-backnumber .link-list-02.col2 > li, .main#recipe-feature-backnumber .link-list-02.col2 > li a, .main#myrecipe .myrecipe-box-01, .main#recipe-search .box-search-01 .box-keyword, .main#recipe-search .box-search-01 .box-keyword .recipe-search-link-01, .recipe-input-01, .recipe-input-01 li, .recipe-input-01 li label, .recipe-input-01 li span, .main#products .products-hdg-utility, .main#products .products-pickup-01, .main#products .products-pickup-01 .item, .main#products .products-pickup-01 .item .item-inner, .main#products .product-hdg-box, .main#products-new #box-input, .main#products-detail .product-detail-aside-01 .aside-inner > a, .main#products-detail .product-detail-aside-01 .aside-inner > .link, .main#products-detail .product-end-01 .end-inner a, .main#products-category-brand .box-category-brand-01,
.main#recipe-search-category-brand .box-category-brand-01, .main#products-category-brand .index-04 li a,
.main#recipe-search-category-brand .index-04 li a, .main#products-category-brand .index-04 li a .img,
.main#recipe-search-category-brand .index-04 li a .img {
  display: -webkit-flex;
  display: flex;
}

#header .header-inner::after, .list-desc-01.col::after, .link-list-01.col::after, .link-img-02 li a::after, .link-anchor-01::after, .content-movie-01 .box-main-01::after, .layout-01::after, .layout-03::after, .layout-recipe-01::after, .layout-news-01::after, table .list-des-02::after, .box-faq-02 .answer::after, .box-jiten-01::after, .resipe-hdg-utility::after, .main.recipe .recipe-conten-01 > .feature .feature-inner .feature-visual-01::after, .main#products .products-hdg-utility::after {
  content: "";
  clear: both;
  display: block;
}

.main.flex .search-content, .main.flex .content, .content .content-inner, .content-movie-01 .content-inner, .aside-content-01 .content-inner, .aside-content-02 .content-inner, .aside-content-03 .content-inner, #local .local-inner, .hdg-01-01 .hdg-inner, .hdg-01-02 .hdg-inner, .hdg-01-03 .hdg-inner, .box-carousel-01, .main#recipe-pickup-detail #pickup-detail-content .content-inner, .main#products-detail .product-detail-aside-01 .aside-inner {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
}

/*  reset
-----------------------------------------*/
* {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font-weight: normal;
  vertical-align: baseline;
}

*, *::before, *::after {
  box-sizing: border-box;
}

article, aside, details, figcaption, figure, main,
footer, header, hgroup, menu, nav, section {
  display: block;
}

html {
  line-height: 1;
}

input:not([type="radio"]):not([type="checkbox"]) {
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
}

textarea, button, select {
  margin: 0;
  padding: 0;
  -moz-appearance: none;
  -ms-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
}

ol, ul {
  list-style: none;
}

main {
  display: block;
}

select::-ms-expand {
  display: none;
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  box-shadow: none;
  cursor: pointer;
}

a {
  text-decoration: none;
}

/*  base
-----------------------------------------*/
html {
  font-size: 10px;
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
  background: #fff;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

@media only screen and (max-width: 1109px) {
  html {
    word-break: break-all;
  }
}

body {
  font-size: 1.6em;
  line-height: 1.8;
  color: #000;
}

body.select {
  position: fixed;
  z-index: -1;
  width: 100%;
}

body.select::before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.3);
  position: absolute;
  z-index: 2;
}

@media only screen and (max-width: 868px) {
  body {
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

body img {
  vertical-align: bottom;
  height: auto;
  max-width: 100%;
}

a, button {
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
  text-decoration: none;
  color: #00836b;
}

input:not([type="radio"]), textarea {
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
}

input:not([type="radio"])::-webkit-search-cancel-button, textarea::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

sup {
  font-size: 75%;
  vertical-align: top;
}

sub {
  font-size: 75%;
  vertical-align: bottom;
}

p {
  margin-top: 20px;
}

p + p {
  margin-top: 12px;
}

p + [class^="link-"],
p + [class^="list-"] {
  margin-top: 8px;
}

@media only screen and (max-width: 868px) {
  p + p {
    margin-top: 8px;
  }
}

b {
  font-weight: bold;
}

strong {
  font-weight: bold;
  color: #d62828;
}

/*  page
-----------------------------------------*/
#page {
  overflow: hidden;
  position: relative;
  height: 100%;
}

/*  header JS
-----------------------------------------*/
@media only screen and (max-width: 868px) {
  #header .header-inner .header-utility.close {
    display: none;
  }
}

/*  site-link-utility
-----------------------------------------*/
#site-link-utility {
  position: fixed;
  right: 20px;
  bottom: 30px;
  z-index: 999;
}

#site-link-utility li {
  font-size: 1rem;
}

#site-link-utility li + li {
  padding-left: 10px;
}

#site-link-utility li a, #site-link-utility li button {
  transition: .3s all;
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  width: 50px;
  height: 50px;
  border-radius: 100px;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

#site-link-utility li a > span span, #site-link-utility li button > span span {
  font-weight: bold;
  display: inline-block;
  position: relative;
}

#site-link-utility li a > span span::before, #site-link-utility li button > span span::before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  will-change: transform;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  left: 50%;
  top: 2px;
}

#site-link-utility li a:hover, #site-link-utility li a:focus, #site-link-utility li button:hover, #site-link-utility li button:focus {
  background: black;
}

#site-link-utility #page-back a > span span,
#site-link-utility #page-back button > span span {
  padding-top: 17px;
}

#site-link-utility #page-back a > span span::before,
#site-link-utility #page-back button > span span::before {
  margin-left: -4px;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
}

#site-link-utility #page-top a > span span,
#site-link-utility #page-top button > span span {
  padding-top: 12px;
}

#site-link-utility #page-top a > span span::before,
#site-link-utility #page-top button > span span::before {
  margin-left: -6px;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
}

@media only screen and (max-width: 868px) {
  #site-link-utility li a, #site-link-utility li button {
    background: rgba(0, 0, 0, 0.5);
  }
  #site-link-utility li a:hover, #site-link-utility li a:focus, #site-link-utility li button:hover, #site-link-utility li button:focus {
    background: rgba(0, 0, 0, 0.5);
  }
}

/*  breadcrumb
-----------------------------------------*/
.breadcrumb {
  background: #f8f5e6;
  padding: 0 20px;
  box-shadow: 0px 4px 4px -4px #979797 inset;
}

.breadcrumb p {
  font-size: 1.2rem;
  max-width: 1280px;
  margin: 0 auto;
  padding: 9px 0 8px 0;
}

.breadcrumb p em {
  color: #666;
}

.breadcrumb p a {
  color: #666;
  text-decoration: underline;
  padding-right: 24px;
  position: relative;
  display: inline-block;
}

.breadcrumb p a:first-child {
  padding-left: 19px;
  background: url("/common/images/icon-breadcrumb-01.gif") no-repeat left 0.2em;
}

.breadcrumb p a:hover, .breadcrumb p a:focus {
  text-decoration: none;
}

.breadcrumb p a::after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-top: solid 1px #666;
  border-right: solid 1px #666;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -2.5px;
  position: absolute;
  top: 50%;
  right: 9px;
}

.breadcrumb p em {
  font-style: normal;
}

@media only screen and (max-width: 868px) {
  .breadcrumb {
    border-top: #d2cfc6 1px solid;
  }
  .breadcrumb p {
    font-size: 1rem;
  }
  .breadcrumb p a {
    padding-right: 16px;
  }
  .breadcrumb p a::after {
    width: 5px;
    height: 5px;
    border-top: solid 1px #666;
    border-right: solid 1px #666;
    margin-top: -2.5px;
    right: 7px;
  }
}

/*  main
-----------------------------------------*/
.main.small .content .content-inner {
  max-width: 960px;
}

.main.flex {
  padding: 0 20px;
}

.main.flex .breadcrumb {
  margin: 0 -20px;
}

.main.flex .hdg-01-01 {
  padding: 0;
}

.main.flex .search-content {
  margin-top: 40px;
}

.main.flex .search-content .search-txt {
  margin-top: 0;
  margin-bottom: 16px;
}

.main.flex .search-content .search-content-select-wrap {
  display: flex;
}

.main.flex .content {
  padding: 0;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main.flex .content-inner {
  width: 77.734375%;
  padding-right: 40px;
}

.main.flex .side-content {
  width: 22.265625%;
  padding: 50px 0;
}

.main.flex .side-content > *:first-child {
  margin-top: 0;
}

.main.nowrap {
  word-wrap: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.main.nowrap table {
  word-break: normal;
}

@media only screen and (max-width: 868px) {
  .main.flex .content {
    display: block;
  }
  .main.flex .content-inner {
    width: 100%;
    padding-right: 0;
  }
  .main.flex .side-content {
    width: 100%;
    padding: 30px 0 50px 0;
  }
  .main.flex .search-content {
    max-width: 550px;
    margin: 40px auto 0;
  }
  .main.flex .search-content .search-content-select-wrap {
    display: block;
  }
}

/*  content
-----------------------------------------*/
.content {
  padding: 0 20px;
}

.content.unique-style {
  font-family: "UDタイポス58", "UDTypos58" !important;
  font-size: 1.55rem;
}

.content.unique-style-02 {
  font-family: "黎ミン M", "Reimin Medium" !important;
  font-size: 1.55rem;
}

.content .content-inner {
  padding-top: 32px;
  padding-bottom: 50px;
}

.content .content-inner > *:first-child {
  margin-top: 0;
}

.content .content-inner > .index-04:first-child {
  margin-top: -20px;
}

@media only screen and (max-width: 868px) {
  .content .content-inner {
    padding-bottom: 40px;
  }
}

@media only screen and (max-width: 868px) {
  .hdg-01-01.line + .content .content-inner {
    padding-top: 0;
    padding-bottom: 40px;
  }
}

/*  content movie
-----------------------------------------*/
.content-movie-01 {
  padding: 0 20px;
  background: url("/common/images/bg-01.jpg");
}

.content-movie-01 .content-inner {
  padding: 50px 0;
  margin-top: 32px;
  margin-bottom: 50px;
}

.content-movie-01 .content-inner > *:first-child {
  margin-top: 0;
}

.content-movie-01 .content-inner > .index-04:first-child {
  margin-top: -20px;
}

@media only screen and (max-width: 868px) {
  .content-movie-01 .content-inner {
    padding: 30px 0;
    margin-bottom: 40px;
  }
}

@media only screen and (max-width: 868px) {
  .hdg-01-01.line + .content-movie-01 .content-inner {
    margin-top: 0;
    margin-bottom: 40px;
  }
}

/*  aside
-----------------------------------------*/
.aside-content-01 {
  background: #f8f5e6;
  padding: 0 20px;
}

.aside-content-01 .content-inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

.aside-content-01 .content-inner > *:first-child {
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .aside-content-01 .content-inner {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

.aside-content-02 {
  background: #f8f5e6;
  padding: 0 20px 60px 20px;
}

.aside-content-02 .content-inner {
  padding-top: 60px;
}

.aside-content-02 .content-inner > *:first-child {
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .aside-content-02 {
    padding-bottom: 50px;
  }
  .aside-content-02 .content-inner {
    padding-top: 50px;
  }
}

.aside-content-03 {
  padding: 0 20px;
}

.aside-content-03 .content-inner {
  padding: 40px 0;
}

.aside-content-03 .content-inner > *:first-child {
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .aside-content-03 .content-inner {
    padding: 30px 0;
  }
}

/*  local
-----------------------------------------*/
#local {
  border-top: #e7e4d9 1px solid;
  padding: 0 20px;
}

#local .local-inner .local-list-01 {
  text-align: center;
  padding: 20px 0 28px 0;
  margin: 0 -20px;
}

#local .local-inner .local-list-01 li {
  padding: 0 20px;
  margin-top: 15px;
  display: inline-block;
  font-size: 1.5rem;
}

#local .local-inner .local-list-01 li a {
  color: #000;
  text-decoration: none;
  display: inline-block;
}

#local .local-inner .local-list-01 li a:hover, #local .local-inner .local-list-01 li a:focus {
  color: #1b9974;
}

#local .local-inner .local-list-01 li.current a {
  font-weight: bold;
  color: #d62828;
  border-bottom: #d62828 2px solid;
}

@media only screen and (max-width: 868px) {
  #local {
    padding: 0;
  }
  #local .local-inner .local-list-01 {
    margin: 0;
    padding: 0;
  }
  #local .local-inner .local-list-01 li {
    display: block;
    padding: 0;
    text-align: left;
    border-bottom: #e7e4d9 1px dotted;
    margin: 0;
  }
  #local .local-inner .local-list-01 li:last-child {
    border-bottom: 0;
  }
  #local .local-inner .local-list-01 li a {
    display: block;
    padding: 9px 20px 6px 20px;
  }
  #local .local-inner .local-list-01 li.current a {
    border-bottom: 0;
    border-left: #d62828 4px solid;
  }
}

/*--- local-special-01 ------------------*/
#local-special-01 .link {
  border-bottom: #d62828 7px solid;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 50px -4px 0 -4px;
}

#local-special-01 .link li {
  padding: 0 4px;
}

#local-special-01 .link li a {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  text-align: center;
  padding: 11px 10px 10px 10px;
  text-decoration: none;
  color: #666;
  background: #eae8e4;
  border-radius: 10px 10px 0 0;
  transition: .3s all;
  width: 100%;
  min-width: 354px;
  font-size: 1.8rem;
}

#local-special-01 .link .current {
  margin-top: -5px;
}

#local-special-01 .link .current a {
  color: #fff;
  background: #d62828;
  font-weight: bold;
}

@media only screen and (max-width: 868px) {
  #local-special-01 .link {
    margin-top: 30px;
    padding: 0 20px;
  }
  #local-special-01 .link li {
    width: 50%;
  }
  #local-special-01 .link li a {
    min-width: auto;
    font-size: 1.4rem;
    line-height: 1.28571;
    padding: 11px 10px 8px 10px;
  }
}

/*  header
-----------------------------------------*/
#header {
  padding: 0 20px;
  position: relative;
}

@media only screen and (max-width: 1228px) {
  #header {
    min-height: 0;
  }
}

#header .header-menu-inner {
  display: block;
}

@media only screen and (max-width: 868px) {
  #header .header-menu-inner {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  #header .header-menu-inner .header-utility {
    -webkit-order: 2;
    order: 2;
  }
  #header .header-menu-inner #global {
    -webkit-order: 1;
    order: 1;
    margin: 0;
  }
}

#header .header-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 80px 0;
}

#header .header-inner a, #header .header-inner button {
  color: #000;
}

#header .header-inner a {
  transition: .3s all;
}

#header .header-inner .logo {
  float: left;
  width: auto;
  height: auto;
  padding: 20px 0 0;
}

#header .header-inner .logo a {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

#header .header-inner .header-utility {
  float: right;
  margin-top: 12px;
  margin-right: 0;
  -webkit-align-items: center;
  align-items: center;
  display: flex;
  gap: 30px;
  font-size: 1.4rem;
}

#header .header-inner .header-utility > *:not(form) {
  padding: 0;
  position: relative;
}

#header .header-inner .header-utility > *:not(form)::after {
  content: none;
}

#header .header-inner .header-utility .form-search-01 {
  max-width: 200px;
  line-height: 1;
  position: relative;
  margin-right: 0;
}

#header .header-inner .header-utility .form-search-01 #SS_searchQuery {
  background: #F2F2F2;
  transition: .3s all;
  max-width: 200px;
  padding-right: 37px;
  padding-left: 12px;
  min-height: 40px;
  font-size: 1.4rem;
  border-radius: 0;
}

#header .header-inner .header-utility .form-search-01 #SS_searchQuery::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

#header .header-inner .header-utility .form-search-01 > button {
  position: absolute;
  top: 8px;
  right: 8px;
  overflow: hidden;
  background: url("/common/images/icon-search-02.svg") no-repeat center center;
  width: 24px;
  height: 24px;
}

#header .header-inner .header-utility .form-search-01 > button span {
  display: block;
  text-indent: -999em;
}

#header .header-inner .header-utility .header-lang {
  position: relative;
  min-width: 0;
  height: auto;
}

#header .header-inner .header-utility .header-lang > .header-lang-inner {
  background: #fff;
  position: static;
  -webkit-transform: none;
  transform: none;
  padding: 5px 1px 5px 1px;
  transition: all 0.6s;
}

#header .header-inner .header-utility .header-lang > .header-lang-inner span {
  display: inline-block;
  padding: 1px 0 1px 22px;
  background: url("/common/images/icon-lang-02.svg") no-repeat center left;
}

#header .header-inner .header-utility .header-lang > .header-lang-inner .lang-list {
  white-space: nowrap;
}

#header .header-inner .header-utility .header-lang > .header-lang-inner .lang-list li {
  width: 0;
  padding: 0;
  opacity: 0;
  transition: padding .7s, opacity .5s ease-in-out;
}

#header .header-inner .header-utility .header-lang.open > .header-lang-inner {
  left: -330px;
  z-index: 2;
}

#header .header-inner .header-utility .header-lang.open > .header-lang-inner::after {
  content: none;
}

#header .header-inner .header-utility .header-lang.open > .header-lang-inner .btn {
  font-weight: bold;
  padding-right: 17px;
}

#header .header-inner .header-utility .header-lang.open > .header-lang-inner .lang-list {
  opacity: 1;
  left: 0;
  position: relative;
  width: 100%;
}

#header .header-inner .header-utility .header-lang.open > .header-lang-inner .lang-list li {
  width: 100%;
  padding: 0 17px;
  opacity: 1;
}

#header .header-inner .header-lang-global > .header-lang-inner {
  position: relative;
}

#header .header-inner .header-lang-global > .header-lang-inner::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3.5px;
  position: absolute;
  top: 50%;
  right: 2px;
}

#header .header-inner .header-lang-global > .header-lang-inner select {
  cursor: pointer;
  border: 0;
  width: 100%;
  padding: 5px 22px;
  background: url("/common/images/icon-lang-01.png") no-repeat left center;
}

#header .header-inner .btn-company a {
  text-align: center;
  display: block;
  color: #fff;
  padding: 5px 15px 5px 20px;
  border-radius: 88px;
  z-index: 1;
  transition: box-shadow .4s ease-in-out;
  box-shadow: inset 0px 0px 40px 40px #1b9974;
  border: #1b9974 2px solid;
  background: #1b9974;
}

#header .header-inner .btn-company a .icon {
  padding-left: 21px;
  background: url("/common/images/icon-01.png") no-repeat center left;
}

#header .header-inner .btn-company a:hover, #header .header-inner .btn-company a:focus {
  background: #fff;
  box-shadow: none;
  color: #1b9974;
}

#header .header-inner .btn-company a:hover .icon, #header .header-inner .btn-company a:focus .icon {
  background: url("/common/images/icon-01_o.png") no-repeat center left;
}

#header .header-inner p {
  margin-top: 0;
}

@media only screen and (max-width: 1228px) {
  #header .header-inner {
    padding: 0;
  }
  #header .header-inner .logo {
    height: auto;
    margin-top: 12px;
  }
  #header .header-inner .header-utility {
    white-space: nowrap;
    margin-top: 24.5px;
    font-size: 1.2rem;
  }
  #header .header-inner .header-utility .header-lang > .header-lang-inner .lang-list li {
    padding: 0;
  }
  #header .header-inner .header-utility .header-lang.open .header-lang-inner {
    left: -236px;
  }
}

#header #header-menu-btn {
  display: none;
}

@media only screen and (max-width: 868px) {
  #header {
    padding: 0;
  }
  #header .header-inner {
    position: relative;
  }
  #header .header-inner .logo {
    float: none;
    max-width: 60px;
    margin: 0 0 0 20px;
    padding: 15px 0;
  }
  #header .header-inner .logo img {
    max-width: 90px;
  }
  #header .header-inner .header-utility {
    box-shadow: 0 2px 10px rgba(128, 128, 123, 0.1);
    white-space: normal;
    background: #F2F2F2;
    float: none;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    padding-bottom: 30px;
    margin: 0;
    gap: 0;
  }
  #header .header-inner .header-utility > *:not(form) {
    width: 100%;
    padding: 0;
    position: static;
  }
  #header .header-inner .header-utility > *:not(form)::after {
    content: none;
  }
  #header .header-inner .header-utility .form-search-01 {
    -webkit-order: 2;
    order: 2;
    max-width: 100%;
    margin: 30px 0 0 0;
    padding: 0 20px;
    display: block;
    width: 100%;
  }
  #header .header-inner .header-utility .form-search-01 #SS_searchQuery {
    max-width: 100%;
    width: 100%;
    padding-top: 12px;
    padding-bottom: 12px;
    background-color: #fff;
  }
  #header .header-inner .header-utility .form-search-01 > button {
    right: 30px;
    height: 40px;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url("/common/images/icon-search-02_sp.svg") no-repeat center center;
  }
  #header .header-inner .header-utility .header-lang {
    -webkit-order: 3;
    position: static;
    height: auto;
    order: 3;
    margin-top: 20px;
    padding: 0 20px;
  }
  #header .header-inner .header-utility .header-lang > .header-lang-inner .lang-list {
    padding-bottom: 10px;
  }
  #header .header-inner .header-utility .header-lang > .header-lang-inner .lang-list li {
    margin-top: 10px;
    transition: none;
  }
  #header .header-inner .header-utility .header-lang > .header-lang-inner .lang-list li a {
    display: block;
  }
  #header .header-inner .header-utility .header-lang.open > .header-lang-inner {
    display: block;
  }
  #header .header-inner .header-utility .header-lang.open > .header-lang-inner .lang-list {
    display: block;
  }
  #header .header-inner .header-utility .header-lang.open > .header-lang-inner p::before {
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
    margin-top: -3px;
  }
  #header .header-inner .header-utility .header-lang > .header-lang-inner {
    position: static;
    width: 100%;
    padding: 0;
    -webkit-transform: none;
    transform: none;
    border: none;
    border-radius: 0;
  }
  #header .header-inner .header-utility .header-lang > .header-lang-inner p {
    width: 100%;
    position: relative;
  }
  #header .header-inner .header-utility .header-lang > .header-lang-inner p::before {
    content: "";
    display: inline-block;
    width: 9px;
    height: 9px;
    border-bottom: solid 2px #666;
    border-left: solid 2px #666;
    will-change: transform;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    right: 17px;
    top: 50%;
    margin-top: -5px;
  }
  #header .header-inner .header-utility .header-lang > .header-lang-inner .btn {
    text-align: left;
    display: block;
    padding: 11px 15px;
    width: 100%;
    font-size: 1.4rem;
  }
  #header .header-inner .header-utility .header-lang + p {
    -webkit-order: 4;
    order: 4;
    padding: 0 20px;
    margin-top: 20px;
    font-size: 1.4rem;
  }
  #header .header-inner .header-utility .header-lang + p a {
    font-size: 1.6rem;
    display: flex;
    align-items: center;
  }
  #header .header-inner .header-utility .header-lang + p a::after {
    content: "";
    background-image: url(/common/images/bg-icon-02.svg);
    width: 9px;
    height: 15px;
    flex-shrink: 0;
    margin: 0 0 0 8px;
  }
  #header .header-inner .header-utility .header-lang + p + p {
    margin-top: 10px;
    -webkit-order: 5;
    order: 5;
    padding: 0 20px;
    font-size: 1.4rem;
  }
  #header .header-inner .header-utility .header-lang + p + p a {
    display: inline-block;
    position: relative;
    padding-left: 20px;
  }
  #header .header-inner .header-utility .header-lang + p + p a::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: solid 2px #1b9974;
    border-right: solid 2px #1b9974;
    will-change: transform;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
    position: absolute;
    top: .6em;
    left: 0;
  }
  #header .header-inner .header-box {
    z-index: 888;
    position: absolute;
    background: #fff;
    width: 100%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
    display: none;
    border-top: #F2F2F2 1px solid;
  }
  #header .header-inner .btn-company {
    position: absolute;
    top: 0;
    right: 55px;
    font-size: 1.1rem;
  }
  #header .header-inner .btn-company a {
    box-shadow: none;
    background: none;
    border: 0;
    color: #000;
    padding: 10px 0 13px 0;
    text-align: center;
  }
  #header .header-inner .btn-company a:hover, #header .header-inner .btn-company a:focus {
    color: #000;
  }
  #header .header-inner .btn-company a:hover .icon, #header .header-inner .btn-company a:focus .icon {
    background: url("/common/images/icon-03.gif") no-repeat center bottom;
  }
  #header .header-inner .btn-company a .icon {
    display: inline-block;
    font-weight: bold;
    padding: 0 0 32px 0;
    background: url("/common/images/icon-03.gif") no-repeat center bottom;
  }
  #header .header-inner .btn-company a .icon span {
    display: none;
  }
  #header.close .header-box {
    display: none;
  }
  #header #header-menu-btn {
    font-size: 1rem;
    line-height: 1;
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 20px;
    width: 28px;
    height: 16px;
    text-indent: 100%;
    overflow: hidden;
  }
  #header #header-menu-btn:hover, #header #header-menu-btn:focus {
    color: #000;
  }
  #header #header-menu-btn::before, #header #header-menu-btn::after {
    content: "";
    position: absolute;
    left: 0;
    width: 28px;
    height: 2px;
    background-color: #D6182C;
    border-radius: 10px;
    transition: transform, .3s;
  }
  #header #header-menu-btn::before {
    top: 0;
  }
  #header #header-menu-btn::after {
    bottom: 0;
  }
  #header #header-menu-btn > .header-menu-btn_text {
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    padding: 0;
  }
  #header #header-menu-btn > .header-menu-btn_text::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 28px;
    height: 2px;
    background-color: #D6182C;
    border-radius: 10px;
    transform: translateY(-50%);
    opacity: 1;
    transition: opacity, .3s;
  }
  #header #header-menu-btn.open {
    width: 28px;
    height: 28px;
  }
  #header #header-menu-btn.open > .header-menu-btn_text::before, #header #header-menu-btn.open > .header-menu-btn_text::after {
    content: "";
    opacity: 0;
  }
  #header #header-menu-btn.open::before {
    top: 50%;
    left: 0px;
    transform: translateY(0px) rotate(-40deg);
    width: 100%;
  }
  #header #header-menu-btn.open::after {
    top: 50%;
    left: 0;
    transform: translateY(0) rotate(40deg);
    width: 100%;
  }
}

/*  global
  -----------------------------------------*/
#global {
  float: right;
  padding-top: 20px;
  display: flex;
}

#global .global-list-01 {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: flex-end;
  align-items: flex-end;
  margin: 0;
}

#global .global-list-01 > li {
  font-size: 1.6rem;
  line-height: 1.5;
  padding: 0;
}

#global .global-list-01 > li > a {
  text-align: center;
  display: block;
  color: #000;
  font-weight: bold;
  position: relative;
  padding: 0 20px 33px 20px;
  transition: .3s all;
}

#global .global-list-01 > li > a::before {
  content: "";
  display: block;
  width: calc(100% - 40px);
  height: 4px;
  position: absolute;
  bottom: 12px;
  transition: .3s all;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 1001;
}

#global .global-list-01 > li > a:hover::before, #global .global-list-01 > li > a:focus::before {
  background: #D6182C;
}

#global .global-list-01 .open > a::before {
  background: #D6182C;
}

#global .global-list-01 .company {
  position: relative;
  padding-left: 40px;
  margin-left: 20px;
}

#global .global-list-01 .company::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 0;
  width: 2px;
  height: 20px;
  background-color: #F2F2F2;
}

#global .global-list-01 .company a {
  padding-right: 0;
  padding-left: 0;
}

#global .global-list-01 .company a::before {
  content: none;
}

#global .global-list-01 .company a span {
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  border: none;
  padding: 0;
}

#global .global-list-01 .company a span::after {
  content: "";
  margin: 0 0 0 10px;
  width: 9px;
  height: 15px;
  background-image: url(/common/images/bg-icon-01.svg);
  background-repeat: no-repeat;
}

#global .global-list-01 .product {
  position: relative;
}

#global .global-list-01 .product a {
  color: #d62828;
  padding-right: 0;
  padding-left: 0;
}

#global .global-list-01 .product a::before {
  content: none;
}

#global .global-list-01 .product a span {
  font-size: 1.5rem;
  font-weight: bold;
  border: #d62828 2px solid;
  display: inline-block;
  border-radius: 50px;
  padding: 3px 15px 1px 15px;
}

#global .global-list-01 .current > a {
  color: #000;
}

@media only screen and (min-width: 869px) {
  #global .global-list-01 > li > a::before {
    left: 50%;
  }
}

@media only screen and (max-width: 1228px) {
  #global {
    clear: both;
    float: none;
    margin: 0 -12px;
  }
  #global .global-list-01 {
    display: table;
    text-align: center;
    width: 100%;
    margin: 0;
  }
  #global .global-list-01 > li {
    text-align: center;
    vertical-align: bottom;
    display: table-cell;
    font-size: 1.4rem;
    line-height: 1.42857;
    padding: 0 7px;
  }
  #global .global-list-01 > li > a {
    padding-bottom: 28px;
  }
  #global .global-list-01 > li > a::before {
    bottom: 3px;
  }
  #global .global-list-01 > li button {
    display: inline-block;
    padding-right: 5px;
    padding-left: 5px;
  }
  #global .global-list-01 .company {
    padding-left: 20px;
  }
  #global .nav-recipe-box .search-input-01 {
    min-width: 250px;
  }
  #global .nav-recipe-box .nav-recipe-btn a {
    min-width: 100px;
  }
}

@media only screen and (max-width: 868px) {
  #global {
    -webkit-order: 1;
    order: 1;
    padding: 0;
    position: static;
    padding: 0;
  }
  #global .global-list-01 {
    display: block;
    padding: 0 20px 0;
  }
  #global .global-list-01 > li {
    padding: 0;
    display: block;
    font-size: 1.6rem;
  }
  #global .global-list-01 > li:first-child > a {
    box-shadow: none;
  }
  #global .global-list-01 > li > a {
    text-align: left;
    background-color: #fff;
    padding: 22px 0 21px;
    border-bottom: #F2F2F2 1px solid;
    position: relative;
    margin-bottom: 0;
  }
  #global .global-list-01 > li > a:focus, #global .global-list-01 > li > a:hover {
    opacity: 1;
    color: #000;
  }
  #global .global-list-01 > li > a::before, #global .global-list-01 > li > a::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: 0;
    width: 16px;
    height: 2px;
    background: #D6182C;
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
    border-radius: 10px;
  }
  #global .global-list-01 > li > a::after {
    transform: translateY(-50%) rotate(90deg);
  }
  #global .global-list-01 .open > a {
    background: #fff;
    color: #000;
    margin-bottom: 10px;
  }
  #global .global-list-01 .open > a::after {
    transform: translateY(-50%) rotate(180deg);
  }
  #global .global-list-01 .product a {
    color: #d62828;
  }
  #global .global-list-01 .company::before, #global .global-list-01 .product::before {
    content: none;
  }
  #global .global-list-01 .company a, #global .global-list-01 .product a {
    padding: 30px 0;
  }
  #global .global-list-01 .company a:hover::before, #global .global-list-01 .company a:focus::before, #global .global-list-01 .product a:hover::before, #global .global-list-01 .product a:focus::before {
    background: #f8f5e6;
  }
  #global .global-list-01 .company a::before, #global .global-list-01 .company a::after, #global .global-list-01 .product a::before, #global .global-list-01 .product a::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    z-index: 2;
    transition: .3s all;
    left: auto;
  }
  #global .global-list-01 .company a::before, #global .global-list-01 .product a::before {
    background: #f8f5e6;
    height: 2px;
    width: 13px;
    right: 25px;
    margin-top: 0;
  }
  #global .global-list-01 .company a::after, #global .global-list-01 .product a::after {
    width: 8px;
    height: 8px;
    border: 0;
    border-top: solid 2px #f8f5e6;
    border-right: solid 2px #f8f5e6;
    will-change: transform;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
    margin-top: -3px;
    right: 26px;
  }
  #global .global-list-01 .company a > span, #global .global-list-01 .product a > span {
    display: block;
    font-weight: bold;
    position: relative;
    padding-right: 35px;
    border: 0;
    padding: 0;
  }
  #global .global-list-01 .company a > span::before, #global .global-list-01 .product a > span::before {
    content: "";
    display: block;
    background: #1b9974;
    height: 18px;
    width: 18px;
    border-radius: 36px;
    position: absolute;
    top: 50%;
    margin-top: -9px;
    right: 0;
  }
  #global .global-list-01 .company {
    padding-left: 0;
    margin-left: 0;
  }
  #global .global-list-01 .company::after {
    content: none;
  }
  #global .global-list-01 .company a > span {
    display: flex;
  }
  #global .global-list-01 .company a > span::before {
    content: none;
  }
  #global .global-list-01 .company a > span::after {
    width: 9px;
    height: 15px;
    margin: 0 0 0 10px;
    background-color: transparent;
    background-repeat: no-repeat;
  }
  #global .global-list-01 .company a::before, #global .global-list-01 .company a::after {
    content: none;
  }
}

#global .global-list-01 > li.current > a::before {
  background-color: #d62828;
}

/*  global JS
  -----------------------------------------*/
#global .menu-inner-01 {
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% - 33px);
  z-index: 999;
  box-shadow: 0 2px 10px rgba(128, 128, 123, 0.1);
  box-shadow: 0px 10px 10px 0px rgba(128, 128, 123, 0.1);
}

#global .menu-inner-01 .main {
  display: block;
  text-align: left;
  background-color: #fff;
  overflow: hidden;
  padding: 54px 20px 40px;
}

#global .menu-inner-01 .main-box {
  max-width: 1280px;
  margin: 0 auto;
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  gap: 40px;
  position: relative;
  background-color: #fff;
}

#global .menu-inner-01 .main-box-head {
  width: 100%;
}

#global .menu-inner-01 .main-box-title {
  margin: 0 0 18px;
  padding: 0 0 10px 8px;
  border-bottom: 2px solid #F2F2F2;
}

#global .menu-inner-01 .main-box-title_link {
  font-size: 2rem;
  line-height: 2.2;
  display: inline-flex;
  align-items: center;
}

#global .menu-inner-01 .main-box-title_link > b {
  display: inline-block;
  color: #000;
  margin: 0 0 0 12px;
  font-family: "Zen Kaku Gothic New";
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s, color .3s;
}

#global .menu-inner-01 .main-box-title_link:hover > b {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 8px;
  text-decoration-thickness: 1px;
  color: #D6182C;
}

#global .menu-inner-01 .main-box-title_link::before {
  content: "";
  background-image: url(/common/images/bg-icon-02.svg);
  width: 9px;
  height: 15px;
}

#global .menu-inner-01 .main-box-title_link.main-box-title_link {
  text-decoration: none;
}

#global .menu-inner-01 .main-contents-grid {
  display: grid;
  grid-template-columns: 33.684210526% 32.631578947% 32.631578947%;
  padding: 0 0 0 8px;
}

#global .menu-inner-01 .main-box-list_item {
  margin: 0 0 16px;
  padding: 0 12px 0 0;
}

#global .menu-inner-01 .main-box-list_item:last-child {
  margin-bottom: 0;
}

#global .menu-inner-01 .main-box-body {
  margin: 8px 0 0;
  min-width: 22.65625%;
  max-width: 22.65625%;
}

#global .menu-inner-01 .main-box-list_link {
  font-size: 1.6rem;
  display: flex;
}

#global .menu-inner-01 .main-box-list_icon {
  display: inline-block;
  margin: 0 7px;
  position: relative;
  top: -2px;
  vertical-align: middle;
}

#global .menu-inner-01 .main-box-list_link::before {
  content: "";
  background-image: url(/common/images/bg-icon-02.svg);
  width: 9px;
  min-width: 9px;
  height: 15px;
  margin: 5px 0 0;
}

#global .menu-inner-01 .main-box-list_link.main-box-list_link {
  text-decoration: none;
}

#global .menu-inner-01 .main-box-list_link > span {
  line-height: 1.75;
  font-size: 16px;
  display: inline-block;
  padding-left: 12px;
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
  color: #000;
}

#global .menu-inner-01 .main-box-list_link:hover > span {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 8px;
  text-decoration-thickness: 1px;
  color: #D6182C;
}

#global .menu-inner-01 .nav-recipe-box {
  margin-top: 4px;
}

#global .menu-inner-01 .nav-recipe-box_inner {
  display: flex;
  align-items: center;
  background-color: #F6F6EE;
  padding-right: 10px;
  border-bottom: 2px solid #DBDBD4;
}

#global .nav-recipe-box_inner .search-input-01 {
  width: 100%;
  font-size: 1.4rem;
  background-color: #F6F6EE;
  padding: 10px 0px 10px 12px;
  min-height: 62px;
}

#global .nav-recipe-box_inner .search-btn-01 {
  background-image: url(/common/images/icon-search-03.svg);
  background-repeat: no-repeat;
  background-position: center;
  min-width: 40px;
  width: 40px;
  height: 40px;
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

@media only screen and (max-width: 1228px) {
  #global .main-contents-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media only screen and (max-width: 868px) {
  #global .menu-inner-01 {
    position: static;
    background: #f0ecd6;
    border-top: 0;
    box-shadow: none;
    padding: 0;
    margin: 0;
  }
  #global .menu-inner-01 > button.close {
    display: none;
  }
  #global .menu-inner-01 .main {
    padding: 0 0px 40px;
    border-bottom: #F2F2F2 1px solid;
  }
  #global .menu-inner-01 .main .main-box {
    padding: 0;
    display: block;
    box-shadow: none;
  }
  #global .menu-inner-01 .main .main-box.recipe .main-inner {
    padding-top: 0;
  }
  #global .menu-inner-01 .main .main-box .title {
    padding: 0;
    font-size: 1.4rem;
    background: none;
    width: auto;
  }
  #global .menu-inner-01 .main .main-box .title a {
    padding: 10px 20px;
    display: block;
    background: #1b9974;
  }
  #global .menu-inner-01 .main .main-box .title a > b {
    display: none;
  }
  #global .menu-inner-01 .main .main-box .title a .link {
    background: none;
    text-align: left;
    border: none;
    padding: 0;
    font-size: 1.4rem;
    box-shadow: none;
    color: #fff;
    margin-top: 0;
  }
  #global .menu-inner-01 .main .main-box .title a .link::before, #global .menu-inner-01 .main .main-box .title a .link::after {
    content: none;
  }
  #global .menu-inner-01 .main .main-box .title a .link > span {
    padding: 0;
    font-weight: normal;
  }
  #global .menu-inner-01 .main .main-box .title a .link > span > br {
    display: none;
  }
  #global .menu-inner-01 .main .main-box .title a .link > span::before {
    content: none;
  }
  #global .menu-inner-01 .main .main-inner {
    display: block;
    margin: 0;
    padding: 0;
    box-shadow: none;
    background: none;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01, #global .menu-inner-01 .main .main-inner .inner-link-02 {
    margin: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01 li .img, #global .menu-inner-01 .main .main-inner .inner-link-02 li .img {
    display: none;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01 li .txt, #global .menu-inner-01 .main .main-inner .inner-link-02 li .txt {
    margin: 0;
    font-weight: normal;
    font-size: 1.4rem;
    padding: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01 li .txt::before, #global .menu-inner-01 .main .main-inner .inner-link-02 li .txt::before {
    content: none;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01 li a, #global .menu-inner-01 .main .main-inner .inner-link-02 li a {
    display: block;
    width: 100%;
    padding: 10px 20px;
    border-bottom: #d2cfc6 1px dotted;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01.col4 li:nth-child(n + 5),
  #global .menu-inner-01 .main .main-inner .inner-link-01.col3 li:nth-child(n + 4), #global .menu-inner-01 .main .main-inner .inner-link-02.col4 li:nth-child(n + 5),
  #global .menu-inner-01 .main .main-inner .inner-link-02.col3 li:nth-child(n + 4) {
    margin: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01.col3, #global .menu-inner-01 .main .main-inner .inner-link-01.col4, #global .menu-inner-01 .main .main-inner .inner-link-02.col3, #global .menu-inner-01 .main .main-inner .inner-link-02.col4 {
    width: 100%;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01.col3 li, #global .menu-inner-01 .main .main-inner .inner-link-01.col4 li, #global .menu-inner-01 .main .main-inner .inner-link-02.col3 li, #global .menu-inner-01 .main .main-inner .inner-link-02.col4 li {
    width: 100%;
    padding: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01.faq .unique-01, #global .menu-inner-01 .main .main-inner .inner-link-02.faq .unique-01 {
    width: 100%;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01.faq .unique-01 .faq-tel-01, #global .menu-inner-01 .main .main-inner .inner-link-02.faq .unique-01 .faq-tel-01 {
    display: none;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01.faq li:nth-child(n + 3), #global .menu-inner-01 .main .main-inner .inner-link-02.faq li:nth-child(n + 3) {
    margin-top: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01 .current a, #global .menu-inner-01 .main .main-inner .inner-link-02 .current a {
    border-left: #d62828 4px solid;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-01 .current a .txt, #global .menu-inner-01 .main .main-inner .inner-link-02 .current a .txt {
    font-weight: bold;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02 {
    width: 100%;
    padding: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02.col3 {
    display: block;
    margin: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02.col3 li {
    width: 100%;
    padding: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02.col3 li a {
    border-top: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02 li {
    border: 0 !important;
    font-size: 1.4rem;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02 li span {
    font-weight: normal;
    padding: 0;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02 li span::before {
    content: none;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02 .current a {
    border-left: #d62828 4px solid;
  }
  #global .menu-inner-01 .main .main-inner .inner-link-02 .current a .txt {
    font-weight: bold;
  }
  #global .menu-inner-01 .main-box-title {
    padding: 0 0 8px 20px;
    margin: 0 0 22px 0px;
  }
  #global .menu-inner-01 .main-box-title_link {
    font-size: 1.8rem;
  }
  #global .menu-inner-01 .main-box-title_link > b {
    margin-left: 8px;
  }
  #global .menu-inner-01 .main-contents-grid {
    grid-template-columns: 1fr;
    padding-left: 0;
  }
  #global .menu-inner-01 .main-contents-grid_item {
    margin: 0 0 14px;
  }
  #global .menu-inner-01 .main-box-list_item {
    padding-right: 0;
    margin: 0 0 16px;
  }
  #global .menu-inner-01 .main-box-list_link {
    margin-left: 20px;
  }
  #global .menu-inner-01 .main-box-list_link > span {
    padding-left: 8px;
  }
  #global .menu-inner-01 .main-contents-grid_item:last-child {
    margin-bottom: 0;
  }
  #global .menu-inner-01 .main-box-body {
    display: none;
  }
  #global .menu-inner-01 .nav-recipe-box {
    padding: 0 10px;
    margin-top: 10px;
  }
}

/*  footer
-----------------------------------------*/
.footer-sns {
  background-color: #F2F2F2;
  padding: 70px 20px 64px;
}

.footer-sns_inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
}

.footer-sns_hdg {
  font-size: 2rem;
  font-weight: bold;
  flex-shrink: 0;
}

.footer-sns_list {
  display: flex;
  gap: 2%;
  width: 1000px;
  max-width: 1000px;
  margin-left: 7%;
}

.footer-sns_item {
  width: 15%;
}

.footer-sns_link {
  display: flex;
  flex-direction: column-reverse;
  color: #000;
}

.footer-sns_img {
  text-align: center;
  background-color: #fff;
  min-height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 8px;
}

.footer-sns_img > img {
  transition: .3s transform;
}

.footer-sns_link:hover .footer-sns_img img {
  transform: scale(1.1, 1.1);
}

.footer-sns_text.footer-sns_text {
  margin-top: 0;
}

.footer-utility {
  padding: 46px 20px 35px;
}

.footer-utility_list {
  display: flex;
  justify-content: center;
  gap: 5.7%;
}

.footer-utility_item > a {
  font-size: 1.4rem;
  color: #000;
}

.footer-copy {
  margin: 0;
  padding: 16px;
  background-color: #D6182C;
  text-align: center;
}

.footer-copy > small {
  font-family: "Lato";
  color: #fff;
  font-size: 1.2rem;
}

@media only screen and (max-width: 868px) {
  .footer-sns {
    padding-top: 48px;
    padding-bottom: 44px;
  }
  .footer-sns_inner {
    flex-direction: column;
  }
  .footer-sns_hdg {
    margin-bottom: 26px;
    font-size: 1.6rem;
    text-align: center;
  }
  .footer-sns_list {
    width: auto;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-left: 0;
    gap: 20px 2%;
  }
  .footer-sns_item {
    width: 31.333333%;
  }
  .footer-sns_img {
    min-height: 71px;
  }
  .footer-sns_img > img {
    width: 35px;
  }
  .footer-sns_img-note > img {
    width: 45px;
  }
  .footer-utility_list {
    flex-wrap: wrap;
    gap: 24px 22px;
  }
  .footer-utility_item > a {
    font-size: 1.2rem;
  }
}

/* --------------------------------------
  module
-----------------------------------------*/
/* --------------------------------------
  lead
-----------------------------------------*/
/*--- lead-01 ------------------*/
.lead-01 {
  font-size: 1.8rem;
  line-height: 1.5;
}

.lead-01 span {
  font-weight: bold;
  background: -webkit-linear-gradient(top, white 0%, white 50%, #f0e4a8 50%, #f0e4a8 100%);
  background: linear-gradient(to bottom, white 0%, white 50%, #f0e4a8 50%, #f0e4a8 100%);
}

@media only screen and (max-width: 868px) {
  .lead-01 {
    font-size: 1.6rem;
  }
}

/*--- lead-point-01 ------------------*/
.lead-point-01 {
  font-size: 1.4rem;
  position: relative;
  padding-bottom: 8px;
  display: block;
  margin-top: 20px;
}

.lead-point-01 b {
  background: #d62828;
  color: #fff;
  font-weight: bold;
  padding: 3px 15px 2px 15px;
  display: inline-block;
  border-radius: 50px;
  position: relative;
}

.lead-point-01::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8px 0 0;
  border-color: #d62828 transparent transparent transparent;
  position: absolute;
  left: 15px;
  bottom: 0;
}

/* --------------------------------------
	note
-----------------------------------------*/
/*--- note-01 ------------------*/
.note-01 {
  font-size: 1.4rem;
  color: #666;
  padding-left: 20px;
  position: relative;
}

.note-01 > .mark {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.note-01.t-center {
  padding-left: 0;
}

.note-01.t-center > .mark {
  display: inline-block;
  position: static;
}

@media only screen and (max-width: 868px) {
  .note-01 {
    line-height: 1.6;
  }
}

/*--- note-02 ------------------*/
.note-02 {
  font-size: 1.4rem;
  color: #666;
  padding-left: 50px;
  position: relative;
}

.note-02 > .mark {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

@media only screen and (max-width: 868px) {
  .note-02 {
    line-height: 1.6;
  }
}

/* --------------------------------------
  icon
-----------------------------------------*/
/*--- txt-icon-01 ------------------*/
.txt-icon-01 {
  display: inline-block;
  background: #ffe933;
  border-radius: 6px;
  color: #464646;
  padding: 0 10px;
  text-align: center;
  vertical-align: middle;
  margin-right: 9px;
}

.txt-icon-02 {
  display: inline-block;
  background: #d62828;
  border-radius: 6px;
  color: #fff;
  padding: 0 10px;
  text-align: center;
  vertical-align: middle;
  margin-right: 9px;
}

/* --------------------------------------
  link
-----------------------------------------*/
/*--- list-desc-01 ------------------*/
.list-desc-01 {
  margin-top: 35px;
}

.list-desc-01 > li {
  margin-top: 5px;
  position: relative;
  padding-left: 20px;
}

.list-desc-01 > li::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 10px;
  background: #d62828;
  position: absolute;
  top: .6em;
  left: 0;
}

.list-desc-01 > li p, .list-desc-01 > li div {
  margin-top: 5px;
}

.list-desc-01 > li ul, .list-desc-01 > li ol, .list-desc-01 > li dl {
  margin-top: 0;
}

.list-desc-01 > li > .list-desc-01 > li::before {
  height: 2px;
  border-radius: 0;
  top: 17px;
}

.list-desc-01.col > li {
  margin-right: 40px;
  float: left;
}

@media only screen and (max-width: 868px) {
  .list-desc-01 > li {
    margin-top: 10px;
  }
  .list-desc-01 > li::before {
    top: 10px;
  }
  .list-desc-01 > li > .list-desc-01 > li::before {
    top: 12px;
  }
  .list-desc-01.col > li {
    margin-right: 0;
    float: none;
  }
}

/*--- list-num-01 ------------------*/
.list-num-01 {
  margin-top: 35px;
}

.list-num-01 > li {
  margin-top: 5px;
  padding-left: 50px;
  position: relative;
}

.list-num-01 > li > .mark {
  width: 45px;
  text-align: right;
  position: absolute;
  left: 0;
  top: 0;
}

.list-num-01.small > li {
  padding-left: 30px;
}

.list-num-01.small > li > .mark {
  width: 20px;
}

.list-num-01.t-center > li, .list-num-01t-right > li {
  padding-left: 0;
}

.list-num-01.t-center > li > .mark, .list-num-01t-right > li > .mark {
  position: static;
}

@media only screen and (max-width: 868px) {
  .list-num-01 > li {
    margin-top: 10px;
    padding-left: 40px;
  }
  .list-num-01 > li > .mark {
    width: 30px;
  }
  .list-num-01.large > li {
    padding-left: 50px;
  }
  .list-num-01.large > li > .mark {
    width: 44px;
  }
}

/*--- list-num-02 ------------------*/
ol.list-num-02 {
  counter-reset: num;
  margin-top: 15px;
  font-size: 2rem;
  line-height: 1.75;
}

ol.list-num-02 > li {
  margin-top: 5px;
  padding-left: 50px;
  position: relative;
}

ol.list-num-02 > li::before {
  counter-increment: num 1;
  content: counter(num) ".";
  text-align: right;
  position: absolute;
  left: 0;
  top: 0;
  width: 40px;
}

@media only screen and (max-width: 868px) {
  ol.list-num-02 {
    font-size: 1.6rem;
  }
  ol.list-num-02 > li {
    margin-top: 10px;
    padding-left: 40px;
  }
  ol.list-num-02 > li::before {
    width: 30px;
  }
}

/*--- list-des-01 ------------------*/
.list-des-01 {
  margin-top: 45px;
}

.list-des-01 > dd + dt {
  margin-top: 15px;
}

.list-des-01 > dt {
  font-weight: bold;
}

.list-des-01 > dd {
  margin-top: 5px;
}

/*--- list-des-02 ------------------*/
.list-des-02 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 45px;
}

.list-des-02 > dt, .list-des-02 > dd {
  margin-top: 15px;
}

.list-des-02 > dt {
  max-width: 230px;
  padding-right: 30px;
  width: 20%;
  position: relative;
}

.list-des-02 > dt::after {
  content: "：";
  display: block;
  position: absolute;
  top: 0;
  right: 7px;
}

.list-des-02 > dd {
  width: 80%;
}

@media only screen and (max-width: 868px) {
  .list-des-02 > dt {
    min-width: 50px;
    padding-right: 15px;
  }
}

/*--- list-img-02 ------------------*/
.list-img-02 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 -15px;
}

.list-img-02.none li .txt {
  padding-left: 0;
}

.list-img-02.t-center li .hdg, .list-img-02.t-center li .txt {
  padding-left: 0;
}

.list-img-02.t-center li .hdg .icon01, .list-img-02.t-center li .txt .icon01 {
  position: relative;
  top: -1px;
  margin-right: 5px;
}

.list-img-02.t-center li > img {
  display: inline-block;
}

.list-img-02 .arrow .hdg, .list-img-02 .arrow .txt {
  padding-left: 45px;
  position: relative;
}

.list-img-02 .arrow .hdg::after, .list-img-02 .arrow .txt::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12.5px 0 12.5px 15px;
  border-color: transparent transparent transparent #d62828;
  position: absolute;
  top: 3.5px;
  left: 20px;
}

.list-img-02 .arrow .hdg + .txt, .list-img-02 .arrow .txt + .txt {
  padding-left: 50px;
}

.list-img-02 .arrow .hdg + .txt::before, .list-img-02 .arrow .hdg + .txt::after, .list-img-02 .arrow .txt + .txt::before, .list-img-02 .arrow .txt + .txt::after {
  content: none;
}

.list-img-02 li {
  margin-top: 25px;
  padding: 0 15px;
  border-right: #d2cfc6 1px dotted;
}

.list-img-02 li:last-child {
  border-right: 0;
}

.list-img-02 li > img {
  display: block;
  border-radius: 10px;
  margin: 0 auto 10px auto;
}

.list-img-02 li .hdg {
  font-weight: bold;
  display: block;
  font-size: 2.2rem;
  display: block;
  padding-left: 33px;
  position: relative;
}

.list-img-02 li .hdg + .txt {
  padding-left: 0;
}

.list-img-02 li .hdg .icon01 {
  top: .3em;
}

.list-img-02 li .txt {
  display: block;
  position: relative;
  padding-left: 30px;
}

.list-img-02 li .txt .icon01 {
  top: 0;
}

.list-img-02 li .icon01 {
  vertical-align: middle;
  display: inline-block;
  position: absolute;
  font-size: 1.6rem;
  color: #fff;
  font-weight: bold;
  width: 25px;
  height: 25px;
  left: 0;
  text-align: center;
}

.list-img-02 li .icon01::before {
  content: "";
  display: block;
  height: 25px;
  width: 25px;
  background: #d62828;
  border-radius: 50px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.list-img-02.col2 {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.list-img-02.col2 li {
  width: 50%;
}

.list-img-02.col3 {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.list-img-02.col3 li {
  width: 33.33333%;
}

.list-img-02.col3 li:nth-child(3n) {
  border-right: 0;
}

.list-img-02.col4 {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

.list-img-02.col4 li {
  width: 25%;
}

.list-img-02.col4 li:nth-child(4n) {
  border-right: 0;
}

@media only screen and (max-width: 868px) {
  .list-img-02 {
    display: block;
    flex: none;
    margin: 0;
  }
  .list-img-02 li {
    padding: 0 0 15px 0;
    border-right: 0;
    border-bottom: #d2cfc6 1px dotted;
  }
  .list-img-02 li img {
    margin: 0 auto 15px auto;
  }
  .list-img-02 li .icon01 {
    font-size: 1.4rem;
    padding-top: .1em;
  }
  .list-img-02 li .hdg {
    font-size: 1.8rem;
  }
  .list-img-02 li .hdg .icon01 {
    top: 0;
  }
  .list-img-02 li .txt .icon01 {
    top: 0;
  }
  .list-img-02 li + li {
    margin-top: 15px;
  }
  .list-img-02 li:last-child {
    border-bottom: 0;
  }
  .list-img-02.col2 li, .list-img-02.col3 li, .list-img-02.col4 li {
    width: 100%;
  }
}

/*--- list-history-01 ------------------*/
.list-history-01 dt {
  position: relative;
  text-align: center;
  display: table;
  height: 40px;
  overflow: hidden;
}

.list-history-01 dt span {
  margin-left: 20px;
  background: #fff;
  display: inline-block;
  padding: 6px 5px;
  min-width: 155px;
  border-radius: 0 10px 10px 0;
  border-top: #1b9974 2px solid;
  border-right: #1b9974 2px solid;
  border-bottom: #1b9974 2px solid;
  font-style: italic;
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1;
}

.list-history-01 dt::before, .list-history-01 dt::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
  left: 0;
  top: 0;
}

.list-history-01 dt::before {
  border-width: 20px 20px 20px 0;
  border-color: transparent #1b9974 transparent transparent;
  left: 0;
  top: 0;
}

.list-history-01 dt::after {
  border-width: 18px 18px 18px 0;
  border-color: transparent #fff transparent transparent;
  left: 2px;
  top: 2px;
}

.list-history-01 dd {
  margin-top: 10px;
}

.list-history-01 dd + dd {
  margin-top: 30px;
}

@media only screen and (max-width: 868px) {
  .list-history-01 dt span {
    height: 32px;
    font-size: 2rem;
    margin-left: 16px;
  }
  .list-history-01 dt::before {
    border-width: 16px 16px 16px 0;
  }
  .list-history-01 dt::after {
    border-width: 14px 14px 14px 0;
  }
  .list-history-01 dd + dd {
    margin-top: 20px;
  }
}

/*--- list-backnumber-01 ------------------*/
.list-backnumber-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -15px;
  text-align: center;
}

.list-backnumber-01 > li {
  margin-top: 25px;
  padding: 0 15px;
  border-right: #d2cfc6 1px dotted;
}

.list-backnumber-01 > li:last-child {
  border-right: 0;
}

.list-backnumber-01 > li > .img {
  display: inline-block;
  border-radius: 360px;
  border: #f1f1ee 1px solid;
}

.list-backnumber-01 > li > .img img {
  display: block;
  border-radius: 360px;
  max-width: 200px;
}

.list-backnumber-01 > li b {
  font-weight: bold;
  display: block;
  font-size: 2.2rem;
  color: #1b9974;
}

.list-backnumber-01 > li > .link {
  margin: 10px 0 0 0;
  text-align: left;
}

.list-backnumber-01 > li > .link li + li {
  margin-top: 5px;
}

.list-backnumber-01 > li > .link li a {
  display: inline-block;
  position: relative;
  padding-left: 20px;
  color: #000;
  text-decoration: none;
}

.list-backnumber-01 > li > .link li a:hover, .list-backnumber-01 > li > .link li a:focus {
  color: #1b9974;
}

.list-backnumber-01 > li > .link li a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

.list-backnumber-01.col2 > li {
  width: 50%;
}

.list-backnumber-01.col3 > li {
  width: 33.33333%;
}

.list-backnumber-01.col3 > li:nth-child(3n) {
  border-right: 0;
}

.list-backnumber-01.col4 > li {
  width: 25%;
}

.list-backnumber-01.col4 > li:nth-child(4n) {
  border-right: 0;
}

@media only screen and (max-width: 868px) {
  .list-backnumber-01.col2 > li, .list-backnumber-01.col3 > li, .list-backnumber-01.col4 > li {
    width: 50%;
  }
  .list-backnumber-01.col2 > li:nth-child(3n), .list-backnumber-01.col3 > li:nth-child(3n), .list-backnumber-01.col4 > li:nth-child(3n) {
    border-right: #d2cfc6 1px dotted;
  }
  .list-backnumber-01.col2 > li:nth-child(2n), .list-backnumber-01.col3 > li:nth-child(2n), .list-backnumber-01.col4 > li:nth-child(2n) {
    border-right: 0;
  }
}

@media only screen and (max-width: 478px) {
  .list-backnumber-01 {
    display: block;
    flex: none;
    margin: 0;
  }
  .list-backnumber-01 > li {
    padding: 0 0 20px 0;
    border-right: 0;
    border-bottom: #d2cfc6 1px dotted;
  }
  .list-backnumber-01 > li b {
    font-size: 1.8rem;
  }
  .list-backnumber-01 > li + li {
    margin-top: 20px;
  }
  .list-backnumber-01 > li:last-child {
    border-bottom: 0;
  }
  .list-backnumber-01.col2 > li, .list-backnumber-01.col3 > li, .list-backnumber-01.col4 > li {
    width: 100%;
  }
  .list-backnumber-01.col2 > li:nth-child(3n), .list-backnumber-01.col2 > li:nth-child(2n), .list-backnumber-01.col3 > li:nth-child(3n), .list-backnumber-01.col3 > li:nth-child(2n), .list-backnumber-01.col4 > li:nth-child(3n), .list-backnumber-01.col4 > li:nth-child(2n) {
    border-right: 0;
  }
}

/*--- list-process-01 ------------------*/
.list-process-01 {
  margin-top: 30px;
  counter-reset: number;
}

.list-process-01 li {
  counter-increment: number;
}

.list-process-01 li + li {
  margin-top: 20px;
}

.list-process-01 li .inner {
  display: block;
  padding-left: 40px;
  position: relative;
}

.list-process-01 li .inner::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: #d62828;
  border-radius: 60px;
  position: absolute;
  top: 0;
  left: 0;
}

.list-process-01 li .inner::after {
  font-weight: bold;
  color: #fff;
  text-align: center;
  content: counter(number);
  display: block;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  left: 0;
}

.list-process-01 li .img {
  padding-right: 30px;
}

.list-process-01 li .img img {
  border-radius: 10px;
  max-width: 150px;
}

@media only screen and (max-width: 868px) {
  .list-process-01 li .inner::before, .list-process-01 li .inner::after {
    width: 22px;
    height: 22px;
  }
  .list-process-01 li .img {
    padding-right: 15px;
  }
}

@media only screen and (max-width: 478px) {
  .list-process-01 li {
    display: block;
  }
  .list-process-01 li .inner {
    margin-top: 12px;
    display: block;
  }
  .list-process-01 li .img {
    display: block;
    text-align: center;
    padding: 0;
  }
}

/*--- list-link-01 ------------------*/
.list-link-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.list-link-01.col3 li {
  width: 33.33333%;
}

.list-link-01.col4 li {
  width: 25%;
}

.list-link-01.col5 li {
  width: 20%;
}

.list-link-01.col6 li {
  width: 16.66667%;
}

.list-link-01 li {
  padding: 0 15px;
  text-align: center;
  margin-top: 16px;
}

.list-link-01 li a {
  text-decoration: none;
}

.list-link-01 a {
  text-align: center;
  display: inline-block;
  color: #000;
}

.list-link-01 a:hover .img img, .list-link-01 a:focus .img img {
  transform: scale(1.1, 1.1);
}

.list-link-01 a .img {
  display: inline-block;
  border-radius: 360px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  overflow: hidden;
}

.list-link-01 a .img img {
  transform: scale(1, 1);
  transition: .3s all;
}

.list-link-01 a .txt {
  display: block;
  text-align: center;
  margin-top: 4px;
}

@media only screen and (max-width: 1109px) {
  .list-link-01.col4 li, .list-link-01.col5 li, .list-link-01.col6 li {
    width: 33.33333%;
  }
}

@media only screen and (max-width: 478px) {
  .list-link-01.col3 li, .list-link-01.col4 li, .list-link-01.col5 li, .list-link-01.col6 li {
    width: 50%;
  }
}

/*--- list-num-02 ------------------*/
.list-num-02 {
  border-top: #d2cfc6 1px dotted;
  margin-top: 30px;
}

.list-num-02 li {
  padding: 18px 0 18px 33px;
  position: relative;
  border-bottom: #d2cfc6 1px dotted;
}

.list-num-02 li .mark {
  vertical-align: middle;
  display: inline-block;
  position: absolute;
  font-size: 1.6rem;
  color: #fff;
  font-weight: bold;
  width: 25px;
  height: 25px;
  left: 0;
  text-align: center;
}

.list-num-02 li .mark::before {
  content: "";
  display: block;
  height: 25px;
  width: 25px;
  background: #d62828;
  border-radius: 50px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@media only screen and (max-width: 868px) {
  .list-num-02 li .mark {
    font-size: 1.4rem;
    padding-top: .1em;
  }
}

/*--- list-search-data-01 ------------------*/
.list-search-data-01 li {
  display: inline-block;
  padding-left: 28px;
  padding-right: 50px;
  background: url(/common/images/icon-search-01.png) no-repeat left center;
}

/*--- list-input-01 ------------------*/
.list-input-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.list-input-01 li {
  width: 25%;
  padding: 0 10px;
  min-width: 220px;
}

.list-input-01 li label {
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.list-input-01 li.type1 span:hover, .list-input-01 li.type1 span:focus {
  border-color: #d62828;
}

.list-input-01 li.type1 input:checked + span {
  background: #d62828;
  border-color: #d62828;
}

.list-input-01 li label {
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.list-input-01 li span {
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  position: relative;
  cursor: pointer;
  background: #fff;
  border: #e8e7e2 2px solid;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 4px;
  padding: 11px 32px 7px 20px;
  transition: .1s all;
  height: 100%;
  word-break: break-all;
}

.list-input-01 li span:hover, .list-input-01 li span:focus {
  border-color: #1b9974;
}

.list-input-01 li span::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 6px;
  border-top: solid 2px #e8e7e2;
  border-right: solid 2px #e8e7e2;
  will-change: transform;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  vertical-align: middle;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
}

.list-input-01 li input {
  display: none;
}

.list-input-01 li input:checked + span {
  background: #1b9974;
  border-color: #1b9974;
  color: #fff;
}

.list-input-01 li input:checked + span::before {
  border-color: #fff;
}

.list-input-01 li input:checked + span::after {
  content: "";
  display: block;
  border-radius: 100px;
  border: #fff 2px solid;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -10px;
}

@media only screen and (max-width: 868px) {
  .list-input-01 {
    margin: 16px 0 0 0;
    border-radius: 10px;
    border-top: #d2cfc6 1px solid;
    border-left: #d2cfc6 1px solid;
  }
  .list-input-01.double {
    border-radius: 10px !important;
  }
  .list-input-01.double li {
    border-radius: 10px 0 0 10px !important;
  }
  .list-input-01.double li label span {
    border-radius: 10px 0 0 10px !important;
  }
  .list-input-01.double li + li {
    border-radius: 0 10px 10px 0 !important;
  }
  .list-input-01.double li + li label span {
    border-radius: 0 10px 10px 0 !important;
  }
  .list-input-01 li:only-of-type {
    width: 100%;
    border-radius: 10px !important;
  }
  .list-input-01 li:only-of-type label span {
    border-radius: 10px !important;
  }
  .list-input-01 li {
    width: 50%;
    min-width: auto;
    margin: 0;
    padding: 0;
    border-bottom: #d2cfc6 1px solid;
    border-right: #d2cfc6 1px solid;
  }
  .list-input-01 li:nth-child(even):last-child {
    border-radius: 0 0 10px 0;
  }
  .list-input-01 li:nth-child(even):last-child span {
    border-radius: 0 0 10px 0;
  }
  .list-input-01 li:nth-child(even):nth-last-child(2) {
    border-radius: 0 0 10px 0;
  }
  .list-input-01 li:nth-child(even):nth-last-child(2) span {
    border-radius: 0 0 10px 0;
  }
  .list-input-01 li:nth-child(odd):last-child {
    border-radius: 0 0 0 10px;
  }
  .list-input-01 li:nth-child(odd):last-child span {
    border-radius: 0 0 0 10px;
  }
  .list-input-01 li:nth-child(odd):nth-last-child(2) {
    border-radius: 0 0 0 10px;
  }
  .list-input-01 li:nth-child(odd):nth-last-child(2) span {
    border-radius: 0 0 0 10px;
  }
  .list-input-01 li:first-child {
    border-radius: 10px 0 0 0;
  }
  .list-input-01 li:first-child span {
    border-radius: 10px 0 0 0;
  }
  .list-input-01 li:first-child + li {
    border-radius: 0 10px 0 0;
  }
  .list-input-01 li:first-child + li span {
    border-radius: 0 10px 0 0;
  }
  .list-input-01 li span {
    box-shadow: none;
    border: 0;
    border-radius: 0;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    padding: 10px;
  }
  .list-input-01 li span::before {
    content: none;
  }
  .list-input-01 li input:checked + span::after {
    content: none;
  }
}

/* --------------------------------------
  link
-----------------------------------------*/
.main a {
  text-decoration: underline;
}

.main a:hover, .main a:focus {
  text-decoration: none;
}

.main a .link-icon {
  padding-left: 10px;
  vertical-align: middle;
}

#footer a .link-icon, #header a .link-icon {
  padding-left: 10px;
  vertical-align: middle;
}

.main li > ul, .main li > ol, .main li > dl, .main dd > ul, .main dd > ol, .main dd > dl, .main p > ul, .main p > ol, .main p > dl {
  margin: 10px 0 20px 0;
}

.download-01 {
  min-width: 176px;
}

.download-01 a {
  text-decoration: none;
  display: inline-block;
  color: #666;
  border: #f1f1ee 1px solid;
  box-shadow: 0 2px 3px 0px rgba(145, 145, 145, 0.6);
  font-size: 1.6rem;
  padding: 8px 18px 6px 18px;
  border-radius: 90px;
  line-height: 1;
  margin-left: 10px;
  text-align: center;
  transition: .3s all;
}

.download-01 a:hover, .download-01 a:focus {
  color: #1b9974;
}

.download-01 span {
  padding: 2px 24px 2px 0;
  display: block;
  background: url(/company/common/images/icon-download-01.png) no-repeat right center;
}

/*--- link-01 ------------------*/
p.link-01 {
  margin-top: 15px;
}

p.link-01 a, p.link-01 .link {
  display: inline-block;
  position: relative;
  padding-left: 20px;
  color: #000;
  text-decoration: none;
}

p.link-01 a:hover, p.link-01 a:focus, p.link-01 .link:hover, p.link-01 .link:focus {
  color: #1b9974;
}

p.link-01 a::before, p.link-01 .link::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

/*--- link-02 ------------------*/
p.link-02 {
  margin-top: 15px;
}

p.link-02 a {
  display: inline-block;
  position: relative;
  text-decoration: none;
}

p.link-02 a:hover > span > span, p.link-02 a:focus > span > span {
  text-decoration: underline;
}

p.link-02 a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

p.link-02 a::after {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -11px;
  right: 0;
}

p.link-02 a > span {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  padding-right: 27px;
}

p.link-02 a > span::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  background: #f8f5e6;
  height: 2px;
  width: 13px;
  right: 25px;
  right: 6px;
  margin-top: -3px;
}

p.link-02 a > span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  transform: rotate(45deg);
  margin-top: -6px;
  right: 6px;
}

p.link-02 a > span > span {
  font-weight: bold;
}

/*--- link-list-01 ------------------*/
.link-list-01 {
  margin-top: 30px;
}

.link-list-01 li > .link {
  display: inline-block;
  position: relative;
  padding-left: 20px;
}

.link-list-01 li > .link::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 10px;
  background: #d62828;
  position: absolute;
  top: .6em;
  left: 0;
}

.link-list-01 a {
  display: inline-block;
  position: relative;
  padding-left: 20px;
  color: #000;
  text-decoration: none;
}

.link-list-01 a:hover, .link-list-01 a:focus {
  color: #1b9974;
}

.link-list-01 a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

.link-list-01 > li {
  margin-top: 5px;
}

.link-list-01.col {
  margin-top: 3px;
}

.link-list-01.col > li {
  margin-right: 40px;
  float: left;
}

@media only screen and (max-width: 868px) {
  .link-list-01 > li {
    margin-top: 10px;
  }
}

/*--- link-img-01 ------------------*/
.link-img-01 {
  margin-top: 50px;
}

.link-img-01 li {
  margin-top: 10px;
}

.link-img-01 li a {
  color: #000;
  text-decoration: none;
  vertical-align: middle;
  border: #f1f1ee 1px solid;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  -webkit-align-items: center;
  align-items: center;
  transition: .3s all;
}

.link-img-01 li a:hover, .link-img-01 li a:focus {
  color: #1b9974;
}

.link-img-01 li a > .img {
  border-radius: 10px 0 0 10px;
}

.link-img-01 li a > .img img {
  border-radius: 10px 0 0 10px;
}

.link-img-01 li a > .txt {
  padding: 0 20px;
}

.link-img-01 li a > .txt span {
  padding-left: 20px;
  position: relative;
  display: block;
}

.link-img-01 li a > .txt span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .7em;
  left: 0;
}

.link-img-01 li + li {
  margin-top: 20px;
}

.link-img-01.col2 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 50px -20px 0 -20px;
}

.link-img-01.col2 li {
  margin-top: 10px;
  padding: 0 20px;
  width: 50%;
}

@media only screen and (max-width: 1109px) {
  .link-img-01 .img {
    max-width: 50%;
  }
  .link-img-01 li a {
    line-height: 1.5;
  }
  .link-img-01 li a > .txt span::before {
    top: .5em;
  }
}

@media only screen and (max-width: 868px) {
  .link-img-01 {
    margin-top: 0;
  }
  .link-img-01 li a {
    font-size: 1.6rem;
    display: inline-block;
  }
  .link-img-01 li a > .img {
    max-width: 100%;
    float: none;
    padding-right: 0;
    display: block;
    border-radius: 10px 10px 0 0;
  }
  .link-img-01 li a > .img img {
    border-radius: 10px 10px 0 0;
  }
  .link-img-01 li a > .txt {
    padding: 15px 20px;
    display: block;
  }
  .link-img-01 li a > .txt::before {
    top: .5em;
  }
  .link-img-01.col2 {
    margin: 50px 0 0 0;
    display: block;
    text-align: center;
  }
  .link-img-01.col2 li {
    padding: 0;
    width: 100%;
  }
  .link-img-01.col2 li + li {
    margin-top: 20px;
  }
  .link-img-01.col2 li .txt {
    text-align: left;
  }
}

/*--- link-img-02 ------------------*/
.link-img-02 li a {
  color: #000;
  display: block;
  text-decoration: none;
}

.link-img-02 li a:hover, .link-img-02 li a:focus {
  color: #1b9974;
}

.link-img-02 li a > .img {
  display: block;
  float: left;
  border-radius: 10px;
  background: #fff;
  border: #f1f1ee 1px solid;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.link-img-02 li a > .img img {
  padding: 5px;
}

.link-img-02 li a > .txt {
  padding-left: 20px;
  overflow: hidden;
  display: block;
}

.link-img-02 li a > .txt span {
  display: inline-block;
  position: relative;
  padding-left: 20px;
}

.link-img-02 li a > .txt span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .7em;
  left: 0;
}

.link-img-02.col2 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -12px;
  margin-left: -12px;
}

.link-img-02.col2 li {
  width: 50%;
  padding: 0 12px;
}

.link-img-02.col2 li:nth-child(n + 3) {
  margin-top: 10px;
}

.link-img-02.col2 li a > .img {
  max-width: 100px;
}

@media only screen and (max-width: 1109px) {
  .link-img-02.col2 {
    display: block;
    margin-right: 0;
    margin-left: 0;
  }
  .link-img-02.col2 li {
    width: 100%;
    padding: 0;
  }
  .link-img-02.col2 li + li {
    margin-top: 10px;
  }
}

@media only screen and (max-width: 868px) {
  .link-img-02 {
    margin-top: 0;
  }
  .link-img-02 li a > .img {
    max-width: 100px;
  }
  .link-img-02 li a > .txt {
    padding-left: 10px;
  }
  .link-img-02 li a > .txt span::before {
    top: .5em;
  }
}

/*--- link-sns-01 ------------------*/
.link-sns-01 {
  margin: 30px -4px 0 -4px;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.link-sns-01 li {
  padding: 0 4px;
}

.link-sns-01 li a {
  display: block;
  transition: .3s all;
}

.link-sns-01 li a:hover, .link-sns-01 li a:focus {
  opacity: .7;
}

/*--- link-anchor-01 ------------------*/
.link-anchor-01 {
  margin-top: 30px;
}

.link-anchor-01 a, .link-anchor-01 .link {
  display: inline-block;
  position: relative;
  padding-left: 20px;
  color: #000;
  text-decoration: none;
}

.link-anchor-01 a::before, .link-anchor-01 .link::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

.link-anchor-01 a:hover, .link-anchor-01 a:focus {
  color: #1b9974;
}

.link-anchor-01 .link {
  color: #999;
}

.link-anchor-01 .link::before {
  border-color: #999;
}

.link-anchor-01 > li {
  margin-top: 5px;
  margin-right: 40px;
  display: inline-block;
}

.link-anchor-01.t-center > li {
  margin-right: 20px;
  margin-left: 20px;
}

@media only screen and (max-width: 868px) {
  .link-anchor-01 a::before, .link-anchor-01 .link::before {
    top: .5em;
  }
  .link-anchor-01 > li {
    margin-top: 10px;
  }
}

/*--- link-anchor-02 ------------------*/
.link-anchor-02 {
  margin: 20px -10px 0 -10px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.link-anchor-02.t-center {
  -webkit-justify-content: center;
  justify-content: center;
}

.link-anchor-02.col2 li {
  width: 50%;
}

.link-anchor-02.col3 li {
  width: 33.33333%;
}

.link-anchor-02.col4 li {
  width: 25%;
}

.link-anchor-02.col5 li {
  width: 20%;
}

.link-anchor-02 li {
  padding: 0 10px;
  margin-top: 10px;
}

.link-anchor-02 li a {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  border-radius: 50px;
  width: 100%;
  border: #d2cfc6 2px solid;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  text-decoration: none;
  color: #000;
  padding: 9px 20px 6px 20px;
  text-align: center;
  transition: .3s all;
  line-height: 1.4;
}

.link-anchor-02 li a:hover, .link-anchor-02 li a:focus {
  background: #1b9974;
  border-color: #1b9974;
  color: #fff;
}

.link-anchor-02 li a:hover > span::before, .link-anchor-02 li a:focus > span::before {
  background: #1b9974;
}

.link-anchor-02 li a:hover > span::after, .link-anchor-02 li a:focus > span::after {
  border-bottom: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
}

.link-anchor-02 li a:hover > span > span::before, .link-anchor-02 li a:focus > span > span::before {
  background: #fff;
}

.link-anchor-02 li a > span {
  position: relative;
}

.link-anchor-02 li a > span::before, .link-anchor-02 li a > span::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  top: 50%;
}

.link-anchor-02 li a > span::before {
  background: #fff;
  width: 2px;
  height: 13px;
  left: 8px;
  margin-top: -9px;
}

.link-anchor-02 li a > span::after {
  width: 8px;
  height: 8px;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  left: 5px;
  margin-top: -4px;
}

.link-anchor-02 li a > span > span {
  display: inline-block;
  padding: 0 8px 0 27px;
  position: relative;
  line-height: 1.4;
}

.link-anchor-02 li a > span > span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  left: 0;
}

@media only screen and (max-width: 868px) {
  .link-anchor-02.col4 li {
    width: 33.33333%;
  }
  .link-anchor-02.col5 li {
    width: 33.33333%;
  }
  .link-anchor-02 li {
    font-size: 1.4rem;
  }
  .link-anchor-02 li a {
    padding: 8px 5px 7px 5px;
  }
  .link-anchor-02 li a:focus, .link-anchor-02 li a:hover {
    background: #fff;
    border: #d2cfc6 2px solid;
    color: #000;
    background: #fff;
  }
  .link-anchor-02 li a:focus > span::before, .link-anchor-02 li a:hover > span::before {
    background: #fff;
  }
  .link-anchor-02 li a:focus > span::after, .link-anchor-02 li a:hover > span::after {
    border-bottom: solid 2px #fff;
    border-right: solid 2px #fff;
  }
  .link-anchor-02 li a:focus > span > span::before, .link-anchor-02 li a:hover > span > span::before {
    background: #1b9974;
  }
  .link-anchor-02 li a > span::before {
    height: 11px;
    left: 6px;
  }
  .link-anchor-02 li a > span::after {
    width: 6px;
    height: 6px;
    left: 4px;
    margin-top: -4px;
  }
  .link-anchor-02 li a > span > span {
    padding: 0 12px 0 20px;
  }
  .link-anchor-02 li a > span > span::before {
    height: 14px;
    width: 14px;
    top: 50%;
    margin-top: -7px;
  }
}

@media only screen and (max-width: 478px) {
  .link-anchor-02.col3 li, .link-anchor-02.col4 li, .link-anchor-02.col5 li {
    width: 50%;
  }
}

/*--- link-anchor-03 ------------------*/
.link-anchor-03 {
  margin-top: 20px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.link-anchor-03 li {
  padding: 0 10px;
  margin-top: 10px;
  display: inline-block;
  padding: 0 9px 0 0;
}

.link-anchor-03 li:last-child {
  padding: 0;
}

.link-anchor-03 li a:hover, .link-anchor-03 li afocus {
  background: #1b9974;
  border-color: #1b9974;
  color: #fff;
}

.link-anchor-03 li a:hover > span::before, .link-anchor-03 li afocus > span::before {
  background: #1b9974;
}

.link-anchor-03 li a:hover > span::after, .link-anchor-03 li afocus > span::after {
  border-bottom: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
}

.link-anchor-03 li a:hover > span > span::before, .link-anchor-03 li afocus > span > span::before {
  background: #fff;
}

.link-anchor-03 li a, .link-anchor-03 li .link {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  border-radius: 50px;
  width: 100%;
  border: #d2cfc6 2px solid;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  text-decoration: none;
  color: #000;
  padding: 8px 22px 6px 20px;
  text-align: center;
  transition: .3s all;
  line-height: 1.4;
}

.link-anchor-03 li a > span, .link-anchor-03 li .link > span {
  position: relative;
}

.link-anchor-03 li a > span::before, .link-anchor-03 li a > span::after, .link-anchor-03 li .link > span::before, .link-anchor-03 li .link > span::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  top: 50%;
}

.link-anchor-03 li a > span::before, .link-anchor-03 li .link > span::before {
  background: #fff;
  width: 2px;
  height: 13px;
  left: 8px;
  margin-top: -9px;
}

.link-anchor-03 li a > span::after, .link-anchor-03 li .link > span::after {
  width: 8px;
  height: 8px;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  left: 5px;
  margin-top: -4px;
}

.link-anchor-03 li a > span > span, .link-anchor-03 li .link > span > span {
  display: inline-block;
  padding: 0 0 0 21px;
  position: relative;
  line-height: 1.4;
}

.link-anchor-03 li a > span > span::before, .link-anchor-03 li .link > span > span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  left: 0;
}

.link-anchor-03 li .link {
  background: #eae8e4;
  color: #999;
}

.link-anchor-03 li .link > span::before {
  background: #eae8e4;
}

.link-anchor-03 li .link > span::after {
  border-bottom: solid 2px #eae8e4;
  border-right: solid 2px #eae8e4;
}

.link-anchor-03 li .link > span > span::before {
  background: #999;
}

@media only screen and (max-width: 868px) {
  .link-anchor-03 li {
    font-size: 1.4rem;
  }
  .link-anchor-03 li a > span::before, .link-anchor-03 li .link > span::before {
    height: 11px;
    left: 6px;
  }
  .link-anchor-03 li a > span::after, .link-anchor-03 li .link > span::after {
    width: 6px;
    height: 6px;
    left: 4px;
    margin-top: -4px;
  }
  .link-anchor-03 li a > span > span::before, .link-anchor-03 li .link > span > span::before {
    height: 14px;
    width: 14px;
    top: 50%;
    margin-top: -7px;
  }
}

@media only screen and (max-width: 478px) {
  .link-anchor-03 {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 20px -5px 0 -5px;
  }
  .link-anchor-03 li {
    display: inherit;
    width: 33.33333%;
    padding: 0 5px;
  }
  .link-anchor-03 li:last-child {
    padding: 0 5px;
  }
  .link-anchor-03 li a, .link-anchor-03 li .link {
    padding: 8px 5px 7px 5px;
  }
}

/*--- link-news-01 ------------------*/
.link-news-01 {
  margin-top: 30px;
  border-bottom: #d2cfc6 dotted 1px;
}

.link-news-01 > li {
  border-top: #d2cfc6 dotted 1px;
  padding: 20px 0;
}

.link-news-01 > li a:hover b, .link-news-01 > li a:focus b {
  color: #1b9974;
}

.link-news-01 > li a.noLink:hover b, .link-news-01 > li a.noLink:focus b {
  color: #000;
}

.link-news-01 > li a, .link-news-01 > li .link {
  color: #000;
  text-decoration: none;
}

.link-news-01 > li a .file-size, .link-news-01 > li .link .file-size {
  padding-left: 5px;
}

.link-news-01 > li a .img, .link-news-01 > li .link .img {
  transition: .3s all;
  border-radius: 10px;
  min-width: 162px;
}

.link-news-01 > li a .img img, .link-news-01 > li .link .img img {
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
  max-width: 160px;
  width: 100%;
}

.link-news-01 > li a .img + .txt, .link-news-01 > li .link .img + .txt {
  padding-left: 30px;
}

.link-news-01 > li a .day, .link-news-01 > li .link .day {
  color: #888;
  margin-right: 17px;
}

.link-news-01 > li a .icon, .link-news-01 > li .link .icon {
  display: inline-block;
  line-height: 1;
  border-radius: 10px;
  font-size: 1.4rem;
  font-weight: bold;
  vertical-align: middle;
  padding: 4px 19px;
  border: #000 2px solid;
}

.link-news-01 > li a .icon.type1, .link-news-01 > li .link .icon.type1 {
  color: #886000;
  border: #886000 2px solid;
}

.link-news-01 > li a .icon.type2, .link-news-01 > li .link .icon.type2 {
  color: #1b9974;
  border: #1b9974 2px solid;
}

.link-news-01 > li a .icon.type3, .link-news-01 > li .link .icon.type3 {
  color: #d62828;
  border: #d62828 2px solid;
}

.link-news-01 > li a .icon.type4, .link-news-01 > li .link .icon.type4 {
  color: #ff8400;
  border: #ff8400 2px solid;
}

.link-news-01 > li a b, .link-news-01 > li .link b {
  transition: .3s all;
  display: block;
  font-weight: normal;
}

@media only screen and (max-width: 868px) {
  .link-news-01 > li a .img, .link-news-01 > li .link .img {
    min-width: 92px;
    width: 92px;
  }
  .link-news-01 > li a .day, .link-news-01 > li .link .day {
    margin-right: 10px;
  }
  .link-news-01 > li a .icon, .link-news-01 > li .link .icon {
    border-radius: 6px;
    font-size: 1.2rem;
    padding: 3px 17px 1px 17px;
  }
  .link-news-01 > li a .img img, .link-news-01 > li .link .img img {
    max-width: 100%;
  }
  .link-news-01 > li a .img + .txt, .link-news-01 > li .link .img + .txt {
    padding-left: 18px;
  }
  .link-news-01 > li a b, .link-news-01 > li .link b {
    transition: .3s all;
    display: block;
    font-weight: normal;
  }
}

/*--- link-news-02 ------------------*/
.link-news-02 {
  margin-top: 30px;
  border-bottom: #d2cfc6 dotted 1px;
}

.link-news-02 > li {
  -webkit-align-items: center;
  align-items: center;
  border-top: #d2cfc6 dotted 1px;
  padding: 20px 0;
}

.link-news-02 > li a:hover b, .link-news-02 > li a:focus b {
  color: #1b9974;
}

.link-news-02 > li .inner {
  -webkit-flex: 1;
  flex: 1;
}

.link-news-02 > li .download-01 {
  width: 214px;
  margin-top: 0;
  min-width: 176px;
  text-align: center;
}

.link-news-02 > li .download-01 a {
  display: block;
  border: #d2cfc6 1px solid;
  box-shadow: 0 2px 3px 0px rgba(145, 145, 145, 0.6);
  font-size: 1.6rem;
  padding: 8px 18px 6px 18px;
  border-radius: 90px;
  line-height: 1;
  color: #666;
  text-align: center;
}

.link-news-02 > li .download-01 a:hover, .link-news-02 > li .download-01 a:focus {
  color: #1b9974;
}

.link-news-02 > li .download-01 span {
  padding: 2px 24px 2px 0;
  display: block;
  background: url(/company/common/images/icon-download-01.png) no-repeat right center;
}

.link-news-02 > li .box a {
  color: #000;
  text-decoration: none;
}

.link-news-02 > li .box .file-size {
  padding-left: 5px;
}

.link-news-02 > li .box .img {
  transition: .3s all;
  border-radius: 10px;
  min-width: 162px;
}

.link-news-02 > li .box .img img {
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
  max-width: 160px;
  width: 100%;
}

.link-news-02 > li .box .img + .txt {
  padding-left: 30px;
}

.link-news-02 > li .box .day {
  color: #888;
  margin-right: 17px;
}

.link-news-02 > li .box .icon {
  display: inline-block;
  line-height: 1;
  border-radius: 10px;
  font-size: 1.4rem;
  font-weight: bold;
  vertical-align: middle;
  padding: 4px 19px;
  border: #000 2px solid;
}

.link-news-02 > li .box .icon.type1 {
  color: #886000;
  border: #886000 2px solid;
}

.link-news-02 > li .box .icon.type2 {
  color: #1b9974;
  border: #1b9974 2px solid;
}

.link-news-02 > li .box .icon.type3 {
  color: #d62828;
  border: #d62828 2px solid;
}

.link-news-02 > li .box .icon.type4 {
  color: #ff8400;
  border: #ff8400 2px solid;
}

.link-news-02 > li .box b {
  transition: .3s all;
  display: block;
  font-weight: normal;
}

@media only screen and (max-width: 868px) {
  .link-news-02 > li {
    display: block;
  }
  .link-news-02 > li .download-01 {
    display: block;
    width: 100%;
    margin: 10px 0 0 0;
    min-width: auto;
    text-align: right;
  }
  .link-news-02 > li .download-01 a {
    font-size: 1.4rem;
    margin: 0;
    display: inline-block;
  }
  .link-news-02 > li .box .img {
    min-width: 92px;
    width: 92px;
  }
  .link-news-02 > li .box .day {
    margin-right: 10px;
  }
  .link-news-02 > li .box .icon {
    border-radius: 6px;
    font-size: 1.2rem;
    padding: 3px 17px 1px 17px;
  }
  .link-news-02 > li .box .img img {
    max-width: 100%;
  }
  .link-news-02 > li .box .img + .txt {
    padding-left: 18px;
    display: block;
  }
  .link-news-02 > li .box b {
    transition: .3s all;
    display: block;
    font-weight: normal;
  }
}

/*--- link-bnr-01 ------------------*/
.link-bnr-01 {
  margin: 0 -10px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.link-bnr-01.large {
  margin: 0 -20px;
}

.link-bnr-01.large li {
  padding: 0 20px;
}

.link-bnr-01.col2 li {
  width: 50%;
}

.link-bnr-01.col2 li:nth-child(n+3) {
  margin-top: 20px;
}

.link-bnr-01.col4 li {
  width: 25%;
}

.link-bnr-01.col4 li:nth-child(n+5) {
  margin-top: 20px;
}

.link-bnr-01.t-center {
  -webkit-justify-content: center;
  justify-content: center;
}

.link-bnr-01 li {
  padding: 0 10px;
}

.link-bnr-01 li a {
  display: block;
  text-decoration: none;
  color: #000;
  font-size: 1.6rem;
}

.link-bnr-01 li a > span {
  border-radius: 10px;
  display: inline-block;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border: #f1f1ee 1px solid;
}

.link-bnr-01 li a > span img {
  transition: .3s all;
  transform: scale(1, 1);
  border-radius: 10px;
}

.link-bnr-01 li a:hover > span img, .link-bnr-01 li a:focus > span img {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 868px) {
  .link-bnr-01 {
    display: block;
    margin: 30px 0 0 0;
  }
  .link-bnr-01.col2 li, .link-bnr-01.col4 li {
    width: 100%;
  }
  .link-bnr-01.col2 li:nth-child(n+3), .link-bnr-01.col4 li:nth-child(n+3) {
    margin-top: 8px;
  }
  .link-bnr-01 li {
    padding: 0;
    text-align: center;
  }
  .link-bnr-01 li + li {
    margin-top: 8px;
  }
  .link-bnr-01 li a {
    font-size: 1.4rem;
  }
}

/*--- link-faq-01 ------------------*/
.link-faq-01 .link-faq-inner li {
  border-top: #ccc 1px dotted;
}

.link-faq-01 .link-faq-inner li:last-child {
  border-bottom: #ccc 1px dotted;
}

.link-faq-01 .link-faq-inner li a {
  display: block;
  width: 100%;
  text-decoration: none;
  color: #000;
  position: relative;
}

.link-faq-01 .link-faq-inner li a:hover .txt span, .link-faq-01 .link-faq-inner li a:focus .txt span {
  color: #1b9974;
}

.link-faq-01 .link-faq-inner li a > div {
  width: 100%;
  position: relative;
  padding: 14px 0 14px 80px;
  display: block;
}

.link-faq-01 .link-faq-inner li a > div .question {
  display: block;
  background: #d62828;
  border-radius: 10px;
  font-size: 1.4rem;
  font-weight: bold;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -13px;
  color: #fff;
  padding: 2px 20px 1px 20px;
  min-height: 26px;
  min-width: 50px;
  z-index: 2;
}

.link-faq-01 .link-faq-inner li a .txt {
  margin-top: 0;
}

.link-faq-01 .link-faq-inner li a .txt::before, .link-faq-01 .link-faq-inner li a .txt::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: right .2s ease-in-out;
}

.link-faq-01 .link-faq-inner li a .txt::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.link-faq-01 .link-faq-inner li a .txt::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.link-faq-01 .link-faq-inner li a .txt span {
  display: block;
  font-weight: bold;
  padding-right: 25px;
}

.link-faq-01 .link-faq-inner li a .txt span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

@media only screen and (max-width: 868px) {
  .link-faq-01 .link-faq-inner li a > div .question {
    min-width: 20px;
    min-height: 20px;
    width: 20px;
    height: 20px;
    font-size: 1.4rem;
    padding: 3px 0 0 0;
    line-height: 1;
    border-radius: 4px;
    margin-top: 0;
    top: 14px;
  }
  .link-faq-01 .link-faq-inner li a > div {
    padding-left: 30px;
  }
}

/*--- link-sitemap ------------------*/
.link-sitemap {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  margin: 0 -20px;
}

.link-sitemap > li {
  width: 50%;
  padding: 0 20px;
}

.link-sitemap > li > a {
  border-bottom: #d2cfc6 2px solid;
  font-size: 2.4rem;
  color: #000;
  text-decoration: none;
  display: block;
  padding-bottom: 11px;
}

.link-sitemap > li > a > span {
  display: inline-block;
  position: relative;
}

.link-sitemap > li > a > span::before, .link-sitemap > li > a > span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: right .2s ease-in-out;
}

.link-sitemap > li > a > span::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.link-sitemap > li > a > span::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.link-sitemap > li > a > span span {
  display: block;
  font-weight: bold;
  position: relative;
  padding-right: 40px;
}

.link-sitemap > li > a > span span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.link-sitemap > li > a:hover, .link-sitemap > li > a:focus {
  color: #1b9974;
}

.link-sitemap > li > a:hover > span::before, .link-sitemap > li > a:focus > span::before {
  right: 3px;
}

.link-sitemap > li > a:hover > span::after, .link-sitemap > li > a:focus > span::after {
  right: 4px;
}

@media only screen and (max-width: 868px) {
  .link-sitemap {
    display: block;
    margin: 0;
  }
  .link-sitemap > li {
    width: 100%;
    padding: 0;
  }
  .link-sitemap > li + li {
    margin-top: 20px;
  }
}

/*--- link-tab-01 ------------------*/
.link-tab-01 {
  margin-top: 50px;
  border-bottom: #d62828 4px solid;
}

.link-tab-01 > .link {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -4px;
}

.link-tab-01 > .link li {
  padding: 0 4px;
}

.link-tab-01 > .link li a {
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  padding: 13px 10px 11px 10px;
  text-decoration: none;
  color: #666;
  background: #eae8e4;
  border-radius: 10px 10px 0 0;
  transition: .3s all;
  width: 100%;
}

.link-tab-01 > .link li a:hover, .link-tab-01 > .link li a:focus {
  color: #d62828;
}

.link-tab-01 > .link li a span {
  font-size: 1.8rem;
  line-height: 1.11111;
  display: block;
  width: 100%;
  position: relative;
}

.link-tab-01 > .link .current {
  margin-top: -5px;
}

.link-tab-01 > .link .current a {
  color: #fff;
  background: #d62828;
}

.link-tab-01 > .link .current a span {
  font-weight: bold;
}

.link-tab-01 > .link.col2 li {
  width: 50%;
}

.link-tab-01 > .link.col3 li {
  width: 33.33333%;
}

.link-tab-01 > .link.col4 li {
  width: 25%;
}

.link-tab-01 > .link.col5 li {
  width: 20%;
}

.link-tab-01 > .link.col6 li {
  width: 16.66667%;
}

.link-tab-01 > .link.col7 li {
  width: 14.28571%;
}

@media only screen and (max-width: 868px) {
  .link-tab-01 {
    margin-top: 40px;
    padding-top: 5px;
    overflow-x: scroll;
    border-bottom: 0;
  }
  .link-tab-01 > .link {
    margin: 0;
    padding: 0 16px;
    border-bottom: #d62828 4px solid;
    width: 1280px;
  }
  .link-tab-01 > .link li a span {
    font-size: 1.6rem;
  }
}

/*--- link-list-02 ------------------*/
.link-list-02 {
  margin-top: 30px;
  border-bottom: #d2cfc6 dotted 1px;
}

.link-list-02 > li {
  border-top: #d2cfc6 dotted 1px;
  padding: 11px 0 10px 0;
}

.link-list-02 > li a {
  display: block;
  color: #000;
  text-decoration: none;
  position: relative;
}

.link-list-02 > li a::before, .link-list-02 > li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: right .2s ease-in-out;
}

.link-list-02 > li a::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.link-list-02 > li a::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.link-list-02 > li a > span {
  display: block;
  position: relative;
  padding-right: 20px;
}

.link-list-02 > li a > span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.link-list-02 > li a:hover, .link-list-02 > li a:focus {
  color: #1b9974;
}

.link-list-02 > li a:hover::before, .link-list-02 > li a:focus::before {
  right: 3px;
}

.link-list-02 > li a:hover::after, .link-list-02 > li a:focus::after {
  right: 4px;
}

@media only screen and (max-width: 868px) {
  .link-list-02 > li a .img {
    min-width: 92px;
    width: 92px;
  }
  .link-list-02 > li a .icon {
    border-radius: 6px;
    margin-left: 10px;
    font-size: 1.2rem;
    padding: 2px 17px 0 17px;
  }
  .link-list-02 > li a .img img {
    max-width: 100%;
  }
  .link-list-02 > li a .img + .txt {
    padding-left: 18px;
  }
  .link-list-02 > li a b {
    transition: .3s all;
    display: block;
    font-weight: normal;
  }
}

/*--- link-list-03 ------------------*/
.link-list-03 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -11px;
}

.link-list-03.col2 li {
  width: 50%;
}

.link-list-03.full {
  display: block;
  -webkit-flex: none;
  flex: none;
}

.link-list-03.full li {
  width: 100%;
}

.link-list-03 li {
  margin-top: 30px;
  padding: 0 11px;
  width: 33.33333%;
}

.link-list-03 li a {
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border: #fff 2px solid;
  color: #000;
  font-size: 1.8rem;
  background: #fff;
  border-radius: 10px;
  text-decoration: none;
  padding: 18px 20px;
  position: relative;
  transition: .3s all;
}

.link-list-03 li a::before, .link-list-03 li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: right .2s ease-in-out;
}

.link-list-03 li a::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 25px;
  margin-top: -1px;
}

.link-list-03 li a::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 26px;
}

.link-list-03 li a span {
  padding: 3px 20px 3px 53px;
  display: block;
  width: 100%;
  font-weight: bold;
  position: relative;
}

.link-list-03 li a span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.link-list-03 li a:hover, .link-list-03 li a:focus {
  border: #1b9974 2px solid;
}

.link-list-03 li a:hover::before, .link-list-03 li a:focus::before {
  right: 23px;
}

.link-list-03 li a:hover::after, .link-list-03 li a:focus::after {
  right: 24px;
}

@media only screen and (max-width: 868px) {
  .link-list-03 {
    margin: 20px 0 0 0;
    display: block;
  }
  .link-list-03.col2 li {
    width: 100%;
  }
  .link-list-03 li {
    margin-top: 10px;
    padding: 0;
    width: 100%;
  }
  .link-list-03 li a {
    display: block;
    font-size: 1.6rem;
    padding: 5px 10px;
  }
  .link-list-03 li a::before {
    right: 15px;
  }
  .link-list-03 li a::after {
    right: 16px;
  }
  .link-list-03 li a span {
    padding: 7px 20px 7px 39px;
  }
  .link-list-03 li a:hover::before, .link-list-03 li a:focus::before {
    right: 13px;
  }
  .link-list-03 li a:hover::after, .link-list-03 li a:focus::after {
    right: 14px;
  }
}

/*--- link-recipe-howto ------------------*/
.link-recipe-howto {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 -20px;
}

.link-recipe-howto li {
  padding: 0 20px;
}

.link-recipe-howto li + li {
  border-left: #000 1px solid;
}

.link-recipe-howto li a {
  font-size: 1.6rem;
  color: #000;
  text-decoration: none;
  position: relative;
  padding: 10px 0 10px 50px;
  display: block;
}

.link-recipe-howto li a img {
  max-width: 50px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

@media only screen and (max-width: 868px) {
  .link-recipe-howto {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    margin: 0 -10px;
  }
  .link-recipe-howto li {
    padding: 0 10px;
    width: 50%;
    margin-top: 10px;
  }
  .link-recipe-howto li + li {
    border-left: 0;
  }
  .link-recipe-howto li:nth-child(odd) {
    border-right: #000 1px solid;
  }
  .link-recipe-howto li a {
    padding-left: 40px;
    font-size: 1.4rem;
  }
  .link-recipe-howto li a img {
    max-width: 35px;
    top: 50%;
    margin-top: -17.5px;
  }
}

/*--- link-anchor-04 ------------------*/
.link-anchor-04 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -6px;
}

.link-anchor-04.col2 li {
  width: 50%;
}

.link-anchor-04.col3 li {
  width: 33.33333%;
}

.link-anchor-04.col4 li {
  width: 25%;
}

.link-anchor-04.col5 li {
  width: 20%;
}

.link-anchor-04.col6 li {
  width: 16.66667%;
}

.link-anchor-04.col7 li {
  width: 14.28571%;
}

.link-anchor-04 li {
  display: inline-block;
  padding: 0 6px;
}

.link-anchor-04 li a {
  text-align: center;
  display: block;
  text-decoration: none;
  color: #000;
}

.link-anchor-04 li a:hover .img img, .link-anchor-04 li a:focus .img img {
  transform: scale(1.1, 1.1);
}

.link-anchor-04 li .txt {
  display: block;
  text-align: center;
}

.link-anchor-04 li .txt span {
  display: inline-block;
  position: relative;
  padding-left: 20px;
}

.link-anchor-04 li .txt span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .5em;
  left: 6px;
}

.link-anchor-04 li .img {
  display: inline-block;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.link-anchor-04 li .img img {
  width: 100%;
  transition: .3s all;
  border-radius: 10px;
  transform: scale(1, 1);
}

@media only screen and (max-width: 868px) {
  .link-anchor-04 {
    margin: 0 -5px;
  }
  .link-anchor-04 li {
    padding: 0 5px;
  }
  .link-anchor-04.col4 li,
  .link-anchor-04.col5 li,
  .link-anchor-04.col6 li,
  .link-anchor-04.col7 li {
    width: 33.33333%;
  }
  .link-anchor-04 li:nth-child(n + 4) {
    margin-top: 10px;
  }
}

@media only screen and (max-width: 478px) {
  .link-anchor-04.col4 li,
  .link-anchor-04.col5 li,
  .link-anchor-04.col6 li,
  .link-anchor-04.col7 li {
    width: 50%;
  }
  .link-anchor-04 li:nth-child(n + 3) {
    margin-top: 10px;
  }
}

/* --------------------------------------
  hdg-01
-----------------------------------------*/
/*--- hdg-01-01 ------------------*/
.hdg-01-01 {
  padding: 0 20px;
}

.hdg-01-01.line {
  border-bottom: #d2cfc6 1px solid;
  padding: 0 20px 20px 20px;
}

.hdg-01-01 .hdg-inner {
  padding-top: 32px;
}

.hdg-01-01 .hdg-inner .hdg {
  font-size: 3rem;
  line-height: 1.5;
  text-align: center;
  position: relative;
}

.hdg-01-01 .hdg-inner .hdg span {
  font-weight: bold;
  display: inline-block;
  position: relative;
  padding: 0 55px;
}

.hdg-01-01 .hdg-inner .hdg span::before, .hdg-01-01 .hdg-inner .hdg span::after {
  content: "";
  display: block;
  height: 4px;
  width: 32px;
  background: #d62828;
  position: absolute;
  top: 50%;
  margin-top: -2px;
  border-radius: 2px;
}

.hdg-01-01 .hdg-inner .hdg span::before {
  left: 0;
}

.hdg-01-01 .hdg-inner .hdg span::after {
  right: 0;
}

.hdg-01-01 .hdg-inner .hdg span .hdg-img-01 {
  margin-right: 20px;
  vertical-align: top;
}

@media only screen and (max-width: 868px) {
  .hdg-01-01.line {
    border-bottom: 0;
    padding-bottom: 0;
  }
  .hdg-01-01.line .hdg-inner .hdg {
    margin-top: 0;
    padding: 18px 0;
  }
  .hdg-01-01 .hdg-inner {
    padding-top: 0;
  }
  .hdg-01-01 .hdg-inner .hdg {
    padding: 0;
    margin-top: 18px;
    font-size: 2.4rem;
  }
  .hdg-01-01 .hdg-inner .hdg span {
    padding: 0 0 15px 0;
  }
  .hdg-01-01 .hdg-inner .hdg span::before {
    content: none;
  }
  .hdg-01-01 .hdg-inner .hdg span::after {
    width: 32px;
    height: 3px;
    right: 50%;
    margin-right: -16px;
    top: auto;
    bottom: 0;
  }
  .hdg-01-01 .hdg-inner .hdg span .hdg-img-01 {
    max-width: 40px;
    margin-right: 10px;
    vertical-align: text-top;
  }
}

/*--- hdg-01-02 ------------------*/
.hdg-01-02 {
  padding: 0 20px;
}

.hdg-01-02 .hdg-inner {
  padding-top: 32px;
}

.hdg-01-02 .hdg-inner .hdg {
  font-size: 3rem;
  line-height: 1.5;
  text-align: center;
  position: relative;
}

.hdg-01-02 .hdg-inner .hdg > span {
  font-weight: bold;
  display: inline-block;
  position: relative;
  padding: 0 55px;
}

.hdg-01-02 .hdg-inner .hdg > span::before, .hdg-01-02 .hdg-inner .hdg > span::after {
  content: "";
  display: block;
  height: 4px;
  width: 32px;
  background: #d62828;
  position: absolute;
  top: 50%;
  margin-top: -2px;
  border-radius: 2px;
}

.hdg-01-02 .hdg-inner .hdg > span::before {
  left: 0;
}

.hdg-01-02 .hdg-inner .hdg > span::after {
  right: 0;
}

.hdg-01-02 .sub-01 {
  font-size: 2rem;
  display: table;
  background: #f4baab;
  margin: 0 auto;
  font-weight: bold;
  border-radius: 100px;
  padding: 4px 20px 2px 20px;
  margin-bottom: 14px;
}

.hdg-01-02 .sub-02 {
  font-size: 2rem;
  font-weight: bold;
}

@media only screen and (max-width: 868px) {
  .hdg-01-02 .hdg-inner {
    padding-top: 0;
  }
  .hdg-01-02 .hdg-inner .hdg {
    padding: 0;
    margin-top: 18px;
    font-size: 2.4rem;
  }
  .hdg-01-02 .hdg-inner .hdg span {
    padding: 0 0 15px 0;
  }
  .hdg-01-02 .hdg-inner .hdg span::before {
    content: none;
  }
  .hdg-01-02 .hdg-inner .hdg span::after {
    width: 16px;
    height: 3px;
    right: 50%;
    margin-right: -8px;
    top: auto;
    bottom: 0;
  }
  .hdg-01-02 .sub-01 {
    font-size: 1.6rem;
  }
  .hdg-01-02 .sub-02 {
    font-size: 1.6rem;
    display: inline-block;
  }
  .hdg-01-02 br + .sub-02 {
    padding-left: 0;
  }
}

/*--- hdg-01-03 ------------------*/
.hdg-01-03 {
  padding: 0 20px;
  background: #eee;
  margin-bottom: 30px;
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
}

.hdg-01-03 .hdg-inner {
  position: relative;
  height: 335px;
  display: table;
}

.hdg-01-03 .hdg-inner .hdg {
  display: table-cell;
  vertical-align: middle;
  font-size: 4rem;
  line-height: 1.5;
  text-align: center;
}

.hdg-01-03 .hdg-inner .hdg span {
  vertical-align: middle;
  font-weight: bold;
}

.hdg-01-03 .hdg-box-link-01 {
  position: absolute;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
}

.hdg-01-03 .hdg-box-link-01 a {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  padding: 40px 30px 30px 30px;
  text-decoration: none;
}

.hdg-01-03 .hdg-box-link-01 div {
  padding-left: 20px;
  text-align: center;
}

.hdg-01-03 .hdg-box-link-01 .title {
  font-size: 2rem;
  color: #000;
  font-weight: bold;
  border-top: #000 2px solid;
  border-bottom: #000 2px solid;
  margin-top: 0;
  padding: 6px 0;
}

.hdg-01-03 .hdg-box-link-01 .btn-02 {
  margin-top: 20px;
}

.hdg-01-03.ir {
  background-image: url("/ir/images/index-01.jpg");
}

.hdg-01-03.profile {
  background-image: url("/profile/images/index-01.jpg");
}

.hdg-01-03.safety {
  background-image: url("/safety/images/index-09.jpg");
}

.hdg-01-03.culture {
  background-image: url("/culture/images/index-01.jpg");
}

.hdg-01-03.rd {
  background-image: url("/rd/images/index-01.jpg");
}

.hdg-01-03.sustainability {
  background-image: url("/sustainability/images/index-01.jpg");
}

.hdg-01-03.sustainability .hdg-inner .hdg {
  text-align: left;
}

@media only screen and (max-width: 868px) {
  .hdg-01-03 {
    margin-bottom: 0;
  }
  .hdg-01-03 .hdg-inner {
    height: 124px;
  }
  .hdg-01-03 .hdg-inner .hdg {
    font-size: 2.2rem;
  }
  .hdg-01-03 .hdg-box-link-01 {
    position: static;
    display: block;
  }
  .hdg-01-03 .hdg-box-link-01 a {
    padding: 20px;
  }
  .hdg-01-03 .hdg-box-link-01 img {
    max-width: 100px;
  }
  .hdg-01-03 .hdg-box-link-01 .title {
    font-size: 1.8rem;
  }
  .hdg-01-03 .hdg-box-link-01 .btn-02 .link {
    padding: 10px 10px 8px 20px;
  }
  .hdg-01-03 .hdg-box-link-01 .btn-02 .link::before, .hdg-01-03 .hdg-box-link-01 .btn-02 .link::after {
    right: 16px;
  }
  .hdg-01-03.sustainability {
    background-image: none;
    padding: 0;
  }
  .hdg-01-03.sustainability .hdg-inner {
    display: block;
    height: auto;
  }
  .hdg-01-03.sustainability .hdg-inner .hdg {
    display: table;
    height: 124px;
    padding: 0 20px;
    background-image: url("/sustainability/images/index-01.jpg");
    background-size: cover;
    background-position: top center;
    background-repeat: no-repeat;
    text-align: left;
    width: 100%;
  }
  .hdg-01-03.sustainability .hdg-inner .hdg span {
    display: table-cell;
  }
}

/* --------------------------------------
  hdg-02
-----------------------------------------*/
/*--- hdg-02-01 ------------------*/
.hdg-02-01 {
  margin-top: 60px;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: bold;
  color: #1b9974;
  vertical-align: middle;
}

.hdg-02-01 > .small-01 {
  font-weight: bold;
  font-size: 1.6rem;
  padding-left: 7px;
  vertical-align: middle;
}

.hdg-02-01 .img {
  border-radius: 5px;
  display: inline-block;
  margin-left: 14px;
}

.hdg-02-01 .img.left {
  margin-left: 0;
  margin-right: 14px;
}

.hdg-02-01 + p {
  margin-top: 20px;
}

.hdg-02-01 + *:not(p):not(.hdg-02-01):not(.hdg-03-01):not(.index-04) {
  margin-top: 20px !important;
}

.hdg-02-01 + .layout-img-01, .hdg-02-01 + .index-04 {
  margin-top: 0;
}

.hdg-02-01 + [class^="hdg-03-"] {
  margin-top: 16px;
}

@media only screen and (max-width: 868px) {
  .hdg-02-01 {
    font-size: 2rem;
    margin-top: 48px;
  }
  .hdg-02-01 > .small-01 {
    line-height: 1;
    font-weight: bold;
    vertical-align: baseline;
  }
  .hdg-02-01 + p {
    margin-top: 16px;
  }
  .hdg-02-01 + *:not(p):not(.hdg-02-01):not(.hdg-03-01):not(.index-04) {
    margin-top: 16px !important;
  }
}

/*--- hdg-link-01 ------------------*/
.hdg-link-01 {
  margin-top: 60px;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: bold;
  color: #1b9974;
}

.hdg-link-01 a {
  display: inline-block;
  text-decoration: none;
  position: relative;
}

.hdg-link-01 a::before, .hdg-link-01 a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: right .2s ease-in-out;
}

.hdg-link-01 a::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.hdg-link-01 a::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.hdg-link-01 a span {
  font-weight: bold;
  position: relative;
  display: inline-block;
  padding-right: 28px;
}

.hdg-link-01 a span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.hdg-link-01 a:hover::before, .hdg-link-01 a:focus::before {
  right: 3px;
}

.hdg-link-01 a:hover::after, .hdg-link-01 a:focus::after {
  right: 4px;
}

.hdg-link-01 + p {
  margin-top: 20px;
}

.hdg-link-01 + *:not(p):not(.hdg-02-01):not(.hdg-03-01):not(.index-04) {
  margin-top: 20px !important;
}

.hdg-link-01 + .layout-img-01, .hdg-link-01 + .index-04 {
  margin-top: 0;
}

.hdg-link-01 + [class^="hdg-03-"] {
  margin-top: 16px;
}

@media only screen and (max-width: 868px) {
  .hdg-link-01 {
    font-size: 2rem;
    margin-top: 48px;
  }
  .hdg-link-01 + p {
    margin-top: 16px;
  }
  .hdg-link-01 + *:not(p):not(.hdg-02-01):not(.hdg-03-01):not(.index-04) {
    margin-top: 16px !important;
  }
}

/* --------------------------------------
  hdg-03
-----------------------------------------*/
/*--- hdg-03-01 ------------------*/
.hdg-03-01 {
  font-size: 2rem;
  line-height: 1.8;
  font-weight: bold;
  margin-top: 40px;
  padding: 10px 20px 8px 20px;
  background: #e4f0ec;
  border-radius: 10px;
  color: #1b9974;
  vertical-align: middle;
}

.hdg-03-01 + * {
  margin-top: 20px;
}

.hdg-03-01 + [class^="hdg-04-"] {
  margin-top: 20px;
}

.hdg-03-01.topics-01 .icon {
  vertical-align: top;
  display: inline-block;
  background: #1b9974;
  font-size: 1.6rem;
  border-radius: 5px;
  color: #fff;
  font-weight: bold;
  margin-right: 20px;
  padding: 3px 12px 1px 40px;
  background: #1b9974 url("/common/images/icon-hdg-01.gif") no-repeat 12px center;
}

.hdg-03-01 > .img {
  display: inline-block;
  margin-left: 10px;
  border-radius: 5px;
  vertical-align: top;
}

@media only screen and (max-width: 868px) {
  .hdg-03-01 {
    margin-top: 32px;
    font-size: 1.8rem;
    margin-right: -20px;
    margin-left: -20px;
    border-radius: 0;
  }
  .hdg-03-01 + * {
    margin-top: 16px;
  }
  .hdg-03-01.topics-01 .icon {
    font-size: 1.4rem;
  }
}

/*--- hdg-03-02 ------------------*/
.hdg-03-02 {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: bold;
  margin-top: 40px;
  vertical-align: middle;
  color: #1b9974;
}

.hdg-03-02 + * {
  margin-top: 20px;
}

.hdg-03-02 + [class^="hdg-04-"] {
  margin-top: 20px;
}

@media only screen and (max-width: 868px) {
  .hdg-03-02 {
    margin-top: 32px;
    font-size: 1.8rem;
  }
  .hdg-03-02 + * {
    margin-top: 16px;
  }
}

/* --------------------------------------
  hdg-04
-----------------------------------------*/
/*--- hdg-04-01 ------------------*/
.hdg-04-01 {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: bold;
  margin-top: 30px;
  color: #1b9974;
  padding-left: 21px;
  position: relative;
}

.hdg-04-01::before {
  content: "";
  display: block;
  background: #c1dbd3;
  height: 30px;
  width: 4px;
  border-radius: 2px;
  position: absolute;
  top: 0;
  left: 2px;
}

.hdg-04-01 + * {
  margin-top: 16px;
}

.hdg-04-01 + [class^="hdg-05-"] {
  margin-top: 12px;
}

@media only screen and (max-width: 868px) {
  .hdg-04-01 {
    font-size: 1.8rem;
    margin-top: 24px;
    padding: 0;
  }
  .hdg-04-01::before {
    content: none;
  }
  .hdg-04-01 + * {
    margin-top: 12px;
  }
  .hdg-04-01 + [class^="hdg-05-"] {
    margin-top: 10px;
  }
}

/* --------------------------------------
  hdg-05
-----------------------------------------*/
/*--- hdg-05-01 ------------------*/
.hdg-05-01 {
  font-size: 1.8rem;
  line-height: 1.5;
  font-weight: bold;
  margin-top: 20px;
  padding-left: 21px;
  position: relative;
  color: #1b9974;
}

.hdg-05-01::before, .hdg-05-01::after {
  content: "";
  display: block;
  height: 12px;
  width: 4px;
  background: #d2d2d2;
  border-radius: 2px;
  position: absolute;
  left: 2px;
}

.hdg-05-01::before {
  top: 0;
}

.hdg-05-01::after {
  top: 15px;
}

.hdg-05-01 + * {
  margin-top: 12px;
}

@media only screen and (max-width: 868px) {
  .hdg-05-01 {
    margin-top: 16px;
    font-size: 1.6rem;
    padding: 0;
  }
  .hdg-05-01::before, .hdg-05-01::after {
    content: none;
  }
  .hdg-05-01 + * {
    margin-top: 10px;
  }
}

/* --------------------------------------
  hdg
-----------------------------------------*/
/*--- hdg-label-01 ------------------*/
.hdg-label-01 {
  font-size: 2rem;
  line-height: 1.8;
  font-weight: bold;
  margin-top: 40px;
  padding: 10px 20px 8px 20px;
  background: #e4f0ec;
  border-radius: 10px;
  color: #1b9974;
  vertical-align: middle;
}

.hdg-label-01 + * {
  margin-top: 20px;
}

.hdg-label-01 + [class^="hdg-"] {
  margin-top: 20px;
}

.hdg-label-01.clear {
  background: none;
  padding-left: 0;
  padding-right: 0;
}

.hdg-label-01 > span {
  vertical-align: middle;
  font-size: 1.6rem;
  text-align: center;
  vertical-align: top;
  display: inline-block;
  background: #1b9974;
  border-radius: 5px;
  padding: 3px 10px 1px 10px;
  color: #fff;
  font-weight: bold;
  min-width: 82px;
  margin-right: 20px;
}

@media only screen and (max-width: 868px) {
  .hdg-label-01 {
    margin-top: 32px;
    font-size: 1.8rem;
    margin-right: -20px;
    margin-left: -20px;
    border-radius: 0;
  }
  .hdg-label-01 + * {
    margin-top: 16px;
  }
  .hdg-label-01.clear {
    margin-right: 0;
    margin-left: 0;
  }
  .hdg-label-01 > span {
    font-size: 1.4rem;
    min-width: 62px;
  }
}

/*--- hdg-num-01 ------------------*/
.hdg-num-01 {
  margin-top: 40px;
  font-size: 2.4rem;
  padding-left: 30px;
  position: relative;
  font-weight: bold;
}

.hdg-num-01 b {
  color: #1b9974;
}

.hdg-num-01 > span {
  height: 25px;
  width: 25px;
  text-align: center;
  display: block;
  position: absolute;
  top: .6em;
  left: 0;
  font-size: 1.6rem;
  color: #fff;
  font-weight: bold;
}

.hdg-num-01 > span::before {
  content: "";
  display: block;
  background: #d62828;
  width: 25px;
  height: 25px;
  border-radius: 50px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

@media only screen and (max-width: 868px) {
  .hdg-num-01 {
    margin-top: 32px;
    font-size: 2rem;
  }
  .hdg-num-01 > span {
    top: .2em;
  }
}

/*--- hdg-icon-01 ------------------*/
.hdg-icon-01 {
  margin-top: 40px;
  font-size: 2rem;
}

.hdg-icon-01 span {
  display: inline-block;
  font-weight: bold;
  padding-left: 32px;
  background: url("/common/images/icon-hdg-02.gif") no-repeat left 4px;
}

.hdg-icon-01 + * {
  margin-top: 20px;
}

@media only screen and (max-width: 868px) {
  .hdg-icon-01 {
    font-size: 1.8rem;
    margin-top: 32px;
  }
  .hdg-icon-01 + * {
    margin-top: 16px;
  }
}

/* --------------------------------------
  box
-----------------------------------------*/
/*--- box-01 ------------------*/
.box-01 {
  margin-top: 30px;
  background: #f8f5e6;
  padding: 20px;
  border-radius: 10px;
}

.box-01 > *:first-child {
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .box-01 {
    margin-top: 20px;
  }
}

/*--- box-02 ------------------*/
.box-02 {
  margin-top: 30px;
  border: #d2cfc6 2px solid;
  padding: 20px;
  border-radius: 10px;
}

.box-02 > *:first-child {
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .box-02 {
    margin-top: 20px;
  }
}

/*--- box-03 ------------------*/
.box-03 {
  padding-top: 135px;
}

.box-03 > .box-inner {
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px 10px 0 0;
  padding: 20px;
  text-align: center;
}

.box-03 > .box-inner .title {
  border-top: #000 2px solid;
  border-bottom: #000 2px solid;
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 1.5;
  padding: 8px 0 6px 0;
}

.box-03 > .box-inner .title + p {
  margin-top: 25px;
}

@media only screen and (max-width: 868px) {
  .box-03 {
    padding-top: 0;
  }
  .box-03 > .box-inner {
    padding: 30px 0;
  }
  .box-03 > .box-inner .title {
    font-size: 2rem;
    padding: 9px 0 8px 0;
  }
}

/*--- box-04 ------------------*/
.box-04 {
  margin-top: 30px;
}

.box-04 .visual {
  border-radius: 10px 0 0 10px;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  min-width: 200px;
  position: relative;
  white-space: nowrap;
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
}

.box-04 .visual .title-01 {
  margin-top: 0;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  position: relative;
  padding-top: 74px;
}

.box-04 .visual .title-01::after {
  content: attr(data-en);
  font-size: 1.2rem;
  font-weight: normal;
  display: block;
  text-align: center;
}

.box-04 .visual .title-01 > span {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -30px;
}

.box-04 .visual .title-01 > span img {
  border-radius: 120px;
}

.box-04 .visual .back {
  display: none;
}

.box-04 > .box-inner {
  background: #eff7f1;
  padding: 33px 40px 31px 40px;
  border-radius: 0 10px 10px 0;
}

.box-04 > .box-inner .title-02 {
  color: #1b9974;
  font-size: 2.4rem;
  font-weight: bold;
}

@media only screen and (max-width: 868px) {
  .box-04 {
    margin-top: 20px;
    display: block;
  }
  .box-04 .visual {
    border-radius: 10px 10px 0 0;
    min-width: auto;
    white-space: normal;
    background-position: center center;
    padding: 16px 20px;
  }
  .box-04 .visual .title-01 {
    padding: 9px 0 9px 69px;
    font-size: 2rem;
  }
  .box-04 .visual .title-01::after {
    display: inline-block;
    vertical-align: middle;
    font-size: 1rem;
    padding-left: 10px;
  }
  .box-04 .visual .title-01 > span {
    top: 50%;
    margin: -24px 0 0 0;
    left: 0;
  }
  .box-04 .visual .title-01 > span img {
    max-width: 48px;
  }
  .box-04 > .box-inner {
    padding: 23px 20px 21px 20px;
    border-radius: 0 0 10px 10px;
  }
  .box-04 > .box-inner .title-02 {
    font-size: 2rem;
  }
}

/*--- box-sarch-01 ------------------*/
.box-search-01 {
  margin-top: 60px;
}

.box-search-01 .box-search-inner {
  -webkit-align-items: center;
  align-items: center;
}

.box-search-01 .box-search-inner .hdg-01 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-right: 40px;
}

.box-search-01 .search-input-01 {
  height: 60px;
  border: #d62828 2px solid;
  border-radius: 120px;
  padding: 0 20px;
  width: 430px;
  transition: .3s all;
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
}

.box-search-01 .search-input-01::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.box-search-01 .search-input-02 {
  height: 60px;
  border: #eae8e4 2px solid;
  border-radius: 120px;
  padding: 0 20px;
  width: 350px;
  margin-left: 20px;
  color: #999;
  background: #eae8e4;
  transition: .3s all;
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
}

.box-search-01 .search-input-02::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.box-search-01 .search-btn-01 {
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  margin-left: 20px;
  background: #d62828;
  color: #fff;
  padding: 0 40px;
  border-radius: 120px;
  background-size: 200% 100%;
  background-image: -webkit-linear-gradient(left, transparent 50%, #df5555 50%);
  background-image: linear-gradient(to right, transparent 50%, #df5555 50%);
  transition: background-position 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, color 0.5s ease 0s, background-color 0.5s ease;
}

.box-search-01 .search-btn-01::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.box-search-01 .search-btn-01 span {
  background: url("/common/images/icon-search-02.png") no-repeat right center;
  padding: 18px 44px 18px 0;
  display: inline-block;
}

.box-search-01 .search-btn-01:hover, .box-search-01 .search-btn-01:focus {
  background-color: #df5555;
  background-position: -100% 100%;
}

@media only screen and (max-width: 1109px) {
  .box-search-01 .search-input-01 {
    width: 395px;
  }
  .box-search-01 .search-input-02 {
    width: 210px;
  }
}

@media only screen and (max-width: 868px) {
  .box-search-01 {
    margin-top: 45px;
    padding-right: 70px;
    position: relative;
    margin-top: 15px;
  }
  .box-search-01 .box-search-inner {
    display: block;
  }
  .box-search-01 .box-search-inner .hdg-01 {
    font-size: 2.2rem;
    line-height: 1.5;
    margin: 0;
  }
  .box-search-01 .search-input-01,
  .box-search-01 .search-input-02 {
    font-size: 1.4rem;
    line-height: 2;
    height: 40px;
    padding: 0 20px;
    width: 100%;
  }
  .box-search-01 .search-btn-01 {
    font-size: 1.4rem;
    line-height: 2;
    position: absolute;
    top: 0;
    right: 0;
    margin-left: 0;
    padding: 6px 16px 6px 16px;
  }
  .box-search-01 .search-btn-01 span {
    background: none;
    padding: 0;
  }
}

/*--- box-sarch-02 ------------------*/
.box-search-02 {
  margin-top: 60px;
}

.box-search-02 .hdg-01 {
  font-size: 3rem;
  font-weight: bold;
}

.box-search-02 .search-icon-01 {
  padding-left: 23px;
  position: relative;
  margin-top: 7px;
}

.box-search-02 .search-icon-01 img {
  display: block;
  position: absolute;
  top: .4em;
  left: 0;
}

.box-search-02 .search-column {
  margin-top: 7px;
}

.box-search-02 .search-column + .search-column {
  border-top: #d2cfc6 1px dotted;
  margin-top: 20px;
  padding-top: 20px;
}

.box-search-02 .search-column > .hdg {
  text-align: left;
  vertical-align: top;
}

.box-search-02 .search-column > .hdg span {
  font-size: 2.2rem;
  line-height: 1.27273;
  border: #d2cfc6 2px solid;
  display: block;
  border-radius: 10px;
  height: 100%;
  text-align: center;
  padding: 6px 7px;
  font-weight: bold;
  color: #d62828;
}

.box-search-02 .search-column > .list {
  padding-left: 30px;
  width: 100%;
}

.box-search-02 .search-link-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
  width: 100%;
}

.box-search-02 .search-link-01 a {
  display: inline-block;
  position: relative;
  padding-left: 23px;
  color: #000;
  text-decoration: none;
  transition: .3s all;
}

.box-search-02 .search-link-01 a:hover, .box-search-02 .search-link-01 a:focus {
  color: #1b9974;
}

.box-search-02 .search-link-01 a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .7em;
  left: 5px;
}

.box-search-02 .search-link-01 > li {
  width: 50%;
  margin-top: 5px;
  padding: 0 10px;
  vertical-align: middle;
}

.box-search-02 .search-link-01 > li .icon {
  border-radius: 10px;
  margin-left: 11px;
  font-size: 1.4rem;
  font-weight: bold;
  display: inline-block;
  padding: 4px 13px;
  line-height: 1;
}

.box-search-02 .search-link-01 > li .icon.type1 {
  color: #886000;
  border: #886000 2px solid;
}

.box-search-02 .search-link-01 > li .icon.type2 {
  color: #1b9974;
  border: #1b9974 2px solid;
}

.box-search-02 .search-link-01 > li .icon.type3 {
  color: #d62828;
  border: #d62828 2px solid;
}

.box-search-02 .search-link-01 .search-icon-01 a::before {
  content: none;
}

@media only screen and (max-width: 868px) {
  .box-search-02 {
    margin-top: 45px;
  }
  .box-search-02 .hdg-01 {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .box-search-02 .search-icon-01 img {
    top: .2em;
  }
  .box-search-02 .search-column {
    display: block;
    margin-top: 20px;
  }
  .box-search-02 .search-column > .hdg {
    text-align: left;
    vertical-align: top;
    border-radius: 10px;
    margin-bottom: 20px;
  }
  .box-search-02 .search-column > .hdg span {
    font-size: 2rem;
    text-align: left;
    padding: 4px 24px 3px 24px;
  }
  .box-search-02 .search-column > .hdg button {
    box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
    display: block;
    width: 100%;
    overflow: hidden;
    border-radius: 10px;
    position: relative;
  }
  .box-search-02 .search-column > .hdg button::before {
    content: "";
    display: block;
    background: #1b9974;
    width: 18px;
    height: 18px;
    position: absolute;
    top: 50%;
    right: 16px;
    margin-top: -9px;
    border-radius: 52px;
  }
  .box-search-02 .search-column > .hdg button::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    will-change: transform;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    vertical-align: middle;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    right: 21px;
  }
  .box-search-02 .search-column > .hdg button i {
    position: absolute;
    top: -999em;
    right: -999em;
  }
  .box-search-02 .search-column > .hdg.close button::after {
    border: 0;
    border-bottom: solid 2px #fff;
    border-left: solid 2px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: -5px;
    right: 21px;
  }
  .box-search-02 .search-column > .list {
    padding-left: 0;
  }
  .box-search-02 .search-link-01 {
    border-bottom: #d2cfc6 1px dotted;
    display: block;
    margin: 0;
  }
  .box-search-02 .search-link-01 a::before {
    top: .5em;
  }
  .box-search-02 .search-link-01 > li {
    border-top: #d2cfc6 1px dotted;
    width: 100%;
    padding: 9px 0 6px 0;
    margin-top: 0;
  }
  .box-search-02 .search-link-01 > li .icon {
    border-radius: 6px;
    font-size: 1.2rem;
    padding: 3px 7px 1px 7px;
  }
}

/*--- box-select-01 ------------------*/
html.static .box-select-01 .form-list,
html.static .box-select-01 .btn-submit-01 {
  display: none;
}

.box-select-01 {
  margin-top: 10px;
}

.box-select-01 .form-search {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.box-select-01 .form-list {
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 -5px;
}

.box-select-01 .form-list > li {
  padding: 0 5px;
}

.box-select-01 .form-list > li label {
  transition: .3s all;
  display: block;
  line-stacking: 1;
  position: relative;
  min-width: 170px;
}

.box-select-01 .form-list > li label::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3.5px;
  position: absolute;
  top: 50%;
  right: 15px;
}

.box-select-01 .form-list > li select {
  height: 40px;
  max-width: 210px;
  cursor: pointer;
  border: #d2cfc6 1px solid;
  width: 100%;
  padding: 0 38px 0 14px;
  background: #fff;
  line-height: 1.5;
}

.box-select-01 .btn-submit-01 {
  overflow: hidden;
  background: #d62828;
  margin-left: 10px;
  padding: 10px 19px 9px 19px;
  border-radius: 80px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  display: block;
  line-height: 1;
}

.box-select-01 .btn-submit-01 span {
  padding: 0 10px;
  color: #fff;
  display: block;
}

@media only screen and (max-width: 1109px) {
  .box-select-01 .form-list > li label {
    min-width: 110px;
  }
}

@media only screen and (max-width: 868px) {
  .box-select-01 .btn-submit-01 {
    position: absolute;
    top: 0;
    right: 0;
    margin-left: 0;
    display: block;
    width: 100%;
    max-width: 100px;
  }
  .box-select-01 .btn-submit-01 span {
    background: none;
    padding: 3px 0 2px 0;
    display: inline-block;
  }
  .box-select-01 .select-inner {
    width: 100%;
  }
  .box-select-01 .select-inner.land {
    overflow-y: scroll;
    height: 100%;
  }
  .box-select-01 .form-search {
    display: block;
    -wibkit-flex: none;
    flex: none;
    background: #fff;
  }
  .box-select-01 .form-list {
    display: block;
    -webkit-flex: none;
    flex: none;
    padding: 0 !important;
  }
  .box-select-01 .form-list > li {
    position: relative;
    padding: 0 110px 0 0;
    display: block;
  }
  .box-select-01 .form-list > li select {
    padding: 0 38px 0 14px;
    max-width: 100%;
  }
}

/*--- box-select-02 ------------------*/
.box-select-02 {
  margin-top: 10px;
}

.box-select-02 .form-search {
  -webkit-align-items: center;
  align-items: center;
}

.box-select-02 .form-list {
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 -5px;
}

.box-select-02 .form-list > li {
  padding: 0 5px;
}

.box-select-02 .form-list > li label {
  transition: .3s all;
  display: block;
  line-stacking: 1;
  position: relative;
  min-width: 170px;
}

.box-select-02 .form-list > li label::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3.5px;
  position: absolute;
  top: 50%;
  right: 15px;
}

.box-select-02 .form-list > li select {
  height: 40px;
  cursor: pointer;
  border: #d2cfc6 1px solid;
  width: 100%;
  padding: 0 38px 0 14px;
  background: #fff;
  line-height: 1.5;
}

.box-select-02 .btn-submit-01 {
  overflow: hidden;
  background: #1b9974;
  margin-left: 10px;
  padding: 10px 19px 9px 19px;
  border-radius: 80px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  display: block;
  line-height: 1;
}

.box-select-02 .btn-submit-01 span {
  padding: 0 10px;
  color: #fff;
  display: block;
}

@media only screen and (max-width: 1109px) {
  .box-select-02 .form-list > li label {
    min-width: 110px;
  }
}

@media only screen and (max-width: 868px) {
  .box-select-02 .btn-submit-01 {
    margin-left: 0;
    display: block;
    width: 100%;
  }
  .box-select-02 .btn-submit-01 span {
    background: none;
    padding: 3px 0 2px 0;
    display: inline-block;
  }
  .box-select-02 .select-inner {
    width: 100%;
  }
  .box-select-02 .form-search {
    display: block;
    -wibkit-flex: none;
    flex: none;
    background: #fff;
  }
  .box-select-02 .form-list {
    display: block;
    -webkit-flex: none;
    flex: none;
    padding: 0 !important;
  }
  .box-select-02 .form-list > li {
    padding-bottom: 10px;
  }
  .box-select-02 .form-list > li select {
    padding: 0 38px 0 14px;
    max-width: 100%;
  }
}

/*--- box-select-03 ------------------*/
.box-select-03 .form-search {
  position: relative;
  display: flex;
  align-items: flex-end;
}

.box-select-03 .form-list {
  display: flex;
  gap: 16px;
}

.box-select-03 .form-list-item {
  max-width: 350px;
}

.box-select-03 .form-label {
  display: inline-block;
  margin-bottom: 8px;
}

.box-select-03 .form-select-wrap {
  position: relative;
}

.box-select-03 .form-select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: solid 2px #999;
  border-right: solid 2px #999;
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3.5px;
}

.box-select-03 .form-select {
  width: 100%;
  height: 40px;
  padding: 0 38px 0 14px;
  cursor: pointer;
  border: 1px solid #d2cfc6;
  background: #fff;
  line-height: 1.5;
  color: #000;
}

.box-select-03 select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.box-select-03 .btn-submit-01 {
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #1b9974;
  margin-left: 16px;
  padding: 10px 19px 9px 19px;
  border-radius: 50vh;
  display: block;
  line-height: 1;
}

.box-select-03 .btn-submit-01 span {
  display: block;
  padding: 0 10px;
  color: #fff;
}

.box-select-03 .btn-clear {
  position: absolute;
  top: 0;
  right: 0;
  padding-right: 20px;
}

.box-select-03 .btn-clear:focus-visible {
  outline: 2px solid #000;
}

.box-select-03 .btn-clear .txt {
  position: relative;
}

.box-select-03 .btn-clear .txt::before, .box-select-03 .btn-clear .txt::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 15px;
  height: 1px;
  background-color: #1b9974;
  top: 45%;
  right: -20px;
}

.box-select-03 .btn-clear .txt::before {
  transform: rotate(45deg);
}

.box-select-03 .btn-clear .txt::after {
  transform: rotate(-45deg);
}

@media only screen and (max-width: 868px) {
  .box-select-03 .form-search {
    flex-wrap: wrap;
  }
  .box-select-03 .form-list {
    flex-wrap: wrap;
    width: 100%;
  }
  .box-select-03 .form-list-item {
    width: 100%;
    max-width: none;
  }
  .box-select-03 .select-search-box {
    width: 100%;
  }
  .box-select-03 .btn-submit-01 {
    width: 100%;
    margin-top: 16px;
    margin-left: 0;
    line-height: 1.8;
  }
}

/*--- box-visual-01 ------------------*/
.box-visual-01 {
  text-align: center;
  line-height: 1;
  margin-top: 24px;
}

.box-visual-01 img {
  vertical-align: bottom;
  width: 100%;
}

/*--- box-movie-01 ------------------*/
.box-movie-01 {
  padding: 0 20px;
  background: url("/common/images/bg-01.jpg") center top;
}

.box-movie-01 > .inner {
  max-width: 853px;
  width: 100%;
  margin: 0 auto;
  padding: 20px 0;
}

.box-movie-01 > .inner > .box {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
}

.box-movie-01 > .inner > .box iframe {
  position: absolute;
  border: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*--- box-nav-01 ------------------*/
.box-nav-01 {
  margin-top: 20px;
  background: #eff7f1;
  border-radius: 10px;
  padding: 21px;
}

.box-nav-01 .hdg-01 {
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}

.box-nav-01 .hdg-02 {
  font-size: 2rem;
  font-weight: bold;
  position: relative;
  z-index: 2;
  background: #eff7f1;
}

.box-nav-01 .hdg-02 span {
  display: inline-block;
  position: relative;
  font-weight: bold;
  background: #eff7f1;
  padding: 0 13px;
}

.box-nav-01 .hdg-02::before {
  content: "";
  display: block;
  border-radius: 1px;
  width: 30px;
  height: 3px;
  background: #1b9974;
  position: absolute;
  left: 0;
  top: 50%;
  margin-top: -1.5px;
  z-index: -1;
}

.box-nav-01 .hdg-02::after {
  content: "";
  display: block;
  border-radius: 1px;
  width: 30px;
  height: 3px;
  background: #1b9974;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -1.5px;
  z-index: -1;
}

.box-nav-01 .list-01 {
  margin-top: 15px;
  border-bottom: #d2cfc6 1px dotted;
}

.box-nav-01 .list-01 li {
  border-top: #d2cfc6 1px dotted;
}

.box-nav-01 .list-01 li a {
  display: block;
  color: #000;
  text-decoration: none;
  padding: 7px 0 6px 0;
}

.box-nav-01 .list-01 li a:hover, .box-nav-01 .list-01 li a:focus {
  color: #1b9974;
}

.box-nav-01 .list-01 li a span {
  display: block;
  position: relative;
  padding-left: 17px;
}

.box-nav-01 .list-01 li a span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

@media only screen and (max-width: 868px) {
  .box-nav-01 .hdg-01 {
    font-size: 1.8rem;
  }
  .box-nav-01 .hdg-02 {
    font-size: 1.8rem;
  }
  .box-nav-01 .hdg-02::before, .box-nav-01 .hdg-02::after {
    content: none;
  }
  .box-nav-01 .hdg-02 span {
    padding: 0 43px;
  }
  .box-nav-01 .hdg-02 span::before {
    content: "";
    display: block;
    border-radius: 1px;
    width: 30px;
    height: 3px;
    background: #1b9974;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -1.5px;
  }
  .box-nav-01 .hdg-02 span::after {
    content: "";
    display: block;
    border-radius: 1px;
    width: 30px;
    height: 3px;
    background: #1b9974;
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -1.5px;
  }
}

/*--- box-05 ------------------*/
.box-05 {
  background: #eff7f1;
  border-radius: 10px;
  padding: 40px;
  margin-top: 50px;
}

@media only screen and (max-width: 868px) {
  .box-05 {
    padding: 30px 20px;
    margin-top: 40px;
  }
}

/*--- box-06 ------------------*/
.box-06 .box-lead {
  text-align: center;
  font-size: 1.8rem;
}

.box-06 .box-lead b {
  display: inline-block;
  font-weight: bold;
  padding-left: 32px;
  background: url("/common/images/icon-hdg-02.gif") no-repeat left 4px;
}

.box-06 .box-inner {
  margin-top: 25px;
  background: #f8f5e6 url("/common/images/bg-02.jpg") no-repeat center top;
  background-size: 100% auto;
  border-radius: 10px;
  padding: 32px 40px;
}

.box-06 .box-inner .hdg-01 {
  font-size: 1.8rem;
  font-weight: bold;
  padding-bottom: 12px;
  border-bottom: #928e80 3px double;
}

@media only screen and (max-width: 868px) {
  .box-06 .box-lead {
    font-size: 1.6rem;
  }
  .box-06 .box-lead b {
    background-position: left 2px;
  }
  .box-06 .box-inner {
    margin-top: 20px;
    padding: 25px 20px;
  }
  .box-06 .box-inner .hdg-01 {
    font-size: 1.6rem;
  }
}

/*--- box-customer-01 ------------------*/
.box-customer-01 {
  padding: 20px;
  border: #d2cfc6 2px solid;
  border-radius: 10px;
}

.box-customer-01 + .box-customer-01 {
  margin-top: 20px;
}

.box-customer-01 .hdg-01 {
  font-size: 2.4rem;
  font-weight: bold;
  border-bottom: #d2cfc6 2px solid;
  padding-bottom: 5px;
}

.box-customer-01 .hdg-01::before {
  content: "";
  display: inline-block;
  margin-right: 13px;
  position: relative;
  left: 0;
  top: .3em;
  width: 38px;
}

.box-customer-01 .hdg-01 + * {
  margin-top: 18px;
}

.box-customer-01 .number-01 {
  line-height: 1;
  font-size: 4.2rem;
  vertical-align: middle;
}

.box-customer-01 .number-01 img {
  display: inline-block;
  margin-right: 10px;
  vertical-align: text-top;
}

.box-customer-01 .number-01 b {
  font-weight: bold;
}

.box-customer-01 .number-01 b a {
  font-weight: bold;
}

.box-customer-01 .number-01 b, .box-customer-01 .number-01 span {
  display: inline-block;
}

.box-customer-01 .number-01 b a, .box-customer-01 .number-01 span a {
  color: #000;
  text-decoration: none;
}

.box-customer-01 .time {
  margin-top: 25px;
}

.box-customer-01 .time dt {
  font-weight: bold;
}

.box-customer-01 .time + * {
  margin-top: 12px;
}

.box-customer-01.phone .hdg-01::before {
  height: 32px;
  background: url("/common/images/icon-customer-01.png") no-repeat center left;
}

.box-customer-01.mail .hdg-01::before {
  height: 30px;
  background: url("/common/images/icon-customer-02.png") no-repeat center left;
}

.box-customer-01.letter .hdg-01::before {
  height: 34px;
  background: url("/common/images/icon-customer-04.gif") no-repeat center left;
}

.box-customer-01.letter p {
  margin-top: 20px;
  font-size: 2rem;
}

.box-customer-01.important {
  margin-top: 20px;
  text-align: center;
  border-color: #d62828;
  border-width: 1px;
}

.box-customer-01.important strong {
  font-weight: normal;
}

.box-customer-01.important > *:first-child {
  margin-top: 0;
}

.box-customer-01.herb {
  -webkit-flex-direction: column;
  flex-direction: column;
  padding: 20px;
  background: #eff7f1;
  height: 100%;
  border: 0;
}

.box-customer-01.herb .hdg-01::before {
  height: 33px;
  background: url("/common/images/icon-customer-03.png") no-repeat center left;
}

@media only screen and (max-width: 868px) {
  .box-customer-01 {
    padding: 25px 20px 25px 20px;
  }
  .box-customer-01 .hdg-01 {
    font-size: 2rem;
  }
  .box-customer-01 .hdg-01::before {
    margin-right: 10px;
    width: 30px;
  }
  .box-customer-01 .number-01 {
    font-size: 3rem;
  }
  .box-customer-01 .number-01 img {
    margin-right: 0;
    max-width: 49px;
  }
  .box-customer-01 .time {
    margin-top: 17px;
  }
  .box-customer-01 .time br {
    display: none;
  }
  .box-customer-01 .time + * {
    margin-top: 8px;
  }
  .box-customer-01.phone .hdg-01::before {
    height: 25px;
    background-size: contain;
  }
  .box-customer-01.mail .hdg-01::before {
    height: 24px;
    background-size: contain;
  }
  .box-customer-01.letter .hdg-01::before {
    height: 30px;
    background-size: contain;
  }
  .box-customer-01.letter p {
    margin-top: 18px;
    font-size: 1.6rem;
  }
  .box-customer-01.important {
    text-align: left;
  }
  .box-customer-01.herb {
    padding: 20px 20px 30px 20px;
  }
  .box-customer-01.herb .hdg-01::before {
    width: 25px;
    top: .4em;
    background-size: contain;
  }
}

/*--- box-bnr-01 ------------------*/
.box-bnr-01 {
  margin-top: 30px;
  background: #f8f5e6;
  padding: 32px 40px;
  border-radius: 10px;
}

.box-bnr-01 > *:first-child {
  margin-top: 0;
}

.box-bnr-01 a {
  color: #000;
  text-decoration: none;
}

.box-bnr-01 a .bnr-inner {
  padding-left: 20px;
}

.box-bnr-01 a .bnr-inner > *:first-child {
  margin-top: 0;
}

.box-bnr-01 a .bnr-img {
  margin-top: 0;
}

.box-bnr-01 a:hover, .box-bnr-01 a:focus {
  color: #1b9974;
}

.box-bnr-01 a:hover *, .box-bnr-01 a:focus * {
  color: #1b9974;
}

@media only screen and (max-width: 868px) {
  .box-bnr-01 {
    margin-top: 20px;
    padding: 25px 20px;
  }
  .box-bnr-01 a {
    display: block;
  }
  .box-bnr-01 a .bnr-inner {
    padding-left: 0;
    margin-top: 20px;
  }
  .box-bnr-01 a .bnr-img {
    margin-top: 0;
  }
  .box-bnr-01 a:hover, .box-bnr-01 a:focus {
    color: #1b9974;
  }
  .box-bnr-01 a:hover *, .box-bnr-01 a:focus * {
    color: #1b9974;
  }
}

/*--- box-bnr-02 ------------------*/
.box-bnr-02 {
  margin-top: 30px;
  border: #d2cfc6 2px solid;
  padding: 20px;
  border-radius: 10px;
  -webkit-align-items: center;
  align-items: center;
}

.box-bnr-02 > *:first-child {
  margin-top: 0;
}

.box-bnr-02 .bnr-link > *:first-child,
.box-bnr-02 .bnr-inner > *:first-child {
  margin-top: 0;
}

.box-bnr-02 .bnr-inner {
  padding-left: 24px;
}

@media only screen and (max-width: 868px) {
  .box-bnr-02 {
    margin-top: 40px;
    padding: 18px;
    display: block;
  }
  .box-bnr-02 .bnr-inner {
    padding-left: 0;
    margin-top: 16px;
  }
}

/*--- box-parger-01 ------------------*/
.box-parger-01 {
  margin-top: 40px;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.box-parger-01 .SS_prevPage, .box-parger-01 .SS_nextPage, .box-parger-01 .parger-next, .box-parger-01 .parger-prev {
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.box-parger-01 .SS_prevPage a, .box-parger-01 .SS_prevPage span, .box-parger-01 .SS_nextPage a, .box-parger-01 .SS_nextPage span, .box-parger-01 .parger-next a, .box-parger-01 .parger-next span, .box-parger-01 .parger-prev a, .box-parger-01 .parger-prev span {
  text-decoration: none;
  border: 0;
  box-shadow: none;
  display: block;
  color: #fff;
}

.box-parger-01 .SS_prevPage a:hover, .box-parger-01 .SS_prevPage a:focus, .box-parger-01 .SS_prevPage span:hover, .box-parger-01 .SS_prevPage span:focus, .box-parger-01 .SS_nextPage a:hover, .box-parger-01 .SS_nextPage a:focus, .box-parger-01 .SS_nextPage span:hover, .box-parger-01 .SS_nextPage span:focus, .box-parger-01 .parger-next a:hover, .box-parger-01 .parger-next a:focus, .box-parger-01 .parger-next span:hover, .box-parger-01 .parger-next span:focus, .box-parger-01 .parger-prev a:hover, .box-parger-01 .parger-prev a:focus, .box-parger-01 .parger-prev span:hover, .box-parger-01 .parger-prev span:focus {
  border: 0;
}

.box-parger-01 .SS_prevPage a::before, .box-parger-01 .SS_prevPage span::before, .box-parger-01 .SS_nextPage a::before, .box-parger-01 .SS_nextPage span::before, .box-parger-01 .parger-next a::before, .box-parger-01 .parger-next span::before, .box-parger-01 .parger-prev a::before, .box-parger-01 .parger-prev span::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  position: absolute;
  top: 50%;
  margin-top: -6px;
}

.box-parger-01 .SS_nextPage a, .box-parger-01 .parger-next span {
  display: block;
}

.box-parger-01 .SS_nextPage a::before, .box-parger-01 .parger-next span::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 50%;
  margin-right: -5px;
}

.box-parger-01 .SS_prevPage a, .box-parger-01 .parger-prev span {
  display: block;
}

.box-parger-01 .SS_prevPage a::before, .box-parger-01 .parger-prev span::before {
  will-change: transform;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 50%;
  margin-left: -5px;
}

.box-parger-01 .parger-start,
.box-parger-01 .parger-end {
  position: relative;
  overflow: hidden;
  text-decoration: none;
}

.box-parger-01 .parger-start span {
  display: block;
  color: #fff;
}

.box-parger-01 .parger-start span::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  will-change: transform;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 50%;
  margin-left: -7px;
}

.box-parger-01 .parger-start span::after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  will-change: transform;
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  left: 50%;
}

.box-parger-01 .parger-end span {
  display: block;
  color: #fff;
}

.box-parger-01 .parger-end span::before {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 50%;
  margin-right: -7px;
}

.box-parger-01 .parger-end span::after {
  content: "";
  display: block;
  width: 13px;
  height: 13px;
  border-top: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  position: absolute;
  top: 50%;
  margin-top: -6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  right: 50%;
}

.box-parger-01 ul {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.box-parger-01 ul li {
  padding: 0 7.5px;
}

.box-parger-01 ul a, .box-parger-01 ul .link > span, .box-parger-01 ul .current > span {
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  text-decoration: none;
  color: #000;
  width: 40px;
  height: 40px;
  border-radius: 80px;
}

.box-parger-01 ul a {
  border: #d5d2ca 2px solid;
  transition: .3s all;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.box-parger-01 ul a:focus, .box-parger-01 ul a:hover {
  border: #1b9974 2px solid;
}

.box-parger-01 ul .current {
  position: relative;
  color: #fff;
  width: 57px;
  height: 40px;
  line-height: 40px;
  text-align: center;
}

.box-parger-01 ul .current::before {
  content: "";
  display: block;
  background: #1b9974;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  position: absolute;
  border-radius: 80px;
  width: 40px;
  height: 40px;
  top: 50%;
  left: 50%;
  z-index: -1;
  margin-top: -20px;
  margin-left: -20px;
}

.box-parger-01 ul .current > span b {
  width: 40px;
  height: 40px;
  font-weight: normal;
  color: #fff;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
}

.box-parger-01 ul .link {
  padding: 0;
}

.box-parger-01 ul .link > span {
  vertical-align: baseline;
}

/*--- box-main-01 ------------------*/
.content-movie-01 .box-main-01.full {
  display: block;
}

.content-movie-01 .box-main-01.full .aside-inner {
  float: none;
  margin: 0 auto;
  width: 60%;
}

.content-movie-01 .box-main-01 .aside-inner {
  float: left;
  width: 60%;
}

.content-movie-01 .box-main-01 .movie {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  overflow: hidden;
  max-width: 100%;
  height: auto;
  width: 100%;
}

.content-movie-01 .box-main-01 .movie iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.content-movie-01 .box-main-01 .main-inner {
  width: 40%;
  float: right;
  padding-left: 42px;
}

@media only screen and (max-width: 868px) {
  .content-movie-01 .box-main-01.full .aside-inner {
    width: 100%;
  }
  .content-movie-01 .box-main-01 .aside-inner {
    float: none;
    width: 100%;
  }
  .content-movie-01 .box-main-01 .movie {
    padding-bottom: 56.25%;
  }
  .content-movie-01 .box-main-01 .movie iframe {
    height: 100%;
  }
  .content-movie-01 .box-main-01 .main-inner {
    margin-top: 20px;
    width: 100%;
    padding: 0;
    float: none;
  }
}

/*--- box-material-01 ------------------*/
.box-material-01 {
  border-top: #d2cfc6 1px solid;
  border-bottom: #d2cfc6 1px solid;
  background: #eff7f1;
}

.box-material-01 .title-02 {
  color: #1b9974;
  font-size: 1.8rem;
  margin-bottom: 15px;
}

.box-material-01 .title-02 span {
  display: inline-block;
  font-weight: bold;
  padding-left: 17px;
  position: relative;
}

.box-material-01 .title-02 span::before {
  content: "";
  display: block;
  background: #c1dbd3;
  position: absolute;
  top: 3px;
  left: 0;
  border-radius: 10px;
  height: 25px;
  width: 4px;
}

.box-material-01 .title-01 span {
  font-size: 2.4rem;
  font-weight: bold;
  color: #1b9974;
  display: inline-block;
  padding: 13px 50px 12px 40px;
  background: url("/common/images/icon-recipe-05.png") no-repeat right center;
}

.box-material-01 .title-01 .small-01 {
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
}

.box-material-01 .title-01 button {
  display: block;
  width: 100%;
  text-align: left;
  overflow: hidden;
  position: relative;
}

.box-material-01 .title-01 button i {
  position: absolute;
  right: -999em;
  top: -999em;
}

.box-material-01 .title-01 button::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background: #1b9974;
  border-radius: 50px;
  position: absolute;
  top: 50%;
  right: 40px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  margin-top: -13px;
}

.box-material-01 .title-01 button::after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  right: 48px;
  border-top: solid 2px #eff7f1;
  border-left: solid 2px #eff7f1;
  position: absolute;
  top: 50%;
  margin-top: -3px;
}

.box-material-01 .title-01.close button::after {
  border: 0;
  border-bottom: solid 2px #eff7f1;
  border-right: solid 2px #eff7f1;
  position: absolute;
  margin-top: -6px;
}

.box-material-01 .item {
  padding: 0 40px 30px 40px;
}

.box-material-01 .item li {
  -webkit-justify-content: space-between;
  justify-content: space-between;
}

.box-material-01 .item li b {
  padding: 0 5px;
}

.box-material-01 .item li span {
  padding-left: 5px;
}

.box-material-01 .item .material-list > li {
  padding: 6px 0 4px 0;
  border-top: #d2cfc6 1px dotted;
}

.box-material-01 .item .material-list > li:last-child {
  border-bottom: #d2cfc6 1px dotted;
}

.box-material-01 .item .inner {
  display: block;
  background: #e4f0ec;
}

.box-material-01 .item .inner ul {
  margin: 0;
}

.box-material-01 .item .inner ul li {
  padding: 6px 18px 4px 18px;
  border-top: #d2cfc6 1px dotted;
}

.box-material-01 .item .lead-material {
  border: #1b9974 2px solid;
  border-radius: 10px;
  padding: 10px 15px 8px 15px;
}

@media only screen and (max-width: 868px) {
  .box-material-01 .title-02 {
    font-size: 1.6rem;
  }
  .box-material-01 .title-02 span::before {
    top: 0;
  }
  .box-material-01 .title-01 span {
    font-size: 2rem;
    padding: 13px 50px 12px 20px;
    background-size: 32px auto;
  }
  .box-material-01 .title-01 button::before {
    width: 18px;
    height: 18px;
    right: 20px;
    margin-top: -6px;
  }
  .box-material-01 .title-01 button::after {
    margin-top: 1px;
    width: 8px;
    height: 8px;
    right: 25px;
  }
  .box-material-01 .title-01.close button::after {
    margin-top: -2px;
  }
  .box-material-01 .item {
    padding: 0 20px 30px 20px;
  }
}

@media only screen and (max-width: 478px) {
  .box-material-01 .item li b {
    padding-right: 0;
    display: block;
    width: auto;
  }
  .box-material-01 .item li span {
    padding-left: 0;
    display: block;
  }
  .box-material-01 .item .inner b {
    width: 100%;
  }
  .box-material-01 .item .inner ul li b {
    width: auto;
  }
}

/*--- box-map-01 ------------------*/
.box-map-01 {
  position: relative;
  padding-top: 40%;
  margin-top: 30px;
}

.box-map-01 iframe {
  border: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

@media only screen and (max-width: 868px) {
  .box-map-01 {
    padding-top: 53.25%;
    margin-top: 20px;
  }
}

/*--- box-cm-01 ------------------*/
.box-cm-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 30px -20px 0 -20px;
}

.box-cm-01.col3 .cm-01 {
  width: 33.33333%;
}

.box-cm-01 .cm-01 {
  padding: 0 20px;
}

.box-cm-01 .cm-01 .img {
  display: block;
  margin-top: 0;
  position: relative;
}

.box-cm-01 .cm-01 .img img {
  width: 100%;
  border-radius: 10px;
}

.box-cm-01 .cm-01 .title {
  margin-top: 5px;
}

.box-cm-01 .cm-01 .btn-02 a {
  min-width: 180px;
}

.box-cm-01 .cm-01 .btn-list-01 {
  margin: 10px -5px 0 -5px;
}

.box-cm-01 .cm-01 .btn-list-01 li {
  width: 50%;
  padding: 0 5px;
}

.box-cm-01 .cm-01 .btn-list-01 li a {
  width: 100%;
}

@media only screen and (max-width: 868px) {
  .box-cm-01 {
    display: block;
  }
  .box-cm-01.col3 .cm-01 {
    width: 100%;
  }
  .box-cm-01 .img {
    text-align: center;
  }
  .box-cm-01 .cm-01 + .cm-01 {
    margin-top: 30px;
  }
  .box-cm-01 .btn-list-01 {
    display: -webkit-flex;
    display: flex;
  }
  .box-cm-01 .btn-list-01 li + li {
    margin-top: 0;
  }
}

/*--- box-07 ------------------*/
.box-07 {
  margin-top: 20px;
  border: #d2cfc6 2px solid;
  border-radius: 10px;
  display: table;
}

.box-07.full {
  display: block;
}

.box-07 .box-hdg {
  font-size: 2rem;
  font-weight: bold;
  color: #1b9974;
  background: #eff7f1;
  padding: 10px 38px;
  border-radius: 10px 10px 0 0;
}

.box-07 .box-inner {
  padding: 30px 38px;
}

.box-07 .box-inner > *:first-child {
  margin-top: 0;
}

.box-07 .btn-03 a {
  min-width: auto;
}

@media only screen and (max-width: 868px) {
  .box-07 {
    display: block;
  }
  .box-07 .box-inner {
    padding: 20px 18px;
  }
  .box-07 .box-hdg {
    padding-left: 18px;
    padding-right: 18px;
    font-size: 1.8rem;
  }
  .box-07 .btn-03 a {
    min-width: auto;
  }
}

/*--- box-unique-01 ------------------*/
.content .content-inner > .box-unique-01:first-child {
  margin-top: 28px;
}

.box-unique-01 {
  border-radius: 10px;
  padding: 40px;
}

.box-unique-01.type1 {
  background: #f8f5e6 url("/common/images/bg-03.jpg") no-repeat center top;
  background-size: 100% auto;
}

.box-unique-01.type2 {
  background: #f0ede6;
}

.box-unique-01 .hdg-01 {
  text-align: center;
  font-size: 3rem;
  font-weight: bold;
  border-bottom: #928e80 3px double;
}

.box-unique-01 .hdg-01 .small-01 {
  border-radius: 50px;
  padding: 3px 24px 1px 24px;
  margin: 0 auto 14px auto;
  font-size: 1.8rem;
  font-weight: bold;
  display: table;
  background: #f4baab;
}

@media only screen and (max-width: 868px) {
  .box-unique-01 {
    padding: 30px 20px;
  }
  .box-unique-01 .hdg-01 {
    font-size: 2.2rem;
    padding-bottom: 5px;
  }
  .box-unique-01 .hdg-01 .small-01 {
    padding: 3px 16px 1px 16px;
    font-size: 1.6rem;
    margin-bottom: 8px;
  }
}

/* --------------------------------------
  layout
-----------------------------------------*/
/*--- layout-01 ------------------*/
.layout-01 {
  display: block;
  width: 100%;
  margin-top: 20px;
}

.layout-01 > .txt {
  overflow: hidden;
}

.layout-01 > .txt > *:first-child {
  margin-top: 0;
}

.layout-01 > .txt > *:first-child .col {
  margin-top: 0;
}

.layout-01 > .img {
  text-align: center;
  margin-top: 0;
}

.layout-01 > .img .caption {
  margin-top: 10px;
  font-size: 1.4rem;
  line-height: 1.5;
  display: block;
}

.layout-01 > .img img {
  border-radius: 10px;
}

.layout-01.left > .img, .layout-01.recipe > .img {
  padding-right: 20px;
  float: left;
}

.layout-01.right > .img {
  padding-left: 20px;
  float: right;
}

@media only screen and (max-width: 1109px) {
  .layout-01 > .img {
    max-width: 50%;
  }
}

@media only screen and (max-width: 868px) {
  .layout-01 {
    margin-top: 16px;
  }
  .layout-01 > .txt {
    overflow: visible;
  }
  .layout-01.left > .img, .layout-01.right > .img {
    text-align: center;
    max-width: 100%;
    padding: 0;
    float: none;
  }
  .layout-01.left > .txt, .layout-01.right > .txt {
    margin-top: 16px;
  }
  .layout-01.left .caption, .layout-01.right .caption {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}

/*--- layout-02 ------------------*/
.layout-02 {
  width: 100%;
  margin-top: 20px;
}

.layout-02 > .img {
  text-align: center;
  margin-top: 0;
}

.layout-02 > .img .caption {
  margin-top: 10px;
  font-size: 1.4rem;
  line-height: 1.5;
  display: block;
}

.layout-02 > .img img {
  border-radius: 10px;
}

@media only screen and (max-width: 868px) {
  .layout-02 {
    margin-top: 16px;
  }
  .layout-02 .caption {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}

/*--- layout-03 ------------------*/
.layout-03 {
  display: table;
  width: 100%;
  margin-top: 20px;
}

.layout-03 > .txt {
  overflow: hidden;
}

.layout-03 > .txt > *:first-child {
  margin-top: 0;
}

.layout-03 > .txt > *:first-child .col {
  margin-top: 0;
}

.layout-03 > .img {
  text-align: center;
  margin-top: 0;
}

.layout-03 > .img .caption {
  margin-top: 10px;
  font-size: 1.4rem;
  line-height: 1.5;
  display: block;
}

.layout-03 > .img img {
  border-radius: 10px;
}

.layout-03.left > .img {
  padding-right: 20px;
  float: left;
}

.layout-03.right > .img {
  padding-left: 20px;
  float: right;
}

@media only screen and (max-width: 1109px) {
  .layout-03 > .img {
    max-width: 50%;
  }
}

@media only screen and (max-width: 868px) {
  .layout-03 {
    margin-top: 16px;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .layout-03 > .txt {
    overflow: visible;
  }
  .layout-03.left > .img, .layout-03.right > .img {
    text-align: center;
    max-width: 100%;
    padding: 0;
    float: none;
    margin-top: 16px;
  }
  .layout-03.left .caption, .layout-03.right .caption {
    font-size: 1.4rem;
    margin-top: 5px;
  }
}

/*--- layout-04 ------------------*/
.layout-04 {
  -webkit-justify-content: space-between;
  justify-content: space-between;
  width: 100%;
  margin-top: 20px;
}

.layout-04 > .txt > *:first-child {
  margin-top: 0;
}

.layout-04 > .txt > *:first-child .col {
  margin-top: 0;
}

.layout-04 > div.img {
  text-align: center;
  margin-top: 0;
}

.layout-04 > div.img ul.list li {
  border-radius: 10px;
}

.layout-04 > div.img ul.list li + li {
  margin-top: 20px;
}

.layout-04 > div.img ul.list .caption {
  margin-top: 10px;
  font-size: 1.4rem;
  line-height: 1.5;
  display: block;
}

.layout-04 > div.img ul.list img {
  max-width: initial;
  border-radius: 10px;
}

.layout-04.left > div.img {
  -webkit-order: 2;
  order: 2;
}

.layout-04.left > .txt {
  padding-right: 20px;
}

.layout-04.right > .txt {
  padding-right: 20px;
}

@media only screen and (max-width: 868px) {
  .layout-04 > div.img ul.list img {
    max-width: 100%;
  }
}

@media only screen and (max-width: 868px) {
  .layout-04 {
    margin-top: 16px;
  }
  .layout-04.top {
    -webkit-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
  .layout-04.top > .txt {
    margin-top: 16px;
  }
  .layout-04.bottom {
    display: block;
  }
  .layout-04.bottom > div.img {
    margin-top: 16px;
  }
  .layout-04.left > .txt {
    padding-right: 0;
  }
  .layout-04.right > .txt {
    padding-right: 0;
  }
  .layout-04 > div.img {
    text-align: center;
    max-width: 100%;
  }
  .layout-04 .caption {
    font-size: 1.4rem;
    margin-top: 5px;
  }
  .layout-04.left > div.img, .layout-04.right > div.img {
    padding: 0;
  }
}

/*--- layout-recipe-01 ------------------*/
.layout-recipe-01 {
  margin-top: 50px;
}

.layout-recipe-01 a {
  color: #000;
  text-decoration: none;
}

.layout-recipe-01 a:hover .title-01, .layout-recipe-01 a:focus .title-01 {
  color: #1b9974;
}

.layout-recipe-01 a:hover .recipe-img img, .layout-recipe-01 a:focus .recipe-img img {
  transform: scale(1.1, 1.1);
}

.layout-recipe-01 .title-01 {
  font-size: 2.4rem;
  line-height: 1.75;
  font-weight: bold;
  float: right;
  width: 50%;
  font-weight: bold;
  color: #000;
  text-decoration: none;
  display: block;
  padding-left: 40px;
}

.layout-recipe-01 .title-01 > span {
  display: block;
  padding-bottom: 10px;
  font-weight: bold;
  border-bottom: #d2cfc6 2px solid;
}

.layout-recipe-01 .title-01 > span::after {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background: url("/common/images/icon-arrow-01.png") no-repeat center center;
  margin-left: 10px;
}

.layout-recipe-01 .recipe-txt {
  padding-left: 40px;
  clear: right;
  overflow: hidden;
  color: #000;
}

.layout-recipe-01 .recipe-img {
  float: left;
  border-radius: 10px;
  margin-top: 0;
  width: 50%;
  overflow: hidden;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.layout-recipe-01 .recipe-img img {
  transform: scale(1, 1);
  transition: .3s all;
  display: inline-block;
  border-radius: 10px;
}

.layout-recipe-01 .title-02 {
  font-size: 2.2rem;
  line-height: 1.27273;
  font-weight: bold;
  padding-left: 29px;
  background: url("/common/images/icon-recipe-04.gif") no-repeat left center;
  margin-top: 30px;
}

.layout-recipe-01 .recipe-aside {
  overflow: hidden;
  padding-left: 40px;
}

.layout-recipe-01 .list-type {
  margin: 40px -1px 0 -1px;
  background: #f8f5e6;
  border-radius: 10px;
}

.layout-recipe-01 .list-type li {
  width: 33.33333%;
  border-right: #fff 1px solid;
  border-left: #fff 1px solid;
  text-align: center;
  padding: 15px 20px;
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 1.27273;
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
}

.layout-recipe-01 .list-type li span {
  font-size: 1.6rem;
  line-height: 1.75;
  font-weight: normal;
  display: table;
  margin: 0 auto;
}

.layout-recipe-01 .list-type .cal span {
  background: url("/common/images/icon-recipe-01.png") no-repeat center left;
  padding-left: 25px;
}

.layout-recipe-01 .list-type .time span {
  background: url("/common/images/icon-recipe-02.png") no-repeat center left;
  padding-left: 33px;
}

.layout-recipe-01 .list-type .mtl span {
  background: url("/common/images/icon-recipe-03.png") no-repeat center left;
  padding-left: 33px;
}

@media only screen and (max-width: 868px) {
  .layout-recipe-01 {
    margin-top: 30px;
    display: block;
  }
  .layout-recipe-01 .recipe-img {
    float: none;
    max-width: 100%;
    width: auto;
    padding: 0;
    text-align: center;
    display: table;
    margin: 0 auto;
  }
  .layout-recipe-01 .title-01 {
    float: none;
    float: none;
    width: 100%;
    margin-top: 0;
    padding-left: 0;
    padding-bottom: 20px;
    font-size: 2rem;
    line-height: 1.4;
  }
  .layout-recipe-01 .title-01 span {
    display: block;
  }
  .layout-recipe-01 .title-02 {
    font-size: 1.8rem;
  }
  .layout-recipe-01 .recipe-txt {
    width: 100%;
    padding: 0;
  }
  .layout-recipe-01 .recipe-aside {
    overflow: visible;
    padding-left: 0;
  }
  .layout-recipe-01 .list-type {
    margin-top: 20px;
    display: block;
    margin: 20px 0 0 0;
    padding: 16px 0;
  }
  .layout-recipe-01 .list-type li {
    width: 100%;
    text-align: left;
    padding: 0 20px;
    border: 0;
    margin-top: 4px;
    font-size: 1.6rem;
    line-height: 1.75;
  }
  .layout-recipe-01 .list-type li span {
    font-size: 1.4rem;
    line-height: 2;
    margin: 0;
    display: inline-block;
    padding-right: 20px;
  }
}

/*--- layout-news-01 ------------------*/
.layout-news-01 {
  display: table;
  width: 100%;
  margin-top: 50px;
}

.layout-news-01 > .txt {
  overflow: hidden;
}

.layout-news-01 > .txt > *:first-child {
  margin-top: 0;
}

.layout-news-01 > .img {
  text-align: center;
  margin-top: 0;
}

.layout-news-01 > .img img {
  border-radius: 10px;
}

.layout-news-01.top > .txt {
  display: block;
  margin-top: 30px;
}

.layout-news-01.top.col2 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
}

.layout-news-01.top.col2 .img {
  padding-right: 10px;
  width: 50%;
}

.layout-news-01.top.col2 .img + .img {
  padding: 0 0 0 10px;
}

.layout-news-01.top.col2 > .txt {
  width: 100%;
  -webkit-flex: none;
  flex: none;
}

.layout-news-01.left > .img {
  padding-right: 40px;
  float: left;
}

.layout-news-01.right > .img {
  padding-left: 40px;
  float: right;
}

@media only screen and (max-width: 868px) {
  .layout-news-01 {
    margin-top: 40px;
  }
  .layout-news-01.left > .img, .layout-news-01.right > .img, .layout-news-01.top > .img {
    text-align: center;
    max-width: 100%;
    padding: 0;
    float: none;
  }
  .layout-news-01.left > .txt, .layout-news-01.right > .txt, .layout-news-01.top > .txt {
    margin-top: 15px;
  }
}

@media only screen and (max-width: 478px) {
  .layout-news-01.top.col2 {
    display: block;
  }
  .layout-news-01.top.col2 > .img {
    width: 100%;
    padding: 0;
  }
  .layout-news-01.top.col2 > .img + .img {
    padding: 0;
    margin-top: 15px;
  }
}

/* --------------------------------------
	column
-----------------------------------------*/
/*--- column ------------------*/
.column {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 20px -10px 0 -10px;
}

.column > .col {
  padding: 0 10px;
}

.column > .col > *:first-child {
  margin-top: 0;
}

.column > .col > [class^="box-"] {
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.column.large {
  margin: 20px -20px 0 -20px;
}

.column.large > .col {
  padding: 0 20px;
}

.column.col2 > .col {
  width: 50%;
}

.column.col2 > .col:nth-child(n + 3) {
  margin-top: 20px;
}

.column.col3 > .col {
  width: 33.33333%;
}

.column.col3 > .col:nth-child(n + 4) {
  margin-top: 20px;
}

.column.col4 > .col {
  width: 25%;
}

.column.col4 > .col:nth-child(n + 5) {
  margin-top: 20px;
}

.column.col5 > .col {
  width: 20%;
}

.column.col5 > .col:nth-child(n + 6) {
  margin-top: 20px;
}

@media only screen and (max-width: 1109px) {
  .column.col4 > .col, .column.col5 > .col {
    width: 33.33333%;
  }
  .column.col4 > .col:nth-child(n + 4), .column.col5 > .col:nth-child(n + 4) {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 868px) {
  .column {
    display: block;
    margin: 16px 0 0 0;
  }
  .column > .col {
    padding: 0;
    margin-top: 16px;
  }
  .column > .col:first-child {
    margin-top: 0;
  }
  .column > .col > [class^="box-"] {
    display: block;
    height: auto;
  }
  .column.large {
    margin: 16px 0 0 0;
  }
  .column.large > .col {
    padding: 0;
    margin-top: 16px;
  }
  .column.large > .col:first-child {
    margin-top: 0;
  }
  .column.col2 > .col, .column.col3 > .col, .column.col4 > .col, .column.col5 > .col {
    width: 100%;
  }
  .column.col2 > .col:nth-child(n), .column.col3 > .col:nth-child(n), .column.col4 > .col:nth-child(n), .column.col5 > .col:nth-child(n) {
    margin-top: 16px;
  }
  .column.col2 > .col:first-child, .column.col3 > .col:first-child, .column.col4 > .col:first-child, .column.col5 > .col:first-child {
    margin-top: 0;
  }
}

/* --------------------------------------
  button
-----------------------------------------*/
/*--- btn-01 ------------------*/
.btn-01 {
  margin-top: 40px;
}

.btn-01 a, .btn-01 button {
  display: inline-block;
  padding: 10px 20px 8px 20px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  min-width: 440px;
  border-radius: 100px;
  position: relative;
  transition: .3s all;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #1b9974;
  border: #1b9974 2px solid;
}

.btn-01 a:hover, .btn-01 a:focus, .btn-01 button:hover, .btn-01 button:focus {
  background: #fff;
  color: #1b9974;
}

.btn-01 a:hover::before, .btn-01 a:focus::before, .btn-01 button:hover::before, .btn-01 button:focus::before {
  background: #fff;
}

.btn-01 a:hover::after, .btn-01 a:focus::after, .btn-01 button:hover::after, .btn-01 button:focus::after {
  border-color: #fff;
}

.btn-01 a:hover > span::before, .btn-01 a:focus > span::before, .btn-01 button:hover > span::before, .btn-01 button:focus > span::before {
  background: #1b9974;
}

.btn-01 a::before, .btn-01 a::after, .btn-01 button::before, .btn-01 button::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.btn-01 a::before, .btn-01 button::before {
  background: #1b9974;
  height: 2px;
  width: 13px;
  right: 25px;
}

.btn-01 a::after, .btn-01 button::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3px;
  right: 26px;
}

.btn-01 a > span, .btn-01 button > span {
  display: block;
  padding: 0 27px;
  position: relative;
  font-weight: bold;
}

.btn-01 a > span::before, .btn-01 button > span::before {
  content: "";
  display: block;
  background: #fff;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

@media only screen and (max-width: 868px) {
  .btn-01 {
    margin-top: 30px;
  }
  .btn-01 a, .btn-01 button {
    display: block;
    width: 100%;
    min-width: auto;
  }
}

/*--- btn-03 ------------------*/
.btn-03 {
  margin-top: 40px;
}

.btn-03 a {
  display: inline-block;
  padding: 10px 20px 8px 20px;
  text-align: center;
  color: #1b9974;
  text-decoration: none;
  min-width: 440px;
  border-radius: 100px;
  position: relative;
  transition: .3s all;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #f8f5e6;
}

.btn-03 a:hover, .btn-03 a:focus {
  background: #1b9974;
  color: #fff;
}

.btn-03 a:hover::before, .btn-03 a:focus::before {
  background: #1b9974;
}

.btn-03 a:hover::after, .btn-03 a:focus::after {
  border-color: #1b9974;
}

.btn-03 a:hover span::before, .btn-03 a:focus span::before {
  background: #fff;
}

.btn-03 a::before, .btn-03 a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.btn-03 a::before {
  background: #f8f5e6;
  height: 2px;
  width: 13px;
  right: 25px;
}

.btn-03 a::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3px;
  right: 26px;
}

.btn-03 a span {
  display: block;
  padding: 0 27px;
  position: relative;
  font-weight: bold;
}

.btn-03 a span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

@media only screen and (max-width: 868px) {
  .btn-03 {
    margin-top: 30px;
  }
  .btn-03 a {
    display: block;
    width: 100%;
    min-width: auto;
  }
}

/*--- btn-02 ------------------*/
a:hover .btn-02 > .link, a:hover .btn-01 > .link, a:hover btn-03 > .link, a:focus .btn-02 > .link, a:focus .btn-01 > .link, a:focus btn-03 > .link {
  background: #fff;
  box-shadow: none;
  color: #1b9974;
}

a:hover .btn-02 > .link::before, a:hover .btn-01 > .link::before, a:hover btn-03 > .link::before, a:focus .btn-02 > .link::before, a:focus .btn-01 > .link::before, a:focus btn-03 > .link::before {
  background: #fff;
}

a:hover .btn-02 > .link::after, a:hover .btn-01 > .link::after, a:hover btn-03 > .link::after, a:focus .btn-02 > .link::after, a:focus .btn-01 > .link::after, a:focus btn-03 > .link::after {
  border-color: #fff;
}

a:hover .btn-02 > .link span::before, a:hover .btn-01 > .link span::before, a:hover btn-03 > .link span::before, a:focus .btn-02 > .link span::before, a:focus .btn-01 > .link span::before, a:focus btn-03 > .link span::before {
  background: #1b9974;
}

.btn-02 {
  margin-top: 40px;
}

.btn-02 a:hover, .btn-02 a:focus {
  background: #fff;
  box-shadow: none;
  color: #1b9974;
}

.btn-02 a:hover::before, .btn-02 a:focus::before {
  background: #fff;
}

.btn-02 a:hover::after, .btn-02 a:focus::after {
  border-color: #fff;
}

.btn-02 a:hover span::before, .btn-02 a:focus span::before {
  background: #1b9974;
}

.btn-02 a:hover .link, .btn-02 a:focus .link {
  background: #fff;
  box-shadow: none;
  color: #1b9974;
}

.btn-02 a:hover .link::before, .btn-02 a:focus .link::before {
  background: #fff;
}

.btn-02 a:hover .link::after, .btn-02 a:focus .link::after {
  border-color: #fff;
}

.btn-02 a:hover .link span::before, .btn-02 a:focus .link span::before {
  background: #1b9974;
}

.btn-02 .link, .btn-02 a {
  display: inline-block;
  padding: 10px 20px 8px 30px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  border-radius: 100px;
  position: relative;
  transition: .3s all;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #1b9974;
  border: #1b9974 2px solid;
}

.btn-02 .link::before, .btn-02 .link::after, .btn-02 a::before, .btn-02 a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.btn-02 .link::before, .btn-02 a::before {
  background: #1b9974;
  height: 2px;
  width: 13px;
  right: 25px;
}

.btn-02 .link::after, .btn-02 a::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3px;
  right: 26px;
}

.btn-02 .link span, .btn-02 a span {
  display: block;
  padding-right: 27px;
  position: relative;
  font-weight: bold;
}

.btn-02 .link span::before, .btn-02 a span::before {
  content: "";
  display: block;
  background: #fff;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

@media only screen and (max-width: 868px) {
  .btn-02 {
    margin-top: 30px;
  }
  .btn-02 .link, .btn-02 a {
    display: block;
    width: 100%;
    min-width: auto;
  }
}

/*--- btn-list-01 ------------------*/
.btn-list-01 {
  margin: 40px -10px 0 -10px;
  -webkit-justify-content: center;
  justify-content: center;
}

.btn-list-01 li {
  text-align: center;
  padding: 0 10px;
}

.btn-list-01 .btn-03 {
  margin-top: 0;
}

.btn-list-01 .btn-03 a, .btn-list-01 .btn-03 button {
  display: inline-block;
  padding: 10px 20px 8px 20px;
  text-align: center;
  color: #1b9974;
  text-decoration: none;
  min-width: auto;
  border-radius: 100px;
  position: relative;
  transition: .3s all;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #f8f5e6;
  border-color: #f8f5e6;
}

.btn-list-01 .btn-03 a:hover, .btn-list-01 .btn-03 a:focus, .btn-list-01 .btn-03 button:hover, .btn-list-01 .btn-03 button:focus {
  background: #1b9974;
  border-color: #1b9974;
  color: #fff;
}

.btn-list-01 .btn-03 a:hover::before, .btn-list-01 .btn-03 a:focus::before, .btn-list-01 .btn-03 button:hover::before, .btn-list-01 .btn-03 button:focus::before {
  background: #1b9974;
}

.btn-list-01 .btn-03 a:hover::after, .btn-list-01 .btn-03 a:focus::after, .btn-list-01 .btn-03 button:hover::after, .btn-list-01 .btn-03 button:focus::after {
  border-color: #1b9974;
}

.btn-list-01 .btn-03 a:hover > span::before, .btn-list-01 .btn-03 a:focus > span::before, .btn-list-01 .btn-03 button:hover > span::before, .btn-list-01 .btn-03 button:focus > span::before {
  background: #fff;
}

.btn-list-01 .btn-03 a::before, .btn-list-01 .btn-03 a::after, .btn-list-01 .btn-03 button::before, .btn-list-01 .btn-03 button::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.btn-list-01 .btn-03 a::before, .btn-list-01 .btn-03 button::before {
  background: #f8f5e6;
  height: 2px;
  width: 13px;
  right: 25px;
}

.btn-list-01 .btn-03 a::after, .btn-list-01 .btn-03 button::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3px;
  right: 26px;
}

.btn-list-01 .btn-03 a span, .btn-list-01 .btn-03 button span {
  display: block;
  padding: 0 27px 0 7px;
  position: relative;
  font-weight: bold;
}

.btn-list-01 .btn-03 a span::before, .btn-list-01 .btn-03 button span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.btn-list-01 .target a::before, .btn-list-01 .target a::after {
  content: none;
}

.btn-list-01 .target a span .link-icon {
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 0;
}

.btn-list-01 .target a span::before {
  content: none;
}

.btn-list-01 a, .btn-list-01 button {
  display: inline-block;
  padding: 10px 20px 8px 20px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  border-radius: 100px;
  position: relative;
  transition: .3s all;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #1b9974;
  line-height: 1.5;
  border: #1b9974 2px solid;
}

.btn-list-01 a:hover, .btn-list-01 a:focus, .btn-list-01 button:hover, .btn-list-01 button:focus {
  background: #fff;
  box-shadow: none;
  color: #1b9974;
}

.btn-list-01 a:hover::before, .btn-list-01 a:focus::before, .btn-list-01 button:hover::before, .btn-list-01 button:focus::before {
  background: #fff;
}

.btn-list-01 a:hover::after, .btn-list-01 a:focus::after, .btn-list-01 button:hover::after, .btn-list-01 button:focus::after {
  border-color: #fff;
}

.btn-list-01 a:hover span::before, .btn-list-01 a:focus span::before, .btn-list-01 button:hover span::before, .btn-list-01 button:focus span::before {
  background: #1b9974;
}

.btn-list-01 a::before, .btn-list-01 a::after, .btn-list-01 button::before, .btn-list-01 button::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.btn-list-01 a::before, .btn-list-01 button::before {
  background: #1b9974;
  height: 2px;
  width: 13px;
  right: 25px;
}

.btn-list-01 a::after, .btn-list-01 button::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3px;
  right: 26px;
}

.btn-list-01 a > span, .btn-list-01 button > span {
  display: block;
  padding: 0 27px 0 7px;
  position: relative;
  font-weight: bold;
}

.btn-list-01 a > span::before, .btn-list-01 button > span::before {
  content: "";
  display: block;
  background: #fff;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

@media only screen and (max-width: 478px) {
  .btn-list-01 {
    margin: 30px 0 0 0;
    display: block;
  }
  .btn-list-01 li {
    width: 100%;
    padding: 0;
  }
  .btn-list-01 li a span {
    padding: 0 20px 0 7px;
  }
  .btn-list-01 li + li, .btn-list-01 li + [class^="btn-"] {
    margin-top: 10px;
  }
  .btn-list-01 a, .btn-list-01 button {
    display: block;
    width: 100%;
    min-width: auto;
  }
}

/*--- btn-list-02 ------------------*/
.btn-list-02 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  margin-top: 40px;
}

.btn-list-02 .item > *:first-child {
  margin-top: 0;
}

.btn-list-02 .btn-target-01 a {
  min-width: unset;
}

.btn-list-02 .btn-target-01 a span {
  padding-left: 7px;
}

.btn-list-02 .btn-03 {
  display: block !important;
}

.btn-list-02 .btn-03 a {
  min-width: unset;
}

.btn-list-02 .btn-03 a span {
  padding-left: 7px;
}

@media only screen and (max-width: 478px) {
  .btn-list-02 {
    margin-top: 30px;
    gap: 10px;
  }
  .btn-list-02 .item {
    width: 100%;
  }
  .btn-list-02 .btn-03 {
    width: 100%;
  }
}

/*--- btn-target-01 ------------------*/
.btn-target-01 {
  margin-top: 40px;
}

.btn-target-01.small a {
  min-width: 220px;
}

.btn-target-01 a {
  display: inline-block;
  padding: 10px 20px 8px 20px;
  text-align: center;
  color: #fff;
  text-decoration: none;
  min-width: 440px;
  border-radius: 100px;
  position: relative;
  transition: .3s all;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #1b9974;
  border: #1b9974 2px solid;
}

.btn-target-01 a .link-icon {
  position: absolute;
  top: 50%;
  margin-top: -7px;
  right: 20px;
}

.btn-target-01 a:hover, .btn-target-01 a:focus {
  background: #fff;
  color: #1b9974;
}

.btn-target-01 a span {
  display: block;
  padding: 0 27px;
  font-weight: bold;
}

@media only screen and (max-width: 868px) {
  .btn-target-01 {
    margin-top: 30px;
  }
  .btn-target-01 a {
    display: block;
    width: 100%;
    min-width: auto;
  }
}

/*--- btn-movie-01 ------------------*/
.btn-movie-01 {
  margin-top: 40px;
  margin-bottom: 3px;
}

.btn-movie-01 a {
  display: inline-block;
  padding: 10px 20px;
  color: #1b9974;
  text-decoration: none;
  min-width: 410px;
  border-radius: 100px;
  line-height: 1.4;
  position: relative;
  transition: .3s all;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #f8f5e6;
}

.btn-movie-01 a:hover, .btn-movie-01 a:focus {
  background: #1b9974;
  color: #fff;
}

.btn-movie-01 a:hover::before, .btn-movie-01 a:focus::before {
  background: #1b9974;
}

.btn-movie-01 a:hover::after, .btn-movie-01 a:focus::after {
  border-color: #1b9974;
}

.btn-movie-01 a:hover > span::before, .btn-movie-01 a:focus > span::before {
  background: #fff;
}

.btn-movie-01 a:hover > span span b, .btn-movie-01 a:focus > span span b {
  color: #fff;
}

.btn-movie-01 a:hover > span span::before, .btn-movie-01 a:focus > span span::before {
  border-color: #fff;
}

.btn-movie-01 a:hover > span span::after, .btn-movie-01 a:focus > span span::after {
  border-color: transparent transparent transparent #fff;
}

.btn-movie-01 a::before, .btn-movie-01 a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.btn-movie-01 a::before {
  background: #f8f5e6;
  height: 2px;
  width: 13px;
  right: 25px;
}

.btn-movie-01 a::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3px;
  right: 26px;
}

.btn-movie-01 a > span {
  display: block;
  padding: 0 27px 0 0;
  position: relative;
  font-weight: bold;
}

.btn-movie-01 a > span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.btn-movie-01 a > span span {
  display: block;
  color: #000;
  padding-left: 56px;
  position: relative;
}

.btn-movie-01 a > span span b {
  color: #1b9974;
  display: block;
  font-size: 2rem;
}

.btn-movie-01 a > span span::before {
  content: "";
  width: 38px;
  height: 38px;
  border: #1b9974 2px solid;
  border-radius: 100px;
  position: absolute;
  top: 50%;
  margin-top: -19px;
  left: 0;
}

.btn-movie-01 a > span span::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 13px;
  border-color: transparent transparent transparent #1b9974;
  position: absolute;
  left: 14px;
  top: 50%;
  margin-top: -7px;
}

@media only screen and (max-width: 868px) {
  .btn-movie-01 {
    margin-top: 30px;
  }
  .btn-movie-01 a {
    display: block;
    width: 100%;
    min-width: auto;
  }
  .btn-movie-01 a > span span b {
    font-size: 1.6rem;
  }
}

/*--- search-btn-02 ------------------*/
.search-btn-02 {
  color: #fff;
  background: #d62828;
  border-radius: 120px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  display: block;
  min-width: 160px;
  margin: 40px auto 0 auto;
}

.search-btn-02 span {
  display: inline-block;
  padding: 18px 44px 18px 0;
  background: url(/common/images/icon-search-02.png) no-repeat right center;
}

@media only screen and (max-width: 868px) {
  .search-btn-02 {
    min-width: 120px;
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 2;
    padding: 6px 16px;
  }
  .search-btn-02 span {
    padding: 0;
    padding-right: 37px;
    background: url(/common/images/icon-search-03.png) no-repeat right center;
  }
}

/* --------------------------------------
  index
-----------------------------------------*/
/*--- index-01 ------------------*/
.index-01 {
  margin-top: 40px;
}

.index-01.movie .title {
  padding-left: 45px;
  background-image: url(/common/images/icon-movie-01.gif);
  background-position: left 7px;
  background-repeat: no-repeat;
}

.index-01.news .icon {
  position: absolute;
  top: 0;
  left: 0;
  background: #d62828;
  font-size: 1.4rem;
  color: #fff;
  border-radius: 10px 0 10px 0;
  z-index: 10;
  padding: 3px 19px 2px 19px;
  font-weight: bold;
}

.index-01.news .day {
  color: #888;
  font-size: 1.4rem;
}

.index-01.only .panel-01 {
  display: block;
  margin: 0;
}

.index-01.only .panel-01 > li {
  padding: 0;
  width: auto;
  text-align: left;
}

.index-01.col1 .panel-01 > li {
  width: 100%;
}

.index-01.col2 .panel-01 > li {
  width: 50%;
}

.index-01.col3 .panel-01 > li {
  width: 33.33333%;
}

.index-01.col3 .panel-01 > li:nth-child(n + 4) {
  margin-top: 20px;
}

.index-01 .panel-01, .index-01 .panel-02, .index-01 .panel-03 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-01.icon .panel-01 > li > a .title, .index-01.icon .panel-02 > li > a .title, .index-01.icon .panel-03 > li > a .title {
  position: relative;
}

.index-01.icon .panel-01 > li > a .title::before, .index-01.icon .panel-01 > li > a .title::after, .index-01.icon .panel-02 > li > a .title::before, .index-01.icon .panel-02 > li > a .title::after, .index-01.icon .panel-03 > li > a .title::before, .index-01.icon .panel-03 > li > a .title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.index-01.icon .panel-01 > li > a .title::before, .index-01.icon .panel-02 > li > a .title::before, .index-01.icon .panel-03 > li > a .title::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.index-01.icon .panel-01 > li > a .title::after, .index-01.icon .panel-02 > li > a .title::after, .index-01.icon .panel-03 > li > a .title::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.index-01.icon .panel-01 > li > a .title > span, .index-01.icon .panel-02 > li > a .title > span, .index-01.icon .panel-03 > li > a .title > span {
  display: block;
  font-weight: bold;
  position: relative;
  padding-right: 20px;
}

.index-01.icon .panel-01 > li > a .title > span::before, .index-01.icon .panel-02 > li > a .title > span::before, .index-01.icon .panel-03 > li > a .title > span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.index-01 .panel-01 > li, .index-01 .panel-02 > li, .index-01 .panel-03 > li, .index-01 .slick-track > li {
  border-radius: 10px;
  width: 25%;
  padding: 0 10px;
}

.index-01 .panel-01 > li:nth-child(n + 5), .index-01 .panel-02 > li:nth-child(n + 5), .index-01 .panel-03 > li:nth-child(n + 5), .index-01 .slick-track > li:nth-child(n + 5) {
  margin-top: 20px;
}

.index-01 .panel-01 > li > a, .index-01 .panel-02 > li > a, .index-01 .panel-03 > li > a, .index-01 .slick-track > li > a {
  background: #f8f5e6;
  border-radius: 10px;
  width: 100%;
  position: relative;
  color: #000;
  text-decoration: none;
  padding: 0 20px 20px 20px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.index-01 .panel-01 > li > a .title, .index-01 .panel-02 > li > a .title, .index-01 .panel-03 > li > a .title, .index-01 .slick-track > li > a .title {
  margin-top: 22px;
  display: block;
  position: relative;
  font-size: 1.8rem;
}

.index-01 .panel-01 > li > a .title span, .index-01 .panel-02 > li > a .title span, .index-01 .panel-03 > li > a .title span, .index-01 .slick-track > li > a .title span {
  display: block;
  position: relative;
  font-weight: bold;
}

.index-01 .panel-01 > li > a .img, .index-01 .panel-02 > li > a .img, .index-01 .panel-03 > li > a .img, .index-01 .slick-track > li > a .img {
  margin: 0 -20px;
  display: block;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}

.index-01 .panel-01 > li > a .img img, .index-01 .panel-02 > li > a .img img, .index-01 .panel-03 > li > a .img img, .index-01 .slick-track > li > a .img img {
  border-radius: 10px 10px 0 0;
  line-height: 1;
  display: block;
  transition: .3s all;
  transform: scale(1, 1);
  width: 100%;
}

.index-01 .panel-01 > li > a .txt, .index-01 .panel-02 > li > a .txt, .index-01 .panel-03 > li > a .txt, .index-01 .slick-track > li > a .txt {
  display: block;
  margin-top: 2px;
}

.index-01 .panel-01 > li > a:hover .img img, .index-01 .panel-01 > li > a:focus .img img, .index-01 .panel-02 > li > a:hover .img img, .index-01 .panel-02 > li > a:focus .img img, .index-01 .panel-03 > li > a:hover .img img, .index-01 .panel-03 > li > a:focus .img img, .index-01 .slick-track > li > a:hover .img img, .index-01 .slick-track > li > a:focus .img img {
  transform: scale(1.1, 1.1);
}

.index-01 .panel-02 > li a, .index-01 .slick-track > li a {
  padding-bottom: 40px;
  -webkit-flex-direction: column;
  flex-direction: column;
  position: relative;
}

.index-01 .panel-02 > li a .title, .index-01 .slick-track > li a .title {
  margin-top: 13px;
  font-size: 1.6rem;
}

.index-01 .panel-02 > li a .title::before, .index-01 .panel-02 > li a .title::after, .index-01 .slick-track > li a .title::before, .index-01 .slick-track > li a .title::after {
  content: none;
}

.index-01 .panel-02 > li a .title span, .index-01 .slick-track > li a .title span {
  padding: 0;
}

.index-01 .panel-02 > li a .title span::before, .index-01 .slick-track > li a .title span::before {
  content: none;
}

.index-01 .panel-03 > li a {
  text-align: center;
  overflow: hidden;
  padding-bottom: 11px;
}

.index-01 .panel-03 > li a::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 18px 18px;
  border-color: transparent transparent #000 transparent;
  position: absolute;
  bottom: 0;
  right: 0;
}

.index-01 .panel-03 > li a .icon {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.6rem;
  font-weight: bold;
  background: #d62828;
  color: #fff;
  padding: 4px 18px 2px 18px;
  text-align: center;
  border-radius: 10px 0 10px 0;
}

.index-01 .panel-03 > li a .title {
  margin-top: 13px;
}

.index-01 .panel-03 > li a .title::before, .index-01 .panel-03 > li a .title::after {
  content: none;
}

.index-01 .panel-03 > li a .title span {
  padding-right: 0;
}

.index-01 .panel-03 > li a .title span::before {
  content: none;
}

.index-01 .panel-03.col3 > li {
  width: 33.33333%;
}

.index-01 .panel-03.col3 > li:nth-child(n + 4) {
  margin-top: 20px;
}

.index-01 .panel-03.col4 > li {
  width: 25%;
}

.index-01 .panel-03.col4 > li:nth-child(n + 5) {
  margin-top: 20px;
}

.index-01 .list-type {
  -webkit-justify-content: center;
  justify-content: center;
  margin: 10px 0 0 0;
  position: absolute;
  bottom: 10px;
  left: 0;
  padding: 0 13px;
  width: 100%;
}

.index-01 .list-type li {
  font-size: 1.4rem;
  line-height: 2;
  padding: 0 7px;
  text-align: center;
}

.index-01 .list-type li span {
  word-break: break-all;
  line-height: 1.4;
  display: inline-block;
  padding-left: 22px;
}

.index-01 .list-type .cal span {
  background: url("/common/images/icon-recipe-01.gif") no-repeat center left;
}

.index-01 .list-type .time span {
  background: url("/common/images/icon-recipe-02.gif") no-repeat center left;
}

.index-01 .list-type .mtl span {
  background: url("/common/images/icon-recipe-03.gif") no-repeat center left;
}

@media only screen and (max-width: 1109px) {
  .index-01.movie .title {
    background-position: left top;
  }
  .index-01.col2 .panel-01 > li {
    width: 50%;
  }
  .index-01.col3 .panel-01 > li {
    width: 50%;
  }
  .index-01.col3 .panel-01 > li:nth-child(n + 3) {
    margin-top: 20px;
  }
  .index-01 .panel-01 > li, .index-01 .panel-02 > li, .index-01 .panel-03 > li {
    width: 33.33333%;
  }
  .index-01 .panel-01 > li:nth-child(n + 4), .index-01 .panel-02 > li:nth-child(n + 4), .index-01 .panel-03 > li:nth-child(n + 4) {
    margin-top: 20px;
  }
  .index-01 .panel-03.col4 > li {
    width: 33.33333%;
  }
  .index-01 .panel-03.col4 > li:nth-child(n + 4) {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 693px) {
  .index-01 .panel-01, .index-01 .panel-02 {
    margin: 0 -5px;
  }
  .index-01 .panel-01 > li, .index-01 .panel-02 > li {
    padding: 0 5px;
  }
}

@media only screen and (max-width: 868px) {
  .index-01 .panel-01 > li, .index-01 .panel-02 > li, .index-01 .panel-03 > li {
    width: 50%;
    margin-top: 20px;
  }
  .index-01 .panel-01 > li:first-child, .index-01 .panel-02 > li:first-child, .index-01 .panel-03 > li:first-child {
    margin-top: 0;
  }
  .index-01 .panel-01 > li:first-child + li, .index-01 .panel-02 > li:first-child + li, .index-01 .panel-03 > li:first-child + li {
    margin-top: 0;
  }
  .index-01 .panel-02 .list-type {
    padding: 0 14px;
  }
  .index-01 .panel-02 .list-type li {
    font-size: 1.2rem;
    padding: 0 6px;
  }
  .index-01 .panel-03.col4 > li, .index-01 .panel-03.col3 > li {
    font-size: 1.4rem;
    line-height: 1.5;
    width: 50%;
    overflow: hidden;
    padding-bottom: 4px;
  }
  .index-01 .panel-03.col4 > li a, .index-01 .panel-03.col3 > li a {
    padding: 0 10px 15px 10px;
  }
  .index-01 .panel-03.col4 > li a .icon, .index-01 .panel-03.col3 > li a .icon {
    font-size: 1.2rem;
    line-height: 1.5;
    padding: 3px 1.06em 3px 1.06em;
  }
  .index-01 .panel-03.col4 > li a .img, .index-01 .panel-03.col3 > li a .img {
    margin: 0 -10px;
  }
}

@media only screen and (max-width: 538px) {
  .index-01 .panel-02 {
    display: block;
    margin: 0;
  }
  .index-01 .panel-02 > li {
    padding: 0;
    width: 100%;
  }
  .index-01 .panel-02 > li:first-child {
    margin-top: 0;
  }
  .index-01 .panel-02 > li:first-child + li {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 478px) {
  .index-01.col2 .panel-01 > li {
    width: 100%;
  }
  .index-01.col3 .panel-01 > li {
    width: 100%;
  }
  .index-01 .panel-01 {
    display: block;
    margin: 0;
  }
  .index-01 .panel-01 > li {
    padding: 0;
    width: 100%;
  }
  .index-01 .panel-01 > li:first-child {
    margin-top: 0;
  }
  .index-01 .panel-01 > li:first-child + li {
    margin-top: 20px;
  }
  .index-01 .panel-03.col3, .index-01 .panel-03.col4 {
    display: block;
    margin: 0;
  }
  .index-01 .panel-03.col3 > li, .index-01 .panel-03.col4 > li {
    padding: 0;
    width: 100%;
  }
  .index-01 .panel-03.col3 > li:first-child, .index-01 .panel-03.col4 > li:first-child {
    margin-top: 0;
  }
  .index-01 .panel-03.col3 > li:first-child + li, .index-01 .panel-03.col4 > li:first-child + li {
    margin-top: 20px;
  }
}

.index-01._tjtm > .panel-02 > li {
  width: calc(100% / 3);
}

@media only screen and (max-width: 868px) {
  .index-01._tjtm > .panel-02 > li {
    width: 100%;
  }
  .index-01._tjtm > .panel-02 > li:first-child + li {
    margin-top: 20px;
  }
}

/*--- index-02 ------------------*/
.index-02 {
  margin-top: 40px;
}

.index-02 .panel-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-02 .panel-01 li {
  width: 33.33333%;
  margin-top: 20px;
  padding: 0 10px;
}

.index-02 .panel-01 li a {
  -webkit-align-items: center;
  align-items: center;
  background: #f8f5e6;
  width: 100%;
  color: #000;
  text-decoration: none;
  padding: 23px 20px;
  border-radius: 10px;
  position: relative;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  font-size: 1.8rem;
  border: #f8f5e6 2px solid;
  transition: .3s all;
}

.index-02 .panel-01 li a > span {
  width: 100%;
  display: block;
  position: relative;
}

.index-02 .panel-01 li a > span::before, .index-02 .panel-01 li a > span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: right .2s ease-in-out;
}

.index-02 .panel-01 li a > span::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.index-02 .panel-01 li a > span::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.index-02 .panel-01 li a > span > span {
  display: block;
  position: relative;
  font-weight: bold;
  padding-right: 20px;
}

.index-02 .panel-01 li a > span > span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.index-02 .panel-01 li a:hover, .index-02 .panel-01 li a:focus {
  border: #1b9974 2px solid;
}

.index-02 .panel-01 li a:hover > span::before, .index-02 .panel-01 li a:focus > span::before {
  right: 3px;
}

.index-02 .panel-01 li a:hover > span::after, .index-02 .panel-01 li a:focus > span::after {
  right: 4px;
}

@media only screen and (max-width: 868px) {
  .index-02 {
    margin-top: 50px;
  }
  .index-02 .panel-01 {
    display: block;
    margin: 0;
  }
  .index-02 .panel-01 li {
    width: 100%;
    margin-top: 10px;
    padding: 0;
  }
  .index-02 .panel-01 li a {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .index-02 .panel-01 li a > span {
    -webkit-transform: none;
    transform: none;
    top: auto;
  }
}

/*--- index-03 ------------------*/
.index-03 {
  margin-top: 40px;
}

.index-03.col3 .panel-01 {
  margin: 0 -20px;
}

.index-03.col3 .panel-01 li {
  margin-top: 0;
  padding: 0 20px;
  width: 33.33333%;
}

.index-03 .panel-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-03 .panel-01 li {
  margin-top: 20px;
  width: 50%;
  padding: 0 10px;
}

.index-03 .panel-01 li a {
  border-radius: 10px;
  position: relative;
  color: #000;
  display: block;
  text-decoration: none;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.index-03 .panel-01 li a:hover .img img, .index-03 .panel-01 li a:focus .img img {
  transform: scale(1.1);
}

.index-03 .panel-01 li a .img {
  display: block;
  border-radius: 10px;
  overflow: hidden;
}

.index-03 .panel-01 li a .img img {
  display: block;
  line-height: 1;
  width: 100%;
  transition: .3s all;
  border-radius: 10px;
}

.index-03 .panel-01 li a .title {
  border-radius: 0 0 10px 10px;
  position: absolute;
  left: 0;
  bottom: 0;
  padding: 13px 20px;
  background: rgba(255, 255, 255, 0.8);
  display: block;
  width: 100%;
  margin-top: 0;
}

.index-03 .panel-01 li a .title span {
  font-weight: bold;
}

.index-03 .panel-01 li .txt {
  font-weight: 100;
  margin-top: 10px;
}

@media only screen and (max-width: 868px) {
  .index-03.col3 .panel-01 {
    margin: 0;
  }
  .index-03.col3 .panel-01 li {
    margin-top: 20px;
    padding: 0;
    width: 100%;
  }
  .index-03 .panel-01 {
    display: block;
    text-align: center;
    margin: 0;
  }
  .index-03 .panel-01 li {
    padding: 0;
    margin-top: 20px;
    width: 100%;
  }
  .index-03 .panel-01 li a {
    box-shadow: none;
    display: block;
  }
  .index-03 .panel-01 li a .title {
    text-align: left;
    position: static;
    padding: 0;
  }
  .index-03 .panel-01 li a .title b {
    display: block;
    position: relative;
  }
  .index-03 .panel-01 li a .title b::before, .index-03 .panel-01 li a .title b::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    z-index: 2;
    transition: right .2s ease-in-out;
  }
  .index-03 .panel-01 li a .title b::before {
    background: #fff;
    height: 2px;
    width: 13px;
    right: 5px;
    margin-top: -1px;
  }
  .index-03 .panel-01 li a .title b::after {
    width: 8px;
    height: 8px;
    border-top: solid 2px #f8f5e6;
    border-right: solid 2px #f8f5e6;
    will-change: transform;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    vertical-align: middle;
    margin-top: -4px;
    right: 6px;
  }
  .index-03 .panel-01 li a .title b span {
    display: block;
    position: relative;
    font-weight: bold;
    padding-right: 20px;
  }
  .index-03 .panel-01 li a .title b span::before {
    content: "";
    display: block;
    background: #1b9974;
    height: 18px;
    width: 18px;
    border-radius: 36px;
    position: absolute;
    top: 50%;
    margin-top: -9px;
    right: 0;
  }
  .index-03 .panel-01 li a .img {
    box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
    display: inline-block;
  }
  .index-03 .panel-01 li .txt {
    text-align: left;
    margin-top: 0;
  }
}

/*--- index-04 ------------------*/
.index-04 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  text-align: center;
}

.index-04 .none {
  display: none;
}

.index-04.col2 {
  margin: 0 -20px;
}

.index-04.col2 li {
  margin-top: 20px;
  padding: 0 20px 0 20px;
  width: 50%;
}

.index-04.col2 li a .img img {
  width: 100%;
}

.index-04.col3 {
  margin: 0 -10px;
}

.index-04.col3 li {
  margin-top: 20px;
  padding: 0 10px;
  width: 33.33333%;
}

.index-04.col4 {
  margin: 0 -30px;
}

.index-04.col4 li {
  margin-top: 20px;
  padding: 0 30px;
  width: 25%;
}

.index-04.col5 {
  margin: 0 -10px;
}

.index-04.col5 li {
  margin-top: 20px;
  padding: 0 10px;
  width: 20%;
}

.index-04.small {
  margin: 0 -10px;
}

.index-04.small li {
  margin-top: 20px;
  padding: 0 10px;
}

.index-04 li a {
  color: #000;
  text-decoration: none;
  position: relative;
  width: 100%;
}

.index-04 li a .img {
  overflow: hidden;
  border-radius: 10px;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border: #f1f1ee 1px solid;
  position: relative;
  text-align: center;
}

.index-04 li a .img img {
  transform: scale(1, 1);
  transition: .3s all;
  border-radius: 10px;
  width: 100%;
}

.index-04 li a .txt {
  line-height: 1.5;
  display: block;
  text-align: center;
  margin-top: 10px;
  width: 100%;
}

.index-04 li a .icon {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.6rem;
  font-weight: bold;
  background: #d62828;
  color: #fff;
  padding: 4px 18px 2px 18px;
  text-align: center;
  border-radius: 10px 0 10px 0;
  z-index: 10;
}

.index-04 li a:hover .img img, .index-04 li a:focus .img img {
  transform: scale(1.1, 1.1);
}

.faq-answer .index-04 li a .img {
  padding: 15px;
  min-height: 130px;
  position: relative;
}

.faq-answer .index-04 li a .img img {
  width: auto;
  height: auto;
  max-height: 100px;
  max-width: 100px;
  border-radius: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: top left;
  transform: scale(1, 1) translate(-50%, -50%);
}

.faq-answer .index-04 li a:hover .img img, .faq-answer .index-04 li a:focus .img img {
  transform: scale(1.1, 1.1) translate(-50%, -50%);
}

@media only screen and (max-width: 1109px) {
  .index-04.col4 li, .index-04.col5 li {
    width: 33.33333%;
  }
  .faq-answer .index-04 li a .img img {
    max-width: 143px;
  }
}

@media only screen and (max-width: 868px) {
  .index-04.col2, .index-04.col3, .index-04.col4, .index-04.col5 {
    margin: 0 -10px;
  }
  .index-04.col2 li, .index-04.col3 li, .index-04.col4 li, .index-04.col5 li {
    margin-top: 20px;
    padding: 0 10px 0 10px;
    width: 50%;
  }
  .index-04 li a .txt {
    margin-top: 10px;
  }
  .index-04 li a .img {
    width: 100%;
  }
  .index-04 li a .img img {
    width: 100%;
  }
  .index-04 li a .icon {
    font-size: 1.2rem;
    line-height: 1.5;
    padding: 3px 1.06em 3px 1.06em;
  }
  .faq-answer .index-04 li a .img {
    min-height: 132px;
    padding: 10px;
  }
  .faq-answer .index-04 li a .img img {
    max-height: 110px;
    max-width: 110px;
  }
}

/*--- index-05 ------------------*/
.index-05 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 40px -10px 0 -10px;
}

.index-05 li {
  padding: 0 10px;
}

.index-05 li > .img {
  text-align: center;
  display: block;
  border-radius: 10px;
}

.index-05 li > .img img {
  border-radius: 10px;
}

.index-05 li .title {
  display: block;
  font-weight: bold;
  font-size: 2rem;
  position: relative;
  margin-top: 10px;
}

.index-05 li > .txt {
  margin-top: 0;
  font-size: 1.6rem;
}

.index-05 li > a {
  background: #1b9974;
  color: #fff;
  font-size: 1.4rem;
  border-radius: 10px;
  text-decoration: none;
  text-align: center;
  min-width: 97px;
  padding: 1px 19px 0 19px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border: #1b9974 2px solid;
  transition: .3s all;
  display: table;
  margin-top: 10px;
}

.index-05 li > a span {
  padding-left: 13px;
  display: inline-block;
  position: relative;
}

.index-05 li > a span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  transition: .3s all;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .65em;
  left: -2px;
}

.index-05 li > a:hover, .index-05 li > a:focus {
  background: none;
  color: #1b9974;
}

.index-05 li > a:hover span::before, .index-05 li > a:focus span::before {
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
}

.index-05.col2 li {
  width: 50%;
  margin-top: 40px;
}

.index-05.col2 li:first-child {
  margin-top: 0;
}

.index-05.col2 li:first-child + li {
  margin-top: 0;
}

.index-05.col3 li {
  width: 33.33333%;
}

.index-05.col3 li:nth-child(n + 4) {
  margin-top: 40px;
}

.index-05.col4 li {
  width: 25%;
}

@media only screen and (max-width: 868px) {
  .index-05 li .title {
    font-size: 1.8rem;
  }
  .index-05 li .title::before {
    top: .2em;
  }
  .index-05.col4 li, .index-05.col3 li {
    width: 50%;
    margin-top: 40px;
  }
  .index-05.col4 li:first-child, .index-05.col3 li:first-child {
    margin-top: 0;
  }
  .index-05.col4 li:first-child + li, .index-05.col3 li:first-child + li {
    margin-top: 0;
  }
}

@media only screen and (max-width: 478px) {
  .index-05 {
    margin: 30px 0 0 0;
    display: block;
  }
  .index-05 li {
    padding: 0;
  }
  .index-05 li > .txt {
    margin-top: 8px;
  }
  .index-05 li > a {
    margin-top: 10px;
  }
  .index-05.col2 li, .index-05.col4 li, .index-05.col3 li {
    width: 100%;
  }
  .index-05.col2 li:first-child, .index-05.col4 li:first-child, .index-05.col3 li:first-child {
    margin-top: 0;
  }
  .index-05.col2 li:first-child + li, .index-05.col4 li:first-child + li, .index-05.col3 li:first-child + li {
    margin-top: 30px;
  }
}

/*--- index-06 ------------------*/
.index-06 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-06.col2 li {
  width: 50%;
}

.index-06.col2 li:nth-child(n+3) {
  margin-top: 20px;
}

.index-06.col4 li {
  width: 25%;
}

.index-06.col4 li:nth-child(n+5) {
  margin-top: 20px;
}

.index-06 li {
  padding: 0 10px;
}

.index-06 li a {
  display: block;
  text-decoration: none;
  color: #000;
  font-size: 1.6rem;
}

.index-06 li a .img {
  border-radius: 10px;
  display: inline-block;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.index-06 li a .img img {
  width: 100%;
  border-radius: 10px;
  border-radius: 10px;
  transform: scale(1, 1);
  transition: .3s all;
}

.index-06 li a:hover .img img, .index-06 li a:focus .img img {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 868px) {
  .index-06 {
    display: block;
    margin: 30px 0 0 0;
  }
  .index-06.col2 li, .index-06.col4 li {
    width: 100%;
  }
  .index-06 li {
    padding: 0;
    text-align: center;
  }
  .index-06 li + li {
    margin-top: 20px;
  }
  .index-06 li a {
    font-size: 1.4rem;
  }
  .index-06 li a .txt {
    text-align: left;
  }
}

/*--- index-07 ------------------*/
.index-07 {
  margin-top: 40px;
}

.index-07 .panel-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-07 .panel-01 > li {
  border-radius: 10px;
  width: 33.33333%;
  padding: 0 10px;
  margin-top: 20px;
}

.index-07 .panel-01 > li .link-img-02 li a {
  display: table;
  width: 100%;
  padding: 0 20px;
}

.index-07 .panel-01 > li .link-img-02 li a > .img {
  vertical-align: middle;
  float: none;
  display: table-cell;
  background: none;
  box-shadow: none;
  border: 0;
  background: #fff;
  text-align: center;
  height: 98px;
  width: 98px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.index-07 .panel-01 > li .link-img-02 li a > .img img {
  background: #fff;
  height: auto;
  max-height: 98px;
}

.index-07 .panel-01 > li .link-img-02 li a > .txt {
  vertical-align: middle;
  display: table-cell;
}

.index-07 .panel-01 > li .link-img-02 li a > .txt b {
  display: block;
}

.index-07 .panel-01 > li > div {
  border-radius: 10px;
  background: #f8f5e6;
  padding: 0 0 30px 0;
}

.index-07 .panel-01 > li > div > a {
  border-radius: 10px;
  color: #000;
  text-decoration: none;
  display: block;
}

.index-07 .panel-01 > li > div > a .title {
  display: block;
  margin-top: 30px;
  position: relative;
  font-size: 1.8rem;
  padding: 0 20px;
}

.index-07 .panel-01 > li > div > a .title::before, .index-07 .panel-01 > li > div > a .title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: right .2s ease-in-out;
}

.index-07 .panel-01 > li > div > a .title::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 25px;
  margin-top: -1px;
}

.index-07 .panel-01 > li > div > a .title::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 26px;
}

.index-07 .panel-01 > li > div > a .title span {
  display: block;
  position: relative;
  font-weight: bold;
  padding-right: 20px;
}

.index-07 .panel-01 > li > div > a .title span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.index-07 .panel-01 > li > div > a .img {
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  line-height: 1;
  margin: 0 auto;
  display: table;
}

.index-07 .panel-01 > li > div > a .img img {
  transition: .3s all;
  transform: scale(1, 1);
  width: 100%;
}

.index-07 .panel-01 > li > div > a .txt {
  display: block;
  padding: 10px 20px 20px 20px;
  margin-top: 0;
}

.index-07 .panel-01 > li > div > a:hover, .index-07 .panel-01 > li > div > a:focus {
  color: #1b9974;
}

.index-07 .panel-01 > li > div > a:hover::after, .index-07 .panel-01 > li > div > a:focus::after {
  border: #1b9974 4px solid;
  z-index: 0;
  opacity: 1;
}

.index-07 .panel-01 > li > div > a:hover .img img, .index-07 .panel-01 > li > div > a:focus .img img {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 693px) {
  .index-07 .panel-01 {
    margin: 0 -5px;
  }
  .index-07 .panel-01 > li {
    padding: 0 5px;
  }
}

@media only screen and (max-width: 868px) {
  .index-07 .panel-01 > li {
    width: 50%;
  }
  .index-07 .panel-01 > li > div {
    width: 100%;
  }
  .index-07 .panel-01 > li > div > a .img img {
    width: 100%;
  }
  .index-07 .panel-01 > li:first-child {
    margin-top: 0;
  }
  .index-07 .panel-01 > li:first-child + li {
    margin-top: 0;
  }
}

@media only screen and (max-width: 478px) {
  .index-07 .panel-01 {
    display: block;
    margin: 0;
  }
  .index-07 .panel-01 > li {
    width: 100%;
    padding: 0;
  }
  .index-07 .panel-01 > li div > a .title {
    margin-top: 20px;
  }
  .index-07 .panel-01 > li div > a .img {
    display: block;
  }
  .index-07 .panel-01 > li:first-child {
    margin-top: 0;
  }
  .index-07 .panel-01 > li:first-child + li {
    margin-top: 20px;
  }
}

/*--- index-08 ------------------*/
.index-08 {
  margin-top: 60px;
}

.index-08 + .index-08 {
  margin-top: 20px;
}

.index-08.col2 .panel-01 > li {
  width: 50%;
}

.index-08 .panel-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-08 .panel-01 > li {
  border-radius: 10px;
  width: 33.33333%;
  padding: 0 10px;
}

.index-08 .panel-01 > li:nth-child(n + 4) {
  margin-top: 20px;
}

.index-08 .panel-01 > li .panel-inner {
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  background: #f8f5e6;
  border-radius: 10px;
  padding-bottom: 20px;
}

.index-08 .panel-01 > li .panel-inner > a {
  display: block;
  position: relative;
  color: #000;
  text-decoration: none;
  padding: 0 20px;
}

.index-08 .panel-01 > li .panel-inner > a .img {
  margin: 0 -20px;
  display: block;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}

.index-08 .panel-01 > li .panel-inner > a .img img {
  border-radius: 10px 10px 0 0;
  line-height: 1;
  display: block;
  transition: .3s all;
  transform: scale(1, 1);
  width: 100%;
}

.index-08 .panel-01 > li .panel-inner > a .title {
  margin-top: 22px;
  display: block;
  position: relative;
  font-size: 1.8rem;
  display: block;
  position: relative;
}

.index-08 .panel-01 > li .panel-inner > a .title::before, .index-08 .panel-01 > li .panel-inner > a .title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.index-08 .panel-01 > li .panel-inner > a .title::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.index-08 .panel-01 > li .panel-inner > a .title::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.index-08 .panel-01 > li .panel-inner > a .title > span {
  display: block;
  font-weight: bold;
  position: relative;
  padding-right: 20px;
}

.index-08 .panel-01 > li .panel-inner > a .title > span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.index-08 .panel-01 > li .panel-inner > a:hover .img img, .index-08 .panel-01 > li .panel-inner > a:focus .img img {
  transform: scale(1.1, 1.1);
}

.index-08 .panel-01 > li .panel-inner .panel-inner-link {
  padding: 0 20px;
  margin-top: 10px;
}

.index-08 .panel-01 > li .panel-inner .panel-inner-link li > .link {
  display: inline-block;
  position: relative;
  padding-left: 20px;
}

.index-08 .panel-01 > li .panel-inner .panel-inner-link li > .link::before {
  content: "";
  display: block;
  width: 5px;
  height: 5px;
  border-radius: 10px;
  background: #d62828;
  position: absolute;
  top: .6em;
  left: 0;
}

.index-08 .panel-01 > li .panel-inner .panel-inner-link a {
  display: inline-block;
  position: relative;
  padding-left: 20px;
  color: #000;
  text-decoration: none;
}

.index-08 .panel-01 > li .panel-inner .panel-inner-link a:hover, .index-08 .panel-01 > li .panel-inner .panel-inner-link a:focus {
  color: #1b9974;
}

.index-08 .panel-01 > li .panel-inner .panel-inner-link a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

@media only screen and (max-width: 1109px) {
  .index-08.col2 .panel-01 > li {
    width: 50%;
  }
  .index-08.col3 .panel-01 > li {
    width: 50%;
  }
  .index-08 .panel-01 > li {
    width: 33.33333%;
  }
  .index-08 .panel-01 > li:nth-child(n + 4) {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 693px) {
  .index-08 .panel-01 {
    margin: 0 -5px;
  }
  .index-08 .panel-01 > li {
    padding: 0 5px;
  }
}

@media only screen and (max-width: 868px) {
  .index-08 {
    margin-top: 50px;
  }
  .index-08 .panel-01 > li {
    width: 50%;
    margin-top: 20px;
  }
  .index-08 .panel-01 > li:first-child {
    margin-top: 0;
  }
  .index-08 .panel-01 > li:first-child + li {
    margin-top: 0;
  }
}

@media only screen and (max-width: 478px) {
  .index-08.col2 .panel-01 > li {
    width: 100%;
  }
  .index-08.col3 .panel-01 > li {
    width: 100%;
  }
  .index-08 .panel-01 {
    display: block;
    margin: 0;
  }
  .index-08 .panel-01 > li {
    padding: 0;
    width: 100%;
  }
  .index-08 .panel-01 > li:first-child {
    margin-top: 0;
  }
  .index-08 .panel-01 > li:first-child + li {
    margin-top: 20px;
  }
}

/*--- index-icon-01 ------------------*/
.index-icon-01 {
  margin-top: 40px;
}

.index-icon-01 .panel-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-icon-01 .panel-01 > li > a .title {
  position: relative;
  min-height: 65px;
}

.index-icon-01 .panel-01 > li > a .title > span {
  display: block;
  position: relative;
  font-weight: bold;
}

.index-icon-01 .panel-01 > li > a .title > span::before, .index-icon-01 .panel-01 > li > a .title > span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.index-icon-01 .panel-01 > li > a .title > span::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.index-icon-01 .panel-01 > li > a .title > span::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.index-icon-01 .panel-01 > li > a .title > span span {
  display: block;
  font-weight: bold;
  position: relative;
  padding-right: 20px;
}

.index-icon-01 .panel-01 > li > a .title > span span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.index-icon-01 .panel-01 > li {
  border-radius: 10px;
  width: 25%;
  padding: 0 10px;
}

.index-icon-01 .panel-01 > li:nth-child(n + 5) {
  margin-top: 20px;
}

.index-icon-01 .panel-01 > li > a {
  background: #f8f5e6;
  border-radius: 10px;
  width: 100%;
  position: relative;
  color: #000;
  text-decoration: none;
  padding: 0 20px 20px 20px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.index-icon-01 .panel-01 > li > a .title {
  margin-top: 22px;
  display: block;
  position: relative;
  font-size: 1.8rem;
}

.index-icon-01 .panel-01 > li > a .title span {
  display: block;
  position: relative;
  font-weight: bold;
}

.index-icon-01 .panel-01 > li > a .img {
  margin: 0 -20px;
  display: block;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}

.index-icon-01 .panel-01 > li > a .img img {
  border-radius: 10px 10px 0 0;
  line-height: 1;
  display: block;
  transition: .3s all;
  transform: scale(1, 1);
  width: 100%;
}

.index-icon-01 .panel-01 > li > a .txt {
  display: block;
  margin-top: 2px;
}

.index-icon-01 .panel-01 > li > a:hover .img img, .index-icon-01 .panel-01 > li > a:focus .img img {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 1109px) {
  .index-icon-01 .panel-01 > li {
    width: 33.33333%;
  }
  .index-icon-01 .panel-01 > li:nth-child(n + 4) {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 693px) {
  .index-icon-01 .panel-01 {
    margin: 0 -5px;
  }
  .index-icon-01 .panel-01 > li {
    padding: 0 5px;
  }
}

@media only screen and (max-width: 868px) {
  .index-icon-01 .panel-01 > li {
    width: 50%;
    margin-top: 20px;
  }
  .index-icon-01 .panel-01 > li:first-child {
    margin-top: 0;
  }
  .index-icon-01 .panel-01 > li:first-child + li {
    margin-top: 0;
  }
}

@media only screen and (max-width: 478px) {
  .index-icon-01 .panel-01 {
    display: block;
    margin: 0;
  }
  .index-icon-01 .panel-01 > li {
    padding: 0;
    width: 100%;
  }
  .index-icon-01 .panel-01 > li > a .title {
    min-height: auto;
  }
  .index-icon-01 .panel-01 > li:first-child {
    margin-top: 0;
  }
  .index-icon-01 .panel-01 > li:first-child + li {
    margin-top: 20px;
  }
}

/*--- index-10 ------------------*/
.index-10 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-10.col2 .item {
  width: 50%;
}

.index-10.col3 .item {
  width: 33.33333%;
}

.index-10.col4 .item {
  width: 25%;
}

.index-10 .item {
  padding: 0 10px;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 20px;
}

.index-10 .item a {
  min-height: 200px;
  height: 100%;
  background: #f8f5e6;
  color: #000;
  text-decoration: none;
  border: #dfdfdf 1px solid;
  border-top: #1b9974 5px solid;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  padding: 20px;
  transition: .3s all;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
}

.index-10 .item a:hover, .index-10 .item a:focus {
  color: #1b9974;
}

.index-10 .item a:hover .title::before, .index-10 .item a:focus .title::before {
  right: 3px;
}

.index-10 .item a:hover .title::after, .index-10 .item a:focus .title::after {
  right: 4px;
}

.index-10 .item .title {
  font-size: 2rem;
  position: relative;
  text-align: center;
}

.index-10 .item .title::before, .index-10 .item .title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: .3s all;
}

.index-10 .item .title::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.index-10 .item .title::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.index-10 .item .title span {
  display: block;
  font-weight: bold;
  position: relative;
  padding-right: 20px;
}

.index-10 .item .title span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.index-10 .item .title + * {
  margin-top: 8px;
}

@media only screen and (max-width: 868px) {
  .index-10.col3 .item, .index-10.col4 .item {
    width: 50%;
  }
}

@media only screen and (max-width: 478px) {
  .index-10 {
    display: block;
    margin: 0;
  }
  .index-10.col2 .item, .index-10.col3 .item, .index-10.col4 .item {
    width: 100%;
  }
  .index-10 .item {
    padding: 0;
  }
  .index-10 .item a {
    min-height: 96px;
  }
  .index-10 .item a .title {
    font-size: 1.6rem;
  }
}

/*--- index-12 ------------------*/
.index-12 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-12.col2 .item {
  width: 50%;
}

.index-12.col3 .item {
  width: 33.33333%;
}

.index-12.col4 .item {
  width: 25%;
}

.index-12 .item {
  padding: 0 10px;
  -webkit-flex-direction: column;
  flex-direction: column;
  margin-top: 20px;
}

.index-12 .item a {
  height: 100%;
  background: #f8f5e6;
  color: #000;
  text-decoration: none;
  border: #dfdfdf 1px solid;
  border-top: #1b9974 5px solid;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  padding: 20px;
  transition: .3s all;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-justify-content: center;
  justify-content: center;
}

.index-12 .item a:hover, .index-12 .item a:focus {
  color: #1b9974;
}

.index-12 .item a:hover .title::before, .index-12 .item a:focus .title::before {
  right: 3px;
}

.index-12 .item a:hover .title::after, .index-12 .item a:focus .title::after {
  right: 4px;
}

.index-12 .item .title {
  font-size: 1.8rem;
  position: relative;
}

.index-12 .item .title::before, .index-12 .item .title::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: .3s all;
}

.index-12 .item .title::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 5px;
  margin-top: -1px;
}

.index-12 .item .title::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 6px;
}

.index-12 .item .title span {
  display: block;
  font-weight: bold;
  position: relative;
  padding-right: 20px;
}

.index-12 .item .title span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.index-12 .item .title + * {
  margin-top: 8px;
}

@media only screen and (max-width: 868px) {
  .index-12.col3 .item, .index-12.col4 .item {
    width: 50%;
  }
}

@media only screen and (max-width: 478px) {
  .index-12 {
    display: block;
    margin: 0;
  }
  .index-12.col2 .item, .index-12.col3 .item, .index-12.col4 .item {
    width: 100%;
  }
  .index-12 .item {
    padding: 0;
  }
}

/*--- index-11 ------------------*/
.index-11 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-11.col3 li {
  width: 33.33333%;
}

.index-11.col3 li:nth-child(n + 4) {
  margin-top: 38px;
}

.index-11.col4 li {
  width: 25%;
}

.index-11.col4 li:nth-child(n + 5) {
  margin-top: 38px;
}

.index-11.col5 li {
  width: 20%;
}

.index-11.col5 li:nth-child(n + 6) {
  margin-top: 38px;
}

.index-11 li {
  padding: 0 10px;
}

.index-11 li a:hover .img img, .index-11 li a:focus .img img {
  transform: scale(1.1, 1.1);
}

.index-11 li a, .index-11 li .link {
  color: #000;
  text-decoration: none;
  text-align: center;
  display: block;
}

.index-11 li a .img, .index-11 li .link .img {
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  overflow: hidden;
  display: inline-block;
  border-radius: 10px;
  margin-top: 0;
}

.index-11 li a .img img, .index-11 li .link .img img {
  width: 100%;
  transition: .3s all;
  transform: scale(1, 1);
  border-radius: 10px;
}

.index-11 li a .inner, .index-11 li .link .inner {
  background: #e4f0ec;
  padding: 10px;
  border-radius: 4px;
}

.index-11 li a .title, .index-11 li .link .title {
  margin-top: 5px;
  display: block;
  min-height: 56px;
}

.index-11 li a .label, .index-11 li .link .label {
  margin-top: 0;
  background: #fff;
  font-weight: bold;
  font-size: 1.4rem;
  border-radius: 4px;
}

.index-11 li a .label + .txt, .index-11 li .link .label + .txt {
  font-size: 1.4rem;
  border-radius: 0 0 3px 3px;
  padding: 0 12px 4px 12px;
  background: #e4f0ec;
  color: #1b9974;
  font-weight: bold;
  margin-top: 5px;
  min-height: 54px;
}

.index-11 li a .note-01,
.index-11 li a .note-02, .index-11 li .link .note-01,
.index-11 li .link .note-02 {
  font-size: 1.4rem;
  padding-left: 2rem;
  margin-top: 8px;
  position: relative;
  display: inline-block;
}

.index-11 li a .note-01 span,
.index-11 li a .note-02 span, .index-11 li .link .note-01 span,
.index-11 li .link .note-02 span {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}

.index-11 li a .note-01, .index-11 li .link .note-01 {
  color: #d62828;
  font-weight: bold;
}

.index-11 li a .note-01 span, .index-11 li .link .note-01 span {
  font-weight: bold;
}

.index-11 li a .note-02, .index-11 li .link .note-02 {
  color: #666;
}

@media only screen and (max-width: 1109px) {
  .index-11.col4 li, .index-11.col5 li {
    width: 33.33333%;
  }
  .index-11.col4 li:nth-child(n + 4), .index-11.col5 li:nth-child(n + 4) {
    margin-top: 38px;
  }
}

@media only screen and (max-width: 868px) {
  .index-11 {
    margin: 0 -5px;
  }
  .index-11.col3 li, .index-11.col4 li, .index-11.col5 li {
    width: 50%;
  }
  .index-11.col3 li:nth-child(n + 3), .index-11.col4 li:nth-child(n + 3), .index-11.col5 li:nth-child(n + 3) {
    margin-top: 28px;
  }
  .index-11 li {
    padding: 0 5px;
  }
  .index-11 li a .label,
  .index-11 li a .txt,
  .index-11 li a .note-01,
  .index-11 li a .note-02, .index-11 li .link .label,
  .index-11 li .link .txt,
  .index-11 li .link .note-01,
  .index-11 li .link .note-02 {
    font-size: 1.3rem;
  }
}

/*--- index-13 ------------------*/
.index-13 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.index-13 .panel-01 {
  width: 50%;
  padding: 0 10px;
  margin-top: 20px;
}

.index-13 .panel-01 p {
  margin-top: 0;
}

.index-13 .panel-01 .panel-inner {
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  padding: 29px 18px 70px 18px;
  position: relative;
  background: #fff;
}

.index-13 .panel-01 .data {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
}

.index-13 .panel-01 .data .img {
  width: 40%;
  padding-right: 20px;
  text-align: center;
}

.index-13 .panel-01 .data .img img {
  max-height: 154px;
}

.index-13 .panel-01 .data .img + table {
  width: 60%;
}

.index-13 .panel-01 .data table {
  width: 100%;
  margin-top: 0;
}

.index-13 .panel-01 .data table th, .index-13 .panel-01 .data table td {
  font-size: 1.4rem;
}

.index-13 .panel-01 .data table th {
  background: #e8e7e2;
  padding-right: 13px;
  padding-left: 13px;
  width: 46%;
}

.index-13 .panel-01 .data table td {
  padding-right: 13px;
  padding-left: 13px;
  text-align: right;
}

.index-13 .panel-01 .title {
  font-size: 1.8rem;
  margin-top: 25px;
  text-align: center;
}

.index-13 .panel-01 .txt {
  font-size: 1.6rem;
  line-height: 1.5;
}

.index-13 .panel-01 .link-01 {
  position: absolute;
  left: 0;
  bottom: 0;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  width: 100%;
}

.index-13 .panel-01 .link-01 li {
  width: 50%;
}

.index-13 .panel-01 .link-01 li:first-child {
  border-right: #fff 1px solid;
}

.index-13 .panel-01 .link-01 li:first-child a {
  border-radius: 0 0 0 10px;
}

.index-13 .panel-01 .link-01 li:last-child {
  border-left: #fff 1px solid;
}

.index-13 .panel-01 .link-01 li:last-child a {
  border-radius: 0 0 10px 0;
}

.index-13 .panel-01 .link-01 li a {
  height: 50px;
  display: block;
  text-decoration: none;
  color: #fff;
  background: #1b9974;
  padding-left: 20px;
  border: #1b9974 2px solid;
  transition: .2s all;
  position: relative;
}

.index-13 .panel-01 .link-01 li a::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -3.5px;
}

.index-13 .panel-01 .link-01 li a span {
  height: 50px;
  display: table-cell;
  vertical-align: middle;
  padding-left: 30px;
}

.index-13 .panel-01 .link-01 li a:hover, .index-13 .panel-01 .link-01 li a:focus {
  background: #fff;
  color: #1b9974;
}

.index-13 .panel-01 .link-01 li a:hover::before, .index-13 .panel-01 .link-01 li a:focus::before {
  border-color: #1b9974;
}

.index-13 .panel-01 .link-01.only {
  display: block;
}

.index-13 .panel-01 .link-01.only li {
  width: 100%;
}

.index-13 .panel-01 .link-01.only li a {
  border-radius: 0 0 10px 10px;
}

.index-13 .panel-01 .icon {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 15px;
  border-radius: 10px 0 10px 0;
  color: #fff;
  line-height: 1.6;
  z-index: 10;
}

.index-13 .panel-01 .icon b {
  line-height: 1.6;
  font-size: 1.3rem;
}

.index-13 .panel-01 .icon.new {
  background: #d62828;
}

.index-13 .panel-01 .icon.refresh {
  background: #1b9974;
}

.index-13 .panel-01 .icon.end {
  background: #e8e7e2;
  color: #666;
}

@media only screen and (max-width: 868px) {
  .index-13 .panel-01 .panel-inner {
    padding-bottom: 102px;
    padding-top: 30px;
  }
  .index-13 .panel-01 .panel-inner .panel-box {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
  }
  .index-13 .panel-01 .panel-inner .panel-box .title {
    -webkit-order: 1;
    order: 1;
    margin-top: 0;
    font-size: 1.6rem;
  }
  .index-13 .panel-01 .panel-inner .panel-box .data {
    -webkit-order: 2;
    order: 2;
    margin-top: 15px;
    display: block;
  }
  .index-13 .panel-01 .panel-inner .panel-box .data table, .index-13 .panel-01 .panel-inner .panel-box .data .img {
    text-align: center;
    width: 100%;
    padding: 0;
  }
  .index-13 .panel-01 .panel-inner .panel-box .data table {
    margin-top: 15px;
  }
  .index-13 .panel-01 .panel-inner .panel-box .txt {
    font-size: 1.4rem;
    margin-top: 10px;
    -webkit-order: 3;
    order: 3;
  }
  .index-13 .panel-01 .link-01 {
    display: block;
  }
  .index-13 .panel-01 .link-01 li {
    width: 100%;
  }
  .index-13 .panel-01 .link-01 li:first-child {
    border: 0;
    border-bottom: #fff 1px solid;
  }
  .index-13 .panel-01 .link-01 li:first-child a {
    border-radius: 0;
  }
  .index-13 .panel-01 .link-01 li:last-child {
    border: 0;
    border-top: #fff 1px solid;
  }
  .index-13 .panel-01 .link-01 li:last-child a {
    border-radius: 0 0 10px 10px;
  }
  .index-13 .panel-01 .link-01 li a {
    height: 40px;
  }
  .index-13 .panel-01 .link-01 li a span {
    height: 40px;
  }
}

@media only screen and (max-width: 693px) {
  .index-13 {
    display: block;
    margin: 0;
  }
  .index-13 .panel-01 {
    padding: 0;
    width: 100%;
  }
  .index-13 .panel-01:first-child {
    margin-top: 0;
  }
  .index-13 .panel-01 .panel-inner {
    padding: 0;
  }
  .index-13 .panel-01 .panel-inner .panel-box {
    padding: 30px 20px 20px 20px;
  }
  .index-13 .panel-01 .link-01 {
    position: static;
  }
}

/*--- index-14 ------------------*/
.index-14 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.index-14.col3 {
  margin: 20px -10px 0 -10px;
}

.index-14.col3 li {
  width: 33.33333%;
  padding: 0 10px;
}

.index-14 li:nth-child(n + 4) {
  margin-top: 30px;
}

.index-14 li a {
  display: block;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  text-decoration: none;
  color: #000;
  padding: 30px 20px;
}

.index-14 li .title {
  min-height: 42px;
  font-weight: bold;
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.2;
  display: block;
}

.index-14 li .img {
  margin-top: 10px;
  text-align: center;
  display: block;
}

.index-14 li .img img {
  width: 100%;
}

.index-14 li .txt {
  margin-top: 20px;
  display: block;
}

@media only screen and (max-width: 868px) {
  .index-14.col3 li {
    width: 50%;
  }
  .index-14 li:nth-child(n + 3) {
    margin-top: 30px;
  }
  .index-14 li a {
    padding: 20px;
  }
  .index-14 li .title {
    min-height: 38px;
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 478px) {
  .index-14.col3 {
    display: block;
  }
  .index-14.col3 li {
    width: 100%;
  }
  .index-14 li:nth-child(n + 2) {
    margin-top: 20px;
  }
  .index-14 li a {
    width: 100%;
  }
  .index-14 li .title {
    min-height: auto;
  }
}

/* --------------------------------------
  table
-----------------------------------------*/
table .line-right {
  border-right: #d2cfc6 1px solid !important;
}

table .list-des-02 {
  display: block;
  width: 100%;
}

table .list-des-02 dt {
  clear: left;
  float: left;
  display: block;
}

table .list-des-02 dd {
  display: block;
  float: left;
}

/*--- table-01 ------------------*/
.table-01:not(.headNo) {
  border-spacing: 0;
  border-collapse: separate;
  word-break: break-all;
  width: 100%;
  margin-top: 30px;
  border: #d2cfc6 1px solid;
  border-radius: 10px;
  overflow: hidden;
}

.table-01:not(.headNo).hearb tbody tr:last-child th {
  border-radius: 0 0 0 10px;
}

.table-01:not(.headNo) th, .table-01:not(.headNo) td {
  padding: 11px 20px 10px 20px;
  border-top: #d2cfc6 1px solid;
  border-right: #d2cfc6 1px solid;
}

.table-01:not(.headNo) thead tr:first-child * {
  border-top: 0;
}

.table-01:not(.headNo) tr th:last-child,
.table-01:not(.headNo) tr td:last-child {
  border-right: 0;
}

.table-01:not(.headNo) .last-th {
  border-radius: 0 0 0 10px;
}

.table-01:not(.headNo) thead tr:first-child *:first-child {
  border-radius: 10px 0 0 0;
}

.table-01:not(.headNo) thead tr:first-child *:last-child {
  border-radius: 0 10px 0 0;
}

.table-01:not(.headNo) th > *:first-child, .table-01:not(.headNo) td > *:first-child {
  margin-top: 0;
}

.table-01:not(.headNo) thead th, .table-01:not(.headNo) thead td {
  background: #e8e7e2;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}

.table-01:not(.headNo) tbody th {
  background: #f5f4ed;
  font-weight: bold;
  text-align: left;
}

.table-01:not(.headNo) .wrap br {
  display: none;
}

.table-01:not(.headNo) .sub-01 th, .table-01:not(.headNo) .sub-01 td {
  background: #fff;
  font-size: 1.4rem;
  border-top: #d2cfc6 1px dotted;
}

.table-01:not(.headNo) .sub-01 th {
  border-left: #d2cfc6 1px solid;
}

.table-01:not(.headNo) .sub-01 td {
  border-left: 0;
}

@media only screen and (max-width: 868px) {
  .table-01:not(.headNo) {
    margin-top: 20px;
  }
  .table-01:not(.headNo) th, .table-01:not(.headNo) td {
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 8px 12px 8px 12px;
  }
  .table-01:not(.headNo) .wrap br {
    display: block;
  }
  .table-01:not(.headNo) .sub-01 th, .table-01:not(.headNo) .sub-01 td {
    font-size: 1.2rem;
  }
}

/*--- table-01 ------------------*/
.table-01.headNo {
  border-spacing: 0;
  border-collapse: separate;
  word-break: break-all;
  width: 100%;
  margin-top: 30px;
  border: #d2cfc6 1px solid;
  border-radius: 10px;
  overflow: hidden;
}

.table-01.headNo.only tbody tr:first-child th:first-child {
  border-radius: 10px 0 0 10px;
}

.table-01.headNo tbody th,
.table-01.headNo tbody td {
  border-top: #d2cfc6 1px solid;
  padding: 11px 20px 10px 20px;
}

.table-01.headNo tbody th + td,
.table-01.headNo tbody td + td {
  border-left: 1px solid #d2cfc6;
}

.table-01.headNo tbody tr:first-child th,
.table-01.headNo tbody tr:first-child td {
  border-top: none;
}

.table-01.headNo tbody tr:first-child th:first-child {
  border-radius: 10px 0 0 0;
}

.table-01.headNo tbody tr:first-child *:last-child {
  border-radius: 0 10px 0 0;
}

.table-01.headNo tbody tr + tr:last-child th:first-child {
  border-radius: 0 0 0 10px;
}

.table-01.headNo tbody tr + tr:last-child th:last-child {
  border-radius: 0 0 10px 0;
}

.table-01.headNo th > *:first-child, .table-01.headNo td > *:first-child {
  margin-top: 0;
}

.table-01.headNo thead th, .table-01.headNo thead td {
  background: #e8e7e2;
  text-align: center;
  font-weight: bold;
  vertical-align: middle;
}

.table-01.headNo tbody tr + tr.sub-01:last-child th:first-child {
  border-radius: 0;
}

.table-01.headNo tbody th {
  background: #f5f4ed;
  font-weight: bold;
  text-align: left;
}

.table-01.headNo .wrap br {
  display: none;
}

.table-01.headNo .sub-01 th, .table-01.headNo .sub-01 td {
  background: #fff;
  font-size: 1.4rem;
  border-top: #d2cfc6 1px dotted;
}

.table-01.headNo .sub-01 th {
  border-left: #d2cfc6 1px solid;
}

.table-01.headNo .sub-01 td {
  border-left: 0;
}

@media only screen and (max-width: 868px) {
  .table-01.headNo {
    margin-top: 20px;
  }
  .table-01.headNo th, .table-01.headNo td {
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 8px 12px 8px 12px;
  }
  .table-01.headNo .wrap br {
    display: block;
  }
  .table-01.headNo .sub-01 th, .table-01.headNo .sub-01 td {
    font-size: 1.2rem;
  }
}

/*--- table-02 ------------------*/
.table-02 {
  border-spacing: 0;
  border-collapse: separate;
  word-break: break-all;
  width: 100%;
  margin-top: 30px;
  border: #d2cfc6 1px solid;
  border-radius: 10px;
  overflow: hidden;
  width: 100%;
}

.table-02.only tbody tr:first-child th:first-child {
  border-radius: 10px 0 0 10px;
}

.table-02 tbody th,
.table-02 tbody td {
  border-top: #d2cfc6 1px solid;
  padding: 11px 20px 10px 20px;
}

.table-02 tbody th + td,
.table-02 tbody td + td,
.table-02 tbody td + th {
  border-left: 1px solid #d2cfc6;
}

.table-02 tbody tr:first-child th,
.table-02 tbody tr:first-child td {
  border-top: none;
}

.table-02 tbody tr:first-child th:first-child {
  border-radius: 10px 0 0 0;
}

.table-02 tbody tr:first-child *:last-child {
  border-radius: 0 10px 0 0;
}

.table-02 tbody tr + tr:last-child th:first-child {
  border-radius: 0 0 0 10px;
}

.table-02 tbody tr + tr:last-child th:last-child {
  border-radius: 0 0 10px 0;
}

.table-02 tbody tr:only-child th:first-child {
  border-radius: 10px 0 0 10px;
}

.table-02 tbody tr td:only-child {
  border-left: #d2cfc6 1px solid;
}

.table-02 th > *:first-child, .table-02 td > *:first-child {
  margin-top: 0;
}

.table-02 tbody th {
  background: #f5f4ed;
  font-weight: bold;
  text-align: left;
}

@media only screen and (max-width: 868px) {
  .table-02 {
    margin-top: 20px;
  }
  .table-02:not(.not) th, .table-02:not(.not) td {
    font-size: 1.4rem;
    line-height: 1.5;
    padding: 8px 12px 8px 12px;
    display: block;
    width: 100% !important;
  }
  .table-02:not(.not) tbody th + td,
  .table-02:not(.not) tbody td + td,
  .table-02:not(.not) tbody td + th {
    border-left: 0;
  }
  .table-02:not(.not) tbody tr:first-child th:first-child {
    border-radius: 10px 10px 0 0;
  }
  .table-02:not(.not) tbody tr:first-child *:last-child {
    border-radius: 0;
  }
  .table-02:not(.not) tbody tr:first-child th + td,
  .table-02:not(.not) tbody tr:first-child td + td,
  .table-02:not(.not) tbody tr:first-child td + th {
    border-top: solid 1px #d2cfc6;
  }
  .table-02:not(.not) tbody tr:last-child th:first-child {
    border-radius: 0;
  }
}

/*--- table-03 ------------------*/
.table-03 {
  border-spacing: 0;
  border-collapse: separate;
  word-break: break-all;
  width: 100%;
  margin-top: 30px;
  border-bottom: #d2cfc6 1px dotted;
}

.table-03 th, .table-03 td {
  font-size: 1.6rem;
  padding: 5px 0 4px 0;
  border-top: #d2cfc6 1px dotted;
}

.table-03 th > *:first-child, .table-03 td > *:first-child {
  margin-top: 0;
  padding-top: 0;
}

.table-03 th.indent .txt-01 {
  display: block;
  padding-left: 1em;
}

.table-03 tbody th {
  font-weight: bold;
  text-align: left;
  padding-right: 10px;
  width: 30%;
}

.table-03 tbody td {
  padding-left: 10px;
  vertical-align: bottom;
}

@media only screen and (max-width: 868px) {
  .table-03 {
    margin-top: 20px;
  }
  .table-03 th, .table-03 td {
    padding: 8px 0;
    display: block;
    width: 100% !important;
  }
  .table-03 .indent .txt-01 {
    display: block;
    padding-left: 1em;
  }
  .table-03 th {
    font-size: 1.4rem;
    border-bottom: 0;
    padding-bottom: 0;
  }
  .table-03 td {
    font-size: 1.4rem;
    border-top: 0;
  }
  .table-03 tbody td {
    padding: 3px 0;
  }
  .table-03.no-line {
    border-bottom: 0;
  }
}

/*--- table-scroll-01 ------------------*/
.table-scroll-01 .table-01:not(.headNo) {
  width: 100%;
}

.table-scroll-01 .table-icon-01 {
  display: none;
}

@media only screen and (max-width: 868px) {
  .table-scroll-01 {
    position: relative;
    z-index: 2;
    margin: 0 -20px;
    padding-bottom: 4px;
  }
  .table-scroll-01::before, .table-scroll-01::after {
    content: "";
    display: block;
    height: 100%;
    width: 20px;
    position: absolute;
    top: 0;
    z-index: 1;
  }
  .table-scroll-01::before {
    left: 0;
  }
  .table-scroll-01::after {
    right: 0;
  }
  .table-scroll-01 .table-scroll-box {
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 4px;
  }
  .table-scroll-01 .table-scroll-box::-webkit-scrollbar {
    height: 4px;
  }
  .table-scroll-01 .table-scroll-box::-webkit-scrollbar-track, .table-scroll-01 .table-scroll-box::-webkit-scrollbar-track-piece {
    background: #fff;
    border: none;
    box-shadow: none;
  }
  .table-scroll-01 .table-scroll-box::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
    box-shadow: none;
  }
  .table-scroll-01 .table-scroll-box > div {
    padding: 0 20px;
    width: 868px;
  }
  .table-scroll-01 .table-scroll-box.swiped + .table-icon-01 {
    display: none;
  }
  .table-scroll-01 .table-icon-01 {
    display: block;
  }
  .table-scroll-01 .table-icon-01 {
    margin-top: 0;
    position: absolute;
    top: 70px;
    left: 20px;
    transition: .3s all;
  }
}

/*--- box-toggle-01 ------------------*/
.box-toggle-01 {
  margin-top: 40px;
}

.box-toggle-01 .hdg-01 {
  border-top: #d2cfc6 1px solid;
  font-weight: bold;
  font-size: 2rem;
}

.box-toggle-01 .hdg-01 button {
  position: relative;
  padding-right: 45px;
  overflow: hidden;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  display: block;
  width: 100%;
  text-align: left;
  padding: 20px 66px 20px 12px;
  background: #f8f5e6;
}

.box-toggle-01 .hdg-01 button::before {
  content: "";
  display: block;
  background: #1b9974;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -13px;
  border-radius: 52px;
}

.box-toggle-01 .hdg-01 button::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  vertical-align: middle;
  margin-top: -3px;
  position: absolute;
  top: 50%;
  right: 27.5px;
}

.box-toggle-01 .hdg-01 button i {
  position: absolute;
  top: -999em;
  right: -999em;
  display: block;
}

.box-toggle-01 .hdg-01.close {
  border-bottom: #d2cfc6 1px solid;
}

.box-toggle-01 .hdg-01.close button {
  background: none;
}

.box-toggle-01 .hdg-01.close button::after {
  border: 0;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: -7px;
  right: 27.5px;
}

.box-toggle-01 .item {
  padding: 17px 20px;
  background: #f8f5e6;
  border-bottom: #d2cfc6 1px solid;
}

.box-toggle-01 .item > *:first-child {
  margin-top: 0;
}

.box-toggle-01 .item + .hdg-01 {
  border-top: 0;
}

.box-toggle-01.noBack .hdg-01 button {
  background: none;
}

.box-toggle-01.noBack .item {
  padding: 17px 0;
  background: none;
  border-bottom: 0;
}

@media only screen and (max-width: 868px) {
  .box-toggle-01 {
    margin-top: 30px;
  }
  .box-toggle-01 .hdg-01 button {
    padding-right: 43px;
    padding: 11px 50px 10px 22px;
  }
  .box-toggle-01 .hdg-01 button::before {
    height: 18px;
    width: 18px;
    right: 16px;
    margin-top: -9px;
  }
  .box-toggle-01 .hdg-01 button::after {
    right: 22px;
    width: 7px;
    height: 7px;
    margin-top: -2px;
  }
  .box-toggle-01 .hdg-01.close button::after {
    right: 22px;
    margin-top: -4px;
  }
}

/*--- box-more-01 ------------------*/
.box-more-01 {
  padding-bottom: 52px;
  position: relative;
}

.box-more-01 button {
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -105px;
}

.box-more-01 .js-more-btn {
  background: #a0a0a0;
  border-radius: 50px;
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  display: inline-block;
  text-align: center;
  min-width: 210px;
  padding: 3px 0 2px 0;
}

.box-more-01::before {
  content: "";
  display: block;
  background: #a0a0a0;
  height: 1px;
  width: 100%;
  position: absolute;
  bottom: 18px;
  left: 0;
}

@media only screen and (max-width: 868px) {
  .box-more-01 .js-more-btn {
    font-size: 1.4rem;
  }
  .box-more-01::before {
    bottom: 12px;
  }
}

/*--- box-carousel-01 ------------------*/
.box-carousel-01 {
  margin-top: 40px;
}

.box-carousel-01 .list-01 {
  text-align: center;
}

.box-carousel-01 .list-01 li a {
  display: block;
  color: #000;
  text-decoration: none;
}

.box-carousel-01 .list-01 li a .txt {
  display: block;
  margin-top: 10px;
}

@media only screen and (max-width: 478px) {
  .box-carousel-01.carousel-start .slick-list {
    margin: 0;
  }
  .box-carousel-01.carousel-start .slick-list img {
    width: 100%;
  }
}

/*--- carousel-start-recipe ------------------*/
.carousel-recipe-start {
  position: relative;
  max-width: 1380px;
  padding: 0 50px;
}

.carousel-recipe-start .list-01.slick-slider {
  margin: 0 -4px;
}

.carousel-recipe-start .slick-track, .carousel-recipe-start .slick-list {
  padding-bottom: 3px;
}

.carousel-recipe-start .slick-track .slick-track, .carousel-recipe-start .slick-list .slick-track {
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
  height: 100%;
}

.carousel-recipe-start .slick-track > li, .carousel-recipe-start .slick-list > li {
  margin-top: 0 !important;
  float: none;
  height: 100%;
  padding: 0 8px;
}

.carousel-recipe-start .slick-track > li a, .carousel-recipe-start .slick-list > li a {
  display: block;
  height: 100%;
}

.carousel-recipe-start .carousel-pager {
  top: 50%;
  margin-top: -19px;
  height: 38px;
}

@media only screen and (max-width: 868px) {
  .carousel-recipe-start {
    padding: 0;
  }
  .carousel-recipe-start .carousel-pager {
    top: 35%;
    margin-top: 0;
  }
  .carousel-recipe-start .slick-prev {
    left: 10px;
  }
  .carousel-recipe-start .slick-next {
    right: 10px;
  }
}

@media all and (-ms-high-contrast: none) {
  .carousel-recipe-start .slick-list {
    display: block;
  }
}

/*--- carousel-start ------------------*/
.carousel-start {
  position: relative;
  max-width: 1420px;
  margin: 40px auto 0 auto;
}

.carousel-start .list-01 {
  overflow: hidden;
  margin: 0 -20px;
}

.carousel-start .list-01 > li {
  padding: 0 20px;
}

@media only screen and (max-width: 478px) {
  .carousel-start {
    padding: 0 30px;
    margin-top: 15px;
  }
  .carousel-start .list-01 {
    margin: 0;
  }
  .carousel-start .list-01 > li {
    padding: 0;
  }
}

/*--- carousel-pager ------------------*/
.carousel-pager, .carousel-pager-main {
  position: absolute;
  top: 35%;
  width: 100%;
  max-width: 1420px;
  left: 0;
}

.carousel-pager button, .carousel-pager-main button {
  overflow: hidden;
  position: absolute;
  border: 0;
  width: 38px;
  height: 38px;
  z-index: 77;
}

.carousel-pager button span, .carousel-pager-main button span {
  background-position: center center;
  background-repeat: no-repeat;
  display: block;
  width: 38px;
  height: 38px;
  line-height: 1;
  position: relative;
  text-indent: -999em;
}

.carousel-pager .slick-prev, .carousel-pager-main .slick-prev {
  left: 0;
}

.carousel-pager .slick-prev span, .carousel-pager-main .slick-prev span {
  background-image: url("/common/images/carousel-prev-01.png");
}

.carousel-pager .slick-next, .carousel-pager-main .slick-next {
  right: 0;
}

.carousel-pager .slick-next span, .carousel-pager-main .slick-next span {
  background-image: url("/common/images/carousel-next-01.png");
}

@media only screen and (max-width: 478px) {
  .carousel-pager .slick-prev, .carousel-pager-main .slick-prev {
    left: 10px;
  }
  .carousel-pager .slick-next, .carousel-pager-main .slick-next {
    right: 10px;
  }
}

/*--- slick ------------------*/
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: inline-block;
  margin: 0 auto;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*--- box-tab-01 ------------------*/
.box-tab-01 .tab-link-01 {
  margin-top: 55px;
  border-bottom: #d62828 4px solid;
}

.box-tab-01 .tab-link-01 > .link {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -4px;
}

.box-tab-01 .tab-link-01 > .link li {
  padding: 0 4px;
}

.box-tab-01 .tab-link-01 > .link li a {
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  padding: 13px 10px 11px 10px;
  text-decoration: none;
  color: #666;
  background: #eae8e4;
  border-radius: 10px 10px 0 0;
  transition: .3s all;
  width: 100%;
}

.box-tab-01 .tab-link-01 > .link li a:hover, .box-tab-01 .tab-link-01 > .link li a:focus {
  color: #d62828;
}

.box-tab-01 .tab-link-01 > .link li a span {
  font-size: 1.8rem;
  line-height: 1.11111;
  display: block;
  width: 100%;
  position: relative;
}

.box-tab-01 .tab-link-01 > .link .current {
  margin-top: -5px;
}

.box-tab-01 .tab-link-01 > .link .current a {
  color: #fff;
  background: #d62828;
}

.box-tab-01 .tab-link-01 > .link .current a:hover, .box-tab-01 .tab-link-01 > .link .current a:focus {
  color: #fff;
}

.box-tab-01 .tab-link-01 > .link .current a span {
  font-weight: bold;
}

.box-tab-01 .tab-link-01 > .link.col2 li {
  width: 50%;
}

.box-tab-01 .tab-link-01 > .link.col3 li {
  width: 33.33333%;
}

.box-tab-01 .tab-link-01 > .link.col4 li {
  width: 25%;
}

.box-tab-01 .tab-link-01 > .link.col5 li {
  width: 20%;
}

.box-tab-01 .tab-link-01 > .link.col6 li {
  width: 16.66667%;
}

.box-tab-01 .tab-link-01 > .link.col7 li {
  width: 14.28571%;
}

.box-tab-01.jsTab .tab-item-01 {
  display: none;
}

.box-tab-01.jsTab .tab-item-01.current {
  display: block;
}

@media only screen and (max-width: 868px) {
  .box-tab-01 .tab-link-01 {
    padding-top: 5px;
    margin-left: -20px;
    margin-right: -20px;
    overflow-x: scroll;
    border-bottom: 0;
  }
  .box-tab-01 .tab-link-01 > .link {
    margin: 0;
    padding: 0 16px;
    border-bottom: #d62828 4px solid;
    width: 1280px;
  }
  .box-tab-01 .tab-link-01 > .link li a {
    padding: 11px 10px 9px 10px;
  }
  .box-tab-01 .tab-link-01 > .link li a span {
    font-size: 1.6rem;
  }
}

@media only screen and (max-width: 478px) {
  .box-tab-01 .tab-link-01 > .link {
    width: 478px;
  }
  .box-tab-01 .tab-link-01 > .link li {
    width: auto !important;
  }
  .box-tab-01 .tab-link-01 > .link li a {
    width: auto !important;
  }
  .box-tab-01 .tab-link-01 > .link.col6 {
    width: 1280px;
  }
  .box-tab-01 .tab-link-01 > .link.col6 li {
    width: 16.66667% !important;
  }
  .box-tab-01 .tab-link-01 > .link.col6 li a {
    width: 100% !important;
  }
}

/*--- box-tab-02 ------------------*/
.box-tab-02.jsTab .tab-item-01 {
  display: none;
}

.box-tab-02.jsTab .tab-item-01.current {
  display: block;
}

/*--- box-faq-01 ------------------*/
.box-faq-01 {
  margin-top: 40px;
}

.box-faq-01 .hdg-01 {
  border-top: #d2cfc6 1px solid;
  font-weight: bold;
  font-size: 2rem;
}

.box-faq-01 .hdg-01 .question {
  text-align: center;
  width: 70px;
  padding: 1px 0;
  color: #fff;
  background: #d62828;
  border-radius: 10px;
  display: table;
  position: absolute;
  top: 20px;
  left: 22px;
  font-weight: bold;
}

.box-faq-01 .hdg-01 button {
  position: relative;
  padding-right: 45px;
  overflow: hidden;
  color: #000;
  text-decoration: none;
  font-weight: bold;
  display: table;
  width: 100%;
  text-align: left;
  padding: 20px 66px 20px 111px;
  background: #f8f5e6;
}

.box-faq-01 .hdg-01 button::before {
  content: "";
  display: block;
  background: #1b9974;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 50%;
  right: 20px;
  margin-top: -13px;
  border-radius: 52px;
}

.box-faq-01 .hdg-01 button::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  vertical-align: middle;
  margin-top: -3px;
  position: absolute;
  top: 50%;
  right: 27.5px;
}

.box-faq-01 .hdg-01 button i {
  position: absolute;
  top: -999em;
  right: -999em;
  display: block;
}

.box-faq-01 .hdg-01.close {
  border-bottom: #d2cfc6 1px solid;
}

.box-faq-01 .hdg-01.close button {
  background: none;
}

.box-faq-01 .hdg-01.close button::after {
  border: 0;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: -7px;
  right: 27.5px;
}

.box-faq-01 .item {
  padding: 17px 20px;
  background: #f8f5e6;
  border-bottom: #d2cfc6 1px solid;
}

.box-faq-01 .item > *:first-child {
  margin-top: 0;
}

.box-faq-01 .item + .hdg-01 {
  border-top: 0;
}

.box-faq-01 .answer {
  position: relative;
  padding-left: 92px;
}

.box-faq-01 .answer dt {
  display: table;
  width: 70px;
  border: #d62828 2px solid;
  background: #fff;
  color: #d62828;
  font-weight: bold;
  text-align: center;
  border-radius: 10px;
  padding: 4px 0;
  position: absolute;
  top: 4px;
  left: 2px;
  line-height: 1;
}

@media only screen and (max-width: 868px) {
  .box-faq-01 {
    margin-top: 30px;
  }
  .box-faq-01 .hdg-01 {
    font-size: 1.6rem;
  }
  .box-faq-01 .hdg-01 button {
    padding-right: 43px;
    padding: 11px 50px 10px 22px;
  }
  .box-faq-01 .hdg-01 button::before {
    height: 18px;
    width: 18px;
    right: 16px;
    margin-top: -9px;
  }
  .box-faq-01 .hdg-01 button::after {
    right: 22px;
    width: 7px;
    height: 7px;
    margin-top: -2px;
  }
  .box-faq-01 .hdg-01 .question {
    position: static;
    font-size: 1.6rem;
    width: 66px;
    padding: 5px 0 3px 0;
    margin-bottom: 7px;
  }
  .box-faq-01 .hdg-01.close button::after {
    right: 22px;
    margin-top: -4px;
  }
  .box-faq-01 .answer {
    position: static;
    padding-left: 0;
  }
  .box-faq-01 .answer dt {
    position: static;
    padding: 4px 0 2px 0;
    margin-bottom: 15px;
    width: 66px;
  }
}

/*--- box-faq-02 ------------------*/
.box-faq-02 {
  margin-top: 40px;
}

.box-faq-02 .hdg-01 {
  border-bottom: #d2cfc6 2px solid;
  font-weight: bold;
  font-size: 2rem;
  padding-left: 80px;
  position: relative;
  padding-bottom: 15px;
}

.box-faq-02 .hdg-01 .question {
  text-align: center;
  width: 60px;
  padding: 2px 0 1px 0;
  color: #fff;
  background: #d62828;
  border-radius: 10px;
  display: table;
  position: absolute;
  top: .2em;
  left: 0;
  font-weight: bold;
  font-size: 1.6rem;
}

.box-faq-02 .data-02 {
  font-size: 2rem;
  text-align: right;
}

.box-faq-02 .data-02 b {
  vertical-align: bottom;
}

.box-faq-02 .data-02 .num {
  font-weight: bold;
}

.box-faq-02 .answer {
  margin-top: 20px;
}

.box-faq-02 .answer .answer-txt {
  position: relative;
  padding-left: 80px;
}

.box-faq-02 .answer .answer-txt > *:first-child {
  padding-top: 0;
  margin-top: 0;
}

.box-faq-02 .answer .answer-txt .data-01 {
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
}

.box-faq-02 .answer .answer-txt .data-01 b {
  font-size: 2rem;
}

.box-faq-02 .answer .answer-txt .data-01 .icon {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  width: 60px;
  line-height: 1;
  padding: 6px 0 4px 0;
  color: #d62828;
  border: #d62828 2px solid;
  background: #fff;
  border-radius: 10px;
  display: table;
}

.box-faq-02 .answer .answer-img {
  float: right;
  margin-left: 40px;
  margin-bottom: 40px;
  text-align: center;
}

.box-faq-02 .answer .answer-img p {
  margin-top: 0;
}

.box-faq-02 .answer .answer-img p + p {
  margin-top: 8px;
}

.box-faq-02 .answer .answer-img img {
  border-radius: 10px;
}

.box-faq-02 .more {
  margin-top: 40px;
}

.box-faq-02 .more .more-title {
  background: #fff;
  margin-top: 0;
  position: relative;
  border: #1b9974 2px solid;
  border-radius: 80px;
  text-align: center;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.box-faq-02 .more .more-title::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 18px 20px;
  border-color: transparent transparent #1b9974 transparent;
  position: absolute;
  left: 79px;
  top: -18px;
}

.box-faq-02 .more .more-title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 16px 18px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  left: 79px;
  top: -13px;
}

.box-faq-02 .more .more-title span {
  color: #1b9974;
  font-weight: bold;
  display: inline-block;
  padding: 10px 39px 9px 0;
}

.box-faq-02 .more .more-title.close button span::after {
  border: 0;
  content: "";
  display: block;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: -7px;
  right: 7.5px;
  width: 11px;
  height: 11px;
}

.box-faq-02 .more .item {
  padding: 20px;
  position: relative;
  border-radius: 0 0 10px 10px;
  background: #eff7f1;
}

.box-faq-02 .more .item > *:first-child {
  margin-top: 0;
}

.box-faq-02 .more .item::after {
  content: "";
  display: block;
  background: #eff7f1;
  width: 100%;
  height: 25px;
  position: absolute;
  top: -25px;
  left: 0;
  z-index: -1;
}

.box-faq-02 .more button {
  display: block;
  width: 100%;
  text-align: center;
  overflow: hidden;
}

.box-faq-02 .more button span {
  position: relative;
}

.box-faq-02 .more button span::before {
  content: "";
  display: block;
  background: #1b9974;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -13px;
  border-radius: 52px;
}

.box-faq-02 .more button span::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  vertical-align: middle;
  margin-top: -3px;
  position: absolute;
  top: 50%;
  right: 7.5px;
}

.box-faq-02 .more button i {
  position: absolute;
  top: -999em;
  right: -999em;
  display: block;
}

@media only screen and (max-width: 868px) {
  .box-faq-02 .hdg-01 {
    font-size: 1.8rem;
    padding-left: 0;
    position: static;
    padding-bottom: 5px;
  }
  .box-faq-02 .hdg-01 .question {
    width: 50px;
    padding: 2px 0 1px 0;
    position: static;
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
  .box-faq-02 .answer {
    position: relative;
    padding-top: 30px;
  }
  .box-faq-02 .answer .data-01 .icon {
    padding: 5px 0 3px 0;
    width: 50px;
  }
  .box-faq-02 .answer .data-02 {
    position: absolute;
    top: 0;
    right: 0;
  }
  .box-faq-02 .answer .answer-inner {
    margin-top: 8px;
  }
  .box-faq-02 .answer .answer-txt {
    padding-left: 0;
    position: static;
  }
  .box-faq-02 .answer .answer-img {
    text-align: center;
    float: none;
    margin-left: 0;
    margin-bottom: 20px;
  }
  .box-faq-02 .more button span::before {
    width: 21px;
    height: 21px;
    margin-top: -10.5px;
  }
  .box-faq-02 .more button span::after {
    width: 7px;
    height: 7px;
    margin-top: -2.5px;
    right: 7px;
  }
  .box-faq-02 .more .item {
    padding: 20px;
  }
  .box-faq-02 .more .more-title.close button span::after {
    margin-top: -4px;
    right: 7px;
    width: 7px;
    height: 7px;
  }
}

/*--- .faq-answer ------------------*/
.faq-answer .box-faq-02 {
  margin-top: 40px;
}

.faq-answer .box-faq-02 .hdg-01 {
  border-bottom: #d2cfc6 2px solid;
  font-weight: bold;
  font-size: 2rem;
  padding-left: 80px;
  position: relative;
  padding-bottom: 15px;
}

.faq-answer .box-faq-02 .hdg-01 .question {
  text-align: center;
  width: 60px;
  padding: 2px 0 1px 0;
  color: #fff;
  background: #d62828;
  border-radius: 10px;
  display: table;
  position: absolute;
  top: .2em;
  left: 0;
  font-weight: bold;
  font-size: 1.6rem;
}

.faq-answer .box-faq-02 .data-02 {
  font-size: 2rem;
  text-align: right;
}

.faq-answer .box-faq-02 .data-02 b {
  vertical-align: bottom;
}

.faq-answer .box-faq-02 .data-02 .num {
  font-weight: bold;
}

.faq-answer .box-faq-02 .answer {
  display: grid;
  grid-template-columns: 60px auto auto;
  grid-template-rows: auto 1fr;
  gap: 8px 24px;
  grid-template-areas: "icon txt number" ". txt img";
  margin-top: 20px;
  padding-top: 0;
}

.faq-answer .box-faq-02 .answer .data-01 {
  grid-area: icon;
  margin-top: 0;
}

.faq-answer .box-faq-02 .answer .data-01 b {
  font-size: 2rem;
}

.faq-answer .box-faq-02 .answer .data-01 .icon {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  width: 60px;
  line-height: 1;
  padding: 6px 0 4px 0;
  color: #d62828;
  border: #d62828 2px solid;
  background: #fff;
  border-radius: 10px;
  display: table;
}

.faq-answer .box-faq-02 .answer .answer-txt {
  grid-area: txt;
  padding: 0;
}

.faq-answer .box-faq-02 .answer .answer-txt > *:first-child {
  padding-top: 0;
  margin-top: 0;
}

.faq-answer .box-faq-02 .answer .answer-txt .txt-wrap > *:first-child {
  margin-top: 0;
}

.faq-answer .box-faq-02 .answer .data-02 {
  margin-top: 0;
  grid-area: number;
}

.faq-answer .box-faq-02 .answer .answer-img {
  grid-area: img;
}

.faq-answer .box-faq-02 .answer .answer-img > *:first-child {
  margin-top: 0;
}

.faq-answer .box-faq-02 .answer .answer-img img {
  border-radius: 0;
}

.faq-answer .box-faq-02 .more {
  margin-top: 40px;
}

.faq-answer .box-faq-02 .more .more-title {
  background: #fff;
  margin-top: 0;
  position: relative;
  border: #1b9974 2px solid;
  border-radius: 80px;
  text-align: center;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.faq-answer .box-faq-02 .more .more-title::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 18px 20px;
  border-color: transparent transparent #1b9974 transparent;
  position: absolute;
  left: 79px;
  top: -18px;
}

.faq-answer .box-faq-02 .more .more-title::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 16px 18px;
  border-color: transparent transparent #fff transparent;
  position: absolute;
  left: 79px;
  top: -13px;
}

.faq-answer .box-faq-02 .more .more-title span {
  color: #1b9974;
  font-weight: bold;
  display: inline-block;
  padding: 10px 39px 9px 0;
}

.faq-answer .box-faq-02 .more .more-title.close button span::after {
  border: 0;
  content: "";
  display: block;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  margin-top: -7px;
  right: 7.5px;
  width: 11px;
  height: 11px;
}

.faq-answer .box-faq-02 .more .item {
  padding: 20px;
  position: relative;
  border-radius: 0 0 10px 10px;
  background: #eff7f1;
}

.faq-answer .box-faq-02 .more .item > *:first-child {
  margin-top: 0;
}

.faq-answer .box-faq-02 .more .item::after {
  content: "";
  display: block;
  background: #eff7f1;
  width: 100%;
  height: 25px;
  position: absolute;
  top: -25px;
  left: 0;
  z-index: -1;
}

.faq-answer .box-faq-02 .more button {
  display: block;
  width: 100%;
  text-align: center;
  overflow: hidden;
}

.faq-answer .box-faq-02 .more button span {
  position: relative;
}

.faq-answer .box-faq-02 .more button span::before {
  content: "";
  display: block;
  background: #1b9974;
  width: 26px;
  height: 26px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -13px;
  border-radius: 52px;
}

.faq-answer .box-faq-02 .more button span::after {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  vertical-align: middle;
  margin-top: -3px;
  position: absolute;
  top: 50%;
  right: 7.5px;
}

.faq-answer .box-faq-02 .more button i {
  position: absolute;
  top: -999em;
  right: -999em;
  display: block;
}

.faq-answer .box-faq-02 .more .layout-more {
  display: flex;
  align-items: flex-start;
  gap: 20px;
}

.faq-answer .box-faq-02 .more .layout-more .txt > *:first-child {
  margin-top: 0;
}

.faq-answer .box-faq-02 .more .layout-more .layout-zoom {
  width: 43%;
  flex-shrink: 0;
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .faq-answer .box-faq-02 .hdg-01 {
    font-size: 1.8rem;
    padding-left: 0;
    position: static;
    padding-bottom: 5px;
  }
  .faq-answer .box-faq-02 .hdg-01 .question {
    width: 50px;
    padding: 2px 0 1px 0;
    position: static;
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
  .faq-answer .box-faq-02 .answer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto auto;
    gap: 16px;
    grid-template-areas: "icon number" "txt txt" "img img";
  }
  .faq-answer .box-faq-02 .answer .data-01 .icon {
    padding: 5px 0 3px 0;
    width: 50px;
  }
  .faq-answer .box-faq-02 .answer .answer-inner {
    margin-top: 8px;
  }
  .faq-answer .box-faq-02 .answer .answer-txt {
    padding-left: 0;
  }
  .faq-answer .box-faq-02 .more button span::before {
    width: 21px;
    height: 21px;
    margin-top: -10.5px;
  }
  .faq-answer .box-faq-02 .more button span::after {
    width: 7px;
    height: 7px;
    margin-top: -2.5px;
    right: 7px;
  }
  .faq-answer .box-faq-02 .more .item {
    padding: 20px;
  }
  .faq-answer .box-faq-02 .more .more-title.close button span::after {
    margin-top: -4px;
    right: 7px;
    width: 7px;
    height: 7px;
  }
  .faq-answer .box-faq-02 .more .layout-more {
    display: block;
  }
  .faq-answer .box-faq-02 .more .layout-more .txt {
    width: 100%;
  }
  .faq-answer .box-faq-02 .more .layout-more .layout-zoom {
    width: 100%;
    margin-top: 16px;
  }
}

/*--- carousel-movie ------------------*/
.carousel-movie {
  padding: 0 50px;
}

.carousel-movie .carousel-pager {
  top: 48px;
}

.carousel-movie .carousel-pager button {
  width: 38px;
  height: 38px;
  background-position: center center;
  background-repeat: no-repeat;
}

.carousel-movie .carousel-pager button span {
  width: 38px;
  height: 38px;
}

.carousel-movie .slick-list {
  padding-bottom: 3px;
}

.carousel-movie .slick-track {
  height: 100%;
}

.carousel-movie .list-01 {
  margin: 0 -10px;
}

.carousel-movie .list-01.col4 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.carousel-movie .list-01.col4 li {
  width: 25%;
}

.carousel-movie .list-01 li {
  display: inherit;
  float: none;
  padding: 0 10px;
  height: 100%;
}

.carousel-movie .list-01 li a {
  height: 100%;
  background: #f8f5e6;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  text-align: left;
  display: block;
}

.carousel-movie .list-01 li a .img {
  display: block;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}

.carousel-movie .list-01 li a .img img {
  width: 100%;
  transition: .3s all;
  transform: scale(1, 1);
  border-radius: 10px 10px 0 0;
}

.carousel-movie .list-01 li a .txt {
  display: block;
  font-weight: bold;
  padding: 13px 22px 12px 65px;
  margin-top: 0;
  background: url("/common/images/icon-movie-01.gif") no-repeat 22px 13px;
}

.carousel-movie .list-01 li a:hover .img img, .carousel-movie .list-01 li a:focus .img img {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 478px) {
  .carousel-movie {
    padding: 0;
  }
  .carousel-movie .carousel-pager {
    top: 50%;
    margin-top: -50px;
  }
}

@media all and (-ms-high-contrast: none) {
  .carousel-movie .slick-list {
    display: block;
  }
}

/*--- layout-zoom ------------------*/
.layout-zoom {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-top: 20px;
}

.layout-zoom .img {
  max-width: calc(100% - 64px);
}

@media only screen and (max-width: 868px) {
  .layout-zoom {
    margin-top: 16px;
  }
}

/*--- js-img-zoom ------------------*/
.js-img-zoom .icon-zoom {
  flex-shrink: 0;
  width: auto !important;
}

/*--- js-img-zoom-item ------------------*/
.js-img-zoom-item {
  display: none;
}

/* --------------------------------------
  adjustment
-----------------------------------------*/
/*--- deleat ------------------*/
.del-pc {
  display: none;
}

@media only screen and (max-width: 868px) {
  .del-pc {
    display: block;
  }
}

@media only screen and (max-width: 868px) {
  .del-sp {
    display: none;
  }
}

.del-pc-min {
  display: none;
}

@media only screen and (max-width: 478px) {
  .del-pc-min {
    display: block;
  }
}

@media only screen and (max-width: 478px) {
  .del-sp-min {
    display: none;
  }
}

/*--- width ------------------*/
.w5 {
  width: 5% !important;
}

.w6 {
  width: 6% !important;
}

.w7 {
  width: 7% !important;
}

.w8 {
  width: 8% !important;
}

.w9 {
  width: 9% !important;
}

.w10 {
  width: 10% !important;
}

.w11 {
  width: 11% !important;
}

.w12 {
  width: 12% !important;
}

.w13 {
  width: 13% !important;
}

.w14 {
  width: 14% !important;
}

.w15 {
  width: 15% !important;
}

.w16 {
  width: 16% !important;
}

.w17 {
  width: 17% !important;
}

.w18 {
  width: 18% !important;
}

.w19 {
  width: 19% !important;
}

.w20 {
  width: 20% !important;
}

.w21 {
  width: 21% !important;
}

.w22 {
  width: 22% !important;
}

.w23 {
  width: 23% !important;
}

.w24 {
  width: 24% !important;
}

.w25 {
  width: 25% !important;
}

.w26 {
  width: 26% !important;
}

.w27 {
  width: 27% !important;
}

.w28 {
  width: 28% !important;
}

.w29 {
  width: 29% !important;
}

.w30 {
  width: 30% !important;
}

.w31 {
  width: 31% !important;
}

.w32 {
  width: 32% !important;
}

.w33 {
  width: 33% !important;
}

.w34 {
  width: 34% !important;
}

.w35 {
  width: 35% !important;
}

.w36 {
  width: 36% !important;
}

.w37 {
  width: 37% !important;
}

.w38 {
  width: 38% !important;
}

.w39 {
  width: 39% !important;
}

.w40 {
  width: 40% !important;
}

.w41 {
  width: 41% !important;
}

.w42 {
  width: 42% !important;
}

.w43 {
  width: 43% !important;
}

.w44 {
  width: 44% !important;
}

.w45 {
  width: 45% !important;
}

.w46 {
  width: 46% !important;
}

.w47 {
  width: 47% !important;
}

.w48 {
  width: 48% !important;
}

.w49 {
  width: 49% !important;
}

.w50 {
  width: 50% !important;
}

.w80 {
  width: 80% !important;
  margin-left: auto;
  margin-right: auto;
}

/*--- margin ------------------*/
.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

/*---[sp Only] margin ------------------*/
@media only screen and (max-width: 868px) {
  .sp-mt0 {
    margin-top: 0px !important;
  }
  .sp-mb0 {
    margin-bottom: 0px !important;
  }
  .sp-pt0 {
    padding-top: 0px !important;
  }
  .sp-pb0 {
    padding-bottom: 0px !important;
  }
  .sp-mt10 {
    margin-top: 10px !important;
  }
  .sp-mb10 {
    margin-bottom: 10px !important;
  }
  .sp-pt10 {
    padding-top: 10px !important;
  }
  .sp-pb10 {
    padding-bottom: 10px !important;
  }
  .sp-mt20 {
    margin-top: 20px !important;
  }
  .sp-mb20 {
    margin-bottom: 20px !important;
  }
  .sp-pt20 {
    padding-top: 20px !important;
  }
  .sp-pb20 {
    padding-bottom: 20px !important;
  }
  .sp-mt30 {
    margin-top: 30px !important;
  }
  .sp-mb30 {
    margin-bottom: 30px !important;
  }
  .sp-pt30 {
    padding-top: 30px !important;
  }
  .sp-pb30 {
    padding-bottom: 30px !important;
  }
  .sp-mt40 {
    margin-top: 40px !important;
  }
  .sp-mb40 {
    margin-bottom: 40px !important;
  }
  .sp-pt40 {
    padding-top: 40px !important;
  }
  .sp-pb40 {
    padding-bottom: 40px !important;
  }
  .sp-mt50 {
    margin-top: 50px !important;
  }
  .sp-mb50 {
    margin-bottom: 50px !important;
  }
  .sp-pt50 {
    padding-top: 50px !important;
  }
  .sp-pb50 {
    padding-bottom: 50px !important;
  }
  .sp-mt60 {
    margin-top: 60px !important;
  }
  .sp-mb60 {
    margin-bottom: 60px !important;
  }
  .sp-pt60 {
    padding-top: 60px !important;
  }
  .sp-pb60 {
    padding-bottom: 60px !important;
  }
  .sp-mt70 {
    margin-top: 70px !important;
  }
  .sp-mb70 {
    margin-bottom: 70px !important;
  }
  .sp-pt70 {
    padding-top: 70px !important;
  }
  .sp-pb70 {
    padding-bottom: 70px !important;
  }
  .sp-mt80 {
    margin-top: 80px !important;
  }
  .sp-mb80 {
    margin-bottom: 80px !important;
  }
  .sp-pt80 {
    padding-top: 80px !important;
  }
  .sp-pb80 {
    padding-bottom: 80px !important;
  }
  .sp-mt90 {
    margin-top: 90px !important;
  }
  .sp-mb90 {
    margin-bottom: 90px !important;
  }
  .sp-pt90 {
    padding-top: 90px !important;
  }
  .sp-pb90 {
    padding-bottom: 90px !important;
  }
  .sp-mt100 {
    margin-top: 100px !important;
  }
  .sp-mb100 {
    margin-bottom: 100px !important;
  }
  .sp-pt100 {
    padding-top: 100px !important;
  }
  .sp-pb100 {
    padding-bottom: 100px !important;
  }
}

/*--- padding ------------------*/
.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

.f-bold {
  font-weight: bold !important;
}

/*--- text-align ------------------*/
.t-center {
  text-align: center !important;
}

.t-left {
  text-align: left !important;
}

.t-right {
  text-align: right !important;
}

@media only screen and (max-width: 868px) {
  .sp-t-center {
    text-align: center !important;
  }
  .sp-t-left {
    text-align: left !important;
  }
  .sp-t-right {
    text-align: right !important;
  }
}

/*--- vertical-align ------------------*/
.v-top {
  vertical-align: top !important;
}

.v-top th, .v-top td {
  vertical-align: top !important;
}

.v-middle {
  vertical-align: middle !important;
}

.v-middle th, .v-middle td {
  vertical-align: middle !important;
}

.v-bottom {
  vertical-align: bottom !important;
}

.v-bottom th, .v-bottom td {
  vertical-align: bottom !important;
}

/*--- line-01 ------------------*/
hr.line-01 {
  border-top: #d2cfc6 2px dotted;
  margin: 30px 0;
}

hr.line-02 {
  border-top: #000 1px solid;
  margin: 30px 0;
}

hr.line-03 {
  border-top: #d2cfc6 3px double;
  margin: 20px 0;
}

/*--- font-01 ------------------*/
.font-01 {
  font-family: "Merriweather", serif;
  font-style: italic;
}

/*--- font ------------------*/
.f-large-01 {
  font-size: 1.8rem !important;
}

@media only screen and (max-width: 868px) {
  .f-large-01 {
    font-size: 1.6rem !important;
  }
}

.f-large-02 {
  font-size: 2.2rem !important;
}

@media only screen and (max-width: 868px) {
  .f-large-02 {
    font-size: 2rem !important;
  }
}

.f-large-03 {
  font-size: 2.8rem !important;
}

@media only screen and (max-width: 868px) {
  .f-large-03 {
    font-size: 2.4rem !important;
  }
}

.f-large-04 {
  font-size: 3rem !important;
}

@media only screen and (max-width: 868px) {
  .f-large-04 {
    font-size: 2.8rem !important;
  }
}

.f-large-05 {
  font-size: 3.4rem !important;
}

@media only screen and (max-width: 868px) {
  .f-large-05 {
    font-size: 3.2rem !important;
  }
}

.f-small-01 {
  font-size: 1.4rem !important;
}

.f-small-02 {
  font-size: 1.2rem !important;
}

/* --------------------------------------
  unique
-----------------------------------------*/
/*  brand START -----------------------------------------*/
.main.brand {
  background: url("/brand/images/index-01.jpg") no-repeat center 38px;
  background-size: 100% auto;
}

.main.brand .link-bnr-01 li img {
  max-width: 300px;
}

@media only screen and (max-width: 868px) {
  .main.brand {
    background-position: center 34px;
  }
  .main.brand .link-bnr-01 li img {
    max-width: 100%;
  }
}

.main.brand-special {
  background: url("/brand/images/index-01.jpg") no-repeat center 38px;
  background-size: 100% auto;
}

@media only screen and (max-width: 868px) {
  .main.brand-special {
    background-position: center 34px;
  }
}

/*--- index-03 ------------------*/
.main.brand .index-03 .panel-01 li a .title {
  font-size: 1.8rem;
  background-position: 20px center;
  background-repeat: no-repeat;
  padding-left: 70px;
}

.main.brand .index-03 .panel-01 li a .title.type1 {
  background-image: url(/brand/images/index-05.png);
}

.main.brand .index-03 .panel-01 li a .title.type2 {
  padding-left: 60px;
  background-image: url(/brand/images/index-06.png);
}

.main.brand .index-03 .panel-01 li a .title.type3 {
  background-image: url(/brand/images/index-07.png);
}

@media only screen and (max-width: 868px) {
  .main.brand .index-03 .panel-01 li {
    border-radius: 0;
  }
  .main.brand .index-03 .panel-01 li a {
    border-radius: 0;
  }
  .main.brand .index-03 .panel-01 li a .title {
    font-size: 1.6rem;
    padding: 5px 0 5px 50px;
    margin-top: 5px;
    background-position: 3px center;
  }
  .main.brand .index-03 .panel-01 li a .title.type2 {
    padding-left: 40px;
  }
}

/*--- hdg-01-01 ------------------*/
.main.brand .hdg-01-01 {
  padding-bottom: 50px;
  position: relative;
  overflow: hidden;
}

.main.brand .hdg-01-01 .hdg-inner {
  padding-bottom: 16px;
}

.main.brand .hdg-01-01 .hdg-inner .hdg span {
  background: none;
}

.main.brand .hdg-01-01 .hdg-inner .hdg span::before, .main.brand .hdg-01-01 .hdg-inner .hdg span::after {
  content: none;
}

.main.brand .hdg-01-01 .btn-01 {
  margin-top: 30px;
}

@media only screen and (max-width: 868px) {
  .main.brand .hdg-01-01 {
    padding-bottom: 30px;
  }
  .main.brand .hdg-01-01 .hdg-inner {
    padding-bottom: 0;
  }
  .main.brand .hdg-01-01 .hdg-inner .hdg {
    margin-top: 0;
    padding-top: .917em;
    padding-bottom: 13px;
  }
}

/*--- hdg-02-01 ------------------*/
.main.brand .hdg-02-01 {
  font-size: 2.8rem;
  line-height: 1.17857;
  text-align: center;
  margin-bottom: 30px;
  color: #000;
}

.main.brand .hdg-02-01 span {
  font-weight: bold;
  display: inline-block;
}

@media only screen and (max-width: 868px) {
  .main.brand .hdg-02-01 {
    font-size: 2.2rem;
  }
}

/*--- hdg-02-02 ------------------*/
.main.brand .hdg-02-02 {
  font-size: 2.6rem;
  line-height: 1.15385;
  text-align: center;
  margin-bottom: 25px;
}

.main.brand .hdg-02-02 span {
  font-weight: bold;
  display: inline-block;
  position: relative;
}

.main.brand .hdg-02-02 span::before, .main.brand .hdg-02-02 span::after {
  content: "";
  display: block;
  background: #d62828;
  height: 3px;
  width: 57px;
  border-radius: 10px;
  position: absolute;
  top: 50%;
  margin-top: -1.5px;
}

.main.brand .hdg-02-02 span::before {
  left: -78px;
}

.main.brand .hdg-02-02 span::after {
  right: -78px;
}

@media only screen and (max-width: 868px) {
  .main.brand .hdg-02-02 {
    font-size: 2rem;
    margin-bottom: 20px;
  }
  .main.brand .hdg-02-02 span::before, .main.brand .hdg-02-02 span::after {
    width: 37px;
  }
  .main.brand .hdg-02-02 span::before {
    left: -50px;
  }
  .main.brand .hdg-02-02 span::after {
    right: -50px;
  }
}

/*--- box-carousel-brand ------------------*/
.main.brand .box-carousel-brand {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
}

.main.brand .box-carousel-brand .list-01 {
  width: 100%;
  margin: 0 auto;
}

.main.brand .box-carousel-brand .list-01 li {
  padding: 30px;
}

.main.brand .box-carousel-brand .list-01 li a {
  display: block;
}

.main.brand .box-carousel-brand .list-01 li img {
  margin: 0 auto;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
}

.main.brand .box-carousel-brand .slick-list {
  overflow: visible;
}

.main.brand .box-carousel-brand .slick-dots {
  margin: auto;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.main.brand .box-carousel-brand .slick-dots > li {
  padding: 0 10px !important;
  line-height: 1;
  font-size: 1rem;
}

.main.brand .box-carousel-brand .slick-dots > li button {
  overflow: hidden;
  line-height: 1;
  height: 16px;
  width: 16px;
  background: #f8f5e6;
  border: #999 3px solid;
  color: #f8f5e6;
  border-radius: 40px;
}

.main.brand .box-carousel-brand .slick-dots .slick-active button {
  border-color: #d62828;
  color: #d62828;
  background: #d62828;
}

.main.brand .box-carousel-brand .carousel-pager {
  position: static;
}

.main.brand .box-carousel-brand .carousel-pager .slick-next {
  right: 12px;
  top: 50%;
  margin-top: -15px;
}

.main.brand .box-carousel-brand .carousel-pager .slick-prev {
  left: 12px;
  top: 50%;
  margin-top: -15px;
}

@media only screen and (max-width: 868px) {
  .main.brand .box-carousel-brand .list-01 li {
    padding: 30px 0;
  }
  .main.brand .box-carousel-brand .slick-list {
    border-radius: 10px;
    overflow: hidden;
  }
}

@media only screen and (max-width: 478px) {
  .main.brand .box-carousel-brand {
    padding: 0;
  }
  .main.brand .box-carousel-brand .carousel-pager .slick-next {
    right: 5px;
  }
  .main.brand .box-carousel-brand .carousel-pager .slick-prev {
    left: 5px;
  }
  .main.brand .box-carousel-brand .carousel-pager button span::before {
    width: 13px;
    margin-top: -2px;
  }
  .main.brand .box-carousel-brand .carousel-pager button span::after {
    width: 8px;
    height: 8px;
    margin-top: -5px;
  }
}

/*--- product ------------------*/
.main.brand .product {
  background: url("/common/images/bg-01.jpg");
}

.main.brand .product .content-inner {
  padding-top: 60px;
}

.main.brand .product .hdg-02-01 span {
  background: url("/brand/images/index-03.png") no-repeat left center;
  padding-left: 63px;
  padding: 7px 0 3px 63px;
}

.main.brand .product .box-img-01 {
  margin: 0 -2px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main.brand .product .box-img-01 li {
  padding: 2px;
  border-radius: 10px;
  width: 25%;
}

.main.brand .product .box-img-01 li a {
  display: block;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  overflow: hidden;
}

.main.brand .product .box-img-01 li a img {
  display: block;
  transition: .3s all;
  transform: scale(1, 1);
}

.main.brand .product .box-img-01 li a:hover img, .main.brand .product .box-img-01 li a:focus img {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 868px) {
  .main.brand .product .content-inner {
    padding-top: 40px;
  }
  .main.brand .product .hdg-02-01 {
    margin-bottom: 0;
  }
  .main.brand .product .hdg-02-01 span {
    background-size: auto 32px;
    padding-left: 52px;
  }
  .main.brand .product .box-img-01 li {
    width: 50%;
  }
  .main.brand .product .box-img-01 li img {
    width: 100%;
  }
  .main.brand .product .box-img-01 .large01, .main.brand .product .box-img-01 .large02, .main.brand .product .box-img-01 .large03, .main.brand .product .box-img-01 .large04, .main.brand .product .box-img-01 .large05 {
    width: 100%;
  }
}

/*--- feature ------------------*/
.main.brand .feature {
  background: url("/brand/images/index-02.gif");
}

.main.brand .feature .hdg-02-01 span {
  background: url("/brand/images/index-04.png") no-repeat left center;
  padding: 7px 0 3px 52px;
}

@media only screen and (max-width: 868px) {
  .main.brand .feature .content-inner {
    padding-top: 35px;
  }
  .main.brand .feature .hdg-02-01 {
    margin-bottom: 0;
  }
}

/*--- link-brand-01 ------------------*/
.main.brand .link-brand-01 {
  border-top: #d7d4cc 2px dotted;
}

.main.brand .link-brand-01 li {
  border-bottom: #d7d4cc 2px dotted;
  font-size: 2.2rem;
  line-height: 1.27273;
}

.main.brand .link-brand-01 li a {
  text-decoration: none;
  display: block;
  color: #000;
  position: relative;
  transition: .3s all;
  padding-right: 20px;
}

.main.brand .link-brand-01 li a::before, .main.brand .link-brand-01 li a::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: right .2s ease-in-out;
}

.main.brand .link-brand-01 li a::before {
  background: #fff;
  height: 2px;
  width: 13px;
  right: 25px;
  margin-top: -1px;
}

.main.brand .link-brand-01 li a::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  right: 26px;
}

.main.brand .link-brand-01 li a span {
  display: block;
  position: relative;
  font-weight: bold;
  padding: 18px 34px 14px 50px;
}

.main.brand .link-brand-01 li a span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  right: 0;
}

.main.brand .link-brand-01 li a:hover, .main.brand .link-brand-01 li a:focus {
  color: #1b9974;
}

.main.brand .link-brand-01 li a:hover::before, .main.brand .link-brand-01 li a:focus::before {
  right: 23px;
}

.main.brand .link-brand-01 li a:hover::after, .main.brand .link-brand-01 li a:focus::after {
  right: 24px;
}

.main.brand .link-brand-01 .cm a span {
  background: url("/brand/images/index-05.png") no-repeat left center;
}

.main.brand .link-brand-01 .graphic a span {
  background: url("/brand/images/index-06.png") no-repeat left center;
}

.main.brand .link-brand-01 .program a span {
  background: url("/brand/images/index-07.png") no-repeat left center;
}

@media only screen and (max-width: 868px) {
  .main.brand .link-brand-01 li {
    font-size: 1.6rem;
  }
  .main.brand .link-brand-01 li a {
    padding: 0 20px;
  }
  .main.brand .link-brand-01 li a span {
    padding-left: 40px;
  }
  .main.brand .link-brand-01 .cm a span,
  .main.brand .link-brand-01 .graphic a span,
  .main.brand .link-brand-01 .program a span {
    background-size: 32px auto;
  }
}

/*  brand END -----------------------------------------*/
/*  brand-event START -----------------------------------------*/
/*--- box-event-01 ------------------*/
.box-event-01 {
  border-bottom: #d2cfc6 2px dotted;
}

.box-event-01 > .item {
  border-top: #d2cfc6 2px dotted;
  padding: 40px 0;
}

.box-event-01 > .item > .layout-01.left .txt {
  padding-bottom: 4px;
}

.box-event-01 > .item > .layout-01.left .img a {
  display: block;
  transition: .2s all;
}

.box-event-01 > .item > .layout-01.left .img a:hover, .box-event-01 > .item > .layout-01.left .img a:focus {
  opacity: .8;
}

.box-event-01 > .item > .layout-01.left .img a img {
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.box-event-01 > .item .event-hdg {
  color: #1b9974;
  font-weight: bold;
  font-size: 2.4rem;
}

.box-event-01 > .item .event-hdg > [class^="icon"] {
  font-size: 1.6rem;
  color: #fff;
  background: #000;
  border-radius: 5px;
  display: inline-block;
  margin-right: 20px;
  vertical-align: middle;
  width: 150px;
  padding-top: 2px;
}

.box-event-01 > .item .event-hdg > .icon1 {
  padding-left: 39px;
  background: #d62828 url("/common/images/icon-event-01.gif") no-repeat 17px center;
}

.box-event-01 > .item .event-hdg > .icon2 {
  padding-left: 56px;
  background: #1b9974 url("/common/images/icon-event-02.gif") no-repeat 35px center;
}

.box-event-01 .table-02 tbody tr th {
  width: 20%;
}

@media only screen and (max-width: 974px) {
  .box-event-01 .txt .btn-01 a {
    min-width: 300px;
  }
}

@media only screen and (max-width: 868px) {
  .box-event-01 .txt .btn-01 a {
    min-width: auto;
  }
  .box-event-01 > .item .event-hdg {
    font-size: 2rem;
  }
  .box-event-01 > .item .event-hdg > [class^="icon"] {
    display: block;
    font-size: 1.4rem;
    width: 120px;
    margin-bottom: 5px;
  }
  .box-event-01 > .item .event-hdg > .icon1 {
    padding-left: 29px;
    background: #d62828 url("/common/images/icon-event-01.gif") no-repeat 10px center;
  }
  .box-event-01 > .item .event-hdg > .icon2 {
    padding-left: 41px;
    background: #1b9974 url("/common/images/icon-event-02.gif") no-repeat 25px center;
  }
}

/*  brand-event END -----------------------------------------*/
/*  syncsearch START -----------------------------------------*/
.main#site-search .box-search-01 {
  margin-top: 0;
}

.main#site-search .box-search-01 .search-input-01 {
  height: 40px;
}

.main#site-search .box-search-01 .search-btn-01 {
  padding: 0 23px;
}

.main#site-search .box-search-01 .search-btn-01 span {
  padding-top: 8px;
  padding-bottom: 8px;
  background: url("/common/images/icon-search-03.png") no-repeat right center;
  padding-right: 28px;
}

@media only screen and (max-width: 868px) {
  .main#site-search .box-search-01 .search-btn-01 {
    padding: 0 15px;
    height: 40px;
  }
  .main#site-search .box-search-01 .search-btn-01 span {
    background: none;
    padding-right: 0;
    padding-top: 4px;
    padding-bottom: 4px;
  }
}

.main#site-search .box-search-nav {
  margin-top: 20px;
}

.main#site-search .box-search-nav .list-nav li {
  display: inline-block;
  padding-right: 30px;
}

.main#site-search .box-search-nav .list-nav li input {
  margin-right: 9px;
  vertical-align: middle;
}

@media only screen and (max-width: 868px) {
  .main#site-search .box-search-nav .hide + .nav-inner {
    display: none;
  }
  .main#site-search .box-search-nav .local-btn {
    border: #d2cfc6 2px solid;
    box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
    width: 100%;
    border-radius: 10px;
    padding: 5px 14px 5px 18px;
    color: #000;
    text-align: left;
    position: relative;
    overflow: hidden;
  }
  .main#site-search .box-search-nav .local-btn::before {
    content: "";
    display: block;
    background: #1b9974;
    width: 21px;
    height: 21px;
    position: absolute;
    top: 50%;
    right: 20px;
    margin-top: -10.5px;
    border-radius: 52px;
  }
  .main#site-search .box-search-nav .local-btn::after {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    will-change: transform;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    vertical-align: middle;
    margin-top: -2px;
    position: absolute;
    top: 50%;
    right: 26px;
  }
  .main#site-search .box-search-nav .local-btn i {
    position: absolute;
    top: -999em;
    right: -999em;
  }
  .main#site-search .box-search-nav .local-btn.hide::after {
    border: 0;
    border-bottom: solid 2px #fff;
    border-left: solid 2px #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    margin-top: -5px;
    right: 26.5px;
  }
  .main#site-search .box-search-nav .nav-inner {
    padding: 0 20px;
  }
  .main#site-search .box-search-nav .nav-inner .list-nav {
    margin-top: 10px;
  }
  .main#site-search .box-search-nav .nav-inner .list-nav li {
    margin-top: 10px;
  }
  .main#site-search .box-search-nav .nav-inner .list-nav + .list-nav {
    margin-top: 15px;
  }
}

.main#site-search .box-search-result {
  background: #e8e7e2;
  border-radius: 10px;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  padding: 7px 20px 6px 20px;
  margin-top: 20px;
}

.main#site-search .box-search-result .result {
  margin-top: 0;
}

.main#site-search .box-search-result .result span {
  padding: 0 3px;
}

.main#site-search .box-search-result .result span:first-child {
  padding-left: 0;
}

.main#site-search .box-search-result .result-sort {
  margin: 0 -10px;
  position: relative;
  padding-left: 10px;
}

.main#site-search .box-search-result .result-sort::before {
  content: "";
  display: block;
  background: #d2cfc6;
  width: 1px;
  height: 16px;
  position: absolute;
  top: 50%;
  margin-top: -8px;
  left: 0;
}

.main#site-search .box-search-result .result-sort li {
  padding: 0 10px;
}

@media only screen and (max-width: 868px) {
  .main#site-search .box-search-result {
    display: block;
    padding: 0 20px;
  }
  .main#site-search .box-search-result .result {
    padding: 10px 0 9px 0;
  }
  .main#site-search .box-search-result .result-sort {
    border-top: #d2cfc6 1px solid;
    position: static;
    padding: 10px 0;
    margin: 0;
  }
  .main#site-search .box-search-result .result-sort::before {
    content: none;
  }
}

.main#site-search .box-search-item {
  margin-top: 40px;
  border-bottom: #d2cfc6 2px dotted;
  padding-bottom: 30px;
}

.main#site-search .box-search-item > a {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  color: #000;
  text-decoration: none;
}

.main#site-search .box-search-item > a .item-txt {
  -webkit-order: 2;
  order: 2;
  padding-left: 30px;
}

.main#site-search .box-search-item > a .item-txt .title {
  margin-top: 0;
  color: #1b9974;
  font-size: 2rem;
}

.main#site-search .box-search-item > a .item-txt .title .icon-pdf {
  display: inline-block;
  border: #1b9974 2px solid;
  border-radius: 10px;
  color: #1b9974;
  font-size: 1.4rem;
  font-weight: bold;
  vertical-align: middle;
  padding: 0 14px;
  margin-right: 11px;
}

.main#site-search .box-search-item > a .item-txt .url small {
  color: #999;
}

.main#site-search .box-search-item > a .item-img {
  -webkit-order: 1;
  order: 1;
  margin-top: 0;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
  overflow: hidden;
  border: #f1f1ee 1px solid;
  max-width: 205px;
  width: 100%;
}

.main#site-search .box-search-item > a .item-img img {
  transition: .3s all;
  border-radius: 10px;
  max-width: 205px;
  width: 100%;
  display: table;
  transform: scale(1, 1);
}

.main#site-search .box-search-item > a:hover, .main#site-search .box-search-item > a:focus {
  color: #1b9974;
}

.main#site-search .box-search-item > a:hover .item-img img, .main#site-search .box-search-item > a:focus .item-img img {
  transform: scale(1.1, 1.1);
}

.main#site-search .box-search-item + .box-search-item {
  margin-top: 30px;
}

@media only screen and (max-width: 868px) {
  .main#site-search .box-search-item {
    margin-top: 30px;
    display: block;
    padding-bottom: 20px;
  }
  .main#site-search .box-search-item > a .item-txt {
    padding: 0;
  }
  .main#site-search .box-search-item > a .item-txt .title {
    font-size: 1.6rem;
  }
  .main#site-search .box-search-item > a .item-txt p {
    margin-top: 10px;
  }
  .main#site-search .box-search-item > a .item-txt .url {
    margin-top: 5px;
  }
  .main#site-search .box-search-item > a .item-img {
    display: none;
  }
  .main#site-search .box-search-item + .box-search-item {
    margin-top: 20px;
  }
}

.main#site-search .box-nav-01 {
  text-align: center;
  padding-left: 40px;
  padding-right: 40px;
}

.main#site-search .box-nav-01 .index-06 {
  margin-top: 20px;
}

.main#site-search .box-nav-01 .index-06 li a .img {
  width: 100%;
  background: #fff;
  padding: 20px;
}

.main#site-search .box-nav-01 .index-06 li a .img img {
  border: none;
  border-radius: 0;
  max-height: 25vh;
  width: auto;
}

.main#site-search .box-nav-01 .index-06 li a > .txt {
  margin-top: 5px;
}

.main#site-search .box-nav-01 .index-06 li + li {
  margin-top: 15px;
}

@media only screen and (max-width: 868px) {
  .main#site-search .box-nav-01 {
    padding-left: 20px;
    padding-right: 20px;
  }
  .main#site-search .box-nav-01 .index-06 {
    display: -webkit-flex;
    display: flex;
    margin: 0 -10px;
  }
  .main#site-search .box-nav-01 .index-06 li {
    padding: 0 10px;
    width: 50%;
    margin-top: 20px;
  }
  .main#site-search .box-nav-01 .index-06 li + li {
    margin-top: 20px;
  }
}

.main#site-search .txt-search-01 {
  font-size: 1.4rem;
}

@media only screen and (max-width: 868px) {
  .main#site-search .txt-search-01 {
    font-size: 1.2rem;
  }
}

/*  syncsearch END -----------------------------------------*/
/*  faq START -----------------------------------------*/
/*--- hdg ------------------*/
.main.faq {
  background: url("/customer/images/index-01.jpg") no-repeat center 38px;
  background-size: 100% auto;
}

@media only screen and (max-width: 868px) {
  .main.faq {
    background-position: center 34px;
  }
}

.main.faq .hdg-01-01 {
  padding-bottom: 30px;
  min-height: 250px;
}

.main.faq .hdg-01-01 .hdg > span::before, .main.faq .hdg-01-01 .hdg > span::after {
  content: none;
}

@media only screen and (max-width: 868px) {
  .main.faq .hdg-01-01 {
    min-height: auto;
  }
  .main.faq .hdg-01-01 .hdg {
    padding-top: 18px;
    margin-top: 0;
  }
}

.main.faq .hdg-02-01 {
  color: #000;
}

.main.faq .hdg-link-01 a {
  color: #000;
}

.main.faq .column.col2 .col {
  flex-direction: column;
}

.main.faq .column.col2 .box-customer-01 {
  display: block;
  height: auto;
}

.main.faq .column.col2 .box-customer-01 .btn-01 {
  margin-top: 30px;
}

@media only screen and (max-width: 1109px) {
  .main.faq .column.col2 .box-customer-01 .btn-01 a,
  .main.faq .column.col2 .box-customer-01 .btn-target-01 a {
    min-width: auto;
    width: 100%;
  }
}

@media only screen and (max-width: 868px) {
  .main.faq .column.col2 .box-customer-01 .btn-01 a span {
    padding: 0 27px 0 0;
  }
}

.main.faq .box-search-01 {
  margin-top: 10px;
  background: #fff;
  border-radius: 10px;
  padding: 20px 30px;
}

@media only screen and (max-width: 1109px) {
  .main.faq .box-search-01 .search-input-01 {
    width: 330px;
  }
}

@media only screen and (max-width: 868px) {
  .main.faq .box-search-01 {
    padding: 20px 20px 30px 20px;
  }
  .main.faq .box-search-01 .search-input-01 {
    width: 100%;
  }
  .main.faq .box-search-01 .faq-search {
    margin-top: 10px;
    position: relative;
    padding-right: 70px;
  }
}

/*--- list-news-faq ------------------*/
.main.faq .content-inner {
  padding-top: 15px;
}

.main.faq .list-news-faq {
  -webkit-justify-content: center;
  justify-content: center;
  margin-top: 20px;
}

.main.faq .list-news-faq .news-hdg-01 {
  font-size: 2.6rem;
  font-weight: bold;
  white-space: nowrap;
  padding-right: 58px;
  border-right: #d2cfc6 1px solid;
  border-bottom: 0;
}

.main.faq .list-news-faq .news-item-01 {
  padding-left: 40px;
}

.main.faq .list-news-faq .news-item-01 li + li {
  margin-top: 9px;
}

.main.faq .list-news-faq .news-item-01 li .data {
  display: block;
  color: #888;
  position: absolute;
  left: 0;
  top: 0;
}

.main.faq .list-news-faq .news-item-01 li .link {
  position: relative;
  padding-left: 112px;
  display: block;
}

.main.faq .list-news-faq .news-item-01 li a {
  padding-left: 112px;
  position: relative;
  display: block;
  text-decoration: none;
  color: #000;
}

.main.faq .list-news-faq .news-item-01 li a:hover, .main.faq .list-news-faq .news-item-01 li a:focus {
  color: #1b9974;
}

@media only screen and (max-width: 868px) {
  .main.faq .list-news-faq {
    display: block;
    margin-top: 13px;
  }
  .main.faq .list-news-faq .news-hdg-01 {
    font-size: 2rem;
    white-space: normal;
    padding-right: 0;
    border-right: 0;
    border-bottom: #d2cfc6 1px solid;
  }
  .main.faq .list-news-faq .news-item-01 {
    margin-top: 5px;
    padding: 0;
  }
  .main.faq .list-news-faq .news-item-01 li .data {
    position: static;
  }
  .main.faq .list-news-faq .news-item-01 li a, .main.faq .list-news-faq .news-item-01 li .link {
    position: static;
    padding: 0;
  }
}

/*--- content ------------------*/
.main.faq .content.search.type1 {
  background: #f9f8f1;
}

.main.faq .content.search.type2 {
  background: #f9f8f1 url("/customer/images/index-02.jpg") no-repeat bottom center;
  background-size: cover;
}

.main.faq-list.free .content.search.type1 {
  background: #f9f8f1;
  margin-top: 28px;
}

.main.faq-list.free .content.search .content-inner {
  padding-top: 40px;
  padding-bottom: 40px;
}

.main.faq-list.free .content.search .box-search-01 {
  background: #fff;
  border-radius: 10px;
  padding: 23px 30px;
}

@media only screen and (max-width: 868px) {
  .main.faq-list.free .content.search .content-inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .main.faq-list.free .content.search .box-search-01 {
    padding: 20px 20px 30px 20px;
  }
  .main.faq-list.free .content.search .box-search-01 .search-input-01 {
    width: 100%;
  }
  .main.faq-list.free .content.search .box-search-01 .faq-search {
    margin-top: 10px;
    position: relative;
    padding-right: 70px;
  }
}

/*--- faq-hdg ------------------*/
.main.faq .news-hdg-01 {
  font-size: 2.4rem;
  font-weight: bold;
  margin-top: 30px;
  border-bottom: #d2cfc6 2px solid;
}

.main.faq .news-hdg-01 + * {
  margin-top: 20px;
}

.main.faq .faq-hdg-01 {
  font-size: 3.2rem;
  font-weight: bold;
  color: #1b9974;
  text-align: center;
}

.main.faq .faq-hdg-01 + * {
  margin-top: 20px;
}

@media only screen and (max-width: 868px) {
  .main.faq .faq-hdg-01 {
    font-size: 2.2rem;
  }
}

/*--- faq-hdg ------------------*/
.main.faq .faq-box-01 .faq-box-hdg,
.main.faq-list.free .faq-box-01 .faq-box-hdg {
  min-width: 152px;
  min-height: 125px;
  width: 152px;
  height: 125px;
  border-top: #1b9974 2px solid;
  border-bottom: #1b9974 2px solid;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.main.faq .faq-box-01 .faq-box-hdg .hdg,
.main.faq-list.free .faq-box-01 .faq-box-hdg .hdg {
  text-align: center;
  font-size: 1.8rem;
}

.main.faq .faq-box-01 .faq-box-hdg .hdg b,
.main.faq-list.free .faq-box-01 .faq-box-hdg .hdg b {
  font-size: 3.2rem;
  line-height: 1;
  display: block;
  color: #1b9974;
}

.main.faq .faq-box-01 .index-08,
.main.faq-list.free .faq-box-01 .index-08 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-left: 166px;
  margin: 0 -5px;
  position: relative;
}

.main.faq .faq-box-01 .index-08 .title,
.main.faq-list.free .faq-box-01 .index-08 .title {
  position: absolute;
  top: 0;
  left: 5px;
  padding: 0;
}

.main.faq .faq-box-01 .index-08.no-title,
.main.faq-list.free .faq-box-01 .index-08.no-title {
  padding-left: 0 !important;
}

.main.faq .faq-box-01 .index-08.no-title li:nth-child(n + 7),
.main.faq-list.free .faq-box-01 .index-08.no-title li:nth-child(n + 7) {
  margin-top: 10px;
}

.main.faq .faq-box-01 .index-08 li,
.main.faq-list.free .faq-box-01 .index-08 li {
  width: 16.66667%;
  padding: 0 5px;
}

.main.faq .faq-box-01 .index-08 li:nth-child(n + 8),
.main.faq-list.free .faq-box-01 .index-08 li:nth-child(n + 8) {
  margin-top: 10px;
}

.main.faq .faq-box-01 .index-08 li a,
.main.faq-list.free .faq-box-01 .index-08 li a {
  text-decoration: none;
  position: relative;
  display: block;
}

.main.faq .faq-box-01 .index-08 li a .img,
.main.faq-list.free .faq-box-01 .index-08 li a .img {
  border-radius: 10px;
  border: #e6ebe4 1px solid;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  display: block;
}

.main.faq .faq-box-01 .index-08 li a .img img,
.main.faq-list.free .faq-box-01 .index-08 li a .img img {
  border-radius: 10px;
}

@media only screen and (max-width: 1109px) {
  .main.faq .faq-box-01 .index-08 li,
  .main.faq-list.free .faq-box-01 .index-08 li {
    width: 25%;
  }
  .main.faq .faq-box-01 .index-08 li:nth-child(n + 6),
  .main.faq-list.free .faq-box-01 .index-08 li:nth-child(n + 6) {
    margin-top: 10px;
  }
  .main.faq .faq-box-01 .index-08 li .img img,
  .main.faq-list.free .faq-box-01 .index-08 li .img img {
    width: 100%;
  }
}

@media only screen and (max-width: 868px) {
  .main.faq .faq-box-01 .faq-box-hdg,
  .main.faq-list.free .faq-box-01 .faq-box-hdg {
    margin-right: 0;
    min-width: auto;
    min-height: auto;
    width: 100%;
    height: 100%;
  }
  .main.faq .faq-box-01 .faq-box-hdg .hdg,
  .main.faq-list.free .faq-box-01 .faq-box-hdg .hdg {
    font-size: 1.4rem;
  }
  .main.faq .faq-box-01 .faq-box-hdg .hdg b,
  .main.faq-list.free .faq-box-01 .faq-box-hdg .hdg b {
    font-size: 2.8rem;
  }
  .main.faq .faq-box-01 .index-08,
  .main.faq-list.free .faq-box-01 .index-08 {
    position: static;
    padding-left: 0;
  }
  .main.faq .faq-box-01 .index-08 .title,
  .main.faq-list.free .faq-box-01 .index-08 .title {
    position: static;
  }
  .main.faq .faq-box-01 .index-08 li,
  .main.faq-list.free .faq-box-01 .index-08 li {
    width: 50%;
  }
  .main.faq .faq-box-01 .index-08 li:nth-child(n + 3),
  .main.faq-list.free .faq-box-01 .index-08 li:nth-child(n + 3) {
    margin-top: 10px;
  }
}

.main.faq .faq-box-02,
.main.faq-list.free .faq-box-02 {
  -webkit-align-items: center;
  align-items: center;
  margin-top: 25px;
  max-width: 630px;
}

.main.faq .faq-box-02 .link-list-01,
.main.faq-list.free .faq-box-02 .link-list-01 {
  margin-top: 0;
  flex: 1;
}

.main.faq .faq-box-02 .btn-02,
.main.faq-list.free .faq-box-02 .btn-02 {
  margin-top: 0;
  max-width: 210px;
  width: 100%;
}

@media only screen and (max-width: 868px) {
  .main.faq .faq-box-02,
  .main.faq-list.free .faq-box-02 {
    display: block;
    max-width: 100%;
  }
  .main.faq .faq-box-02 .btn-02,
  .main.faq-list.free .faq-box-02 .btn-02 {
    max-width: 100%;
  }
}

.main.faq-list.free .faq-box-01 .index-08 li a .img img {
  width: 100%;
}

/*  faq END -----------------------------------------*/
/*  info START -----------------------------------------*/
#info .box-select-01.select-info .form-search {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

#info .box-select-01.select-info .btn-submit-01 {
  background: #1b9974;
}

@media only screen and (max-width: 868px) {
  #info .link-anchor-01 {
    display: none;
  }
}

/*  info END -----------------------------------------*/
/*  jiten START -----------------------------------------*/
.main#jiten #box-detail-02 {
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

.main#jiten #box-detail-02 .detail-img {
  width: 475px;
  padding-right: 0;
}

.main#jiten #box-detail-02 .detail-img li > .img img {
  width: 400px;
  min-width: 400px;
}

.main#jiten #box-detail-02 .detail-content {
  width: 61.45%;
}

.main#jiten .box-carousel-detail .list-01 .slick-list {
  -webkit-order: 2;
  order: 2;
}

.main#jiten .box-carousel-detail .list-01 .slick-dots {
  margin-top: 0;
  padding-right: 10px;
}

.main#jiten .box-carousel-detail .list-01 .slick-dots li + li {
  margin-top: 10px;
}

@media only screen and (max-width: 868px) {
  .main#jiten #box-detail-02 .detail-img,
  .main#jiten #box-detail-modal .detail-img {
    width: 100%;
  }
  .main#jiten #box-detail-02 .detail-img li > .img img,
  .main#jiten #box-detail-modal .detail-img li > .img img {
    width: 100%;
    min-width: auto;
  }
  .main#jiten #box-detail-02 .detail-content,
  .main#jiten #box-detail-modal .detail-content {
    width: 100%;
  }
  .main#jiten .box-carousel-detail .list-01 {
    display: block;
  }
  .main#jiten .box-carousel-detail .list-01 .slick-dots {
    margin-top: 10px;
    padding-right: 0;
  }
  .main#jiten .box-carousel-detail .list-01 .slick-dots li + li {
    margin-top: 0;
  }
}

.main#jiten .hdg-02-01.type1, .main#jiten .hdg-02-01.type2, .main#jiten .hdg-02-01.type3 {
  padding-right: 40px;
  display: table;
}

.main#jiten .hdg-02-01.type1 {
  background: url("/sbsoken/jiten/search/images/detail-01.gif") no-repeat right center;
}

.main#jiten .hdg-02-01.type2 {
  background: url("/sbsoken/jiten/search/images/detail-02.gif") no-repeat right center;
}

.main#jiten .hdg-02-01.type3 {
  background: url("/sbsoken/jiten/search/images/detail-03.gif") no-repeat right center;
}

@media only screen and (max-width: 868px) {
  .main#jiten .hdg-02-01.type1, .main#jiten .hdg-02-01.type2, .main#jiten .hdg-02-01.type3 {
    padding-top: 2px;
    padding-bottom: 2px;
    padding-right: 35px;
    background-size: auto 30px;
  }
}

/*--- box-jiten-01 ------------------*/
.box-jiten-01 {
  margin-bottom: 60px;
}

.box-jiten-01 .jiten-img {
  float: left;
}

.box-jiten-01 .jiten-img .photo-01 {
  margin-top: 0;
  border-radius: 10px;
}

.box-jiten-01 .jiten-img .photo-01 img {
  border-radius: 10px;
  border: #d2cfc6 1px solid;
  max-width: 405px;
  width: 100%;
}

.box-jiten-01 .jiten-img .photo-02 {
  padding: 0 20px;
}

.box-jiten-01 .jiten-img .photo-02 li {
  border-radius: 10px;
}

.box-jiten-01 .jiten-img .photo-02 li img {
  border: #d2cfc6 1px solid;
  border-radius: 10px;
  max-width: 195px;
  width: 100%;
}

.box-jiten-01 .jiten-img .photo-02 li + li {
  margin-top: 19px;
}

.box-jiten-01 .jiten-img + .jiten-txt {
  padding-left: 20px;
}

.box-jiten-01 .jiten-lead-01 {
  font-size: 1.8rem;
}

.box-jiten-01 .jiten-txt {
  overflow: hidden;
}

.box-jiten-01 .jiten-txt > *:first-child {
  margin-top: 0;
}

@media only screen and (max-width: 1109px) {
  .box-jiten-01 .jiten-img {
    width: 40%;
  }
}

@media only screen and (max-width: 478px) {
  .box-jiten-01 {
    margin-bottom: 40px;
  }
  .box-jiten-01 .jiten-img {
    width: 100%;
    float: none;
    display: block;
  }
  .box-jiten-01 .jiten-img .photo-01 {
    text-align: center;
  }
  .box-jiten-01 .jiten-img .photo-01 img {
    display: inline-block;
    max-width: 100%;
    width: auto;
  }
  .box-jiten-01 .jiten-img .photo-02 {
    -webkit-display: flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    padding: 0;
    margin: 0 -5px;
  }
  .box-jiten-01 .jiten-img .photo-02 li {
    margin-top: 10px;
    padding: 0 5px;
  }
  .box-jiten-01 .jiten-img .photo-02 li + li {
    margin-top: 10px;
  }
  .box-jiten-01 .jiten-img .photo-02 li img {
    width: auto;
    max-width: 100%;
  }
  .box-jiten-01 .jiten-img + .jiten-txt {
    padding-left: 0;
  }
  .box-jiten-01 .jiten-txt {
    margin-top: 20px;
  }
}

/*  jiten END -----------------------------------------*/
/*  info START -----------------------------------------*/
#news .box-select-01.select-news01 .form-search,
#news .box-select-01.select-news02 .form-search {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

#news .box-select-01.select-news01 .btn-submit-01,
#news .box-select-01.select-news02 .btn-submit-01 {
  background: #1b9974;
}

#news .box-select-01.select-news01 .form-list,
#news .box-select-01.select-news02 .form-list {
  -webkit-align-items: flex-start;
  align-items: flex-start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -20px;
}

#news .box-select-01.select-news01 .form-list > li,
#news .box-select-01.select-news02 .form-list > li {
  margin-bottom: 20px;
  margin-right: 20px;
}

#news .box-select-01.select-news01 .form-list > li:nth-last-child(2),
#news .box-select-01.select-news02 .form-list > li:nth-last-child(2) {
  margin-right: 40px;
}

#news .box-select-01.select-news01 .form-list > li .form-search-01 input[type="text"],
#news .box-select-01.select-news02 .form-list > li .form-search-01 input[type="text"] {
  border-radius: 100px;
  border: #d62828 2px solid;
  height: 40px;
  padding: 0 20px;
  width: 30vw;
  max-width: 260px;
}

#news .box-select-01.select-news01 .form-list > li .form-search-01 button,
#news .box-select-01.select-news02 .form-list > li .form-search-01 button {
  background: #d62828;
  border-radius: 100px;
  color: #fff;
  padding: 8px 14px;
  height: 40px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

@media only screen and (max-width: 868px) {
  #news .box-select-01.select-news01 + .box-select-01,
  #news .box-select-01.select-news02 + .box-select-01 {
    margin-top: 30px;
  }
  #news .box-select-01.select-news01 .form-list,
  #news .box-select-01.select-news02 .form-list {
    margin: 0 0 -20px 0;
  }
  #news .box-select-01.select-news01 .form-list > li,
  #news .box-select-01.select-news02 .form-list > li {
    display: block;
    margin-right: 0;
  }
  #news .box-select-01.select-news01 .form-list > li + li,
  #news .box-select-01.select-news02 .form-list > li + li {
    padding-right: 110px;
  }
  #news .box-select-01.select-news01 .form-list > li + li .btn-submit-01,
  #news .box-select-01.select-news02 .form-list > li + li .btn-submit-01 {
    max-width: 100px;
  }
  #news .box-select-01.select-news01 .form-list > li:nth-last-child(2),
  #news .box-select-01.select-news02 .form-list > li:nth-last-child(2) {
    margin-right: 0;
  }
  #news .box-select-01.select-news01 .form-list > li .form-search-01 input[type="text"],
  #news .box-select-01.select-news02 .form-list > li .form-search-01 input[type="text"] {
    max-width: none;
    width: 100%;
    font-size: 1.4rem;
  }
  #news .box-select-01.select-news01 .form-list > li .form-search-01 button,
  #news .box-select-01.select-news02 .form-list > li .form-search-01 button {
    position: absolute;
    right: 0;
    top: 0;
    width: 100px;
  }
}

@media only screen and (max-width: 868px) {
  #news .link-anchor-01 {
    display: none;
  }
}

#news .link-01 {
  margin-left: 192px;
}

@media only screen and (max-width: 868px) {
  #news .link-01 {
    margin-left: 110px;
  }
}

#news .box-select-01.select-news01 .form-list > li .form-search-01 button {
  padding: 0 15px;
}

#news .box-select-01.select-news01 .form-list > li .form-search-01 button span {
  background-image: url("/common/images/icon-search-03.png");
  background-repeat: no-repeat;
  background-position: right center;
  padding: 9px 28px 9px 0;
}

@media only screen and (max-width: 868px) {
  #news .box-select-01.select-news01 .form-list > li .form-search-01 button {
    max-height: 38px;
  }
  #news .box-select-01.select-news01 .form-list > li .form-search-01 button span {
    background-image: none;
    padding: 0;
  }
}

/*--- js-news-toggle ------------------*/
#page.company #news .js-news-toggle .hdg-01 {
  display: none;
}

@media only screen and (max-width: 868px) {
  #page.company #news .js-news-toggle .hdg-01 {
    display: block;
    margin: 0 -20px;
  }
  #page.company #news .js-news-toggle .hdg-01 button {
    padding: 13px 20px 12px 20px;
    background: #e3e0db;
    font-size: 1.6rem;
    width: 100%;
    display: block;
    position: relative;
    overflow: hidden;
    text-align: left;
    color: #000;
    cursor: pointer;
  }
  #page.company #news .js-news-toggle .hdg-01 button::before {
    content: "";
    display: block;
    background: #1b9974;
    position: absolute;
    width: 22px;
    height: 22px;
    border-radius: 50px;
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -11px;
  }
  #page.company #news .js-news-toggle .hdg-01 button::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-bottom: solid 2px #e3e0db;
    border-right: solid 2px #e3e0db;
    will-change: transform;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg);
    vertical-align: middle;
    position: absolute;
    top: 50%;
    right: 28px;
    margin-top: -2px;
  }
  #page.company #news .js-news-toggle .hdg-01 button i {
    position: absolute;
    right: -999em;
  }
  #page.company #news .js-news-toggle .hdg-01.close button::after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    margin-top: -3.5px;
  }
  #page.company #news .js-news-toggle .form-list {
    margin-bottom: 0;
  }
  #page.company #news .js-news-toggle .form-list > li.type-01 {
    padding-right: 70px;
    margin-top: 30px;
  }
  #page.company #news .js-news-toggle .form-list > li.type-01 .form-search-01 button {
    width: 61px;
  }
  #page.company #news .js-news-toggle .form-list > li:not(.type-01) {
    display: block;
    padding: 0;
    margin-top: 30px;
  }
  #page.company #news .js-news-toggle .form-list > li:not(.type-01) .btn-submit-01 {
    position: static;
    margin-top: 10px;
    max-width: 100%;
  }
}

/*--- link-news-01 ------------------*/
#page.company #news .link-news-01 {
  border-top: #d2cfc6 dotted 1px;
}

#page.company #news .link-news-01 > li {
  border-bottom: #d2cfc6 dotted 1px;
  padding: 20px 0;
}

#page.company #news .link-news-01 > li .txt {
  display: block;
}

#page.company #news .link-news-01 > li .txt .icon {
  border-radius: 10px;
  min-width: auto;
  text-align: left;
  max-width: 100%;
}

#page.company #news .link-news-01 > li .txt b {
  margin-top: 5px;
}

@media only screen and (max-width: 868px) {
  #page.company #news .link-news-01 > li .txt .icon {
    padding: 3px 17px 1px 17px;
  }
}

/*  info END -----------------------------------------*/
/*  TOP START -----------------------------------------*/
/*--- top ------------------*/
.main#top {
  line-height: 1.75;
}

.main#top + #footer #page-back {
  display: none;
}

.main#top p {
  margin: 0;
}

/*--- top-visual（画像1枚配置パターン） ------------------*/
/*--- top-visual（レイアウトありパターン） ------------------*/
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.main#top .top-visual {
  position: relative;
  background-image: url(/images/top/bg_mainvisual.webp);
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: center bottom;
  padding-top: 60px;
  padding-bottom: 128px;
  margin-bottom: -23px;
  border-top: solid #D6182C 4px;
}

@media only screen and (max-width: 1480px) {
  .main#top .top-visual {
    padding-bottom: 60px;
  }
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual {
    background: none;
    min-height: 570px;
    padding-top: 34px;
    padding-bottom: 0;
    margin-bottom: 55px;
  }
}

.main#top .top-visual-loop {
  display: none;
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual-loop {
    display: block;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    z-index: -1;
    height: 100%;
  }
}

.main#top .top-visual-loop_box {
  display: flex;
  position: relative;
  left: calc(50vw - 210px);
  justify-content: center;
  height: 100%;
  transition: opacity 3s;
}

.main#top .top-visual-loop_box.is-hidden {
  opacity: 0;
}

.main#top .top-visual-loop_img {
  max-width: max-content;
  height: 100%;
  object-fit: cover;
}

.main#top .top-visual-loop_img:first-child {
  animation: loop 60s -30s linear infinite;
}

.main#top .top-visual-loop_img:last-child {
  animation: loop2 60s linear infinite;
}

.main#top .top-visual-loop_img.is-stop {
  animation-play-state: paused;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.main#top .top-visual-loop_btn {
  display: none;
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual-loop_btn {
    display: block;
    position: absolute;
    top: 15px;
    right: 20px;
    height: 0;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    width: 40px;
    height: 40px;
    background-image: url(/images/top/icon_loop_btn_stop.png);
  }
  .main#top .top-visual-loop_btn.is-stop {
    background-image: url(/images/top/icon_loop_btn_play.png);
  }
}

.main#top .top-visual_inner {
  max-width: 1440px;
  height: 100%;
  margin: 0 auto;
  padding: 0 80px;
  text-align: center;
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual_inner {
    padding: 0 20px;
  }
}

.main#top .top-visual_text {
  font-size: 2.6rem;
  line-height: 2.2;
  font-weight: bold;
  text-shadow: 3px 3px 3px #fff, -3px -3px 3px #fff, -3px 3px 3px #fff,  3px -3px 3px #fff, 3px 0px 3px #fff, -3px -0px 3px #fff, 0px 3px 3px #fff,  0px -3px 3px #fff;
  opacity: 0;
  animation: fadeIn forwards 1500ms ease-out 1000ms normal;
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual_text {
    font-size: 1.6rem;
    line-height: 1.8;
  }
}

.main#top .top-visual_lead {
  margin-top: 10px;
  line-height: 2;
  font-size: 3.2rem;
  text-shadow: 5px 5px 3px #fff, -5px -5px 3px #fff, -5px 5px 3px #fff,  5px -5px 3px #fff, 5px 0px 3px #fff, -5px -0px 3px #fff, 0px 5px 3px #fff,  0px -5px 3px #fff;
  opacity: 0;
  animation: fadeIn forwards 1500ms ease-out 1650ms normal;
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual_lead {
    font-size: 1.8rem;
    margin-top: 8px;
    line-height: 1.8;
  }
}

.main#top .top-visual_lead em {
  font-weight: bold;
  font-style: normal;
}

.main#top .top-visual_catch {
  margin-top: 10px;
  text-align: center;
  opacity: 0;
  animation: fadeIn forwards 1500ms ease-out 2500ms normal;
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual_catch {
    margin-top: 30vw;
    margin-top: 145px;
  }
}

.main#top .top-visual_catch-img {
  width: 812px;
  height: auto;
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual_catch-img {
    width: 336px;
  }
}

.main#top .top-visual_btn {
  display: flex;
  justify-content: flex-end;
  margin-top: 21.428vw;
}

@media only screen and (min-width: 1440px) {
  .main#top .top-visual_btn {
    margin-top: 310px;
  }
}

@media only screen and (max-width: 1000px) {
  .main#top .top-visual_btn {
    justify-content: center;
  }
}

@media only screen and (max-width: 868px) {
  .main#top .top-visual_btn {
    margin-top: 30px;
  }
}

.main#top .top-visual_btn-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 320px;
  padding: 11px 18px;
  border-radius: 42px;
  font-size: 1.6rem;
  line-height: 1.444;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border: 2px solid #D6182C;
  background-color: #D6182C;
  transition: background-color .3s, color .3s;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.04);
}

.main#top .top-visual_btn-link::after {
  content: "";
  background-image: url(/images/top/bg-icon-08.svg);
  min-width: 28px;
  height: 24px;
}

.main#top .top-visual_btn-link span {
  padding: 0 0 0 26px;
  width: 100%;
}

.main#top .top-visual_btn-link:hover {
  border: 2px solid #D6182C;
  color: #D6182C;
  background-color: #fff;
}

.main#top .top-visual_btn-link:hover::after {
  background-image: url(/images/top/bg-icon-08_hover.svg);
}

@media only screen and (min-width: 1479px) {
  .main#top .top-visual_br {
    display: none;
  }
}

/*--- top-information ------------------*/
.main#top .top-information {
  padding: 30px 20px 34px;
}

.main#top .top-information-inner {
  max-width: 1200px;
  margin: 0 auto;
}

@media only screen and (max-width: 868px) {
  .main#top .top-information {
    padding-top: 20px;
  }
}

/*--- top-emergency ------------------*/
.main#top .top-emergency-information {
  border: 1px solid #D6182C;
  padding: 25px 50px;
  margin: 0 0 24px;
}

.main#top .top-emergency-information_inner {
  display: flex;
  gap: 0 50px;
}

.main#top .top-emergency-information_contents {
  display: flex;
  gap: 0 20px;
}

.main#top .top-emergency-information_contents .top-news-list {
  margin: 0;
}

.main#top .top-emergency-information_hdg {
  font-size: 1.6rem;
  color: #D6182C;
  flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
  .main#top .top-emergency-information {
    padding: 18px 18px 16px;
    margin: 0 0 16px;
  }
  .main#top .top-emergency-information_inner {
    flex-direction: column;
  }
  .main#top .top-emergency-information_hdg {
    font-size: 1.4rem;
  }
  .top-emergency-information .top-news-list {
    padding: 0;
  }
}

/*--- top-news-list ------------------*/
.main#top .top-news-list__item {
  margin: 0 0 10px;
}

.main#top .top-news-list__item:last-child {
  margin-bottom: 0;
}

.main#top .top-news-list__link {
  display: inline-flex;
  gap: 0 20px;
  color: #000000;
  font-weight: 400;
}

.main#top .top-news-list__text {
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
}

.main#top .top-news-list__link:any-link:hover .top-news-list__text {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.main#top .top-news-list__link.top-news-list__link {
  text-decoration: none;
}

.main#top .top-news-list__date {
  font-family: "Lato";
  color: #9B9B9B;
  font-size: 1.4rem;
}

.main#top .top-news-list__text::after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 15px;
  margin: 0 0 0 8px;
  vertical-align: middle;
  background-image: url(/images/top/bg-icon-01.svg);
  background-repeat: no-repeat;
}

@media only screen and (max-width: 868px) {
  .main#top .top-news-list {
    padding: 0 20px;
  }
  .main#top .top-news-list__link {
    flex-direction: column;
  }
  .main#top .top-news-list__date {
    font-size: 1.3rem;
  }
  .main#top .top-news-list__text::after {
    background-image: url(/images/top/bg-icon-01_sp.svg);
    vertical-align: middle;
  }
}

/*--- top-philosophy ------------------*/
.main#top .top-philosophy {
  position: relative;
  z-index: 1;
  padding: 0 20px 0;
}

.main#top .top-philosophy::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  min-height: 620px;
  background-image: url(/images/top/bg-img-01.jpg);
  background-size: cover;
  z-index: -1;
}

.main#top .top-philosophy-inner {
  max-width: 1080px;
  margin: 0 auto;
  padding: 60px 0;
}

.main#top .top-philosophy_contents {
  position: relative;
  width: 100%;
  min-height: 500px;
  background-color: #fff;
  border-radius: 100px 0 100px 0;
  padding: 76px 0 0;
}

.main#top .top-philosophy_contents::before {
  content: "";
  position: absolute;
  left: -102px;
  top: -32px;
  width: 389px;
  height: 561px;
  background-image: url(/images/top/bg-img-02.png);
}

.main#top .top-philosophy_contents::after {
  content: "";
  position: absolute;
  bottom: 40px;
  right: -60px;
  width: 259px;
  height: 473px;
  background-image: url(/images/top/bg-img-03.png);
}

.main#top .top-philosophy-hdg {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  margin: 0 0 18px;
}

.main#top .top-philosophy-hdg_main {
  font-family: "Zen Kaku Gothic New";
  font-size: 3.6rem;
  font-weight: bold;
}

.main#top .top-philosophy-hdg_sub {
  position: relative;
  margin: 0 0 25px;
  font-family: "Lato";
  text-transform: capitalize;
  color: #9B9B9B;
  font-size: 1.8rem;
  letter-spacing: .17em;
}

.main#top .top-philosophy-hdg_sub::before,
.main#top .top-philosophy-hdg_sub::after {
  content: "";
  position: absolute;
  bottom: -12px;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 36px;
  height: 2px;
  background-color: #1B9974;
}

.main#top .top-philosophy-hdg_sub::after {
  width: 26px;
  background-color: #D6182C;
  left: -10px;
}

.main#top .top-philosophy-text {
  margin: 0 0 30px;
  text-align: center;
  line-height: 2;
}

@media only screen and (max-width: 868px) {
  .main#top .top-philosophy::after {
    min-height: 700px;
    background-image: url(/images/top/bg-img-01_sp.jpg);
  }
  .main#top .top-philosophy-inner {
    padding-bottom: 55px;
  }
  .main#top .top-philosophy_contents {
    padding: 92px 0 90px;
  }
  .main#top .top-philosophy_contents::before {
    top: -60px;
    left: -10px;
    background-image: url(/images/top/bg-img-02_sp.png);
    background-repeat: no-repeat;
    width: 239px;
    height: 180px;
  }
  .main#top .top-philosophy_contents::after {
    bottom: -40px;
    right: 20px;
    background-image: url(/images/top/bg-img-03_sp.png);
    background-repeat: no-repeat;
    width: 218px;
    height: 99px;
  }
  .main#top .top-philosophy-hdg {
    margin-bottom: 22px;
  }
  .main#top .top-philosophy-hdg_main {
    padding-left: 22px;
    font-size: 2.4rem;
  }
  .main#top .top-philosophy-hdg_sub {
    margin-bottom: 46px;
    font-size: 1.4rem;
  }
  .main#top .top-philosophy-text {
    padding: 0 43px 0;
    margin-bottom: 36px;
    font-size: 1.5rem;
    line-height: 1.87;
  }
}

/*--- top-btn ------------------*/
.main#top .top-btn {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.main#top .top-btn_link {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 300px;
  padding: 28px;
  border: 2px solid #D6182C;
  border-radius: 42px;
  font-size: 1.8rem;
  line-height: 1.444;
  color: #D6182C;
  text-align: center;
  background-color: #fff;
  transition: background-color .3s, color .3s;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.04);
}

.main#top .top-btn_link.top-btn_link {
  text-decoration: none;
}

.main#top .top-btn_link span {
  padding: 0 0 0 26px;
  width: 100%;
}

.main#top .top-btn_link::after {
  content: "";
  background-image: url(/images/top/bg-icon-02.svg);
  min-width: 28px;
  height: 24px;
}

.main#top .top-btn_link.top-btn_link:hover {
  color: #fff;
  background-color: #D6182C;
}

.main#top .top-btn_link.top-btn_link:hover::after {
  background-image: url(/images/top/bg-icon-02_hover.svg);
}

@media only screen and (max-width: 868px) {
  .main#top .top-btn_link {
    min-width: 280px;
    max-width: 280px;
    padding: 18px;
    font-size: 1.6rem;
  }
}

/*--- top-effort------------------*/
.main#top .top-effort {
  position: relative;
  padding: 100px 20px 70px;
  z-index: 1;
}

.main#top .top-effort::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  width: 100%;
  min-height: 540px;
  background-color: #D6182C;
  z-index: -1;
}

.main#top .top-effort-head_inner {
  max-width: 1080px;
  margin: 0 auto;
}

.main#top .top-effort-head__hdg {
  color: #fff;
  font-family: "Zen Kaku Gothic New";
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.5714;
  text-align: center;
  letter-spacing: .1em;
  margin: 0 0 20px;
}

.main#top .top-effort-head__lead {
  text-align: center;
}

.main#top .top-effort-head__lead.top-effort-head__lead {
  margin: 0 0 54px;
}

.main#top .top-effort-head__lead b {
  color: #fff;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: normal;
}

.main#top .top-effort-body {
  padding: 0 0 96px;
}

.main#top .top-effort-body_inner {
  max-width: 1080px;
  margin: 0 auto;
}

.main#top .top-effort-foot {
  position: relative;
}

.main#top .top-effort-foot::before {
  content: "";
  position: absolute;
  top: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 1px;
  background-color: #F2F2F2;
}

.main#top .top-effort-foot_inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 0 0;
}

.main#top .top-effort-head_hdg-02 {
  margin: 0 0 56px;
  font-family: "Zen Kaku Gothic New";
  font-weight: bold;
  font-size: 2.8rem;
  text-align: center;
  letter-spacing: .1em;
}

@media only screen and (max-width: 868px) {
  .main#top .top-effort {
    padding-top: 50px;
    padding-bottom: 46px;
  }
  .main#top .top-effort::after {
    min-height: 390px;
  }
  .main#top .top-effort-head__hdg {
    font-size: 2rem;
    letter-spacing: 0;
  }
  .main#top .top-effort-head__lead.top-effort-head__lead {
    margin-bottom: 20px;
  }
  .main#top .top-effort-head__lead b {
    font-size: 1.5rem;
  }
  .main#top .top-effort-body {
    padding-bottom: 54px;
  }
  .main#top .top-effort-foot_inner {
    padding-top: 60px;
    padding-bottom: 0;
  }
  .main#top .top-effort-head_hdg-02 {
    margin-bottom: 32px;
    font-size: 2rem;
    letter-spacing: 0;
  }
}

/*--- top-search-box------------------*/
.main#top .top-search-box {
  margin: 0 0 80px;
}

.main#top .top-search-box_inner {
  font-weight: normal;
  background-color: #fff;
  width: 100%;
  max-width: 680px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #DBDBD4;
  gap: 12px;
  padding: 0 10px 0 0;
}

.main#top .top-search-box_input {
  width: 100%;
  font-size: 1.8rem;
  background-color: #fff;
  padding: 10px 10px 10px 30px;
  min-height: 78px;
}

.main#top .top-search-box_submit {
  background-image: url(/images/top/bg-icon-search.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 56px;
  min-width: 56px;
  width: 56px;
  height: 56px;
  display: block;
  overflow: hidden;
  text-indent: 100%;
  white-space: nowrap;
}

@media only screen and (max-width: 868px) {
  .main#top .top-search-box {
    margin-bottom: 50px;
  }
  .main#top .top-search-box_inner {
    padding-left: 12px;
  }
  .main#top .top-search-box_input {
    font-size: 1.5rem;
  }
  .main#top .top-search-box_submit {
    width: 40px;
    height: 40px;
    background-size: 40px;
    background-position: right;
    padding-left: 12px;
  }
}

/*--- top-products------------------*/
.main#top .top-products {
  background-color: #F6F6EE;
  padding: 0 20px 122px;
}

@media only screen and (max-width: 868px) {
  .main#top .top-products {
    padding-bottom: 72px;
  }
}

/*--- top-category-head------------------*/
.main#top .top-category-head {
  position: relative;
  z-index: 1;
  padding: 92px 0 0;
  margin: 0 0 60px;
}

.main#top .top-category-head::after {
  content: "";
  position: absolute;
  top: 0;
  z-index: -1;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  min-height: 520px;
  background-image: url(/images/top/bg-img-04.jpg);
  background-repeat: no-repeat;
  background-size: 100%;
}

.main#top .top-category-head.top-category-head--type02.bg-spring::after {
  min-height: 460px;
  background-image: url(/images/top/bg-img-spring.jpg);
}

.main#top .top-category-head.top-category-head--type02.bg-summer::after {
  min-height: 460px;
  background-image: url(/images/top/bg-img-summer.jpg);
}

.main#top .top-category-head.top-category-head--type02.bg-autumn::after {
  height: 460px;
  background-image: url(/images/top/bg-img-autumn.jpg);
}

.main#top .top-category-head.top-category-head--type02.bg-winter::after {
  min-height: 460px;
  background-image: url(/images/top/bg-img-winter.jpg);
}

.main#top .top-category-head_inner {
  max-width: 1200px;
  margin: 0 auto;
}

.main#top .top-category-head_hdg {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  margin: 0 0 85px;
}

.main#top .top-category-head_main {
  font-family: "Zen Kaku Gothic New";
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: .1em;
}

.main#top .top-category-head_sub {
  position: relative;
  font-family: "Lato";
  text-transform: capitalize;
  color: #9B9B9B;
  font-size: 1.8rem;
  letter-spacing: .17em;
  display: inline-block;
  margin: 0 0 24px;
}

.main#top .top-category-head_sub::before,
.main#top .top-category-head_sub::after {
  content: "";
  position: absolute;
  bottom: -16px;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 36px;
  height: 2px;
  background-color: #1B9974;
}

.main#top .top-category-head_sub::after {
  width: 26px;
  background-color: #D6182C;
  left: -10px;
}

.main#top .top-category-head--type02 .top-category-head_sub {
  margin-bottom: 20px;
}

.main#top .top-category-head--type02 .top-category-head_hdg,
.main#top .top-category-head--type02 .top-category-head_sub {
  color: #fff;
}

.main#top .top-category-head--type02 .top-category-head_sub::before,
.main#top .top-category-head--type02 .top-category-head_sub::after {
  background-color: rgba(255, 255, 255, 0.8);
}

.main#top .top-category-head--type02 .top-category-head_sub::after {
  background-color: #fff;
}

@media only screen and (max-width: 868px) {
  .main#top .top-category-head::after {
    min-height: 260px;
    background-image: url(/images/top/bg-img-04_sp.jpg);
  }
  .main#top .top-category-head.top-category-head--type02.bg-spring::after {
    min-height: 460px;
    background-image: url(/images/top/bg-img-spring_sp.jpg);
  }
  .main#top .top-category-head.top-category-head--type02.bg-summer::after {
    min-height: 460px;
    background-image: url(/images/top/bg-img-summer_sp.jpg);
  }
  .main#top .top-category-head.top-category-head--type02.bg-autumn::after {
    min-height: 460px;
    background-image: url(/images/top/bg-img-autumn_sp.jpg);
  }
  .main#top .top-category-head.top-category-head--type02.bg-winter::after {
    min-height: 460px;
    background-image: url(/images/top/bg-img-winter_sp.jpg);
  }
  .main#top .top-category-head {
    padding-top: 56px;
    margin-bottom: 55px;
  }
  .main#top .top-category-head_hdg {
    margin-bottom: 36px;
  }
  .main#top .top-category-head_main {
    font-size: 2.4rem;
    letter-spacing: 0;
  }
  .main#top .top-category-head_sub {
    margin-bottom: 16px;
    font-size: 1.4rem;
  }
  .main#top .top-category-head_sub::before,
  .main#top .top-category-head_sub::after {
    bottom: -8px;
  }
}

/*--- top-head------------------*/
.main#top .top-head {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  margin: 0 0 54px;
}

.main#top .top-head_main {
  font-family: "Zen Kaku Gothic New";
  font-size: 3.6rem;
  font-weight: bold;
  letter-spacing: .1em;
}

.main#top .top-head_sub {
  position: relative;
  font-family: "Lato";
  text-transform: capitalize;
  color: #9B9B9B;
  font-size: 1.8rem;
  letter-spacing: .17em;
  margin: 0 0 20px;
}

.main#top .top-head_sub::before,
.main#top .top-head_sub::after {
  content: "";
  position: absolute;
  bottom: -12px;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 36px;
  height: 2px;
  background-color: #1B9974;
}

.main#top .top-head_sub::after {
  width: 26px;
  background-color: #D6182C;
  left: -10px;
}

@media only screen and (max-width: 868px) {
  .main#top .top-head {
    margin-bottom: 40px;
  }
  .main#top .top-head_main {
    font-size: 2.4rem;
    letter-spacing: 0;
  }
  .main#top .top-head_sub {
    font-size: 1.4rem;
    margin-bottom: 14px;
  }
  .main#top .top-head_sub::before,
  .main#top .top-head_sub::after {
    bottom: -8px;
  }
}

/*--- top-head-02------------------*/
.main#top .top-head-02 {
  margin: 0 0 54px;
  text-align: center;
}

.main#top .top-head-02.top-head-02--type02 {
  margin-bottom: 24px;
}

.main#top .top-head-02_hdg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}

.main#top .top-head-02_hdg::before {
  content: "";
  display: block;
  background-image: url(/images/top/bg-icon-03.svg);
  background-repeat: no-repeat;
  width: 50px;
  height: 50px;
  margin: -6px 0 0;
}

.main#top .top-head-02.top-head-02--type02 .top-head-02_hdg::before {
  background-image: url(/images/top/bg-icon-04.svg);
  background-repeat: no-repeat;
}

@media only screen and (max-width: 868px) {
  .main#top .top-head-02 {
    margin-bottom: 28px;
  }
  .main#top .top-head-02_hdg {
    font-size: 1.8rem;
  }
}

/*--- top-recipe------------------*/
.main#top .top-recipe {
  background-color: #F6F6EE;
  padding: 0 20px 96px;
}

.main#top .top-recipe-body_inner {
  max-width: 1200px;
  margin: 0 auto;
}

@media only screen and (max-width: 868px) {
  .main#top .top-recipe {
    padding-bottom: 70px;
  }
}

/*--- top-pickup------------------*/
.main#top .top-pickup {
  padding: 100px 20px;
}

.main#top .top-pickup_inner > *:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 868px) {
  .main#top .top-pickup {
    padding-top: 56px;
    padding-bottom: 70px;
  }
}

/*--- top-news-release------------------*/
.main#top .top-news-release {
  border-top: 1px solid #F2F2F2;
  padding: 100px 20px 100px;
}

.main#top .top-news-release_inner {
  max-width: 1080px;
  margin: 0 auto;
}

.main#top .top-news-release_inner > *:last-child {
  margin-bottom: 0;
}

.main#top .top-news-release-list {
  margin: 0 0 60px;
}

.main#top .top-news-release-list_item {
  padding: 39px 32px 39px 0;
  border-width: 1px 0 0 0;
  border-style: dashed;
  border-color: #D4D3D3 transparent transparent transparent;
}

.main#top .top-news-release-list_item:last-child {
  border-bottom: 1px dashed #D4D3D3;
}

.main#top .top-news-release-list_link {
  display: inline-flex;
}

.main#top .top-news-release-list_head {
  display: flex;
}

.main#top .top-news-release-list_link.top-news-release-list_link {
  text-decoration: none;
}

.main#top .top-news-release-list_date {
  min-width: 82px;
  font-family: "Lato";
  color: #000000;
  font-size: 1.6rem;
}

.main#top .top-news-release-list_label {
  padding: 1px 0;
  min-width: 160px;
  height: 32px;
  color: #000000;
  font-size: 1.6rem;
  text-align: center;
  border: 1px solid #D4D3D3;
  border-radius: 10px;
  display: inline-block;
  margin: 0 20px 0 28px;
}

.main#top .top-news-release-list_text {
  color: #000000;
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
}

.main#top .top-news-release-list_link:any-link:hover .top-news-release-list_text {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.main#top .top-news-release-list__icon {
  display: inline-block;
  margin: 0 7px;
  position: relative;
  top: -2px;
  vertical-align: middle;
}

.main#top .top-news-release-list.top-news-release-list--type02 .top-news-release-list_link {
  gap: 138px;
}

.main#top .top-news-release-list.top-news-release-list--type02 .top-news-release-list_item {
  padding: 36px 32px 36px 0;
}

@media only screen and (max-width: 868px) {
  .main#top .top-news-release {
    padding-top: 56px;
    padding-bottom: 46px;
  }
  .main#top .top-news-release-list {
    margin-bottom: 50px;
  }
  .main#top .top-news-release-list_item {
    padding-right: 0;
    padding-top: 20px;
    padding-bottom: 16px;
  }
  .main#top .top-news-release-list_link {
    flex-direction: column;
  }
  .main#top .top-news-release-list_head {
    margin: 0 0 6px;
  }
  .main#top .top-news-release-list_date {
    font-size: 1.4rem;
  }
  .main#top .top-news-release-list_label {
    margin: 0 0 0 12px;
    height: 26px;
    min-width: 80px;
    font-size: 1.4rem;
    padding: 0 10px;
  }
  .main#top .top-news-release-list_text {
    font-size: 1.4rem;
  }
  .main#top .top-news-release-list.top-news-release-list--type02 .top-news-release-list_link {
    gap: 12px 0;
  }
  .main#top .top-news-release-list.top-news-release-list--type02 .top-news-release-list_item {
    padding: 12px 0 12px 0;
  }
}

/*--- top-news------------------*/
.main#top .top-news {
  padding: 0 20px 120px;
}

.main#top .top-news_inner {
  max-width: 1080px;
  margin: 0 auto;
}

.main#top .top-news_inner > *:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 868px) {
  .main#top .top-news {
    padding-bottom: 70px;
  }
}

/*--- top-media-layout------------------*/
.main#top .top-media-layout {
  display: flex;
  justify-content: space-between;
  max-width: 912px;
  margin: 0 auto;
}

.main#top .top-media-layout_link {
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  color: #000000;
  transition: text-decoration-line .3s;
}

.main#top .top-media-layout_link.top-media-layout_link {
  text-decoration: none;
}

.main#top .top-media-layout_text {
  font-size: 2rem;
}

.main#top .top-media-layout_text {
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
}

.main#top .top-media-layout_link:hover .top-media-layout_text {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.main#top .top-media-layout_img {
  margin: 0 0 18px;
}

.main#top .top-media-layout_text::after {
  content: "";
  display: inline-block;
  margin: 0 0 0 12px;
  width: 9px;
  height: 15px;
  background-image: url(/images/top/bg-icon-01.svg);
  background-repeat: no-repeat;
}

@media only screen and (max-width: 767px) {
  .main#top .top-media-layout {
    flex-direction: column;
    gap: 30px 0;
  }
  .main#top .top-media-layout_item {
    text-align: center;
  }
  .main#top .top-media-layout_link {
    display: inline-flex;
  }
  .main#top .top-media-layout_img {
    margin-bottom: 20px;
  }
  .main#top .top-media-layout_img > img {
    width: 160px;
    height: 160px;
  }
  .main#top .top-media-layout_text {
    font-size: 1.6rem;
  }
  .main#top .top-media-layout_text::after {
    background-image: url(/images/top/bg-icon-01_sp.svg);
    vertical-align: middle;
    right: 0;
  }
}

/*--- top-panel-layout------------------*/
.main#top .top-panel-layout {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 20px;
}

.main#top .top-panel-layout_link {
  display: flex;
  flex-direction: column-reverse;
}

.main#top .top-panel-layout_link.top-panel-layout_link {
  text-decoration: none;
}

.main#top .top-panel-layout_text {
  color: #000000;
  font-size: 1.6rem;
}

.main#top .top-panel-layout_img {
  margin: 0 0 16px;
  overflow: hidden;
  border: 1px solid #ccc;
}

.main#top .top-panel-layout_img img {
  width: 100%;
  transition: .3s transform;
}

.main#top .top-panel-layout_link.top-panel-layout_link:hover .top-panel-layout_img img {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 868px) {
  .main#top .top-panel-layout {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 10px;
  }
  .main#top .top-panel-layout_text {
    font-size: 1.5rem;
  }
  .main#top .top-panel-layout_img {
    margin-bottom: 8px;
  }
}

/*--- top-panel-layout-02------------------*/
.main#top .top-panel-layout-02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 30px;
}

.main#top .top-panel-layout-02_item {
  display: flex;
  justify-content: center;
  background-color: #fff;
  border-radius: 70px 0 70px 0;
  padding: 40px;
  box-shadow: 0 2px 10px rgba(128, 128, 123, 0.1);
}

.main#top .top-panel-layout-02_link {
  display: inline-flex;
  flex-direction: column-reverse;
  align-items: center;
  justify-content: center;
  transition: text-decoration-line .3s;
}

.main#top .top-panel-layout-02_link.top-panel-layout-02_link {
  text-decoration: none;
  color: #000000;
  font-size: 2rem;
}

.main#top .top-panel-layout-02_img {
  margin: 0 0 24px;
}

.main#top .top-panel-layout-02_img > img {
  transform: scale(1, 1);
  transition: .3s transform;
}

.main#top .top-panel-layout-02_link.top-panel-layout-02_link:hover .top-panel-layout-02_img > img {
  transform: scale(1.1, 1.1);
}

.main#top .top-panel-layout-02_text {
  position: relative;
  padding: 0 20px 0 0;
  font-family: "ヒラギノ角ゴ ProN";
  font-weight: 600;
  line-height: 1.4;
}

.main#top .top-panel-layout-02_text {
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
}

.main#top .top-panel-layout-02_link.top-panel-layout-02_link:hover .top-panel-layout-02_text {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.main#top .top-panel-layout-02_text::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 9px;
  height: 15px;
  background-image: url(/images/top/bg-icon-01.svg);
  background-repeat: no-repeat;
}

@media only screen and (max-width: 767px) {
  .main#top .top-panel-layout-02 {
    grid-template-columns: 1fr;
    gap: 24px 0;
    margin-bottom: 48px;
  }
  .main#top .top-panel-layout-02_item {
    padding-top: 33px;
    padding-bottom: 33px;
  }
  .main#top .top-panel-layout-02_img {
    margin-bottom: 26px;
  }
  .main#top .top-panel-layout-02_img img {
    width: 170px;
  }
  .main#top .top-panel-layout-02_text {
    font-size: 1.6rem;
  }
  .main#top .top-panel-layout-02_text::after {
    background-image: url(/images/top/bg-icon-01_sp.svg);
    vertical-align: middle;
    width: 7px;
    height: 11px;
  }
}

/*--- top-panel-layout-03------------------*/
.main#top .top-panel-layout-03 {
  display: flex;
  gap: 0 15px;
  margin: 0 0 60px;
}

.main#top .top-panel-layout-03_list {
  display: grid;
  gap: 30px 0;
  width: 42.5%;
  max-width: 42.5%;
}

.main#top .top-panel-layout-03_link {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  padding: 0 40px 0 0;
  color: #000000;
  background-color: #fff;
  box-shadow: 0 2px 10px rgba(128, 128, 123, 0.1);
  transition: text-decoration-line .3s;
}

.main#top .top-panel-layout-03_link::after {
  content: "";
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 9px;
  height: 15px;
  background-image: url(/images/top/bg-icon-01.svg);
  background-repeat: no-repeat;
}

.main#top .top-panel-layout-03_link.top-panel-layout-03_link {
  text-decoration: none;
}

.main#top .top-panel-layout-03_contents {
  width: 100%;
  padding: 0 0 0 30px;
}

.main#top .top-panel-layout-03_img {
  flex-shrink: 0;
  max-width: 60%;
  overflow: hidden;
}

.main#top .top-panel-layout-03_img img {
  transform: scale(1, 1);
  transition: .3s transform;
}

.main#top .top-panel-layout-03_link.top-panel-layout-03_link:hover .top-panel-layout-03_img img {
  transform: scale(1.1, 1.1);
}

.main#top .top-panel-layout-03_text {
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
}

.main#top .top-panel-layout-03_link.top-panel-layout-03_link:hover .top-panel-layout-03_text {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.main#top .top-panel-layout-03_text {
  width: 100%;
}

@media only screen and (max-width: 767px) {
  .main#top .top-panel-layout-03 {
    flex-direction: column;
    margin-bottom: 50px;
  }
  .main#top .top-panel-layout-03_list {
    width: 100%;
    max-width: 100%;
    gap: 22px 0;
  }
  .main#top .top-panel-layout-03_contents {
    padding-left: 18px;
  }
  .main#top .top-panel-layout-03_link::after {
    right: 20px;
    background-image: url(/images/top/bg-icon-01_sp.svg);
    vertical-align: middle;
    width: 7px;
    height: 11px;
  }
  .main#top .top-panel-layout-03_img {
    max-width: 50%;
  }
}

/*--- top-panel-recommend------------------*/
.main#top .top-panel-recommend {
  max-width: 55.5%;
  padding: 2% 60px;
  background-color: #fff;
  border-radius: 50px 0 50px 0;
  box-shadow: 0 2px 10px rgba(128, 128, 123, 0.1);
}

.main#top .top-panel-recommend_link {
  display: flex;
  flex-direction: column-reverse;
  position: relative;
}

.main#top .top-panel-recommend_link.top-panel-recommend_link {
  text-decoration: none;
}

.main#top .top-panel-recommend_hdg.top-panel-recommend_hdg {
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
}

.main#top .top-panel-recommend_link.top-panel-recommend_link:hover .top-panel-recommend_hdg {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.main#top .top-panel-recommend_hdg {
  position: relative;
  display: inline-block;
  padding-right: 26px;
  color: #000000;
  font-weight: bold;
  font-size: 2.4rem;
  transition: text-decoration-line .3s;
}

.main#top .top-panel-recommend_hdg::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin: auto;
  width: 9px;
  height: 15px;
  background-image: url(/images/top/bg-icon-01.svg);
  background-repeat: no-repeat;
}

.main#top .top-panel-recommend_text {
  color: #000000;
}

.main#top .top-panel-recommend_img {
  position: relative;
  margin: 0 0 20px;
  overflow: hidden;
}

.main#top .top-panel-recommend-icon {
  position: absolute;
  z-index: 1;
  top: 0;
}

.main#top .top-panel-recommend-icon {
  width: 130px;
  aspect-ratio: 1/1;
  color: #fff;
  background-color: rgba(214, 40, 40, 0.9);
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: -5%;
  top: -2%;
}

.main#top .top-panel-recommend-icon_wrap {
  width: 100%;
  font-size: 2.6rem;
  line-height: 1.07692307692;
}

.main#top .top-panel-recommend-icon_inner {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3%;
}

.main#top .top-panel-recommend-icon_days {
  position: relative;
  left: 3%;
  font-size: 1.4rem;
  font-weight: bold;
  color: #D62828;
}

.main#top .top-panel-recommend-icon_days::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 0;
  background-color: #fff;
  width: 22px;
  aspect-ratio: 1/1;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  z-index: -1;
}

.main#top .top-panel-recommend-icon_text {
  display: block;
  font-family: "Lato";
  font-size: 1.6rem;
  text-align: center;
  text-transform: capitalize;
  letter-spacing: .03em;
}

.main#top .top-panel-recommend_image {
  width: 100%;
  transform: scale(1, 1);
  transition: .3s transform;
}

.main#top .top-panel-recommend_link.top-panel-recommend_link:hover .top-panel-recommend_image {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 868px) {
  .main#top .top-panel-recommend_hdg {
    font-size: 1.8rem;
  }
}

@media only screen and (max-width: 767px) {
  .main#top .top-panel-recommend {
    max-width: 100%;
    width: 100%;
    padding: 30px 28px 38px;
    margin: 0 0 22px;
  }
  .main#top .top-panel-recommend_hdg {
    padding-right: 14px;
    font-size: 1.8rem;
  }
  .main#top .top-panel-recommend_hdg.top-panel-recommend_hdg {
    margin-bottom: 0;
  }
  .main#top .top-panel-recommend_hdg::after {
    background-image: url(/images/top/bg-icon-01_sp.svg);
    vertical-align: middle;
    width: 7px;
    height: 11px;
  }
  .main#top .top-panel-recommend_text {
    font-size: 1.5rem;
  }
  .main#top .top-panel-recommend-icon {
    width: 80px;
    left: -12%;
    top: -10%;
  }
  .main#top .top-panel-recommend-icon_date {
    font-size: 1.8rem;
  }
  .main#top .top-panel-recommend-icon_days {
    font-size: 1rem;
  }
  .main#top .top-panel-recommend-icon_days::after {
    width: 16px;
  }
  .main#top .top-panel-recommend-icon_text {
    font-size: 1rem;
  }
}

/*--- top-panel-layout-04------------------*/
.main#top .top-panel-layout-04 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 30px;
}

.main#top .top-panel-layout-04_item {
  background-color: #fff;
}

.main#top .top-panel-layout-04_link {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column-reverse;
  position: relative;
  padding: 30px 48px 32px;
  height: 100%;
  color: #000000;
  transition: text-decoration-line .3s;
}

.main#top .top-panel-layout-04_link:after {
  content: "";
  position: absolute;
  right: 22px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 9px;
  height: 15px;
  background-image: url(/images/top/bg-icon-01.svg);
  background-repeat: no-repeat;
}

.main#top .top-panel-layout-04_link.top-panel-layout-04_link {
  text-decoration: none;
}

.main#top .top-panel-layout-04_link {
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
}

.main#top .top-panel-layout-04_text {
  text-decoration-line: none;
  text-decoration-color: transparent;
  text-underline-offset: 0;
  text-decoration-thickness: 0;
  transition: text-decoration .3s;
}

.main#top .top-panel-layout-04_link.top-panel-layout-04_link:hover .top-panel-layout-04_text {
  text-decoration-line: underline;
  text-decoration-color: #D6182C;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

.main#top .top-panel-layout-04_img {
  margin: 0 0 10px;
}

@media only screen and (max-width: 767px) {
  .main#top .top-panel-layout-04 {
    grid-template-columns: 1fr;
    gap: 20px 0;
  }
  .main#top .top-panel-layout-04_link {
    padding: 23px 28px 23px;
  }
  .main#top .top-panel-layout-04_link:after {
    background-image: url(/images/top/bg-icon-01_sp.svg);
    vertical-align: middle;
    right: 16px;
  }
}

/*--- top-links------------------*/
.main#top .top-links {
  padding: 95px 20px;
  background-color: #D6182C;
}

@media only screen and (max-width: 868px) {
  .main#top .top-links {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.main#top .top-links_inner {
  max-width: 1200px;
  margin: 0 auto;
}

/*--- top-carousel-----------------*/
.main#top .top-carousel-slider {
  margin: 0 0 100px;
}

.main#top .top-carousel_inner {
  position: relative;
  max-width: 1310px;
  margin: 0 auto;
  padding: 0 100px;
}

.main#top .top-carousel-slider_item.slick-slide {
  padding: 0 15px;
}

.main#top .top-carousel-slider_link {
  display: flex;
  flex-direction: column-reverse;
  color: #000;
}

.main#top .top-carousel-slider_link.top-carousel-slider_link {
  text-decoration: none;
}

.main#top .top-carousel-slider_link .top-carousel-slider_img {
  overflow: hidden;
}

.main#top .top-carousel-slider_link .top-carousel-slider_img > img {
  transition: .3s transform;
}

.main#top .top-carousel-slider_link:any-link:hover .top-carousel-slider_img > img {
  transform: scale(1.1, 1.1);
}

.main#top .top-carousel-slider_text {
  font-size: 1.6rem;
}

.main#top .top-carousel-slider_img {
  align-self: center;
  margin: 0 0 26px;
}

.main#top .top-carousel-slider_img > img {
  width: 100%;
  height: auto;
}

.main#top .top-carousel-slider .top-news-release-list__icon {
  display: inline-block;
}

.main#top .top-carousel-slider_pager,
.main#top .top-carousel-slider_pager-02 {
  position: absolute;
  top: 32%;
  width: 100%;
  left: 0;
}

.main#top .top-carousel-slider_pager button,
.main#top .top-carousel-slider_pager-02 button {
  overflow: hidden;
  position: absolute;
  border: 0;
  width: 68px;
  height: 68px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-radius: 50%;
}

.main#top .top-carousel-slider_pager button span,
.main#top .top-carousel-slider_pager-02 button span {
  background-position: center center;
  background-repeat: no-repeat;
  display: block;
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.8);
  position: relative;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.main#top .top-carousel-slider_pager .slick-prev,
.main#top .top-carousel-slider_pager-02 .slick-prev {
  left: 1.1%;
}

.main#top .top-carousel-slider_pager .slick-next,
.main#top .top-carousel-slider_pager-02 .slick-next {
  right: 1.2%;
}

.main#top .top-carousel-slider_pager .slick-prev span,
.main#top .top-carousel-slider_pager-02 .slick-prev span {
  background-image: url(/images/top/bg-icon-prev.svg);
}

.main#top .top-carousel-slider_pager .slick-next span,
.main#top .top-carousel-slider_pager-02 .slick-next span {
  background-image: url(/images/top/bg-icon-next.svg);
}

.main#top .top-carousel-02 {
  position: relative;
  margin: 0 -20px 80px;
  padding-top: 60px;
  min-height: 340px;
  z-index: 1;
}

.main#top .top-carousel-02::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  max-width: 340px;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  z-index: -1;
}

.main#top .top-carousel-slider .top-carousel-slider_img,
.main#top .top-carousel-slider-02 .top-carousel-slider_img {
  border: 1px solid #ccc;
}

.main#top .top-carousel-slider-03.slick-slider {
  z-index: 1;
}

.main#top .top-carousel-slider-03_item.slick-slide img {
  width: auto;
  height: auto;
}

.main#top .top-carousel-slider-03_item .top-carousel-slider_img {
  margin-bottom: 26px;
}

.main#top .top-carousel-slider-03_item .top-carousel-slider_text {
  text-align: center;
}

.main#top .top-carousel-slider-03_item p {
  font-size: 1.6rem;
  font-weight: bold;
}

.main#top .top-carousel-slider-03_item.slick-slide .top-carousel-slider_text {
  display: none;
}

.main#top .top-carousel-slider-03_item.slick-slide.slick-current {
  margin: -10px 0 0;
}

.main#top .top-carousel-slider-03_item.slick-slide.slick-current .top-carousel-slider_text {
  display: block;
}

.main#top .top-carousel-slider-03_item {
  text-align: center;
}

.main#top .top-carousel-slider-03_item .top-carousel-slider_link {
  display: inline-flex;
}

.main#top .top-carousel-slider-03_parts > .slick-arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background-color: #fff;
  border-radius: 50%;
  width: 56px;
  aspect-ratio: 1/1;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}

.main#top .top-carousel-slider-03_parts > .slick-arrow {
  background-repeat: no-repeat;
  background-position: center;
}

.main#top .top-carousel-slider-03_parts > .slick-prev {
  left: 0;
  background-image: url(/images/top/bg-icon-prev-02.svg);
}

.main#top .top-carousel-slider-03_parts > .slick-next {
  right: 0;
  background-image: url(/images/top/bg-icon-next-02.svg);
}

.main#top .top-carousel-slider-03_parts .top-carousel-slider_link {
  display: inline-flex;
}

.main#top .top-carousel-slider-03_parts {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 370px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 1;
}

@media only screen and (max-width: 868px) {
  .main#top .top-carousel-02 {
    padding-top: 60px;
    height: auto;
    min-height: 300px;
  }
  .main#top .top-carousel-02::after {
    width: 300px;
  }
  .main#top .top-carousel-02::after {
    width: 300px;
    max-width: 300px;
  }
  .main#top .top-carousel-slider-03_parts {
    width: 320px;
  }
  .main#top .top-carousel-slider-03_item.slick-slide {
    padding: 0 30px;
  }
  .main#top .top-carousel-slider-03_item {
    width: 140px;
    padding: 0 12px;
  }
  .main#top .top-carousel-slider {
    margin: 0 0 50px;
  }
  .main#top .top-carousel_inner {
    padding: 0 42px;
  }
  .main#top .top-carousel-slider_item.slick-slide {
    padding-right: 0;
    padding-left: 0;
    margin: 15px;
  }
  .main#top .top-carousel-slider_text {
    font-size: 1.5rem;
  }
  .main#top .top-carousel-slider_pager,
  .main#top .top-carousel-slider_pager-02 {
    top: 30%;
    left: 0;
  }
  .main#top .top-carousel-slider_pager .slick-prev,
  .main#top .top-carousel-slider_pager-02 .slick-prev {
    left: -2%;
  }
  .main#top .top-carousel-slider_pager .slick-next,
  .main#top .top-carousel-slider_pager-02 .slick-next {
    right: -2%;
  }
  .main#top .top-carousel-slider_pager .slick-prev span,
  .main#top .top-carousel-slider_pager-02 .slick-prev span {
    background-image: url(/images/top/bg-icon-prev_sp.svg);
  }
  .main#top .top-carousel-slider_pager .slick-next span,
  .main#top .top-carousel-slider_pager-02 .slick-next span {
    background-image: url(/images/top/bg-icon-next_sp.svg);
  }
  .main#top .top-carousel-slider_pager button,
  .main#top .top-carousel-slider_pager-02 button {
    width: 40px;
    height: 40px;
  }
  .main#top .top-carousel-slider_pager button span,
  .main#top .top-carousel-slider_pager-02 button span {
    width: 40px;
    height: 40px;
  }
  .main#top .top-carousel-slider-03_item p {
    font-size: 1.5rem;
  }
  .main#top .top-carousel-slider-03_parts > .slick-arrow {
    width: 40px;
    max-width: 40px;
    aspect-ratio: 1/1;
  }
  .main#top .top-carousel-slider-03_parts > .slick-prev {
    left: 0;
    background-image: url(/images/top/bg-icon-prev-02_sp.svg);
  }
  .main#top .top-carousel-slider-03_parts > .slick-next {
    right: 0;
    background-image: url(/images/top/bg-icon-next-02_sp.svg);
  }
  .main#top .top-carousel-slider-03_item.slick-slide .top-carousel-slider_text {
    margin: -15px 0 0;
  }
}

@media only screen and (max-width: 520px) {
  .main#top .top-carousel-02 {
    padding-top: 30px;
    height: auto;
    min-height: 300px;
    margin-bottom: 36px;
  }
  .main#top .top-carousel-02::after {
    width: 300px;
    max-width: 300px;
  }
  .main#top .top-carousel-slider-03_parts {
    width: 330px;
    max-width: 330px;
  }
}

@media only screen and (max-width: 320px) {
  .main#top .top-carousel-02 {
    padding-top: 30px;
    height: auto;
    min-height: 280px;
    margin-bottom: 36px;
  }
  .main#top .top-carousel-02::after {
    width: 300;
    max-width: 300px;
  }
  .main#top .top-carousel-slider-03_parts {
    width: 320px;
  }
}

/*--- sp-br-----------------*/
@media only screen and (max-width: 767px) {
  .main#top .sp-br {
    display: inline-block;
  }
  .main#top .pc-br {
    display: none;
  }
}

/*  detail START -----------------------------------------*/
/*--- content.detail-01 ------------------*/
.content.detail-01 .content-inner {
  max-width: 1380px;
}

.content.detail-01 .content-inner .hdg-02-01 {
  max-width: 1280px;
  margin: 0 auto;
}

/*--- box-detail-01 ------------------*/
.box-detail-01 {
  border-radius: 10px;
  background: #eff7f1;
  padding: 40px;
}

.box-detail-01.col .box-inner {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  margin: 0 -10px;
}

.box-detail-01.col .box-inner li {
  margin-top: 20px;
  width: 50%;
}

.box-detail-01 .box-inner li {
  padding: 0 10px;
}

.box-detail-01 .box-inner li a {
  color: #000;
  text-decoration: none;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  transition: .3s all;
}

.box-detail-01 .box-inner li a:hover, .box-detail-01 .box-inner li a:focus {
  color: #1b9974;
}

.box-detail-01 .box-inner li a:hover > .img img, .box-detail-01 .box-inner li a:focus > .img img {
  transform: scale(1.1, 1.1);
}

.box-detail-01 .box-inner li a > .img {
  overflow: hidden;
  border-radius: 100px;
  width: 30%;
  max-width: 110px;
}

.box-detail-01 .box-inner li a > .img img {
  transition: .3s all;
  transform: scale(1, 1);
  border-radius: 100px;
}

.box-detail-01 .box-inner li a > .img + .txt {
  padding-left: 20px;
  width: 70%;
}

.box-detail-01 .box-inner li a > .txt b {
  font-size: 2rem;
  display: block;
  margin-bottom: 5px;
}

@media only screen and (max-width: 868px) {
  .box-detail-01 {
    padding: 24px 17px;
  }
  .box-detail-01.col .box-inner {
    margin: 0;
    display: block;
  }
  .box-detail-01.col .box-inner li {
    width: 100%;
  }
  .box-detail-01 .box-inner {
    margin: 0;
    display: block;
  }
  .box-detail-01 .box-inner li {
    padding: 0;
    width: 100%;
  }
  .box-detail-01 .box-inner li + li {
    margin-top: 20px;
  }
  .box-detail-01 .box-inner li a {
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .box-detail-01 .box-inner li a > .img {
    max-width: 66px;
  }
  .box-detail-01 .box-inner li a > .img + .txt {
    padding-left: 18px;
  }
  .box-detail-01 .box-inner li a > .txt b {
    font-size: 1.6rem;
  }
}

/*--- box-detail-02 ------------------*/
#box-detail-02, #box-detail-modal {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 80px;
}

#box-detail-02 .detail-img, #box-detail-modal .detail-img {
  padding-right: 20px;
  width: 50%;
}

#box-detail-02 .detail-img .box-carousel-detail, #box-detail-modal .detail-img .box-carousel-detail {
  width: 100%;
  position: relative;
}

#box-detail-02 .detail-img .box-carousel-detail > .list-01 > li, #box-detail-modal .detail-img .box-carousel-detail > .list-01 > li {
  display: block;
  width: 100%;
}

#box-detail-02 .detail-img .box-carousel-detail > .list-01 > li .img, #box-detail-modal .detail-img .box-carousel-detail > .list-01 > li .img {
  padding: 20px;
  height: -webkit-calc(100vmin - 60px);
  height: calc(100vmin - 60px);
  max-height: 620px;
}

#box-detail-02 .detail-img .carousel-pager-main, #box-detail-modal .detail-img .carousel-pager-main {
  top: 0;
  height: 500px;
}

#box-detail-02 .detail-img .carousel-pager-main button, #box-detail-modal .detail-img .carousel-pager-main button {
  top: 0;
  z-index: 1023;
}

#box-detail-02 .detail-img .carousel-pager-main .slick-prev, #box-detail-modal .detail-img .carousel-pager-main .slick-prev {
  left: 5px;
}

#box-detail-02 .detail-img .carousel-pager-main .slick-next, #box-detail-modal .detail-img .carousel-pager-main .slick-next {
  right: 5px;
}

#box-detail-02 .detail-img .slick-dots, #box-detail-modal .detail-img .slick-dots {
  margin: 20px -4px 0 -4px;
}

#box-detail-02 .detail-img .slick-dots .slick-active .img::before, #box-detail-modal .detail-img .slick-dots .slick-active .img::before {
  background: rgba(0, 0, 0, 0);
}

#box-detail-02 .detail-img .slick-dots .slick-active .img img, #box-detail-modal .detail-img .slick-dots .slick-active .img img {
  border-color: #1b9974;
}

#box-detail-02 .detail-img .slick-dots li, #box-detail-modal .detail-img .slick-dots li {
  vertical-align: top;
  display: inline-block;
  width: 72px;
  padding: 0 4px;
  height: auto;
}

#box-detail-02 .detail-img .slick-dots li button, #box-detail-modal .detail-img .slick-dots li button {
  width: 100%;
}

#box-detail-02 .detail-img .slick-dots li button:hover .img::before, #box-detail-02 .detail-img .slick-dots li button:focus .img::before, #box-detail-modal .detail-img .slick-dots li button:hover .img::before, #box-detail-modal .detail-img .slick-dots li button:focus .img::before {
  background: rgba(0, 0, 0, 0);
}

#box-detail-02 .detail-img .slick-dots li .img, #box-detail-modal .detail-img .slick-dots li .img {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  display: block;
  position: relative;
}

#box-detail-02 .detail-img .slick-dots li .img img, #box-detail-modal .detail-img .slick-dots li .img img {
  max-width: 100%;
  border: #f1f1ee 2px solid;
  border-radius: 10px;
}

#box-detail-02 .detail-img .slick-dots li .img::before, #box-detail-modal .detail-img .slick-dots li .img::before {
  transition: .3s all;
  content: "";
  display: block;
  background: rgba(0, 0, 0, 0.2);
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  border-radius: 10px;
}

#box-detail-02 .detail-img .slick-dots li .txt, #box-detail-modal .detail-img .slick-dots li .txt {
  color: #000;
  font-size: 1.4rem;
  display: block;
  margin-top: 10px;
}

#box-detail-02 .detail-img li, #box-detail-modal .detail-img li {
  position: relative;
  overflow: hidden;
  padding-bottom: 4px;
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

#box-detail-02 .detail-img li > b, #box-detail-modal .detail-img li > b {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  color: #fff;
  border-radius: 10px 0 10px 0;
  padding: 5px 18px 4px 18px;
  font-size: 1.4rem;
  z-index: 66;
}

#box-detail-02 .detail-img li > b.renewal, #box-detail-modal .detail-img li > b.renewal {
  background: #1b9974;
}

#box-detail-02 .detail-img li > b.new, #box-detail-modal .detail-img li > b.new {
  background: #d62828;
}

#box-detail-02 .detail-img li > b.end, #box-detail-modal .detail-img li > b.end {
  background: #e8e7e2;
  color: #666;
}

#box-detail-02 .detail-img li > .img, #box-detail-modal .detail-img li > .img {
  border: #f1f1ee 1px solid;
  border-radius: 10px;
  overflow: hidden;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
}

#box-detail-02 .detail-img li > .img img, #box-detail-modal .detail-img li > .img img {
  margin: 0 auto;
  max-height: 100%;
}

#box-detail-02 .detail-img li > .txt, #box-detail-modal .detail-img li > .txt {
  position: absolute;
  z-index: -2;
  top: -99em;
  left: -999em;
}

#box-detail-02 .detail-content, #box-detail-modal .detail-content {
  padding-left: 20px;
  width: 50%;
}

#box-detail-02 .detail-content .btn-list-01, #box-detail-modal .detail-content .btn-list-01 {
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}

@media only screen and (max-width: 868px) {
  #box-detail-02, #box-detail-modal {
    margin-bottom: 50px;
    display: block;
  }
  #box-detail-02 .detail-img .box-carousel-detail > .list-01 > li .img, #box-detail-modal .detail-img .box-carousel-detail > .list-01 > li .img {
    padding: 10px;
  }
  #box-detail-02 .detail-img, #box-detail-modal .detail-img {
    width: 100%;
    padding: 0;
  }
  #box-detail-02 .detail-content, #box-detail-modal .detail-content {
    width: 100%;
    padding: 0;
  }
}

/*  detail END -----------------------------------------*/
/*  culture START -----------------------------------------*/
.main#culture {
  background: url(/culture/images/index-01.jpg) no-repeat center top;
  background-size: 100% auto;
}

/*--- hdg-01-01 ------------------*/
.main#culture .hdg-01-01 .hdg-inner .hdg span::before, .main#culture .hdg-01-01 .hdg-inner .hdg span::after {
  content: none;
}

@media only screen and (max-width: 868px) {
  .main#culture .hdg-01-01 .hdg-inner .hdg {
    margin: 0;
    padding-top: 18px;
  }
  .main#culture .hdg-01-01 .hdg-inner .hdg span {
    padding-bottom: 0;
  }
}

/*  culture END -----------------------------------------*/
/*  shop START -----------------------------------------*/
.main#shop {
  background: url(/shop/images/index-01.jpg) no-repeat top center;
  background-size: 100% auto;
}

.main#shop .btn-01 a {
  min-width: 320px;
}

.main#shop .main-item {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -8px;
}

.main#shop .main-item .introduction {
  padding: 0 8px;
  width: 60%;
}

.main#shop .main-item .introduction .introduction-inner {
  padding: 70px 60px 57px 60px;
  background: url(/common/images/bg-01.jpg) center center;
  border-radius: 10px;
}

.main#shop .main-item .introduction .lead-01 {
  margin-top: 0;
  font-size: 3rem;
  text-align: center;
}

.main#shop .main-item .introduction p {
  margin-top: 30px;
  font-size: 1.8rem;
}

.main#shop .main-item .introduction .box {
  background: rgba(255, 255, 255, 0.4);
  border-radius: 10px;
  margin-top: 35px;
}

.main#shop .main-item .introduction .box .hdg-01 {
  padding: 15px 20px 10px 20px;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  border-bottom: #928e80 3px double;
}

.main#shop .main-item .introduction .box .inner {
  padding: 0 20px 20px 20px;
}

.main#shop .main-item .introduction .box .img-list-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 -10px;
}

.main#shop .main-item .introduction .box .img-list-01 li {
  margin-top: 20px;
  padding: 0 10px;
  width: 33.33333%;
}

.main#shop .main-item .introduction .box .img-list-01 li span {
  display: inline-block;
  overflow: hidden;
  border-radius: 10px;
}

.main#shop .main-item .introduction .box .img-list-01 li img {
  transition: .2s all;
  border-radius: 10px;
  transform: scale(1, 1);
  width: 100%;
}

.main#shop .main-item .introduction .box .img-list-01 li a:hover img, .main#shop .main-item .introduction .box .img-list-01 li a:focus img {
  transform: scale(1.1, 1.1);
}

.main#shop .main-item .panel {
  padding: 0 8px;
  width: 40%;
}

.main#shop .main-item .panel .img-list-02 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -9px;
}

.main#shop .main-item .panel .img-list-02 li {
  width: 50%;
  padding: 0 9px;
}

.main#shop .main-item .panel .img-list-02 li:nth-child(n + 3) {
  margin-top: 20px;
}

.main#shop .main-item .panel .img-list-02 li > img {
  border-radius: 10px;
  border: #f8f5e6 1px solid;
}

.main#shop .main-item .panel .img-list-02 li a {
  display: block;
  border: #d2cfc6 1px solid;
  border-radius: 10px;
  transition: .2s all;
}

.main#shop .main-item .panel .img-list-02 li a:hover, .main#shop .main-item .panel .img-list-02 li a:focus {
  opacity: .8;
}

.main#shop .main-item .panel .img-list-02 li a img {
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
}

@media only screen and (max-width: 868px) {
  .main#shop .btn-01 a {
    min-width: auto;
  }
  .main#shop .main-item {
    display: block;
  }
  .main#shop .main-item .introduction {
    width: 100%;
  }
  .main#shop .main-item .introduction .introduction-inner {
    padding: 30px 20px;
  }
  .main#shop .main-item .introduction .lead-01 {
    font-size: 2rem;
  }
  .main#shop .main-item .introduction p {
    font-size: 1.4rem;
  }
  .main#shop .main-item .introduction .box {
    padding: 20px;
  }
  .main#shop .main-item .introduction .box .hdg-01 {
    padding: 0 0 10px 0;
    font-size: 1.6rem;
  }
  .main#shop .main-item .introduction .box .inner {
    padding: 0;
  }
  .main#shop .main-item .introduction .box .img-list-01 {
    margin: 10px -5px 0 -5px;
  }
  .main#shop .main-item .introduction .box .img-list-01 li {
    margin-top: 10px;
    padding: 0 5px;
    width: 50%;
  }
  .main#shop .main-item .panel {
    width: 100%;
  }
  .main#shop .main-item .panel .img-list-02 {
    margin: 0 -5px;
  }
  .main#shop .main-item .panel .img-list-02 li {
    padding: 0 5px;
    margin-top: 16px;
  }
  .main#shop .main-item .panel .img-list-02 li:nth-child(n + 3) {
    margin-top: 16px;
  }
  .main#shop .main-item .panel .img-list-02 li a img {
    width: 100%;
  }
}

.main#shop .link-bnr-01 li img {
  max-width: 300px;
}

@media only screen and (max-width: 868px) {
  .main#shop .link-bnr-01 li img {
    max-width: 100%;
  }
}

/*  shop END -----------------------------------------*/
/*  sbsoken START -----------------------------------------*/
.main#sbsoken {
  background: url(/sbsoken/images/index-01.jpg) no-repeat center 38px;
  background-size: 100% auto;
}

@media only screen and (max-width: 868px) {
  .main#sbsoken {
    background-position: center 34px;
  }
}

/*--- hdg-01-01 ------------------*/
.main#sbsoken .hdg-01-01 .hdg-inner .hdg {
  font-size: 3.2rem;
}

.main#sbsoken .hdg-01-01 .hdg-inner .hdg span {
  margin: 0 auto;
  padding: 0;
  display: block;
}

.main#sbsoken .hdg-01-01 .hdg-inner .hdg span::before, .main#sbsoken .hdg-01-01 .hdg-inner .hdg span::after {
  content: none;
}

.main#sbsoken .hdg-01-01 .hdg-inner .hdg span .sub-01 {
  padding-bottom: 9px;
  margin-bottom: 18px;
  display: table;
  border-bottom: #999 3px double;
  font-size: 2.232rem;
  font-weight: 100;
}

.main#sbsoken .hdg-01-01 .hdg-inner .hdg span .sub-01::before {
  content: attr(data-en);
  color: #1b9974;
  font-size: 1rem;
  width: auto;
  height: auto;
  background: none;
  position: static;
  margin: 0;
  border-radius: 0;
  letter-spacing: 1px;
  padding-bottom: 10px;
}

@media only screen and (max-width: 868px) {
  .main#sbsoken .hdg-01-01 .hdg-inner .hdg {
    font-size: 3rem;
  }
  .main#sbsoken .hdg-01-01 .hdg-inner .hdg span .sub-01 {
    font-size: 2rem;
  }
}

/*--- sbsoken-hdg-01 ------------------*/
.main#sbsoken .sbsoken-hdg-01 {
  font-size: 2.6rem;
  text-align: center;
}

.main#sbsoken .sbsoken-hdg-01 > span {
  font-weight: bold;
  display: inline-block;
  padding: 5px 0 5px 50px;
}

.main#sbsoken .sbsoken-hdg-01.type1 span {
  background: url(/sbsoken/images/index-15.png) left 7px no-repeat;
}

.main#sbsoken .sbsoken-hdg-01.type2 {
  margin-top: 70px;
}

.main#sbsoken .sbsoken-hdg-01.type2 span {
  background: url(/sbsoken/images/index-16.png) left 7px no-repeat;
}

.main#sbsoken .sbsoken-hdg-01.type3 span {
  background: url(/sbsoken/images/index-17.png) left 7px no-repeat;
}

@media only screen and (max-width: 868px) {
  .main#sbsoken .sbsoken-hdg-01 {
    font-size: 2.2rem;
  }
}

/*--- index-01 ------------------*/
.main#sbsoken .index-01.col5 li {
  width: 20%;
}

.main#sbsoken .index-01.col5 li:nth-child(n + 5) {
  margin-top: 0;
}

.main#sbsoken .index-01.col5 li .panel-01 > li > a {
  padding: 0 20px 12px 20px;
}

.main#sbsoken .index-01.col5 li .txt {
  margin-top: 12px;
  line-height: 1.5;
}

@media only screen and (max-width: 1109px) {
  .main#sbsoken .index-01.col5 li {
    width: 33.33333%;
  }
  .main#sbsoken .index-01.col5 li:nth-child(n + 4) {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 868px) {
  .main#sbsoken .index-01.col5 li {
    width: 50%;
  }
  .main#sbsoken .index-01.col5 li:nth-child(n + 4) {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 478px) {
  .main#sbsoken .index-01.col5 li {
    width: 100%;
  }
  .main#sbsoken .index-01.col5 li:nth-child(n + 2) {
    margin-top: 20px;
  }
}

/*--- sbsoken-box-01 ------------------*/
.sbsoken-box-01 {
  background: url(/common/images/bg-01.jpg) center center;
  border-radius: 10px;
  padding: 40px;
}

.sbsoken-box-01 .utility {
  margin-top: 30px;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.sbsoken-box-01 .utility .btn {
  -webkit-align-items: center;
  align-items: center;
  padding-right: 23px;
  position: relative;
}

.sbsoken-box-01 .utility .btn::after {
  content: "";
  display: block;
  border-right: #000 1px dotted;
  width: 1px;
  height: 58px;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -29px;
}

.sbsoken-box-01 .utility .btn p {
  margin-top: 0;
}

.sbsoken-box-01 .utility .btn .title {
  font-size: 1.8rem;
  font-weight: bold;
  padding-right: 30px;
}

.sbsoken-box-01 .utility .btn .btn-02 a {
  padding-top: 15px;
  padding-bottom: 13px;
  min-width: 240px;
}

.sbsoken-box-01 .utility .box-search-01 .search-btn-01 {
  padding: 0 30px;
}

.sbsoken-box-01 .utility .box-search-01 {
  margin-top: 0;
  padding-left: 22px;
}

@media only screen and (max-width: 1109px) {
  .sbsoken-box-01 .utility .btn .btn-02 a {
    min-width: auto;
  }
  .sbsoken-box-01 .utility .btn .title {
    font-size: 1.6rem;
    padding-right: 10px;
  }
  .sbsoken-box-01 .utility .box-search-01 .search-btn-01 {
    padding: 0 20px;
  }
  .sbsoken-box-01 .utility .box-search-01 .search-input-01 {
    width: 230px;
  }
}

@media only screen and (max-width: 868px) {
  .sbsoken-box-01 {
    padding: 30px 20px;
  }
  .sbsoken-box-01 .utility {
    display: block;
  }
  .sbsoken-box-01 .utility .btn {
    display: block;
    padding-bottom: 20px;
    margin-bottom: 20px;
    padding-right: 0;
  }
  .sbsoken-box-01 .utility .btn::after {
    height: 1px;
    width: 100%;
    border-right: 0;
    border-bottom: #000 1px dotted;
    bottom: 0;
    margin: 0;
    top: auto;
  }
  .sbsoken-box-01 .utility .btn .btn-02 a {
    max-width: 100%;
    min-width: auto;
    padding: 10px 20px 8px 30px;
  }
  .sbsoken-box-01 .utility .btn .title {
    padding-bottom: 10px;
    font-size: 1.6rem;
    padding-right: 10px;
  }
  .sbsoken-box-01 .utility .box-search-01 {
    padding-left: 0;
  }
  .sbsoken-box-01 .utility .box-search-01 .search-btn-01 {
    padding: 6px 16px 6px 16px;
  }
  .sbsoken-box-01 .utility .box-search-01 .search-input-01 {
    width: 100%;
  }
}

/*--- content unique ------------------*/
.main#sbsoken .content.unique {
  background: url(/sbsoken/images/index-09.jpg) center center no-repeat;
  background-size: cover;
}

@media only screen and (max-width: 1109px) {
  .main#sbsoken .content.unique .btn-01 {
    margin-top: 20px;
  }
  .main#sbsoken .content.unique .btn-01 a {
    min-width: 315px;
  }
}

@media only screen and (max-width: 868px) {
  .main#sbsoken .content.unique .btn-01 a {
    min-width: auto;
  }
}

/*--- link-list-03 ------------------*/
.main#sbsoken .link-list-03 .sbsoken a > span {
  padding-right: 30px;
  padding-left: 0;
  font-size: 1.6rem;
  font-weight: normal;
  -webkit-align-items: center;
  align-items: center;
}

.main#sbsoken .link-list-03 .sbsoken a > span span {
  padding: 0;
  font-weight: normal;
  padding-left: 30px;
}

.main#sbsoken .link-list-03 .sbsoken a span span::before {
  content: none;
}

@media only screen and (max-width: 868px) {
  .main#sbsoken .link-list-03 .sbsoken a > span {
    display: block;
    font-size: 1.4rem;
  }
  .main#sbsoken .link-list-03 .sbsoken a > span span {
    padding: 0;
    margin-top: 20px;
  }
}

/*  sbsoken END -----------------------------------------*/
#tsujitsumashiawase {
  font-family: "Hiragino Kaku Gothic StdN", Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
}

#tsujitsumashiawase #header {
  border-bottom: 1px solid #F2F2F2;
}

.tsujitsumashiawase-content {
  padding-top: 32px;
}

.tsujitsumashiawase-mainvisual {
  background-image: url(/recipe/images/index-12.jpg);
  background-repeat: repeat;
  background-position: top;
}

.tsujitsumashiawase-mainvisual__inner {
  text-align: center;
  max-width: 550px;
  padding-bottom: calc(80px + 68px);
  margin-inline: auto;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-mainvisual__inner {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.tsujitsumashiawase-mainvisual__content,
.tsujitsumashiawase-mainvisual__text {
  margin-top: 32px;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-mainvisual__content,
  .tsujitsumashiawase-mainvisual__text {
    margin-top: 20px;
  }
}

.tsujitsumashiawase-mainvisual__text {
  font-weight: 600;
  line-height: 2;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-mainvisual__media {
    padding-top: 40px;
  }
}

.tsujitsumashiawase-mainvisual__mediaItem {
  aspect-ratio: 182 / 150;
  width: 315px;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-mainvisual__mediaItem {
    width: 210px;
  }
}

.tsujitsumashiawase-section-01 {
  position: relative;
  background-color: #F8F5E6;
}

.tsujitsumashiawase-section-01::after {
  content: "";
  position: absolute;
  top: -63px;
  left: 0;
  background-image: url(/recipe/tsujitsumashiawase/images/bg-wave.png);
  background-repeat: repeat;
  background-position: top;
  background-size: auto;
  width: 100%;
  height: 68px;
}

.tsujitsumashiawase-section-01__inner {
  text-align: center;
  padding: 52px 120px 220px;
  margin-inline: auto;
}

@media only screen and (max-width: 880px) {
  .tsujitsumashiawase-section-01__inner {
    padding: 52px 20px 220px;
  }
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-section-01__inner {
    padding: 12px 20px 120px;
  }
}

.tsujitsumashiawase-hdg-02 {
  max-width: 556px;
  margin-inline: auto;
}

.tsujitsumashiawase-section-01__wrapper {
  display: flex;
  flex-direction: column;
  gap: calc(84px + 48px);
  margin-top: 48px;
}

@media only screen and (max-width: 880px) {
  .tsujitsumashiawase-section-01__wrapper {
    gap: calc(84px + 32px);
  }
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-section-01__wrapper {
    gap: calc(48px + 32px);
    margin-top: 32px;
  }
}

.tsujitsumashiawase-section-01__content {
  position: relative;
}

.tsujitsumashiawase-section-01__content::after {
  position: absolute;
  content: "";
  background-image: url(/recipe/tsujitsumashiawase/images/img-arrow.png);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 32px;
  height: 84px;
  bottom: -84px;
  left: 50%;
  transform: translate(-50%, 24px);
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-section-01__content::after {
    width: 18px;
    height: 48px;
    bottom: -48px;
    transform: translate(-50%, 12px);
  }
}

.tsujitsumashiawase-section-01__content--bg-01, .tsujitsumashiawase-section-01__content--bg-02 {
  background-size: 100% 100%;
  background-position: center;
  background-repeat: no-repeat;
}

@media only screen and (min-width: 1460px) {
  .tsujitsumashiawase-section-01__content--bg-01, .tsujitsumashiawase-section-01__content--bg-02 {
    background-size: contain;
  }
}

.tsujitsumashiawase-section-01__content--bg-01 {
  background-image: url(/recipe/tsujitsumashiawase/images/bg-index-02-pc.png);
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-section-01__content--bg-01 {
    background-image: url(/recipe/tsujitsumashiawase/images/bg-index-02-sp.png);
  }
}

.tsujitsumashiawase-section-01__content--bg-02 {
  background-image: url(/recipe/tsujitsumashiawase/images/bg-index-03-pc.png);
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-section-01__content--bg-02 {
    background-image: url(/recipe/tsujitsumashiawase/images/bg-index-03-sp.png);
  }
}

.tsujitsumashiawase-section-01__content--bg-02:after {
  content: none;
}

.tsujitsumashiawase-section-01__contentItem {
  margin-inline: auto;
  padding: 80px 32px;
  width: 85%;
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-section-01__contentItem {
    padding: 36px 8px;
  }
}

.tsujitsumashiawase-section-01-lead__text {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  display: inline;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  background: linear-gradient(transparent 60%, #F0E4A8 60%);
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-section-01-lead__text {
    font-size: 2rem;
  }
}

.tsujitsumashiawase-section-01__text {
  margin-top: 24px;
}

.tsujitsumashiawase-section-01__icon {
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-top: 32px;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-section-01__icon {
    margin-top: 16px;
  }
}

.tsujitsumashiawase-section-01__iconItem {
  gap: 8px;
  max-width: 153px;
}

.tsujitsumashiawase-section-01__media {
  position: relative;
  margin-top: 32px;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-section-01__media {
    margin-top: 24px;
  }
}

.tsujitsumashiawase-section-01__media--right::after {
  position: absolute;
  content: "";
  background-image: url(/recipe/tsujitsumashiawase/images/img-ashirai-left.png);
  transform: translate(-50%) rotateY(180deg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 48px;
  height: 51px;
}

@media only screen and (max-width: 880px) {
  .tsujitsumashiawase-section-01__media--right::after {
    width: 32px;
    height: 34px;
  }
}

@media only screen and (max-width: 699px) {
  .tsujitsumashiawase-section-01__media--right::after {
    width: 15px;
    height: 16px;
  }
}

.tsujitsumashiawase-section-01__media--left::before {
  position: absolute;
  content: "";
  background-image: url(/recipe/tsujitsumashiawase/images/img-ashirai-right.png);
  background-size: contain;
  background-repeat: no-repeat;
  transform: translate(-50%) rotateY(180deg);
  width: 48px;
  height: 51px;
}

@media only screen and (max-width: 880px) {
  .tsujitsumashiawase-section-01__media--left::before {
    width: 32px;
    height: 34px;
  }
}

@media only screen and (max-width: 699px) {
  .tsujitsumashiawase-section-01__media--left::before {
    width: 15px;
    height: 16px;
  }
}

.tsujitsumashiawase-section-02 {
  position: relative;
  top: -60px;
}

.tsujitsumashiawase-section-02__inner {
  background-image: url(/recipe/tsujitsumashiawase/images/img-dot.png);
  background-size: auto;
  background-position: bottom;
  background-repeat: no-repeat;
  padding: 0 60px 80px;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-section-02__inner {
    padding: 0 20px 80px;
  }
}

.tsujitsumashiawase-hdg-02-02 {
  margin-inline: auto;
  max-width: 550px;
}

.tsujitsumashiawase-hdg-02-02__heading {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  color: #FFFFFF;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(/recipe/tsujitsumashiawase/images/bg-heading.png);
  background-position: bottom;
  background-repeat: no-repeat;
  height: 120px;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-hdg-02-02__heading {
    font-size: 2rem;
    background-position: center;
    background-size: 100%;
  }
}

.tsujitsumashiawase-link {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: stretch;
  height: 100%;
  margin-top: 48px;
  gap: 8px;
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-link {
    margin-top: 32px;
    flex-direction: column;
  }
}

.tsujitsumashiawase-brPC {
  display: inline-block;
}

.tsujitsumashiawase-link__linkItem {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  text-align: center;
  flex: 1;
  border-radius: 20px;
  box-shadow: 3px 3px 0px 1px rgba(210, 207, 198, 0.5);
  max-width: 250px;
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-link__linkItem {
    max-width: none;
    width: 100%;
    min-height: auto;
  }
}

.tsujitsumashiawase-link__linkItem:hover {
  background-color: #FFFFFF;
  box-shadow: none;
}

.tsujitsumashiawase-link__linkItem:hover .tsujitsumashiawase-link__text > span::before {
  background: #fff;
}

.tsujitsumashiawase-link__linkItem:hover .tsujitsumashiawase-link__text > span::after {
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
}

.tsujitsumashiawase-link__linkItem:hover .tsujitsumashiawase-link__text > span > span::before {
  background: #1b9974;
}

.tsujitsumashiawase-link__linkItem--gold {
  background-color: #D7B950;
  border: 4px solid #D7B950;
}

.tsujitsumashiawase-link__linkItem--green {
  background-color: #00A541;
  border: 4px solid #00A541;
}

.tsujitsumashiawase-link__linkItem--orange {
  background-color: #EB641E;
  border: 4px solid #EB641E;
}

.tsujitsumashiawase-link__linkItem--blue {
  background-color: #0096EB;
  border: 4px solid #0096EB;
}

.tsujitsumashiawase-link__linkItem--pink {
  background-color: #FFB9DC;
  border: 4px solid #FFB9DC;
}

.tsujitsumashiawase-link__inner {
  padding: 16px;
  text-decoration: none;
  color: #000000;
}

.tsujitsumashiawase-link__comment {
  position: relative;
  font-size: 1.4rem;
  font-weight: 400;
  text-align: center;
  display: inline-block;
  background-color: #FFFFFF;
  border-radius: 20px;
  width: 100%;
  padding: 8px 16px;
  margin-top: 0;
}

.tsujitsumashiawase-link__comment::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  width: 13px;
  height: 8px;
  background-color: #FFFFFF;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: '';
}

.tsujitsumashiawase-link__content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-link__content {
    flex-direction: row;
    justify-content: center;
    align-items: flex-end;
    gap: 8px;
    margin-top: 16px;
  }
}

.tsujitsumashiawase-link__media {
  margin-top: 18px;
}

@media only screen and (max-width: 760px) {
  .tsujitsumashiawase-link__media {
    margin-top: 0;
    width: 95px;
  }
}

.tsujitsumashiawase-link__text {
  line-height: 1.5;
  font-weight: 600;
  text-align: center;
  min-width: 184px;
  padding-bottom: 34px;
  margin-top: 0;
}

.tsujitsumashiawase-link__text > span {
  position: relative;
}

.tsujitsumashiawase-link__text > span::before, .tsujitsumashiawase-link__text > span::after {
  content: '';
  display: block;
  position: absolute;
  z-index: 2;
  bottom: -31px;
  left: 50%;
  transform: translateX(-50%);
}

.tsujitsumashiawase-link__text > span::before {
  background: #1b9974;
  width: 2px;
  height: 13px;
  margin-top: -9px;
}

.tsujitsumashiawase-link__text > span::after {
  width: 8px;
  height: 8px;
  border-bottom: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  left: calc(50% - 4px);
  margin-top: -4px;
}

.tsujitsumashiawase-link__text > span > span {
  display: inline-block;
  position: relative;
  line-height: 1.4;
}

.tsujitsumashiawase-link__text > span > span::before {
  content: '';
  display: block;
  background: #fff;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  bottom: -34px;
  left: 50%;
  transform: translateX(-50%);
  margin-top: -9px;
}

.tsujitsumashiawase-section-03 {
  margin-top: 48px;
}

.tsujitsumashiawase-section-03__inner {
  padding: 0 80px 50px;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-section-03__inner {
    padding: 0 20px 40px;
  }
}

.tsujitsumashiawase-hdg-02-03 {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: center;
  gap: 16px;
  margin-top: 60px;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-hdg-02-03 {
    margin-top: 48px;
  }
}

.tsujitsumashiawase-hdg-02-03__heading {
  border-bottom: dashed 4px #D7B950;
  position: relative;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 600;
  color: #00A541;
  width: 100%;
}

@media only screen and (max-width: 868px) {
  .tsujitsumashiawase-hdg-02-03__heading {
    font-size: 2rem;
  }
}

.tsujitsumashiawase-hdg-02-03__heading--red {
  border-bottom: none;
  font-weight: bold;
  color: #D6182C;
}

/*  recipe START -----------------------------------------*/
.main.recipe .btn-02 {
  margin-top: 37px;
}

@media only screen and (max-width: 868px) {
  .main.recipe .btn-02 {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 868px) {
  .main[id^="recipe-search"] #recipeSearch01 {
    text-align: center;
  }
}

.main[id^="recipe-search"] [id^="js-jpnGroup"].hide {
  display: none;
}

/*--- box-toggle-01 ------------------*/
.main[id^="recipe-"] .box-toggle-01 .hdg-01 {
  border-top: 0;
  font-size: 2.4rem;
}

.main[id^="recipe-"] .box-toggle-01 .hdg-01 button {
  background: none;
  color: #1b9974;
}

.main[id^="recipe-"] .box-toggle-01 .item {
  border-top: #d2cfc6 1px solid;
}

.main[id^="recipe-"] .box-toggle-01.small .hdg-01 {
  font-size: 2rem;
}

@media only screen and (max-width: 868px) {
  .main[id^="recipe-"] .box-toggle-01.small .hdg-01 {
    font-size: 1.8rem;
  }
  .main[id^="recipe-"] .box-toggle-01 .hdg-01 {
    font-size: 2rem;
    margin: 0 -20px;
  }
  .main[id^="recipe-"] .box-toggle-01 .hdg-01 button {
    padding: 11px 35px 10px 20px;
  }
  .main[id^="recipe-"] .box-toggle-01 .item {
    margin: 0 -20px;
    padding: 17px 20px;
  }
}

/*--- recipe-word- ------------------*/
.recipe-word-title {
  white-space: nowrap;
  font-weight: bold;
  font-size: 1.8rem;
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .recipe-word-title {
    display: none;
  }
}

.recipe-word {
  padding: 0 10px;
}

.recipe-word li {
  display: inline-block;
  padding: 0 12px;
  position: relative;
}

.recipe-word li::before {
  content: "";
  display: block;
  background: #000;
  width: 1px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
}

.recipe-word li:last-child::before {
  content: none;
}

@media only screen and (max-width: 868px) {
  .recipe-word {
    padding: 0;
    margin: 0 -10px;
  }
  .recipe-word li:nth-child(n + 4) {
    display: none;
  }
}

/*--- hdg-01-01 ------------------*/
.resipe-hdg-utility {
  margin-top: 32px;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

.resipe-hdg-utility .box-search-01 {
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .resipe-hdg-utility {
    min-width: 260px;
    margin-top: 18px;
    display: block;
  }
  .resipe-hdg-utility + .resipe-hdg-utility {
    margin-top: 10px;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
}

.main.recipe .hdg-01-01 {
  background: url("/recipe/images/index-10.jpg") no-repeat center top;
  background-size: cover;
}

.main.recipe .hdg-01-01 .hdg-inner .hdg span {
  padding: 0;
}

.main.recipe .hdg-01-01 .hdg-inner .hdg span::before, .main.recipe .hdg-01-01 .hdg-inner .hdg span::after {
  content: none;
}

.main.recipe .hdg-01-01 .link-box-01 {
  margin-top: 0;
  padding: 0 30px 0 20px;
}

.main.recipe .hdg-01-01 .link-box-01 a {
  text-align: center;
  display: block;
  border: #f1f1ee 1px solid;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
  padding: 15px 30px 15px 29px;
  color: #000;
  text-decoration: none;
  transition: .3s all;
  background: #fff;
}

.main.recipe .hdg-01-01 .link-box-01 a .mark {
  display: inline-block;
  position: relative;
}

.main.recipe .hdg-01-01 .link-box-01 a .mark::before, .main.recipe .hdg-01-01 .link-box-01 a .mark::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  z-index: 2;
  transition: left .2s ease-in-out;
}

.main.recipe .hdg-01-01 .link-box-01 a .mark::before {
  background: #fff;
  height: 2px;
  width: 13px;
  left: 0;
  margin-top: -1px;
}

.main.recipe .hdg-01-01 .link-box-01 a .mark::after {
  width: 8px;
  height: 8px;
  border-top: solid 2px #f8f5e6;
  border-right: solid 2px #f8f5e6;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -4px;
  left: 6px;
}

.main.recipe .hdg-01-01 .link-box-01 a .mark span {
  position: relative;
  display: inline-block;
  padding-left: 25px;
}

.main.recipe .hdg-01-01 .link-box-01 a .mark span::before {
  content: "";
  display: block;
  background: #1b9974;
  height: 18px;
  width: 18px;
  border-radius: 36px;
  position: absolute;
  top: 50%;
  margin-top: -9px;
  left: 0;
}

.main.recipe .hdg-01-01 .link-box-01 a:hover, .main.recipe .hdg-01-01 .link-box-01 a:focus {
  color: #1b9974;
}

.main.recipe .hdg-01-01 .link-box-01 a:hover .mark::before, .main.recipe .hdg-01-01 .link-box-01 a:focus .mark::before {
  left: 2px;
}

.main.recipe .hdg-01-01 .link-box-01 a:hover .mark::after, .main.recipe .hdg-01-01 .link-box-01 a:focus .mark::after {
  left: 8px;
}

.main.recipe .hdg-01-01 .link-box-02 {
  margin-top: 0;
  padding-left: 33px;
  border-left: #d2cfc6 2px dotted;
}

.main.recipe .hdg-01-01 .link-box-02 a {
  display: inline-block;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
}

.main.recipe .hdg-01-01 #local-special-01 {
  margin: 0 -20px;
}

.main.recipe .hdg-01-01 #local-special-01 .link {
  padding: 0 20px;
}

@media only screen and (max-width: 1228px) {
  .main.recipe .hdg-01-01 .resipe-hdg-utility .box-search-01 .search-input-01 {
    width: 230px;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .box-search-01 .search-btn-01 {
    margin-left: 10px;
  }
}

@media only screen and (max-width: 974px) {
  .main.recipe .hdg-01-01 .resipe-hdg-utility .link-box-01 {
    font-size: 1.4rem;
    padding: 0 10px;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .link-box-01 a {
    padding-left: 15px;
    padding-right: 15px;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .link-box-01 a .mark span {
    padding-left: 28px;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .link-box-02 {
    padding: 0 0 0 10px;
  }
}

@media only screen and (max-width: 868px) {
  .main.recipe .hdg-01-01 {
    background: url("/recipe/images/index-10.jpg") no-repeat center top;
    background-size: contain;
  }
  .main.recipe .hdg-01-01 .hdg-inner .hdg {
    margin: 0;
    padding-top: 18px;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility {
    min-width: 260px;
    margin-top: 18px;
    display: block;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility + .resipe-hdg-utility {
    margin-top: 10px;
    -webkit-align-items: flex-start;
    align-items: flex-start;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .box-search-01 .search-input-01 {
    width: 100%;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .box-search-01 .search-btn-01 {
    margin: 0;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .link-box-01 {
    float: left;
    width: 50%;
    padding: 0 5px 0 0;
    margin: 15px auto 0 auto;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .link-box-01 a {
    font-size: 1.2rem;
    margin: 0 auto;
    padding: 5px 14px 5px 14px;
    max-width: 160px;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .link-box-02 {
    float: right;
    width: 50%;
    margin-top: 15px;
    padding: 0 0 0 5px;
    border: 0;
    text-align: center;
  }
  .main.recipe .hdg-01-01 .resipe-hdg-utility .link-box-02 a img {
    width: 150px;
  }
}

/*--- recipe-hdg-01 ------------------*/
.main.recipe .recipe-hdg-01 {
  font-size: 2.8rem;
  text-align: center;
}

.main.recipe .recipe-hdg-01 span {
  display: inline-block;
  font-weight: bold;
  padding-left: 50px;
  background-position: left 4px;
  background-repeat: no-repeat;
}

.main.recipe .recipe-hdg-01.small {
  font-size: 2.6rem;
}

.main.recipe .recipe-hdg-01.recipe span {
  background-image: url("/recipe/images/index-02.png");
}

.main.recipe .recipe-hdg-01.feature span {
  background-image: url("/recipe/images/index-04.png");
}

.main.recipe .recipe-hdg-01.hearb span {
  background-image: url("/recipe/images/index-03.png");
}

.main.recipe .recipe-hdg-01.sharch span {
  background-image: url("/recipe/images/index-05.png");
}

@media only screen and (max-width: 868px) {
  .main.recipe .recipe-hdg-01 {
    font-size: 1.8rem;
  }
  .main.recipe .recipe-hdg-01 span {
    padding: 3px 0 1px 36px;
    background-size: auto 30px;
  }
  .main.recipe .recipe-hdg-01.small {
    font-size: 1.8rem;
  }
  .main.recipe .recipe-hdg-01.feature span {
    background-size: auto 22px;
  }
}

/*--- recipe-hdg-02 ------------------*/
.main.recipe .recipe-hdg-02 {
  font-size: 3.4rem;
  text-align: center;
  font-weight: bold;
}

@media only screen and (max-width: 868px) {
  .main.recipe .recipe-hdg-02 {
    font-size: 2.4rem;
  }
}

/*--- recipe-hdg-03 ------------------*/
.main.recipe .recipe-hdg-03 {
  font-size: 2.6rem;
  text-align: center;
  font-weight: bold;
}

.main.recipe .recipe-hdg-03 span {
  font-weight: bold;
  display: inline-block;
  position: relative;
  padding: 0 55px;
}

.main.recipe .recipe-hdg-03 span::before, .main.recipe .recipe-hdg-03 span::after {
  content: "";
  display: block;
  height: 4px;
  width: 32px;
  background: #d62828;
  position: absolute;
  top: 50%;
  margin-top: -2px;
  border-radius: 2px;
}

.main.recipe .recipe-hdg-03 span::before {
  left: 0;
}

.main.recipe .recipe-hdg-03 span::after {
  right: 0;
}

@media only screen and (max-width: 868px) {
  .main.recipe .recipe-hdg-03 {
    font-size: 2rem;
  }
  .main.recipe .recipe-hdg-03 span {
    padding: 0 0 15px 0;
  }
  .main.recipe .recipe-hdg-03 span::before {
    content: none;
  }
  .main.recipe .recipe-hdg-03 span::after {
    width: 16px;
    height: 3px;
    right: 50%;
    margin-right: -8px;
    top: auto;
    bottom: 0;
  }
}

/*--- content + recipe-01 ------------------*/
.main.recipe .content.recipe-01 {
  background: url("/recipe/images/index-11.jpg") no-repeat top center;
  background-size: cover;
}

/*--- content + recipe-02 ------------------*/
@media only screen and (max-width: 868px) {
  .main.recipe .content .content-inner {
    padding-top: 20px;
  }
}

/*--- content + recipe-02 ------------------*/
.main.recipe .content.recipe-02 {
  background: url("/recipe/images/index-13.jpg") no-repeat top center;
  background-size: cover;
}

.main.recipe .content.recipe-02 .content-inner {
  padding-top: 50px;
}

.main.recipe .content.recipe-02 .search-link-01 {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -15px;
}

.main.recipe .content.recipe-02 .search-link-01 li {
  width: 16.66667%;
  padding: 0 15px;
  margin-top: 16px;
}

.main.recipe .content.recipe-02 .search-link-01 li a {
  display: block;
  color: #000;
  text-decoration: none;
  text-align: center;
}

.main.recipe .content.recipe-02 .search-link-01 li a .img {
  border-radius: 360px;
  display: inline-block;
  overflow: hidden;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.main.recipe .content.recipe-02 .search-link-01 li a img {
  width: 100%;
  transform: scale(1, 1);
  transition: .3s all;
  border-radius: 360px;
}

.main.recipe .content.recipe-02 .search-link-01 li a .txt {
  display: block;
  margin-top: 4px;
}

.main.recipe .content.recipe-02 .search-link-01 li a:hover img, .main.recipe .content.recipe-02 .search-link-01 li a:focus img {
  transform: scale(1.1, 1.1);
}

@media only screen and (max-width: 1109px) {
  .main.recipe .content.recipe-02 .search-link-01 li {
    width: 33.33333%;
  }
}

@media only screen and (max-width: 868px) {
  .main.recipe .content.recipe-02 .content-inner {
    padding-top: 20px;
  }
}

@media only screen and (max-width: 478px) {
  .main.recipe .content.recipe-02 .search-link-01 {
    margin: 0 -5px;
  }
  .main.recipe .content.recipe-02 .search-link-01 li {
    width: 50%;
    padding: 0 5px;
  }
}

/*--- content + recipe-03 ------------------*/
.main.recipe .content.recipe-03 .content-inner {
  max-width: 1380px;
}

/*--- recipe-conten-01 ------------------*/
.main.recipe .recipe-conten-01 {
  width: 100%;
  -webkit-justify-content: center;
  justify-content: center;
}

.main.recipe .recipe-conten-01 > .feature {
  padding: 40px 60px 60px 60px;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  width: 50%;
  background: url("/recipe/images/index-12.jpg") center center;
}

.main.recipe .recipe-conten-01 > .feature .feature-inner {
  max-width: 680px;
}

.main.recipe .recipe-conten-01 > .feature .feature-inner .recipe-hdg-02 {
  line-height: 1.3;
}

.main.recipe .recipe-conten-01 > .feature .feature-inner .lead {
  font-size: 2rem;
  text-align: center;
  margin-top: 0;
}

.main.recipe .recipe-conten-01 > .feature .feature-inner a {
  margin-top: 20px;
  display: block;
  text-decoration: none;
}

.main.recipe .recipe-conten-01 > .feature .feature-inner a:hover .feature-visual-01 li img, .main.recipe .recipe-conten-01 > .feature .feature-inner a:focus .feature-visual-01 li img {
  transform: scale(1.1, 1.1);
}

.main.recipe .recipe-conten-01 > .feature .feature-inner .feature-visual-01 li .img {
  overflow: hidden;
  display: block;
  border-radius: 10px;
}

.main.recipe .recipe-conten-01 > .feature .feature-inner .feature-visual-01 li img {
  transition: .3s all;
  transform: scale(1, 1);
  width: 100%;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.main.recipe .recipe-conten-01 > .feature .feature-inner .feature-visual-01 li:nth-child(2) {
  width: 50%;
  float: left;
  margin-top: 6px;
  padding-right: 3px;
}

.main.recipe .recipe-conten-01 > .feature .feature-inner .feature-visual-01 li:nth-child(2) + li {
  margin-top: 6px;
  padding-left: 3px;
  width: 50%;
  float: right;
}

.main.recipe .recipe-conten-01 > .hearb {
  padding: 40px 60px 60px 60px;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
  width: 50%;
  background: url("/common/images/bg-01.jpg") center center;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner {
  max-width: 680px;
  width: 100%;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 {
  margin-top: 10px;
  max-width: 680px;
  border-top: #928e80 3px double;
  border-bottom: #928e80 3px double;
  -webkit-align-items: center;
  align-items: center;
  padding: 35px 0 35px 20px;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .img {
  margin-top: 0;
  width: 40%;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt {
  padding-left: 20px;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt .lead {
  margin-top: 0;
  font-size: 2rem;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt .lead span {
  font-weight: bold;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, #f0e4a8 50%, #f0e4a8 100%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, #f0e4a8 50%, #f0e4a8 100%);
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt .check li {
  margin-top: 8px;
  font-size: 1.8rem;
  position: relative;
  padding-left: 30px;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt .check li::before {
  content: "";
  display: block;
  background: #1b9974;
  border-radius: 50px;
  width: 22px;
  height: 22px;
  position: absolute;
  top: 2px;
  left: 0;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt .check li::after {
  content: "";
  display: block;
  width: 10px;
  height: 7px;
  border-top: solid 2px #f1e8d7;
  border-right: solid 2px #f1e8d7;
  will-change: transform;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  position: absolute;
  top: 8px;
  left: 6px;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner a {
  margin-top: 20px;
  display: block;
  text-decoration: none;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner a:hover .btn-02 .link, .main.recipe .recipe-conten-01 > .hearb .hearb-inner a:focus .btn-02 .link {
  background: #fff;
  box-shadow: none;
  color: #1b9974;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner a:hover .btn-02 .link::before, .main.recipe .recipe-conten-01 > .hearb .hearb-inner a:focus .btn-02 .link::before {
  background: #fff;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner a:hover .btn-02 .link::after, .main.recipe .recipe-conten-01 > .hearb .hearb-inner a:focus .btn-02 .link::after {
  border-color: #fff;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner a:hover .btn-02 .link span::before, .main.recipe .recipe-conten-01 > .hearb .hearb-inner a:focus .btn-02 .link span::before {
  background: #1b9974;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner a:hover .hearb-visual-01 li img, .main.recipe .recipe-conten-01 > .hearb .hearb-inner a:focus .hearb-visual-01 li img {
  transform: scale(1.1, 1.1);
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-visual-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 48px -3px 0 -3px;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-visual-01 li {
  width: 50%;
  padding: 3px;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-visual-01 li .img {
  display: block;
  overflow: hidden;
  border-radius: 10px;
}

.main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-visual-01 li img {
  transform: scale(1, 1);
  transition: .3s all;
  border-radius: 10px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

@media only screen and (max-width: 868px) {
  .main.recipe .recipe-conten-01 {
    display: block;
  }
  .main.recipe .recipe-conten-01 > .feature, .main.recipe .recipe-conten-01 > .hearb {
    width: 100%;
    padding: 20px 20px 40px 20px;
  }
  .main.recipe .recipe-conten-01 > .feature .feature-inner {
    max-width: 100%;
  }
  .main.recipe .recipe-conten-01 > .feature .feature-inner .lead {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: -.5px;
    margin-top: 10px;
  }
  .main.recipe .recipe-conten-01 > .feature .feature-inner .feature-visual-01 li:nth-child(2) {
    margin-top: 10px;
    padding-right: 5px;
  }
  .main.recipe .recipe-conten-01 > .feature .feature-inner .feature-visual-01 li:nth-child(2) + li {
    margin-top: 10px;
    padding-left: 5px;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner {
    max-width: 100%;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner .recipe-hdg-02 {
    letter-spacing: -1px;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 {
    max-width: 100%;
    display: block;
    padding: 18px 0;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .img {
    text-align: center;
    width: 100%;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt {
    margin-top: 18px;
    padding: 0;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt .lead {
    font-size: 1.8rem;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-box-01 > .txt .check li {
    font-size: 1.6rem;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-visual-01 {
    margin: 25px -5px 0 -5px;
  }
  .main.recipe .recipe-conten-01 > .hearb .hearb-inner .hearb-visual-01 li {
    padding: 5px;
  }
}

/*--- index-07 ------------------*/
.main.recipe .index-07.col2 {
  padding: 0 100px;
  margin-top: 0;
}

.main.recipe .index-07.col2 .panel-01 > li {
  width: 50%;
}

.main.recipe .index-07.col2 .panel-01 > li > div > a .title::before,
.main.recipe .index-07.col2 .panel-01 > li > div > a .title::after {
  content: none;
}

.main.recipe .index-07.col2 .panel-01 > li > div > a .title span {
  padding-right: 0;
}

.main.recipe .index-07.col2 .panel-01 > li > div > a .title span::before {
  content: none;
}

.main.recipe .index-07.col2 .link-img-02 li + li {
  margin-top: 10px;
}

@media only screen and (max-width: 868px) {
  .main.recipe .index-07.col2 {
    padding: 0;
    margin-top: 16px;
  }
  .main.recipe .index-07.col2 .panel-01 {
    display: block;
  }
  .main.recipe .index-07.col2 .panel-01 > li {
    width: 100%;
  }
  .main.recipe .index-07.col2 .panel-01 > li + li {
    margin-top: 20px;
  }
  .main.recipe .index-07.col2 .panel-01 > li div > a .title {
    font-size: 1.6rem;
    margin-top: 16px;
  }
  .main.recipe .index-07.col2 .panel-01 > li div > a .img {
    display: block;
  }
  .main.recipe .index-07.col2 .panel-01 > li div > a .txt {
    padding: 0 0 15px 0;
  }
}

/*  recipe END -----------------------------------------*/
/*  recipe-feature START -----------------------------------------*/
.main.recipe-feature .visual-feature-01 {
  padding: 0 20px;
  margin-top: 30px;
  text-align: center;
}

.main.recipe-feature .feature-lead-01 {
  font-size: 1.8rem;
  width: 80%;
  margin: 0 auto;
}

.main.recipe-feature .feature-lead-01 span {
  font-weight: bold;
  display: inline-block;
}

.main.recipe-feature .feature-lead-01 + .index-07 {
  margin-top: 22px;
}

.main.recipe-feature .content .content-inner {
  padding-top: 32px;
}

.main.recipe-feature .content .layout-recipe-01 .index-04 {
  margin: 0 -10px;
}

.main.recipe-feature .content .layout-recipe-01 .index-04 li {
  padding: 10px 10px 0 10px;
}

.main.recipe-feature .content .index-01 {
  margin-top: 30px;
}

.main.recipe-feature .content .link-img-02 li a > .img img {
  max-width: 98px;
}

@media only screen and (max-width: 868px) {
  .main.recipe-feature .feature-lead-01 {
    font-size: 1.4rem;
    width: 100%;
  }
  .main.recipe-feature .visual-feature-01 {
    margin-top: 20px;
  }
  .main.recipe-feature .content .content-inner {
    padding-top: 30px;
  }
}

/*  recipe-feature END -----------------------------------------*/
/*  recipe-detail START -----------------------------------------*/
/*--- hdg-02-01 ------------------*/
.main#recipe-detail .hdg-02-01.icon01 {
  display: table;
  padding: 2px 50px 1px 0;
  background: url("/common/images/icon-recipe-05.png") no-repeat center right;
}

.main#recipe-detail .hdg-02-01.icon02 {
  display: table;
  width: auto;
  padding: 2px 0 1px 0;
}

.main#recipe-detail .hdg-02-01.icon02::after {
  content: "";
  display: inline-block;
  width: 37px;
  height: 32px;
  background: url("/common/images/icon-recipe-06.gif") no-repeat top center;
  margin-left: 20px;
  vertical-align: middle;
}

/*--- recipe-detail-box ------------------*/
.main#recipe-detail #recipe-detail-box {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 14px -10px 0;
}

.main#recipe-detail #recipe-detail-box > [class^="detail-"]:not(.detail-nutrient) {
  width: 50%;
  padding: 0 10px;
}

.main#recipe-detail #recipe-detail-box > .detail-nutrient {
  width: 100%;
}

.main#recipe-detail #recipe-detail-box > .detail-img {
  border-radius: 10px;
}

.main#recipe-detail #recipe-detail-box > .detail-img img {
  border-radius: 10px;
}

.main#recipe-detail #recipe-detail-box > .detail-img .movie {
  position: relative;
  padding-top: 56.32%;
}

.main#recipe-detail #recipe-detail-box > .detail-img .movie iframe {
  border: 0;
  position: absolute;
  top: 0;
  left: 0;
  margin: auto;
  height: 100%;
  width: 100%;
}

.main#recipe-detail #recipe-detail-box > .detail-content {
  flex-direction: column;
}

.main#recipe-detail #recipe-detail-box > .detail-content > p {
  font-size: 2rem;
}

.main#recipe-detail #recipe-detail-box > .detail-content .link-02 {
  font-size: 1.6rem;
  margin-top: 16px;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  text-align: center;
  margin: auto -1px 0 -1px;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type li {
  width: 33.33333%;
  padding: 0 1px;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type li .inner {
  padding: 24px 5px 12px 5px;
  display: block;
  background: #f8f5e6;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type li .inner span {
  padding-top: 30px;
  display: inline-block;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type li .inner b {
  display: block;
  font-size: 2rem;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type .cal .inner {
  border-top: #f5d4cc 4px solid;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type .cal .inner span {
  background: url("/common/images/icon-recipe-07.gif") no-repeat center top;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type .time .inner {
  border-top: #b8d9ce 4px solid;
  border-radius: 10px 0 0 10px;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type .time .inner span {
  background: url("/common/images/icon-recipe-08.gif") no-repeat center top;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type .mtl .inner {
  border-top: #c1d2df 4px solid;
  border-radius: 0 10px 10px 0;
}

.main#recipe-detail #recipe-detail-box > .detail-content .type .mtl .inner span {
  background: url("/common/images/icon-recipe-09.gif") no-repeat center top;
}

.main#recipe-detail #recipe-detail-box > .detail-content > p:first-child {
  margin-top: 0;
}

.main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient {
  border-bottom: #d2cfc6 1px dotted;
}

.main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li {
  display: table;
  width: 100%;
  border-top: #d2cfc6 1px dotted;
}

.main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li a {
  color: #d62828;
}

.main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li div {
  display: table-cell;
  vertical-align: top;
  padding: 7px 5px 5px 5px;
}

.main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li .title {
  width: 50%;
}

.main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li .data {
  width: 50%;
}

.main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li .inner li {
  border-top: #d2cfc6 1px dotted;
  display: table;
  width: 100%;
}

.main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li .inner li .title {
  padding-left: 20px;
}

@media only screen and (max-width: 868px) {
  .main#recipe-detail #recipe-detail-box {
    display: block;
    margin: 10px 0 0;
  }
  .main#recipe-detail #recipe-detail-box > [class^="detail-"]:not(.detail-nutrient) {
    padding: 0;
    width: 100%;
  }
  .main#recipe-detail #recipe-detail-box > .detail-img img {
    width: 100%;
  }
  .main#recipe-detail #recipe-detail-box > .detail-content {
    margin-top: 20px;
  }
  .main#recipe-detail #recipe-detail-box > .detail-content .link-02 {
    margin: 16px auto 0;
  }
  .main#recipe-detail #recipe-detail-box > .detail-content .type {
    margin-top: 20px;
  }
  .main#recipe-detail #recipe-detail-box > .detail-content .type li .inner b {
    font-size: 1.6rem;
  }
  .main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li div {
    padding: 7px 0 5px 0;
  }
  .main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li .data {
    text-align: right;
    padding-left: 30px;
  }
  .main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li .inner {
    margin-top: 5px;
  }
  .main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li .inner li {
    padding-left: 14px;
  }
  .main#recipe-detail #recipe-detail-box > .detail-material .list-ingredient > li .inner li .title {
    padding-left: 0;
  }
}

@media only screen and (max-width: 478px) {
  .main#recipe-detail #recipe-detail-box > .detail-content .list-ingredient > li .title {
    white-space: normal;
  }
}

/*--- recipe-detail-box ------------------*/
.main#recipe-detail .link-02 + .recipe-detail-utility {
  margin-top: 32px;
}

.main#recipe-detail .recipe-detail-utility {
  margin-top: 60px;
}

.main#recipe-detail .recipe-detail-utility.line {
  position: relative;
}

.main#recipe-detail .recipe-detail-utility.line::before {
  content: "";
  display: block;
  border-top: #d2cfc6 3px double;
  width: 100%;
  height: 3px;
  position: absolute;
  top: 50%;
  margin-top: -1.5px;
  left: 0;
  z-index: -1;
}

.main#recipe-detail .recipe-detail-utility.line::after {
  content: "";
  display: block;
  position: absolute;
  background: #fff;
  width: 590px;
  top: 50%;
  left: 0;
  margin-top: -14px;
  height: 28px;
  z-index: -1;
}

.main#recipe-detail .recipe-detail-utility.line li:last-child {
  padding-right: 20px;
}

.main#recipe-detail .recipe-detail-utility .utility-inner {
  margin: 0 -5px;
  vertical-align: top;
}

.main#recipe-detail .recipe-detail-utility li {
  display: inline-block;
  background: #fff;
  padding: 0 5px;
  margin-bottom: 5px;
}

.main#recipe-detail .recipe-detail-utility li img {
  max-width: initial;
}

.main#recipe-detail .recipe-detail-utility li.line a:hover, .main#recipe-detail .recipe-detail-utility li.line a:focus {
  opacity: .8;
}

.main#recipe-detail .recipe-detail-utility li.tw {
  height: 14px;
  position: relative;
  width: 94px;
}

.main#recipe-detail .recipe-detail-utility li.tw iframe {
  font-family: Arial, Helvetica, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Meiryo, "メイリオ", sans-serif;
  position: absolute !important;
  top: 0;
  left: 0;
}

.main#recipe-detail .recipe-detail-utility .btn-favorite {
  padding-right: 15px;
}

.main#recipe-detail .recipe-detail-utility .btn-favorite button {
  background: #928e80;
  border-radius: 100px;
  color: #fff;
  min-width: 200px;
  padding: 6px 10px 5px 10px;
  position: relative;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.main#recipe-detail .recipe-detail-utility .btn-favorite button::before {
  content: "";
  display: block;
  position: absolute;
  background: #fff;
  border-radius: 50px;
  top: 7px;
  right: 10px;
  width: 18px;
  height: 18px;
}

.main#recipe-detail .recipe-detail-utility .btn-favorite button span {
  display: block;
  font-size: 1.4rem;
  padding: 0 18px 0 0;
  text-align: center;
  position: relative;
}

.main#recipe-detail .recipe-detail-utility .btn-favorite button span::before, .main#recipe-detail .recipe-detail-utility .btn-favorite button span::after {
  content: "";
  display: block;
  background: #928e80;
  position: absolute;
  top: 50%;
}

.main#recipe-detail .recipe-detail-utility .btn-favorite button span::before {
  height: 10px;
  width: 2px;
  margin-top: -6px;
  right: 8px;
}

.main#recipe-detail .recipe-detail-utility .btn-favorite button span::after {
  height: 2px;
  width: 10px;
  margin-top: -2px;
  right: 4px;
}

.main#recipe-detail .recipe-detail-utility .btn-favorite .active span::before {
  content: none;
}

.main#recipe-detail .recipe-detail-utility .btn-copy button {
  height: 32px;
  width: 32px;
  background: #1b9974;
  border-radius: 100px;
  display: block;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  text-align: center;
  padding-top: 1px;
  transition: .3s all;
}

.main#recipe-detail .recipe-detail-utility .btn-copy button img {
  vertical-align: middle;
}

.main#recipe-detail .recipe-detail-utility .btn-copy button:hover, .main#recipe-detail .recipe-detail-utility .btn-copy button:focus {
  opacity: .8;
}

@media only screen and (max-width: 868px) {
  .main#recipe-detail .recipe-detail-utility.line::before, .main#recipe-detail .recipe-detail-utility.line::after {
    content: none;
  }
  .main#recipe-detail .recipe-detail-utility.line li:last-child {
    padding-right: 0;
  }
  .main#recipe-detail .recipe-detail-utility .utility-inner {
    display: block;
    margin: 0;
    text-align: center;
  }
  .main#recipe-detail .recipe-detail-utility .utility-inner::after {
    content: "";
    display: block;
    clear: both;
  }
  .main#recipe-detail .recipe-detail-utility li {
    padding: 0;
    margin-bottom: 0;
  }
  .main#recipe-detail .recipe-detail-utility .btn-copy {
    display: none;
  }
  .main#recipe-detail .recipe-detail-utility .btn-favorite {
    padding: 0;
    display: block;
  }
  .main#recipe-detail .recipe-detail-utility .btn-favorite button {
    min-width: auto;
    width: 100%;
    display: block;
  }
  .main#recipe-detail .recipe-detail-utility .fb, .main#recipe-detail .recipe-detail-utility .tw {
    margin-top: 20px;
  }
  .main#recipe-detail .recipe-detail-utility .fb {
    padding-right: 2px;
  }
  .main#recipe-detail .recipe-detail-utility li.tw {
    height: 22px;
    width: 94px;
  }
  .main#recipe-detail .recipe-detail-utility li.tw iframe {
    position: absolute !important;
    top: 0;
  }
  .main#recipe-detail .recipe-detail-utility .line {
    padding-top: 10px;
    text-align: center;
  }
}

@media all and (-ms-high-contrast: none) {
  .main#recipe-detail .recipe-detail-utility li.tw {
    width: 86px;
  }
}

@media all and (-ms-high-contrast: none) and (max-width: 868px) {
  .main#recipe-detail .recipe-detail-utility li.tw {
    height: 28px;
  }
}

/*--- box-howto ------------------*/
.main#recipe-detail #box-howto {
  margin-top: 25px;
  background: #f8f5e6;
  border-radius: 10px;
  padding: 32px 40px 40px 40px;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.main#recipe-detail #box-howto ol li {
  font-size: 1.8rem;
  font-weight: bold;
}

.main#recipe-detail #box-howto ol li + li {
  margin-top: 15px;
}

@media only screen and (max-width: 868px) {
  .main#recipe-detail #box-howto {
    display: block;
    padding: 20px 20px 35px 20px;
  }
  .main#recipe-detail #box-howto ol li {
    font-size: 1.6rem;
  }
  .main#recipe-detail #box-howto ol li + li {
    margin-top: 13px;
  }
}

/*--- txt-memo-01 ------------------*/
.main#recipe-detail .txt-memo-01 {
  margin-top: 25px;
  position: relative;
  padding-left: 90px;
}

.main#recipe-detail .txt-memo-01 dt {
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 0;
  background: #d62828;
  border-radius: 100px;
  color: #fff;
  font-size: 1.4rem;
  padding: 3px 10px 2px 10px;
  min-width: 77px;
  text-align: center;
}

.main#recipe-detail .txt-memo-01 dt::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 0 8px;
  border-color: transparent transparent transparent #d62828;
  position: absolute;
  top: -8px;
  left: 15px;
}

.main#recipe-detail .txt-memo-01 dd {
  font-size: 1.8rem;
}

.main#recipe-detail .txt-memo-01 dd span {
  font-weight: bold;
  background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, #f0e4a8 50%, #f0e4a8 100%);
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 50%, #f0e4a8 50%, #f0e4a8 100%);
}

@media only screen and (max-width: 868px) {
  .main#recipe-detail .txt-memo-01 {
    padding-left: 0;
  }
  .main#recipe-detail .txt-memo-01 dt {
    position: static;
    font-size: 1.2rem;
    min-width: 72px;
    position: relative;
    display: table;
  }
  .main#recipe-detail .txt-memo-01 dd {
    font-size: 1.6rem;
    margin-top: 10px;
  }
}

/*--- box-carousel-recipe-prodct ------------------*/
.main#recipe-detail .box-carousel-recipe-prodct {
  margin: 0 -10px;
  margin-top: 0 !important;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main#recipe-detail .box-carousel-recipe-prodct .item {
  width: 20%;
  position: relative;
  padding: 0 10px;
  margin-top: 20px;
  float: none;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .item-inner {
  position: relative;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border: #f1f1ee 1px solid;
  border-radius: 10px;
  width: 100%;
  overflow: hidden;
}

.main#recipe-detail .box-carousel-recipe-prodct .item button {
  position: absolute;
  overflow: hidden;
  min-height: 38px;
  height: 200px;
  z-index: 99;
}

.main#recipe-detail .box-carousel-recipe-prodct .item button span {
  text-indent: -999em;
  display: block;
  width: 38px;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .slick-prev {
  left: 20px;
  background: url("/common/images/carousel-prev-01.png") no-repeat center center;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .slick-next {
  right: 20px;
  background: url("/common/images/carousel-next-01.png") no-repeat center center;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .slick-track {
  height: 100%;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li {
  display: none;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .list-01.carousel li, .main#recipe-detail .box-carousel-recipe-prodct .item .list-01.fixat li {
  display: block;
  visibility: visible;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .list-01 {
  height: 100%;
  margin: 0 -20px;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li {
  padding: 0 20px;
  width: 100%;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li .list-inner {
  -webkit-flex-direction: column;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding: 20px 40px 50px 40px;
  position: relative;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li img {
  margin: 0 auto;
  display: inherit;
  max-height: 150px;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li b {
  text-align: center;
  display: inline-block;
  font-size: 1.4rem;
  padding: 17px 0 13px 0;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  width: 100%;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link li img {
  border-radius: 0;
  padding-left: 5px;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link.only li {
  width: 100%;
  padding: 0;
  border-radius: 0 0 10px 10px;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link li {
  padding: 0;
  width: 50%;
  text-align: center;
  padding-right: 1px;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link li + li {
  padding: 0 0 0 1px;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link li a {
  width: 100%;
  background: #1b9974;
  display: block;
  color: #fff;
  padding: 10px 0;
  text-decoration: none;
  text-align: center;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link li a span {
  display: inline-block;
  position: relative;
  padding: 0 0 0 12px;
  font-size: 1.5rem;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link li a span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link li:nth-child(odd) a {
  border-radius: 0 0 0 10px;
}

.main#recipe-detail .box-carousel-recipe-prodct .item .link li:nth-child(even) a {
  border-radius: 0 0 10px 0;
}

@media only screen and (max-width: 1109px) {
  .main#recipe-detail .box-carousel-recipe-prodct .item {
    width: 33.33333%;
  }
}

@media only screen and (max-width: 868px) {
  .main#recipe-detail .box-carousel-recipe-prodct {
    margin: 0 -5px;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item {
    width: 50%;
    padding: 0 5px;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item button {
    width: 30px;
    background-size: auto 30px !important;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item button span {
    width: 30px;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .slick-next {
    right: 5px;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .slick-prev {
    left: 5px;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .list-01 {
    margin: 0;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li {
    padding: 0;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li b {
    padding: 15px 12px;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li .list-inner {
    padding: 10px 10px 85px 10px;
    width: 100%;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .link {
    margin: 0;
    display: block;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .link li {
    width: 100%;
    padding: 0;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .link li a span {
    text-align: center;
    padding: 0 20px;
    display: block;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .link li a span::before {
    left: 11px;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .link li a span img {
    display: inline;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .link li + li {
    padding: 2px 0 0 0;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .link li:nth-child(odd) a {
    border-radius: 0;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .link li:nth-child(even) a {
    border-radius: 0;
  }
}

@media only screen and (max-width: 478px) {
  .main#recipe-detail .box-carousel-recipe-prodct .item {
    width: 100%;
  }
}

@media all and (-ms-high-contrast: none) {
  .main#recipe-detail .box-carousel-recipe-prodct .item .slick-list {
    display: block;
  }
  .main#recipe-detail .box-carousel-recipe-prodct .item .list-01 li .list-inner {
    display: block;
  }
}

/*--- recipe-table-nutrition ------------------*/
.main#recipe-detail .recipe-table-nutrition {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main#recipe-detail .recipe-table-nutrition .table-02 {
  width: 50%;
}

.main#recipe-detail .recipe-table-nutrition .table-02.col1 {
  border-radius: 10px 0 0 10px;
}

.main#recipe-detail .recipe-table-nutrition .table-02.col1 tr:first-child td {
  border-radius: 0;
}

.main#recipe-detail .recipe-table-nutrition .table-02.col1 tr:last-child td {
  border-radius: 0;
}

.main#recipe-detail .recipe-table-nutrition .table-02.col2 {
  border-radius: 0 10px 10px 0;
  border-left: 0;
}

.main#recipe-detail .recipe-table-nutrition .table-02.col2 tr:first-child th {
  border-radius: 0;
}

.main#recipe-detail .recipe-table-nutrition .table-02.col2 tr:last-child th {
  border-radius: 0;
}

@media only screen and (max-width: 868px) {
  .main#recipe-detail .recipe-table-nutrition {
    display: block;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02 {
    width: 100%;
    display: table;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02 th, .main#recipe-detail .recipe-table-nutrition .table-02 td {
    display: table-cell;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02 th {
    width: 40% !important;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02 td {
    width: 60% !important;
    border-left: #d2cfc6 1px solid;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02 tr:first-child th + td {
    border-top: 0;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02.col1 {
    border-radius: 10px 10px 0 0;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02.col1 tr:first-child th {
    border-radius: 10px 0 0 0;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02.col1 tr:last-child th {
    border-radius: 0;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02.col2 {
    margin-top: 0;
    border-radius: 0 0 10px 10px;
    border-left: #d2cfc6 1px solid;
    border-top: 0;
  }
  .main#recipe-detail .recipe-table-nutrition .table-02.col2 tr:last-child th {
    border-radius: 0 0 0 10px;
  }
}

/*--- recipe-detail-mark ------------------*/
.main#recipe-detail .recipe-detail-mark {
  margin-top: 25px;
}

.main#recipe-detail .recipe-detail-mark .recipe-detail-mark__icon {
  display: flex;
  gap: 16px;
}

.main#recipe-detail .recipe-detail-mark .recipe-detail-mark__iconItem {
  max-width: 70px;
  height: auto;
}

@media only screen and (max-width: 868px) {
  .main#recipe-detail .recipe-detail-mark .recipe-detail-mark__icon {
    justify-content: center;
  }
}

/*  recipe-detail END -----------------------------------------*/
/*  recipe-pickup-detail START -----------------------------------------*/
.spice-name {
  font-weight: bold;
}

.breadcrumb .spice-name {
  font-weight: normal;
}

.spice-use,
.spice-another {
  padding-left: 10px;
}

/*--- pickup-detail-content ------------------*/
.main#recipe-pickup-detail #pickup-detail-content {
  padding: 0 20px;
  background: url("/common/images/bg-01.jpg") center top;
  margin-top: 32px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner {
  padding: 32px 0 40px 0;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01, .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 {
  width: 50%;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 {
  padding-left: 20px;
  -webkit-order: 2;
  order: 2;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name {
  margin-top: 0;
  -webkit-align-items: center;
  align-items: center;
  border-bottom: #928e80 3px double;
  padding-bottom: 20px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .img {
  padding-right: 20px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .img img {
  border-radius: 80px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .inner {
  position: relative;
  padding-top: 38px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .inner .icon {
  font-size: 1.4rem;
  font-weight: bold;
  display: inline-block;
  color: #fff;
  background: #d62828;
  border-radius: 80px;
  padding: 3px 16px 2px 15px;
  position: absolute;
  top: 0;
  left: -7px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .inner .icon::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8px 0 0;
  border-color: #d62828 transparent transparent transparent;
  position: absolute;
  left: 15px;
  bottom: -8px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .inner b {
  display: block;
  font-size: 1.8rem;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name + [class^="hdg-"] {
  margin-top: 24px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 {
  padding-right: 20px;
  -webkit-order: 1;
  order: 1;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .data-img {
  margin-top: 20px;
  display: table;
  width: 100%;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .data-img li {
  display: table-cell;
  vertical-align: top;
  text-align: center;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box {
  background: #e4f0ec;
  border-radius: 10px;
  margin-top: 20px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  padding: 13px 19px 12px 19px;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box dt {
  width: 30%;
  color: #1b9974;
  font-weight: bold;
  padding-right: 20px;
  position: relative;
  padding-left: 29px;
  padding-top: 3px;
  padding-bottom: 3px;
  line-height: 1;
  background: url("/common/images/icon-recipe-10.gif") no-repeat center left;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box dt span {
  line-height: 1;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box dd {
  padding-left: 20px;
  font-size: 1.4rem;
  line-height: 1.5;
  width: 70%;
  position: relative;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box dd::before {
  content: "";
  display: block;
  border-left: #8f8f8f 1px dotted;
  height: 33px;
  width: 1px;
  position: absolute;
  top: 50%;
  margin-top: -16px;
  left: 0;
}

.main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box + [class^="btn-"] {
  margin-top: 20px;
}

@media only screen and (max-width: 868px) {
  .main#recipe-pickup-detail #pickup-detail-content .content-inner {
    display: block;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01, .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 {
    width: 100%;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 {
    padding-left: 0;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .img {
    padding-right: 12px;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .img img {
    max-width: 94px;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .inner .icon {
    font-size: 1.2rem;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name .inner b {
    font-size: 1.6rem;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-01 .name + [class^="hdg-"] {
    margin-top: 16px;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 {
    padding-right: 0;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .data-img {
    text-align: center;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box {
    display: block;
    padding: 20px;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box dt {
    width: 100%;
    margin-bottom: 12px;
    padding-top: 5px;
    padding-bottom: 3px;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box dd {
    width: 100%;
    padding-left: 0;
  }
  .main#recipe-pickup-detail #pickup-detail-content .content-inner > .data-02 .box dd::before {
    content: none;
  }
}

/*--- pickup-detail-box-01 ------------------*/
.main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .item-txt, .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .index-01 {
  width: 50%;
  margin-top: 0;
}

.main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .item-txt > *:first-child, .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .index-01 > *:first-child {
  margin-top: 0;
}

.main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .item-txt {
  padding-right: 20px;
}

.main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .index-icon-01 {
  width: 50%;
  padding-left: 20px;
  margin-top: 0;
}

.main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .index-icon-01 .panel-01 > li {
  width: 50%;
}

.main#recipe-pickup-detail .pickup-detail-box-01.col {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main#recipe-pickup-detail .pickup-detail-box-01.col .box-item {
  padding-right: 20px;
  display: block;
  width: 50%;
}

.main#recipe-pickup-detail .pickup-detail-box-01.col .box-item .item-txt, .main#recipe-pickup-detail .pickup-detail-box-01.col .box-item .index-icon-01 {
  width: 100%;
}

.main#recipe-pickup-detail .pickup-detail-box-01.col .box-item .index-icon-01 {
  padding: 0;
  margin-top: 20px;
  width: 100%;
}

.main#recipe-pickup-detail .pickup-detail-box-01.col .box-item + .box-item {
  padding-left: 20px;
  padding-right: 0;
}

.main#recipe-pickup-detail .pickup-detail-box-01.parallel .box-item {
  display: block;
  width: 100%;
}

.main#recipe-pickup-detail .pickup-detail-box-01.parallel .box-item .item-txt, .main#recipe-pickup-detail .pickup-detail-box-01.parallel .box-item .index-icon-01 {
  width: 100%;
}

.main#recipe-pickup-detail .pickup-detail-box-01.parallel .box-item .index-icon-01 {
  padding: 0;
  margin-top: 20px;
  width: 100%;
}

.main#recipe-pickup-detail .pickup-detail-box-01.parallel .box-item .index-icon-01 .panel-01 > li {
  width: 25%;
}

@media only screen and (max-width: 868px) {
  .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner {
    display: block;
  }
  .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .item-txt, .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .index-icon-01 {
    width: 100%;
  }
  .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .item-txt {
    padding-right: 0;
  }
  .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .index-01 {
    padding-left: 0;
    margin-top: 20px;
  }
  .main#recipe-pickup-detail .pickup-detail-box-01.col {
    display: block;
  }
  .main#recipe-pickup-detail .pickup-detail-box-01.col .box-item {
    padding-right: 0;
    display: block;
    width: 100%;
  }
  .main#recipe-pickup-detail .pickup-detail-box-01.col .box-item + .box-item {
    margin-top: 32px;
    padding-left: 0;
    padding-right: 0;
  }
  .main#recipe-pickup-detail .pickup-detail-box-01.parallel .box-item .index-icon-01 .panel-01 > li {
    width: 50%;
  }
}

@media only screen and (max-width: 478px) {
  .main#recipe-pickup-detail .pickup-detail-box-01 .box-item > .inner .index-icon-01 .panel-01 > li {
    width: 100%;
  }
}

/*--- pickup-detail-hdg-01 ------------------*/
.main#recipe-pickup-detail .pickup-detail-hdg-01 {
  font-size: 2.4rem;
  font-weight: bold;
  color: #1b9974;
  padding-top: 38px;
  position: relative;
}

.main#recipe-pickup-detail .pickup-detail-hdg-01 .icon {
  color: #fff;
  background: #d62828;
  font-weight: bold;
  font-size: 1.4rem;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  padding: 4px 16px 1px 16px;
  border-radius: 50px;
}

.main#recipe-pickup-detail .pickup-detail-hdg-01 .icon::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8px 0 0;
  border-color: #d62828 transparent transparent transparent;
  position: absolute;
  bottom: -8px;
  left: 15px;
}

@media only screen and (max-width: 868px) {
  .main#recipe-pickup-detail .pickup-detail-hdg-01 {
    font-size: 2rem;
  }
  .main#recipe-pickup-detail .pickup-detail-hdg-01 .icon {
    font-size: 1.2rem;
  }
}

/*  recipe-pickup-detail END -----------------------------------------*/
/*  recipe-search-result START -----------------------------------------*/
/*--- index-01 ------------------*/
.main#recipe-search-result .index-01 .panel-02 > li a .title,
.main#recipe-search-result .index-01 .slick-track > li a .title {
  min-height: 56px;
}

/*--- content ------------------*/
.main#recipe-search-result .content.recipe-search-01 {
  background-image: url("/recipe/images/search_result-01.jpg");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

.main#recipe-search-result .content.recipe-search-01 .content-inner {
  padding-bottom: 40px;
}

/*---  recipe-search-hdg-01 ------------------*/
.main#recipe-search-result .recipe-search-hdg-01 {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: bold;
  vertical-align: middle;
  text-align: center;
  margin-top: 10px;
}

@media only screen and (max-width: 868px) {
  .main#recipe-search-result .recipe-search-hdg-01 {
    font-size: 2rem;
  }
}

/*--- recipe-search-word ------------------*/
.main#recipe-search-result .recipe-search-word {
  vertical-align: middle;
}

.main#recipe-search-result .recipe-search-word li {
  display: inline-block;
  padding-right: 38px;
}

.main#recipe-search-result .recipe-search-word li label {
  cursor: pointer;
  position: relative;
}

.main#recipe-search-result .recipe-search-word li label::before {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background: #1b9974;
  border-radius: 50px;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -9px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.main#recipe-search-result .recipe-search-word li label input {
  cursor: pointer;
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
}

.main#recipe-search-result .recipe-search-word li label span {
  padding-left: 27px;
  display: inline-block;
  position: relative;
  line-height: 1;
}

.main#recipe-search-result .recipe-search-word li label span::before, .main#recipe-search-result .recipe-search-word li label span::after {
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 50%;
}

.main#recipe-search-result .recipe-search-word li label span::before {
  width: 10px;
  height: 2px;
  left: 3px;
  margin-top: -1px;
}

.main#recipe-search-result .recipe-search-word li label span::after {
  width: 2px;
  height: 10px;
  left: 7px;
  margin-top: -5px;
}

.main#recipe-search-result .recipe-search-word .clear {
  display: none;
}

@media only screen and (max-width: 868px) {
  .main#recipe-search-result .recipe-search-word li {
    margin-top: 10px;
    padding-right: 30px;
  }
  .main#recipe-search-result .recipe-search-word li label {
    white-space: nowrap;
  }
  .main#recipe-search-result .recipe-search-word li label::before {
    width: 14px;
    height: 14px;
    margin-top: -8px;
  }
  .main#recipe-search-result .recipe-search-word li label span::before {
    width: 8px;
    margin-top: -2px;
  }
  .main#recipe-search-result .recipe-search-word li label span::after {
    height: 8px;
    left: 6px;
    margin-top: -5px;
  }
}

/*--- recipe-search-utility ------------------*/
.main#recipe-search-result .recipe-search-utility {
  -webkit-justify-content: space-between;
  justify-content: space-between;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 20px;
}

.main#recipe-search-result .recipe-search-utility p {
  margin-top: 0;
}

.main#recipe-search-result .recipe-search-utility .recipe-search-select label {
  transition: .3s all;
  display: block;
  line-stacking: 1;
  position: relative;
  min-width: 170px;
}

.main#recipe-search-result .recipe-search-utility .recipe-search-select label::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: solid 2px #999;
  border-right: solid 2px #999;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  margin-top: -3.5px;
  position: absolute;
  top: 50%;
  right: 15px;
}

.main#recipe-search-result .recipe-search-utility .recipe-search-select select {
  height: 40px;
  max-width: 210px;
  cursor: pointer;
  border: #d2cfc6 1px solid;
  width: 100%;
  padding: 0 38px 0 14px;
  background: #fff;
  line-height: 1.5;
}

@media only screen and (max-width: 868px) {
  .main#recipe-search-result .recipe-search-utility {
    display: block;
  }
  .main#recipe-search-result .recipe-search-utility .recipe-search-select {
    margin-top: 15px;
  }
  .main#recipe-search-result .recipe-search-utility .recipe-search-select select {
    max-width: 100%;
  }
}

/*--- index-01 ------------------*/
.main#recipe-search-result .index-01 {
  margin-top: 30px;
}

@media only screen and (max-width: 868px) {
  .main#recipe-search-result .index-01 {
    margin-top: 20px;
  }
}

/*--- recipe-search-link-01 ------------------*/
.main#recipe-search-result .recipe-search-link-01 {
  text-align: center;
  margin-top: 25px;
}

.main#recipe-search-result .recipe-search-link-01 li {
  display: inline-block;
  padding-right: 14px;
}

.main#recipe-search-result .recipe-search-link-01 li + li {
  position: relative;
  padding-left: 16px;
}

.main#recipe-search-result .recipe-search-link-01 li + li::before {
  content: "";
  display: block;
  background: #000;
  width: 1px;
  height: 16px;
  position: absolute;
  top: 50%;
  margin-top: -7px;
  left: 0;
}

/*--- box-search-01 ------------------*/
.main#recipe-search-result .box-search-01 {
  background: url(/recipe/images/search_guide-01.jpg) no-repeat center top;
  padding: 70px 10px;
}

.main#recipe-search-result .box-search-01 .box-search-inner {
  -webkit-justify-content: center;
  justify-content: center;
}

.main#recipe-search-result .box-search-01 .box-search-inner .search-input-02 {
  color: #666;
  border: #d2cfc6 2px solid;
  background: #fff;
}

.main#recipe-search-result .box-search-01 .box-keyword {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 25px;
}

.main#recipe-search-result .box-search-01 .box-keyword .recipe-search-title-01 {
  margin-top: 0;
  font-size: 1.8rem;
  padding-right: 10px;
}

.main#recipe-search-result .box-search-01 .box-keyword .recipe-search-link-01 {
  -webkit-justify-content: center;
  justify-content: center;
}

.main#recipe-search-result .box-search-01 .box-keyword .recipe-search-link-01 li {
  position: relative;
  padding: 0 12px;
}

.main#recipe-search-result .box-search-01 .box-keyword .recipe-search-link-01 li a {
  text-decoration: none;
}

.main#recipe-search-result .box-search-01 .box-keyword .recipe-search-link-01 li:first-child::before {
  content: none;
}

.main#recipe-search-result .box-search-01 .box-keyword .recipe-search-link-01 li::before {
  content: "";
  display: block;
  background: #000;
  width: 1px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -7px;
}

@media only screen and (max-width: 868px) {
  .main#recipe-search-result .box-search-01 {
    padding: 20px;
    background: #f8f5e6;
    border-radius: 10px;
  }
  .main#recipe-search-result .box-search-01 form {
    display: block;
    text-align: center;
  }
  .main#recipe-search-result .box-search-01 .box-search-inner .search-input-02 {
    margin: 10px 0 0 0;
  }
  .main#recipe-search-result .box-search-01 .search-btn-01 {
    position: static;
    min-width: 120px;
    margin: 10px auto 0 auto;
  }
  .main#recipe-search-result .box-search-01 .search-btn-01 span {
    padding-right: 37px;
    background: url(/common/images/icon-search-03.png) no-repeat right center;
  }
  .main#recipe-search-result .box-search-01 .box-keyword {
    display: block;
    text-align: center;
  }
  .main#recipe-search-result .box-search-01 .box-keyword .recipe-search-title-01 {
    font-size: 1.6rem;
  }
  .main#recipe-search-result .box-search-01 .box-keyword .recipe-search-link-01 {
    display: block;
  }
  .main#recipe-search-result .box-search-01 .box-keyword .recipe-search-link-01 li {
    display: inline-block;
  }
}

/*--- box-tab-01 ------------------*/
.main[id^="recipe-search"] .box-tab-01 .tab-link-01 {
  margin-top: 0;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 li a {
  padding: 7px 10px 5px 10px;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 li a > span {
  display: inline-block;
  text-align: center;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 li a > span span {
  display: inline-block;
  padding: 6px 0 6px 27px;
  width: auto;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 .food span span {
  background: url("/recipe/images/search_result-02.png") no-repeat left center;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 .menu span span {
  background: url("/recipe/images/search_result-03.png") no-repeat left center;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 .method span span {
  background: url("/recipe/images/search_result-04.png") no-repeat left center;
  padding-left: 30px;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 .type span span {
  background: url("/recipe/images/search_result-05.png") no-repeat left center;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 .current.food span span {
  background: url("/recipe/images/search_result-02_o.png") no-repeat left center;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 .current.menu span span {
  background: url("/recipe/images/search_result-03_o.png") no-repeat left center;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 .current.method span span {
  background: url("/recipe/images/search_result-04_o.png") no-repeat left center;
}

.main[id^="recipe-search"] .box-tab-01 .tab-link-01 .current.type span span {
  background: url("/recipe/images/search_result-05_o.png") no-repeat left center;
}

@media only screen and (max-width: 478px) {
  .main[id^="recipe-search"] .box-tab-01 .tab-link-01 > .link li a span {
    font-size: 1.6rem;
  }
  .main[id^="recipe-search"] .box-tab-01 .tab-link-01 > .link .food span span,
  .main[id^="recipe-search"] .box-tab-01 .tab-link-01 > .link .menu span span {
    padding-left: 20px;
  }
  .main[id^="recipe-search"] .box-tab-01 .tab-link-01 > .link .food span span,
  .main[id^="recipe-search"] .box-tab-01 .tab-link-01 > .link .menu span span,
  .main[id^="recipe-search"] .box-tab-01 .tab-link-01 > .link .method span span,
  .main[id^="recipe-search"] .box-tab-01 .tab-link-01 > .link .type span span {
    background-size: auto 18px;
  }
}

/*--- recipe-search-check-01 ------------------*/
[id^="recipe-"] .recipe-search-check-01 {
  margin-top: 20px;
}

[id^="recipe-"] .recipe-search-check-01 li {
  display: inline-block;
  margin-top: 13px;
  padding-right: 40px;
}

[id^="recipe-"] .recipe-search-check-01 li label {
  position: relative;
  cursor: pointer;
}

[id^="recipe-"] .recipe-search-check-01 li label span {
  padding-left: 31px;
}

[id^="recipe-"] .recipe-search-check-01 li label input {
  position: absolute;
  width: 0;
  height: 0;
  opacity: 0;
}

[id^="recipe-"] .recipe-search-check-01 li label input + span {
  position: relative;
  display: inline-block;
}

[id^="recipe-"] .recipe-search-check-01 li label input + span::before {
  content: "";
  display: block;
  border: #dbd9d1 1px solid;
  border-radius: 4px;
  position: absolute;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  z-index: 2;
  background: #fff;
  cursor: pointer;
}

[id^="recipe-"] .recipe-search-check-01 li label input:checked + span::after {
  content: "";
  display: block;
  width: 12px;
  height: 7px;
  border-top: solid 3px #d72b2b;
  border-right: solid 3px #d72b2b;
  will-change: transform;
  -webkit-transform: rotate(130deg);
  transform: rotate(130deg);
  position: absolute;
  top: 7px;
  left: 5px;
  z-index: 3;
  cursor: pointer;
}

@media only screen and (max-width: 868px) {
  [id^="recipe-"] .recipe-search-check-01 {
    margin-top: 10px;
  }
}

/*  recipe-search-result END -----------------------------------------*/
/*  recipe-feature-backnumber START -----------------------------------------*/
.main#recipe-feature-backnumber {
  background: url("/recipe/feature/images/index-01.jpg") no-repeat center 38px;
  background-size: 100% auto;
}

@media only screen and (max-width: 868px) {
  .main#recipe-feature-backnumber {
    background-position: center 34px;
  }
}

.main#recipe-feature-backnumber .column.col2 > .col:nth-child(n) {
  margin-top: 30px;
}

.main#recipe-feature-backnumber .js-more-01 + .btn-more {
  margin: 20px 3px 3px 3px;
}

.main#recipe-feature-backnumber .js-more-01 + .btn-more button {
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  color: #1b9974;
  display: block;
  width: 100%;
  background: #f8f5e6;
  border-radius: 100px;
  padding: 10px 20px 8px 20px;
  text-align: center;
}

.main#recipe-feature-backnumber .js-more-01 + .btn-more button span {
  display: inline-block;
  position: relative;
  font-weight: bold;
  padding-right: 30px;
}

.main#recipe-feature-backnumber .js-more-01 + .btn-more button span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-bottom: solid 2px #1b9974;
  border-right: solid 2px #1b9974;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: 7px;
  right: 0;
}

.main#recipe-feature-backnumber .js-more-01 + .btn-more button.close span::before {
  -webkit-transform: rotate(-135deg);
  transform: rotate(-135deg);
  top: 10px;
}

.main#recipe-feature-backnumber .recipe-feature-box-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  background: url("/common/images/bg-01.jpg");
  max-width: 1080px;
  margin: 0 auto;
  border-radius: 10px 10px;
}

.main#recipe-feature-backnumber .recipe-feature-box-01 .img {
  width: 50%;
  border-radius: 10px 0 0 10px;
}

.main#recipe-feature-backnumber .recipe-feature-box-01 .img img {
  width: 100%;
  border-radius: 10px 0 0 10px;
}

.main#recipe-feature-backnumber .recipe-feature-box-01 .data {
  width: 50%;
  padding: 20px 30px;
  border-radius: 0 10px 10px 0;
}

.main#recipe-feature-backnumber .recipe-feature-box-01 .data .new {
  background: #d62828;
  color: #fff;
  display: table;
  padding: 0 6px;
  border-radius: 4px;
}

.main#recipe-feature-backnumber .recipe-feature-box-01 .data .hdg-01 {
  font-size: 2.4rem;
  color: #1b9974;
  font-weight: bold;
  margin-top: 3px;
}

.main#recipe-feature-backnumber .recipe-feature-box-01 .data .hdg-01 + p {
  margin-top: 10px;
}

.main#recipe-feature-backnumber .recipe-feature-box-01 .data .btn-01 a {
  min-width: auto;
  width: 100%;
}

@media only screen and (max-width: 868px) {
  .main#recipe-feature-backnumber .recipe-feature-box-01 {
    display: block;
  }
  .main#recipe-feature-backnumber .recipe-feature-box-01 .img {
    width: 100%;
    border-radius: 10px 10px 0 0;
  }
  .main#recipe-feature-backnumber .recipe-feature-box-01 .img img {
    width: 100%;
    border-radius: 10px 10px 0 0;
  }
  .main#recipe-feature-backnumber .recipe-feature-box-01 .data {
    width: 100%;
    padding: 20px 20px;
    border-radius: 0 0 10px 10px;
  }
  .main#recipe-feature-backnumber .recipe-feature-box-01 .data .new {
    margin-top: 0;
  }
  .main#recipe-feature-backnumber .recipe-feature-box-01 .data .hdg-01 {
    font-size: 2rem;
  }
  .main#recipe-feature-backnumber .recipe-feature-box-01 .data .btn-01 {
    margin-top: 20px;
  }
}

.main#recipe-feature-backnumber .link-list-02.col2 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -20px;
  margin-right: -20px;
  border-bottom: 0;
}

.main#recipe-feature-backnumber .link-list-02.col2 > li {
  -webkit-align-items: center;
  align-items: center;
  width: 50%;
  border-top: 0;
  padding: 0 20px;
}

.main#recipe-feature-backnumber .link-list-02.col2 > li:last-child a {
  border-bottom: #d2cfc6 dotted 1px;
}

.main#recipe-feature-backnumber .link-list-02.col2 > li a {
  -webkit-align-items: center;
  align-items: center;
  border-top: #d2cfc6 dotted 1px;
  height: 100%;
  width: 100%;
  padding: 11px 0 10px 0;
}

.main#recipe-feature-backnumber .link-list-02.col2 > li a span {
  width: 100%;
}

@media only screen and (max-width: 868px) {
  .main#recipe-feature-backnumber .link-list-02.col2 {
    display: block;
  }
  .main#recipe-feature-backnumber .link-list-02.col2 > li {
    width: 100%;
  }
  .main#recipe-feature-backnumber .link-list-02.col2 > li a {
    border-top: #d2cfc6 dotted 1px;
    height: 100%;
    width: 100%;
    padding: 11px 0 10px 0;
  }
  .main#recipe-feature-backnumber .link-list-02.col2 > li a span {
    width: 100%;
  }
}

.main#recipe-feature-backnumber .layout-01.left > .img img,
.main#recipe-feature-backnumber .layout-01.recipe > .img img {
  max-width: 300px;
  width: 100%;
}

.main#recipe-feature-backnumber .link-tab-01 > .link li a {
  -webkit-justify-content: center;
  justify-content: center;
  text-align: center;
}

.main#recipe-feature-backnumber .link-tab-01 > .link li a span {
  padding-left: 34px;
  display: inline-block;
  width: auto;
  padding-top: 3px;
  padding-bottom: 2px;
}

.main#recipe-feature-backnumber .link-tab-01 .current a:hover, .main#recipe-feature-backnumber .link-tab-01 .current a:focus {
  color: #fff;
}

.main#recipe-feature-backnumber .link-tab-01 .current a:hover span, .main#recipe-feature-backnumber .link-tab-01 .current a:focus span {
  color: #fff;
}

.main#recipe-feature-backnumber .link-tab-01 .theme a span {
  background: url("/common/images/icon-recipe-12.png") no-repeat center left;
}

.main#recipe-feature-backnumber .link-tab-01 .theme.current a span {
  background: url("/common/images/icon-recipe-12_o.png") no-repeat center left;
}

.main#recipe-feature-backnumber .link-tab-01 .event a span {
  background: url("/common/images/icon-recipe-13.png") no-repeat center left;
}

.main#recipe-feature-backnumber .link-tab-01 .event.current a span {
  background: url("/common/images/icon-recipe-13_o.png") no-repeat center left;
}

.main#recipe-feature-backnumber .link-tab-01 .season a span {
  background: url("/common/images/icon-recipe-14.png") no-repeat center left;
}

.main#recipe-feature-backnumber .link-tab-01 .season.current a span {
  background: url("/common/images/icon-recipe-14_o.png") no-repeat center left;
}

@media only screen and (max-width: 868px) {
  .main#recipe-feature-backnumber .link-tab-01 {
    overflow: visible;
  }
  .main#recipe-feature-backnumber .link-tab-01 > .link {
    width: 100%;
    padding: 0;
  }
  .main#recipe-feature-backnumber .link-tab-01 > .link li a span {
    padding-left: 0;
  }
  .main#recipe-feature-backnumber .link-tab-01 .theme a span {
    background: none;
  }
  .main#recipe-feature-backnumber .link-tab-01 .theme.current a span {
    background: none;
  }
  .main#recipe-feature-backnumber .link-tab-01 .event a span {
    background: none;
  }
  .main#recipe-feature-backnumber .link-tab-01 .event.current a span {
    background: none;
  }
  .main#recipe-feature-backnumber .link-tab-01 .season a span {
    background: none;
  }
  .main#recipe-feature-backnumber .link-tab-01 .season.current a span {
    background: none;
  }
}

.main#recipe-feature-backnumber .recipe-feature-hdg-01 {
  text-align: center;
}

.main#recipe-feature-backnumber .recipe-feature-hdg-01 span {
  display: inline-block;
  font-size: 3rem;
  font-weight: bold;
  padding-left: 47px;
  background: url("/common/images/icon-recipe-15.png") no-repeat left center;
}

@media only screen and (max-width: 868px) {
  .main#recipe-feature-backnumber .recipe-feature-hdg-01 span {
    padding-left: 36px;
    font-size: 2.4rem;
    background-size: 30px auto;
    background-position: left top;
  }
}

/*  recipe-feature-backnumber END -----------------------------------------*/
/*  myrecipe START -----------------------------------------*/
/*--- bg ------------------*/
.main#myrecipe {
  background: url(/recipe/myrecipe/images/index-01.jpg) no-repeat center 38px;
  background-size: 100% auto;
}

@media only screen and (max-width: 868px) {
  .main#myrecipe {
    background-position: center 34px;
  }
}

/*--- hdg-02-01 ------------------*/
.main#myrecipe .hdg-02-01 {
  display: table;
  padding-right: 46px;
}

.main#myrecipe .hdg-02-01.recipe {
  background: url(/recipe/myrecipe/images/index-02.gif) no-repeat right top;
}

.main#myrecipe .hdg-02-01.browsing {
  background: url(/recipe/myrecipe/images/index-04.gif) no-repeat right top;
}

@media only screen and (max-width: 868px) {
  .main#myrecipe .hdg-02-01 {
    padding-right: 30px;
  }
  .main#myrecipe .hdg-02-01.recipe, .main#myrecipe .hdg-02-01.browsing {
    background-size: 24px auto;
    background-position: right 3px;
  }
}

/*--- hdg-02-01 ------------------*/
.main#myrecipe .myrecipe-box-01 {
  margin-top: 60px;
  background: #e4f0ec;
  border-radius: 10px;
  -webkit-align-items: center;
  align-items: center;
  padding: 37px 265px 37px 40px;
  position: relative;
}

.main#myrecipe .myrecipe-box-01 .hdg-02-01 {
  white-space: nowrap;
}

.main#myrecipe .myrecipe-box-01 .hdg-02-01,
.main#myrecipe .myrecipe-box-01 .btn-02 {
  margin-top: 0;
}

.main#myrecipe .myrecipe-box-01 .list-search-data-01 {
  margin-top: 0 !important;
}

.main#myrecipe .myrecipe-box-01 .btn-02 {
  position: absolute;
  right: 40px;
  top: 50%;
  margin-top: -23px;
}

@media only screen and (max-width: 868px) {
  .main#myrecipe .myrecipe-box-01 {
    display: block;
    padding: 20px;
  }
  .main#myrecipe .myrecipe-box-01 .btn-02 {
    position: static;
    margin-top: 20px;
  }
  .main#myrecipe .myrecipe-box-01 .search-list {
    margin-top: 8px !important;
  }
}

/*--- index-01 ------------------*/
@media only screen and (max-width: 868px) {
  .main#myrecipe .index-01 .panel-02 > li:nth-child(6), .main#myrecipe .index-01 .panel-02 > li:nth-child(7), .main#myrecipe .index-01 .panel-02 > li:nth-child(8) {
    display: none;
  }
}

/*--- note-01 ------------------*/
.main#myrecipe .note-01 .inner {
  position: relative;
  padding-left: 20px;
  display: inline-block;
}

.main#myrecipe .note-01 .inner .mark {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
}

@media only screen and (max-width: 868px) {
  .main#myrecipe .note-01 {
    text-align: left !important;
  }
}

/*  myrecipe END -----------------------------------------*/
/*  recipe-search_guide START -----------------------------------------*/
/*--- box-search-01 ------------------*/
.main#recipe-search .box-search-01 {
  background: url(/recipe/images/search_guide-01.jpg) no-repeat center top;
  padding: 70px 10px;
}

.main#recipe-search .box-search-01 .box-search-inner {
  -webkit-justify-content: center;
  justify-content: center;
}

.main#recipe-search .box-search-01 .box-search-inner .search-input-02 {
  color: #666;
  border: #d2cfc6 2px solid;
  background: #fff;
}

.main#recipe-search .box-search-01 .box-keyword {
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  margin-top: 25px;
}

.main#recipe-search .box-search-01 .box-keyword .recipe-search-title-01 {
  margin-top: 0;
  font-size: 1.8rem;
  padding-right: 10px;
}

.main#recipe-search .box-search-01 .box-keyword .recipe-search-link-01 {
  -webkit-justify-content: center;
  justify-content: center;
}

.main#recipe-search .box-search-01 .box-keyword .recipe-search-link-01 li {
  position: relative;
  padding: 0 12px;
}

.main#recipe-search .box-search-01 .box-keyword .recipe-search-link-01 li a {
  text-decoration: none;
}

.main#recipe-search .box-search-01 .box-keyword .recipe-search-link-01 li:first-child::before {
  content: none;
}

.main#recipe-search .box-search-01 .box-keyword .recipe-search-link-01 li::before {
  content: "";
  display: block;
  background: #000;
  width: 1px;
  height: 14px;
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -7px;
}

@media only screen and (max-width: 868px) {
  .main#recipe-search .box-search-01 {
    padding: 20px;
    background: #f8f5e6;
    border-radius: 10px;
  }
  .main#recipe-search .box-search-01 form {
    display: block;
    text-align: center;
  }
  .main#recipe-search .box-search-01 .box-search-inner .search-input-02 {
    margin: 10px 0 0 0;
  }
  .main#recipe-search .box-search-01 .search-btn-01 {
    position: static;
    min-width: 120px;
    margin-top: 10px;
  }
  .main#recipe-search .box-search-01 .search-btn-01 span {
    padding-right: 37px;
    background: url(/common/images/icon-search-03.png) no-repeat right center;
  }
  .main#recipe-search .box-search-01 .box-keyword {
    display: block;
    text-align: center;
  }
  .main#recipe-search .box-search-01 .box-keyword .recipe-search-title-01 {
    font-size: 1.6rem;
  }
  .main#recipe-search .box-search-01 .box-keyword .recipe-search-link-01 {
    display: block;
  }
  .main#recipe-search .box-search-01 .box-keyword .recipe-search-link-01 li {
    display: inline-block;
  }
}

/*--- recipe-input-01 ------------------*/
.recipe-input-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.recipe-input-01 + .recipe-input-01 {
  margin-top: 20px;
}

.recipe-input-01 li {
  width: 25%;
  padding: 0 10px;
  margin-top: 20px;
}

.recipe-input-01 li.parent span {
  color: #d62828;
  font-weight: bold;
}

.recipe-input-01 li.parent span:hover, .recipe-input-01 li.parent span:focus {
  border-color: #d62828;
}

.recipe-input-01 li.parent input:checked + span {
  background: #d62828;
  border-color: #d62828;
}

.recipe-input-01 li label {
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.recipe-input-01 li.type1 span:hover, .recipe-input-01 li.type1 span:focus {
  border-color: #d62828;
}

.recipe-input-01 li.type1 input:checked + span {
  background: #d62828;
  border-color: #d62828;
}

.recipe-input-01 li label {
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  height: 100%;
}

.recipe-input-01 li span {
  -webkit-align-items: center;
  align-items: center;
  width: 100%;
  position: relative;
  cursor: pointer;
  background: #fff;
  border: #e8e7e2 2px solid;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 4px;
  padding: 11px 32px 7px 20px;
  transition: .1s all;
  height: 100%;
  word-break: break-all;
}

.recipe-input-01 li span:hover, .recipe-input-01 li span:focus {
  border-color: #1b9974;
}

.recipe-input-01 li span::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 6px;
  border-top: solid 2px #e8e7e2;
  border-right: solid 2px #e8e7e2;
  will-change: transform;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
  vertical-align: middle;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
}

.recipe-input-01 li input {
  display: none;
}

.recipe-input-01 li input:checked + span {
  background: #1b9974;
  border-color: #1b9974;
  color: #fff;
}

.recipe-input-01 li input:checked + span::before {
  border-color: #fff;
}

.recipe-input-01 li input:checked + span::after {
  content: "";
  display: block;
  border-radius: 100px;
  border: #fff 2px solid;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -10px;
}

@media only screen and (max-width: 868px) {
  .recipe-input-01 {
    margin: 16px 0 0 0;
    border-radius: 10px;
    border-top: #d2cfc6 1px solid;
    border-left: #d2cfc6 1px solid;
  }
  .recipe-input-01.only {
    border-top: 0;
    border-left: 0;
  }
  .recipe-input-01.only li {
    border-top: #d2cfc6 1px solid;
    border-left: #d2cfc6 1px solid;
    border-radius: 10px !important;
    width: 100%;
  }
  .recipe-input-01.only li label span {
    border-radius: 10px !important;
  }
  .recipe-input-01.double {
    border-radius: 10px !important;
  }
  .recipe-input-01.double li {
    border-radius: 10px 0 0 10px !important;
  }
  .recipe-input-01.double li label span {
    border-radius: 10px 0 0 10px !important;
  }
  .recipe-input-01.double li + li {
    border-radius: 0 10px 10px 0 !important;
  }
  .recipe-input-01.double li + li label span {
    border-radius: 0 10px 10px 0 !important;
  }
  .recipe-input-01 li:only-of-type {
    width: 100%;
    border-radius: 10px !important;
  }
  .recipe-input-01 li:only-of-type label span {
    border-radius: 10px !important;
  }
  .recipe-input-01 li {
    width: 50%;
    margin: 0;
    padding: 0;
    border-bottom: #d2cfc6 1px solid;
    border-right: #d2cfc6 1px solid;
  }
  .recipe-input-01 li:nth-child(even):last-child {
    border-radius: 0 0 10px 0;
  }
  .recipe-input-01 li:nth-child(even):last-child span {
    border-radius: 0 0 10px 0;
  }
  .recipe-input-01 li:nth-child(even):nth-last-child(2) {
    border-radius: 0 0 10px 0;
  }
  .recipe-input-01 li:nth-child(even):nth-last-child(2) span {
    border-radius: 0 0 10px 0;
  }
  .recipe-input-01 li:nth-child(odd):last-child {
    border-radius: 0 0 0 10px;
  }
  .recipe-input-01 li:nth-child(odd):last-child span {
    border-radius: 0 0 0 10px;
  }
  .recipe-input-01 li:nth-child(odd):nth-last-child(2) {
    border-radius: 0 0 0 10px;
  }
  .recipe-input-01 li:nth-child(odd):nth-last-child(2) span {
    border-radius: 0 0 0 10px;
  }
  .recipe-input-01 li.parent + li {
    border-radius: 0 10px 0 0 !important;
  }
  .recipe-input-01 li.parent + li span {
    border-radius: 0 10px 0 0 !important;
  }
  .recipe-input-01 li:first-child {
    border-radius: 10px 0 0 0;
  }
  .recipe-input-01 li:first-child span {
    border-radius: 10px 0 0 0;
  }
  .recipe-input-01 li:first-child + li {
    border-radius: 0 10px 0 0;
  }
  .recipe-input-01 li:first-child + li span {
    border-radius: 0 10px 0 0;
  }
  .recipe-input-01 li span {
    box-shadow: none;
    border: 0;
    border-radius: 0;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    padding: 10px;
  }
  .recipe-input-01 li span::before {
    content: none;
  }
  .recipe-input-01 li input:checked + span::after {
    content: none;
  }
}

/*  recipe-search_guide END -----------------------------------------*/
/*  products START -----------------------------------------*/
.main#products .content .content-inner {
  padding-top: 37px;
}

.main#products,
.main[id^="products-category"],
.main#products-new,
.main#products-old,
.main#products-search {
  background: url(/products/images/index-01.jpg) no-repeat center 38px;
  background-size: 100% auto;
}

@media only screen and (max-width: 868px) {
  .main#products,
  .main[id^="products-category"],
  .main#products-new,
  .main#products-old,
  .main#products-search {
    background-position: center 34px;
  }
}

/*--- hdg-01-01 ------------------*/
.main#products .hdg-01-01 .hdg-inner .hdg span::before, .main#products .hdg-01-01 .hdg-inner .hdg span::after {
  content: none;
}

.main#products .hdg-01-01 .box-search-01 {
  margin-top: 0;
}

.main#products .hdg-01-01 .box-search-01 .box-search-inner .faq-search {
  margin: 0 auto;
}

@media only screen and (max-width: 868px) {
  .main#products .hdg-01-01 .hdg-inner .hdg {
    margin: 0;
    padding-top: 18px;
  }
  .main#products .hdg-01-01 .hdg-inner .hdg span {
    padding-bottom: 0;
  }
}

/*--- products-word ------------------*/
.main#products .products-hdg-utility {
  margin-top: 32px;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}

@media only screen and (max-width: 868px) {
  .main#products .products-hdg-utility {
    display: block;
    margin-top: 18px;
  }
}

/*--- products-word ------------------*/
.main#products .products-word-title {
  white-space: nowrap;
  font-weight: bold;
  font-size: 1.8rem;
  margin-top: 0;
}

@media only screen and (max-width: 868px) {
  .main#products .products-word-title {
    display: none;
  }
}

.main#products .products-word {
  padding: 0 10px;
}

.main#products .products-word li {
  display: inline-block;
  padding: 0 12px;
  position: relative;
}

.main#products .products-word li::before {
  content: "";
  display: block;
  background: #000;
  width: 1px;
  height: 16px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -8px;
}

.main#products .products-word li:last-child::before {
  content: none;
}

@media only screen and (max-width: 868px) {
  .main#products .products-word {
    padding: 0;
    margin: 0 -10px;
  }
  .main#products .products-word li:nth-child(n + 4) {
    display: none;
  }
}

/*--- products-word ------------------*/
.main#products .products-bnr {
  padding-top: 22px;
  padding-bottom: 70px;
}

.main#products .products-bnr p {
  margin-top: 0;
  text-align: center;
}

.main#products .products-bnr p img {
  display: inline-block;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
}

@media only screen and (max-width: 868px) {
  .main#products .products-bnr {
    padding-bottom: 30px;
  }
}

/*--- content products-01 ------------------*/
.main#products .content.products-01 {
  background: url("/common/images/bg-01.jpg") center center;
}

/*--- products-pickup-01 ------------------*/
.main#products .products-pickup-01 {
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0 -20px;
}

.main#products .products-pickup-01 .item {
  width: 33.33333%;
  padding: 0 20px;
}

.main#products .products-pickup-01 .item a {
  width: 100%;
  display: block;
  color: #000;
  text-decoration: none;
  background: #fff;
  border-radius: 10px;
  padding: 0 19px 40px 19px;
  position: relative;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
}

.main#products .products-pickup-01 .item a:hover .btn, .main#products .products-pickup-01 .item a:focus .btn {
  background: #fff;
  color: #1b9974;
}

.main#products .products-pickup-01 .item a:hover .btn span::before, .main#products .products-pickup-01 .item a:focus .btn span::before {
  border-color: #1b9974;
}

.main#products .products-pickup-01 .item .title {
  font-size: 1.8rem;
  padding: 14px 0 6px 0;
  margin: 0;
  border-bottom: #d2cfc6 1px solid;
}

.main#products .products-pickup-01 .item .item-inner {
  margin-top: 20px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  padding-bottom: 16px;
}

.main#products .products-pickup-01 .item .item-inner .img {
  text-align: center;
  width: 41.66666666666667%;
  margin-top: 0;
}

.main#products .products-pickup-01 .item .item-inner .img img {
  width: auto;
  max-height: 150px;
}

.main#products .products-pickup-01 .item .item-inner p {
  width: 58.333333333333336%;
  margin-top: 0;
  padding-left: 25px;
}

.main#products .products-pickup-01 .item .btn {
  position: absolute;
  left: 0;
  bottom: 0;
  background: #1b9974;
  border-radius: 0 0 10px 10px;
  width: 100%;
  color: #fff;
  text-align: center;
  margin: 0;
  padding: 4px 0;
  border: #1b9974 2px solid;
  transition: .3s all;
}

.main#products .products-pickup-01 .item .btn span {
  display: inline-block;
  position: relative;
  padding: 0 18px;
}

.main#products .products-pickup-01 .item .btn span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  vertical-align: middle;
  position: absolute;
  top: .6em;
  left: 0;
}

@media only screen and (max-width: 868px) {
  .main#products .products-pickup-01 {
    display: block;
    margin: 0;
  }
  .main#products .products-pickup-01 .item {
    display: block;
    width: 100%;
    padding: 0;
  }
  .main#products .products-pickup-01 .item + .item {
    margin-top: 20px;
  }
}

/*--- products-hdg-01 ------------------*/
.main#products .products-hdg-01 {
  font-size: 2.8rem;
  text-align: center;
}

.main#products .products-hdg-01 span {
  display: inline-block;
  font-weight: bold;
  padding-left: 50px;
  background-position: left 4px;
  background-repeat: no-repeat;
}

.main#products .products-hdg-01 + * {
  margin-top: 12px;
}

.main#products .products-hdg-01.small {
  font-size: 2.6rem;
}

.main#products .products-hdg-01.pickup span {
  background-image: url("/products/images/index-02.png");
}

.main#products .products-hdg-01.category span {
  background-image: url("/products/images/index-03.png");
}

.main#products .products-hdg-01.other {
  margin-top: 52px;
}

.main#products .products-hdg-01.other span {
  background-image: url("/products/images/index-04.png");
}

@media only screen and (max-width: 868px) {
  .main#products .products-hdg-01 {
    font-size: 1.8rem;
  }
  .main#products .products-hdg-01 span {
    padding: 3px 0 2px 36px;
    background-size: auto 30px;
  }
  .main#products .products-hdg-01.small {
    font-size: 1.8rem;
  }
}

/*--- product-hdg-box ------------------*/
.main#products .product-hdg-box {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.main#products .product-hdg-box .products-hdg-01 {
  width: 61.8%;
  text-align: right;
}

.main#products .product-hdg-box .products-hdg-01 + * {
  margin-top: 0;
}

.main#products .product-hdg-box .btn-list-01 {
  padding-left: 110px;
  width: 38.2%;
  margin: 0 -5px;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.main#products .product-hdg-box .btn-list-01 li {
  padding: 0 5px;
}

.main#products .product-hdg-box .btn-list-01 li a {
  width: 180px;
}

.main#products .product-hdg-box .btn-list-01 li a span {
  font-weight: normal;
}

.main#products .product-hdg-box .btn-list-01 .brand a {
  background: #d62828;
  border-color: #d62828;
}

.main#products .product-hdg-box .btn-list-01 .brand a::before {
  background: #d62828;
}

.main#products .product-hdg-box .btn-list-01 .brand a::after {
  border-color: #d62828;
}

.main#products .product-hdg-box .btn-list-01 .brand a:hover, .main#products .product-hdg-box .btn-list-01 .brand afocus {
  background: #fff;
  color: #d62828;
}

.main#products .product-hdg-box .btn-list-01 .brand a:hover::before, .main#products .product-hdg-box .btn-list-01 .brand afocus::before {
  background: #fff;
}

.main#products .product-hdg-box .btn-list-01 .brand a:hover::after, .main#products .product-hdg-box .btn-list-01 .brand afocus::after {
  border-color: #fff;
}

.main#products .product-hdg-box .btn-list-01 .brand a:hover span::before, .main#products .product-hdg-box .btn-list-01 .brand afocus span::before {
  background: #d62828;
}

@media only screen and (max-width: 1144px) {
  .main#products .product-hdg-box .btn-list-01 {
    padding-left: 0;
  }
  .main#products .product-hdg-box .btn-list-01 li a {
    width: auto;
  }
}

@media only screen and (max-width: 868px) {
  .main#products .product-hdg-box {
    display: block;
  }
  .main#products .product-hdg-box .products-hdg-01 {
    width: 100%;
    text-align: center;
  }
  .main#products .product-hdg-box .products-hdg-01 + .btn-list-01 {
    margin-top: 20px;
  }
  .main#products .product-hdg-box .btn-list-01 {
    width: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .main#products .product-hdg-box .btn-list-01 li {
    margin-top: 10px;
    width: 50%;
  }
  .main#products .product-hdg-box .btn-list-01 li a, .main#products .product-hdg-box .btn-list-01 li button {
    display: block;
    padding-right: 5px;
    padding-left: 5px;
  }
  .main#products .product-hdg-box .btn-list-01 li a::before, .main#products .product-hdg-box .btn-list-01 li a::after, .main#products .product-hdg-box .btn-list-01 li button::before, .main#products .product-hdg-box .btn-list-01 li button::after {
    right: 11px;
  }
}

/*--- btn-01 ------------------*/
.main#products .btn-01.middle a {
  min-width: 340px;
}

@media only screen and (max-width: 868px) {
  .main#products .btn-01.middle a {
    min-width: auto;
  }
}

/*--- top-product ------------------*/
.main#products .index-04 {
  margin: 7px -9px 0 -8px;
}

.main#products .index-04 li {
  line-height: 1;
  margin-top: 17px;
  padding: 0 9px 0 8px;
}

@media only screen and (max-width: 868px) {
  .main#products .index-04 {
    margin: 20px -5px;
  }
  .main#products .index-04 li {
    margin-top: 10px;
    padding: 0 5px;
  }
}

/*--- list-input-01 ------------------*/
.main#products-new #box-input {
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}

.main#products-new #box-input p {
  font-size: 1.8rem;
  vertical-align: middle;
  font-weight: bold;
  margin-top: 10px;
  padding-right: 10px;
}

.main#products-new #box-input + * {
  margin-top: 20px;
}

.main#products-new .list-input-01 {
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}

@media only screen and (max-width: 868px) {
  .main#products-new #box-input {
    display: block;
    margin-bottom: 20px;
    width: 100%;
  }
  .main#products-new .list-input-01 {
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
  }
}

/*  products END -----------------------------------------*/
/*  products-detail START -----------------------------------------*/
main#products-detail #box-detail-02 .slick-arrow {
  overflow: hidden;
  position: absolute;
  border: 0;
  width: 38px;
  height: 38px;
  top: 0;
  z-index: 888;
}

main#products-detail #box-detail-02 .slick-arrow span {
  background-position: center center;
  background-repeat: no-repeat;
  display: block;
  width: 38px;
  height: 38px;
  line-height: 1;
  position: relative;
  text-indent: -999em;
  margin-top: 64px;
}

main#products-detail #box-detail-02 .slick-prev {
  left: 0;
}

main#products-detail #box-detail-02 .slick-prev span {
  background-image: url("/common/images/carousel-prev-01.png");
}

main#products-detail #box-detail-02 .slick-next {
  right: 0;
}

main#products-detail #box-detail-02 .slick-next span {
  background-image: url("/common/images/carousel-next-01.png");
}

@media only screen and (max-width: 478px) {
  main#products-detail #box-detail-02 .slick-prev {
    left: 10px;
  }
  main#products-detail #box-detail-02 .slick-next {
    right: 10px;
  }
}

/*--- box-detail-02 ------------------*/
main#products-detail #box-detail-02 button, main#products-detail #box-detail-02 a,
#box-detail-modal button,
#box-detail-modal a {
  outline: none !important;
}

main#products-detail #box-detail-02 .detail-img .slick-dots .slick-active .img::after,
#box-detail-modal .detail-img .slick-dots .slick-active .img::after {
  border: #1b9974 2px solid;
  background: none;
}

main#products-detail #box-detail-02 .detail-img .slick-dots li button .img,
#box-detail-modal .detail-img .slick-dots li button .img {
  height: 100%;
}

main#products-detail #box-detail-02 .detail-img .slick-dots li button .img::before,
#box-detail-modal .detail-img .slick-dots li button .img::before {
  display: block;
  content: "";
  padding-top: 100%;
  position: static;
  background: none;
}

main#products-detail #box-detail-02 .detail-img .slick-dots li button .img::after,
#box-detail-modal .detail-img .slick-dots li button .img::after {
  transition: .3s all;
  content: "";
  display: block;
  border-radius: 10px;
  background: rgba(0, 0, 0, 0.2);
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

main#products-detail #box-detail-02 .detail-img .slick-dots li button .img img,
#box-detail-modal .detail-img .slick-dots li button .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  display: block;
  border: 0;
  border-radius: 0;
  padding: 3px;
  max-height: 100%;
}

main#products-detail #box-detail-02 .detail-img .slick-slide,
#box-detail-modal .detail-img .slick-slide {
  position: relative;
  overflow: hidden;
  padding-bottom: 4px;
  height: 100%;
  width: 100%;
  display: block;
  border: #f1f1ee 1px solid;
  border-radius: 10px;
}

main#products-detail #box-detail-02 .detail-img .slick-slide::before,
#box-detail-modal .detail-img .slick-slide::before {
  display: block;
  content: "";
  padding-top: 100%;
}

main#products-detail #box-detail-02 .detail-img .slick-slide > .img,
#box-detail-modal .detail-img .slick-slide > .img {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  max-height: 620px;
  max-width: 620px;
}

main#products-detail #box-detail-02 .detail-img .slick-slide > .img img,
#box-detail-modal .detail-img .slick-slide > .img img {
  display: inline-block;
  padding: 20px;
  text-align: center;
  max-height: 100%;
  max-width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

main#products-detail #box-detail-02 .icon-zoom,
#box-detail-modal .icon-zoom {
  border-radius: 0 0 10px 0;
  cursor: pointer;
}

main#products-detail #box-detail-02 .icon-zoom img,
#box-detail-modal .icon-zoom img {
  cursor: pointer;
  display: block;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 1025 !important;
}

main#products-detail #box-detail-02 .carousel-pager-main,
#box-detail-modal .carousel-pager-main {
  height: auto !important;
}

.main#products-detail #box-detail-02.single .detail-img,
#box-detail-modal.single .detail-img {
  padding: 0;
  position: relative;
  border: #f1f1ee 1px solid;
  border-radius: 10px;
  max-height: 620px;
  max-width: 620px;
}

.main#products-detail #box-detail-02.single .detail-img::before,
#box-detail-modal.single .detail-img::before {
  display: block;
  content: "";
  padding-top: 100%;
  max-height: 620px;
  max-width: 620px;
}

.main#products-detail #box-detail-02.single .detail-img + .detail-content,
#box-detail-modal.single .detail-img + .detail-content {
  padding-left: 40px;
}

.main#products-detail #box-detail-02.single .img-single,
#box-detail-modal.single .img-single {
  margin-top: 0;
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  max-height: 620px;
  max-width: 620px;
}

.main#products-detail #box-detail-02.single .img-single span,
#box-detail-modal.single .img-single span {
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  text-align: center;
  max-height: 620px;
  max-width: 620px;
}

.main#products-detail #box-detail-02.single .img-single span img,
#box-detail-modal.single .img-single span img {
  padding: 20px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  max-height: 100%;
}

.main#products-detail #box-detail-02.single .img-single > b,
#box-detail-modal.single .img-single > b {
  position: absolute;
  top: 0;
  left: 0;
  font-weight: bold;
  color: #fff;
  border-radius: 10px 0 10px 0;
  padding: 5px 18px 4px 18px;
  font-size: 1.4rem;
  z-index: 66;
}

.main#products-detail #box-detail-02.single .img-single > b.renewal,
#box-detail-modal.single .img-single > b.renewal {
  background: #1b9974;
}

.main#products-detail #box-detail-02.single .img-single > b.new,
#box-detail-modal.single .img-single > b.new {
  background: #d62828;
}

.main#products-detail #box-detail-02.single .img-single > b.end,
#box-detail-modal.single .img-single > b.end {
  background: #e8e7e2;
  color: #666;
}

@media only screen and (max-width: 868px) {
  .main#products-detail #box-detail-02.single .detail-img,
  #box-detail-modal.single .detail-img {
    max-height: 100%;
    max-width: 100%;
  }
  .main#products-detail #box-detail-02.single .detail-img::before,
  #box-detail-modal.single .detail-img::before {
    max-height: 100%;
    max-width: 100%;
  }
  .main#products-detail #box-detail-02.single .detail-img + .detail-content,
  #box-detail-modal.single .detail-img + .detail-content {
    padding-left: 0;
  }
  .main#products-detail #box-detail-02.single .img-single,
  #box-detail-modal.single .img-single {
    max-height: 100%;
    max-width: 100%;
  }
}

.main#products-detail #box-detail-02 .btn-03 {
  display: none;
}

/*--- column col2 large ------------------*/
@media only screen and (max-width: 868px) {
  .main#products-detail .column .col + .col {
    margin-top: 48px;
  }
}

/*--- index-04 col5 small ------------------*/
.main#products-detail .index-04 {
  display: block;
  text-align: left;
}

.main#products-detail .index-04 li {
  width: 240px;
  display: inline-block;
}

@media only screen and (max-width: 538px) {
  .main#products-detail .index-04 {
    text-align: center;
  }
}

/*--- product-faq-01 ------------------*/
.main#products-detail .product-faq-01 li {
  margin-top: 20px;
}

.main#products-detail .product-faq-01 li a {
  display: inline-block;
  color: #000;
  text-decoration: none;
  padding-left: 40px;
  position: relative;
}

.main#products-detail .product-faq-01 li a:hover, .main#products-detail .product-faq-01 li a:focus {
  text-decoration: underline;
}

.main#products-detail .product-faq-01 li a b {
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 40px;
  background: #d62828;
  font-weight: bold;
  color: #fff;
  font-size: 1.4rem;
  width: 26px;
  height: 26px;
  padding-top: 1px;
}

/*--- table-01 ------------------*/
.main#products-detail .table-01 td {
  text-align: right;
}

.main#products-detail .table-01 .sub-01 th {
  border-left: #d2cfc6 1px solid;
}

.main#products-detail .col .table-01 {
  width: 80%;
}

@media only screen and (max-width: 868px) {
  .main#products-detail .col .table-01 {
    width: 100%;
  }
}

/*--- product-detail-aside-01 ------------------*/
.main#products-detail .product-detail-aside-01 {
  background: url("/common/images/bg-01.jpg") top center;
  padding: 0 20px;
  margin-top: 40px;
}

.main#products-detail .product-detail-aside-01 .aside-inner {
  position: relative;
  padding: 40px 0;
}

.main#products-detail .product-detail-aside-01 .aside-inner > a, .main#products-detail .product-detail-aside-01 .aside-inner > .link {
  color: #000;
  text-decoration: none;
}

.main#products-detail .product-detail-aside-01 .aside-inner > a:hover .aside-img img, .main#products-detail .product-detail-aside-01 .aside-inner > a:focus .aside-img img, .main#products-detail .product-detail-aside-01 .aside-inner > .link:hover .aside-img img, .main#products-detail .product-detail-aside-01 .aside-inner > .link:focus .aside-img img {
  transform: scale(1.1, 1.1);
}

.main#products-detail .product-detail-aside-01 .aside-inner .aside-img {
  margin-top: 0;
}

.main#products-detail .product-detail-aside-01 .aside-inner .aside-img span {
  display: inline-block;
  overflow: hidden;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border-radius: 10px;
}

.main#products-detail .product-detail-aside-01 .aside-inner .aside-img img {
  border-radius: 10px;
  max-width: 210px;
  display: block;
  transition: .3s all;
  transform: scale(1, 1);
}

.main#products-detail .product-detail-aside-01 .aside-inner .aside-img + .aside-txt {
  padding-left: 23px;
}

.main#products-detail .product-detail-aside-01 .aside-inner .aside-txt .title {
  font-size: 1.8rem;
  font-weight: bold;
}

.main#products-detail .product-detail-aside-01 .aside-inner .aside-txt .title + * {
  margin-top: 10px;
}

.main#products-detail .product-detail-aside-01 .aside-inner .aside-txt .btn-02 {
  margin-top: 15px;
}

.main#products-detail .product-detail-aside-01 .catch {
  margin-top: 0;
  position: absolute;
  top: -14px;
  left: 0;
}

.main#products-detail .product-detail-aside-01 .catch b {
  background: #d62828;
  padding: 3px 18px 2px 18px;
  border-radius: 60px;
  color: #fff;
  font-weight: bold;
  font-size: 1.4rem;
  position: relative;
  display: block;
}

.main#products-detail .product-detail-aside-01 .catch b::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 8px 0 0;
  border-color: #d62828 transparent transparent transparent;
  position: absolute;
  left: 15px;
  bottom: -8px;
}

@media only screen and (max-width: 868px) {
  .main#products-detail .product-detail-aside-01 .catch b {
    font-size: 1.2rem;
  }
  .main#products-detail .product-detail-aside-01 .aside-inner > a, .main#products-detail .product-detail-aside-01 .aside-inner .link {
    display: block;
    text-align: center;
  }
  .main#products-detail .product-detail-aside-01 .aside-inner > a .aside-txt, .main#products-detail .product-detail-aside-01 .aside-inner .link .aside-txt {
    padding: 0;
  }
  .main#products-detail .product-detail-aside-01 .aside-inner > a .aside-txt .title, .main#products-detail .product-detail-aside-01 .aside-inner .link .aside-txt .title {
    font-size: 1.6rem;
  }
  .main#products-detail .product-detail-aside-01 .aside-inner > a .aside-txt .title + p, .main#products-detail .product-detail-aside-01 .aside-inner .link .aside-txt .title + p {
    text-align: left;
  }
}

/*--- product-end-01 ------------------*/
.main#products-detail .product-end-01 {
  margin-top: 30px;
  background: #f8f5e6;
  border-radius: 10px;
}

.main#products-detail .product-end-01 .end-inner {
  padding: 40px;
}

.main#products-detail .product-end-01 .end-inner .lead {
  text-align: center;
  margin-top: 0;
}

.main#products-detail .product-end-01 .end-inner a {
  margin-top: 20px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: flex-start;
  align-items: flex-start;
  color: #000;
  text-decoration: none;
}

.main#products-detail .product-end-01 .end-inner a > .end-content {
  padding-left: 20px;
  width: 70%;
  -webkit-flex: 1;
  flex: 1;
}

.main#products-detail .product-end-01 .end-inner a > .end-content .title {
  margin-top: 0;
  font-size: 1.8rem;
}

.main#products-detail .product-end-01 .end-inner a > .end-content .data {
  margin-top: 0;
}

.main#products-detail .product-end-01 .end-inner a > .end-content .btn-02 {
  margin-top: 25px;
}

.main#products-detail .product-end-01 .end-inner a > .end-img {
  margin-top: 0;
  overflow: hidden;
  width: 156px;
  position: relative;
  text-align: center;
  vertical-align: middle;
  height: 150px;
}

.main#products-detail .product-end-01 .end-inner a > .end-img::before {
  content: "";
  display: block;
  background: #fff;
  border: #edeadc 1px solid;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  width: 100%;
  max-height: 150px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

.main#products-detail .product-end-01 .end-inner a > .end-img img {
  padding: 5px;
  max-height: 150px;
  max-width: 150px;
  transform: translate(-50%, -50%);
  position: absolute;
  top: 50%;
  left: 50%;
}

@media only screen and (max-width: 868px) {
  .main#products-detail .product-end-01 .end-inner {
    padding: 24px 20px;
  }
  .main#products-detail .product-end-01 .end-inner a {
    display: block;
  }
  .main#products-detail .product-end-01 .end-inner a > .end-content {
    padding: 0;
    width: 100%;
    margin-top: 20px;
  }
  .main#products-detail .product-end-01 .end-inner a > .end-content .title {
    font-size: 1.6rem;
  }
  .main#products-detail .product-end-01 .end-inner a > .end-content .btn-02 {
    margin-top: 15px;
  }
  .main#products-detail .product-end-01 .end-inner a > .end-img {
    width: 100%;
    max-width: 160px;
    margin: 0 auto;
  }
}

main#products-detail #gallery > li:nth-child(n + 2) {
  display: none;
}

/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */
.pswp {
  display: none;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  -ms-touch-action: none;
  touch-action: none;
  z-index: 1500;
  -webkit-text-size-adjust: 100%;
  /* create separate layer, to avoid paint on window.onscroll in webkit/blink */
  -webkit-backface-visibility: hidden;
  outline: none;
}

.pswp * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pswp img {
  max-width: none;
}

/* style is added when JS option showHideOpacity is set to true */
.pswp--animate_opacity {
  /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */
  opacity: 0.001;
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--open {
  display: block;
}

.pswp--zoom-allowed .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.pswp--zoomed-in .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.pswp--dragging .pswp__img {
  /* autoprefixer: off */
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/*
  Background is added as a separate element.
  As animating opacity is much faster than animating rgba() background-color.
*/
.pswp__bg {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
  opacity: 0;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__scroll-wrap {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.pswp__container,
.pswp__zoom-wrap {
  -ms-touch-action: none;
  touch-action: none;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

/* Prevent selection and tap highlights */
.pswp__container,
.pswp__img {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

.pswp__zoom-wrap {
  position: absolute;
  width: 100%;
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top;
  /* for open/close transition */
  -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp__bg {
  will-change: opacity;
  /* for open/close transition */
  -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
  transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1);
}

.pswp--animated-in .pswp__bg,
.pswp--animated-in .pswp__zoom-wrap {
  -webkit-transition: none;
  transition: none;
}

.pswp__container,
.pswp__zoom-wrap {
  -webkit-backface-visibility: hidden;
}

.pswp__item {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  overflow: hidden;
}

.pswp__img {
  position: absolute;
  width: auto;
  height: auto;
  top: 0;
  left: 0;
}

/*
  stretched thumbnail or div placeholder element (see below)
  style is added to avoid flickering in webkit/blink when layers overlap
*/
.pswp__img--placeholder {
  -webkit-backface-visibility: hidden;
}

.pswp__img--placeholder--blank {
  background: #222;
}

.pswp--ie .pswp__img {
  width: 100% !important;
  height: auto !important;
  left: 0;
  top: 0;
}

.pswp__error-msg {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  text-align: center;
  font-size: 14px;
  line-height: 16px;
  margin-top: -8px;
  color: #CCC;
}

.pswp__error-msg a {
  color: #CCC;
  text-decoration: underline;
}

.sp .pswp__button.pswp__button--arrow--right, .sp .pswp__button.pswp__button--arrow--left {
  display: none;
}

.pswp__button {
  width: 44px;
  height: 44px;
  position: relative;
  background: none;
  cursor: pointer;
  overflow: visible;
  -webkit-appearance: none;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
  float: right;
  opacity: 1;
}

.pswp__button--close {
  position: absolute;
  right: 5px;
  bottom: 10px;
}

.pswp__button--close::before {
  content: "";
  display: block;
  background: #fff;
  width: 31px;
  height: 3px;
  border-radius: 6px;
  transition: .3s all;
  position: absolute;
  right: 5px;
  bottom: 20px;
  will-change: transform;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.pswp__button--close::after {
  content: "";
  display: block;
  background: #fff;
  width: 31px;
  height: 3px;
  border-radius: 6px;
  transition: .3s all;
  position: absolute;
  right: 5px;
  bottom: 20px;
  will-change: transform;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.pswp__button--close:hover::before,
.pswp__button--close:hover::after {
  opacity: .6;
}

/*
  Arrow buttons hit area
  (icon is added to :before pseudo-element)
*/
.pswp__button--arrow--left,
.pswp__button--arrow--right {
  background: none;
  top: 50%;
  margin-top: -50px;
  width: 70px;
  height: 100px;
  position: absolute;
}

.pswp__button--arrow--left {
  left: 0;
}

.pswp__button--arrow--right {
  right: 0;
}

.pswp__button--arrow--left::before,
.pswp__button--arrow--right::before {
  content: "";
  top: 35px;
  height: 38px;
  width: 38px;
  position: absolute;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: auto;
}

.pswp__button--arrow--left::before {
  left: 6px;
  background-image: url("/common/images/carousel-prev-01.png");
}

.pswp__button--arrow--right::before {
  right: 6px;
  background-image: url("/common/images/carousel-next-01.png");
}

/*
  2. Share modal/popup and links
 */
.pswp__counter,
.pswp__share-modal {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.pswp__share-modal {
  display: block;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10px;
  position: absolute;
  z-index: 1600;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  -webkit-backface-visibility: hidden;
  will-change: opacity;
}

.pswp__share-modal--hidden {
  display: none;
}

.pswp__share-tooltip {
  z-index: 1620;
  position: absolute;
  background: #FFF;
  top: 56px;
  border-radius: 2px;
  display: block;
  width: auto;
  right: 44px;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25);
  -webkit-transform: translateY(6px);
  -ms-transform: translateY(6px);
  transform: translateY(6px);
  -webkit-transition: -webkit-transform 0.25s;
  transition: transform 0.25s;
  -webkit-backface-visibility: hidden;
  will-change: transform;
}

.pswp__share-tooltip a {
  display: block;
  padding: 8px 12px;
  color: #000;
  text-decoration: none;
  font-size: 14px;
  line-height: 18px;
}

.pswp__share-tooltip a:hover {
  text-decoration: none;
  color: #000;
}

.pswp__share-tooltip a:first-child {
  /* round corners on the first/last list item */
  border-radius: 2px 2px 0 0;
}

.pswp__share-tooltip a:last-child {
  border-radius: 0 0 2px 2px;
}

.pswp__share-modal--fade-in {
  opacity: 1;
}

.pswp__share-modal--fade-in .pswp__share-tooltip {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

/* increase size of share links on touch devices */
.pswp--touch .pswp__share-tooltip a {
  padding: 16px 12px;
}

a.pswp__share--facebook:before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  top: -12px;
  right: 15px;
  border: 6px solid transparent;
  border-bottom-color: #FFF;
  -webkit-pointer-events: none;
  -moz-pointer-events: none;
  pointer-events: none;
}

a.pswp__share--facebook:hover {
  background: #3E5C9A;
  color: #FFF;
}

a.pswp__share--facebook:hover:before {
  border-bottom-color: #3E5C9A;
}

a.pswp__share--twitter:hover {
  background: #55ACEE;
  color: #FFF;
}

a.pswp__share--pinterest:hover {
  background: #CCC;
  color: #CE272D;
}

a.pswp__share--download:hover {
  background: #DDD;
}

/*

  3. Index indicator ("1 of X" counter)

 */
.pswp__counter {
  display: none;
}

/*
  
  4. Caption

 */
.pswp__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 60px;
}

.pswp__caption small {
  font-size: 11px;
  color: #BBB;
}

.pswp__caption__center {
  text-align: left;
  max-width: 420px;
  margin: 0 auto;
  font-size: 13px;
  padding: 10px;
  line-height: 20px;
  color: #CCC;
}

/*.pswp__caption--empty {
  display: none;
}
*/
/* Fake caption element, used to calculate height of next/prev image */
.pswp__caption--fake {
  visibility: hidden;
}

/*

  5. Loading indicator (preloader)

  You can play with it here - http://codepen.io/dimsemenov/pen/yyBWoR

 */
.pswp__preloader {
  width: 44px;
  height: 44px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -22px;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease-out;
  transition: opacity 0.25s ease-out;
  will-change: opacity;
  direction: ltr;
}

.pswp__preloader__icn {
  width: 20px;
  height: 20px;
  margin: 12px;
}

.pswp__preloader--active {
  opacity: 1;
}

.pswp__preloader--active .pswp__preloader__icn {
  /* We use .gif in browsers that don't support CSS animation */
  background: url(photoswipe/preloader.gif) 0 0 no-repeat;
}

.pswp--css_animation .pswp__preloader--active {
  opacity: 1;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__icn {
  -webkit-animation: clockwise 500ms linear infinite;
  animation: clockwise 500ms linear infinite;
}

.pswp--css_animation .pswp__preloader--active .pswp__preloader__donut {
  -webkit-animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
  animation: donut-rotate 1000ms cubic-bezier(0.4, 0, 0.22, 1) infinite;
}

.pswp--css_animation .pswp__preloader__icn {
  background: none;
  opacity: 0.75;
  width: 14px;
  height: 14px;
  position: absolute;
  left: 15px;
  top: 15px;
  margin: 0;
}

.pswp--css_animation .pswp__preloader__cut {
  /* 
      The idea of animating inner circle is based on Polymer ("material") loading indicator 
       by Keanu Lee https://blog.keanulee.com/2014/10/20/the-tale-of-three-spinners.html
    */
  position: relative;
  width: 7px;
  height: 14px;
  overflow: hidden;
}

.pswp--css_animation .pswp__preloader__donut {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 14px;
  height: 14px;
  border: 2px solid #FFF;
  border-radius: 50%;
  border-left-color: transparent;
  border-bottom-color: transparent;
  position: absolute;
  top: 0;
  left: 0;
  background: none;
  margin: 0;
}

@media screen and (max-width: 1024px) {
  .pswp__preloader {
    position: relative;
    left: auto;
    top: auto;
    margin: 0;
    float: right;
  }
}

@-webkit-keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes clockwise {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

@keyframes donut-rotate {
  0% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
  50% {
    -webkit-transform: rotate(-140deg);
    transform: rotate(-140deg);
  }
  100% {
    -webkit-transform: rotate(0);
    transform: rotate(0);
  }
}

/*
  
  6. Additional styles

 */
/* root element of UI */
.pswp__ui {
  -webkit-font-smoothing: auto;
  visibility: visible;
  opacity: 1;
  z-index: 1550;
}

/* top black bar with buttons and "1 of X" indicator */
.pswp__top-bar {
  position: absolute;
  left: 0;
  top: 0;
  height: 44px;
  width: 100%;
}

/* pswp--has_mouse class is added only when two subsequent mousemove events occur */
.pswp--has_mouse .pswp__button--arrow--left,
.pswp--has_mouse .pswp__button--arrow--right {
  visibility: visible;
}

/*
  pswp__ui--hidden class is added when controls are hidden
  e.g. when user taps to toggle visibility of controls
*/
/* pswp__ui--one-slide class is added when there is just one item in gallery */
.pswp__ui--one-slide .pswp__button--arrow--left,
.pswp__ui--one-slide .pswp__button--arrow--right,
.pswp__ui--one-slide .pswp__counter {
  display: none;
}

.pswp__element--disabled {
  display: none !important;
}

.pswp__img.pswp__img--placeholder {
  display: none;
}

.pswp .box-pager {
  background-color: rgba(0, 0, 0, 0.2);
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
  margin: 0 -2px;
  padding-bottom: 5px;
  padding-top: 5px;
}

.pswp .box-pager li {
  padding: 0 2px;
}

.pswp .box-pager .current button::before {
  border: #1b9974 2px solid;
  background: rgba(0, 0, 0, 0);
}

.pswp .box-pager button {
  display: block;
  width: 55px;
  height: 55px;
  padding: 0 2px;
  border-radius: 8px;
  background: #fff;
  position: relative;
}

.pswp .box-pager button::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  position: absolute;
  top: 0;
  left: 0;
  border: rgba(27, 153, 116, 0) 2px solid;
  background: rgba(0, 0, 0, 0.2);
  transition: .3s all;
}

.pswp .box-pager button img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

#gallery-modal-item {
  display: none;
}

#gallery-modal-item img {
  max-width: initial;
}

#touch-01 {
  position: absolute;
  top: 50%;
  left: 50%;
  margin: auto;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

#touch-01.hide {
  position: relative;
  display: none;
  z-index: -999;
}

html.ie .pswp__button--zoom,
html.ie .pswp__button--zoom {
  display: block;
}

html.ie .pswp--zoom-allowed .pswp__button--zoom {
  display: block;
}

.pswp__button--zoom {
  background: url(/common/images/icon-moda-zoom.png) no-repeat center center;
  width: 44px;
  height: 44px;
  position: absolute;
  right: 5px;
  top: 10px;
  z-index: 55;
  display: none;
}

.pswp--zoomed-in .pswp__button--zoom {
  background: url(/common/images/icon-moda-out.png) no-repeat center center;
}

html.sp .pswp__button--zoom {
  display: none;
}

/*  products-detail END -----------------------------------------*/
/*  products-category-brand START -----------------------------------------*/
/*--- box-category-brand-01 ------------------*/
.main#products-category-brand .box-category-brand-01,
.main#recipe-search-category-brand .box-category-brand-01 {
  background: #eff7f1;
  border-radius: 10px;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  padding: 22px 40px 24px 40px;
}

.main#products-category-brand .box-category-brand-01.full .box-inner,
.main#recipe-search-category-brand .box-category-brand-01.full .box-inner {
  width: 100%;
}

.main#products-category-brand .box-category-brand-01 .box-inner,
.main#recipe-search-category-brand .box-category-brand-01 .box-inner {
  width: 69%;
}

.main#products-category-brand .box-category-brand-01 .lead,
.main#recipe-search-category-brand .box-category-brand-01 .lead {
  margin-top: 0;
  font-size: 1.8rem;
  border-bottom: #928e80 3px double;
}

.main#products-category-brand .box-category-brand-01 .img,
.main#recipe-search-category-brand .box-category-brand-01 .img {
  margin-top: 0;
  text-align: center;
  width: 31%;
  padding-left: 30px;
}

@media only screen and (max-width: 868px) {
  .main#products-category-brand .box-category-brand-01,
  .main#recipe-search-category-brand .box-category-brand-01 {
    display: block;
    padding: 30px 20px;
  }
  .main#products-category-brand .box-category-brand-01 .box-inner,
  .main#products-category-brand .box-category-brand-01 .img,
  .main#recipe-search-category-brand .box-category-brand-01 .box-inner,
  .main#recipe-search-category-brand .box-category-brand-01 .img {
    width: 100%;
  }
  .main#products-category-brand .box-category-brand-01 .lead,
  .main#recipe-search-category-brand .box-category-brand-01 .lead {
    font-size: 1.6rem;
  }
  .main#products-category-brand .box-category-brand-01 .img,
  .main#recipe-search-category-brand .box-category-brand-01 .img {
    padding-left: 0;
    margin-top: 1;
  }
}

.main#products-category-brand [id^="js-sort"],
.main#recipe-search-category-brand [id^="js-sort"] {
  display: none;
  transition: .3s all;
}

.main#products-category-brand [id^="js-sort"].show,
.main#recipe-search-category-brand [id^="js-sort"].show {
  display: block;
}

.main#products-category-brand [id^="js-sort"].active,
.main#recipe-search-category-brand [id^="js-sort"].active {
  display: block;
}

.main#products-category-brand .index-04 li a,
.main#recipe-search-category-brand .index-04 li a {
  -webkit-flex-direction: column;
  flex-direction: column;
  height: 100%;
}

.main#products-category-brand .index-04 li a:hover .img img, .main#products-category-brand .index-04 li a:focus .img img,
.main#recipe-search-category-brand .index-04 li a:hover .img img,
.main#recipe-search-category-brand .index-04 li a:focus .img img {
  transform: scale(1.1, 1.1);
}

.main#products-category-brand .index-04 li a .img,
.main#recipe-search-category-brand .index-04 li a .img {
  overflow: hidden;
  border-radius: 10px;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
  height: 100%;
  box-shadow: 0 1px 3px 0px rgba(145, 145, 145, 0.6);
  border: #f1f1ee 1px solid;
  position: relative;
  text-align: center;
}

.main#products-category-brand .index-04 li a .img img,
.main#recipe-search-category-brand .index-04 li a .img img {
  -webkit-flex-shrink: 0;
  flex-shrink: 0;
  transform: scale(1, 1);
  transition: .3s all;
  border-radius: 10px;
}

.main#products-category-brand .index-04 li a .img,
.main#recipe-search-category-brand .index-04 li a .img {
  height: -webkit-calc(100vmin - 225px);
  height: calc(100vmin - 225px);
  max-height: 225px;
  padding: 20px;
}

.main#products-category-brand .index-04 li a .img img,
.main#recipe-search-category-brand .index-04 li a .img img {
  max-height: 205px;
  width: auto;
  border-radius: 0;
}

.main#products-category-brand .index-04 li a .icon,
.main#recipe-search-category-brand .index-04 li a .icon {
  font-size: 1.4rem;
}

.main#products-category-brand .index-04 li a .icon.new,
.main#recipe-search-category-brand .index-04 li a .icon.new {
  background: #d62828;
}

.main#products-category-brand .index-04 li a .icon.reflash,
.main#recipe-search-category-brand .index-04 li a .icon.reflash {
  background: #1b9974;
}

@media only screen and (max-width: 868px) {
  .main#products-category-brand .index-04 li a .icon,
  .main#recipe-search-category-brand .index-04 li a .icon {
    font-size: 1.2rem;
  }
  .main#products-category-brand .index-04 li a .img img,
  .main#recipe-search-category-brand .index-04 li a .img img {
    max-height: 100%;
  }
}

@media only screen and (max-width: 478px) {
  .main#products-category-brand .index-04 li a .img,
  .main#recipe-search-category-brand .index-04 li a .img {
    max-height: 130px;
    height: -webkit-calc(100vmin - 60px);
    height: calc(100vmin - 60px);
    padding: 10px;
  }
  .main#products-category-brand .index-04 li a .img img,
  .main#recipe-search-category-brand .index-04 li a .img img {
    max-height: 120px;
  }
}

/*  products-category-brand END -----------------------------------------*/
/* --------------------------------------
  modal
-----------------------------------------*/
/*--- modal-item-01 ------------------*/
/*--- box-detail-02 ------------------*/
/*--- userAgent touch Ver ------------------*/
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #000;
  opacity: .7;
}

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}

.js-modalproduct-content .mfp-container {
  padding: 0 20px;
}

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
  display: none;
}

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}

.mfp-ajax-cur {
  cursor: progress;
}

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
  cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.mfp-loading.mfp-figure {
  display: none;
}

.mfp-hide {
  display: none !important;
}

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}

.mfp-preloader a {
  color: #CCC;
}

.mfp-preloader a:hover {
  color: #FFF;
}

.mfp-s-ready .mfp-preloader {
  display: none;
}

.mfp-s-error .mfp-content {
  display: none;
}

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}

button::-moz-focus-inner {
  padding: 0;
  border: 0;
}

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}

.mfp-close:active {
  top: 1px;
}

.mfp-close-btn-in .mfp-close {
  color: #333;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}

.mfp-arrow:active {
  margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}

.mfp-arrow-left {
  left: 0;
}

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px;
}

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F;
}

.mfp-arrow-right {
  right: 0;
}

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px;
}

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F;
}

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
  top: -40px;
}

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px;
}

.mfp-figure figure {
  margin: 0;
}

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px;
}

.mfp-image-holder .mfp-content {
  max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
  .js-modalproduct-content .mfp-container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

button.mfp-close * {
  pointer-events: none;
}
