@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Roboto:wght@400;500;700&display=swap");
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");
html, body {
  height: 100%; }

html {
  font-size: 62.5%; }

body {
  -webkit-text-size-adjust: 100%;
  min-width: 1030px; }
@media screen and (max-width: 768px) {
  body {
    min-width: inherit; } }

body, h1, h2, h3, h4, h5, h6, p, address, ul, ol, li, dl, dt, dd, table, th, td, img, form {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 100%;
  list-style-type: none;
  font-style: normal;
  font-weight: normal;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  text-align: left;
  color: #383838;
  letter-spacing: .05em; }

* {
  line-height: 1.4;
  box-sizing: border-box;
  word-break: break-all;
  line-break: normal;
  word-wrap: break-word;
  overflow-wrap: break-word; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.8; }

p, li, dt, dd, th, td, form {
  font-size: 1.3rem;
  line-height: 2.1; }
@media screen and (max-width: 768px) {
  p, li, dt, dd, th, td, form {
    font-size: 1.4rem;
    line-height: 1.5; } }

picture, figure {
  display: block;
  margin: 0; }

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

main {
  overflow: hidden;
  display: block;
  position: relative;
  padding-bottom: 60px; }

.pc {
  display: block; }

.sp {
  display: none; }

@media screen and (max-width: 768px) {
  .pc {
    display: none !important; }

  .sp {
    display: block !important; } }
@media (min-width: 600px) {
  a[href*="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none; } }
.content-inner {
  padding-left: 15px;
  padding-right: 15px;
  max-width: 1030px;
  margin: 0 auto; }

.bg-gray {
  background-color: #F2F2F2; }

.section__ttl {
  font-size: 4.5rem;
  font-weight: 700;
  position: relative;
  letter-spacing: .05em;
  padding-left: 1em; }
.section__ttl.white {
  color: #fff; }
.section__ttl::before {
  content: '';
  position: absolute;
  width: .7em;
  height: 1px;
  background-color: currentColor;
  top: .8em;
  left: 0; }
.section__ttl .jp {
  font-size: 1.3rem;
  font-weight: normal;
  letter-spacing: normal;
  margin-left: 1em; }

.eg {
  font-family: 'Roboto', sans-serif; }

.ly-align-right {
  text-align: right; }

.bnr {
  transition: 0.3s;
  display: inline-block;
  display: block;
  text-align: center; }
.bnr:hover {
  opacity: 0.7; }

.bnr-shadow {
  box-shadow: 10px 10px 20px -17px rgba(0, 0, 0, 0.82); }

@media screen and (max-width: 768px) {
  .sp-bg-white {
    background-color: #fff; } }

/* トップへ戻るボタン */
.btn-top {
  position: fixed;
  bottom: 0;
  right: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 10; }
.btn-top.is-active {
  opacity: 1;
  pointer-events: auto; }
.btn-top.is-absolute {
  position: absolute;
  bottom: 0; }
.btn-top .top {
  width: 79px;
  height: 79px;
  background-color: #169647;
  text-decoration: none;
  transition: 0.3s;
  display: block;
  position: relative;
  margin-left: auto; }
.btn-top .top:hover {
  opacity: 0.7; }
.btn-top .top::after {
  content: '';
  width: 14px;
  height: 14px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg); }
@media screen and (max-width: 768px) {
  .btn-top .top {
    width: 57px;
    height: 57px; } }

/* ----------------------------------------------------------------------------------------------------
*  ヘッダー
* --------------------------------------------------------------------------------------------------*/
.header {
  /* 左側のコンテンツ（ロゴ） */
  /* 右側のコンテンツ（検索窓やナビゲーション） */ }
@media screen and (max-width: 768px) {
  .header.is-nav-open {
    height: 100vh;
    /* カスタムプロパティ未対応ブラウザ用のフォールバック */
    height: calc(var(--vh, 1vh) * 100);
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none; } }
.header .hamburger-content {
  display: none; }
@media screen and (max-width: 768px) {
  .header .hamburger-content {
    width: 33%;
    display: flex;
    align-items: center; } }
.header .hamburger-content .hamburger-menu {
  width: 50px;
  text-align: center; }
.header .hamburger-content .txt {
  font-size: 1.2rem;
  text-align: center;
  margin-top: 10px; }
.header .hamburger-content .menu-trigger, .header .hamburger-content .menu-trigger span {
  display: inline-block;
  transition: all .2s;
  box-sizing: border-box; }
.header .hamburger-content .menu-trigger {
  position: relative;
  width: 40px;
  height: 24px;
  background: none;
  border: none;
  appearance: none;
  cursor: pointer; }
.header .hamburger-content .menu-trigger span {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff; }
.header .hamburger-content .menu-trigger span:nth-of-type(1) {
  top: 0; }
.header .hamburger-content .menu-trigger span:nth-of-type(2) {
  top: calc(50% - 1px); }
.header .hamburger-content .menu-trigger span:nth-of-type(3) {
  bottom: 0; }
.header .hamburger-content .menu-trigger.is-active span:nth-of-type(1) {
  top: 50%;
  transform: rotate(-45deg); }
.header .hamburger-content .menu-trigger.is-active span:nth-of-type(2) {
  opacity: 0; }
.header .hamburger-content .menu-trigger.is-active span:nth-of-type(3) {
  top: 50%;
  transform: rotate(45deg); }
.header .logo-content {
  margin-right: 80px;
  display: flex;
  align-items: center; }
@media screen and (max-width: 768px) {
  .header .logo-content {
    margin-right: 0;
    width: 33%;
    justify-content: center; } }
.header .right-content {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  height: 100%; }
@media screen and (max-width: 768px) {
  .header .right-content {
    width: 33%;
    align-items: center;
    flex-direction: row;
    justify-content: flex-end; } }

/* スマホのナビゲーション */
.sp-navigation {
  display: block;
  position: absolute;
  padding-top: 20px;
  padding-bottom: 100px;
  top: 90px;
  right: 0;
  width: 100%;
  	/* height: 100vh; 
   	height: calc(var(--vh, 1vh) * 100);
  	 overflow-y: scroll;
  	 -webkit-overflow-scrolling: touch;
  	 -ms-overflow-style: none;
  	 scrollbar-width: none;  */
  height: calc(100vh - 90px - 35px);
  overflow-y: scroll;
  text-align: center;
  padding: 0;
  padding: 10px 0;
  background-color: #095C3F;
  transition: .3s;
  box-sizing: border-box;
  opacity: 0;
  pointer-events: none; }
.sp-navigation.is-nav-active {
  opacity: 1;
  pointer-events: all; }

.sp-nav {
  margin-top: 30px; }

.sp-nav__item {
  text-align: center; }

.sp-nav__link {
  width: 100%;
  font-size: 1.6rem;
  text-decoration: none;
  padding: 14px 0;
  display: inline-block; }

.box-nav__list {
  display: flex;
  justify-content: center; }

.box-nav__item {
  margin: 5px; }

.box-nav__link {
  border: 1px solid #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 86px;
  height: 86px;
  text-decoration: none; }
.box-nav__link .icn {
  margin-top: 5px;
  display: inline-block; }
.box-nav__link .txt {
  font-size: 1.2rem;
  text-align: center; }

/* スマホナビゲーションお買い物かご */
.box-nav__item.cart .icn {
  position: relative; }
.box-nav__item.cart .mark {
  width: 41px;
  display: inline-block; }
.box-nav__item.cart .number {
  display: flex;
  min-width: 16px;
  align-items: center;
  justify-content: center;
  border-radius: 100px;
  background-color: #fff;
  padding: 2px;
  position: absolute;
  white-space: nowrap;
  top: -3px;
  left: 30px;
  text-align: center; }
.box-nav__item.cart .number .num {
  color: #095C3F;
  font-size: 1rem; }

/* スマホナビゲーションオーダー見積もり */
.box-nav__item.order .icn {
  width: 20px; }

/* スマホナビゲーションお問い合わせ */
.box-nav__item.inquiry .txt {
  margin-bottom: 9px; }
.box-nav__item.inquiry .icn {
  width: 31px;
  margin-bottom: 4px; }

/* ヘッダーの内包 */
.header-inner {
  padding: 0 15px;
  margin: 0 auto;
  width: calc(1000px + 30px); }
@media screen and (max-width: 768px) {
  .header-inner {
    width: auto; } }

/* ヘッダー上部 */
.header-upper {
  background-color: #012210;
  padding: 10px 0; }
.header-upper .txt {
  color: #fff;
  font-size: 1.2rem; }
@media screen and (max-width: 768px) {
  .header-upper .txt {
    font-size: 1.1rem; } }

/* ヘッダーメイン */
.header-main {
  background-color: #095C3F;
  overflow: hidden;
  position: relative;
  height: 120px; }
@media screen and (max-width: 768px) {
  .header-main {
    height: 90px;
    overflow: visible; } }
.header-main * {
  color: #fff; }
.header-main .header-inner {
  height: 100%; }
.header-main .ly-flex {
  display: flex;
  height: 100%; }
@media screen and (max-width: 768px) {
  .header-main .ly-flex {
    justify-content: space-between; } }

/* ロゴ */
.header-logo {
  width: 127px;
  flex-shrink: 0;
  transition: 0.3s; }
.header-logo:hover {
  opacity: 0.7; }
@media screen and (max-width: 768px) {
  .header-logo {
    width: 99px;
    height: auto; } }

.header-bottom {
  background-color: #A1BFA4;
  padding: 3px 0; }
.header-bottom .txt {
  font-size: 1.2rem;
  color: #0B5C3F; }
@media screen and (max-width: 768px) {
  .header-bottom .txt {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; } }

.search-nav-wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 20px; }
@media screen and (max-width: 768px) {
  .search-nav-wrapper {
    margin-top: 0; } }

.ie11 .search-nav-wrapper {
  height: 45px; }

/* 検索窓 */
/*pc*/
@media screen and (max-width: 768px) {
  .search-nav-wrapper .search-wrapper {
    display: none; } }

/*スマホ*/
.sp-search {
  display: none;
  margin: 10px 0; }
@media screen and (max-width: 768px) {
  .sp-search {
    display: block;
    margin-top: 0;
    padding-top: 10px; } }
.sp-search .search-wrapper input {
  width: 100%;
  height: 60px; }

.search-wrapper {
  position: relative; }
.search-wrapper::before {
  content: '';
  position: absolute;
  background: url(../../img/common/icon-search.svg) no-repeat center center/contain;
  width: 16px;
  height: 16px;
  top: 50%;
  transform: translateY(-50%);
  left: 15px; }
.search-wrapper input {
  -webkit-appearance: none;
  font-size: 1.3rem;
  background-color: #EAEAEA;
  width: 370px;
  padding: 10px 10px 10px 45px;
  border: none;
  border-radius: 5px;
  height: 45px;
  color: #000;
  box-shadow: 0px 0px 8px 3px #ccc inset; }
.search-wrapper input::placeholder {
  color: #A3A3A3; }

/* ヘッダーナビゲーション */
.header-nav {
  margin-top: auto; }
@media screen and (max-width: 768px) {
  .header-nav {
    display: none; } }

.header-nav__list {
  display: flex;
  align-items: center; }

.header-nav__item {
  margin-right: 45px; }
.header-nav__item:last-of-type {
  margin-right: 0; }

.header-nav__link {
  font-size: 1.5rem;
  text-decoration: none;
  position: relative;
  display: flex;
  align-items: center;
  height: 54px;
  transition: 0.3s; }
.header-nav__link:hover {
  opacity: 0.7; }
.header-nav__link .icn {
  width: 17px;
  margin-right: 6px;
  display: inline-block;
  position: relative;
  margin-top: -2px; }
.header-nav__link .icn img {
  width: 17px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%); }
.header-nav__link .txt {
  position: relative; }
.header-nav__link.current .txt::after {
  content: '';
  position: absolute;
  bottom: 0;
  height: 50px;
  width: 1px;
  background-color: #fff;
  left: 50%;
  transform: translateY(100%); }

.ie11 .header-nav__link .icn {
  margin-top: -5px; }

.header-nav__item.item-guide .header-nav__link .icn {
  width: 13px; }
.header-nav__item.item-guide .header-nav__link .icn img {
  width: 13px; }

.header-nav__item.item-home .header-nav__link .icn {
  width: 13px; }
.header-nav__item.item-home .header-nav__link .icn img {
  width: 13px; }

.content-nav-cart-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end; }

/* お支払い方法などのナビゲーション */
@media screen and (max-width: 768px) {
  .content-nav {
    display: none; } }

.content-nav__list {
  display: flex;
  align-items: center; }

.content-nav__item {
  position: relative; }
.content-nav__item::after {
  content: '|';
  position: absolute;
  top: -1px;
  right: 0;
  transform: translateX(50%); }
.content-nav__item:first-of-type .content-nav__link {
  padding-left: 0; }

.content-nav__link {
  font-size: 1.3rem;
  text-decoration: none;
  padding: 0 20px;
  transition: 0.3s; }
@media screen and (max-width: 768px) {
  .content-nav__link {
    padding: 0 10px; } }
.content-nav__link:hover {
  opacity: 0.7; }
.content-nav__link .icn {
  position: relative;
  margin-left: 5px; }
@media screen and (max-width: 768px) {
  .content-nav__link .icn {
    margin-left: 0; } }
.content-nav__link .mark {
  display: inline-block;
  width: 41px;
  margin-top: -2px;
  vertical-align: middle; }
@media screen and (max-width: 768px) {
  .content-nav__link .mark {
    width: 36px;
    margin-top: 0; } }
.content-nav__link .number {
  min-width: 18px;
  height: 18px;
  border-radius: 100px;
  background-color: #fff;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  top: -3px;
  left: 30px;
  text-align: center; }
@media screen and (max-width: 768px) {
  .content-nav__link .number {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 16px; } }
.content-nav__link .number .num {
  color: #095C3F;
  font-size: 1rem; }

.content-nav__item.cart {
  margin-top: 1px;
  padding-left: 15px; }
.content-nav__item.cart::after {
  display: none; }
.content-nav__item.cart .content-nav__link {
  display: flex;
  align-items: center; }
@media screen and (max-width: 768px) {
  .content-nav__item.cart .txt {
    display: none; } }

/* カートヘッダー */
.header-cart {
  background: #095C3F; }
.header-cart .header-inner {
  display: flex;
  align-items: center;
  height: 70px; }
.header-cart .logo {
  width: 57px; }

/* ----------------------------------------------------------------------------------------------------
*  右サイドの固定リンク
* --------------------------------------------------------------------------------------------------*/
.side-tag {
  position: fixed;
  top: 50%;
  right: 0;
  z-index: 10;
  transform: translateY(-50%);
  opacity: 0;
  pointer-events: none; }
.side-tag.is-active {
  opacity: 1;
  pointer-events: auto; }
@media screen and (max-width: 768px) {
  .side-tag {
    display: none; } }

.side-tag__list {
  display: flex;
  flex-direction: column; }

.side-tag__item {
  margin-bottom: 5px; }
.side-tag__item.inquiry .txt {
  margin-bottom: 5px; }

.side-tag__link {
  font-size: 1.2rem;
  background-color: #095C3F;
  width: 86px;
  height: 86px;
  display: flex;
  text-decoration: none;
  color: #fff;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  transition: 0.3s; }
.side-tag__link:hover {
  opacity: 0.7; }
.side-tag__link .icn {
  position: relative;
  margin-top: 5px; }
.side-tag__link .number {
  background-color: #fff;
  min-width: 16px;
  min-height: 16px;
  border-radius: 50px;
  position: absolute;
  top: -2px;
  left: 30px;
  text-align: center; }
.side-tag__link .number .num {
  font-size: 1.0rem;
  color: #095C3F;
  padding: 2px;
  white-space: nowrap; }

.side-tag__item.cart .icn {
  width: 36px; }

.side-tag__item.order .icn {
  width: 20px; }

.side-tag__item.inquiry .icn {
  width: 30px; }

/* ----------------------------------------------------------------------------------------------------
*  コンテンツ
* --------------------------------------------------------------------------------------------------*/
.main-content {
  width: 780px; }
@media screen and (max-width: 768px) {
  .main-content {
    width: auto; } }

/* タグ */
.tag {
  padding: 8px 0;
  margin: 0 -10px;
  display: flex;
  flex-wrap: wrap; }
@media screen and (max-width: 768px) {
  .tag {
    margin: 0 -3px;
    padding: 0 0 10px; } }
.tag-bg {
  position: relative;
  z-index: 1; }
.tag-bg::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  background: #fff;
  margin: 0 calc(50% - 50vw);
  z-index: -1; }

.tag__item {
  margin: 8px 10px; }
@media screen and (max-width: 768px) {
  .tag__item {
    margin: 5px 3px; } }

.tag__link {
  padding: 7px 22px;
  font-size: 1.3rem;
  border-radius: 5px;
  background-color: #b3aeae;
  color: #2F3031;
  text-decoration: none;
  display: inline-block;
  transition: 0.3s; }
.tag__link:hover {
  opacity: 0.7; }
@media screen and (max-width: 768px) {
  .tag__link {
    padding: 10px; } }
.tag__link.red {
  background-color: #DB0D2C;
  color: #fff; }

.content-wrapper {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: 1030px;
  margin: 35px auto 0;
  padding: 0 15px; }
@media screen and (max-width: 768px) {
  .content-wrapper {
    display: block;
    width: auto;
    margin-top: 10px; } }

/* シャドウのあるボックス */
.shadow-box {
  background-color: #fff;
  box-shadow: 2px 3px 15px -5px rgba(143, 139, 139, 0.8);
  border-radius: 10px;
  padding: 20px 30px 50px; }
@media screen and (max-width: 768px) {
  .shadow-box {
    padding: 20px 15px 23px; } }

/* 白背景のときは削除*/
@media screen and (max-width: 768px) {
  .sp-bg-white .shadow-box {
    box-shadow: none; } }

/* パンくず */
.breadcrumb {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 20px; }
@media screen and (max-width: 768px) {
  .breadcrumb {
    margin-bottom: 10px; } }
.breadcrumb__item {
  font-size: 1.3rem;
  color: #095C3F; }
.breadcrumb__item::after {
  content: '>';
  display: inline-block;
  margin: 0 10px; }
.breadcrumb__item:last-child::after {
  display: none; }
.breadcrumb__link {
  color: #095C3F;
  text-decoration: none;
  transition: 0.3s; }
.breadcrumb__link:hover {
  opacity: 0.7; }

/* ページネーション */
.pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 20px; }
.pagination__item {
  font-size: 1.3rem;
  margin: 0 8px;
  display: flex;
  align-items: center;
  justify-content: center; }
@media screen and (max-width: 768px) {
  .pagination__item {
    margin: 0 5px; } }
.pagination__link {
  color: #383838;
  text-decoration: none;
  position: relative;
  display: inline-block;
  transition: 0.3s; }
.pagination__link:hover {
  opacity: 0.7; }
@media screen and (max-width: 768px) {
  .pagination .txt {
    display: none; } }
.arw-single .pagination__link::before {
  content: '';
  position: absolute;
  width: 4px;
  height: 6px;
  background: url(../../img/common/icon-pagination-single.svg) no-repeat center center/contain; }
.arw-double .pagination__link::before {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  background: url(../../img/common/icon-pagination-double.svg) no-repeat center center/contain; }
.arw-left .pagination__link {
  padding-left: 10px; }
.arw-left .pagination__link::before {
  top: 50%;
  left: 0;
  transform: translateY(-50%); }
.arw-right .pagination__link {
  padding-right: 10px; }
.arw-right .pagination__link::before {
  top: 50%;
  right: 0;
  transform: translateY(-50%) scale(-1, 1); }

.pagination-number {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 8px; }
.pagination-number__item {
  font-size: 1.8rem;
  margin: 0 2px; }
.pagination-number__link {
  color: #777777;
  text-decoration: none;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  background: #F0F0F0;
  border: 1px solid #F0F0F0;
  transition: 0.3s;
  padding-top: 2px; }
.pagination-number__link:hover {
  opacity: 0.7; }
.current .pagination-number__link {
  color: #383838;
  border-color: #095C3F;
  background: #fff; }

/* ----------------------------------------------------------------------------------------------------
*  素材
* --------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .material {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw); } }
@media screen and (max-width: 768px) {
  .material .shadow-box {
    border-radius: 0;
    box-shadow: none; } }
.material .pagination + .bnr {
  margin: 80px auto 0; }
@media screen and (max-width: 768px) {
  .material .pagination + .bnr {
    margin-top: 50px; } }

.material-box {
  width: 706px;
  margin: 0 auto; }
@media screen and (max-width: 768px) {
  .material-box {
    width: auto; } }
.material-box .ttl {
  font-size: 2.0rem;
  line-height: 1.45;
  font-weight: 600;
  padding-bottom: .5em;
  margin-top: 60px; }
@media screen and (max-width: 768px) {
  .material-box .ttl {
    margin-top: 42px; } }
.material-box .ttl:first-child {
  margin-top: 25px; }
.material-box .sub-ttl {
  font-size: 2rem;
  color: #127E3B;
  font-weight: 700;
  text-align: center;
  margin-top: 80px;
  margin-bottom: 30px; }
.material-box .sub-ttl__txt {
  padding: 0 40px;
  display: inline-block;
  position: relative; }
.material-box .sub-ttl__txt::before, .material-box .sub-ttl__txt::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
  height: 2px;
  background: #127E3B; }
.material-box .sub-ttl__txt::before {
  left: 0; }
.material-box .sub-ttl__txt::after {
  right: 0; }

.material-box + .material-box {
  margin-top: 30px; }

.card__link {
  text-decoration: none;
  display: block;
  transition: 0.3s;
  color: currentColor; }
.card__link:hover {
  opacity: 0.7; }

.cards {
  display: flex;
  margin: 30px auto 0;
  flex-wrap: wrap;
  width: 706px; }
@media screen and (max-width: 768px) {
  .cards {
    width: auto; } }
.cards.col4 .card {
  width: 161px;
  margin-right: 20px;
  margin-bottom: 30px; }
.cards.col4 .card:nth-of-type(4n) {
  margin-right: 0; }
.cards.col4 .card__img-wrapper {
  width: 161px;
  height: 152px;
  border: 1px solid #c7c7c7;
  box-sizing: border-box;
  overflow: hidden; }
.cards.col4 .card__img-wrapper img {
  width: 159px;
  height: 150px;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }
.cards.col4 .card__body {
  margin-top: 10px; }
.cards.col4 .card__ttl {
  font-size: 1.5rem;
  line-height: 1.4;
  margin: 8px 0;
  font-weight: 600; }
.cards.col4 .card .price {
  font-size: 1.8rem;
  color: #DB0D2C;
  line-height: 1.2;
  margin: 8px 0;
  font-weight: 600; }
.cards.col4 .card .price .tax {
  font-size: 1.3rem; }
.cards.col4 .card .txt {
  font-size: 1.5rem;
  line-height: 1.4;
  margin: 8px 0; }
@media screen and (max-width: 768px) {
  .cards.sp-col2 {
    justify-content: space-between; }
  .cards.sp-col2 .card {
    width: 47%;
    margin-right: 0; }
  .cards.sp-col2 .card__img-wrapper {
    position: relative;
    padding-top: 94%;
    width: 100%;
    height: auto; }
  .cards.sp-col2 .card__img-wrapper img {
    position: absolute;
    top: 50%;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: translateY(-50%); } }

.card-img {
  position: relative; }
.card-img .rank {
  position: absolute;
  top: 0;
  left: 0;
  color: #fff;
  font-size: 1.5rem;
  width: 23px;
  height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 4; }
.card-img .rank01 {
  background: url(../../img/index/bg-rank1.svg) no-repeat top center; }
.card-img .rank02 {
  background: url(../../img/index/bg-rank2.svg) no-repeat top center; }
.card-img .rank03 {
  background: url(../../img/index/bg-rank3.svg) no-repeat top center; }
.card-img .rank04 {
  background: rgba(112, 112, 112, 0.8); }

/* ----------------------------------------------------------------------------------------------------
*  １カラム
* --------------------------------------------------------------------------------------------------*/
.content-wrapper.col1 {
  display: block;
  margin-top: 35px; }
@media screen and (max-width: 768px) {
  .content-wrapper.col1 {
    margin-top: 10px; } }
.content-wrapper.col1 .main-content {
  width: 100%; }
.content-wrapper.col1 .material-box {
  width: 917px; }
@media screen and (max-width: 768px) {
  .content-wrapper.col1 .material-box {
    width: 100%; } }
.content-wrapper.col1 .material-box .ttl {
  text-align: center; }

/* ----------------------------------------------------------------------------------------------------
*  ブログ紹介
* --------------------------------------------------------------------------------------------------*/
.blog-info {
  margin: 40px 0 70px auto; }
@media screen and (max-width: 768px) {
  .blog-info {
    margin: 30px 0; } }
.blog-info .shadow-box {
  padding-bottom: 34px; }
.blog-info .slick-arrow {
  position: absolute;
  top: 22vw;
  width: 21px;
  height: 21px;
  background-color: #b9b9b9;
  z-index: 10; }
.blog-info .slick-arrow::before {
  content: '';
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  position: absolute;
  top: 50%; }
.blog-info .prev-arrow {
  left: 0;
  transform: translateX(-50%); }
.blog-info .prev-arrow::before {
  left: 10px;
  transform: translateY(-50%) rotate(315deg); }
.blog-info .next-arrow {
  right: 0;
  transform: translateX(50%); }
.blog-info .next-arrow::before {
  right: 10px;
  transform: translateY(-50%) rotate(135deg); }
.blog-info .slick-dots {
  display: flex;
  justify-content: center;
  margin-top: 20px; }
.blog-info .slick-dots li {
  margin: 0 1px; }
.blog-info .slick-dots li.slick-active button::before {
  background-color: gray; }
.blog-info .slick-dots button {
  position: relative;
  top: 0;
  display: block;
  width: 5px;
  height: 5px;
  padding: 5px;
  border: 0;
  outline: none;
  background: transparent;
  color: transparent;
  font-size: 0;
  line-height: 0;
  cursor: pointer; }
.blog-info .slick-dots button::before {
  content: '';
  position: absolute;
  border-radius: 20px;
  width: 5px;
  height: 5px;
  top: 0;
  left: 0;
  background: #ccc; }

.blog-cards {
  margin-top: 20px;
  justify-content: space-between; }
@media screen and (max-width: 768px) {
  .blog-cards {
    display: block;
    margin-top: 0; } }
.blog-cards .card {
  margin-bottom: 30px;
  width: 334px; }
@media screen and (max-width: 768px) {
  .blog-cards .card {
    width: 100%;
    margin-bottom: 0; } }
.blog-cards .card__img-wrapper {
  width: 334px;
  height: 215px;
  overflow: hidden; }
@media screen and (max-width: 768px) {
  .blog-cards .card__img-wrapper {
    position: relative;
    height: auto;
    width: 100%;
    padding-top: 64.3%; } }
.blog-cards .card__img-wrapper img {
  width: 334px;
  height: 215px;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }
@media screen and (max-width: 768px) {
  .blog-cards .card__img-wrapper img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%); } }
.blog-cards .card .card__body {
  margin-top: 8px; }
.blog-cards .card time {
  font-size: 1.3rem;
  margin: 8px 0; }
.blog-cards .card .card__ttl {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.6;
  margin: 8px 0 10px; }
.blog-cards .card .category {
  margin: 8px 0 0;
  padding-right: 30px;
  display: flex;
  flex-wrap: wrap; }
.blog-cards .card .category * {
  color: #095C3F;
  font-size: 1.3rem;
  line-height: 1.4; }
.blog-cards .card .card__link {
  position: relative; }
.blog-cards .card .card__link::before {
  content: '';
  position: absolute;
  background-color: #095C3F;
  width: 20px;
  height: 20px;
  bottom: 0;
  right: 0; }
.blog-cards .card .card__link::after {
  content: '';
  position: absolute;
  width: 5px;
  height: 5px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  bottom: 7px;
  right: 8px; }

.btn-wrapper {
  margin-top: 10px;
  text-align: center; }

.btn-view-moer {
  font-size: 1.4rem;
  color: #095C3F;
  width: 300px;
  margin: 0 auto;
  border: 1px solid #095C3F;
  display: block;
  text-align: center;
  text-decoration: none;
  position: relative;
  padding: 20px 20px 20px 10px;
  box-shadow: 2px 2px 0px 0px #095C3F;
  line-height: 1;
  transition: 0.3s; }
.btn-view-moer:hover {
  opacity: 0.7; }
@media screen and (max-width: 768px) {
  .btn-view-moer {
    width: auto;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px 10px 10px; } }
.btn-view-moer::after {
  content: '';
  position: absolute;
  width: .5em;
  height: .5em;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  right: 40px; }

/* ----------------------------------------------------------------------------------------------------
*  サイドバー
* --------------------------------------------------------------------------------------------------*/
.sidebar {
  width: 190px; }
@media screen and (max-width: 768px) {
  .sidebar {
    width: auto;
    background-color: #fff;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding-bottom: 30px; } }
@media screen and (max-width: 768px) {
  .sidebar .sidebar-inner {
    padding: 0 15px; } }
.sidebar .side-block {
  border-bottom: 1px solid #C7C7C7;
  padding: 20px 0 30px; }
@media screen and (max-width: 768px) {
  .sidebar .side-block {
    padding: 20px 0 10px; } }
.sidebar .side-block:first-of-type {
  padding-top: 0; }
.sidebar .side-block:last-of-type {
  border-bottom: none; }
@media screen and (max-width: 768px) {
  .sidebar .side-block:first-of-type {
    padding-top: 0; } }
.sidebar .side-block__ttl {
  font-size: 2.0rem;
  color: #095C3F;
  font-weight: 600; }
.sidebar .genre-block {
  padding-bottom: 5px; }
.sidebar .genre-block .m-ttl {
  font-size: 1.3rem;
  background-color: #095C3F;
  color: #fff;
  padding: 5px 15px;
  margin-top: 7px; }
@media screen and (max-width: 768px) {
  .sidebar .genre-block .m-ttl {
    font-size: 1.4rem; } }
.sidebar .m-list {
  margin-top: 7px; }
.sidebar .m-item .txt {
  font-size: 1.3rem;
  line-height: 1.4;
  font-weight: 500; }
@media screen and (max-width: 768px) {
  .sidebar .m-item .txt {
    font-size: 1.5rem; } }
.sidebar .m-item .text-small {
  font-size: 1.1rem;
  color: #707070; }
@media screen and (max-width: 768px) {
  .sidebar .m-item .text-small {
    font-size: 1.3rem; } }
.sidebar .m-link {
  text-decoration: none;
  display: flex;
  align-items: center;
  transition: 0.3s;
  padding: 7px 0; }
.sidebar .m-link:hover {
  opacity: 0.7; }
.sidebar .item-img {
  width: 40px;
  height: 40px;
  margin-right: 10px; }
.sidebar .item-img img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }
.sidebar .bnr-area .bnr {
  display: block;
  margin: 5px 0; }
@media screen and (max-width: 768px) {
  .sidebar .bnr-area .bnr {
    width: 100%; }
  .sidebar .bnr-area .bnr img {
    width: 100%;
    height: auto; } }

/* ----------------------------------------------------------------------------------------------------
*  商品一覧
* --------------------------------------------------------------------------------------------------*/
/* リザルト */
.result {
  margin-top: 26px;
  margin-bottom: 10px; }
@media screen and (max-width: 768px) {
  .result {
    margin-top: 25px;
    margin-bottom: 20px; } }
.result .ttl {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1em; }
.result .number {
  font-size: 1.6rem;
  letter-spacing: 0.1em; }
@media screen and (max-width: 768px) {
  .result .number {
    font-size: 1.2rem; } }
.result .number .red {
  color: #DB0D2C; }
@media screen and (max-width: 768px) {
  .result .number .big {
    font-size: 1.8rem; } }
.result .pagination {
  margin-top: 0; }
.result-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 10px; }
@media screen and (max-width: 768px) {
  .result-flex {
    margin-top: 5px; } }

/* ----------------------------------------------------------------------------------------------------
*  商品詳細
* --------------------------------------------------------------------------------------------------*/
.info {
  display: flex;
  justify-content: space-between;
  margin-top: 10px; }
@media screen and (max-width: 768px) {
  .info {
    margin-top: 0; } }
.info.sp {
  display: none; }
@media screen and (max-width: 768px) {
  .info {
    display: block; }
  .info.sp {
    display: flex; } }
.info + .ttl {
  margin-top: 4px; }
@media screen and (max-width: 768px) {
  .info + .ttl {
    padding-bottom: 0;
    margin-bottom: 10px; }
  .info + .ttl::after {
    display: none; } }
.info p {
  flex: none;
  margin-top: 10px;
  margin-right: 10px; }
.info .tag {
  padding: 0;
  margin: 0 -5px; }
@media screen and (max-width: 768px) {
  .info .tag {
    justify-content: flex-end; } }
.info .tag__item {
  margin: 8px 5px; }
.info .tag__link {
  font-size: 1.1rem;
  padding: 6px 10px; }

/* 商品詳細 */
.item-detail {
  display: flex;
  justify-content: space-between;
  margin-top: 36px;
  /* 商品画像 */
  /* フォーム */ }
@media screen and (max-width: 768px) {
  .item-detail {
    display: block; } }
.item-detail .img-box {
  width: 353px;
  /* サムネイル */ }
@media screen and (max-width: 768px) {
  .item-detail .img-box {
    width: 100%; } }
.item-detail .img-box .img-box__main-wrapper {
  position: relative; }
@media screen and (max-width: 768px) {
  .item-detail .img-box .img-box__main-wrapper .img-box__main img {
    width: 100%; } }
.item-detail .img-box .img-box__main-wrapper .slick-arrow {
  position: absolute;
  top: 50%;
  width: 30px;
  height: 30px;
  background-color: rgba(177, 177, 177, 0.21);
  z-index: 10;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.21); }
.item-detail .img-box .img-box__main-wrapper .slick-arrow::before {
  content: '';
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  position: absolute;
  top: 50%; }
.item-detail .img-box .img-box__main-wrapper .prev-arrow {
  left: 5px;
  transform: translateY(-50%); }
.item-detail .img-box .img-box__main-wrapper .prev-arrow::before {
  left: 12px;
  transform: translateY(-50%) rotate(315deg); }
.item-detail .img-box .img-box__main-wrapper .next-arrow {
  right: 5px;
  transform: translateY(-50%); }
.item-detail .img-box .img-box__main-wrapper .next-arrow::before {
  right: 12px;
  transform: translateY(-50%) rotate(135deg); }
.item-detail .img-box .img-box__main-wrapper .slick-disabled {
  display: none !important; }
.item-detail .img-box .img-box__sub-wrapper {
  display: flex;
  flex-wrap: wrap; }
.item-detail .img-box .img-box__sub {
  width: 41px;
  margin-right: 11px;
  margin-top: 11px;
  cursor: pointer;
  transition: 0.3s; }
.item-detail .img-box .img-box__sub:hover {
  opacity: 0.7; }
@media screen and (max-width: 768px) {
  .item-detail .img-box .img-box__sub {
    width: 12%;
    margin-right: 2.6%; }
  .item-detail .img-box .img-box__sub img {
    width: 100%; } }
.item-detail .img-box .img-box__sub:nth-child(7n) {
  margin-right: 0; }
@media screen and (max-width: 768px) {
  .item-detail .img-box .img-box__sub:nth-child(7n) {
    margin-right: 0; } }
.item-detail .img-box .number {
  font-size: 1.2rem;
  margin-top: 11px; }
.item-detail .txt-box {
  width: 335px;
  padding: 0 20px; }
@media screen and (max-width: 768px) {
  .item-detail .txt-box {
    width: 100%;
    margin-top: 24px;
    padding: 0; } }
.item-detail .txt-box .form {
  margin-top: 0;
  width: auto; }
.item-detail .txt-box .size {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start; }
.item-detail .txt-box .size__ttl {
  width: 43px;
  height: 32px;
  margin-right: 14px;
  text-align: center;
  color: #fff;
  background: #095C3F;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 5px; }
.item-detail .txt-box .size__ttl:first-of-type {
  margin-top: 0; }
.item-detail .txt-box .size__txt {
  width: calc(100% - 43px - 14px);
  margin-top: 5px; }
.item-detail .txt-box .size__txt:first-of-type {
  margin-top: 0; }
.item-detail .txt-box .size__txt input, .item-detail .txt-box .size__txt select {
  max-width: 200px;
  height: 32px;
  font-weight: 700;
  color: #383838; }
@media screen and (max-width: 768px) {
  .item-detail .txt-box .size__txt input, .item-detail .txt-box .size__txt select {
    max-width: 100%; } }
.item-detail .txt-box .size__txt input {
  text-align: right; }
.item-detail .txt-box .size__txt input.error {
  color: #DB0D2C;
  background: none;
  padding-right: 20px; }
.item-detail .txt-box .size__txt select {
  width: 105px;
  background: url(../../img/common/icon-select02.svg) no-repeat right 10px center; }
.item-detail .txt-box .size__txt select::-ms-expand {
  display: none; }
.item-detail .txt-box .size__flex {
  display: flex;
  align-items: center;
  justify-content: flex-end; }
.item-detail .txt-box .size .tani {
  flex: none;
  text-align: center;
  min-width: 3em;
  font-weight: 700; }
.item-detail .txt-box .size p {
  font-size: 1.2rem;
  margin-right: 3em;
  text-align: right;
  margin-top: 3px; }
.item-detail .txt-box .weight {
  margin-top: 24px; }
.item-detail .txt-box .weight > *:nth-child(2) {
  font-weight: 700; }
.item-detail .txt-box .quantity {
  margin-top: 12px;
  padding-top: 15px;
  border-top: 1px solid #707070; }
.item-detail .txt-box .quantity__txt {
  font-size: 1.2rem;
  margin-right: 3em;
  text-align: right;
  margin-top: 3px; }
.item-detail .txt-box .weight, .item-detail .txt-box .quantity {
  display: flex;
  align-items: center;
  justify-content: space-between; }
.item-detail .txt-box .weight input, .item-detail .txt-box .weight select, .item-detail .txt-box .quantity input, .item-detail .txt-box .quantity select {
  max-width: 100%;
  height: 32px;
  font-weight: 700;
  color: #383838; }
.item-detail .txt-box .weight input, .item-detail .txt-box .quantity input {
  text-align: right; }
.item-detail .txt-box .weight input.error, .item-detail .txt-box .quantity input.error {
  color: #DB0D2C;
  background: none;
  padding-right: 20px; }
.item-detail .txt-box .weight select, .item-detail .txt-box .quantity select {
  width: 105px;
  background: url(../../img/common/icon-select02.svg) no-repeat right 10px center; }
.item-detail .txt-box .weight select::-ms-expand, .item-detail .txt-box .quantity select::-ms-expand {
  display: none; }
.item-detail .txt-box .weight__flex, .item-detail .txt-box .quantity__flex {
  display: flex;
  align-items: center;
  justify-content: flex-end; }
.item-detail .txt-box .weight .tani, .item-detail .txt-box .quantity .tani {
  flex: none;
  text-align: center;
  min-width: 3em;
  font-weight: 700; }
.item-detail .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 100%;
  max-width: 100%;
  height: 48px;
  background: #DB0D2C;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  cursor: pointer;
  margin: 0 auto 0;
  font-weight: 700;
  margin-top: 12px; }
.item-detail .button:hover {
  opacity: 0.7; }
.item-detail .button .icn {
  position: relative;
  padding-left: 40px; }
.item-detail .button .icn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../../img/common/icon-cart.svg) no-repeat center center/contain; }

/*合計*/
.total-box {
  background: #F2F2F2;
  border-radius: 5px;
  margin-top: 24px;
  padding: 15px; }
.total-box .total__flex {
  display: flex;
  align-items: center;
  justify-content: space-between; }
.total-box .total__flex > *:nth-child(2) {
  font-weight: 700; }
.total-box .total__flex + .total__flex {
  border-top: 1px solid #707070;
  margin-top: 8px;
  padding-top: 4px; }
.total-box .price {
  font-size: 2rem;
  font-weight: 700;
  color: #DB0D2C; }
.total-box .price .tax {
  font-size: 1rem;
  margin-left: 10px; }

/*商品について*/
.item-info {
  margin-top: 41px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between; }
@media screen and (max-width: 768px) {
  .item-info {
    flex-direction: column-reverse;
    margin-top: 24px; } }
.item-info .txt {
  width: 352px;
  line-height: 1.7; }
@media screen and (max-width: 768px) {
  .item-info .txt {
    width: auto;
    margin-top: 26px; } }
.item-info .table {
  width: 295px;
  margin: 0 20px;
  border-collapse: collapse;
  border: 1px solid #C7C7C7; }
@media screen and (max-width: 768px) {
  .item-info .table {
    width: auto;
    margin: 0; } }
.item-info .table th {
  line-height: 1.46;
  background: #F2F2F2;
  width: 115px;
  border: 1px solid #C7C7C7;
  padding: 10px; }
.item-info .table td {
  line-height: 1.46;
  width: calc(100% - 115px);
  border: 1px solid #C7C7C7;
  padding: 10px; }

.item-tag {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  margin-top: 30px; }
.item-tag__item {
  margin-right: 8px; }
.item-tag__item .icn {
  vertical-align: middle;
  width: 10px;
  margin-top: -1px;
  margin-right: 5px; }
.item-tag__link {
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  color: #095C3F;
  text-decoration: none;
  transition: 0.3s; }
.item-tag__link:hover {
  opacity: 0.7; }

/*加工例*/
.ex-list {
  margin-top: 40px; }
@media screen and (max-width: 768px) {
  .ex-list {
    margin-top: 40px; }
  .ex-list .card + .card {
    margin-top: 27px; } }

/*モーダル*/
.cart-add {
  background: #fff;
  width: 328px;
  max-width: calc(100% - 30px);
  border: 2px solid #DB0D2C;
  margin: 0 auto; }
.cart-add .mfp-close {
  display: none; }
.cart-add-inner {
  background: #fff;
  padding: 25px; }
.cart-add .ttl {
  font-size: 1.6rem;
  font-weight: 700;
  padding: 5px;
  text-align: center;
  background: #DB0D2C;
  color: #fff; }
.cart-add .item {
  display: flex; }
.cart-add .item .img {
  width: 90px;
  margin-right: 10px; }
.cart-add .item .txt-box {
  width: calc(100% - 90px - 10px); }
.cart-add .item .txt-box .name {
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: 700;
  letter-spacing: 0.1em; }
.cart-add .item .txt-box .quantity {
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 20px; }
.cart-add .item .txt-box .quantity .number {
  margin-left: auto;
  font-weight: 700; }
.cart-add .item .txt-box .quantity .tani {
  font-weight: 700; }
.cart-add .button a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 100%;
  max-width: 100%;
  height: 48px;
  background: #DB0D2C;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  cursor: pointer;
  margin: 0 auto 0;
  font-weight: 700;
  margin-top: 18px; }
.cart-add .button a:hover {
  opacity: 0.7; }
.cart-add .button a .icn {
  position: relative;
  padding-left: 40px; }
.cart-add .button a .icn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../../img/common/icon-cart.svg) no-repeat center center/contain; }
.cart-add .close {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 100%;
  max-width: 100%;
  height: 48px;
  background: #DB0D2C;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  cursor: pointer;
  margin: 0 auto 0;
  font-weight: 700;
  color: #383838;
  background: #C7C7C7;
  margin-top: 10px; }
.cart-add .close:hover {
  opacity: 0.7; }
.cart-add .close .icn {
  position: relative;
  padding-left: 30px; }
.cart-add .close .icn::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 24px;
  height: 24px;
  background: url(../../img/common/icon-cart.svg) no-repeat center center/contain; }

/* ----------------------------------------------------------------------------------------------------
*  ご利用ガイド
* --------------------------------------------------------------------------------------------------*/
/* アンカー */
.anchor-link {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 35px; }
.anchor-link.col3 .anchor-link__item {
  width: 223px;
  margin-right: 18px; }
.anchor-link.col3 .anchor-link__item:nth-child(3n) {
  margin-right: 0; }
.anchor-link.col3 .anchor-link__item:nth-child(n+4) {
  margin-top: 12px; }
@media screen and (max-width: 768px) {
  .anchor-link.sp-col2 .anchor-link__item, .anchor-link.sp-col2 .anchor-link__item:nth-child(3n) {
    width: 48%;
    margin-right: 4%; }
  .anchor-link.sp-col2 .anchor-link__item:nth-child(2n), .anchor-link.sp-col2 .anchor-link__item:nth-child(3n):nth-child(2n) {
    margin-right: 0; }
  .anchor-link.sp-col2 .anchor-link__item:nth-child(n+3), .anchor-link.sp-col2 .anchor-link__item:nth-child(3n):nth-child(n+3) {
    margin-top: 12px; } }
.anchor-link__item {
  border: 2px solid #127E3B; }
.anchor-link__link {
  color: #127E3B;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 136px;
  padding: 0 5px;
  text-decoration: none;
  transition: background 0.3s; }
@media screen and (max-width: 768px) {
  .anchor-link__link {
    font-size: 1.4rem;
    line-height: 1.4;
    height: 52px; } }
.anchor-link__link:hover {
  background: #F4FFEF; }

/* ステップ */
.step {
  padding: 0 20px; }
@media screen and (max-width: 768px) {
  .step {
    padding: 0; } }
.step__item {
  display: flex;
  position: relative;
  z-index: 1;
  padding-bottom: 40px; }
@media screen and (max-width: 768px) {
  .step__item {
    padding-bottom: 50px; } }
.step__item::before {
  content: '';
  position: absolute;
  top: 0;
  left: 27px;
  width: 2px;
  height: 100%;
  background: #127E3B;
  z-index: -1; }
.step__item:last-child {
  padding-bottom: 0; }
.step__item:last-child::before {
  display: none; }
.step__number {
  font-size: 1.2rem;
  line-height: 1.4;
  color: #fff;
  width: 57px;
  height: 57px;
  background: #127E3B;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-right: 10px; }
.step__number__big {
  font-size: 2.5rem;
  line-height: 1;
  font-weight: 700; }
.step__box {
  flex: 1; }
.step__ttl {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 700;
  color: #127E3B;
  margin-top: 5px; }
@media screen and (max-width: 768px) {
  .step__ttl {
    font-size: 1.6rem;
    margin-top: 8px; } }
.step__txt {
  margin-top: 10px; }

/* ----------------------------------------------------------------------------------------------------
*  よくある質問
* --------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  .guide {
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw); }
  .guide .shadow-box {
    box-shadow: none;
    border-radius: 0; } }

.qa {
  margin-top: 45px;
  margin-bottom: 50px; }
.qa .q {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-top: 18px;
  padding: 12px 40px 12px 60px;
  background: #F2F2F2;
  border-radius: 5px;
  position: relative;
  cursor: pointer; }
@media screen and (max-width: 768px) {
  .qa .q {
    padding: 16px 40px 16px 50px; } }
.qa .q::before {
  content: '';
  position: absolute;
  top: 18px;
  left: 25px;
  width: 21px;
  height: 20px;
  background: url(../../img/common/icon-q.svg) no-repeat center center/contain; }
@media screen and (max-width: 768px) {
  .qa .q::before {
    left: 17px; } }
.qa .q .ico {
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 5px;
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%); }
.qa .q .ico::before, .qa .q .ico::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 10px;
  height: 2px;
  background: #169647; }
.qa .q .ico::after {
  width: 2px;
  height: 10px; }
.qa .q.open .ico::after {
  display: none; }
.qa .a {
  margin-top: 18px;
  margin-bottom: 31px;
  display: none; }

/* ----------------------------------------------------------------------------------------------------
*  フォーム
* --------------------------------------------------------------------------------------------------*/
/*お問い合わせ*/
.contact-box {
  width: 498px;
  margin: 45px auto 0; }
@media screen and (max-width: 768px) {
  .contact-box {
    width: 100%;
    margin-top: 20px; } }

/*フォーム共通*/
.form {
  width: 340px;
  margin: 54px auto 0; }
@media screen and (max-width: 768px) {
  .form {
    width: auto;
    margin-top: 30px; } }
.form input[type="text"], .form input[type="number"], .form input[type="email"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  color: #383838;
  width: 340px;
  height: 40px;
  padding: 0 20px;
  border: 1px solid #CDD6DD;
  flex: auto; }
@media screen and (max-width: 768px) {
  .form input[type="text"], .form input[type="number"], .form input[type="email"] {
    width: 100%; } }
.form input[type="text"].short, .form input[type="number"].short, .form input[type="email"].short {
  width: 157px; }
@media screen and (max-width: 768px) {
  .form input[type="text"].short, .form input[type="number"].short, .form input[type="email"].short {
    width: 100%; } }
.form input[type="text"].error, .form input[type="number"].error, .form input[type="email"].error {
  border-color: #DB0D2C;
  padding-right: 35px;
  background: url(../../img/common/icon-error.svg) no-repeat right 10px center; }
.form input[type="text"].error::placeholder, .form input[type="number"].error::placeholder, .form input[type="email"].error::placeholder {
  color: #DB0D2C; }
.form input[type="text"].error:-ms-input-placeholder, .form input[type="number"].error:-ms-input-placeholder, .form input[type="email"].error:-ms-input-placeholder {
  color: #DB0D2C; }
.form input[type="text"].error:-ms-input-placeholder, .form input[type="number"].error:-ms-input-placeholder, .form input[type="email"].error:-ms-input-placeholder {
  color: #DB0D2C; }
.form textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  color: #383838;
  resize: vertical;
  width: 340px;
  height: 152px;
  padding: 20px;
  border: 1px solid #CDD6DD; }
.form textarea.error {
  border-color: #DB0D2C;
  padding-right: 35px;
  background: url(../../img/common/icon-error.svg) no-repeat right 10px top 10px; }
.form textarea.error::placeholder {
  color: #DB0D2C; }
.form textarea.error:-ms-input-placeholder {
  color: #DB0D2C; }
.form textarea.error:-ms-input-placeholder {
  color: #DB0D2C; }
@media screen and (max-width: 768px) {
  .form textarea {
    width: 100%; } }
.form select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  color: #383838;
  padding: 0 20px;
  border: 1px solid #CDD6DD;
  width: 340px;
  height: 40px;
  position: relative;
  background: url(../../img/common/icon-select.svg) no-repeat right 10px center; }
@media screen and (max-width: 768px) {
  .form select {
    width: 100%; } }
.form select.error {
  color: #DB0D2C;
  border-color: #DB0D2C;
  padding-right: 35px;
  background: url(../../img/common/icon-error.svg) no-repeat right 10px center; }
.form select::-ms-expand {
  display: none; }
.form .radio {
  font-size: 1.4rem;
  display: inline-block;
  margin-top: 18px;
  position: relative; }
.form .radio input[type="radio"] {
  position: absolute;
  top: 0;
  left: 0;
  visibility: hidden;
  width: 1px; }
.form .radio input[type="radio"]:checked + span::after {
  opacity: 1; }
.form .radio span {
  padding: 8px 0 8px 40px;
  position: relative;
  display: inline-block; }
.form .radio span::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  border: 1px solid #CDD6DD; }
.form .radio span::after {
  content: '';
  position: absolute;
  top: 7px;
  left: 7px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #095C3F;
  opacity: 0; }
.form__file {
  width: 340px;
  height: 152px;
  padding: 10px;
  border: 1px solid #CDD6DD; }
@media screen and (max-width: 768px) {
  .form__file {
    width: 100%; } }
.form__ttl {
  font-weight: 700; }
.form__col2 {
  display: flex;
  justify-content: space-between;
  margin-top: 18px; }
@media screen and (max-width: 768px) {
  .form__col2 > * {
    width: 48%; } }
.form__col2 .form__item {
  margin-top: 0 !important; }
.form__flex {
  display: flex;
  align-items: center; }
.form__flex .tani {
  font-size: 1.4rem;
  font-weight: 700;
  flex: none;
  text-align: center;
  min-width: 4em;
  display: inline-block; }
.form__item {
  margin-top: 18px; }
.form__item > *:not(.form__ttl) + * {
  margin-top: 12px; }
.form__item.form__type .radio-wrapper {
  display: flex;
  justify-content: space-between;
  margin-right: -40px; }
@media screen and (max-width: 768px) {
  .form__item.form__type .radio-wrapper {
    margin-right: 0; } }
.form__item.form__zip .zip-wrapper {
  display: flex;
  justify-content: space-between; }
.form__item.form__zip .zip-wrapper input[type="text"] {
  width: calc(100% - 88px - 5px); }
.form__order {
  margin-top: 117px; }
@media screen and (max-width: 768px) {
  .form__order {
    margin-top: 60px; } }
.form__order.hide {
  display: none; }
.form__search {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 88px;
  max-width: 100%;
  height: 40px;
  background: #DB0D2C;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  cursor: pointer;
  margin: 0 auto 0;
  margin-left: 5px;
  flex: none; }
.form__search:hover {
  opacity: 0.7; }
.form__submit {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 300px;
  max-width: 100%;
  height: 48px;
  background: #DB0D2C;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  cursor: pointer;
  margin: 0 auto 0;
  margin-top: 68px; }
.form__submit:hover {
  opacity: 0.7; }
.form__submit.back {
  background: #707070; }
.form__submit + .form__submit {
  margin-top: 13px; }

/* ----------------------------------------------------------------------------------------------------
*  カート
* --------------------------------------------------------------------------------------------------*/
.cart__ttl {
  font-size: 2rem;
  color: #012210;
  font-weight: 700;
  text-align: center;
  margin-top: 49px; }
@media screen and (max-width: 768px) {
  .cart__ttl {
    margin-top: 32px; } }
.cart__txt {
  font-size: 1.4rem;
  color: #707070;
  text-align: center;
  margin-top: 38px; }
@media screen and (max-width: 768px) {
  .cart__txt {
    text-align: left;
    margin-top: 17px; } }
.cart__txt a {
  color: inherit;
  transition: 0.3s; }
.cart__txt a:hover {
  opacity: 0.7; }

/* フロー */
.cart-flow {
  display: flex;
  margin-top: 52px; }
@media screen and (max-width: 768px) {
  .cart-flow {
    display: none; } }
.cart-flow .number {
  font-size: 1.6rem;
  color: #012210;
  width: 239px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #EAEAEA;
  margin-right: 16px; }
.cart-flow .number.current {
  color: #fff;
  background: #012210; }
.cart-flow .number:last-child {
  margin-right: 0; }

/* カート */
.cart-wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 41px; }
@media screen and (max-width: 768px) {
  .cart-wrapper {
    display: block;
    margin-top: 32px; } }

/* カートメイン */
.cart-main {
  width: 697px;
  /* 商品情報 */
  /* ボタン */
  /* お客様情報 */ }
@media screen and (max-width: 768px) {
  .cart-main {
    width: auto; } }
.cart-main .cart-list {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #EAEAEA; }
@media screen and (max-width: 768px) {
  .cart-main .cart-list {
    border: none; } }
.cart-main .cart-list .item {
  width: 444px; }
.cart-main .cart-list .number {
  width: 126px; }
.cart-main .cart-list .unit-number {
  width: 126px; }
@media screen and (max-width: 768px) {
  .cart-main .cart-list thead {
    display: none; } }
.cart-main .cart-list thead th {
  font-size: 1.4rem;
  text-align: center;
  color: #012210;
  background: #EAEAEA;
  padding: 15px;
  border: 1px solid #EAEAEA; }
@media screen and (max-width: 768px) {
  .cart-main .cart-list thead th {
    border: none; } }
@media screen and (max-width: 768px) {
  .cart-main .cart-list tbody tr {
    display: flex;
    flex-wrap: wrap;
    padding: 26px 0;
    border-bottom: 1px solid #707070; }
  .cart-main .cart-list tbody tr:first-child {
    padding-top: 0; } }
.cart-main .cart-list tbody td {
  font-size: 1.4rem;
  vertical-align: top;
  border: 1px solid #EAEAEA;
  /*商品*/
  /*数量*/
  /*単価*/ }
@media screen and (max-width: 768px) {
  .cart-main .cart-list tbody td {
    display: block;
    border: none; } }
.cart-main .cart-list tbody td .td-inner {
  padding: 24px; }
@media screen and (max-width: 768px) {
  .cart-main .cart-list tbody td .td-inner {
    padding: 0; } }
.cart-main .cart-list tbody td.item .td-inner {
  display: flex; }
@media screen and (max-width: 768px) {
  .cart-main .cart-list tbody td.item {
    width: 100%; } }
.cart-main .cart-list tbody td.item .img {
  width: 90px;
  margin-right: 16px; }
.cart-main .cart-list tbody td.item .number {
  font-size: 1.2rem; }
.cart-main .cart-list tbody td.item .txt {
  font-size: 1.2rem;
  line-height: 1.5;
  flex: 1; }
.cart-main .cart-list tbody td.item .name {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7; }
.cart-main .cart-list tbody td.item .name a {
  color: inherit;
  transition: 0.3s; }
.cart-main .cart-list tbody td.item .name a:hover {
  opacity: 0.7; }
.cart-main .cart-list tbody td.item .size {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 8px; }
@media screen and (max-width: 768px) {
  .cart-main .cart-list tbody td.item .size {
    margin-top: 8px; } }
.cart-main .cart-list tbody td.number {
  text-align: center; }
@media screen and (max-width: 768px) {
  .cart-main .cart-list tbody td.number {
    margin-top: 20px;
    width: calc((100% - 106px) / 2  - 20px);
    margin-left: 106px;
    margin-right: 20px; }
  .cart-main .cart-list tbody td.number::before {
    content: '数量'; } }
.cart-main .cart-list tbody td.number select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  color: #383838;
  padding: 0 20px;
  border: 1px solid #CDD6DD;
  width: 100%;
  height: 32px;
  position: relative;
  background: url(../../img/common/icon-select02.svg) no-repeat right 10px center; }
.cart-main .cart-list tbody td.number select::-ms-expand {
  display: none; }
.cart-main .cart-list tbody td.number button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  color: #383838;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  text-decoration: underline;
  margin-top: 12px;
  cursor: pointer;
  transition: 0.3s;
  padding: 0; }
.cart-main .cart-list tbody td.number button:hover {
  opacity: 0.7; }
@media screen and (max-width: 768px) {
  .cart-main .cart-list tbody td.number button {
    text-align: left;
    margin-top: 0; } }
@media screen and (max-width: 768px) {
  .cart-main .cart-list tbody td.unit-price {
    margin-top: 20px;
    width: calc((100% - 106px) / 2); }
  .cart-main .cart-list tbody td.unit-price::before {
    content: '単価(税込)'; } }
.cart-main .cart-list tbody td.unit-price .price {
  font-size: 1.4rem;
  font-weight: 700; }
.cart-main .button-back {
  display: none; }
@media screen and (max-width: 768px) {
  .cart-main .button-back {
    text-align: right;
    margin-top: 12px;
    display: block; } }
.cart-main .button-back a {
  font-size: 1.2rem;
  font-weight: 700;
  color: inherit;
  text-decoration: underline; }
.cart-main .cart-user {
  margin-top: 25px; }
.cart-main .cart-user .item {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #EAEAEA; }
.cart-main .cart-user .item + .item {
  margin-top: -1px; }
.cart-main .cart-user dt {
  font-size: 1.4rem;
  line-height: 1.5;
  color: #012210;
  text-align: center;
  width: 137px;
  background: #EAEAEA;
  padding: 14px 24px;
  display: flex;
  align-items: center;
  justify-content: center; }
@media screen and (max-width: 768px) {
  .cart-main .cart-user dt {
    width: 80px;
    padding: 10px; } }
.cart-main .cart-user dd {
  font-size: 1.4rem;
  line-height: 1.5;
  width: calc(100% - 137px);
  display: flex;
  justify-content: space-between;
  padding: 14px 24px; }
@media screen and (max-width: 768px) {
  .cart-main .cart-user dd {
    width: calc(100% - 80px);
    padding: 10px; } }
.cart-main .cart-user dd .txt {
  color: #012210;
  padding-top: 6px;
  padding-right: 10px; }
.cart-main .cart-user dd .button {
  flex: none; }
.cart-main .cart-user dd .button a {
  font-size: 1.2rem;
  font-weight: 700;
  border-radius: 5px;
  color: #383838;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #F2F2F2;
  text-decoration: none;
  width: 42px;
  height: 40px;
  transition: 0.3s; }
.cart-main .cart-user dd .button a:hover {
  opacity: 0.7; }

/* カートサイド */
.cart-side {
  width: 277px; }
@media screen and (max-width: 768px) {
  .cart-side {
    width: auto;
    margin-top: 16px; } }
.cart-side .cart-box {
  border: 2px solid #DB0D2C;
  padding: 15px 20px; }
@media screen and (max-width: 768px) {
  .cart-side .cart-box {
    position: static !important;
    width: 100% !important; } }
.cart-side .cart-box .ttl {
  font-size: 2rem;
  font-weight: 700;
  color: #012210; }
.cart-side .cart-box .detail .block {
  letter-spacing: 0.1em;
  display: flex;
  justify-content: space-between; }
@media screen and (max-width: 768px) {
  .cart-side .cart-box .detail .block {
    margin-top: 5px; } }
.cart-side .cart-box .box-inner {
  padding: 10px;
  border-radius: 5px;
  margin-top: 6px;
  background: #F2F2F2; }
.cart-side .cart-box .box-inner .txt {
  font-size: 1.4rem; }
.cart-side .cart-box .box-inner .price {
  font-size: 2rem;
  line-height: 1.4;
  color: #DB0D2C;
  text-align: right;
  font-weight: 700;
  padding-bottom: 6px;
  border-bottom: 1px solid #C7C7C7; }
.cart-side .cart-box .box-inner .price:last-child {
  padding-bottom: 0;
  border-bottom: 0; }
.cart-side .cart-box .box-inner .price .tax {
  font-size: 1.2rem;
  font-weight: 400;
  margin-left: 10px; }
.cart-side .cart-box .box-inner .notes {
  font-size: 1.2rem;
  margin-top: 6px;
  letter-spacing: 0.1em; }
.cart-side .cart-box .link {
  margin-top: 6px; }
.cart-side .cart-box .link a {
  transition: 0.3s;
  color: inherit; }
.cart-side .cart-box .link a:hover {
  opacity: 0.7; }
.cart-side .cart-box .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 100%;
  max-width: 100%;
  height: 48px;
  background: #DB0D2C;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  cursor: pointer;
  margin: 0 auto 0;
  margin-top: 12px; }
.cart-side .cart-box .button:hover {
  opacity: 0.7; }
.cart-side .cart-box .button:first-child {
  margin-top: 0;
  margin-bottom: 12px; }

/* カート入力画面 */
.pay-box .form {
  width: 498px; }
@media screen and (max-width: 768px) {
  .pay-box .form {
    width: auto; } }
.pay-box .form dl {
  display: flex;
  flex-wrap: wrap; }
@media screen and (max-width: 768px) {
  .pay-box .form dl {
    display: block; } }
.pay-box .form dl dt {
  font-size: 2rem;
  font-weight: 700;
  width: 156px;
  margin-top: 60px; }
@media screen and (max-width: 768px) {
  .pay-box .form dl dt {
    font-size: 1.6rem;
    margin-top: 57px;
    width: auto; } }
.pay-box .form dl dt:first-of-type {
  margin-top: 0; }
.pay-box .form dl dd {
  width: calc(100% - 156px);
  margin-top: 60px; }
@media screen and (max-width: 768px) {
  .pay-box .form dl dd {
    width: auto;
    margin-top: 0; } }
.pay-box .form dl dd:first-of-type {
  margin-top: 0; }
.pay-box .form__item:first-child {
  margin-top: 10px; }
@media screen and (max-width: 768px) {
  .pay-box .form__item:first-child {
    margin-top: 18px; } }
.pay-box .form .msg {
  font-size: 1.4rem;
  line-height: 1.5;
  background: #F8F8F8;
  border-radius: 5px;
  padding: 15px;
  margin-top: 14px; }
.pay-box .form .msg.green {
  font-weight: 700;
  color: #fff;
  background: #169647; }

/* 注文完了 */
.thanks-box {
  width: 498px;
  margin: 45px auto 0; }
@media screen and (max-width: 768px) {
  .thanks-box {
    width: 100%;
    margin-top: 20px; } }
.thanks-box .button a {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  text-align: center;
  width: 300px;
  max-width: 100%;
  height: 48px;
  background: #DB0D2C;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: 0.3s;
  cursor: pointer;
  margin: 0 auto 0;
  margin-top: 63px;
  position: relative; }
.thanks-box .button a:hover {
  opacity: 0.7; }
@media screen and (max-width: 768px) {
  .thanks-box .button a {
    margin-top: 42px; } }
.thanks-box .button a::after {
  content: '';
  position: absolute;
  width: .5em;
  height: .5em;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: translateY(-50%) rotate(45deg);
  top: 50%;
  right: 15px; }

/* ----------------------------------------------------------------------------------------------------
*  フッター
* --------------------------------------------------------------------------------------------------*/
.footer {
  padding: 50px 0 20px;
  background-color: #095C3F;
  /* コンテンツの内包 */
  /* ロゴ */
  /* キャッチ */
  /* 会社のテキスト */
  /* 左側のコンテンツ */
  /* 右側のコンテンツ */
  /* セキュリティのロゴ */
  /* コピーライト */
  /* 横線 */
  /* 〜についての大枠 */
  /* 〜について */
  /* バナーのエリア */
  /* バナー */ }
.footer * {
  color: #fff; }
@media screen and (max-width: 768px) {
  .footer {
    padding: 30px 0 10px; } }
.footer-inner {
  padding: 0 15px;
  width: calc(1000px + 30px);
  margin: 0 auto; }
@media screen and (max-width: 768px) {
  .footer-inner {
    width: auto; } }
.footer .logo {
  width: 195px; }
@media screen and (max-width: 768px) {
  .footer .logo {
    width: 126px;
    margin: 0 auto; } }
.footer .catch {
  font-size: 1.1rem;
  margin-top: 10px; }
@media screen and (max-width: 768px) {
  .footer .catch {
    line-height: 1.8; } }
.footer .company {
  font-size: 1.3rem;
  margin-top: 30px; }
@media screen and (max-width: 768px) {
  .footer .company {
    line-height: 1.8;
    margin-top: 50px; }
  .footer .company a {
    text-decoration: none; } }
.footer .ly-flex {
  display: flex;
  justify-content: space-between; }
@media screen and (max-width: 768px) {
  .footer .ly-flex {
    display: block; } }
.footer .left-content {
  flex-grow: 1;
  display: flex;
  flex-direction: column; }
@media screen and (max-width: 768px) {
  .footer .left-content {
    display: block; } }
.footer .right-content {
  width: 640px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column; }
@media screen and (max-width: 768px) {
  .footer .right-content {
    width: auto;
    display: block; } }
.footer .logo-security {
  width: 128px;
  height: 128px;
  margin: 30px 0 80px; }
@media screen and (max-width: 768px) {
  .footer .logo-security {
    display: none; } }
.footer .copyright {
  font-size: 1.2rem;
  line-height: 2;
  display: block;
  transform: translateY(-100%); }
@media screen and (max-width: 768px) {
  .footer .copyright {
    transform: translateY(0);
    margin-top: 15px; } }
.footer hr {
  margin: 30px 0 20px;
  border: none;
  border-top: 1px solid #fff; }
.footer .footer-about {
  margin-bottom: 40px; }
@media screen and (max-width: 768px) {
  .footer .footer-about {
    margin-bottom: 30px; } }
.footer .about-block {
  margin-bottom: 24px; }
.footer .about-block .ttl {
  font-size: 1.5rem; }
.footer .about-block .txt {
  font-size: 1.2rem;
  line-height: 1.8; }
.footer .bnr-area {
  margin-top: auto;
  text-align: right; }
@media screen and (max-width: 768px) {
  .footer .bnr-area {
    width: 100%;
    height: auto; } }
.footer .bnr {
  -moz-box-shadow: 0px 0px 10px -5px black;
  -webkit-box-shadow: 0px 0px 10px -5px black;
  -ms-box-shadow: 0px 0px 10px -5px black;
  box-shadow: 0px 0px 10px -5px black;
  display: inline-block;
  transition: 0.3s; }
.footer .bnr:hover {
  opacity: 0.7; }
@media screen and (max-width: 768px) {
  .footer .bnr {
    width: 100%;
    height: auto; }
  .footer .bnr img {
    width: 100%;
    height: auto; } }

/* フッターのナビゲーション */
@media screen and (max-width: 768px) {
  .footer-nav {
    display: none; } }

.footer-nav__list {
  display: flex; }

.footer-nav__item {
  position: relative; }
.footer-nav__item::after {
  position: absolute;
  content: '|';
  right: 0;
  transform: translateX(50%);
  top: -1px; }
.footer-nav__item:last-of-type::after {
  display: none; }
.footer-nav__item:first-of-type .footer-nav__link {
  padding-left: 0; }

.footer-nav__link {
  font-size: 1.5rem;
  padding: 0 15px;
  text-decoration: none;
  transition: 0.3s; }
.footer-nav__link:hover {
  opacity: 0.7; }

/* ------------------------------
    clearfix
------------------------------ */
.cf:after {
  content: ".";
  display: block;
  height: 0;
  font-size: 0;
  clear: both;
  visibility: hidden; }

.cf {
  display: inline-block; }

/* Hides from IE Mac */
* html .cf {
  height: 1%; }

.cf {
  display: block; }

/* End Hack */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box; }

body {
  line-height: 1; }

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

ul, ol {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  box-sizing: border-box;
  text-decoration: none; }

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

img {
  vertical-align: top;
  font-size: 0;
  line-height: 0; }

th, strong, address {
  font-weight: normal; }

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

/* basic class */
.clear {
  clear: both; }

br.clear {
  line-height: 0;
  font-size: 0;
  height: 0; }

.acenter {
  text-align: center; }

.aright {
  text-align: right; }

.aleft {
  text-align: left; }

.fleft {
  float: left; }

.fright {
  float: right; }

.vtop {
  vertical-align: top; }

.vmiddle {
  vertical-align: middle; }

.vbottom {
  vertical-align: bottom; }

.clearfix {
  zoom: 1; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

.inline_block {
  display: inline-block;
  display: -moz-inline-box;
  *display: inline;
  *zoom: 1; }

textarea {
  font-size: 100%; }

/* for iphone */
* {
  -webkit-text-size-adjust: 100%; }

body {
  font-family: "游ゴシック Medium", YuGothic, YuGothicM, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
  color: #F39FBA;
  font-size: 14px;
  -webkit-font-smoothing: antialiased; }
body a {
  transition: .25s ease;
  cursor: pointer; }
body a:hover {
  text-decoration: none; }
body *:not(img, ul, ol) {
  max-height: 100%; }

*:focus {
  outline: none; }

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box; }

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

.container {
  width: 100%;
  margin: 0;
  padding: 0;
  max-width: 100%;
  min-width: 100%;
  overflow: hidden; }

.pc, .pc-inline-block, .pc-flex {
  display: none !important; }

.tb, .tb-inline-block, .tb-flex {
  display: none !important; }

.sp {
  display: block !important; }

.sp-inline-block {
  display: inline-block !important; }

.sp-flex {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

@media screen and (min-width: 601px) {
  .pc, .pc-inline-block, .pc-flex {
    display: none !important; }

  .sp, .sp-flex, .sp-inline-block {
    display: none !important; }

  .tb {
    display: block !important; }

  .tb-inline-block {
    display: inline-block !important; }

  .tb-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; } }
@media print, screen and (min-width: 1025px) {
  .tb, .tb-flex, .tb-inline-block {
    display: none !important; }

  .sp, .sp-flex, .sp-inline-block {
    display: none !important; }

  .pc {
    display: block !important; }

  .pc-inline-block {
    display: inline-block !important; }

  .pc-flex {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: -webkit-flex !important;
    display: flex !important;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; } }
.blur {
  -webkit-filter: blur(12px);
  filter: blur(12px);
  opacity: 0;
  transition: cubic-bezier(0.55, 0.085, 0.68, 0.53) 0.5s; }
.blur.active {
  -webkit-filter: blur(0px);
  filter: blur(0px);
  opacity: 1; }

.header__container {
  position: fixed;
  display: flex;
  justify-content: space-between;
  margin: -6px 14px 0;
  z-index: 99;
  top: 25px;
  left: 0;
  width: 100%; }
@media screen and (max-width: 900px) {
  .header__container {
    top: 12px;
    margin: -6px 3px 0; } }
.header__logo {
  position: relative;
  z-index: 99; }
.header .hamburger-wrap {
  right: 33px;
  z-index: 999;
  position: fixed; }
.header .hamburger-wrap__txt {
  color: #000;
  text-align: center;
  margin-top: 7px;
  font-size: 14px;
  letter-spacing: 0.04em;
  font-family: Lato, "sans-serif"; }
.header .hamburger-wrap__txt.active {
  color: #fff; }
@media screen and (max-width: 900px) {
  .header .hamburger-wrap {
    right: 12px; } }
.header .hamburger-inner {
  display: flex;
  width: 100%;
  background: #F39FBA;
  position: fixed;
  top: 0;
  z-index: 97;
  justify-content: space-between;
  padding: 191px 140px 83px;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s; }
@media screen and (max-width: 900px) {
  .header .hamburger-inner {
    display: block;
    padding: 0 15px;
    padding-top: 200px;
    height: auto;
    padding-bottom: 117.8px; } }
.header .hamburger-menu {
  border-radius: 50%;
  width: 69px;
  height: 69px;
  background: #F39FBA;
  padding: 25px 22px;
  overflow: hidden; }
.header .hamburger-menu > span {
  transition: all .3s;
  display: block;
  width: 25px;
  height: 2px;
  background: #fff; }
.header .hamburger-menu > span:first-child {
  margin-bottom: 5px; }
.header .hamburger-menu > span:last-child {
  margin-top: 5px;
  width: 16px; }
.header .hamburger-menu.active {
  background: #fff; }
.header .hamburger-menu.active > span {
  transform: translateX(60px); }
.header .hamburger-menu.active > span:first-child {
  transform: translateY(7px) rotate(45deg);
  background: #F39FBA; }
.header .hamburger-menu.active > span:last-child {
  width: 25px;
  transform: translateY(-7px) rotate(-45deg);
  background: #F39FBA; }
.header__follow-me {
  margin-top: 76.1px;
  max-width: 261px;
  width: 100%;
  display: flex;
  justify-content: space-between; }
.header__follow-me .txt {
  color: #fff;
  font-family: "Lato", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em; }
.header__follow-me .icons a {
  margin-right: 11.8px; }
.header__follow-me .icons a:last-child {
  margin-right: initial; }
@media screen and (max-width: 600px) {
  .header__follow-me {
    display: block;
    width: fit-content;
    max-width: initial;
    margin: 39px auto 0; }
  .header__follow-me .txt {
    margin-bottom: 23px; } }

.contact-space {
  color: #383838;
  max-width: 261px;
  width: 100%; }
.contact-space__name {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 30px;
  color: #fff; }
.contact-space__tel {
  text-align: center;
  width: 100%;
  padding: 18px 37px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #fff;
  font-family: "Lato", sans-serif;
  font-weight: normal;
  font-size: 20px;
  letter-spacing: 0.05em;
  margin-top: 31px; }
.contact-space__tel a {
  color: #F39FBA; }
.contact-space__reception {
  margin-top: 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  color: #fff; }
.contact-space__form {
  width: 100%;
  padding: 18px 37px;
  border-radius: 30px;
  background: #fff;
  border: 1px solid #fff;
  margin-top: 22px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #F39FBA; }
.contact-space__form a {
  color: #F39FBA; }
.contact-space__qa {
  max-width: 261px;
  width: 100%;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  color: #fff;
  margin-top: 27.5px;
  padding-bottom: 11.5px;
  border-bottom: 1px solid #fff; }
@media screen and (max-width: 900px) {
  .contact-space {
    margin-top: 50px;
    width: 100%;
    max-width: initial; }
  .contact-space__tel {
    margin-top: 22px;
    width: fit-content; }
  .contact-space__form {
    width: fit-content; } }
@media screen and (max-width: 600px) {
  .contact-space__tel {
    margin: 22px auto 0;
    width: 100%; }
  .contact-space__form {
    margin: 22px auto 0;
    width: 100%; }
  .contact-space__qa {
    max-width: initial; } }

.open .header__logo {
  position: fixed;
  z-index: 100; }
.open .hamburger-inner {
  opacity: 1;
  visibility: visible; }

.hamburger-item {
  max-width: 338px;
  width: fit-content;
  height: fit-content; }
@media screen and (max-width: 1024px) {
  .hamburger-item {
    margin-left: 40px; }
  .hamburger-item:last-child {
    margin-right: 40px; } }
@media screen and (max-width: 900px) {
  .hamburger-item {
    width: 100%;
    max-width: initial;
    margin: 0; } }
.hamburger-item li a {
  display: inline-block;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 30px;
  letter-spacing: 0.05em;
  line-height: 65px;
  color: #fff;
  position: relative; }
.hamburger-item li a:hover {
  color: #FFF5BC; }
.hamburger-item li a:hover:before {
  content: "";
  background: #fff5bc;
  border-radius: 100%;
  position: absolute;
  z-index: 100;
  top: 27px;
  padding: 6px;
  left: -25px; }
.hamburger-item li a span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 13px;
  margin-left: 7px;
  display: inline-block; }
@media screen and (max-width: 900px) {
  .hamburger-item li a {
    width: 100%;
    display: flex;
    justify-content: space-between;
    line-height: 55px;
    font-size: 23px;
    border-bottom: solid 1px #fff; }
  .hamburger-item li a:hover:before {
    display: none; }
  .hamburger-item li a span {
    display: block; } }
.hamburger-item li p {
  display: inline-block;
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 30px;
  letter-spacing: 0.05em;
  line-height: 65px;
  color: #fff;
  position: relative; }
.hamburger-item li p span {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 13px;
  margin-left: 7px;
  display: inline-block; }
@media screen and (max-width: 900px) {
  .hamburger-item li p {
    width: 100%;
    display: flex;
    justify-content: space-between;
    line-height: 55px;
    font-size: 23px; }
  .hamburger-item li p:hover:before {
    display: none; }
  .hamburger-item li p span {
    display: block; } }
.hamburger-item li .small-item {
  margin-left: 23px;
  text-indent: -1em; }
.hamburger-item li .small-item:hover {
  color: #FFF5BC !important; }
@media screen and (max-width: 900px) {
  .hamburger-item li .small-item {
    border-bottom: none; } }
.hamburger-item__wrap {
  position: relative; }
@media screen and (max-width: 900px) {
  .hamburger-item__type-trg {
    border-bottom: solid 1px #fff; } }
.hamburger-subttl {
  margin-left: 20px !important; }
.hamburger__ttl {
  display: none; }
@media screen and (max-width: 900px) {
  .hamburger__ttl {
    padding: 29px 0 31px;
    position: relative;
    cursor: pointer;
    transition: .4s ease; }
  .hamburger__ttl-icn {
    position: absolute;
    top: 20px;
    width: 15px;
    height: 15px; }
  .hamburger__ttl-icn:before, .hamburger__ttl-icn:after {
    position: absolute;
    top: 8px;
    left: 0;
    content: '';
    width: 15px;
    height: 1px;
    background: #fff; }
  .hamburger__ttl-icn:after {
    transform: rotate(90deg);
    transition: transform .4s ease; }
  .hamburger__ttl-icn.active:after {
    transform: rotate(0); }
  .hamburger__ttl-icn1 {
    left: 91px; }
  .hamburger__ttl-icn2 {
    left: 150px; } }
@media screen and (max-width: 900px) {
  .hamburger-detail-wrap {
    margin-bottom: 30px;
    display: none; } }

.small-item {
  font-family: "Noto Sans JP", sans-serif !important;
  font-weight: 500 !important;
  font-size: 14px !important;
  letter-spacing: 0.1em !important;
  line-height: 35px !important;
  color: #ffd8e4 !important; }
.small-item:hover:before {
  display: none; }

.footer {
  position: relative;
  padding: 0 140px;
  background: #F39FBA;
  margin-top: 62px; }
.footer__clip-path {
  position: relative;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  height: 30px;
  background-color: #F39FBA;
  clip-path: polygon(0 100%, 50% 0, 100% 100%);
  top: -29px; }
.footer__top-content {
  width: 152px;
  margin-right: auto;
  margin-left: auto; }
.footer__top-content .image {
  margin: auto;
  width: 137px; }
.footer__top-content .txt {
  margin-top: 8px;
  font-size: 15px;
  color: #fff;
  font-weight: bold; }
.footer a {
  color: #fff; }
.footer .pages {
  margin-top: 84px;
  margin-bottom: 32px;
  display: flex;
  justify-content: space-between; }
@media screen and (max-width: 900px) {
  .footer .pages {
    flex-wrap: wrap; } }
@media screen and (max-width: 600px) {
  .footer .pages {
    display: block;
    margin-bottom: 49.7px;
    margin-top: 52.7px; } }
.footer .pages__ttl {
  display: none; }
@media screen and (max-width: 600px) {
  .footer .pages__ttl {
    padding: 29px 0 31px;
    position: relative;
    cursor: pointer;
    transition: .4s ease; }
  .footer .pages__ttl-icn {
    position: absolute;
    top: 4px;
    right: 140px;
    width: 15px;
    height: 15px; }
  .footer .pages__ttl-icn:before, .footer .pages__ttl-icn:after {
    position: absolute;
    top: 8px;
    left: 0;
    content: '';
    width: 15px;
    height: 1px;
    background: #fff; }
  .footer .pages__ttl-icn:after {
    transform: rotate(90deg);
    transition: transform .4s ease; }
  .footer .pages__ttl-icn.active:after {
    transform: rotate(0); } }
@media screen and (max-width: 900px) {
  .footer .pages__list {
    margin-bottom: 30px; } }
@media screen and (max-width: 600px) {
  .footer .pages__list {
    margin-bottom: initial; }
  .footer .pages__list:last-child {
    margin: 0 auto;
    width: fit-content;
    margin-top: 48px; }
  .footer .pages__list:last-child .pages__item {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    font-size: 14px;
    letter-spacing: 0.1em;
    text-align: center; }
  .footer .pages__list:last-child .--slim {
    font-family: "Lato", sans-serif;
    font-weight: normal;
    letter-spacing: 0.1em;
    text-align: center; }
  .footer .pages__list:last-child .--slim:first-child {
    font-family: "Lato", sans-serif;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 0.1em; } }
.footer .pages__item {
  line-height: 2;
  color: #fff;
  font-weight: bold;
  font-size: 14px; }
@media screen and (max-width: 600px) {
  .footer .pages__item {
    position: relative;
    margin-bottom: 14px; } }
.footer .pages__item.--slim {
  font-weight: normal; }
.footer .pages__detail-item {
  display: flex;
  margin-left: 16px;
  margin-bottom: 13px;
  line-height: 22px;
  color: #FFD8E4; }
.footer .pages__detail-item:before {
  display: block;
  content: "ー"; }
@media screen and (max-width: 600px) {
  .footer .pages__detail-item {
    margin-left: initial; }
  .footer .pages__detail-item:before {
    display: none; } }
.footer .pages__detail-wrap {
  margin-top: 10px; }
@media screen and (max-width: 600px) {
  .footer .pages__detail-wrap {
    display: none; } }
.footer__follow-me {
  margin-bottom: 25px;
  width: 106px;
  margin-right: 0;
  margin-left: auto; }
.footer__follow-me .txt {
  color: #fff;
  font-family: Lato, "sans-serif";
  text-align: center; }
.footer__follow-me .icons {
  margin-top: 15px;
  display: flex;
  justify-content: space-between; }
@media screen and (max-width: 600px) {
  .footer__follow-me {
    margin: 0 auto 35.3px; }
  .footer__follow-me .icons {
    max-width: 142px;
    width: 100%; } }
.footer__copy-right {
  text-align: end;
  color: #fff;
  font-family: Lato, "sans-serif";
  padding-bottom: 15px; }
@media screen and (max-width: 600px) {
  .footer__copy-right {
    margin: 0 auto;
    text-align: center; } }
@media screen and (max-width: 900px) {
  .footer {
    padding: 0 80px; } }
@media screen and (max-width: 600px) {
  .footer {
    padding: 0 32px; } }

.flow__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center; }
.flow__item {
  font-size: 16px;
  letter-spacing: .05em;
  padding-left: 12px;
  background: url("../img/base/icn-arrow-right.svg") no-repeat left center;
  margin-right: 10px; }
.flow__item:first-child {
  padding-left: 0;
  background: none; }

.error {
  margin: 3px 0;
  color: #d70000; }

.page-top {
  width: fit-content;
  margin: 0 auto;
  margin-top: 161px;
  font-family: Lato;
  font-weight: 500;
  font-size: 15px;
  line-height: 30px; }
.page-top a {
  color: #383838; }
.page-top a:hover {
  opacity: .7; }
.page-top__line {
  width: 1px;
  height: 45px;
  background: #383838;
  margin: 0 auto; }

.exc-m {
  margin-bottom: 60px !important; }

.container {
  overflow: initial;
  font-family: "Noto Sans JP", sans-serif; }

.research__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px; }
@media screen and (max-width: 900px) {
  .research__list {
    display: block; } }
.research__list-item {
  width: 32%; }
@media screen and (max-width: 900px) {
  .research__list-item {
    width: 100%;
    padding-bottom: 20px; } }
.research__list-item img {
  width: 100%; }
.research__list-item_detail {
  padding-top: 10px; }
.research__list-item_detail .ttl {
  padding-bottom: 14px;
  padding-top: 12px;
  font-weight: bold; }
.research .dl-btn {
  padding: 20px;
  width: 200px;
  color: #fff;
  background: #F39FBA;
  display: flex;
  font-weight: bold;
  justify-content: center;
  margin: 20px auto;
  border-radius: 60px; }

.page-top {
  width: fit-content;
  text-align: center;
  margin: 0 auto; }
.page-top__ttl-ja {
  font-size: 35px;
  letter-spacing: 0.07em;
  margin-top: 33px; }
.page-top__ttl-en {
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 0.06em;
  color: #F39FBA;
  margin-top: 121px; }

.pnkz {
  margin-top: 39px;
  font-size: 12px;
  letter-spacing: 0.1em;
  display: flex;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis; }
.pnkz__item a {
  text-decoration: none;
  color: #383838; }
.pnkz__item a:hover {
  opacity: .7; }
.pnkz__item:before {
  content: '／';
  color: #F39FBA; }
.pnkz__item:nth-child(1):before {
  display: none; }

.contents--detail {
  padding-top: 128px;
  background-color: #fff;
  width: 100%; }
.contents--detail .page-ttl {
  margin-top: 0; }
@media screen and (max-width: 900px) {
  .contents--detail {
    padding-top: 90px; } }

.page--wrap {
  max-width: 980px;
  margin: 0 auto; }

.lt0 {
  letter-spacing: 0 !important; }

.lt10 {
  letter-spacing: 0.1em !important; }

.lt-05 {
  letter-spacing: -0.05em !important; }

.lt14 {
  letter-spacing: 0.14em !important; }

.fv {
  padding: 103px 130px 0;
  position: relative; }
.fv__bg {
  border-radius: 20px;
  overflow: hidden; }
.fv__bg img {
  width: 100%;
  height: auto; }
.fv__scroll {
  position: absolute;
  right: 62px;
  bottom: -13px;
  z-index: 3;
  transform: rotate(90deg);
  transform-origin: right; }
.fv__scroll--txt {
  font-size: 1.3rem;
  font-family: "Cantarell", sans-serif;
  letter-spacing: .1em; }
.fv__scroll--bar {
  display: block;
  margin-top: 12px;
  width: 165px;
  height: 2px;
  position: relative; }
.fv__scroll--bar:before {
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background: #F39FBA;
  content: '';
  animation: scrollbar ease-in-out 3s;
  animation-iteration-count: infinite;
  -webkit-animation: scrollbar ease-in-out 3s;
  -webkit-animation-iteration-count: infinite; }
@media screen and (max-width: 900px) {
  .fv {
    padding: 86px 20px 0; } }
@media screen and (max-width: 600px) {
  .fv {
    padding: 74px 20px 0; }
  .fv__bg {
    border-radius: 10px; } }

.page-ttl {
  width: 500px;
  margin: -132px auto 0;
  text-align: center;
  position: relative;
  z-index: 2;
  background: #fff;
  border-radius: 10px; }
.page-ttl span {
  font-size: 13px;
  display: block;
  padding-bottom: 115px;
  font-family: "Cantarell", sans-serif;
  font-weight: 400;
  letter-spacing: .1em; }
.page-ttl__name {
  font-size: 30px;
  letter-spacing: .03em;
  padding-bottom: 23px; }
.page-ttl__desc {
  font-size: 17px;
  line-height: 35px;
  letter-spacing: .05em;
  font-weight: 700;
  margin-top: 43px; }
@media screen and (max-width: 900px) {
  .page-ttl {
    margin-top: -64px;
    padding: 35px 10px; }
  .page-ttl__num img {
    width: 86px;
    height: auto; }
  .page-ttl__name {
    margin-top: 16px;
    font-size: 23px;
    line-height: 32px; }
  .page-ttl__desc {
    font-size: 15px;
    line-height: 28px;
    margin-top: 24px;
    letter-spacing: .05em; } }
@media screen and (max-width: 600px) {
  .page-ttl {
    margin-top: -115px;
    width: 300px; }
  .page-ttl span {
    padding-bottom: 32px; } }

@keyframes scrollbar {
  0% {
    left: 0;
    opacity: 0; }
  30% {
    opacity: 1; }
  70% {
    opacity: 1; }
  90% {
    opacity: 0; }
  100% {
    left: calc(100% - 30px);
    opacity: 0; } }
@-webkit-keyframes scrollbar {
  0% {
    left: 0;
    opacity: 0; }
  30% {
    opacity: 1; }
  70% {
    opacity: 1; }
  90% {
    opacity: 0; }
  100% {
    left: calc(100% - 30px);
    opacity: 0; } }
.news {
  max-width: 1020px;
  margin: 0 auto;
  padding-bottom: 176px; }
.news__wrap {
  padding-top: 81px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
.news__wrap--detail {
  padding-top: 90px; }
.news__doc--ttl {
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 20px; }
.news__doc--list {
  background: #ffdee3;
  padding: 10px 14px;
  border-radius: 10px; }
.news__doc--item {
  padding-bottom: 10px; }
.news__doc--item a {
  color: #000;
  text-decoration: underline; }
.news .main, .news .detail {
  flex: 1 0 0%;
  width: calc(100% - 257px); }
@media screen and (max-width: 900px) {
  .news {
    padding-bottom: 180px;
    display: block; }
  .news__wrap {
    display: block; }
  .news .main, .news .detail {
    max-width: 100%;
    width: 100%; } }
@media screen and (max-width: 900px) {
  .news .main {
    width: 100%; } }
@media screen and (max-width: 600px) {
  .news .main__ttl {
    font-size: 16px;
    font-weight: 500;
    padding-bottom: 12px; }
  .news__wrap {
    padding-top: 60px; }
  .news__wrap--detail {
    padding-top: 0; } }

.archive__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  border-bottom: solid 1px #C4C4C4;
  padding: 34px 0 33px; }
.archive__item:first-child {
  padding-top: 0; }
.archive__item a {
  display: block;
  color: #383838;
  text-decoration: none; }
.archive__img img {
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: transform .6s ease;
  object-fit: cover; }
.archive__img a {
  display: block;
  width: 226px;
  height: 145px;
  position: relative;
  overflow: hidden; }
@media screen and (min-width: 901px) {
  .archive__img a:hover {
    opacity: .65; }
  .archive__img a:hover img {
    transform: translate(-50%, -50%) scale(1.03, 1.03); } }
.archive__detail {
  flex: 1 0 0%;
  padding-left: 20px;
  position: relative;
  letter-spacing: .1em;
  padding-top: 2px;
  order: 1;
  max-width: calc(100% - 226px); }
@media screen and (min-width: 901px) {
  .archive__detail a:hover .archive__date, .archive__detail a:hover .archive__cate, .archive__detail a:hover .archive__ttl, .archive__detail a:hover .archive__desc {
    color: #383838; }
  .archive__detail a:hover .archive__more {
    color: #383838; }
  .archive__detail a:hover .archive__more:before {
    right: -6px; } }
.archive__meta {
  letter-spacing: .1em;
  font-size: 14px;
  font-weight: 500; }
.archive__date {
  transition: color .4s ease;
  display: inline-block;
  vertical-align: top;
  letter-spacing: 0.07em; }
.archive__cate {
  display: inline-block;
  vertical-align: top; }
.archive__ttl {
  font-size: 18px;
  letter-spacing: .10em;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
  margin-top: 30px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  transition: color .4s ease; }
.archive__desc {
  margin-top: 26px;
  transition: color .4s ease; }
.archive__desc p {
  font-size: 14px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  letter-spacing: .1em;
  line-height: 30px;
  margin-bottom: 0 !important; }
.archive__desc p span {
  background: none !important;
  color: #bbbbbb !important;
  text-decoration: none !important;
  font-size: 12px !important;
  line-height: 2px !important;
  font-family: inherit !important;
  font-weight: normal; }
.archive__desc p a {
  color: #bbbbbb; }
.archive__desc p em {
  font-style: normal; }
.archive__desc p:nth-child(n + 2) {
  display: none; }
.archive__more {
  margin-top: 26px;
  text-align: right;
  padding-right: 42px;
  font-size: 13px;
  position: relative;
  transition: .4s ease; }
.archive__more:before {
  position: absolute;
  right: 0;
  top: -0.2px;
  display: block;
  background-size: contain;
  content: '';
  transition: .4s ease;
  background: url("../img/news/arrow.svg") no-repeat center;
  border-radius: 30px;
  width: 17.5px;
  height: 17.5px; }
@media screen and (max-width: 600px) {
  .archive__item {
    padding: 20px 0; }
  .archive__img a {
    width: 106px;
    height: 106px; }
  .archive__detail {
    padding: 0 0 0 19px;
    max-width: calc(100% - 106px); }
  .archive__meta {
    line-height: 28px;
    font-size: 13px; }
  .archive__date {
    display: inline; }
  .archive__cate {
    display: inline; }
  .archive__ttl {
    display: block;
    width: 100%;
    padding-left: 0;
    white-space: normal;
    text-overflow: clip;
    font-size: 15px;
    line-height: 30px;
    letter-spacing: .04em;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    margin-top: 10px; }
  .archive__more {
    display: none; } }

.pagination {
  margin-top: 150px;
  padding: 0 15px; }
.pagination__body {
  width: 100%;
  max-width: 374px;
  margin: 0 auto; }
.pagination__list {
  display: flex;
  justify-content: center;
  align-items: center; }
.pagination .previous, .pagination .next {
  height: 34px;
  width: 51px;
  line-height: 34px;
  text-align: center;
  border: 1px solid #707070;
  font-size: 13px;
  letter-spacing: 0.05em; }
.pagination .previous.inactive, .pagination .next.inactive {
  background-color: #C9CACA;
  border: none;
  color: #656565;
  pointer-events: none; }
.pagination .numbers {
  display: flex;
  font-family: 'arimo';
  font-size: 20px;
  line-height: 22px;
  margin: 0 21px;
  flex-grow: 1;
  justify-content: center; }
.pagination .numbers__item {
  margin-right: 4px;
  width: 20%; }
.pagination .numbers__link {
  display: block;
  height: 34px;
  width: 100%;
  border-bottom: 3px solid #C9CACA;
  text-align: center; }
.pagination .numbers .current .numbers__link {
  border-bottom: 3px solid #A30017; }
.pagination__info {
  text-align: center;
  margin-top: 33.5px;
  font-size: 13px;
  letter-spacing: 0.1em;
  line-height: 1; }

.detail {
  color: #383838;
  margin-top: 7px; }
.detail__ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 25px;
  letter-spacing: 0.1em;
  line-height: 50px;
  margin-bottom: 41.2px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden; }
.detail__meta {
  margin-bottom: 30px;
  letter-spacing: -.4em; }
.detail__date {
  font-size: 13px;
  letter-spacing: .1em;
  display: inline-block; }
.detail__cate {
  font-size: 13px;
  letter-spacing: .1em;
  display: inline-block;
  text-decoration: none;
  color: #383838; }
.detail__cate:hover {
  opacity: .7; }
.detail__cate:before {
  color: #383838;
  content: '｜'; }
@media screen and (min-width: 901px) {
  .detail__cate:hover {
    color: #383838; }
  .detail__cate:hover:before {
    color: #F39FBA; } }
@media screen and (max-width: 600px) {
  .detail {
    margin-top: -3px; }
  .detail__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: column; }
  .detail__ttl {
    order: 2;
    font-size: 17px;
    line-height: 29px;
    letter-spacing: .07em;
    margin-bottom: 30px; } }

.post {
  padding-bottom: 12px; }
.post p, .post li {
  letter-spacing: .1em;
  line-height: 35px; }
.post img {
  max-width: 100%;
  height: auto; }
.post ul {
  list-style: disc;
  padding-left: 1.6em; }
.post ol {
  list-style: decimal;
  padding-left: 1.6em; }
.post strong, .post b {
  font-weight: 500;
  font-weight: bold; }
.post a {
  color: #F39FBA; }
.post__eyecatch {
  margin-bottom: 40px; }
.post__eyecatch img {
  width: 100%;
  height: 462px;
  object-fit: cover; }
@media screen and (max-width: 900px) {
  .post__eyecatch img {
    height: auto; } }
.post .hl2 {
  font-size: 22.5px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 35px;
  margin-bottom: 40px; }
.post .hl3 {
  font-size: 20px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 35px;
  margin-bottom: 40px; }
.post .block-txt {
  margin-bottom: 46.2px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 35px;
  margin-bottom: 40px; }
.post .block-img {
  margin-bottom: 42px; }
.post .block-img img {
  width: 100%;
  height: 462px;
  object-fit: cover; }
@media screen and (max-width: 900px) {
  .post .block-img img {
    height: auto; } }
.post .block-img-row {
  margin-bottom: 40.2px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px; }
.post .block-img-item {
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0 10px; }
.post .block-img-cap {
  font-size: 10px;
  margin-top: 8px;
  line-height: 20px; }
.post .block-btn {
  margin-bottom: 42px; }
.post .block-btn a {
  display: block;
  width: 285px;
  max-width: 400px;
  background: #F39FBA;
  color: #fff;
  text-align: center;
  padding: 13px 24px;
  margin: 0 auto;
  font-size: 15px;
  line-height: 32px;
  letter-spacing: .04em; }
@media screen and (min-width: 901px) {
  .post .block-btn a:hover {
    opacity: .8; } }
@media screen and (max-width: 600px) {
  .post p, .post li {
    line-height: 30px; }
  .post .hl2 {
    font-size: 16px;
    line-height: 30px; }
  .post .hl3 {
    font-size: 15px;
    line-height: 30px; }
  .post .block-btn a {
    width: 100%; } }
.post__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  align-items: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  position: relative;
  padding: 0 25.2777777778%;
  margin-top: 100px; }
.post__links a {
  color: #383838;
  font-size: 15px;
  display: inline-block;
  letter-spacing: .1em;
  line-height: 15px; }
@media screen and (min-width: 901px) {
  .post__links a:hover {
    background: #C9CACA;
    border: none; } }
.post__prev {
  margin-left: 0;
  margin-right: auto; }
.post__prev a {
  text-decoration: none; }
.post__prev a:before {
  content: '';
  background: url("../img/news/arrow-left.svg") no-repeat top 2px left;
  padding: 3px 18px; }
.post__all {
  letter-spacing: normal;
  vertical-align: middle;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0); }
.post__all a {
  text-decoration: none; }
.post__next {
  margin-left: auto;
  margin-right: 0; }
.post__next a {
  text-decoration: none; }
.post__next a:before {
  content: '';
  background: url("../img/news/arrow-right.svg") no-repeat top 2px right;
  padding: 3px 18px; }
@media screen and (max-width: 600px) {
  .post__links {
    padding: 0;
    margin-top: 40px; } }

.side {
  width: 210px;
  margin-left: 77.5px;
  border-top: solid 1px #C4C4C4; }
.side__content {
  border-bottom: solid 1px #C4C4C4; }
.side__ttl {
  padding: 29px 0 31px;
  position: relative;
  cursor: pointer;
  transition: .4s ease; }
.side__ttl-txt {
  font-weight: 500;
  font-size: 18px;
  letter-spacing: .1em;
  font-family: "Lato", sans-serif; }
.side__ttl-icn {
  position: absolute;
  top: 32px;
  right: 0;
  width: 15px;
  height: 15px; }
.side__ttl-icn:before, .side__ttl-icn:after {
  position: absolute;
  top: 8px;
  left: 0;
  content: '';
  width: 15px;
  height: 1px;
  background: #383838; }
.side__ttl-icn:after {
  transform: rotate(90deg);
  transition: transform .4s ease; }
.side__ttl-icn.active:after {
  transform: rotate(0); }
@media screen and (min-width: 901px) {
  .side__ttl:hover {
    color: #383838; } }
.side__list {
  padding: 0 0 34px;
  display: none;
  font-size: 14px; }
.side__item {
  font-weight: 500;
  line-height: 35px;
  margin-top: 9px; }
.side__item:first-child {
  margin-top: 0; }
.side__item a {
  display: block;
  color: #383838;
  letter-spacing: .1em;
  text-decoration: none; }
@media screen and (min-width: 901px) {
  .side__item a:hover {
    color: #bbbbbb; } }
@media screen and (max-width: 900px) {
  .side {
    width: auto;
    margin: 60px -45px 0;
    background: #E4E7E8;
    padding: 60px 45px;
    border-top: 0; }
  .side__content {
    border-bottom: 0;
    background: #fff;
    margin-top: 10px;
    padding: 0 30px; }
  .side__content:first-child {
    margin-top: 0; } }
@media screen and (max-width: 600px) {
  .side {
    padding: 50px 20px;
    margin: 60px -35px 0; }
  .side--detail {
    margin-top: 16px; }
  .side__content {
    padding: 0 20px; }
  .side__ttl {
    padding: 17px 0; }
  .side__ttl-txt {
    font-size: 16px; }
  .side__ttl .ja {
    padding-left: 27px;
    position: relative;
    top: 0;
    display: inline-block;
    padding-top: 4px;
    letter-spacing: .1em;
    font-size: 11px;
    font-style: normal;
    color: #F39FBA; }
  .side__ttl .ja:before {
    content: '';
    position: absolute;
    left: 10px;
    top: 3px;
    width: 4px;
    height: 11px;
    background: url("../img/base/icn-sl.svg") no-repeat center center;
    background-size: contain;
    display: block; }
  .side__ttl-icn {
    right: 0;
    top: 20px; }
  .side__list {
    padding: 16px 0 32px; } }

.contents {
  padding: 0 15px; }

.header-att {
  position: fixed;
  z-index: 3;
  width: 100%; }
.header-att ul {
  padding-right: 36px;
  padding-left: 48px; }
.header-att ul a {
  height: 63px; }

.pagination-tbd {
  padding-top: 49px;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center; }
.pagination-tbd ul {
  display: flex;
  width: 98px;
  justify-content: space-between; }
.pagination-tbd ul li {
  font-size: 18px;
  width: 30px;
  height: 30px;
  border-radius: 5px;
  border: 1px solid #F39FBA;
  text-align: center; }
.pagination-tbd ul li a {
  color: #383838;
  text-decoration: none;
  display: block;
  padding-top: 3px; }

.button a {
  color: #383838;
  text-decoration: none; }

.first {
  position: relative;
  margin-right: 26px;
  text-decoration: none;
  color: #383838; }
.first:before {
  content: "";
  background: url(../img/news/prev-arrow-d.svg) no-repeat;
  padding: 3px 3px;
  position: absolute;
  top: 3px;
  left: -9.8px; }

.prev {
  margin-right: 13px;
  position: relative;
  text-decoration: none;
  color: #383838; }
.prev:before {
  content: "";
  background: url(../img/news/prev-arrow.svg) no-repeat;
  padding: 2.3px 2.2px;
  position: absolute;
  top: 5px;
  left: -8.8px; }

.next {
  margin-left: 13px;
  position: relative;
  text-decoration: none;
  color: #383838; }
.next:before {
  content: "";
  background: url(../img/news/next-arrow.svg) no-repeat;
  padding: 2.3px 2.2px;
  position: absolute;
  top: 5px;
  right: -10.8px; }

.last {
  position: relative;
  margin-left: 21px;
  text-decoration: none;
  color: #383838; }
.last:before {
  content: "";
  background: url(../img/news/next-arrow-d.svg) no-repeat;
  padding: 3px 3px;
  position: absolute;
  top: 3px;
  right: -9.8px; }
