@charset "UTF-8";
/* ===================
共通変数
===================*/
/* ===================
ブレークポイント
===================*/
/* ===================
rem計算
===================*/
/* ===================
コンテンツサイズ
===================*/
/* ａタグ基本スタイル */
/* #Base
   -------------------------------------------------------------------------- */
/**
* Baseレイヤーにはプロジェクトにおける、基本的なベーススタイルを定義します
* 要素セレクタや属性セレクタなど、詳細度はできるかぎり低く保っておきます
* 基本的にclass属性は使用しません
*/
body {
  font-family: "Arial", "BIZ UDPGothic", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  color: #231815;
}

@media only screen and (max-width: 767px) {
  #scroll_area_Off {
    overflow: hidden;
  }
}

/* -----------------------------------------------------------------------------
   #Spacing
   -------------------------------------------------------------------------- */
/*
  bootstrapのユーティリティを補う為の
  margin,paddingの汎用クラス
*/
/* -----------------------------------------------------------------------------
   #Margin
   -------------------------------------------------------------------------- */
.u-m10 {
  margin: 10px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mr10 {
  margin-right: 10px !important;
}

.u-mr20 {
  margin-right: 20px !important;
}

.u-mr30 {
  margin-right: 30px !important;
}

.u-ml10 {
  margin-left: 10px !important;
}

.u-ml20 {
  margin-left: 20px !important;
}

.u-ml30 {
  margin-left: 30px !important;
}

@media only screen and (max-width: 767px) {
  .u-m10_sp {
    margin: 10px !important;
  }
  .u-mt0_sp {
    margin-top: 0px !important;
  }
  .u-mt10_sp {
    margin-top: 10px !important;
  }
  .u-mt20_sp {
    margin-top: 20px !important;
  }
  .u-mt30_sp {
    margin-top: 30px !important;
  }
  .u-mt40_sp {
    margin-top: 40px !important;
  }
  .u-mt50_sp {
    margin-top: 50px !important;
  }
  .u-mt60_sp {
    margin-top: 60px !important;
  }
  .u-mb0_sp {
    margin-bottom: 0 !important;
  }
  .u-mb10_sp {
    margin-bottom: 10px !important;
  }
  .u-mb20_sp {
    margin-bottom: 20px !important;
  }
  .u-mb30_sp {
    margin-bottom: 30px !important;
  }
  .u-mb40_sp {
    margin-bottom: 40px !important;
  }
  .u-mb50_sp {
    margin-bottom: 50px !important;
  }
  .u-mb60_sp {
    margin-bottom: 60px !important;
  }
  .u-mr10_sp {
    margin-right: 10px !important;
  }
  .u-mr20_sp {
    margin-right: 20px !important;
  }
  .u-mr30_sp {
    margin-right: 30px !important;
  }
  .u-ml0_sp {
    margin-left: 0 !important;
  }
  .u-ml10_sp {
    margin-left: 10px !important;
  }
  .u-ml20_sp {
    margin-left: 20px !important;
  }
  .u-ml30_sp {
    margin-left: 30px !important;
  }
}
/* -----------------------------------------------------------------------------
   #Padding
   -------------------------------------------------------------------------- */
.u-p10 {
  padding: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pl10 {
  padding-left: 10px !important;
}

.u-pl20 {
  padding-left: 20px !important;
}

.u-pl30 {
  padding-left: 30px !important;
}

.u-pl50 {
  padding-left: 50px !important;
}

.u-pl90 {
  padding-left: 90px !important;
}

.u-pr10 {
  padding-right: 10px !important;
}

.u-pr20 {
  padding-right: 20px !important;
}

.u-pr30 {
  padding-right: 30px !important;
}

@media only screen and (max-width: 767px) {
  .u-p10_sp {
    padding: 10px !important;
  }
  .u-pt0_sp {
    padding-top: 0px !important;
  }
  .u-pt10_sp {
    padding-top: 10px !important;
  }
  .u-pt20_sp {
    padding-top: 20px !important;
  }
  .u-pt30_sp {
    padding-top: 30px !important;
  }
  .u-pt40_sp {
    padding-top: 40px !important;
  }
  .u-pt50_sp {
    padding-top: 50px !important;
  }
  .u-pt60_sp {
    padding-top: 60px !important;
  }
  .u-pt70_sp {
    padding-top: 70px !important;
  }
  .u-pt80_sp {
    padding-top: 80px !important;
  }
  .u-pt90_sp {
    padding-top: 90px !important;
  }
  .u-pt100_sp {
    padding-top: 100px !important;
  }
  .u-pb10_sp {
    padding-bottom: 10px !important;
  }
  .u-pb20_sp {
    padding-bottom: 20px !important;
  }
  .u-pb30_sp {
    padding-bottom: 30px !important;
  }
  .u-pb40_sp {
    padding-bottom: 40px !important;
  }
  .u-pb50_sp {
    padding-bottom: 50px !important;
  }
  .u-pb60_sp {
    padding-bottom: 60px !important;
  }
  .u-pl0_sp {
    padding-left: 0px !important;
  }
  .u-pl10_sp {
    padding-left: 10px !important;
  }
  .u-pl20_sp {
    padding-left: 20px !important;
  }
  .u-pl30_sp {
    padding-left: 30px !important;
  }
  .u-pl90_sp {
    padding-left: 90px !important;
  }
  .u-pr10_sp {
    padding-right: 10px !important;
  }
  .u-pr0_sp {
    padding-right: 0px !important;
  }
  .u-pr20_sp {
    padding-right: 20px !important;
  }
  .u-pr30_sp {
    padding-right: 30px !important;
  }
}
/* -----------------------------------------------------------------------------
   #Text
   -------------------------------------------------------------------------- */
/*
  bootstrapのユーティリティを補う為の
  テキスト系の汎用クラス
*/
.u-serif {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "Meiryo", serif;
}

.u-red {
  color: #ff0000 !important;
}

.u-black {
  color: #231815 !important;
}

.u-f10 {
  font-size: 0.625rem !important;
}

.u-f11 {
  font-size: 0.6875rem !important;
}

.u-f12 {
  font-size: 0.75rem !important;
}

.u-f13 {
  font-size: 0.8125rem !important;
}

.u-f14 {
  font-size: 0.875rem !important;
}

.u-f15 {
  font-size: 0.9375rem !important;
}

.u-f16 {
  font-size: 1rem !important;
}

.u-f17 {
  font-size: 1.0625rem !important;
}

.u-f18 {
  font-size: 1.125rem !important;
}

.u-f19 {
  font-size: 1.1875rem !important;
}

.u-f20 {
  font-size: 1.25rem !important;
}

.u-f21 {
  font-size: 1.3125rem !important;
}

.u-f22 {
  font-size: 1.375rem !important;
}

.u-f23 {
  font-size: 1.4375rem !important;
}

.u-f24 {
  font-size: 1.5rem !important;
}

.u-f25 {
  font-size: 1.5625rem !important;
}

.u-f26 {
  font-size: 1.625rem !important;
}

.u-f27 {
  font-size: 1.6875rem !important;
}

.u-f28 {
  font-size: 1.75rem !important;
}

.u-f29 {
  font-size: 1.8125rem !important;
}

.u-f30 {
  font-size: 1.875rem !important;
}

.u-f31 {
  font-size: 1.9375rem !important;
}

.u-f32 {
  font-size: 2rem !important;
}

.u-f33 {
  font-size: 2.0625rem !important;
}

.u-f34 {
  font-size: 2.125rem !important;
}

.u-f35 {
  font-size: 2.1875rem !important;
}

.u-f36 {
  font-size: 2.25rem !important;
}

.u-f37 {
  font-size: 2.3125rem !important;
}

.u-f38 {
  font-size: 2.375rem !important;
}

.u-f39 {
  font-size: 2.4375rem !important;
}

.u-f40 {
  font-size: 2.5rem !important;
}

.u-f41 {
  font-size: 2.5625rem !important;
}

.u-f42 {
  font-size: 2.625rem !important;
}

.u-f43 {
  font-size: 2.6875rem !important;
}

.u-f44 {
  font-size: 2.75rem !important;
}

.u-f45 {
  font-size: 2.8125rem !important;
}

.u-f46 {
  font-size: 2.875rem !important;
}

.u-f47 {
  font-size: 2.9375rem !important;
}

.u-f48 {
  font-size: 3rem !important;
}

.u-f49 {
  font-size: 3.0625rem !important;
}

.u-f50 {
  font-size: 3.125rem !important;
}

.u-f55 {
  font-size: 3.4375rem !important;
}

@media only screen and (max-width: 767px) {
  .u-f10_sp {
    font-size: 0.625rem !important;
  }
  .u-f11_sp {
    font-size: 0.6875rem !important;
  }
  .u-f12_sp {
    font-size: 0.75rem !important;
  }
  .u-f13_sp {
    font-size: 0.8125rem !important;
  }
  .u-f14_sp {
    font-size: 0.875rem !important;
  }
  .u-f15_sp {
    font-size: 0.9375rem !important;
  }
  .u-f16_sp {
    font-size: 1rem !important;
  }
  .u-f17_sp {
    font-size: 1.0625rem !important;
  }
  .u-f18_sp {
    font-size: 1.125rem !important;
  }
  .u-f19_sp {
    font-size: 1.1875rem !important;
  }
  .u-f20_sp {
    font-size: 1.25rem !important;
  }
  .u-f21_sp {
    font-size: 1.3125rem !important;
  }
  .u-f22_sp {
    font-size: 1.375rem !important;
  }
  .u-f23_sp {
    font-size: 1.4375rem !important;
  }
  .u-f24_sp {
    font-size: 1.5rem !important;
  }
  .u-f25_sp {
    font-size: 1.5625rem !important;
  }
  .u-f26_sp {
    font-size: 1.625rem !important;
  }
  .u-f27_sp {
    font-size: 1.6875rem !important;
  }
  .u-f28_sp {
    font-size: 1.75rem !important;
  }
  .u-f29_sp {
    font-size: 1.8125rem !important;
  }
  .u-f30_sp {
    font-size: 1.875rem !important;
  }
  .u-f31_sp {
    font-size: 1.9375rem !important;
  }
  .u-f32_sp {
    font-size: 2rem !important;
  }
  .u-f33_sp {
    font-size: 2.0625rem !important;
  }
  .u-f34_sp {
    font-size: 2.125rem !important;
  }
  .u-f35_sp {
    font-size: 2.1875rem !important;
  }
  .u-f36_sp {
    font-size: 2.25rem !important;
  }
  .u-f37_sp {
    font-size: 2.3125rem !important;
  }
  .u-f38_sp {
    font-size: 2.375rem !important;
  }
  .u-f39_sp {
    font-size: 2.4375rem !important;
  }
  .u-f40_sp {
    font-size: 2.5rem !important;
  }
  .u-f41_sp {
    font-size: 2.5625rem !important;
  }
  .u-f42_sp {
    font-size: 2.625rem !important;
  }
  .u-f43_sp {
    font-size: 2.6875rem !important;
  }
  .u-f44_sp {
    font-size: 2.75rem !important;
  }
  .u-f45_sp {
    font-size: 2.8125rem !important;
  }
  .u-f46_sp {
    font-size: 2.875rem !important;
  }
  .u-f47_sp {
    font-size: 2.9375rem !important;
  }
  .u-f48_sp {
    font-size: 3rem !important;
  }
  .u-f49_sp {
    font-size: 3.0625rem !important;
  }
  .u-f50_sp {
    font-size: 3.125rem !important;
  }
}
/* #Wrapper
  -------------------------------------------------------------------------- */
/*
	画面の最大幅を設定するクラス

*/
/*-------------------レイアウト共通
---------------------------*/
.u-wrapper {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .u-wrapper {
    max-width: 1440px;
  }
}
@media only screen and (max-width: 767px) {
  .u-wrapper {
    width: 100%;
  }
}

.u-wrapper_inner {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .u-wrapper_inner {
    padding-left: 10px;
    padding-right: 10px;
    max-width: 1440px;
  }
}
@media only screen and (max-width: 767px) {
  .u-wrapper_inner {
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
  }
}

.u-wrapper_inner_pc {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .u-wrapper_inner_pc {
    max-width: 1440px;
    padding-left: 10px;
    padding-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-wrapper_inner_pc {
    width: 100%;
  }
}

.u-wrapper_inner_sp {
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width: 768px) {
  .u-wrapper_inner_sp {
    max-width: 1440px;
  }
}
@media only screen and (max-width: 767px) {
  .u-wrapper_inner_sp {
    width: 100%;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* #Show
  -------------------------------------------------------------------------- */
/*
PCとスマホの表示・非表示切り替え
*/
@media print, screen and (min-width: 768px) {
  .u-show_sp {
    display: none !important;
  }
}
@media only screen and (max-width: 767px) {
  .u-show_sp {
    display: inherit;
  }
}

@media print, screen and (min-width: 768px) {
  .u-show_pc {
    display: inherit;
  }
}
@media only screen and (max-width: 767px) {
  .u-show_pc {
    display: none !important;
  }
}

.is-hide {
  display: none;
}

.loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.7);
  z-index: 99999;
}
.loading::before {
  content: "";
  display: block;
  position: fixed;
  left: 50%;
  top: 50%;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  margin-top: -15px;
  margin-left: -15px;
  background: white;
}
.loading::after {
  content: "";
  display: block;
  position: fixed;
  left: 50%;
  top: 50%;
  width: 32px;
  height: 32px;
  border-radius: 20px;
  margin-top: -10px;
  margin-left: -10px;
  border: 4px solid #60ABB9;
  border-right: 4px solid white;
  animation: rotate 1s infinite linear;
}

@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.logo_amazonpay {
  display: block;
  margin: 0 auto;
  text-align: center;
  padding: 15px;
  background-color: #fad676;
  border-radius: 5px;
}

@media print, screen and (min-width: 768px) {
  .side_form {
    position: sticky;
    top: 0;
    max-height: 100vh;
    overflow-y: auto;
  }
}

.item_img {
  position: relative;
  border: 1px solid #eeedf0;
  flex-shrink: 0;
}
@media print, screen and (min-width: 768px) {
  .item_img {
    padding-top: 0;
    width: 50%;
    height: 100px;
    max-width: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .item_img {
    max-width: 130px;
    height: 130px;
    width: 50%;
  }
}
.item_img a {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}
.item_img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.step {
  list-style: none;
  display: flex;
  justify-content: space-around;
  width: calc(100% - 18px);
  max-width: 600px;
  margin: 0 auto 1rem;
  padding-left: 0;
}
.step li {
  position: relative;
  display: inline-block;
  height: 40px;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 31.6666666667%;
  text-align: center;
  padding: 10px 0;
  background-color: #eee;
  color: #bbb;
}
.step li:first-child {
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
}
.step li:after {
  z-index: 1;
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  top: 0;
  right: -18px;
  box-sizing: border-box;
  border-top: 20px solid transparent;
  border-left: 18px solid #eee;
  border-bottom: 20px solid transparent;
  filter: drop-shadow(2px 0 0 white);
}
.step li.is-current {
  background: #bbb;
  color: #fff;
}
.step li.is-current:after {
  border-color: transparent transparent transparent #bbb;
}

.field-validation-error, .validation-error {
  font-size: 1rem;
  padding: 5px;
  color: #fff;
  background-color: red;
  border-radius: 10px;
}

.input-validation-error {
  border: 1px solid #fd67a4;
  background-color: #fff0f0;
}

header {
  background-color: #E60012;
  position: fixed;
  width: 100%;
  z-index: 999;
  top: 0;
  left: 0;
}

@media print, screen and (min-width: 768px) {
  .h_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    max-width: 1220px;
  }
}

.h_main {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  .h_main {
    padding: 10px 0;
  }
}
@media only screen and (max-width: 767px) {
  .h_main {
    padding: 15px 55px 15px 10px;
    height: 55px;
  }
}
.h_main h1 {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .h_main h1 {
    margin-right: 20px;
  }
}
@media print, screen and (min-width: 768px) {
  .h_main h1 img {
    width: 570px;
  }
}
@media only screen and (max-width: 767px) {
  .h_main h1 img {
    display: block;
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .h_other {
    display: none;
  }
}
.h_other a:link {
  color: #fff;
}
.h_other a:visited {
  color: #fff;
}
.h_other a:hover {
  color: #fff;
}
.h_other a:active {
  color: #fff;
}
.h_other ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding: 0;
  font-size: 0.9375rem;
  list-style: none;
  line-height: 1;
}
.h_other ul a {
  display: block;
  padding: 0 10px;
  width: 100%;
  border-right: 1px solid #fff;
}
.h_other li {
  flex-grow: 1;
  text-align: center;
}
.h_other li:first-child {
  border-left: 1px solid #fff;
}

.h_bnr_pc {
  display: flex;
  justify-content: space-between;
}
.h_bnr_pc a:first-child {
  margin-right: 10px;
}

.h_cart {
  text-align: center;
  font-size: 0.875rem;
}
.h_cart a:link {
  color: #fff;
}
.h_cart a:visited {
  color: #fff;
}
.h_cart a:hover {
  color: #fff;
}
.h_cart a:active {
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .h_cart {
    margin-left: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .h_cart {
    margin-left: 20px;
  }
}
.h_cart a {
  display: block;
}
.h_cart a:hover {
  text-decoration: none;
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  .h_cart img {
    width: 35px;
  }
}
@media print, screen and (min-width: 768px) {
  .h_cart span {
    margin-top: 5px;
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .h_cart span {
    display: none;
  }
}

nav a:link, nav a:visited, nav a:hover, nav a:active {
  color: #231815;
}
nav a:hover img {
  opacity: 0.7;
}
@media only screen and (max-width: 767px) {
  nav {
    background-color: #000 !important;
    padding-bottom: 100px;
  }
}

@media print, screen and (min-width: 768px) {
  .h_gnv {
    display: flex;
    text-align: center;
    padding-bottom: 10px;
    width: 100%;
    font-size: 1.0625rem;
  }
  .h_gnv li {
    flex-grow: 1;
    margin-left: 10px;
  }
  .h_gnv li:last-child {
    margin-left: 0;
  }
}
@media only screen and (max-width: 767px) {
  .h_gnv {
    overflow: scroll;
  }
  .h_gnv li {
    border-top: 1px solid #ddd;
  }
  .h_gnv li:last-child {
    border-bottom: 1px solid #ddd;
  }
}
@media print, screen and (min-width: 768px) {
  .gnv_ttl {
    display: block;
    padding: 10px 10px;
    width: 100%;
    height: 100%;
    background-color: #fff;
  }
  .gnv_ttl:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .gnv_ttl {
    display: block;
    width: 100%;
    height: 100%;
    padding: 15px 25px 15px 15px;
    font-size: 1rem;
  }
  .gnv_ttl:link {
    color: #fff;
  }
  .gnv_ttl:visited {
    color: #fff;
  }
  .gnv_ttl:hover {
    color: #fff;
  }
  .gnv_ttl:active {
    color: #fff;
  }
  .gnv_ttl:hover {
    background-color: #E60012;
    text-decoration: none;
  }
  .gnv_ttl:after {
    content: "＞";
    position: absolute;
    right: 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .h_bnr_sp {
    display: none;
  }
}
@media only screen and (max-width: 767px) {
  .h_bnr_sp {
    margin: 15px;
  }
  .h_bnr_sp a {
    display: block;
    margin-bottom: 15px;
  }
}

.drawer-hamburger {
  position: absolute;
  padding: 0 10px;
  text-align: center;
  color: #fff;
  height: 100%;
}
@media print, screen and (min-width: 768px) {
  .drawer-hamburger {
    display: none;
  }
}

@media only screen and (max-width: 767px) {
  .drawer--right .drawer-hamburger, .drawer--right.drawer-open .drawer-hamburger {
    right: 0px !important;
  }
  .drawer-open .drawer-hamburger {
    background-color: #000;
  }
  .drawer-hamburger-icon, .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
    width: 28px;
    height: 3px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 10px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    background-color: #fff;
  }
  .drawer-hamburger-icon:before, .drawer-hamburger-icon:after {
    position: absolute;
    top: -8px;
    left: 0;
    content: " ";
  }
  .drawer-hamburger-icon:after {
    top: 8px;
  }
  .drawer-hamburger-text-open, .drawer-hamburger-text-close {
    width: 100%;
    position: absolute;
    left: 0;
    bottom: 5px;
    -webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }
  .drawer-hamburger-text-close {
    opacity: 0;
  }
  .drawer-overlay {
    background-color: #000 !important;
  }
  .drawer--right.drawer-open .drawer-nav {
    left: 0;
  }
  .drawer-nav {
    position: fixed;
    z-index: 101;
    top: 0;
    color: #231815;
  }
  .drawer--right .drawer-nav {
    top: 55px !important;
    left: 100%;
    width: 100%;
    height: calc(100vh - 55px);
    overflow-y: scroll;
    -webkit-transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1);
    transition: left 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  }
}
footer {
  position: relative;
  background-color: #A71E41;
  color: #fff;
  text-align: center;
}
footer a:link {
  color: #fff;
}
footer a:visited {
  color: #fff;
}
footer a:hover {
  color: #fff;
}
footer a:active {
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  footer {
    margin-top: 80px;
    padding: 50px 0 0;
  }
}
@media only screen and (max-width: 767px) {
  footer {
    margin-top: 40px;
    padding: 30px 0 0;
  }
}

.f_txt01 {
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "Meiryo", serif;
  font-weight: bold;
  line-height: 1.25;
}
@media print, screen and (min-width: 768px) {
  .f_txt01 {
    font-size: 3.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .f_txt01 {
    font-size: 1.9375rem;
  }
}

.f_txt03 {
  padding: 10px;
  color: #231815;
  background-color: #fff;
  font-size: 1.125rem;
}

@media print, screen and (min-width: 768px) {
  .f_layout01 {
    border-bottom: 10px solid;
    border-image: url(/images/common/f_line.svg) 10 repeat;
  }
  .f_layout01 p {
    margin-bottom: 10px;
  }
  .f_txt02 {
    font-size: 1.3125rem;
  }
  .f_layout02 {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 50px auto 30px;
    max-width: 1200px;
  }
  .f_layout02 a {
    display: block;
    padding: 0 20px;
    margin: 0 20px;
    font-size: 2rem;
    border-left: 1px solid #fff;
    border-right: 1px solid #fff;
  }
  .f_layout02 p {
    margin-bottom: 0;
  }
  .f_txt04 {
    font-size: 1rem;
  }
  small {
    display: block;
    margin: 0 auto;
    padding: 20px 10px 40px;
    max-width: 1200px;
    border-top: 1px solid #fff;
    text-align: center;
    font-size: 0.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .f_layout01 {
    margin-bottom: 10px;
  }
  .f_layout01 p {
    margin-bottom: 10px;
  }
  .f_txt02 {
    font-size: 0.9375rem;
    line-height: 1.75;
  }
  .f_layout02 {
    margin-bottom: 15px;
  }
  .f_layout02 a {
    display: block;
    margin-bottom: 5px;
    font-size: 1.5rem;
    font-weight: bold;
  }
  .f_layout02 p {
    margin-bottom: 10px;
    font-size: 0.9375rem;
  }
  .f_txt03 {
    display: none;
  }
  .f_txt04 {
    font-size: 0.9375rem;
    line-height: 1.75;
  }
  small {
    display: block;
    padding: 10px;
    border-top: 1px solid #fff;
    text-align: center;
    font-size: 0.75rem;
  }
}
/* #Content
-------------------------------------------------------------------------- */
/*doc

*/
@media print, screen and (min-width: 768px) {
  #contents {
    min-height: calc(100vh - 268px - 393px - 80px);
  }
}

@media print, screen and (min-width: 768px) {
  .common_heading {
    padding-top: 181px;
  }
}
@media only screen and (max-width: 767px) {
  .common_heading {
    padding-top: 55px;
  }
}
.common_heading h3 {
  background-color: #A71E41;
  font-weight: bold;
  text-align: center;
  color: #fff;
  padding: 10px;
}
@media print, screen and (min-width: 768px) {
  .common_heading h3 {
    margin-top: 50px;
    margin-bottom: 50px;
    font-size: 2.1875rem;
  }
}
@media only screen and (max-width: 767px) {
  .common_heading h3 {
    margin-top: 20px;
    margin-bottom: 20px;
    font-size: 1.1875rem;
    line-height: 1.5;
  }
}
.common_heading .txt_pink {
  color: #A71E41;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .common_heading .txt_pink {
    margin: 30px 50px;
    font-size: 2.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .common_heading .txt_pink {
    padding: 15px 10px;
    font-size: 1.1875rem;
    line-height: 1.5;
  }
}

.object-fit {
  object-fit: cover;
  font-family: "object-fit: cover";
}

@media print, screen and (min-width: 768px) {
  [data-scroll] {
    scroll-margin-top: 201px;
  }
}
@media only screen and (max-width: 767px) {
  [data-scroll] {
    scroll-margin-top: 75px;
  }
}

.bg_gray {
  background-color: #EAE5E3;
}

.wrapper_base01, .index_wrapper {
  margin: 0 auto;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0px;
  padding-right: 0px;
  width: 100%;
  max-width: 1210px;
  background-color: #fff;
}

@media only screen and (max-width: 767px) {
  .wrapper_inner01 {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.btn_blue {
  display: block;
  margin-right: auto;
  margin-left: auto;
  max-width: 300px;
  line-height: 48px;
  text-align: center;
  font-size: 0.9375rem;
  background-color: #578CCB;
  color: #fff;
}
.btn_blue:link, .btn_blue:visited, .btn_blue:active, .btn_blue:hover {
  color: #fff;
}
.btn_blue:hover {
  opacity: 0.7;
  text-decoration: none;
}

.btn_black {
  display: block;
  margin-right: auto;
  margin-left: auto;
  max-width: 250px;
  line-height: 60px;
  text-align: center;
  font-size: 0.9375rem;
  background-color: #231815;
  color: #fff;
}
.btn_black:link, .btn_black:visited, .btn_black:active, .btn_black:hover {
  color: #fff;
}
.btn_black:hover {
  opacity: 0.7;
  text-decoration: none;
}

.btn_style01 {
  display: block;
  border-radius: 30px;
  text-align: center;
  font-weight: normal;
  line-height: 1.15;
  color: #231815;
}
@media print, screen and (min-width: 768px) {
  .btn_style01 {
    margin: 50px auto;
    padding: 10px;
    max-width: 560px;
    letter-spacing: 5px;
    font-size: 1.875rem;
    border: 3px solid #231815;
  }
}
@media only screen and (max-width: 767px) {
  .btn_style01 {
    margin: 30px auto;
    padding: 5px;
    max-width: 280px;
    font-size: 1rem;
    letter-spacing: 2px;
    border: 2px solid #231815;
  }
}
.btn_style01:link, .btn_style01:visited, .btn_style01:active, .btn_style01:hover {
  color: #231815;
}
.btn_style01:hover {
  text-decoration: none;
  background-color: #eee;
}

.effect-fade {
  opacity: 0;
  transform: translate(0, 200px); /* フェードインで動く高さを指定 */
  transition: all 2500ms; /* フェードインにかかる時間を指定 */
}

.effect-scroll {
  opacity: 1;
  transform: translate(0, 0);
}

.comingSoon {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 300px;
}
@media print, screen and (min-width: 768px) {
  .comingSoon {
    font-size: 3.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .comingSoon {
    font-size: 2.8125rem;
  }
}

@media print, screen and (min-width: 768px) {
  .index {
    padding-top: 181px;
  }
}
@media only screen and (max-width: 767px) {
  .index {
    padding-top: 55px;
  }
}
.index > p {
  text-align: center;
}
.index section > p {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .index section > p {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .index section > p {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .index section {
    padding: 80px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .index section {
    padding: 30px 10px;
  }
}

@media print, screen and (min-width: 768px) {
  .index_wrapper {
    text-align: center;
    padding: 80px 0;
  }
}
@media only screen and (max-width: 767px) {
  .index_wrapper {
    padding: 30px 0;
  }
}

#js-slider li {
  visibility: hidden;
}

.bx-viewport #js-slider li {
  visibility: visible;
}

.bx-wrapper {
  margin-bottom: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
}
.bx-wrapper img {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .index_top {
    width: calc((100vh - 181px) * 0.744);
    max-width: 100vw;
    margin: 0 auto;
  }
}

.slider {
  position: relative;
}
.slider ul {
  list-style: none;
  padding: 0;
}
.slider .active-slide {
  overflow: hidden;
}
.slider .active-slide:not(.no_light):before {
  content: "";
  background-image: url("/images/index/slide/light.jpg");
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 200%;
  height: 200%;
  z-index: -1;
  animation: animationZoom 0.5s ease-in forwards;
}
.slider .active-slide img {
  animation: fadeIn 1.5s ease-in forwards;
  opacity: 0;
}

@keyframes animationZoom {
  100% {
    transform: translate(-50%, -50%) scale(0.5);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.slide_wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.arrow_txt {
  position: absolute;
  top: 0;
  left: 0;
}

.movie {
  text-align: center;
  background-color: #000;
  padding: 30px 10px;
}

.video_wrapper {
  margin: 0 auto;
  padding-top: 56.25%;
  width: 100%;
  max-width: 1280px;
  position: relative;
}
.video_wrapper video {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

.ttl_blue {
  text-align: center;
  color: #fff;
  background-color: #00437C;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .ttl_blue {
    margin: 50px 0;
    padding: 15px;
    font-size: 2.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .ttl_blue {
    margin: 30px 0;
    padding: 7px 10px;
    font-size: 1.25rem;
  }
}

.ttl_black {
  margin-bottom: 0;
  text-align: center;
  color: #fff;
  background-color: #231815;
}
@media print, screen and (min-width: 768px) {
  .ttl_black {
    font-size: 1.875rem;
    padding: 15px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .ttl_black {
    font-size: 1rem;
    padding: 7px 10px;
  }
}

@media print, screen and (min-width: 768px) {
  .txt_design01 {
    margin: 80px 0 20px;
    font-size: 3.4375rem;
  }
}
@media only screen and (max-width: 767px) {
  .txt_design01 {
    margin: 30px 0 10px;
    font-size: 1.6875rem;
  }
}

.txt_design02 {
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .txt_design02 {
    margin-bottom: 50px;
    font-size: 1.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .txt_design02 {
    font-size: 1rem;
  }
}

.layout_design {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  max-width: 937px;
}
@media print, screen and (min-width: 768px) {
  .layout_design {
    margin: 50px auto;
  }
}
@media only screen and (max-width: 767px) {
  .layout_design {
    margin: 30px auto;
  }
}
.layout_design p {
  width: calc((100% - 10px) / 2);
  max-width: 440px;
  line-height: 1.5;
  background-color: #FFFCDB;
  color: #00437C;
}
@media print, screen and (min-width: 768px) {
  .layout_design p {
    margin-bottom: 50px;
    padding: 30px 10px;
    border: 8px solid #00437C;
    font-size: 2.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_design p {
    margin-bottom: 10px;
    padding: 10px;
    border: 4px solid #00437C;
    font-size: 1.1875rem;
  }
}

@media print, screen and (min-width: 768px) {
  .index_kakaku {
    margin-top: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .index_kakaku {
    margin-top: 50px;
  }
}
.index_kakaku h3 {
  margin-bottom: 0r;
}
@media only screen and (max-width: 767px) {
  .index_kakaku h3 {
    margin-bottom: 20px;
  }
}
.index_kakaku .btn_style01 {
  margin-top: 0;
}
@media only screen and (max-width: 767px) {
  .index_kakaku .btn_style01 {
    margin-top: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .index_kakaku img {
    max-width: 100%;
    height: auto;
  }
}

.layout_kakaku {
  max-width: 939px;
}
@media print, screen and (min-width: 768px) {
  .layout_kakaku {
    margin: 50px auto 100px;
    padding: 30px 20px;
    border: 10px solid #231815;
    border-radius: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .layout_kakaku {
    margin: 30px auto 50px;
    padding: 20px 10px;
    border: 5px solid #231815;
    border-radius: 15px;
  }
}
.layout_kakaku p {
  font-weight: bold;
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .layout_kakaku p {
    font-size: 2.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_kakaku p {
    font-size: 1.375rem;
  }
}
.layout_kakaku .btn_style01 {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .layout_kakaku .btn_style01 {
    max-width: 400px;
    margin-top: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .layout_kakaku .btn_style01 {
    margin-top: 10px;
    max-width: 280px;
  }
}

.index_notes {
  text-align: left;
  display: flex;
  justify-content: center;
}
@media print, screen and (min-width: 768px) {
  .index_notes {
    margin: 80px auto 0;
  }
}
@media only screen and (max-width: 767px) {
  .index_notes {
    margin: 30px auto 0;
  }
}
.index_notes dt {
  margin-bottom: 10px;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .index_notes dt {
    font-size: 2.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .index_notes dt {
    font-size: 1.375rem;
  }
}
.index_notes dd {
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .index_notes dd {
    margin-bottom: 30px;
    padding-left: 66px;
    font-size: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .index_notes dd {
    margin-bottom: 20px;
    padding-left: 30px;
    font-size: 1.125rem;
  }
}

@media print, screen and (min-width: 768px) {
  .item section {
    padding: 0px 10px 100px;
  }
}
@media only screen and (max-width: 767px) {
  .item section {
    padding: 0 5px 50px;
  }
}
.item .ttl_item01 {
  text-align: center;
  padding: 30px 0;
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .item .ttl_item01 {
    font-size: 1.875rem;
    font-weight: bold;
  }
}
@media only screen and (max-width: 767px) {
  .item .ttl_item01 {
    font-size: 1.25rem;
  }
}
@media print, screen and (min-width: 768px) {
  .item .ttl_item01 img {
    margin-left: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .item .ttl_item01 img {
    margin-top: 10px;
    max-width: 270px;
  }
}
.item .ttl_item02 {
  background-color: #A3C3D8;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .item .ttl_item02 {
    padding: 30px 10px;
    font-size: 2.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .item .ttl_item02 {
    padding: 10px 5px;
    font-size: 1.375rem;
  }
}
.item .btn_style01 {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .item .btn_style01 {
    margin-top: 80px;
    min-width: 400px;
  }
}
@media only screen and (max-width: 767px) {
  .item .btn_style01 {
    margin-top: 80px;
    min-width: 400px;
  }
}
.item hr {
  border: 0; /*ボーダーをリセット*/
}
@media print, screen and (min-width: 768px) {
  .item hr {
    margin-bottom: 50px;
    border-top: 8px solid #A3C3D8;
  }
}
@media only screen and (max-width: 767px) {
  .item hr {
    margin-bottom: 30px;
    border-top: 4px solid #A3C3D8;
  }
}

.layout_item01 {
  max-width: 964px;
}
@media print, screen and (min-width: 768px) {
  .layout_item01 {
    display: flex;
    justify-content: space-between;
    margin: 50px auto;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item01 {
    margin: 30px auto;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item01 figure {
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }
}
.layout_item01 figure img {
  margin-bottom: 30px;
}

@media print, screen and (min-width: 768px) {
  .item_desc {
    max-width: 510px;
  }
}
@media print, screen and (min-width: 768px) {
  .item_desc .txt_desc {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .item_desc .txt_desc {
    margin-bottom: 30px;
  }
}
.item_desc .txt_desc p {
  line-height: 1.75;
  font-weight: bold;
  color: #A71E41;
}
@media print, screen and (min-width: 768px) {
  .item_desc .txt_desc p {
    margin-bottom: 10px;
    font-size: 1.3125rem;
  }
}
@media only screen and (max-width: 767px) {
  .item_desc .txt_desc p {
    margin-bottom: 5px;
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .item_desc dl {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .item_desc dl {
    margin-bottom: 30px;
  }
}
.item_desc dt {
  position: relative;
  margin-bottom: 10px;
  padding-right: 114px;
  line-height: 1.25;
}
.item_desc dt img {
  position: absolute;
  right: 0;
  bottom: 0;
}
.item_desc dt span {
  display: block;
}
.item_desc dd {
  display: flex;
  margin-bottom: 10px;
}

@media print, screen and (min-width: 768px) {
  .item_kakaku {
    margin-left: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .item_kakaku {
    margin-left: 10px;
  }
}
.item_kakaku .zeibetsu {
  margin-bottom: 0;
  color: #A71E41;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .item_kakaku .zeibetsu {
    font-size: 1.3125rem;
  }
}
@media only screen and (max-width: 767px) {
  .item_kakaku .zeibetsu {
    font-size: 1rem;
  }
}
.item_kakaku .zeikomi {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .item_kakaku .zeikomi {
    font-size: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .item_kakaku .zeikomi {
    font-size: 1.625rem;
  }
}
.item_kakaku .tax {
  color: #231815;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .item_kakaku .tax {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .item_kakaku .tax {
    font-size: 0.75rem;
  }
}

.item_option p {
  padding: 5px;
  border: 1px solid #231815;
  text-align: center;
  margin-bottom: 5px;
}
@media print, screen and (min-width: 768px) {
  .item_option p {
    max-width: 180px;
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .item_option p {
    max-width: 200px;
    font-size: 0.75rem;
  }
}

.item_kosu {
  align-items: center;
}
@media print, screen and (min-width: 768px) {
  .item_kosu {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .item_kosu {
    font-size: 0.875rem;
  }
}

@media print, screen and (min-width: 768px) {
  .item_order {
    justify-content: space-between;
  }
}
@media only screen and (max-width: 767px) {
  .item_order {
    justify-content: center;
  }
}
.item_order a {
  width: calc((100% - 20px) / 2);
  max-width: 242px;
}
@media only screen and (max-width: 767px) {
  .item_order a {
    margin: 0 10px;
  }
}

.btn_cart {
  display: block;
  text-align: center;
  background-color: #A71E41;
  color: #fff;
  border: 1px solid #fff;
}
@media print, screen and (min-width: 768px) {
  .btn_cart {
    padding: 10px;
    border-radius: 10px;
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .btn_cart {
    padding: 5px;
    border-radius: 5px;
    font-size: 1rem;
  }
}
.btn_cart:link, .btn_cart:visited, .btn_cart:hover, .btn_cart:active {
  color: #fff;
}
.btn_cart:hover {
  text-decoration: none;
  opacity: 0.7;
}

.txt_mitsumori {
  margin-bottom: 30px;
  color: #A71E41;
  border: 2px solid #A71E41;
}
@media print, screen and (min-width: 768px) {
  .txt_mitsumori {
    display: flex;
    align-items: center;
    padding: 20px;
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .txt_mitsumori {
    padding: 10px;
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .txt_mitsumori p {
    font-size: 1.5rem !important;
  }
}
@media only screen and (max-width: 767px) {
  .txt_mitsumori p {
    font-size: 1rem !important;
  }
}

.btn_toritsuke {
  display: block;
  background-color: #F7F3BA;
  text-align: center;
  padding: 10px;
  font-weight: bold;
  border: 1px solid #231815;
}
@media print, screen and (min-width: 768px) {
  .btn_toritsuke {
    margin: 50px auto;
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .btn_toritsuke {
    margin: 30px auto;
    font-size: 1rem;
  }
}
.btn_toritsuke:link, .btn_toritsuke:visited, .btn_toritsuke:hover, .btn_toritsuke:active {
  color: #231815;
}
.btn_toritsuke:hover {
  text-decoration: none;
  opacity: 0.7;
}

.layout_item02 {
  display: flex;
}
@media print, screen and (min-width: 768px) {
  .layout_item02 {
    justify-content: space-between;
    padding: 0 20px 50px;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item02 {
    flex-wrap: wrap;
    padding: 0 10px 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .layout_item02 > div {
    width: calc((100% - 80px) / 5);
  }
}
@media only screen and (max-width: 767px) {
  .layout_item02 > div {
    margin-bottom: 10px;
    margin-right: 10px;
    width: calc((100% - 20px) / 3);
  }
  .layout_item02 > div:nth-child(3n) {
    margin-right: 0;
  }
}
@media print, screen and (min-width: 768px) {
  .layout_item02 dt {
    margin-top: 10px;
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item02 dt {
    margin-top: 5px;
    font-size: 0.75rem;
  }
}

.item_table {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .item_table {
    margin-bottom: 10px;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .item_table {
    margin-bottom: 5px;
    font-size: 0.75rem;
  }
}
.item_table caption {
  padding: 3px;
  background-color: #231815;
  color: #fff;
  text-align: left;
  caption-side: top;
}
.item_table th, .item_table td {
  border: 1px solid #231815;
  padding: 3px;
  text-align: center;
}
.item_table th {
  vertical-align: middle;
  font-weight: normal;
  white-space: nowrap;
}
.item_table td {
  vertical-align: top;
}

.th_first {
  background-color: #DCDDDD;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .th_second {
    width: 75px;
  }
}
@media only screen and (max-width: 767px) {
  .th_second {
    white-space: nowrap;
  }
}

.layout_item03 {
  max-width: 940px;
  margin: 0 auto;
}
@media print, screen and (min-width: 768px) {
  .layout_item03 {
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 {
    padding-bottom: 50px;
  }
}
.layout_item03 h3 {
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .layout_item03 h3 {
    margin-bottom: 30px;
    text-align: center;
    font-size: 2.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 h3 {
    margin-bottom: 10px;
    font-size: 1.375rem;
  }
}
.layout_item03 p {
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .layout_item03 p {
    margin-bottom: 30px;
    font-size: 1.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 p {
    margin-bottom: 10px;
    font-size: 1rem;
  }
}
.layout_item03 dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media print, screen and (min-width: 768px) {
  .layout_item03 dl {
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 dl {
    margin-bottom: 10px;
  }
}
@media print, screen and (min-width: 768px) {
  .layout_item03 dl > div {
    margin-bottom: 30px;
    margin-right: 10px;
    width: calc((100% - 20px) / 3);
    max-width: 300px;
  }
  .layout_item03 dl > div:nth-child(3n) {
    margin-right: 0;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 dl > div {
    margin-bottom: 10px;
    width: calc((100% - 10px) / 2);
    max-width: 300px;
  }
  .layout_item03 dl > div:nth-child(2n) {
    margin-right: 0;
  }
}
.layout_item03 dt {
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .layout_item03 dt {
    margin-top: 10px;
    font-size: 1.8125rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 dt {
    margin-top: 5px;
    font-size: 1rem;
  }
}
.layout_item03 dd {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .layout_item03 .model_num {
    font-size: 1.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 .model_num {
    font-size: 1rem;
  }
}
.layout_item03 .price {
  color: #A71E41;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .layout_item03 .price {
    font-size: 1.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 .price {
    font-size: 1.1875rem;
  }
}
.layout_item03 .yen {
  color: #A71E41;
}
@media print, screen and (min-width: 768px) {
  .layout_item03 .yen {
    font-size: 1.3125rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 .yen {
    font-size: 0.875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .layout_item03 .tax {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_item03 .tax {
    font-size: 0.75rem;
  }
}

.txt_parts01 {
  padding: 5px 10px;
  background-color: #DCDDDD;
}
@media print, screen and (min-width: 768px) {
  .txt_parts01 {
    font-size: 1.25rem !important;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .txt_parts01 {
    font-size: 1rem !important;
  }
}

.omatome {
  line-height: 1.15;
  background-color: #A71E41;
}
@media print, screen and (min-width: 768px) {
  .omatome {
    margin-top: 80px;
    padding: 100px 20px;
  }
}
@media only screen and (max-width: 767px) {
  .omatome {
    margin-top: 40px;
    padding: 50px 10px;
  }
}
.omatome > div {
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .omatome > div {
    padding: 1px 20px 30px;
  }
}
@media only screen and (max-width: 767px) {
  .omatome > div {
    padding: 1px 10px 15px;
  }
}
@media print, screen and (min-width: 768px) {
  .omatome > div > img {
    margin-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .omatome > div > img {
    margin-bottom: 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .omatome h2 {
    margin-bottom: 50px;
    margin-top: -128px;
  }
}
@media only screen and (max-width: 767px) {
  .omatome h2 {
    margin-bottom: 30px;
    margin-top: -59px;
  }
}
.omatome p {
  color: #A71E41;
}
@media print, screen and (min-width: 768px) {
  .omatome p {
    margin-bottom: 30px;
    font-size: 2.1875rem;
  }
}
@media only screen and (max-width: 767px) {
  .omatome p {
    margin-bottom: 15px;
    font-size: 1.0625rem;
  }
}
@media print, screen and (min-width: 768px) {
  .omatome p span {
    font-size: 2.6875rem;
  }
}
@media only screen and (max-width: 767px) {
  .omatome p span {
    font-size: 1.375rem;
  }
}
.omatome p img {
  vertical-align: middle;
}
@media only screen and (max-width: 767px) {
  .omatome p img {
    max-width: 180px;
  }
}

.faq {
  line-height: 1.15;
  counter-reset: faq_num 0;
}
@media print, screen and (min-width: 768px) {
  .faq {
    padding: 40px 0;
  }
}
@media only screen and (max-width: 767px) {
  .faq {
    padding: 20px 0;
  }
}
.faq h2 {
  text-align: center;
  font-weight: bold;
  background-color: #5671AF;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .faq h2 {
    padding: 20px;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq h2 {
    padding: 10px;
    font-size: 1.5rem;
  }
}
.faq p {
  max-width: 940px;
  font-weight: bold;
  background-color: #F9F4AC;
  text-align: center;
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .faq p {
    margin: 30px auto 50px;
    padding: 10px 20px;
    font-size: 1.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq p {
    margin: 10px auto 20px;
    padding: 10px;
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .faq > div {
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .faq > div {
    padding-bottom: 50px;
  }
}

.faq_list {
  display: flex;
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
  border-bottom: 1px dotted #231815;
}
@media print, screen and (min-width: 768px) {
  .faq_list {
    padding: 30px 0;
  }
}
@media only screen and (max-width: 767px) {
  .faq_list {
    padding: 10px 5px;
  }
}
@media print, screen and (min-width: 768px) {
  .faq_list > div {
    width: calc(100% - 53px);
  }
}
@media only screen and (max-width: 767px) {
  .faq_list > div {
    width: calc(100% - 30px);
  }
}
.faq_list dt, .faq_list dd:not(.faq_num) {
  position: relative;
}
@media print, screen and (min-width: 768px) {
  .faq_list dt, .faq_list dd:not(.faq_num) {
    padding-left: 100px;
    min-height: 65px;
  }
}
@media only screen and (max-width: 767px) {
  .faq_list dt, .faq_list dd:not(.faq_num) {
    padding-left: 50px;
    min-height: 30px;
  }
}
.faq_list dt:before, .faq_list dd:not(.faq_num):before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.faq_list dt {
  display: flex;
  align-items: center;
  color: #A71E41;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .faq_list dt {
    padding-right: 65px;
    font-size: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq_list dt {
    padding-right: 35px;
    font-size: 1rem;
  }
}
.faq_list dt:before {
  content: "";
  background: url(/images/faq/icon_q.svg) no-repeat;
  background-size: contain;
}
@media print, screen and (min-width: 768px) {
  .faq_list dt:before {
    width: 80px;
    height: 63px;
  }
}
@media only screen and (max-width: 767px) {
  .faq_list dt:before {
    width: 40px;
    height: 31px;
  }
}
.faq_list dt:after {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin-top: auto;
  margin-bottom: auto;
  content: "";
  background: url(/images/faq/icon_open.svg) no-repeat;
  background-size: contain;
}
@media print, screen and (min-width: 768px) {
  .faq_list dt:after {
    height: 45px;
    width: 45px;
  }
}
@media only screen and (max-width: 767px) {
  .faq_list dt:after {
    height: 30px;
    width: 30px;
  }
}
.faq_list dt.is-open:after {
  background: url(/images/faq/icon_close.svg) no-repeat;
  background-size: contain;
}
.faq_list dd:not(.faq_num) {
  display: none;
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .faq_list dd:not(.faq_num) {
    margin-top: 20px;
    font-size: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq_list dd:not(.faq_num) {
    margin-top: 10px;
    font-size: 0.875rem;
  }
}
.faq_list dd:not(.faq_num):before {
  content: "";
  background: url(/images/faq/icon_a.svg) no-repeat;
  background-size: contain;
}
@media print, screen and (min-width: 768px) {
  .faq_list dd:not(.faq_num):before {
    height: 81px;
    width: 81px;
  }
}
@media only screen and (max-width: 767px) {
  .faq_list dd:not(.faq_num):before {
    height: 40px;
    width: 40px;
  }
}

.faq_num {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #fff;
  background-color: #5671AF;
}
.faq_num::before {
  counter-increment: faq_num 1;
  content: counter(faq_num);
}
@media print, screen and (min-width: 768px) {
  .faq_num {
    margin-right: 10px;
    width: 53px;
    font-size: 2.1875rem;
  }
}
@media only screen and (max-width: 767px) {
  .faq_num {
    margin-right: 5px;
    width: 26px;
    font-size: 1.125rem;
  }
}

.btn_faq {
  display: inline-block;
  margin-left: 20px;
  padding: 5px 20px;
  border: 1px solid #231815;
  font-size: 1rem;
}
.btn_faq:link, .btn_faq:visited, .btn_faq:active, .btn_faq:hover {
  color: #231815;
}
.btn_faq:hover {
  text-decoration: none;
  background-color: #eee;
}

@media print, screen and (min-width: 768px) {
  .guide {
    padding: 100px 10px 1px;
  }
}
@media only screen and (max-width: 767px) {
  .guide {
    padding: 50px 5px 1px;
  }
}
.guide h2 {
  background-color: #A3C3D8;
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .guide h2 {
    padding: 30px 10px;
    font-size: 2.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .guide h2 {
    padding: 10px;
    font-size: 1.375rem;
  }
}
@media print, screen and (min-width: 768px) {
  .guide > div {
    margin-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .guide > div {
    margin-bottom: 50px;
  }
}

.konyu_flow {
  max-width: 830px;
  color: #A71E41;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .konyu_flow {
    margin: 50px auto;
    padding-bottom: 80px;
  }
}
@media only screen and (max-width: 767px) {
  .konyu_flow {
    margin: 30px auto;
    padding-bottom: 40px;
  }
}
.konyu_flow > div {
  display: flex;
  flex-wrap: wrap;
}
.konyu_flow > div:after {
  display: block;
  content: "▼";
  text-align: center;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .konyu_flow > div:after {
    margin: 10px 0 30px;
    font-size: 3.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .konyu_flow > div:after {
    margin: 10px 0 10px;
    font-size: 1.4375rem;
  }
}
.konyu_flow > div:last-child:after {
  content: none;
}
.konyu_flow dt, .konyu_flow dd {
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .konyu_flow dt, .konyu_flow dd {
    line-height: 55px;
  }
}
@media only screen and (max-width: 767px) {
  .konyu_flow dt, .konyu_flow dd {
    padding: 5px;
  }
}
.konyu_flow dt {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #A71E41;
  color: #fff;
}
@media print, screen and (min-width: 768px) {
  .konyu_flow dt {
    width: 81px;
    font-size: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .konyu_flow dt {
    width: 40px;
    font-size: 1.125rem;
  }
}
.konyu_flow dd:not(.kessai) {
  border: 1px solid #A71E41;
}
@media print, screen and (min-width: 768px) {
  .konyu_flow dd:not(.kessai) {
    width: calc(100% - 81px);
    font-size: 1.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .konyu_flow dd:not(.kessai) {
    width: calc(100% - 40px);
    font-size: 1rem;
  }
}
.konyu_flow .kessai {
  margin-top: 10px;
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .konyu_flow .kessai {
    font-size: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .konyu_flow .kessai {
    font-size: 1.25rem;
  }
}

.shiharai {
  margin: 0 auto;
  max-width: 1000px;
  line-height: 1.5;
  list-style: none;
}
@media print, screen and (min-width: 768px) {
  .shiharai {
    padding: 50px 20px 80px;
  }
}
@media only screen and (max-width: 767px) {
  .shiharai {
    padding: 20px 10px 30px;
  }
}
@media print, screen and (min-width: 768px) {
  .shiharai li:not(.cation) {
    margin-bottom: 30px;
    padding-left: 1.75rem;
    text-indent: -1.75rem;
    font-size: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .shiharai li:not(.cation) {
    margin-bottom: 10px;
    padding-left: 1rem;
    text-indent: -1rem;
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .shiharai li:not(.cation) span {
    font-size: 1.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .shiharai li:not(.cation) span {
    font-size: 1rem;
  }
}
.shiharai .cation {
  border: 1px solid #E50012;
  max-width: 960px;
}
@media print, screen and (min-width: 768px) {
  .shiharai .cation {
    padding: 20px;
    font-size: 1.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .shiharai .cation {
    padding: 10px;
    font-size: 0.9375rem;
  }
}
.shiharai .cation span {
  display: block;
  color: #E50012;
}
@media print, screen and (min-width: 768px) {
  .shiharai .cation span {
    margin-bottom: 10px;
    font-size: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .shiharai .cation span {
    margin-bottom: 5px;
    font-size: 1rem;
  }
}

.maintenance {
  line-height: 1.15;
}
@media print, screen and (min-width: 768px) {
  .maintenance {
    padding: 100px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance {
    padding: 50px 5px;
  }
}
.maintenance h2 {
  background-color: #A3C3D8;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .maintenance h2 {
    padding: 30px 10px;
    font-size: 2.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance h2 {
    padding: 10px 5px;
    font-size: 1.375rem;
  }
}
.maintenance h3 {
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .maintenance h3 {
    margin-top: 80px;
    font-size: 3.4375rem;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance h3 {
    margin-top: 30px;
    font-size: 1.6875rem;
  }
}
@media print, screen and (min-width: 768px) {
  .maintenance > div {
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance > div {
    padding-bottom: 10px;
  }
}

.txt_maintenance01 {
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .txt_maintenance01 {
    margin-bottom: 50px;
    font-size: 1.5625rem;
  }
}
@media only screen and (max-width: 767px) {
  .txt_maintenance01 {
    margin-bottom: 30px;
    font-size: 1rem;
  }
}

@media print, screen and (min-width: 768px) {
  .maintenance_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
    max-width: 980px;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    max-width: 960px;
  }
}

@media print, screen and (min-width: 768px) {
  .maintenance_flow dl {
    margin-bottom: 50px;
    display: flex;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_flow dl {
    margin-bottom: 20px;
  }
}
.maintenance_flow dl > dd {
  flex-shrink: 0;
  margin-right: 50px;
}
.maintenance_flow dt {
  margin-bottom: 10px;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .maintenance_flow dt {
    font-size: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_flow dt {
    font-size: 1.25rem;
  }
}
.maintenance_flow dd {
  line-height: 1.75;
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .maintenance_flow dd {
    font-size: 1.3125rem;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_flow dd {
    font-size: 1rem;
  }
}
.maintenance_flow .num {
  margin: 10px 0;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .maintenance_flow .num {
    font-size: 3.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_flow .num {
    font-size: 1.875rem;
  }
}

.layout_maintenance01 {
  border: 1px solid #231815;
}
@media print, screen and (min-width: 768px) {
  .layout_maintenance01 {
    margin-bottom: 50px;
    padding: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .layout_maintenance01 {
    margin-bottom: 30px;
    padding: 10px;
  }
}
.layout_maintenance01 > div {
  display: flex;
  justify-content: space-around;
}
@media print, screen and (min-width: 768px) {
  .layout_maintenance01 > div {
    margin-bottom: 20px;
  }
}
.layout_maintenance01 p {
  line-height: 1.75;
  margin-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .layout_maintenance01 p {
    font-size: 1.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .layout_maintenance01 p {
    font-size: 0.9375rem;
  }
}

.maintenance_cation {
  color: #E60012;
}
@media print, screen and (min-width: 768px) {
  .maintenance_cation {
    border: 10px solid #E60012;
    border-radius: 15px;
    margin: 80px auto;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_cation {
    margin: 40px auto;
    border: 5px solid #E60012;
    border-radius: 7px;
  }
}
.maintenance_cation dt {
  text-align: center;
  border-bottom: 1px solid #E60012;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .maintenance_cation dt {
    padding: 20px 10px;
    font-size: 3.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_cation dt {
    padding: 10px 5px;
    font-size: 1.875rem;
  }
}
.maintenance_cation dd {
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .maintenance_cation dd {
    padding: 20px;
    font-size: 1.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_cation dd {
    padding: 10px;
    font-size: 1rem;
  }
}
.maintenance_cation dd span {
  display: block;
  font-weight: bold;
}
@media print, screen and (min-width: 768px) {
  .maintenance_cation dd span {
    margin-bottom: 20px;
    font-size: 3rem;
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .maintenance_cation dd span {
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
}

.tokusho {
  line-height: 1.15;
}
@media print, screen and (min-width: 768px) {
  .tokusho {
    padding: 30px 10px;
    margin-top: 261px;
  }
}
@media only screen and (max-width: 767px) {
  .tokusho {
    padding: 15px 5px;
    margin-top: 85px;
  }
}
.tokusho h2 {
  font-weight: normal;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .tokusho h2 {
    margin-bottom: 20px;
    font-size: 3.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .tokusho h2 {
    margin-bottom: 10px;
    font-size: 1.5625rem;
  }
}
.tokusho h3 {
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  .tokusho h3 {
    font-size: 1.5rem;
  }
}
@media only screen and (max-width: 767px) {
  .tokusho h3 {
    font-size: 1rem;
  }
}
@media print, screen and (min-width: 768px) {
  .tokusho h3 span {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .tokusho h3 span {
    font-size: 0.875rem;
  }
}

.tokosho_wrapper {
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .tokosho_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
    width: 100%;
    max-width: 1210px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .tokosho_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    max-width: 1170px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.tokusho_table {
  width: 100%;
  margin-bottom: 30px;
}
.tokusho_table a:link {
  color: #231815;
}
.tokusho_table a:visited {
  color: #231815;
}
.tokusho_table a:hover {
  color: #231815;
}
.tokusho_table a:active {
  color: #231815;
}
@media print, screen and (min-width: 768px) {
  .tokusho_table {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .tokusho_table {
    font-size: 0.875rem;
  }
}
.tokusho_table th, .tokusho_table td {
  border: 1px solid #fff;
  vertical-align: top;
  text-align: left;
  line-height: 2;
}
@media print, screen and (min-width: 768px) {
  .tokusho_table th, .tokusho_table td {
    padding: 0 15px;
  }
}
@media only screen and (max-width: 767px) {
  .tokusho_table th, .tokusho_table td {
    padding: 0 5px;
  }
}
.tokusho_table th {
  background-color: #F2EDEB;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .tokusho_table th {
    width: 260px;
  }
}
.tokusho_table td {
  background-color: #F1F1F1;
}

.privacy {
  line-height: 1.15;
}
@media print, screen and (min-width: 768px) {
  .privacy {
    padding: 30px 10px;
    margin-top: 261px;
  }
}
@media only screen and (max-width: 767px) {
  .privacy {
    padding: 15px 5px;
    margin-top: 85px;
  }
}
.privacy h2 {
  text-align: center;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .privacy h2 {
    margin-bottom: 20px;
    font-size: 3.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .privacy h2 {
    margin-bottom: 10px;
    font-size: 1.5625rem;
  }
}
@media print, screen and (min-width: 768px) {
  .privacy h2 span {
    font-size: 2.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .privacy h2 span {
    display: block;
    font-size: 1.125rem;
  }
}
.privacy p {
  line-height: 2;
}
@media print, screen and (min-width: 768px) {
  .privacy p {
    margin-bottom: 30px;
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .privacy p {
    margin-bottom: 10px;
    font-size: 0.9375rem;
  }
}
.privacy dt {
  background-color: #E3CDC4;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .privacy dt {
    margin-bottom: 10px;
    padding: 10px 20px;
    font-size: 1.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .privacy dt {
    margin-bottom: 5px;
    padding: 5px 10px;
    font-size: 1rem;
  }
}
.privacy dd {
  line-height: 2;
}
@media print, screen and (min-width: 768px) {
  .privacy dd {
    margin-bottom: 40px;
    margin-left: 50px;
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .privacy dd {
    margin-bottom: 20px;
    font-size: 0.9375rem;
  }
}

.privacy_wrapper {
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .privacy_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
    width: 100%;
    max-width: 1210px;
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .privacy_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    max-width: 1170px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.toritsuke {
  line-height: 1.15;
}
@media print, screen and (min-width: 768px) {
  .toritsuke {
    padding: 100px 10px;
  }
}
@media only screen and (max-width: 767px) {
  .toritsuke {
    padding: 50px 5px;
  }
}
.toritsuke h2 {
  background-color: #A3C3D8;
  font-weight: bold;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .toritsuke h2 {
    padding: 30px 10px;
    font-size: 2.75rem;
  }
}
@media only screen and (max-width: 767px) {
  .toritsuke h2 {
    padding: 15px 5px;
    font-size: 1.375rem;
  }
}
@media print, screen and (min-width: 768px) {
  .toritsuke > div {
    margin-bottom: 100px;
  }
}
@media only screen and (max-width: 767px) {
  .toritsuke > div {
    margin-bottom: 50px;
  }
}
.toritsuke ul {
  max-width: 980px;
  list-style: none;
  padding-left: 0;
}
@media print, screen and (min-width: 768px) {
  .toritsuke ul {
    padding-bottom: 80px;
    margin: 50px auto;
  }
}
@media only screen and (max-width: 767px) {
  .toritsuke ul {
    padding-bottom: 40px;
    margin: 30px auto;
  }
}
.toritsuke li {
  line-height: 1.5;
}
@media print, screen and (min-width: 768px) {
  .toritsuke li {
    margin-bottom: 20px;
    padding-left: 1.8125rem;
    text-indent: -1.8125rem;
    font-size: 1.8125rem;
  }
}
@media only screen and (max-width: 767px) {
  .toritsuke li {
    margin-bottom: 10px;
    padding-left: 1.125rem;
    text-indent: -1.125rem;
    font-size: 1.125rem;
  }
}
.toritsuke .cation {
  text-indent: 0;
  padding-left: 0;
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .toritsuke .cation {
    margin-top: 50px;
    margin-left: 30px;
    font-size: 1.625rem;
  }
}
@media only screen and (max-width: 767px) {
  .toritsuke .cation {
    margin-top: 30px;
    font-size: 1rem;
  }
}

@media print, screen and (min-width: 768px) {
  .contact input, .contact textarea {
    font-size: 1.25rem;
  }
}

.contact_wrapper {
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .contact_wrapper {
    padding-top: 50px;
    padding-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 50px;
    padding-right: 50px;
    width: 100%;
    max-width: 1250px;
  }
}
@media only screen and (max-width: 767px) {
  .contact_wrapper {
    padding-top: 30px;
    padding-bottom: 30px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    max-width: 1170px;
  }
}

@media print, screen and (min-width: 768px) {
  .contact {
    padding: 30px 10px;
    margin-top: 261px;
  }
}
@media only screen and (max-width: 767px) {
  .contact {
    padding: 15px 5px;
    margin-top: 85px;
  }
}
.contact h2 {
  text-align: center;
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .contact h2 {
    margin-bottom: 20px;
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact h2 {
    margin-bottom: 10px;
    font-size: 1.5rem;
  }
}
.contact p {
  line-height: 2;
}
@media print, screen and (min-width: 768px) {
  .contact p {
    margin-bottom: 30px;
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact p {
    margin-bottom: 15px;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact table, .contact tbody, .contact tr, .contact th, .contact td {
    display: block;
  }
}
.contact .item_img {
  height: 150px;
  max-width: 150px;
}

.form_table {
  max-width: 1077px;
  width: 100%;
  border-top: 1px solid #767676;
}
@media print, screen and (min-width: 768px) {
  .form_table {
    margin: 0 auto 30px;
    font-size: 1.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .form_table {
    margin: 15px auto;
    font-size: 1rem;
  }
}
.form_table td, .form_table th {
  border-bottom: 1px solid #767676;
}
@media print, screen and (min-width: 768px) {
  .form_table td, .form_table th {
    padding: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .form_table td, .form_table th {
    padding: 5px;
  }
}
.form_table th {
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .form_table th {
    text-align: center;
    vertical-align: top;
    width: 285px;
  }
}
@media only screen and (max-width: 767px) {
  .form_table th {
    border-bottom: none;
  }
}
.form_table dt {
  font-weight: normal;
}
@media print, screen and (min-width: 768px) {
  .form_table dt {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .form_table dt {
    font-size: 0.875rem;
  }
}

.req {
  display: inline-block;
  color: #DC000C;
  color: #DC000C;
}
@media print, screen and (min-width: 768px) {
  .req {
    margin-left: 20px;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .req {
    margin-left: 10px;
    font-size: 0.8125rem;
  }
}

@media print, screen and (min-width: 768px) {
  .check_item {
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .check_item {
    font-size: 0.75rem;
    padding: 0 !important;
  }
}
.check_item p {
  margin-bottom: 10px;
}
@media print, screen and (min-width: 768px) {
  .check_item p {
    font-size: 1.25rem;
  }
}
@media only screen and (max-width: 767px) {
  .check_item p {
    font-size: 1rem;
  }
}
.check_item label {
  justify-content: start;
}
@media print, screen and (min-width: 768px) {
  .check_item label {
    margin-right: 20px;
    width: 250px;
    font-size: 1.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .check_item label {
    margin-right: 10px;
    display: inline-block;
    font-size: 0.9375rem;
    width: 155px;
  }
}
@media print, screen and (min-width: 768px) {
  .check_item input[type=number] {
    width: 100px !important;
    margin-right: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .check_item input[type=number] {
    width: 60px !important;
    margin-right: 5px;
  }
}

.link_privacy {
  display: block;
  color: #DC000C;
}
.link_privacy:link, .link_privacy:visited, .link_privacy:active, .link_privacy:hover {
  color: #DC000C;
}
@media print, screen and (min-width: 768px) {
  .link_privacy {
    font-size: 1.125rem;
    margin-top: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .link_privacy {
    font-size: 0.875rem;
  }
}

.btn_form, .btn_toppage, .btn_entry, .btn_send, .btn_confirm {
  display: block;
  width: 100%;
  text-align: center;
  border: none;
  background-color: #EBEBEB;
  border: 1px solid #767676;
  color: #231815;
}
@media print, screen and (min-width: 768px) {
  .btn_form, .btn_toppage, .btn_entry, .btn_send, .btn_confirm {
    margin: 30px auto;
    max-width: 361px;
    line-height: 72px;
    font-size: 1.375rem;
  }
}
@media only screen and (max-width: 767px) {
  .btn_form, .btn_toppage, .btn_entry, .btn_send, .btn_confirm {
    margin: 20px auto;
    max-width: 250px;
    line-height: 40px;
    font-size: 1rem;
  }
}
.btn_form:link, .btn_toppage:link, .btn_entry:link, .btn_send:link, .btn_confirm:link, .btn_form:visited, .btn_toppage:visited, .btn_entry:visited, .btn_send:visited, .btn_confirm:visited, .btn_form:active, .btn_toppage:active, .btn_entry:active, .btn_send:active, .btn_confirm:active, .btn_form:hover, .btn_toppage:hover, .btn_entry:hover, .btn_send:hover, .btn_confirm:hover {
  color: #231815;
}
.btn_form:hover, .btn_toppage:hover, .btn_entry:hover, .btn_send:hover, .btn_confirm:hover {
  opacity: 0.7;
  text-decoration: none;
  cursor: pointer;
}
.btn_form.disabled, .disabled.btn_toppage, .disabled.btn_entry, .disabled.btn_send, .disabled.btn_confirm {
  opacity: 0.3;
}
.btn_form.disabled:hover, .disabled.btn_toppage:hover, .disabled.btn_entry:hover, .disabled.btn_send:hover, .disabled.btn_confirm:hover {
  text-decoration: none;
  cursor: default;
}

#thanks {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  #thanks {
    margin-top: 25px;
  }
}

.contact .field-validation-error, .contact .validation-error {
  display: inline-block;
  margin-top: 5px;
  padding: 2px 10px;
  color: #fff;
  background-color: red;
  border-radius: 15px;
}
@media print, screen and (min-width: 768px) {
  .contact .field-validation-error, .contact .validation-error {
    font-size: 0.875rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact .field-validation-error, .contact .validation-error {
    font-size: 0.75rem;
  }
}
.contact .input-validation-error {
  border: 1px solid #fd67a4;
  background-color: #fff0f0;
}
.contact p.validation-error {
  text-align: center;
  line-height: 1.5;
  padding: 5px 20px;
}
@media print, screen and (min-width: 768px) {
  .contact p.validation-error {
    font-size: 1.125rem;
  }
}
@media only screen and (max-width: 767px) {
  .contact p.validation-error {
    font-size: 0.875rem;
  }
}

@media print, screen and (min-width: 768px) {
  .cart {
    padding: 30px 10px;
    margin-top: 261px;
  }
}
@media only screen and (max-width: 767px) {
  .cart {
    padding: 15px 5px;
    margin-top: 85px;
  }
}
@media print, screen and (min-width: 768px) {
  .cart .side_form {
    top: 181px;
    max-height: calc(100vh - 181px);
  }
}
@media print, screen and (min-width: 768px) {
  .cart .item_img {
    width: 50%;
    height: 180px;
    max-width: 180px;
  }
}

.cart_wrapper {
  background-color: #fff;
}
@media print, screen and (min-width: 768px) {
  .cart_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 30px;
    padding-right: 30px;
    width: 100%;
    max-width: 1210px;
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .cart_wrapper {
    margin-left: auto;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    max-width: 1170px;
    padding-top: 30px;
    padding-bottom: 30px;
  }
}