@charset "UTF-8";


/* =======================================================================
CSSの名前：style.css 
--------------------------------------------------------------------------
1.reset
2.base
3.コンテナ
4.ヘッダ
5.サイドバー ※不要

6.フッター
7.トップページ
8.ご利用規約
9.カテゴリから探す
10.商品詳細
11.ご購入ガイド
12.オーナーズサイト ログイン
13.オーナーズサイト マイページ
14.ギフト包装サービスページ
15.メンテナンスページ
======================================================================= */


/*===========================
共通 - プレビュー用表記
===========================*/

#preview,
#smartphone {
    position: fixed;
    z-index: 1000;
}

#smartphone {
    top: 0;
}

#preview {
    top: 20px;
}


/* aタグのフォーカス無効クラス */

.link_invalid {
    pointer-events: none;
}


/* afterリンク無効クラス */

.link_after_display_none::after {
    content: none !important;
}


/* =================================================================
1.reset
=================================================================*/

body {
    color: #272727;
    line-height: 1.5 !important;
    /*
  font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Osaka", "ＭＳ Ｐゴシック", sans-serif;
  */
    font-family: kozuka-gothic-pr6n, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Osaka", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 500;
    font-style: normal;
    word-wrap: break-word;
    background: #ffffff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/*  すべてのタグのマージン・パディングの設定をリセット
-------------------------------------------------------------*/

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
hr {
    margin: 0;
    padding: 0;
}

li {
    list-style-type: none;
}

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

img {
    border: 0;
    vertical-align: top;
}


/* =================================================================
2.base
=================================================================*/


/*  padding/margin
-------------------------------------------------------------*/

.m0 {
    margin: 0 !important;
}

.mT0 {
    margin-top: 0 !important;
}

.mB0 {
    margin-bottom: 0 !important;
}

.mR0 {
    margin-right: 0 !important;
}

.mL0 {
    margin-left: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mR40 {
    margin-right: 40px !important;
}

.mL40 {
    margin-left: 40px !important;
}

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

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

.mR50 {
    margin-right: 50px !important;
}

.mL50 {
    margin-left: 50px !important;
}


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

.p0 {
    padding: 0 !important;
}

.pT0 {
    padding-top: 0 !important;
}

.pB0 {
    padding-bottom: 0 !important;
}

.pR0 {
    padding-right: 0 !important;
}

.pL0 {
    padding-left: 0 !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.pR40 {
    padding-right: 40px !important;
}

.pL40 {
    padding-left: 40px !important;
}

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

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

.pR50 {
    padding-right: 50px !important;
}

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


/*  clear
-------------------------------------------------------------*/

.clear {
    clear: both;
}

.clearfloat {
    clear: both;
    height: 0;
    font-size: 1px;
    line-height: 0;
}

.clearfix {
    zoom: 1;
}

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


/*  左・右寄せ
-------------------------------------------------------------*/

.fL {
    float: left;
}

.fR {
    float: right;
}

.txC {
    text-align: center !important;
}

.txR {
    text-align: right !important;
}

.txL {
    text-align: left !important;
}


/*  テキストカラー
-------------------------------------------------------------*/

.color_irobot {
    color: #87a28e;
}

.color_red {
    color: #f00;
}


/*  テキストカラー
-------------------------------------------------------------*/

.bd0 {
    border: 0 !important;
}


/*  基本のlink color
-------------------------------------------------------------*/

a {
    color: #323232;
    text-decoration: none;
    transition: all .3s ease;
}

a:hover {
    color: #87a28e;
}

.ov a:hover,
.ov a:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -webkit-filter: alpha(opacity=70);
}

.ov input[type=image]:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
}


/*  全要素にborder-box
-------------------------------------------------------------*/

* {
    box-sizing: border-box;
}


/*  helper
-------------------------------------------------------------*/

.is_open {
    display: block !important;
}


/*.is_close{display: none !important;}*/

.roombaColor {
    color: #87a28e;
}

.braavaColor {
    color: #447355;
}

.rootColor {
    color: #444549;
}

.is-active:before {
    content: "";
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    border: 2px solid #6fba2c;
}


/*  parts
-------------------------------------------------------------*/


/* 三角形 初期設定 */

.hasTriangle-up,
.hasTriangle-down,
.hasTriangle-right,
.hasTriangle-left {
    position: relative;
}

.hasTriangle-up:after,
.hasTriangle-down:after,
.hasTriangle-right:after,
.hasTriangle-left:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 0;
    height: 0;
}


/* 矢印向き */


/* 上 */

.hasTriangle-up:after {
    border-bottom: 10px solid #64a70a;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
}


/* 下 */

.hasTriangle-down:after {
    border-top: 10px solid #64a70a;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
}


/* 右 */

.hasTriangle-right:after {
    border-top: 10px solid #64a70a;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
}


/* 左 */

.hasTriangle-left:after {
    border-top: 10px solid #64a70a;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
}


/**  位置はエリアによって異なるので、個別で設定すること。**/


/* =================================================================
3.ヘッダ
=================================================================*/


/* header - ヘッダ
-------------------------------------------------------------*/

.is-fixed {
    position: fixed;
}

.is-absolute {
    position: absolute;
}

.space {
    padding: 26px 0;
}

#header {
    width: 100%;
    background: #fff;
    top: 0;
    left: 0 !important;
    /* z-index: 99; */
    border-bottom: 7px solid #87a28e;
    /*
  font-family: "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Osaka", "ＭＳ Ｐゴシック", sans-serif;
  font-family: kozuka-gothic-pr6n, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Osaka", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 500;
  font-style: normal;
  */
}

.header_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 1000px;
    padding: 11px 0 12px;
    margin: 0 auto;
}

.header_inner>h1 {
    width: 128px;
    flex-shrink: 0;
}

.header_inner>h1>a>img {
    display: block;
    width: 100%;
    height: auto;
}

.header_nav-wrap {
    display: flex;
}

.header_nav-list {
    display: flex;
    margin-right: 20px;
    align-items: center;
}

.header_nav-list>li:not(:first-child) {
    margin-left: 20px;
}

.header_nav-list>li>a {
    display: block;
    color: #333;
    width: 104px;
    text-align: center;
    font-size: 13px;
}

.header_nav-list>li>a:hover {
    color: #87a28e;
}

.header_nav-list>li>a>span {
    display: block;
    font-size: 77%;
}

.header_nav-list>li:nth-child(3)>a>span {
    display: block;
    font-size: 93%;
}

.header_nav-action {
    display: flex;
    align-items: center;
    padding-right: 9px;
    flex-shrink: 0;
}

.action-login {
    background: #f3f4f6;
    margin-right: 34px;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    -ms-border-radius: 30px;
    -o-border-radius: 30px;
}

.action-login>.login>.myPage_btn,
.action-login>.non_login>.login_btn {
    text-align: center;
    display: block;
    color: #333;
    font-size: 13px;
    padding: 3px 18px;
    font-weight: bold;
    cursor: pointer;
}

.action-login>.login>.myPage_btn>a {
    color: #333;
}


/* ヘッダーキャンペーンテキスト表示（2021-11-17 Add） */

.header_campaign-notice {
    background: #87a28e;
    text-align: center;
}

.header_campaign-notice.bg-blue {
    background: #45a1ba;
}

.header_campaign-notice>span,
.header_campaign-notice>a {
    color: #fff;
    display: block;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 8px 0 0;
}


/* モーダル（2022-04-12 Add）
-------------------------------------------------------------*/

#modal-overlay {
    background-color: rgba(68, 115, 85, .8);
    display: none;
    z-index: 101;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 120%;
}

.modal-btn:hover {
    cursor: pointer;
}

.modal-content {
    background: #fff;
    display: none;
    margin: 0;
    position: fixed;
    width: 70%;
    z-index: 102;
}

.modal-content .modal-close {
    background: center / contain no-repeat url("../images/icon_modal_close.svg");
    cursor: pointer;
    height: 0;
    overflow: hidden;
    padding-top: 40px;
    position: absolute;
    top: -20px;
    right: -20px;
    width: 40px;
    z-index: 103;
}

.modal-content-inner {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.modal-content-inner img {
    max-width: 100%;
    width: auto;
}

.modal-content-text {
    text-align: left;
}

.modal-content-text h3 {
    color: #447355;
    font-size: 22px !important;
    font-weight: 700;
    letter-spacing: .04rem;
    margin-bottom: 13px;
}

.modal-content-text h3 .font-size-xs {
    font-size: 18px;
}

.modal-content-text p {
    color: #212121;
    font-size: 14px !important;
    ;
    font-weight: bold;
    line-height: 1.83 !important;
    ;
    letter-spacing: .02em !important;
    ;
}

.modal-content-text sup,
.modal-content-text sub {
    font-size: 30%;
}

.modal-content-text img {
    max-width: 100%;
    width: auto !important;
    ;
}

.modal-content-text .notes {
    font-size: 12px;
    font-weight: normal;
}

.modal-content-text a {
    color: #447355;
    text-decoration: underline;
}

.modal-notes-list,
.modal-notes-list-ask {
    margin-top: 1em;
}

ol.modal-notes-list {
    counter-reset: li;
}

.modal-notes-list li,
.modal-notes-list-ask li {
    list-style: none;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.6;
    position: relative;
}

ol.modal-notes-list li {
    padding-left: 2.8em;
}

ul.modal-notes-list li {
    padding-left: 2em;
}

ul.modal-notes-list-ask li {
    padding-left: 1.1em;
}

.modal-notes-list li::before,
.modal-notes-list-ask li::before {
    position: absolute;
    left: 0;
}

ol.modal-notes-list li::before {
    counter-increment: li;
    content: "\203B" counter(li) "\FF1A";
}

ul.modal-notes-list li::before {
    content: "\203B\FF1A";
}

ul.modal-notes-list-ask li::before {
    content: "\FF0A"
}

.modal-content-text .btn {
    margin-top: 20px;
}

.modal-content-text .btn a {
    width: 200px;
    height: 46px;
    border-radius: 4px;
    background-color: #87a28e;
    font-size: 14px;
    font-weight: normal;
    letter-spacing: .12em;
    color: #fff;
    line-height: 46px;
    text-align: center;
    display: inline-block;
    padding: 0 20px;
    position: relative;
    text-decoration: none;
}

.modal-content-text .btn a::after {
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    content: "";
    margin: auto 0;
    position: absolute;
    right: 15px;
    top: 0;
    bottom: 0;
    height: 4px;
    width: 4px;
    transform: rotate(-45deg);
}


/* DETAIL MODAL */

.detail-modal-content {
    max-width: 900px;
}

.detail-modal-content .modal-content-inner {
    padding: 30px;
}

.detail-modal-content .modal-content-image,
.detail-modal-content .modal-content-text {
    box-sizing: border-box;
    width: 47.619047619%;
}

.detail-modal-content .modal-content-text {
    padding-right: 30px;
    padding-left: 20px;
}

.detail-modal-content .modal-content-text p:not(:last-of-type) {
    margin-bottom: 1em;
}

.detail-modal-content .modal-content-lable {
    margin-top: 1em;
}

.detail-modal-content .modal-content-lable li {
    display: inline-block;
    color: #fff;
    background: #447355;
    font-size: 12px;
    letter-spacing: .08em;
    margin-right: 5px;
    margin-bottom: 5px;
    padding: 5px 16px 4px;
    border-radius: 27px;
}


/* HEADER MODAL */

.header-modal-wrap {
    margin-top: 105px;
}

.header-modal-content {
    max-width: 620px;
}

.header-modal-content .modal-content-inner {
    padding: 62px 40px;
}

.header-modal-content .modal-content-image {
    box-sizing: border-box;
    width: 200px;
}

.header-modal-content .modal-content-text {
    flex: 1;
    padding-left: 40px;
}

.header-modal-content .modal-content-text p:not(:last-of-type) {
    margin-bottom: 1.3em;
}


/* PRIVILEGE MODAL */

.privilege-modal-content {
    max-width: 620px;
}

.privilege-modal-content .modal-content-inner {
    padding: 62px 40px;
}

.privilege-modal-content .modal-content-image {
    box-sizing: border-box;
    width: 200px;
}

.privilege-modal-content .modal-content-text {
    flex: 1;
    padding-left: 40px;
}

.privilege-modal-content .modal-content-text p:not(:last-of-type) {
    margin-bottom: 1.3em;
}


/* ログイン済表示専用
-------------------------------------------------------------*/

.action-login>div>.hasTriangle-down {
    padding: 3px 35px 3px 15px;
}

.hasTriangle-down:after {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

.action-login>.login {
    position: relative;
}

.action-login>.login>.member_menu {
    display: none;
    position: absolute;
    top: 37px;
    left: -49px;
    background: #fff;
    box-shadow: 0 1px 10px rgba(0, 0, 0, .15);
}

.action-login>.login>.member_menu>ul {
    display: flex;
    flex-direction: column;
    position: relative;
}

.action-login>.login>.member_menu>ul:after {
    content: "";
    display: block;
    position: absolute;
    background: #fff;
    top: -6px;
    left: 100px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #fff;
    border-left: 1px solid #fff;
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    z-index: -10;
}

.action-cart {
    display: flex;
    align-items: center;
    position: relative;
}

.action-cart-count {
    background-color: #ebc172;
    border-radius: 50%;
    color: #000;
    display: inline-block;
    font-size: 11px;
    line-height: 20px;
    height: 20px;
    min-width: 20px;
    position: absolute;
    top: -11px;
    right: -13px;
    vertical-align: middle;
    white-space: nowrap;
    z-index: 10;
    text-align: center;
}

.member_menu>ul>li>a {
    display: block;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    padding: 9px 16px;
    width: 160px;
}

.member_menu>ul>li>a:hover {
    background: #e3e3e3;
    color: #008236;
}

.login>.member_menu>.hasTriangle-up:after {
    top: 0;
    right: 0;
}


/* =================================================================
4.コンテナ
=================================================================*/


/* container - メインコンテンツを格納するコンテナ
-------------------------------------------------------------*/

#container {
    width: 940px;
    margin: 0 auto;
    color: #333333;
    zoom: 1;
    font-size: 12px;
    margin-top: 69px;
}

#container.item_list-container,
#container.item_detail-container,
#container.option_list-container,
#container.top-container,
#container.gift_container {
    width: 100%;
}

#container.top-container {
    width: 100%;
    min-width: 1100px;
}

#container:after {
    content: ".";
    display: block;
    visibility: hidden;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    clear: both;
}


/* clearfix */


/* contents - 各コンテンツ幅
-------------------------------------------------------------*/


/* breadcrumbs - パンくず
-------------------------------------------------------------*/

#breadcrumbs {
    width: 100%;
    font-size: 13px;
    background: #f2f3f5;
    padding: 9px 0px;
    margin-top: 70px;
}

#breadcrumbs>.breadcrumbs_inner {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto;
    padding: 0 30px;
}

#breadcrumbs>.breadcrumbs_inner>.brandsite {
    margin-right: 40px;
}

#breadcrumbs a {
    color: #333333;
    text-decoration: underline;
}

#breadcrumbs a:hover {
    text-decoration: none;
}


/* ヘッダーキャンペーンテキスト表示用に調整（2021-11-17 Add） */

#breadcrumbs.breadcrumbs_header-mt {
    margin-top: 105px;
}


/* ヘッダ 改修　2022.11.01 */

.p_header {
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
    border-bottom: 7px solid #87a28e;
    z-index: 99;
}

.p_header_container {
    width: 1100px;
    max-width: 100%;
    margin: 0 auto;
}

.p_header_wrapper {
    height: 63px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.p_header_logo {
    width: 128px;
    flex-shrink: 0;
}

.p_header_logo a img {
    display: block;
    width: 100%;
    height: auto;
}

.p_header_nav {
    height: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-right: 35px;
}

.p_header_nav>li {
    height: 100%;
}

.p_header_nav>li>a {
    height: 100%;
    display: block;
    color: #212121;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.02em;
    text-align: center;
    padding: 23px 14px;
    transition: all 0.3s;
}

.p_header_nav>li>a.high {
    padding: 16px 25px;
}

.p_header_nav>li>a .small {
    font-size: 11px;
}

.p_header_nav>li.open>a,
.p_header_nav>li>a:hover {
    color: #fff;
    background-color: #518a70;
}

.p_header_dropdown {
    position: fixed;
    top: 106px;
    left: 0;
    width: 100%;
    display: none;
    background-color: #edeef0;
    box-shadow: 0 0 20px rgba(0, 0, 0, .5);
    z-index: 2;
}

.p_header_dropdown.top {
    top: 70px;
}

.p_header_dropdown_bg {
    position: fixed;
    top: 106px;
    left: 0;
    display: none;
    width: 100%;
    height: 100vh !important;
    z-index: 1;
}

.p_header_dropdown_bg a {
    display: block;
    width: 100%;
    height: 100%;
}

.p_header_dropdown_wrapper {
    position: relative;
    display: flex;
    justify-content: space-between;
}

/*.p_header_dropdown_main {
    width: 66%;
    padding-right: 15px;
}*/

.p_header_dropdown_category {
    color: #447355;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    min-width: 215px;
}

.p_header_dropdown_main_list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
}

.p_header_dropdown_main_list li {
    width: calc((100% - 48px) / 5);
    min-width: 190px;
}

.p_header_dropdown_main_list>li>a>img {
    width: 100%;
    box-shadow: 0 0 5px rgba(0, 0, 0, .1);
}

.p_header_dropdown_main_list.campaign li a {
    display: block;
}

.p_header_dropdown_main_list.campaign li a span {
    display: inline-block;
    color: #447355;
    font-size: 12px;
    line-height: 1.5;
    padding-top: 8px;
}

.p_header_dropdown_main_list.common li a {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #447355;
    font-size: 14px;
    line-height: 1;
    padding: 4px 4px 4px 12px;
    background-color: #fff;
    border-left: 4px solid #447355;
    box-shadow: 0 0 5px rgba(0, 0, 0, .1);
}

.p_header_dropdown_main_list.common li a::after {
    content: '';
    position: absolute;
    right: 6px;
    bottom: 6px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 7px 7px;
    border-color: transparent transparent #447355 transparent;
}

.p_header_dropdown_main_list.common .text {
    font-size: 11px;
    line-height: 1.3;
}

.p_header_dropdown_main_list.common .text>.large {
    font-size: 17px;
    font-weight: 700;
    margin: 3px 0 0;
    display: inline-block;
}

.p_header_dropdown_main_list.common .icon img {
    height: 86px;
}

/*.p_header_dropdown_main_list.support {
    margin: -4px -5px;
}*/

.p_header_dropdown_main_list.support li {
    width: calc((100% - 34px) / 3);
}

.p_header_dropdown_main_list.support li a {
    position: relative;
    display: flex;
    align-items: center;
    color: #000;
    font-size: 14px;
    line-height: 1;
    padding: 20px 30px;
    background-color: #fff;
    border-left: 4px solid #447355;
    box-shadow: 0 0 5px rgba(0, 0, 0, .1);
}

.p_header_dropdown_main_list.support li a:hover {
    color: #447355;
}

.p_header_dropdown_main_list.support li a::before,
.p_header_dropdown_main_list.support li a::after {
    content: '';
    position: absolute;
}

.p_header_dropdown_main_list.support li.icon a::before {
    right: 7px;
    bottom: 7px;
    width: 15px;
    height: 12px;
    background-image: url("../images/common/header/p_header_link.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.p_header_dropdown_main_list.support li.icon a::after {
    display: none;
}

.p_header_dropdown_main_list.support li a::after {
    right: 6px;
    bottom: 6px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 7px 7px;
    border-color: transparent transparent #447355 transparent;
}

.p_header_dropdown_main_list.support li a .icon img {
    width: 54px;
    margin: 0 10px;
}

.p_header_dropdown_sub {
    width: 34%;
    padding-left: 14px;
}

.p_header_dropdown_sub_list li:not(:first-child) {
    padding-top: 10px;
}

.p_header_dropdown_sub li a {
    display: block;
}

.p_header_dropdown_sub li a img {
    width: 100%;
}

.p_header_dropdown_chat {
    text-align: right;
    margin-bottom: 22px;
}

.p_header_dropdown_close {
    position: absolute;
    top: 20px;
    right: -90px;
    width: 26px;
    height: 26px;
}

.p_header_dropdown_close a {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
}

.p_header_dropdown_close a::before,
.p_header_dropdown_close a::after {
    content: '';
    position: absolute;
    left: 0;
    width: 36px;
    height: 2px;
    background-color: #447355;
}

.p_header_dropdown_close a::before {
    top: 0;
    transform: rotate(45deg);
    transform-origin: top left;
}

.p_header_dropdown_close a::after {
    bottom: 0;
    transform: rotate(-45deg);
    transform-origin: bottom left;
}

.p_header_login_btn_wrapper {
    margin-right: 25px;
    background-color: #f2f3f5;
}

.p_header_login_btn {
    color: #212121 !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em;
    padding: 10px 20px !important;
}

/* -------------------------------------------------------------------------------- */
/* header  240411改修追加記述分　ここから*/
/* -------------------------------------------------------------------------------- */
.p_header_dropdown_main {
    padding: 50px 0;
    width: 100%;
}

.p_header_dropdown_category_wrapper {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 20px;
}

.p_header_dropdown_category_wrapper:last-child {
    margin: 0;
}

.p_header_dropdown_category .small_title {
    display: block;
    font-size: 0.7em;
    font-weight: normal;
    line-height: 1.8;
}

.p_header_dropdown_main_list.campaign.tokuten li img {
    border: 1px solid #447355;
    width: 100%;
}

.p_header_dropdown_main_list.campaign li {
    width: 100%;
    max-width: calc((100% - 36px) / 4);
}

.p_header_dropdown_main_list.support {
    gap: 10px 17px;
}

/* -------------------------------------------------------------------------------- */
/* header  240411改修追加記述分　ここまで*/
/* -------------------------------------------------------------------------------- */


/*商品詳細ページの時のヘッダー*/

#header.is-absolute {
    z-index: 59;
}

#header.is-absolute .p_header_dropdown {
    top: 65px;
}


/* main - サイドバーなしコンテンツ
-------------------------------------------------------------*/

#main {
    min-height: 190px;
    margin-top: 123px;
    font-size: 13px;
}

#main h2 {
    margin-bottom: 32px;
    font-size: 24px;
    font-weight: normal;
}

#main .formTitle {
    margin: 24px 0 -10px;
    font-size: 18px;
}

#main table {
    width: 100%;
    margin-top: 22px;
}

#main table th,
#main table td {
    padding: 14px 17px;
    border: 1px solid #cccccc;
    text-align: left;
    vertical-align: middle;
    font-size: 13px;
}

#main table th {
    width: 150px;
    padding: 14px 24px;
    background: #ecf0f1;
}

#main table td input.size01,
#main table td input.size02,
#main table td input.size03,
#main table td input.size04,
#main table td input.size05,
#main table td input.size06 {
    width: 430px;
    height: 16px;
    padding: 9px;
    border: 1px solid #cccccc;
    font-size: 13px;
}

#main table td input.size02 {
    width: 150px;
    margin-right: 14px;
}

#main table td input.size03 {
    width: 400px;
}

#main table td input.size04 {
    width: 98px;
}

#main table td input.size05 {
    width: 262px;
}

#main table td input.size06 {
    width: 48px;
}

#main table td .select01 {
    width: 170px;
    height: 34px;
    padding-left: 14px;
}

#main table td .nameFix {
    display: inline-block;
    width: 2em;
}

#main ul.link {
    margin-top: 26px;
}

#main ul.link li {
    margin-top: 6px;
    padding-left: 24px;
    background: url("../images/icon_arrow_02.png") no-repeat 0 .2em;
    font-size: 13px;
    background-size: 18px;
}

#main a {
    text-decoration: underline;
}

#main a:hover {
    text-decoration: none;
}

#main .buttonarea {
    margin-top: 48px;
    text-align: center;
}

#main .buttonarea ul {
    letter-spacing: -0.4em;
}

#main .buttonarea li {
    display: inline;
    padding: 0 10px;
    letter-spacing: 0;
}


/*20211025追加*/

#main .buttonarea .btn {
    background: #447355 url("../images/icon_arrow_03@2x.png") no-repeat right 14px center;
    background-size: 15px;
    color: #fff;
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 15px 0 14px;
    position: relative;
    width: 264px;
    text-align: center;
    text-decoration: none;
}

#main .buttonarea .btn.cancel {
    background-color: #7f8c8d;
}

#main .buttonarea .btn_02 {
    background: #447355;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 22px 0;
    position: relative;
    width: 300px;
    text-align: center;
    text-decoration: none;
}

#main .buttonarea .btn_02::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    top: 50%;
    right: 21px;
    transform: rotate(45deg) translateY(-50%);
}

#main .buttonarea .btn_01 {
    background: #7f8c8d;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 22px 0;
    position: relative;
    width: 300px;
    text-align: center;
    text-decoration: none;
}

#main .buttonarea .btn_01::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    top: 50%;
    right: 21px;
    transform: rotate(45deg) translateY(-50%);
}


#main .buttonarea .btn_cover input[type="image"] {
    position: absolute;
    top: 0;
    right: 0;
}

#main .buttonarea .btn_03 {
    border-radius: 4px;
    display: inline-block;
    position: relative;
    width: 300px;
    text-align: center;
    text-decoration: none;
}

#main .buttonarea .btn_03::after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    position: absolute;
    width: 6px;
    height: 6px;
    top: 50%;
    right: 21px;
    transform: rotate(45deg) translateY(-50%);
}

#main .buttonarea .btn_03 input {
    background: #87a28e;
    border-radius: 4px;
    border: 0;
    width: 100%;
    color: #fff;
    font-size: 16px;
    font-family: inherit;
    letter-spacing: 0.05em;
    padding: 22px 0;
    line-height: 1;
}

#main .buttonarea .btn_bg_docomo {
    background: rgb(204, 0, 51) !important;
}

#main .ownerHead {
    position: relative;
    margin: -16px 0 20px;
}

#main .ownerHead p {
    padding-top: 4px;
    font-size: 18px;
}

#main .ownerHead a {
    color: #333333;
    text-decoration: none;
}

#main .ownerHead a:hover {
    text-decoration: underline;
}

#main .ownerHead .memberBtn {
    position: absolute;
    top: 0;
    right: 0;
}

#main .ownerHead .memberBtn li {
    position: relative;
    float: left;
    margin-left: -1px;
}

#main .ownerHead .memberBtn li.btn01 {
    background: url("../images/member_btn_01_on.png") no-repeat;
}

#main .ownerHead .memberBtn li.btn02 {
    background: url("../images/member_btn_02_on.png") no-repeat;
}

#main .ownerHead .memberBtn li.btn03 {
    background: url("../images/member_btn_03_on.png") no-repeat;
}

#main .ownerHead .memberBtn li.btn04 {
    background: url("../images/member_btn_04_on.png") no-repeat;
}

#main .ownerHead .memberBtn li.btn05 {
    background: url("../images/member_btn_05_on.png") no-repeat;
}

#main .ownerHead .memberBtn li:hover {
    z-index: 5;
}

#main .ownerHead .memberBtn li a:hover img {
    opacity: 0;
    filter: alpha(opacity=0);
    -ms-filter: "alpha(opacity=0)";
}

#main .ownerHead dl {
    padding: 62px 0 10px 344px;
}

#main .ownerHead dd {
    padding: 10px 0 0 6px;
    font-size: 14px;
}

#main .ownerHead .root_area {
    padding: 5px 0 0 6px;
}

#main .legal {
    padding-left: 150px;
}

#main .legal_link {
    display: inline-block;
    color: #518a70;
}

#main .important {
    color: #ff0000;
}


/* important-notice - お知らせ（2022-06-14 Add）
-------------------------------------------------------------*/

#important-notice {
    border: 2px solid #87a28e;
    /* margin: 20px auto; */
    max-width: 900px;
    padding: 20px;
    text-align: center;
}

#important-notice h2 {
    font-size: 22px;
    margin-bottom: 8px;
}

#important-notice p {
    font-size: 14px;
}


/* 新着情報 改修　2022.11.18 */

.top_news {
    margin: 60px auto;
}


/* カートログイン - 
-------------------------------------------------------------------------------------------*/


/* カートログイン - メンバー
-------------------------------------------------------------*/

.login__box {
    display: flex;
    margin-top: 36px;
    margin-bottom: 70px;
}

.login__box>div {
    width: calc(100% / 2 - 20px);
}

.login__box>div:first-child {
    margin-right: 40px;
    ;
}

.login__member {
    background: #f4fbeb;
    padding: 35px;
}

.login__member__ttl {
    font-size: 20px;
    color: #333;
}

.login__member__txt {
    font-size: 13px;
    color: #333;
    margin-top: 15px;
}

.login__member__form {
    margin-top: 20px;
}

.login__member__form>div:not(:first-child) {
    margin-top: 20px;
}

.login__member__form>div>input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;
    padding: 15px 10px;
    background: #fff;
    border: 1px solid #e2e2e2;
    transition: .1s ease;
}

.login__member__form>div>input:focus {
    border: 2px solid #64a70b;
}

.login__member__btn {
    margin-top: 40px;
}

.login__member__btn>#next_step>a {
    text-align: center;
}

.login__member__forget {
    text-align: center;
    margin-top: 30px;
}


/* カートログイン - Amazon,ゲスト共通
-------------------------------------------------------------*/

.login__other>div {
    background: #f3f4f6;
    padding: 40px 35px 35px;
}

.login__other>div>h3 {
    font-size: 16px;
    color: #333;
    line-height: 1.5;
    margin-left: 37px;
}


/* カートログイン - Amazon
-------------------------------------------------------------*/

.login__other--amazon {
    padding: 40px 35px 35px;
}

#main .login__other--amazon .amazon_area {
    margin-top: 18px;
}

#main .login__other--amazon .cart-amazon {
    margin: 20px 0 0;
}


/* カートログイン - ゲスト
-------------------------------------------------------------*/

.login__other--guest {
    margin-top: 20px;
}

.login__other--guest p {
    margin-top: 20px;
}

#main .login__other--guest .cart-guest {
    margin-top: 18px;
}


/* search - 商品検索窓
-------------------------------------------------------------*/

#search .form {
    display: block;
    float: left;
    width: 160px;
    height: 20px;
    padding: 8px 0 8px 19px;
    border: #cccccc 1px solid;
    border-right: none;
    font-size: 13px;
}

#search .button {
    display: block;
}


/* category - 商品カテゴリ
-------------------------------------------------------------*/

#category {
    margin-top: 26px;
    padding-bottom: 7px;
}

#category ul {
    margin: 12px 0 28px 64px;
    font-size: 13px;
}

#category ul li {
    margin-top: 7px;
    padding-left: 24px;
    background: url("../images/icon_arrow_01.png") no-repeat 0 .2em;
}

#category ul a {
    color: #333333
}

#category ul a:hover {
    text-decoration: underline;
}

#category ul li img {
    margin: 0.2em 0 0 3px;
}

#category .option {
    margin-top: -6px;
    padding: 24px 0 24px 40px;
    border-top: 1px solid #dadfe1;
}


/* sidebarBannerArea - サイドバーバナーエリア
-------------------------------------------------------------*/

#sidebarBannerArea li {
    margin-top: 10px;
}


/* =================================================================
6.フッター
=================================================================*/


/* footer  -  共通
-------------------------------------------------------------*/

.footer_main_area {
    width: 100%;
    background-color: #f2f3f5;
    border-top: 1px solid #d9dbdf;
}

.footer_main_area::before {
    content: "";
    display: block;
    width: 100%;
    background-color: #fff;
    height: 112px;
    position: absolute;
    border-bottom: 1px solid #d9dbdf;
}

#footer {
    border-top: 1px solid #ECF0F1;
    min-width: 1100px;
    max-width: 1200px;
    margin: 0 auto;
}

.footer_contents-top-inner {
    width: 100%;
    max-width: 1200px;
    min-width: 1100px;
    margin: 0 auto;
    padding: 0 30px;
}


/* footer  -  サポート
-------------------------------------------------------------*/

.footer_contents-top {
    background: #fff;
    padding: 81px 0 84px;
}

.footer_contents-support>ul {
    display: flex;
    justify-content: center;
}

.footer_contents-support>ul>li {
    /* width: calc(100% / 4); */
    margin: 0 25px;
    text-align: center;
}

.footer_contents-support>ul>li>a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.footer_contents-support>ul>li>a:before {
    content: "";
    display: block;
    margin-right: 15px;
    width: 38px;
    height: 38px;
}

.footer_contents-support>ul>.support01>a:before {
    background: url(../images/common/footer/guide_ico.gif) center center/50px auto no-repeat;
}

.footer_contents-support>ul>.support02>a:before {
    background: url(../images/common/footer/request_ico.gif) center center/50px auto no-repeat;
}

.footer_contents-support>ul>.support03>a:before {
    background: url(../images/common/footer/qa_ico.gif) center center/50px auto no-repeat;
}

.footer_contents-support>ul>.support04>a:before {
    background: url(../images/common/footer/contact_ico.gif) center center/50px auto no-repeat;
}

.footer_contents-support>ul>li>a:after {
    content: "";
    display: block;
    margin-left: 13px;
    color: #87a28e;
    background: url(../images/common/footer/right_arrow_green.gif);
    width: 8px;
    height: 12px;
}

.footer_contents-support>ul>li>a>br {
    display: none;
}


/* footer  -  商品一覧
-------------------------------------------------------------*/

.footer_contents-bottom {
    background: #f3f4f6;
    padding: 60px 0 48px;
}

.footer_contents-company-sns {
    max-width: 1060px;
    min-width: 1000px;
    padding: 0 30px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

.footer_contents-bottom-inner {
    max-width: 1060px;
    min-width: 1000px;
    padding: 0 30px;
    margin: 0 auto;
    display: flex;
    padding-bottom: 73px;
    margin-top: 56px;
}

.footer_contents-bottom-inner .footer_contents-box:last-child {
    flex-shrink: 0;
}

.footer_contents-bottom-inner .footer_contents-box:not(:nth-child(4n)) {
    margin-right: 52px;
}

.footer_contents-bottom-inner .footer_contents-box .footer_contents-box-inner:not(:first-child) {
    margin-top: 36px;
}

.footer_contents-bottom-inner .footer_contents-box>div.footer_contents-ttl:not(:first-child) {
    margin-top: 36px;
}

.company_coupon>li>a {
    padding: 6px 14px;
    background-color: #393f45;
    color: #fff;
    text-decoration: underline;
}

.company_coupon>li>a>img {
    padding-right: 10px;
    vertical-align: middle;
}

.company_detail-list,
.company_sns-list {
    display: flex;
}

.company_sns-list {
    width: 200px;
}

.company_sns-list>li {
    width: 37px;
    height: 37px;
    border-radius: 50%;
    overflow: hidden;
}

.company_sns-list>li>a,
.company_coupon>li>a {
    display: block;
    transition: .3s ease;
}

.company_sns-list>li>a:hover,
.company_coupon>li>a:hover {
    opacity: 0.7;
}

.company_sns-list>li>a>img {
    width: 100%;
    height: auto;
}

.company_sns-list>li:not(:last-child) {
    margin-right: 17px;
}

.company_detail-list>li:not(:last-child) {
    margin-right: 32px;
}

.company_detail-list>li {
    font-size: 13px;
}

.footer_contents-ttl>a {
    display: block;
    font-size: 18px;
    color: #333;
    font-weight: 500;
    transition: .3s ease;
}

.footer_contents-ttl>a:hover {
    color: #87a28e;
}

.footer_ttl-other {
    padding-top: 7px;
}

.footer_ttl-other>a {
    padding: 10px 0;
}

.footer_contents-ttl+ul {
    margin-top: 18px;
    line-height: 2.0;
    font-size: 12px;
}

.footer_contents-subTtl {
    font-size: 18px;
    font-weight: 500;
    color: #333;
}

.footer_contents-subTtl+ul {
    margin-top: 15px;
}

.footer_contents-option-braava {
    margin-top: 24px;
}

.footer_contents-company {
    max-width: 1060px;
    min-width: 1000px;
    margin: 0 auto;
    padding: 0 30px;
}

.footer_contents-company-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
    border-top: 1px solid #323232;
}


/* footer  -  コピーライト
-------------------------------------------------------------*/

.footer_contents-copy-inner {
    max-width: 1060px;
    min-width: 1000px;
    margin: 40px auto 0;
    padding: 0 30px;
}

.copyright {
    font-size: 12px;
    color: #333;
    text-align: center;
}


/* フッター 改修　2022.11.01 */

.p_footer {
    padding: 0 0 35px;
    background-color: #f2f3f5;
    border-top: none !important;
}

.p_footer_container {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
}


/* フッター 決済追加　2023.06.05 */

.p_footer_container_middle {
    width: 1200px;
    max-width: 100%;
    margin: 0 auto;
}

/* -------------------------------------------------------------------------------- */
/* footer  240410改修分　ここから*/
/* -------------------------------------------------------------------------------- */
#footer{
	background: #fff;
	font-size:75%;
	line-height: 1.4;
	border-top: 7px solid  #87a28e;
	font-family:"kozuka-gothic-pr6n","ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Osaka", "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 500;
	font-style: normal;
	padding: 50px 20px;
	max-width: unset;
}

#footer_area{
	position: relative;
	width: 1000px;
	height: 506px;
	margin: 0 auto;
	background:url(/img/bg_02.jpg) no-repeat center top;
}

.footer-contents {
	max-width: 1000px;
	width: 100%;
	padding-bottom: 5px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}

.footer-socials {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto 50px;
	display: flex;
	justify-content: center;
}

.footer-socials li {
	width: 56px;
	margin: 0 12px;
	display: inline-block;
}

.footer-socials li img {
	max-width: none;
	width: 100%;
}

.footer-navi{
	font-size: 18px;
	line-height: 1.66;
}

.footer-navi .menu {
	margin-bottom: 50px;
	margin-left: 1em;
}

.footer-navi .menu a {
	line-height: 1.5;
	color: #393F45;
}

.footer-navi .menu a:hover{
	text-decoration: underline;
}

.footer-navi .menu ul a {
	line-height: 1.7778;
}

.footer-navi .pay-list{
	display: flex;
	width: 100%;
}

.footer-navi .pay-list li{
	width: 33%;
	max-width: 75px;
}

.footer-navi .pay-list li img{
	max-width: max-content;
	width: 100%;
}

.copyright {
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	font-size: 13px;
	text-align: center;
}

@media (min-width: 1001px) {
	#footer{
		padding: 50px 50px 48px;
	}

	.footer-socials {
		margin-bottom: 50px;
		justify-content: flex-end;
	}

	.footer-socials li {
		width: 37px;
		margin: 0 0 0 17px;
	}

	.footer-contents {
		padding-bottom: 0;
		/* margin-bottom: 60px; */
		flex-direction: row;
	}

	.footer-navi{
		width: 33%;
	}

	.copyright {
		max-width: 1000px;
		width: 100%;
		margin: 0 auto;
	}
}

@media screen and (max-width:1259px) and (min-width:1160px) {
	.p_footer_container_middle.nav {
		padding-left: calc(50vw - 550px);
	}
}

@media screen and (max-width:1159px) {
	.p_footer_container_middle.nav {
		padding-left: 30px;
	}
}
/* -------------------------------------------------------------------------------- */
/* footer  240410改修分　ここまで*/
/* -------------------------------------------------------------------------------- */



/* footer メルマガ
-------------------------------------------------------------*/
@media(min-width: 1001px) {

    /* #footer {
        padding:50px 50px 48px
    }
 */
    .footer-socials {
        margin-bottom: 56px;
        justify-content: flex-end
    }

    .footer-socials li {
        display: inline-block;
    }

    .footer-contents {
        padding-bottom: 0;
        margin-bottom: 60px;
        flex-direction: row
    }

    .ft-form .ft-title {
        margin: 0 0 1.5%;
        font-size: 20px;
        color: #447355;
        font-weight: 700;
    }

    .ft-form .ft-text {
        margin: 0 0 1.5%;
        font-size: 16px;
    }

    .ft-form p.link {
        margin: 0 0 1.5%;
    }

    .ft-form p.link a {
        color: #447355;
        font-size: 16px;
        text-decoration: underline;
        margin: 0 1em 0 0;
        display: inline-block;
        outline: none;
        font-weight: 400;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        padding: 0;
        -webkit-text-size-adjust: none;
        background: none;
    }

    .ft-form input {
        border: 2px solid #6a768c !important;
        border-radius: 10px;
        background: #eee;
        left: 0;
        margin: 0 !important;
        padding: 0 0.5em !important;
        height: 2.5em !important;
        width: 217px !important;
        font-size: 1em;
    }

    .ft-form button {
        min-width: 80px;
        background: #447355 !important;
        color: #fff !important;
        border: none !important;
    }

    .p_footer_exnav_coupon.mktoForm button.mktoButton {
        font-weight: 400;
        font-size: 100.01%;
        -webkit-box-sizing: border-box;
        -webkit-text-size-adjust: none;
        line-height: 1.4;
        font-style: normal;
        width: auto !important;
        height: auto !important;
    }
}


/* ストアサポート（2022/11/18 Add）
-------------------------------------------------------------*/

.p_footer_support {
    margin-bottom: 50px;
    background-color: #fff;
    border-top: 1px solid #d9dbdf;
    border-bottom: 1px solid #d9dbdf;
}

.p_footer_support-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
}

.p_footer_support-item {
    width: calc(100% / 3);
    height: 100%;
}

.p_footer_support-item:not(:last-child) {
    border-right: 1px solid #d9dbdf;
}

.p_footer_support-item a {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 29px 4px;
}

.p_footer_support-item a::before {
    content: '';
    position: absolute;
    right: 10px;
    bottom: 6px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 8px 8px;
    border-color: transparent transparent #447355 transparent;
}

.p_footer_support-item a .text {
    color: #447355;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.04em;
    padding-left: 15px;
}


/* SNS　リンク
-------------------------------------------------------------*/

.p_footer_exnav {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.p_footer_exnav.justify-end {
    justify-content: flex-end;
}

.p_footer_exnav a {
    display: block;
    transition: .3s ease;
}

.p_footer_exnav a:hover {
    opacity: 0.7;
}

.p_footer_exnav_coupon a {
    color: #383f46;
    font-size: 21px;
    letter-spacing: 0.06em;
    text-decoration: none;
}

.p_footer_exnav_coupon a img {
    max-width: 37px;
    margin-right: 10px;
}

.p_footer_exnav_sns_list {
    display: flex;
    justify-content: flex-end;
}

.p_footer_exnav_sns_list li:not(:first-child) {
    margin-left: 30px;
}

.p_footer_exnav_sns_list li a img {
    max-width: 48px;
}


/* 商品・アクセサリー・キャンペーン・サポート　リンク
-------------------------------------------------------------*/

.p_footer_nav {
    display: flex;
    justify-content: space-between;
    margin-top: 55px;
}

.p_footer_nav_item {
    display: flex;
    flex-direction: column;
}

.p_footer_nav_item.roomba {
    /* width: 26.36%; */
    width: 25.21%;
    padding-right: 30px;
}

.p_footer_nav_item.other {
    /* width: 27.27%; */
    width: 26.08%;
    padding: 0 30px;
    border-left: 1px solid #cdcecf;
}

.p_footer_nav_item.campaign {
    /* width: 29.09%; */
    width: 27.82%;
    padding: 0 30px;
    border-left: 1px solid #cdcecf;
}

.p_footer_nav_item.support {
    /* width: 17.28%; */
    width: 20.89%;
    padding-left: 30px;
    border-left: 1px solid #cdcecf;
}

.p_footer_nav_item a {
    display: inline-block;
    color: #383f46;
}

.p_footer_nav_item a:hover {
    color: #87a28e;
}

.p_footer_nav_item a.category {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
}

.p_footer_nav_item a.category:not(:first-child) {
    margin-top: 20px;
}

.p_footer_nav_item a.none {
    pointer-events: none;
}

.p_footer_nav_item a .small {
    font-size: 11px;
}

.p_footer_subnav {
    margin-top: 5px;
}

.p_footer_subnav li {
    position: relative;
    font-size: 12px;
    line-height: 1.45;
    margin-top: 8px;
}

.p_footer_subnav li::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    display: inline-block;
    width: 9px;
    height: 1px;
    background-color: #cdcecf;
}

.p_footer_subnav li a {
    padding-left: 20px;
}

.p_footer_nav_qr {
    display: flex;
    margin-top: 20px;
}

.p_footer_nav_qr_text {
    padding-right: 20px;
}

.p_footer_nav_qr_text .small {
    font-size: 12px;
    line-height: 1.6;
    padding-top: 5px;
}

.p_footer_nav_qr_image img {
    width: 70px;
}


/* .p_footer_nav_amazonpay {
    margin-top: 40px;
}
.p_footer_nav_amazonpay a {
    display: block;
}
.p_footer_nav_amazonpay img {
    width: 146px;
} */


/* フッター 決済追加　2023.06.05 */

.p_footer_nav_settlement {
    margin-top: 25px;
}

.p_footer_settlement {
    display: flex;
    align-items: center;
}

.p_footer_settlement li:not(:first-child) {
    margin-left: 12px;
}

.p_footer_settlement li a {
    display: block;
}

.p_footer_settlement li a img {
    max-height: 34px;
}


/* 外部リンク・コピーライト
-------------------------------------------------------------*/

.p_footer_others {
    display: flex;
    align-items: flex-end;
    margin-top: 60px;
}

.p_footer_others_link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.p_footer_others_link li:not(:first-child) {
    margin-left: 25px;
}

.p_footer_others_link li a {
    color: #383f46;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.p_footer_others_link li a:hover {
    color: #87a28e;
}

.p_footer_others_copyright {
    margin-left: 60px;
}

.p_footer_others_copyright .copyright {
    color: #383f46;
    font-size: 11px;
    line-height: 1.9;
    letter-spacing: 0.12em;
}


/* =================================================================
7.トップページ
=================================================================*/


/* banner - バナー
-------------------------------------------------------------*/

#banner {
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto 50px;
    padding: 0 30px;
}

.banner_box {
    position: relative;
    overflow: hidden;
}

.top_bannar-list>li>a>img {
    width: 100%;
    height: auto;
}

#bannar_prev_btn {
    left: 18px;
}

#bannar_next_btn {
    right: 18px;
}

.bx-pager {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}

.bx-pager-item {
    margin: 0px 5px;
}

.bx-pager-item>a {
    color: #b4b4b4;
    font-size: 10px;
}

.bx-pager-item>a.active {
    color: #87a28e;
}


/* トップページ 改修　2022.11.18 */

.top_mv-inner {
    text-align: center;
}

.top_mv-inner img {
    width: 100%;
}

#top_mv .top_mv-inner img {
    max-width: 1200px;
}


/* mainvisual - メインビジュアル
-------------------------------------------------------------*/

#mainvisual ul {
    height: 400px;
    overflow: hidden;
}

#mainvisual .bx-pager {
    margin-top: 20px;
    text-align: center;
    letter-spacing: -0.4em;
}

#mainvisual .bx-pager-item {
    display: inline;
    padding: 0 5px;
    letter-spacing: 0;
    font-size: 13px;
}

#mainvisual .bx-pager-item a {
    color: #ecf0f1;
}

#mainvisual .bx-pager-item a.active {
    color: #6fba2c;
}

.mainvisual {
    background: url(../ext/img/gift/gift_kv1-2.jpg) no-repeat center center/auto 100%;
    position: relative;
}

.mainvisual .container {
    height: 37.5rem;
    position: relative;
}

.container {
    max-width: 62.5rem;
    margin: 0 auto;
}

.mainvisual-logo {
    width: 8.75rem;
    position: absolute;
    top: 2.5rem;
    left: -8.75rem;
    z-index: 2;
}

/* product - プロダクト
-------------------------------------------------------------*/

#product {
    width: 100%;
    max-width: 1000px;
    min-width: auto;
    margin: 80px auto 76px;
}

.product_ttl {
    text-align: center;
    font-size: 32px;
    margin-bottom: 40px;
}

#product>ul {
    display: flex;
    flex-wrap: wrap;
}


/* #product > ul > li {
    width: calc(100% / 5 - 15px);
}
#product > ul > li:not(:nth-child(5n)) {
    margin-right: 18px;
}
#product > ul > li:not(:nth-child(-n+5)) {
    margin-top: 30px;
} */

#product>ul>li>a {
    display: block;
}

#product>ul>li>a>div.product_list-image {
    overflow: hidden;
    padding-top: 10px;
}

#product>ul>li>a>div.product_list-image>img {
    width: 100%;
}

#product>ul>li>a>div.product_list-ttl {
    font-size: 14px;
    font-weight: bold;
    line-height: 1.25;
    letter-spacing: -0.05em;
    text-align: center;
    margin-top: 25px;
}

#product>ul>li>a>div.product_list-ttl span {
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 2;
    margin-top: 1em;
}

#product>ul>li:last-child>a>div.product_list-ttl span {
    line-height: 1.25;
}


/* プロダクト 改修　2022.11.18 */

#product>ul {
    justify-content: center;
    margin: -10px;
}

#product>ul>li {
    width: calc(100% / 6);
    padding: 10px;
    margin: 0 !important;
}

#product ul>li>a>div.product_list-ttl {
    font-weight: 500;
}


/* キャンペーン 改修　2022.11.18 */

#topics_campaign {
    max-width: 1000px;
    margin: 90px auto 75px;
}

#topics_campaign .topics_campaign-title {
    font-size: 28px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 20px;
}

#topics_campaign .topics_campaign-list {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}

#topics_campaign .topics_campaign-item {
    width: calc(100% / 3);
    padding: 10px;
}

#topics_campaign .topics_campaign-item>a>img {
    width: 100%;
    vertical-align: bottom;
}

#topics_campaign .topics_campaign-item>a>p {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
    padding: 18px 14px;
}

#topics_campaign .topics_campaign-item>a>p.padding-10 {
    padding: 18px 10px;
}

#topics_campaign .topics_campaign-item>a>p.padding-0 {
    padding: 18px 0;
}

#topics_campaign .topics_campaign-item>a>p::after {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 10px;
    border-right: 2px solid #87a28e;
    border-bottom: 2px solid #87a28e;
    transform: rotate(-45deg);
}


/* product - 製品比較
-------------------------------------------------------------*/

.compareBtn.open {
    background: url(../images/top/ico_close.png) no-repeat right 16px center;
}

.compareBtn {
    padding: 12px 0;
    color: #64A723;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    border: 2px solid #64A723;
    background: url(../images/top/ico_plus.png) no-repeat right 16px center;
    cursor: pointer;
    width: 1000px;
    margin: auto;
}

.compareBtnSp {
    display: none;
}

.compareBox {
    display: none;
    margin: 32px 0 0;
}

.compareBox .btn {
    width: 277px;
    margin: 62px auto 0;
}

.compareBox .btn a {
    display: block;
    padding: 5px 0;
    color: #64A723;
    font-size: 17px;
    text-align: center;
    border: 1px solid #64A723;
    border-radius: 2px;
}

.banner02 {
    margin: 90px 350px;
}

.banner02>a {
    pointer-events: none;
}

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

.banner02 p {
    margin: 20px 0 0;
    font-size: 13px;
    text-align: center;
}


/* option - オプション・消耗品
-------------------------------------------------------------*/

#option {
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto 76px;
    padding: 0 30px;
}

.option_ttl {
    text-align: center;
    font-size: 32px;
    margin-bottom: 40px;
}

.option_box {
    display: flex;
}

.option_roomba,
.option_braava {
    display: flex;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 0 15px 5px #f0f0f0;
}

.option_root {
    display: flex;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 0 15px 5px #f0f0f0;
}

.option_roomba {
    margin-right: 30px;
}

.model_image {
    width: 280px;
    height: 294px;
}

.option_list {
    width: 345px;
    padding: 34px 0 34px 40px;
}

.option_list2 {
    width: 300px;
    padding: 34px 0 34px 40px;
}

.option_list>h3 {
    font-size: 24px;
    margin-bottom: 17px;
}

.option_list2>h3 {
    font-size: 26px;
    margin-bottom: 17px;
}

.option_list>ul>li {
    position: relative;
    padding-left: 14px;
}

.option_list2>ul>li {
    position: relative;
    padding-left: 14px;
}

.option_list>ul>li:not(:last-child) {
    margin-bottom: 5px;
}

.option_list2>ul>li:not(:last-child) {
    margin-bottom: 5px;
}

.roomba_list>ul>li:before,
.root_list>ul>li:before,
.braava_list>ul>li:before {
    content: "";
    display: block;
    font-weight: bold;
    position: absolute;
    top: 9px;
    left: 0;
    width: 6px;
    height: 9px;
}

.roomba_list>ul>li:before {
    background: url(../images/top/roomba_option_arrow.gif) center center no-repeat;
}

.braava_list>ul>li:before {
    background: url(../images/top/braava_option_arrow.gif) center center no-repeat;
}

.root_list>ul>li:before {
    background: url(../images/top/root_option_arrow.gif) center center no-repeat;
}

.roomba_list>ul>li:before {
    color: #6fba2c;
}

.braava_list>ul>li:before {
    color: #3aaee0;
}

.root_list>ul>li:before {
    color: #444549;
}

.option_list>ul>li>a {
    font-size: 16px;
}

.option_list2>ul>li>a {
    font-size: 16px;
}


/* privilege - 特典
-------------------------------------------------------------*/

#privilege {
    background: #f3f4f6;
    padding: 35px 30px 30px;
    margin-top: 50px;
}

#privilege .privilege_inner {
    width: 100%;
}

#privilege.no-space {
    padding-bottom: 18px;
}

.privilege_ttl {
    color: #393f45;
    font-size: 22px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 30px;
}

.privilege_list {
    position: relative;
    margin: 0 auto;
}

.privilege_list>ul {
    display: flex;
    justify-content: center;
}

.privilege_list>ul>li {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: left;
    font-weight: bold;
    font-size: 14px;
}

.privilege_list>ul>li:not(:first-child) {
    margin-left: 100px;
}


/*
.privilege_list > ul > .privilege02{
  margin-left: 80px;
}
.privilege_list > ul > .privilege03{
  margin-left: 108px;
}
.privilege_list > ul > .privilege04{
  margin-left: 133px;
}
*/

.privilege_list>ul>li:before {
    content: "";
    display: block;
    width: 72px;
    height: 56px;
    margin-bottom: 16px;
}

.privilege_list>ul>.privilege01:before {
    background: url(../images/common/privilege_ico01.png) center center/100% auto no-repeat;
}

.privilege_list>ul>.privilege02:before {
    background: url(../images/common/privilege_ico02.png) center center/100% auto no-repeat;
}

.privilege_list>ul>.privilege03:before {
    background: url(../images/common/privilege_ico03.png) center center/100% auto no-repeat;
}

.privilege_list>ul>.privilege04:before {
    background: url(../images/common/privilege_ico04.png) center center/100% auto no-repeat;
}

.privilege_list>ul>li>span {
    color: #393f45;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.privilege_list>ul>li>span>span {
    display: block;
    font-size: 11px;
    font-weight: normal;
}

.privilege_list>ul>li>span>p {
    display: block;
    font-size: 12px;
    font-weight: normal;
}

.annotation {
    position: absolute;
    right: -25px;
    bottom: -1px;
    font-size: 14px;
    color: #bbb;
}


/* privilege - 特典 v2 Add 2022-04/27
-------------------------------------------------------------*/

#v2_privilege {
    background: #d9e6d2;
    padding: 20px 0 25px;
    margin-top: 0;
}

.v2_privilege_inner {
    margin: 0 auto;
    width: 1000px;
}

.v2_privilege_ttl {
    color: #447355;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: .04em;
    margin-bottom: 10px;
    text-align: center;
}

/* .v2_privilege_list {
    display: flex;
    justify-content: center;
}

.v2_privilege_list>li {
    margin: 0;
    height: 120px;
    width: calc(calc(100% / 6) - 5px);
}

.v2_privilege_list>li:nth-child(1),
.v2_privilege_list>li:nth-child(2) {
    width: 41%;
}

.v2_privilege_list>li:not(:nth-child(1)) {
    margin-left: 5px;
}

.v2_privilege_list>li>span,
.v2_privilege_list>li>a {
    background: #fff;
    box-sizing: border-box;
    color: #447355;
    display: flex;
    flex-direction: column;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: .04em;
    line-height: 1.4;
    height: 100%;
    width: 100%;
    text-align: center;
}

.v2_privilege_list>li:not(:nth-child(1))>span,
.v2_privilege_list>li:not(:nth-child(1))>a {
    letter-spacing: .02em;
}

.v2_privilege_list>li>a {
    position: relative;
}

.v2_privilege_list>li>a:hover {
    cursor: pointer;
}

.v2_privilege_list>li>span::before,
.v2_privilege_list>li>a::before {
    content: "";
    display: block;
    margin: 12px auto 10px;
    height: 46px;
    width: 100%;
}

.v2_privilege_list>li:nth-child(1) a::before {
    display: none;
}

.v2_privilege_list>li:nth-child(2) a::before {
    background: center bottom 0px / 83px auto no-repeat url("../images/common/privilege_ico02_v2.png");
}

.v2_privilege_list>li:nth-child(3) span::before {
    background: center bottom 2px / 40px auto no-repeat url("../images/common/privilege_ico01_v2.png");
}

.v2_privilege_list>li:nth-child(4) a::before {
    background: center bottom 2px / 34px auto no-repeat url("../images/common/privilege_ico04_v2.png");
}

.v2_privilege_list>li:nth-child(5) a::before {
    background: center bottom / 60px auto no-repeat url("../images/common/privilege_ico05.png");
}

.v2_privilege_list>li>a::after {
    border: 6px solid transparent;
    border-left: 6px solid #447355;
    box-sizing: border-box;
    content: "";
    height: 7px;
    width: 7px;
    position: absolute;
    right: -1px;
    bottom: -1px;
    transform: rotate(45deg);
}

.v2_privilege_list>li>span .font-small,
.v2_privilege_list>li>a .font-small {
    padding-top: 3px;
    font-size: 10px;
    font-weight: 200;
}

.v2_privilege_list>li:nth-child(1) a .row {
    padding-top: 3px;
}

.v2_privilege_list>li:nth-child(1) a .font-medium {
    font-size: 26px;
}

.v2_privilege_list>li:nth-child(1) a .font-large {
    font-size: 26px;
}

.v2_privilege_list>li:nth-child(1) a .font-x-large {
    font-size: 40px;
    margin-left: -8px;
    margin-right: -4px;
}

.v2_privilege_list>li:nth-child(1) a .icon {
    display: inline-block;
    width: 74px;
    height: 48px;
    margin-left: 10px;
}

.v2_privilege_list>li:nth-child(1) a .icon::before {
    content: '';
    display: inline-block;
    width: 100%;
    height: 100%;
    margin-bottom: -14px;
    background-image: url("../images/common/privilege_ico03_v2.png");
    background-position: left top;
    background-repeat: no-repeat;
    background-size: contain;
}

.v2_privilege_list>li:nth-child(2) a .font-large {
    line-height: 1.3;
    padding-top: 5px;
    font-size: 23px;
}

.v2_privilege_list>li:nth-child(2) a {
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
}

.v2_privilege_list>li:nth-child(2) a::before {
    margin: 0;
    width: 83px;
    height: 57px;
    margin-left: 15px;
}

.v2_privilege_list #modal-shitadori.privilege-modal-content {
    max-width: 900px;
}

.v2_privilege_list #modal-shitadori.privilege-modal-content .modal-content-inner {
    padding: 30px;
}

.v2_privilege_list #modal-shitadori.privilege-modal-content .modal-content-image {
    width: 400px;
}

.v2_privilege_list #modal-shitadori.privilege-modal-content .modal-content-text {
    padding-left: 60px;
    padding-right: 20px;
}

.v2_privilege_list #modal-shitadori .modal-content-text .btn a {
    width: 275px;
    height: 55px;
    line-height: 55px;
} */

.v2_privilege_list {
    display: flex;
    justify-content: center;
}

.v2_privilege_list>li {
    margin: 0;
    height: 160px;
    width: calc(calc(100% / 4) - 5px);
}

.v2_privilege_list>li:not(:nth-child(1)) {
    margin-left: 5px;
}

.v2_privilege_list>li>ul>li {
    margin: 0;
    height: 78px;
    display: flex;
}

.v2_privilege_list>li>ul>li:not(:nth-child(1)) {
    margin-top: 5px;
}



.v2_privilege_list>li>span,
.v2_privilege_list>li>a {
    background: #fff;
    box-sizing: border-box;
    color: #447355;
    display: flex;
    flex-direction: column;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: .04em;
    line-height: 1.4;
    height: 100%;
    width: 100%;
    text-align: center;
}

.v2_privilege_list>li>a>span:nth-child(3) {
    line-height: 1.2;
}

.v2_privilege_list>li>ul>li>span,
.v2_privilege_list>li>ul>li>a {
    background: #fff;
    box-sizing: border-box;
    color: #447355;
    display: block;
    flex-direction: column;
    font-size: 10px;
    font-weight: bold;
    letter-spacing: .04em;
    line-height: 1.0;
    height: 100%;
    width: 100%;
    text-align: center;
}

.v2_privilege_list>li>span,
.v2_privilege_list>li>a {
    letter-spacing: .02em;
}

.v2_privilege_list>li .font-medium,
.v2_privilege_list>li a .font-medium {
    font-size: 14px;
}

.v2_privilege_list>li a .font-large {
    font-size: 20px;
}

.v2_privilege_list>li a .font-x-large {
    font-size: 28px;
}

.v2_privilege_list>li>span .font-small,
.v2_privilege_list>li>a .font-small {
    padding-top: 3px;
    font-size: 10px;
    font-weight: 200;
}

.v2_privilege_list>li>a,
.v2_privilege_list_half>li>a {
    position: relative;
}

.v2_privilege_list>li>a:hover {
    cursor: pointer;
}

.v2_privilege_list>li>span::before,
.v2_privilege_list>li>a::before {
    content: "";
    display: block;
    margin: 8px auto 4px;
    height: 46px;
    width: 100%;
}

.v2_privilege_list>li:nth-child(2)>a::before {
    height: 54px;
}

.v2_privilege_list>li:nth-child(3)>a::before {
    height: 60px;
}

.v2_privilege_list>li>ul>li>span::before,
.v2_privilege_list>li>ul>li>a::before {
    content: "";
    display: block;
    /* margin: 12px auto 10px; */
    height: 48px;
    width: 100%;
}

.v2_privilege_list>li:nth-child(1) a::before {
    background: center bottom / 60px auto no-repeat url("../images/common/privilege_ico03_v2.png");
}

.v2_privilege_list>li:nth-child(2) a::before {
    background: center bottom / 70px auto no-repeat url("../images/common/privilege_ico05.png");
}

.v2_privilege_list>li:nth-child(3) a::before {
    background: center bottom 0px / 70px auto no-repeat url("../images/common/privilege_ico02_v2.png");
}

.v2_privilege_list_half>li:nth-child(1)>span::before {
    background: center bottom 2px / 40px auto no-repeat url("../images/common/privilege_ico01_v2.png");
}

.v2_privilege_list_half>li:nth-child(2)>a::before {
    background: center bottom 2px / 36px auto no-repeat url("../images/common/privilege_ico04_v2.png");
}

.v2_privilege_list_half span.font-medium {
    font-size: 16px;
    line-height: 1.6;
}

.v2_privilege_list>li>a::after,
.v2_privilege_list_half>li:nth-child(2)>a::after {
    border: 6px solid transparent;
    border-left: 6px solid #447355;
    box-sizing: border-box;
    content: "";
    height: 7px;
    width: 7px;
    position: absolute;
    right: -1px;
    bottom: -1px;
    transform: rotate(45deg);
}

.v2_privilege_list #modal-shitadori.privilege-modal-content {
    max-width: 900px;
}

.v2_privilege_list #modal-shitadori.privilege-modal-content .modal-content-inner {
    padding: 30px;
}

.v2_privilege_list #modal-shitadori.privilege-modal-content .modal-content-image {
    width: 400px;
}

.v2_privilege_list #modal-shitadori.privilege-modal-content .modal-content-text {
    padding-left: 60px;
    padding-right: 20px;
}

.v2_privilege_list #modal-shitadori .modal-content-text .btn a {
    width: 275px;
    height: 55px;
    line-height: 55px;
}

.v2_privilege_list li:nth-child(1) a.modal-btn>span:nth-child(1),
.v2_privilege_list li:nth-child(2) a.modal-btn>span:not(:nth-child(1)),
.v2_privilege_list li:nth-child(3) a.modal-btn>span:not(:nth-child(1)) {
    text-decoration: underline solid #D9E6D2 6px;
    text-underline-offset: -2px;
    text-decoration-skip-ink: none;
}

/* recommend - おすすめ商品 ※不要
-------------------------------------------------------------*/

#accesslog_recommend {
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto 24px;
    position: relative;
    padding: 0px 30px;
}

#accesslog_recommend>h2 {
    text-align: center;
    font-size: 32px;
    padding-bottom: 36px;
}

.recommend_list {
    display: flex;
}

.recommend_list>li {
    width: 280px;
    display: flex;
    flex-direction: column;
    padding: 0px 12px;
    margin: 0px 6px;
}

.recommend_item_image {
    width: 100%;
    height: auto;
}

.recommend_item_image-box {
    min-height: 0%;
}

.recommend_item_name {
    margin-top: 20px;
    position: relative;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.recommend_item_name_anchor:after {
    position: absolute;
    content: "";
    display: block;
    width: 8px;
    height: 12px;
    background: url(../images/common/right_arrow_green.gif) center center no-repeat;
    top: 50%;
    right: -16px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}


/* campaign - あなたに合うのはどの製品
-------------------------------------------------------------*/

.campaign_inner {
    margin: 0px auto 80px;
    max-width: 1200px;
    width: calc(100%-30px);
}

.campaign_ttl {
    text-align: center;
    font-size: 32px;
    margin-bottom: 10px;
}

.campaign_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 48px;
}

.campaign_item img {
    width: 100%;
}


/* .campaign_item{
  margin: 10px 0;
  width: 49%;
} */

.campaign_item a:hover {
    opacity: 0.7;
}


/* item_list - 商品一覧
-------------------------------------------------------------*/

#model_list {
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 44px auto 40px;
    padding: 0 30px;
}

.model_list-top {
    padding: 0px 30px;
}

.model_list>ul {
    display: flex;
    flex-wrap: wrap;
}

.model_list>ul>li {
    display: flex;
    flex-direction: column;
    width: 330px;
    width: calc(100% / 3 - 66.667px);
    position: relative;
    padding-top: 28px;
    margin-bottom: 90px;
}

.model_list>ul>li:not(:nth-child(3n)) {
    margin-right: 100px;
}

.icon_box {
    position: absolute;
    top: 0;
}

.model_list-top .icon_box span {
    display: inline-block;
    margin-bottom: 4px;
}

.model_image-box {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin: 0 auto 16px;
}

.model_image-box img {
    width: 100%;
    height: auto;
}

.model_name-box {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 16px;
    position: relative;
}

.model_name-box:after {
    position: absolute;
    content: "";
    display: block;
    margin-left: 13px;
    color: #87a28e;
    background: url(../images/common/footer/right_arrow_green.gif) no-repeat;
    width: 8px;
    height: 12px;
    top: 50%;
    right: -22px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

.model_detail-box {
    font-size: 18px;
    font-weight: bold;
    color: #333;
    margin-top: 16px;
    margin-bottom: 20px;
    text-align: center;
}

.model_quality-list {
    border-top: 1px solid #e2e2e2;
    padding-top: 15px;
}

.model_quality-list li {
    display: flex;
    align-items: center;
}

.model_quality-list li:not(:first-child) {
    margin-top: 12px;
}

.model_quality-image {
    width: 70px;
    height: 70px;
    margin-right: 16px;
}

.model_quality-image img {
    width: 100%;
    height: auto;
}

.model_quality-txt {
    flex: 1;
    font-size: 16px;
}

.modal_ability-listIcon {
    display: flex;
    width: 90%;
    margin: 0 0 20px;
}

.modal_ability-listIcon>li {
    width: 52px;
    height: 52px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    overflow: hidden;
}

.modal_ability-listIcon>li:not(:last-child) {
    margin-right: 5%;
}

.ability_icon {
    cursor: pointer;
}

.ability_icon>img {
    width: 100%;
    height: auto;
}

.ability_icon:hover img {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -webkit-filter: alpha(opacity=70);
}

.model_spec-table {
    width: 100%;
    border: 1px solid #ebebeb;
    table-layout: fixed;
}

.option_fix-list>ul>li {
    display: flex;
    flex-wrap: wrap;
}

.option_fix-list>ul>li.braava>.model_number-icon {
    width: 38px;
    padding: 2px 3px;
}

.model_number-icon {
    display: block;
    font-size: 13px;
    font-weight: bold;
    background: #87a28e;
    padding: 2px 5px;
    color: #fff;
    margin: 0 6px 6px 0;
    min-width: 38px;
    border-radius: 3px;
    text-align: center;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
}

.table_head,
.table_data,
.table_head-option,
.table_data-option {
    padding: 10px;
    border: 1px solid #ebebeb;
}

.head_price,
.data_price {
    font-weight: bold;
    font-size: 16px;
}

.table_head {
    width: 40%;
}

.table_data {
    width: 60%;
    text-align: center;
}

.table_head-option {
    width: 20%;
}

.table_data-option {
    width: 80%;
    text-align: center;
}


/* item_list - 商品一覧、モーダルウィンドウ
-------------------------------------------------------------*/

#modal-bg {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 100;
    cursor: pointer;
}

.modal_contents {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    width: 56%;
    height: 450px;
    background: #fff;
    z-index: 101;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    -ms-border-radius: 6px;
    -o-border-radius: 6px;
}

.modal_contents-inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.function_modal-icon {
    margin-bottom: 30px;
}

.function_modal-txt {
    margin-bottom: 50px;
    font-size: 16px !important;
}

.function_modal-head2 {
    margin-bottom: 13px;
}

.function_modal-head2,
.function_modal-detail {
    text-align: center;
}

.modal-closeBtn {
    text-align: center;
    color: #fff;
    font-size: 16px;
    width: 200px;
    padding: 10px 0;
    background: #64a70b;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    cursor: pointer;
}


/* ranking - 人気商品ランキング
-------------------------------------------------------------*/

#ranking {
    float: right;
    width: 190px;
    margin-bottom: 10px;
    background: url("../images/sidebar_middle_bg.gif") repeat-y;
}

#ranking h2 {
    display: block;
    width: 190px;
    height: 30px;
    padding: 0;
    background: url("../images/ranking_title.gif") no-repeat;
    text-indent: -9999px;
}

#ranking h4 {
    width: 110px;
    margin-left: 10px;
    font-size: 80%;
    font-weight: normal;
}

#ranking h3 {
    width: 100px;
    height: 20px;
    text-indent: -9999px;
}

#ranking p {
    width: 110px;
    margin: 0 0 5px 10px;
    color: #C00;
    font-size: 75%;
}

#ranking #ranking_no1 h3 {
    background: url("../images/ranking_no01.gif") 10px 5px no-repeat;
}

#ranking #ranking_no2 h3 {
    background: url("../images/ranking_no02.gif") 10px 5px no-repeat;
}

#ranking #ranking_no3 h3 {
    background: url("../images/ranking_no03.gif") 10px 5px no-repeat;
}

#ranking #ranking_no4 h3 {
    background: url("../images/ranking_no04.gif") 10px 5px no-repeat;
}

#ranking #ranking_no5 h3 {
    background: url("../images/ranking_no05.gif") 10px 5px no-repeat;
}

#ranking #ranking_no6 h3 {
    background: url("../images/ranking_no06.gif") 10px 5px no-repeat;
}

#ranking #ranking_no7 h3 {
    background: url("../images/ranking_no07.gif") 10px 5px no-repeat;
}

#ranking #ranking_no8 h3 {
    background: url("../images/ranking_no08.gif") 10px 5px no-repeat;
}

#ranking #ranking_no9 h3 {
    background: url("../images/ranking_no09.gif") 10px 5px no-repeat;
}

#ranking #ranking_no10 h3 {
    background: url("../images/ranking_no10.gif") 10px 5px no-repeat;
}

#ranking .box {
    zoom: 1;
    border-bottom: #CCC solid 1px;
}

#ranking .box:after {
    content: ".";
    display: block;
    visibility: hidden;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    clear: both;
}


/* clearfix */

#ranking .text {
    float: left;
    width: 120px;
    margin-bottom: 5px;
}

#ranking .img {
    float: left;
    width: 50px;
    height: 50px;
    margin: 10px;
}


/* root_cpn - キャンペーンバナー（2021/09/17 Add）
-------------------------------------------------------------*/

.root_cpn_background {
    padding-top: 20px;
    padding-bottom: 25px;
    background-color: #dbe8d4;
    margin-top: 80px;
    margin-bottom: 13px;
}

.root_cpn_background + .root_cpn_background {
    display: none;
}

#root_cpn {
    margin: auto;
    max-width: 1000px;
}

#root_cpn .root_cpn_item:not(:last-child) {
    margin-bottom: 60px;
}

#root_cpn .root_cpn_notes {
    margin: 1em 1em 0;
}


/* キャンペーンバナー 改修　2022.11.18 */

.root_cpn_background {
    margin-top: 0;
    margin-bottom: 0;
    padding-bottom: 25px;
    background-color: #87a28e;
}

#root_cpn .campaign_ttl {
    color: #fff;
    font-size: 24px;
    letter-spacing: 0.04em;
}

#root_cpn .campaign_box {
    display: flex;
    flex-wrap: wrap;
    margin: -15px;
}

#root_cpn .campaign_item {
    width: calc(100% / 2);
    padding: 15px;
}


/* =================================================================
8.ご利用規約
=================================================================*/

#ext {
    padding-right: 20px;
    font-size: 13px;
}

#ext h3 {
    margin: 32px 0 0;
    font-size: 14px;
    padding-left: 12px;
    position: relative;
}

#ext h3::before {
    background: #518a70;
    border-radius: 10px;
    content: "";
    display: inline-block;
    height: 10px;
    width: 10px;
    position: absolute;
    top: .3em;
    left: 0;
}

#ext p {
    margin: 14px 0 0 22px;
}

#ext p.first {
    margin: 0;
}

#ext ol {
    margin-left: 36px;
}

#ext ol li {
    margin-top: 14px;
    padding-left: 1em;
    list-style: decimal;
}

#ext ol li li {
    margin-top: 0;
}

#ext ul {
    margin-left: 36px;
}

#ext ul li {
    padding-left: 1em;
    list-style: disc;
}


/* =================================================================
9.カテゴリから探す
=================================================================*/

#itemListCategory h2 {
    padding-top: 10px;
    font-size: 24px;
    font-weight: bold;
}

#itemListCategory #sub {
    margin-top: 30px;
}

#itemListCategory #sub li {
    float: left;
    margin-right: 38px;
    padding-left: 20px;
    background: url("../images/icon_arrow_02.png") no-repeat 0 .2em;
    font-size: 13px;
}

#itemListCategory #sub li a {
    color: #333333;
    text-decoration: none;
}

#itemListCategory #sub li a.select,
#itemListCategory #sub li a:hover {
    color: #6fba2c;
    text-decoration: underline;
}

#list {
    margin-top: 26px;
    font-size: 13px;
}

#list .pageguide {
    float: left;
    padding-top: 7px;
}

#list .rearrange {
    float: right;
}

#list .rearrange select {
    height: 32px;
    margin-left: 10px;
    text-align: center;
}

#list .pagelink {
    margin-top: 12px;
}

#list .pagelink select {
    width: 74px;
    height: 32px;
    text-align: center;
}

#itemListImage {
    margin: 0 0 50px -47px;
    padding-top: 10px;
    letter-spacing: -0.4em;
}

#itemListImage h2 {
    margin: 0 0 -20px 47px;
    font-size: 24px;
    font-weight: normal;
    letter-spacing: 0;
}

#itemListImage h2 span {
    font-size: 14px;
}

#itemListImage h2 span a {
    color: #333333;
    text-decoration: underline;
}

#itemListImage h2 span a:hover {
    text-decoration: none;
}

#itemListImage .box {
    display: inline-block;
    width: 190px;
    margin: 40px 0 0 47px;
    text-align: center;
    vertical-align: top;
    letter-spacing: 0;
}

#itemListImage .box .img_box {
    width: 190px;
    height: 190px;
    line-height: 190px;
}

#itemListImage .box .img_box img {
    max-width: 190px;
    max-height: 190px;
    vertical-align: middle;
}

#itemListImage .box .name {
    margin-top: 10px;
    font-size: 14px;
}

#itemListImage .box .name a {
    color: #333333;
}

#itemListImage .box .name a:hover {
    text-decoration: underline;
}

#itemListImage .box .price {
    margin-top: 6px;
    color: #666666;
}

#itemListImage .box .button {
    margin-top: 14px;
}

#listBannerArea {
    margin-top: 37px;
}

#listBannerArea p {
    margin-top: 5px;
    font-size: 11px;
}

#listBannerArea p.note {
    margin-top: 10px;
}


/* =================================================================
10.商品詳細
=================================================================*/

.purchase_area {
    width: 100%;
    padding: 12px 0;
    background: #fff;
    top: 0;
    left: 0;
    z-index: 60;
    border: 1px solid #F2F2F2;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

form[name='detailForm'] .purchase_area {
    margin: 0 auto;
}

.purchase_name {
    font-size: 26px;
}

.purchase_area-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto;
    padding: 0 30px;
}

.purchase_btn-box {
    display: flex;
    align-items: center;
}

.purchase_btn-count {
    display: flex;
    align-items: center;
    margin-right: 24px;
}

.purchase_btn-count>span {
    font-size: 14px;
    display: inline-block;
    margin-right: 14px;
    white-space: nowrap;
}

.select_wrap {
    position: relative;
}

.cart_amount {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    opacity: 0;
    border: 0;
    padding: 7px 20px 6px 0;
    width: 95px;
    z-index: 10;
}

.cart_amount-layout {
    position: absolute;
    top: 0;
    font-size: 16px;
    border: 1px solid #87a28e;
    width: 100%;
    height: 100%;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    padding-left: 4px;
}

.cart_amount-layout:before,
.cart_amount-layout:after {
    content: "";
    display: block;
    position: absolute;
}

.cart_amount-layout:before {
    width: 1px;
    height: 100%;
    background: #87a28e;
    top: 0;
    right: 28px;
}

.cart_amount-layout:after {
    width: 4px;
    height: 4px;
    border-right: 1px solid #87a28e;
    border-bottom: 1px solid #87a28e;
    top: 50%;
    right: 13px;
    transform: rotate(45deg) translateY(-50%);
    -webkit-transform: rotate(45deg) translateY(-50%);
    -moz-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    -o-transform: rotate(45deg) translateY(-50%);
}

.cart_amount_2 {
    font-size: 16px;
    position: relative;
    border: 1px solid #87a28e;
    width: 100%;
    height: 100%;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
}

.cart_amount_2::before,
.cart_amount_2::after {
    content: "";
    display: block;
    position: absolute;
}

.cart_amount_2::before {
    width: 1px;
    height: 100%;
    background: #87a28e;
    top: 0;
    right: 28px;
}

.cart_amount_2::after {
    width: 4px;
    height: 4px;
    border-right: 1px solid #87a28e;
    border-bottom: 1px solid #87a28e;
    top: 50%;
    right: 13px;
    transform: rotate(45deg) translateY(-50%);
    -webkit-transform: rotate(45deg) translateY(-50%);
    -moz-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    -o-transform: rotate(45deg) translateY(-50%);
}

.cart_amount_2 select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
    border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    -ms-border-radius: 0px;
    -o-border-radius: 0px;
    background: none;
    border: 0;
    font-size: inherit;
    line-height: 1;
    outline: none;
    padding: 6px 28px 5px 4px;
    width: 95px;
}

.purchase_btn-buy-wrap {
    /*padding-right: 20px;*/
}

.purchase_btn-rental-wrap {
    padding-left: 20px;
    border-left: 1px solid #f0f0f0;
}

.purchase_btn-buy,
.purchase_btn-rental {
    cursor: pointer;
    border-radius: 15px;
    -webkit-border-radius: 15px;
    -moz-border-radius: 15px;
    -ms-border-radius: 15px;
    -o-border-radius: 15px;
}

.purchase_btn-buy {
    font-size: 14px;
    padding: 6px 34px;
    background: #457456;
    color: #fff;
    border: none;
    border-radius: 20px;
    /*
  font-family: kozuka-gothic-pr6n, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Osaka", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 500;
  font-style: normal;
*/
    font-family: inherit;
}

.purchase_btn-buy.soldout {
    background: #ddd;
    color: #999;
    cursor: auto;
    padding: 9px 34px;
}

.purchase_btn-rental {
    background: #fff;
    color: #6fba2c;
    font-size: 16px;
    padding: 3px 20px;
    border: 1px solid #6fba2c;
    text-align: center;
}

.purchase_btn-rental>a {
    color: #6fba2c;
}

.purchase_btn-rental.soldout {
    background: #ddd;
    color: #999;
    cursor: auto;
    border: none;
}

.purchase_btn-buy-wrap .not-yoyaku {
    background: #457456;
    border-radius: 20px;
    position: relative;
}

.purchase_btn-buy-wrap .not-yoyaku::before {
    background: url("../images/detail/icon_cart.png") center/contain no-repeat;
    content: "";
    height: 20px;
    width: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 32px;
}

.purchase_btn-buy-wrap .not-yoyaku .purchase_btn-buy {
    background: none;
    padding: 6px 34px 6px 60px;
    position: relative;
    z-index: 1;
}

.thumnail_pager {
    position: relative;
    width: 480px !important;
    height: 80px;
    margin: 30px auto 0;
}

.item_image-slider2>li {
    width: 80px !important;
    height: 80px !important;
}

.item_image-slider2>li>a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.item_image-slider2>li>a>img {
    width: auto;
    height: auto;
    max-width: 80px;
    max-height: 80px;
}

.item_image-slider2>li:hover {
    cursor: pointer;
}

.item_image-slider>li {
    width: 480px !important;
    height: 480px !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.item_image-slider2>li>img {
    width: 100%;
    height: auto;
}

.feed-prev-btn {
    left: -25px;
}

.feed-next-btn {
    right: -25px;
}

.feed-prev-btn .bx-prev,
.feed-next-btn .bx-next {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 0;
}

.feed-prev-btn .bx-prev.disabled,
.feed-next-btn .bx-next.disabled {
    display: none;
}

.feed-prev-btn .bx-prev {
    background: url("../images/common/slide_arrow_left.png") center/cover no-repeat;
}

.feed-next-btn .bx-next {
    background: url("../images/common/slide_arrow_right.png") center/cover no-repeat;
}

.navi-btn {
    position: absolute;
    width: 10px;
    height: 17px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    z-index: 20;
}


/* 関連機種・オプション スライドコントロール設定 */

.prev_btn {
    left: 0;
    background-image: url(../images/common/btn_prev_green.png);
    background-size: 25px;
    width: 25px;
    height: 50px;
}

.next_btn {
    right: 0;
    background-image: url(../images/common/btn_next_green.png);
    background-size: 25px;
    width: 25px;
    height: 50px;
}

.prev_btn .bx-prev,
.next_btn .bx-next {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 0;
}


/* 楽天ペイポイントパーツ */

.rakuten-pay-box a {
    color: #323232;
    text-decoration: underline;
    transition: all .3s ease;
}

.rakuten-pay-box a:hover {
    color: #87a28e;
    text-decoration: underline;
    transition: all .3s ease;
}


/* ===========================
* 製品説明
==============================*/

#item_detail {
    margin-bottom: 60px;
}

.item_detail-inner {
    display: flex;
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 61px auto 60px;
}

#item_detail .item_detail-inner {
    max-width: 1200px;
}

.item_image-box {
    margin-right: 120px;
}

.item_image-slider-main {
    width: 480px;
    height: 480px;
    position: relative;
}

.item_image-slider>li,
.item_image-slider2>li {
    display: none;
}

.item_image-slider-main .bx-viewport {
    border: 1px solid #ebebeb;
}

.bx-viewport>.item_image-slider>li,
.bx-viewport>.item_image-slider2>li {
    display: flex !important;
}

.item_image-slider>li>img {
    width: auto;
    height: auto;
    max-width: 480px;
    max-height: 480px;
}

.item_detail-box {
    width: 640px;
    position: relative;
}

.item_appeal-txt {
    font-size: 20px;
    font-weight: bold;
    line-height: 180%
}

.item_ability-iconList {
    display: flex;
}

.item_ability-iconList>li {
    width: 52px;
    height: 52px;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    overflow: hidden;
}

.item_ability-iconList>li:not(:last-child) {
    margin-right: 10px;
}

.ability_icon {
    cursor: pointer;
}

.ability_icon>img {
    width: 100%;
    height: auto;
}

.item_price-box {
    margin-bottom: 30px;
}

.item_price-txt {
    font-size: 26px;
}

.item_price-box2 {
    margin-bottom: 0px;
}

.item_price-txt2 {
    font-size: 20px;
    text-decoration-line: line-through;
}

.item_ability-box {
    margin: 33px auto 25px;
}

.item_other-box {
    margin-bottom: 40px;
}

.item_other-box .announce {
    text-align: center;
    margin-bottom: -20px;
    margin-top: 40px;
    font-size: 18px;
    font-weight: 700;
}

.item_other-txt {
    font-size: 16px;
}

.item_other-txt>span {
    display: block;
}

.item_other-txt>span:first-child {
    margin-bottom: 10px;
}

.item_other-txt span.medium {
    font-size: 20px;
}

.item_grandprix {
    position: absolute;
    top: 175px;
    right: 75px;
    width: 180px;
}

.item_grandprix>img {
    width: 100%;
    height: auto;
}

.item_officialStore-box {
    background: #f3f3f3;
    padding: 10px;
    margin-bottom: 50px;
}

.item_purchase-box {
    padding-bottom: 30px;
    display: flex;
    justify-content: center;
}

.purchase_btn-box {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.item_purchase_btn-count {
    display: flex;
    align-items: center;
}

.item_purchase_btn-count>span {
    font-size: 18px;
    margin-right: 11px;
}

.item_purchase_btn-count>.select_wrap {
    margin-right: 25px;
}

.item_cart_amount {
    position: relative;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    opacity: 0;
    border: 0;
    padding: 15px 49px 16px 0;
    width: 136px;
    z-index: 10;
}

.item_cart_amount-layout {
    position: absolute;
    top: 0;
    font-size: 16px;
    border: 1px solid #6fba2c;
    width: 100%;
    padding: 11px 49px 11px 0;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    padding-left: 4px;
    text-align: center;
}

.item_cart_amount-layout:before,
.item_cart_amount-layout:after {
    content: "";
    display: block;
    position: absolute;
}

.item_cart_amount-layout:before {
    width: 1px;
    height: 100%;
    background: #6fba2c;
    top: 0;
    right: 47px;
}

.item_cart_amount-layout:after {
    width: 6px;
    height: 6px;
    border-right: 2px solid #7a0;
    border-bottom: 2px solid #7a0;
    top: 50%;
    right: 21px;
    transform: rotate(45deg) translateY(-50%);
    -webkit-transform: rotate(45deg) translateY(-50%);
    -moz-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    -o-transform: rotate(45deg) translateY(-50%);
}

.item_purchase_btn-buy-wrap {
    position: relative;
    background: #457456;
    width: 420px;
    border-radius: 34px;
    transition: all 0.6s ease;
}

.item_purchase_btn-buy-wrap:hover {
    opacity: 0.6;
}

.item_purchase_btn-buy-wrap:after,
.item_purchase_btn-rental-wrap:after {
    position: absolute;
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    top: 50%;
    right: 34px;
    transform: rotate(45deg) translateY(-50%);
    -webkit-transform: rotate(45deg) translateY(-50%);
    -moz-transform: rotate(45deg) translateY(-50%);
    -ms-transform: rotate(45deg) translateY(-50%);
    -o-transform: rotate(45deg) translateY(-50%);
}

.item_purchase_btn-buy-wrap:after {
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}

.item_purchase_btn-rental-wrap:after {
    border-top: 2px solid #7a0;
    border-right: 2px solid #7a0;
}

.item_purchase_btn-rental-wrap.course-2week:after,
.item_purchase_btn-rental-wrap.course-1month:after {
    border-top: 2px solid #333;
    border-right: 2px solid #333;
}

.item_purchase_btn-rental-wrap.robosma-lp:after {
    content: none;
}

.item_purchase_btn-buy {
    display: block;
    color: #fff;
    padding: 15px 0;
    font-size: 20px;
    letter-spacing: .12em;
    text-align: center;
    cursor: pointer;
    border: none;
    border-radius: 34px;
    background: #457456;
    width: 100%;
    /*
  font-family: kozuka-gothic-pr6n, "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "Osaka", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 500;
  font-style: normal;
*/
    font-family: inherit;
}

.item_purchase_btn-buy.soldout {
    background: #ddd;
    color: #999;
    cursor: auto;
    padding: 20px 0;
}

.item_purchase_btn-buy-wrap .not-yoyaku {
    position: relative;
}

.item_purchase_btn-buy-wrap .not-yoyaku::before {
    background: url("../images/detail/icon_cart_2.png") center top/contain no-repeat;
    content: "";
    height: 28px;
    width: 28px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 148px;
}

.item_purchase_btn-buy-wrap .not-yoyaku .item_purchase_btn-buy {
    background: none;
    padding-left: 45px;
    position: relative;
    z-index: 1;
}

.item_rental-box {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.item_purchase_btn-rental-wrap {
    border: 1px solid #64a70b;
    border-radius: 4px;
    position: relative;
    width: 420px;
    border-radius: 4px;
    margin: 0 auto;
    overflow: hidden;
}

.item_purchase_btn-rental-wrap.course-2week,
.item_purchase_btn-rental-wrap.course-1month {
    border-color: #ebebeb;
    color: #333;
}

.item_purchase_btn-rental-wrap.robosma-lp {
    border: none;
    background: #ebebeb;
}

.item_purchase_btn-rental-wrap:not(:first-child) {
    margin-top: 20px;
}

.item_purchase_btn-rental {
    -webkit-appearance: none;
    text-align: center;
    cursor: pointer;
    width: 100%;
    text-align: center;
    border: 0;
}

.item_purchase_btn-rental.course-2week,
.item_purchase_btn-rental.course-1month,
.item_purchase_btn-rental.robosma-lp {
    color: #333;
    font-weight: bold;
}

.item_purchase_btn-rental>a {
    display: block;
    padding: 8px 20px;
    color: #64a70b;
    font-size: 24px;
}

.item_purchase_btn-rental.course-2week>a,
.item_purchase_btn-rental.course-1month>a {
    display: flex;
    flex-direction: column;
    color: #333;
    font-size: 18px;
    font-weight: bold;
    transition: all 0.3s ease;
}

.item_purchase_btn-rental.robosma-lp>a {
    display: flex;
    flex-direction: column;
    color: #333;
    font-size: 16px;
    transition: all 0.3s ease;
    padding: 10px 20px;
}

.item_purchase_btn-rental.course-2week>a:hover,
.item_purchase_btn-rental.course-1month>a:hover {
    opacity: 0.6;
}

.item_purchase_btn-rental.robosma-lp>a:hover {
    opacity: 0.6;
}

.item_purchase_btn-rental.course-2week>a>.font-small,
.item_purchase_btn-rental.course-1month>a>.font-small {
    font-size: 13px;
    font-weight: normal;
}

.item_purchase_btn-rental.robosma-lp>a>.font-small {
    font-size: 12px;
    font-weight: normal;
}

.item_purchase_btn-rental.soldout {
    background: #ddd;
    color: #999;
    cursor: auto;
    border: none;
}

.course-2week__disclaimer {
    width: 380px;
    margin: 36px auto 0;
}


/* ============== =============
* 製品関連機種,オプション・消耗品
==============================*/

#relate_product,
#option_product {
    padding-bottom: 80px;
    margin-bottom: 31px;
}

#relate_product {
    padding-top: 80px;
    border-top: 1px solid #ebebeb;
    border-bottom: 1px solid #ebebeb;
}

#option_product {
    margin-bottom: 0;
}

#relate_product>h2,
#option_product>h2 {
    font-size: 24px;
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto 12px;
    padding: 0 30px;
}

#relate_product>#relate,
#option_product>#option {
    position: relative;
    padding: 0px 36px;
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto;
    padding: 0 30px;
}


/* ===========================
* 製品機能紹介
==============================*/


/************ 共通 ************/

#item_feature-wrap {
    width: 100%;
    text-align: center;
}

#item_feature-wrap2 {
    width: 100%;
    text-align: center;
}

.item_feature-wrap img {
    width: 100%;
    height: auto;
}

.item_feature-wrap2 img {
    width: 60%;
    height: auto;
}


/************ 特徴1 ************/

.item_feature-inner {
    width: 100%;
    max-width: 1260px;
    min-width: 1000px;
    margin: 0 auto;
    padding: 0 30px;
}

.item_feature01 {
    margin-bottom: 81px;
}

.mod_item_feature-ttl {
    font-size: 48px;
    font-weight: bold;
}

.mod_item_feature-ttl2 {
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 10px;
}

.mod_item_feature-subTtl {
    font-size: 18px;
    font-weight: bold;
    color: #999;
    margin: -6px 0 23px 0;
}

.mod_item_feature-definition>dt {
    font-size: 26px;
    font-weight: bold;
    margin-bottom: 14px;
}

.mod_item_feature-definition>dd {
    font-size: 16px;
    margin-bottom: 34px;
}

.mod_item_feature-image {
    width: 600px;
    margin: 0 auto;
}

.mod_item_feature-image2 {
    width: 600px;
    margin: 0 auto;
}

.mod_item_feature-image2>p {
    font-size: 16px;
    margin-bottom: 34px;
}

.mod_item_feature-image3 {
    width: 800px;
    margin: 0 auto;
}

.mod_item_feature-image4 {
    width: 100%;
    margin: 0 auto;
}


/* 2021-12-23 Add */

.mod_item_feature-image-xl {
    width: 940px;
    margin: 0px 50px 50px 115px;
}

.mod_item_feature-image-xl.center {
    margin: 0px auto;
}


/* 2022-01-18 Add */

.mod_item_feature-image-auto img {
    width: auto;
}


/************ 特徴2 ************/

.item_feature02 {
    margin-bottom: 77px;
}

.mod_item_feature-definition-txt01 {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 13px;
}

.item_feature02 .mod_item_feature-subTtl {
    margin-bottom: 17px;
}

.item_feature02 .mod_item_feature-definition dt {
    margin-bottom: 20px;
}


/************ 特徴3 ************/

.item_feature03 {
    margin-bottom: 80px;
}

.item_feature03 .mod_item_feature-definition {
    font-size: 16px;
    margin-bottom: 40px;
}

.mod_item_feature-remarks {
    font-size: 14px;
    text-align: left;
}

.mod_item_feature-remarks>p {
    position: relative;
    padding-left: 23px;
}

.remarks01,
.remarks02 {
    margin-bottom: 8px;
}

.remarks01:before {
    content: "*1";
}

.remarks02:before {
    content: "*2";
}

.remarks03:before {
    content: "*3";
}

.remarks01:before,
.remarks02:before,
.remarks03:before {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.item_feature03 .mod_item_feature-image {
    margin-bottom: 27px;
}


/************ 特徴4 ************/

.item_feature04 {
    margin-bottom: 80px;
}

.item_feature04 .mod_item_feature-ttl {
    margin-bottom: 16px;
}

.item_feature04 .mod_item_feature-definition {
    font-size: 16px;
    margin-bottom: 32px;
}


/************ 既存機能紹介 ************/

.item_feature05 {
    margin-bottom: 85px;
}

.item_feature05 .mod_item_feature-lead {
    font-size: 26px;
    margin-bottom: 23px;
}

.spec01,
.spec02 {
    margin-bottom: 48px;
}

.item_feature05 .spec-txt01 {
    font-size: 20px;
    margin-bottom: 10px;
}

.item_feature05 .spec-txt02 {
    font-size: 16px;
    margin-bottom: 32px;
}


/************ {機種名}の主な機能 ************/

.item_feature06 {
    width: 600px;
    margin: 0 auto;
}

.item_feature06 .mod_item_feature-icon img {
    width: auto;
}

.item_feature06 .mod_item_feature-ttl {
    margin-bottom: 29px;
}

.mod_item_feature-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 0px 10px;
}

.mod_item_feature-list>li {
    display: flex;
    width: 270px;
    border-bottom: 1px solid #9b9b9b;
}

.mod_item_feature-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100px;
}

.mod_item_feature-txt {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: 16px;
    width: 190px;
}

.item_feature06 .mod_item_feature-image {
    padding: 12px;
    margin-bottom: 56px;
}


/************ セット内容 ************/

.item_feature07 {
    border-top: 1px solid #ebebeb;
    text-align: center;
    margin-top: 60px;
}

.item_feature07-inner {
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto;
    padding: 56px 30px 58px;
}

.mod_item_set-ttl {
    font-size: 32px;
    margin-bottom: 26px;
}

.mod_item_set-ttl2 {
    font-size: 35px;
    border-bottom: solid 3px;
    margin: 0px 400px 20px 400px;
    padding-bottom: 10px;
}

.mod_item_set-image {
    width: 600px;
    margin: 0 auto 29px;
}

.mod_item_set-image>img {
    width: 100%;
    height: auto;
}

.mod_item_set-txt {
    font-size: 20px;
    margin: 0 auto 10px;
}


/************ 製品仕様 ************/

.item_feature08 {
    text-align: center;
    margin-bottom: 51px;
}

.item_feature08-inner {
    width: 100%;
}

.mod_item_spec-ttl {
    font-size: 32px;
    margin-bottom: 26px;
}

.mod_item_spec-table {
    width: 100%;
    margin-bottom: 26px;
    border: 1px solid #ebebeb;
}

.mod_item_spec-table .table_head {
    font-size: 16px;
    color: #5a5b58;
    text-align: left;
    background: #dce9d5;
    padding: 12px 20px;
    width: 320px;
    border: 1px solid #ebebeb;
}

.mod_item_spec-table .table_head2 {
    display: table-cell;
    font-size: 24px;
    color: #87a28e;
    text-align: center;
    background: #FFFFFF;
    padding: 19px 13px;
    width: 30%;
    border: 1px solid #87a28e;
}

.mod_item_spec-table .table_head3 {
    display: table-cell;
    font-size: 20px;
    color: #ffffff;
    text-align: center;
    background: #518a70;
    padding: 19px 13px;
    width: 30%;
    border: 1px solid #ebebeb;
}

.mod_item_spec-table .table_head4 {
    display: table-cell;
    font-size: 20px;
    color: #518a70;
    text-align: center;
    background: #ffffff;
    padding: 19px 13px;
    width: 30%;
    border: 2px solid #518a70;
}

.mod_item_spec-table .table_data {
    font-size: 16px;
    text-align: left;
    width: 640px;
    padding: 12px 20px;
    border: 1px solid #ebebeb;
}

.mod_item_spec-table .table_data2 {
    font-size: 16px;
    text-align: left;
    width: 640px;
    padding: 12px 20px;
    border: 2px solid #518a70;
}

.mod_item_spec-note {
    font-size: 14px;
    text-align: left;
    margin-left: 12.5%;
}


/************ 購入導線 ************/

.item_feature-purchase {
    width: 100%;
    max-width: 1260px;
    min-width: 1100px;
    margin: 0 auto 79px;
    padding: 0 30px;
}

.item_feature-purchase>div>.purchase_btn-box {
    justify-content: center;
}

.item_feature-purchase>.item_rental-box {
    justify-content: center;
}

/* ===========================
* セット製品のタブ
  2023/10/31 Add
==============================*/

.item_feature_tab-wrap {}

body {
    overflow-x: hidden;
}

.item_feature_tab-menu {
    position: static;
    display: flex;
    column-gap: 10px;
    align-items: flex-end;
    justify-content: center;
    border-bottom: 1px solid #447354;
    top: 65px;
    left: 50%;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    z-index: 50;
    width: 100vw;
    background-color: #ffffff;
    padding-top: 40px;
}

.item_feature_tab-menu.is-tabFixed {
    position: fixed;
    transform: translateX(-50%);
}

.item_feature_tab-menu-item {
    display: block;
    background-color: #86A28E;
    font-size: 14px;
    color: #ffffff;
    font-weight: 700;
    text-align: center;
    padding: 13px 10px 10px;
    width: 495px;
    cursor: pointer;
}

.item_feature_tab-menu-item.is-selected {
    color: #000000;
    font-size: 18px;
    background-color: #ffffff;
    border-top: 3px solid #447354;
    border-right: 1px solid #447354;
    border-left: 1px solid #447354;
    cursor: default;
}

.item_feature_tab-content {
    display: none;
}

.item_feature_tab-content.is-selected {
    display: block;
}



.item_feature_intro {
    margin-bottom: 75px;
}

.item_feature_intro sup {}

.item_feature_intro.contents_intro h2 {
    font-size: 30px;
    line-height: 150%;
    background: #87A28E;
}

.item_feature_intro-txt {}

.item_feature_intro ul.notes-list>li {}

.item_feature_intro ul.notes-list>li::before {}

.item_feature_intro-contents {
    display: flex;
    gap: 20px;
    margin-top: 20px;
}

.item_feature_intro-content {
    border-radius: 10px;
    border: 2px solid #447355;
    padding: 35px;
    width: 50%;
}

.item_feature_intro-content .title {
    color: #22432A;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    margin-bottom: 0.5em;
}

.item_feature_intro-content .text {
    font-weight: 500;
    margin-top: 20px;
}


/* ===========================
* アイロボットについて
  2021/10/08 Add
==============================*/

.mod_item_about {
    background: #F3F4F6;
    width: 100%;
    max-width: 1000px;
    margin: 80px auto;
    padding: 40px 0 53px;
}

.mod_item_about h2 {
    color: #447355;
    font-size: 32px;
    margin-bottom: 33px;
    text-align: center;
}

.mod_item_about-inner {
    display: flex;
}

.mod_item_about-img {
    position: relative;
    width: 650px;
}

.mod_item_about-img .img {
    width: 650px;
    height: 544px;
}

.mod_item_about-img .video {
    display: none;
}

.mod_item_about-img.is_active {
    background: #000;
    display: flex;
    align-items: center;
}

.mod_item_about-img.is_active .img {
    opacity: 0;
}

.mod_item_about-img.is_active .video {
    display: block;
    position: absolute;
    padding-top: 56.25%;
    width: 100%;
    z-index: 1;
}

.mod_item_about-img.is_active .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mod_item_about-text {
    padding: 0 40px;
    width: 350px;
    text-align: left;
}

.mod_item_about-text h3 {
    color: #447355;
    font-size: 29px;
    line-height: 1.379;
    margin: 34px 0 20px;
}

.mod_item_about-text p {
    font-size: 16px;
    margin-bottom: 25px;
}

.mod_item_about-text .bnr {
    display: flex;
    margin-bottom: 32px;
}

.mod_item_about-text .bnr img:nth-child(1) {
    width: 81px;
    height: 115px;
}

.mod_item_about-text .bnr img:nth-child(2) {
    margin-left: 33px;
    width: 115px;
    height: 115px;
}

.mod_item_about-text .btn a {
    width: 138px;
    height: 41px;
    border-radius: 2px;
    background-color: #87a28e;
    font-size: 17px;
    color: #fff;
    line-height: 41px;
    text-align: center;
    display: inline-block;
}

.mod_item_about-text .btn a:hover {
    opacity: 0.6;
}


/* カラー選択設定 */

.item_color_select {
    display: flex;
    align-items: center;
    margin: 40px auto;
}

.item_color_select-title {
    padding-right: 57px;
}

.item_color_select-title p {
    font-size: 16px;
    font-weight: 500;
    color: #212121;
    letter-spacing: 0.04em;
}

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

.item_color_select_button_item {
    width: calc(12px * 6);
    text-align: center;
}

.item_color_select_button_item:not(:first-child) {
    margin-left: 10px;
}

.item_color_select_button_item span {
    position: relative;
    display: block;
    width: 43px;
    height: 43px;
    margin: auto;
    border: 4px solid #ccc;
    border-radius: 22px;
}

.item_color_select_button_item span::before {
    content: '';
    position: absolute;
    top: -7px;
    left: -7px;
    display: block;
    width: 49px;
    height: 49px;
    background-color: transparent;
    border-radius: 25px;
    transition: all .3s ease;
    z-index: -1;
}

.item_color_select_button_item span.black {
    background-color: #212121;
}

.item_color_select_button_item span.graphite {
    background-color: #747679;
}

.item_color_select_button_item span.white {
    background-color: #fff;
}

.item_color_select_button_item span.greengray {
    background-color: #87a28e;
}

.item_color_select_button_item a.current {
    pointer-events: none;
}

.item_color_select_button_item a.current span::before,
.item_color_select_button_item a:hover span::before {
    background-color: #6cb26a;
}

.item_color_select_button_item p {
    color: #212121;
    font-size: 12px;
    line-height: 1;
    margin-top: 10px;
}

.item_color_select_button_item a:hover {
    color: #212121;
}


/* =================================================================
11.ご購入ガイド
=================================================================*/

#guide {
    padding-top: 14px;
    font-size: 13px;
}

#guide a {
    text-decoration: underline;
}

#guide a:hover {
    text-decoration: none;
}

#guide h2 {
    margin-bottom: 26px;
    font-size: 24px;
}

#guide p {
    margin: 26px 0 0 0;
    line-height: 1.7;
}

#guide h3 {
    margin: 36px 0 -10px;
    padding: 6px 13px;
    background: #7f8c8d;
    color: #ffffff;
    font-size: 15px;
    font-weight: bold;
}

#guide h4 {
    margin: 30px 0 -20px;
    color: #518a70;
    font-size: 15px;
    font-weight: bold;
}

#guide h4 img {
    margin-right: 15px;
    vertical-align: middle;
}

#guide h4 .guide_num {
    background: #518a70;
    color: #fff;
    display: inline-block;
    margin-right: 15px;
    text-align: center;
    vertical-align: middle;
    line-height: 30px;
    height: 30px;
    width: 30px;
}

#guide h5 {
    margin: 30px 0 -26px;
    font-size: 14px;
    font-weight: bold;
}

#guide .guide_step {
    margin-top: 36px;
}

#guide .guide_step th {
    padding-bottom: 8px;
    text-align: left;
    vertical-align: middle;
    color: #518a70;
    font-size: 15px;
    letter-spacing: 0.02em;
}

#guide .guide_step th span {
    background: #518a70;
    color: #fff;
    display: inline-block;
    text-align: center;
    line-height: 30px;
    height: 30px;
    width: 90px;
}

#guide .guide_step td {
    padding-bottom: 15px;
    text-align: left;
    vertical-align: top;
}

#guide .guide_creditcard {
    width: 100%;
    margin-top: 20px;
}

#guide .guide_creditcard th,
#guide .guide_creditcard td {
    padding: 14px 10px;
    border: 1px solid #cccccc;
    text-align: left;
    vertical-align: middle;
    font-weight: normal;
}

#guide .guide_creditcard th {
    width: 128px;
    background: #ecf0f1;
}

#guide .guide__annotation--red {
    color: red;
}

#guide .guide__annotation--red .guide__annotation__ttl {
    font-weight: 600;
    font-size: 15px;
}

#guide .rakuten_campaign {
    width: 100%;
    margin-top: 20px;
}

#guide .rakuten_campaign th,
#guide .rakuten_campaign td {
    padding: 14px 10px;
    border: 1px solid #cccccc;
    text-align: left;
    vertical-align: middle;
    font-weight: normal;
}

#guide .rakuten_campaign th {
    width: 128px;
    background: #ecf0f1;
}

#guide .guide_pay_easy p {
    overflow: hidden;
}

#guide .guide_pay_easy p.fL {
    margin-right: 24px;
}


/* =================================================================
12.オーナーズサイト ログイン
=================================================================*/

#ownerLogin {
    min-width: 940px;
    margin-top: 80px;
    background: url("../images/owner_bg_01.jpg") no-repeat center top;
}

#ownerLogin #main {
    margin: 0;
}

#ownerLogin #main .bgWrap {
    min-height: 626px;
}

#ownerLogin #main h2 {
    width: 620px;
    margin: 0 auto;
    padding: 38px 0 36px;
    background: url("../images/owner_bg_02.png") no-repeat center bottom;
    text-align: center;
}

#ownerLogin #main .loginBox {
    width: 554px;
    margin: 35px auto;
    padding: 28px 38px;
    background: url("../images/owner_bg_03.png") no-repeat center bottom;
}

#ownerLogin #main .loginBox h3 {
    margin-bottom: 14px;
    color: #518a70;
    font-size: 26px;
    font-weight: normal;
}

#ownerLogin #main .loginBox dt {
    margin-top: 12px;
    font-size: 16px;
}

#ownerLogin #main .loginBox input.size01 {
    width: 530px;
    height: 16px;
    padding: 9px;
    margin-top: 4px;
    border: 1px solid #cccccc;
    font-size: 13px;
}

#ownerLogin #main .buttonarea {
    margin-top: 16px;
}

#ownerLogin #main .buttonarea input {
    vertical-align: top;
}

#ownerLogin #main .about {
    margin-top: 50px;
    text-align: center;
}

#ownerLogin #main .about h3 {
    font-size: 14px;
}

#ownerLogin #main .about h3 img {
    margin-bottom: 8px;
}

#ownerLogin #main .about p {
    margin-top: 18px;
    font-size: 16px;
}

#ownerLogin #main .about ul {
    margin: 22px 0 0 -20px;
}

#ownerLogin #main .about ul li {
    float: left;
    width: 220px;
    margin-left: 20px;
    padding: 28px 16px;
    border: 1px solid #dadfe1;
    font-size: 15px;
    line-height: 1.3;
}

#ownerLogin #main .about ul li img {
    margin-bottom: 30px;
}

#ownerReg {
    min-width: 940px;
    margin-top: 50px;
    text-align: center;
    color: #333333;
}

#ownerReg h3 {
    font-size: 14px;
}

#ownerReg h3 img {
    margin-bottom: 8px;
}

#ownerReg p {
    margin-top: 18px;
    font-size: 16px;
}

#ownerReg .bg {
    margin-top: 40px;
    min-width: 940px;
    background: url("../images/owner_bg_04.png") repeat-x;
}

#ownerReg .photo {
    width: 940px;
    min-height: 255px;
    margin: 0 auto;
    padding-top: 23px;
    background: url("../images/owner_img_05.jpg") no-repeat;
    text-align: left;
}

#ownerReg .photo p {
    margin: 0 0 16px;
    padding-left: 470px;
    font-size: 13px;
}

#ownerReg .photo p.detail {
    text-align: right;
}

#ownerReg .photo p.detail a {
    display: inline-block;
    padding-right: 24px;
    background: url("../images/icon_arrow_02.png") no-repeat right center;
    color: #333333;
}


/* =================================================================
13.オーナーズサイト マイページ
=================================================================*/

#mypage_header .profilephoto {
    float: left;
    width: 300px;
    text-align: center;
}

#mypage_header .item {
    float: right;
    width: 600px;
    padding-top: 20px;
}

#mypage_header .item h2 {
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid #cccccc;
    font-size: 26px;
    font-weight: bold;
    line-height: 1.3;
}

#mypage_header .item h2 span {
    font-size: 20px;
    line-height: 1.3;
}

#mypage_header .item .delete_link {
    float: right;
    padding-left: 20px;
    background: url("../images/icon_arrow_02.png") no-repeat left center/18px;
}

#mypage_header .item .delete_link a {
    color: #333333;
    text-decoration: none;
}

#mypage_header .item .delete_link a:hover {
    text-decoration: underline;
}

#mypage_header .item .number,
#mypage_header .item h3 {
    font-size: 16px;
    font-weight: bold;
}

#mypage_header .item .btn {
    margin: 30px 0 0 -15px;
}

#mypage_header .item .btn li {
    float: left;
    width: 190px;
    margin-left: 15px;
}

#mypage_header .item h3 {
    margin-top: 30px;
}

#mypage_header .item .numberList li {
    float: left;
    width: 50%;
    margin-top: 10px;
    font-size: 15px;
}

#mypage_header .item .numberList li img {
    vertical-align: middle;
    margin-right: 13px;
}

#mypage_header .item .numberList li a {
    text-decoration: none;
}

#mypage_header .item .numberList li a:hover {
    text-decoration: underline;
}

.mypage_banner {
    margin-top: 63px;
}

.mypage_banner ul {
    margin-left: -20px;
}

.mypage_banner ul li {
    float: left;
    width: 460px;
    margin-left: 20px;
}

.ownerTtl {
    margin-bottom: 40px;
    text-align: center;
    font-size: 14px;
    font-weight: normal;
}

.ownerTtl img {
    margin-bottom: 8px;
}

#massageArea {
    margin: 60px 0 55px;
}

#massageArea .massageBox {
    margin-top: 12px;
    padding: 20px 23px;
    background: #f5f5f5;
}

#massageArea .massageBox .text {
    float: left;
    width: 640px;
}

#massageArea .massageBox .text h4 {
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.9;
}

#massageArea .massageBox .text p {
    font-size: 14px;
    line-height: 1.9;
}

#massageArea .massageBox .text h5 {
    margin-top: 28px;
    font-size: 14px;
    line-height: 1.9;
}

#massageArea .massageBox .text a {
    color: #333333;
    text-decoration: none;
}

#massageArea .massageBox .text a:hover {
    text-decoration: underline;
}

#massageArea .massageBox .item {
    float: right;
    width: 190px;
}

#massageArea .massageBox .item h5 {
    margin-bottom: -4px;
    font-size: 16px;
}

#massageArea .massageBox .item p {
    margin-top: 12px;
    text-align: center;
    font-size: 14px;
}

#massageArea .massageBox .item p a {
    color: #333333;
    text-decoration: none;
}

#massageArea .massageBox .item p a:hover {
    text-decoration: underline;
}

#massageArea .massageBox .item .img_box img {
    width: 190px;
}

#massageArea .massageBox .item p.name {
    font-weight: bold;
}

#massageArea .massageBox .item p.price {
    margin-top: 3px;
    color: #666666;
}

#movieGallery {
    margin-top: 50px;
}

#movieGallery .movieList {
    margin-left: -19px;
}

#movieGallery .movieList .box {
    float: left;
    width: 300px;
    margin: 20px 0 0 19px;
}

#movieGallery .movieList .box p {
    font-size: 14px;
    font-weight: bold;
}

#movieGallery .movieList .box p.movie {
    margin-bottom: 14px;
}

#movieGallery ul.link {
    margin-top: 15px;
}

#movieGallery ul.link a {
    color: #333333;
    text-decoration: none;
}

#movieGallery ul.link a:hover {
    text-decoration: underline;
}

#movieGallery .movieSample {
    margin-top: 20px;
}

#movieGallery .movieSample .fL {
    float: left;
    width: 300px;
    margin-right: 33px;
}

#movieGallery .movieSample p {
    font-size: 18px;
    font-weight: bold;
}

#helpArea {
    margin-top: 60px;
}

#helpArea .qaList {
    margin-left: -19px;
}

#helpArea .qaList .box {
    float: left;
    width: 300px;
    margin: 20px 0 0 19px;
}

#helpArea .qaList .box h4 {
    display: table-cell;
    width: 280px;
    height: 50px;
    padding-left: 20px;
    background: #ecf0f1;
    vertical-align: middle;
    color: #20924f;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.3;
}

#helpArea .qaList .box p {
    margin-top: 14px;
}

#helpArea ul.link a {
    color: #333333;
    text-decoration: none;
}

#helpArea ul.link a:hover {
    text-decoration: underline;
}

#contactArea {
    padding: 20px 30px 26px;
    background: #ecf0f1;
}

#contactArea .fL {
    float: left;
    width: 440px;
}

#contactArea .fL h3 {
    font-size: 16px;
    font-weight: bold;
}

#contactArea .fL .searchTitle {
    margin: 36px 0 10px;
    padding-left: 28px;
    background: url("../images/owner_ico_01.png") no-repeat 0 .2em;
    font-size: 14px;
    font-weight: normal;
}

#contactArea .fL input {
    vertical-align: middle;
}

#contactArea .fL .inputText {
    width: 350px;
    height: 16px;
    padding: 10px 9px;
    border: 1px solid #cccccc;
    font-size: 13px;
}

#contactArea .fR {
    float: right;
    width: 407px;
}

#contactArea .fR p {
    margin: 13px 0 0;
}

#contactArea .fR h4 {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 9px;
}

#contactArea .fR .tel_area+.tel_area {
    margin: 15px 0 0;
}

#contactArea .fR .tel_area dt {
    font-weight: bold;
    font-size: 14px;
}

#contactArea .fR .tel_area dd {
    margin: 5px 0 0;
}

#contactArea .fR .tel {
    background: url("../images/owner_ico_02.png") no-repeat left center;
    color: #20924f;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    padding-left: 40px;
}

#historyArea {
    margin-top: 80px;
}

#historyArea h4 {
    margin-top: 26px;
    padding: 13px 20px;
    border: 1px solid #cccccc;
    background: #f3f4f5;
    font-size: 16px;
    font-weight: bold;
}

#historyArea p {
    margin: 13px 21px 0;
}

#historyArea table {
    margin-top: -1px;
}

#historyArea table th {
    background: #ffffff;
    color: #20924f;
    font-weight: bold;
}

#historyArea ul.link {
    float: right;
    margin-top: 15px;
}

#historyArea ul.link a {
    color: #333333;
    text-decoration: none;
}

#historyArea ul.link a:hover {
    text-decoration: underline;
}

#supportArea {
    margin-top: 40px;
}

#supportArea h3 {
    margin-bottom: 0;
}

#supportArea .supportList {
    margin-left: -20px;
}

#supportArea .supportList .box {
    float: left;
    width: 300px;
    margin-left: 20px;
}

#supportArea .supportList .box p {
    margin-top: 16px;
}

#aboutMember {
    margin-top: 50px;
}

#aboutMember .aboutWrap01 {
    margin: -4px 0 20px -20px;
    letter-spacing: -0.4em;
    font-size: 0;
}

#aboutMember .aboutWrap01 .box {
    display: inline-block;
    width: 300px;
    margin: 20px 0 0 20px;
    padding: 0 19px;
    border: 1px solid #dadfe1;
    letter-spacing: 0;
    vertical-align: top;
}

#aboutMember .aboutWrap01 .box h4 {
    height: 190px;
    padding-top: 14px;
    text-align: center;
    color: #64a70b;
    font-size: 24px;
    font-weight: normal;
    line-height: 1.3;
}

#aboutMember .aboutWrap01 .box h4.spc {
    padding-top: 30px;
}

#aboutMember .aboutWrap01 .ico01 h4 {
    background: url("../images/mypage_img_04.png") no-repeat 50% 96px;
}

#aboutMember .aboutWrap01 .ico02 h4 {
    background: url("../images/mypage_img_05.png") no-repeat 50% 86px;
}

#aboutMember .aboutWrap01 .ico03 h4 {
    background: url("../images/mypage_img_06.png") no-repeat 50% 86px;
}

#aboutMember .aboutWrap01 .ico04 h4 {
    background: url("../images/mypage_img_07.png") no-repeat 50% 86px;
}

#aboutMember .aboutWrap01 .ico01 h4 span {
    font-size: 23px;
}

#aboutMember .aboutWrap01 p {
    margin-top: 10px;
    font-size: 13px;
}

#aboutMember .aboutWrap01 .inner01 {
    min-height: 284px;
}

#aboutMember .aboutWrap01 .inner02 {
    min-height: 314px;
}


/*20160325追加*/

.application_txt {
    padding: 0 0 20px 0;
}

.application th {
    width: 165px !important;
}

.fs_maintenance_price {
    text-align: right;
    padding: 20px 0 10px 0;
}

.fs_accessory_total_price {
    text-align: right;
    padding: 0px 0 0px 0;
}

.fs_maintenance_price p,
.fs_accessory_total_price p {
    font-size: 16px;
    text-decoration: underline;
}

.applicant {
    margin: 25px 0 0 0;
}

.application_error .add {
    text-align: center;
    padding: 40px 0;
}


/*20160412追加*/

.service_change {
    color: #c00;
    padding: 0 0 20px 0;
}

.service_change a {
    font-weight: bold;
}


/*20211025追加*/

#mypage_header .add_btn,
#helpArea .add_btn {
    background: #87a28e url("../images/icon_arrow_03@2x.png") no-repeat right 14px center;
    background-size: 15px;
    color: #fff;
    display: inline-block;
    font-size: 13px;
    letter-spacing: 0.05em;
    line-height: 1;
    padding: 12px 0 11px;
    position: relative;
    width: 190px;
    text-align: center;
    text-decoration: none;
}


/* =================================================================
利用規約スタイル
使用ファイル：cart_seisan.xhtml
=================================================================*/

#terms_box {
    margin: 30px auto;
    border: 1px solid #ccc;
    height: 150px;
    width: 918px;
    padding: 10px;
    overflow: auto;
}

#terms_box pre {
    margin: 0;
    line-height: 1.5;
    font-size: 13px;
}

.check_area {
    text-align: center;
    margin: 0;
}

.check_area label:hover {
    cursor: pointer;
}

.link {
    margin: 20px 0 0 0;
}


/*201704カート改修追加*/

#error .content {
    float: none;
}


/*  cartIndex
-------------------------------------------------------------*/

#cartIndex .content {
    width: 720px;
    float: left;
    margin-right: 30px;
}

#cartIndex table th {
    padding: 14px 10px;
}

#cartIndex .step {
    display: block;
    margin: 0 auto 10px;
}


/*  cartIndex 購入導線
-------------------------------------------------------------*/

#cartIndex .pay__wrap {
    display: flex;
    margin-top: 50px;
}

#cartIndex .pay__wrap .amazon__wrap {
    width: 100%;
    max-width: 490px;
    background: #f3f4f6;
    padding: 35px;
    margin-right: 40px;
}

#cartIndex .buy__wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
}

#cartIndex .pay__wrap h3 {
    font-size: 16px;
}

#cartIndex .pay__wrap p {
    font-size: 13px;
    margin-top: 15px;
    line-height: 1.7;
}

#cartIndex .pay__wrap .amazon_btn {
    margin: 15px auto 0;
}

#cartIndex .buy__wrap #payoff {
    margin: 0 auto;
    text-align: center;
}


/*  cartLogin
-------------------------------------------------------------*/

#cartLogin .step {
    display: block;
    margin: 0 auto 10px;
}

#cartLogin .link_area {
    margin-top: 6px;
    padding-left: 24px;
    background: url("../images/icon_arrow_02.png") no-repeat 0 .2em;
    font-size: 13px;
    width: 183px;
    text-align: right;
    display: block;
}


/*  cartSidebar
-------------------------------------------------------------*/

#cartSidebar {
    width: 190px;
    float: right;
    margin-top: 22px;
}

#cartSidebar .total_box {
    border: #CCC 1px solid;
    padding: 10px;
    background: #ecf0f1;
}

#cartSidebar .total_box .box {
    border: none;
    zoom: 1;
    margin-bottom: 10px;
    clear: both;
}

#cartSidebar .total_box .box:after {
    content: ".";
    display: block;
    visibility: hidden;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    clear: both;
}


/* clearfix */

#cartSidebar .cartButtonArea .top {
    display: block;
    margin: 10px 0;
}

#cartSidebar .total_box h3 {
    margin: 0;
    background: none;
    padding: 0px;
    border: 0px;
    font-size: 14px;
    float: left;
}

#cartSidebar .total_box p.price {
    font-size: 16px;
    float: right;
    margin: 0px;
    font-weight: bold;
    color: #20924f;
}

#cartRecommend {
    margin-top: 20px;
    width: 190px;
    padding: 10px;
    border: #CCC 1px solid;
}

#cartRecommend h3 {
    margin-bottom: 10px;
    height: auto;
    background: none;
    padding: 0px;
    border-bottom: none;
}

#cartRecommend .box {
    zoom: 1;
    margin: 0px 0 20px;
    border: 0px;
}

#cartRecommend .img_box {
    width: 80px;
    height: 80px;
    text-align: center;
    position: relative;
    float: left;
}

#cartRecommend .img_box img {
    width: auto;
    max-width: 80px;
    max-height: 80px;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

#cartRecommend .text {
    margin-left: 90px;
    min-height: 80px;
}

#cartRecommend h4 {
    display: block;
    margin: 0px 0px 10px;
    background: none;
    padding: 0px;
    border-bottom: none;
}

#cartRecommend h4 a {
    color: #262626;
}

#cartRecommend .price {
    display: block;
    font-size: 11px;
    color: #262626;
    float: left;
    margin: 0px;
    padding: 4px 0 0 0;
}

#cartRecommend .price .teika {
    font-weight: bold;
    font-size: 100%;
}

#cartRecommend .button {
    margin-top: 10px;
}

#cartFlow .cartitem {
    margin-top: 20px;
    width: 190px;
    padding: 10px;
    border: #CCC 1px solid;
}

#cartFlow .cartitem h3 {
    margin: 0 0 10px;
    padding: 0px;
    border: none;
    background: none;
}

#cartFlow .cartitem li {
    margin-bottom: 10px;
    padding-bottom: 0px;
    border-bottom: 1px solid #CCC;
}

#cartFlow .cartitem .img_box {
    width: 80px;
    height: 80px;
    float: left;
    margin-right: 5px;
    text-align: center;
    position: relative;
}

#cartFlow .cartitem .img_box img {
    width: auto;
    max-width: 80px;
    max-height: 80px;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

#cartFlow .cartitem .text_box {
    padding-left: 0px;
    zoom: 1;
    margin-bottom: 5px;
}

#cartFlow .cartitem .text_box:after {
    content: ".";
    display: block;
    visibility: hidden;
    height: 0.1px;
    font-size: 0.1em;
    line-height: 0;
    clear: both;
}

#cartFlow .cartitem .text_box p {
    margin: 0px;
    font-size: 70%;
    line-height: 130%;
}

#cartFlow .cartitem p.price {
    font-size: 70%;
    margin: 0px;
    float: left;
}

#cartSidebar .price {
    color: #20924f;
}

#cartSidebar .tax {
    font-size: 9px;
    color: #666;
}

#cartFlow .cartitem p.amount {
    font-size: 70%;
    margin: 0px;
    float: right;
}

#cartFlow .link_area {
    clear: both;
    margin-top: 6px;
    padding-left: 24px;
    background: url("../images/icon_arrow_02.png") no-repeat 0 .2em;
    font-size: 13px;
}

#cartFlow .link {
    margin-top: 20px !important;
}


/*  cartFlow
-------------------------------------------------------------*/

#cartFlow .step {
    display: block;
    margin: 0 auto 10px;
}

#cartFlow .content {
    width: 720px;
    float: left;
    margin-right: 30px;
}

#cartFlow label.error_color {
    font-weight: bold;
    color: #cc0000;
    display: block;
}

#cartFlow #terms_box {
    width: auto;
}

#cartFlow table td .img {
    /*float:left;*/
    width: 80px;
    height: auto;
    margin-right: 10px;
}

#cartFlow .cart_novelty .novelty_name {width: 100%;}
#cartFlow .cart_novelty .novelty_quantity {min-width: 160px;}
#cartFlow .cart_novelty .img_box img {width: 100%; max-width: 400px; margin: 0 0 8px;}

#cart_flow .step {
    display: block;
    margin: 0 auto 10px;
}

#main.cart .step {
    display: block;
    margin: 0 auto 10px;
}


/* amazonpay */

#AmazonPayButton {
    margin-bottom: 40px;
}

#AmazonPayButton img {
    width: auto;
    height: auto;
}

.heightLine {
    margin-top: 45px;
    text-align: center;
}

.header_amalogout {
    display: block;
    background: #fff;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    padding: 9px 16px;
    width: 160px;
}

.header_amalogout:hover {
    background: #e3e3e3;
    color: #008236;
}

#main .amazon_btn {
    width: 300px;
    margin: 45px auto;
    border-radius: 4px;
    overflow: hidden;
}

#main .ama_payoff_btn {
    position: relative;
    display: block;
    background: #64a70b;
    padding: 22px 0;
    font-size: 16px;
    color: #fff;
    text-decoration: none;
    width: 100%;
    line-height: 1;
}

#main .ama_payoff_btn::after {
    position: absolute;
    top: 50%;
    right: 15px;
    display: block;
    content: "";
    width: 7px;
    height: 7px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateY(-50%) rotate(45deg);
}

#cartFlow #memberEdit_Link {
    display: block;
    width: 100%;
    border: none;
    border-radius: 0;
    background: #64a70b;
    text-align: center;
    color: #ffffff;
    font-size: 14px;
    line-height: 40px;
    margin: 10px 0;
    padding: 6px 0;
    border-radius: 4px;
}


/* amazonpay v2*/

#cartIndex .box #AmazonPayV2Button {
    max-width: 300px;
    min-width: 200px;
    height: 60px;
    margin: 0 auto;
}

#cartLogin .box #AmazonPayV2Button {
    max-width: 300px;
    min-width: 200px;
    height: 60px;
    margin: 0 auto;
}


/* 2021-12-24 Add */

#cartFlow #seisanForm table td input[type="text"],
#cartFlow #seisanForm table td input[type="password"],
#cartFlow #seisanForm table td select {
    border: 1px solid #e7e7e7;
    padding: 5px;
}


/* 2023-02-20 Add */

#cartFlow #seisanForm table td input[type="text"]:disabled,
#cartFlow #seisanForm table td select:disabled {
    background: #e7e7e7 !important;
    color: #333 !important;
    opacity: 1 !important;
}

/* 240515　更新 */
#cartFlow #seisanForm table td .post_caption {
    margin: 8px 0 0;
    color: #cc2200;
    font-weight: bold;
}



/* =================================================================
14.ギフト包装サービスページ（2022-02-02 Add）
=================================================================*/

#gift .bold {
    font-weight: bold;
}

#gift .gift_heading {
    color: #447355;
    margin-top: 80px;
    margin-bottom: 14px;
    text-align: center;
}

#gift .gift_heading .sub {
    font-size: 20px;
}

#gift .gift_heading h2 {
    font-size: 34px;
    margin-top: 8px;
}

#gift .gift_text {
    color: #393f45;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 1em;
}

#gift .gift_notes {
    color: #393f45;
    font-size: 12px;
    letter-spacing: normal;
}

#gift .gift_images {
    display: flex;
    justify-content: space-between;
    margin: 72px auto 0;
    text-align: center;
    width: 706px;
}

#gift .gift_images img {
    max-width: 100%;
    width: inherit;
}

#gift .gift_image.one {
    width: 345px;
}

#gift .gift_image.one img {
    margin-bottom: 22px;
}

#gift .gift_images-price {
    color: #447355;
    font-size: 18px;
    margin-bottom: 6px;
    margin-left: 14px;
}

#gift .gift_image.two {
    width: 309px;
}

#gift .gift_images-price span {
    font-size: 26px;
}

#gift .gift_images-text {
    color: #393f45;
    font-size: 14px;
    margin-bottom: 0.5em;
    margin-left: 8px;
}

#gift .gift_heading.second {
    margin-top: 60px;
    margin-bottom: 60px;
}

#gift .gift_heading.second .sub {
    letter-spacing: 0.06em;
    line-height: 1.9;
}

#gift .gift_products {
    margin: 140px auto 0;
    width: 1000px;
}

#gift .gift_products h2 {
    color: #447355;
    font-size: 26px;
    margin-bottom: 45px;
    text-align: center;
}

#gift .gift_products h3 {
    color: #447355;
    font-size: 24px;
    letter-spacing: 0.06em;
    margin-bottom: 28px;
    position: relative;
    text-align: center;
}

#gift .gift_products h3::before {
    background: #87a28e;
    content: "";
    height: 1px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto 0;
    width: 100%;
}

#gift .gift_products h3 span {
    background: #fff;
    margin-bottom: 36px;
    padding: 0 20px;
    position: relative;
    z-index: 1;
}

#gift .gift_products ul {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -11px 57px;
    overflow: hidden;
}

#gift .gift_products ul li {
    box-sizing: border-box;
    padding: 0 11px 42px;
    width: calc(100% / 4);
}

#gift .gift_products ul li img {
    margin-bottom: 1em;
    width: 100%;
}

#gift .gift_products ul li p {
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.06em;
    margin-bottom: 1.2em;
}

#gift .gift_products ul li a {
    background: #447355;
    border-radius: 20px;
    color: #fff;
    display: block;
    font-size: 12px;
    line-height: 39px;
    height: 39px;
    text-align: center;
}

#gift .gift_products ul li a:hover {
    opacity: 0.8;
}

#gift .gift_about {
    background: #f0f1f3;
    box-sizing: border-box;
    /* display: flex; */
    justify-content: space-between;
    margin: 60px auto 30px;
    padding: 40px 40px 40px;
    width: 1000px;
}

#gift .gift_about-item {
    width: 100%;
}

#gift .gift_about-item h3 {
    color: #447355;
    font-size: 20px;
    letter-spacing: 0.06em;
    margin-top: 40px;
    margin-bottom: 10px;
    margin-left: -0.5em;
}

#gift .gift_about-item:first-child h3 {
  margin: 0;
}

#gift .gift_about-item p {
    color: #393f45;
    font-size: 14px;
    line-height: 1.9;
}

/* 2024-05-20 Add */
#gift .qa p{
  margin: 0 0 1em;
}
#gift .qa p:last-child{
  margin: 0 0 0;
}
#gift .qa p span{
  border-bottom: 1px solid #393f45;
  padding: 0 0 2px;
}
#gift .gift_card{
  width: 1000px;
  margin: 0 auto;
}
#gift .gift_card h2{
  color: #447355;
  font-size: 34px;
  margin: 80px 0 20px;
  text-align: center;
}
#gift .gift_price{
  margin: 40px 0;
  color: #447355;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
}
#gift .gift_price span{
  font-size: 24px;
}
#gift .gift_price p:last-child{
  margin: 20px 0 0;
  color: #393f45;
  font-size: 16px;
}
#gift .gift_gray{
  width: 902px;
  margin: 40px auto 0;
  padding: 40px;
  background: #eeeeee;
  border-radius: 16px;
}
#gift .gift_gray ul{
  display: flex;
  justify-content: center;
  align-items: center;
}
#gift .gift_gray ul li{
  margin: 0 10px;
}
#gift .gift_gray ul li img{
 width: 100%;
}
#gift .gift_gray p{
    margin: 0 0 20px;
    color: #393f45;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}
#gift .gift_gray p.note{
  margin: 1em 10px 0;
  font-size: 12px;
  font-weight: normal;
  text-align: left;
}


/* 母の日にルンバ　2023-04-25公開分　Add */

#gift .gift_mother-wrapper {
    width: 1200px;
    padding-top: 38px;
    margin: 66px auto 0;
    background-color: #dce9d5;
}

#gift .gift_mother {
    padding: 0 30px;
    margin: 0 auto;
}

#gift .gift_mother-detail {
    width: 1110px;
    padding: 0 30px;
    margin: 50px auto 0;
}

#gift .gift_mother-row {
    display: flex;
    justify-content: center;
    margin: -25px;
}

#gift .gift_mother-col {
    width: 50%;
    padding: 25px;
}

#gift .gift_mother-title {
    color: #377557;
    font-size: 18px;
    padding: 10px 25px;
    background-color: #fff;
}

#gift .gift_mother-text {
    font-size: 16px;
    line-height: 1.75;
    padding: 20px 25px 45px;
}

#gift .gift_mother-text small {
    font-size: 14px;
}

#gift .gift_mother-table {
    width: calc(100% - 62px);
    margin: 20px auto 0;
}

#gift .gift_mother-table tr:not(:last-child) {
    border-bottom: 1px solid rgba(51, 51, 51, 0.5);
}

#gift .gift_mother-table th {
    padding: 20px 22px 20px 0;
}

#gift .gift_mother-table th span {
    color: #377557;
    font-size: 19px;
    padding: 6px 10px;
    background-color: #fff;
}

#gift .gift_mother-table td {
    font-size: 16px;
    line-height: 1.75;
    padding: 20px 0;
}

#gift .gift_mother-table td small {
    font-size: 14px;
}

#gift .gift_mother-table td sup {
    font-size: 10px;
}


/* =================================================================
15.製品番号チェックページ（2022-09-01 Add）
=================================================================*/

#container.maint_container {
    width: 1060px;
    padding: 0 30px;
}

#maint {
    max-width: 100%;
    font-feature-settings: "palt";
    margin: 0 auto 80px;
}

#maint .maint_h {
    color: #447355;
    font-weight: bold;
    letter-spacing: 0.06em;
}

#maint .maint_h2 {
    font-size: 22px;
    text-align: center;
}

#maint .maint_h3 {
    font-size: 20px;
}

#maint .maint_h4 {
    font-size: 16px;
}

#maint .maint_h_underline {
    position: relative;
    padding-bottom: 20px;
    margin-bottom: 25px;
}

#maint .maint_h_underline::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100px;
    height: 1px;
    background-color: #447355;
}

#maint .maint_text {
    font-size: 16px;
    font-weight: normal;
    line-height: 1.5;
    letter-spacing: 0.06em;
}

#maint .maint_text.small {
    font-size: 14px;
    line-height: 1.75;
}

#maint .maint_text a {
    color: #447355;
    text-decoration: underline;
}

#maint .maint_number {
    padding: 60px 30px 50px;
    margin: 0;
}

#maint .maint_bg-green {
    padding: 55px 50px 50px;
    background-color: #dce9d5;
}

#maint .maint_bg-white {
    padding: 50px;
    background-color: #fff;
}

#maint .maint_flow {
    display: flex;
    padding: 30px 10px;
    background-color: #edf1f2;
}

#maint .maint_flow_detail {
    width: 68%;
    text-align: center;
    padding-right: 10px;
}

#maint .maint_flow_detail li {
    position: relative;
    color: #447355;
    font-size: 14px;
    text-align: center;
}

#maint .maint_flow_detail li:not(:first-child) {
    padding-top: 14px;
    margin-top: 10px;
}

#maint .maint_flow_detail li:not(:first-child)::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 0;
    height: 0;
    text-align: center;
    margin: auto;
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #447355 transparent transparent transparent;
}

#maint .maint_flow_detail li span.small {
    font-size: 12px;
}

#maint .maint_flow_image {
    position: relative;
    width: 32%;
}

#maint .maint_flow_image-inner {
    position: absolute;
    left: 0;
    bottom: 0;
}

#maint .maint_flow_image img {
    box-shadow: 0 0 10px rgba(0, 0, 0, .2);
}

#maint .maint_row {
    display: flex;
    flex-wrap: wrap;
}

#maint .maint_col-name {
    width: 17.5%;
}

#maint .maint_col-item {
    width: 82.5%;
    padding: 10px 50px;
}

#maint .maint_item-series {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #edf1f2;
}

#maint .maint_item-series p {
    font-size: 14px;
}

#maint .maint_item-list {
    display: flex;
    flex-wrap: wrap;
    margin: -10px;
}

#maint .maint_item-list li {
    width: 50%;
    padding: 15px 10px;
}

#maint .maint_item-list li.large {
    width: auto;
}

#maint .maint_item-name {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.06em;
    text-align: center;
    margin-top: 10px;
}

#maint .maint_item-name .detail {
    font-size: 12px;
    font-weight: normal;
}


/* =================================================================
楽天ポイント
2023/07/06 Add
=================================================================*/

.item_rakuten_point {
    margin-bottom: 30px;
}

.rakuten_point .rakuten_point_bottom {
    text-align: center;
    margin: auto;
}

.rakuten_point .rakuten_point_bottom .title {
    font-size: 16px;
    margin-bottom: 5px;
}

.rakuten_point .rakuten_point_check {
    background: #fff;
    margin: auto;
    width: 300px;
}

.rakuten_point .rakuten_point_check .title {
    font-size: 16px;
    margin-bottom: 5px;
}

.rakuten_point .rakuten_point_check-inner {
    border: 1px solid #9e9e9e;
    border-radius: 2px;
    padding: 6px;
    display: flex;
    align-items: center;
}

.rakuten_point .rakuten_point_check-inner .image {
    text-align: center;
}

.rakuten_point .rakuten_point_check-inner .image img {
    vertical-align: middle;
}

.rakuten_point .rakuten_point_check-inner .text {
    padding: 0 10px 0 5px;
    text-align: left;
}

.rakuten_point .rakuten_point_check-inner .text p {
    font-size: 14px !important;
    line-height: 1.4 !important;
    margin-top: 0 !important;
    word-break: break-all;
}

.rakuten_point .rakuten_point_check .font-size-xs {
    font-size: 12px;
    text-align: center;
}

.item_rakuten_point .rakuten_point .rakuten_point_check {
    width: 380px;
}

.item_rakuten_point .rakuten_point .rakuten_point_check-inner .image {
    width: 70px;
}

.rakuten_point .rakuten_point_disconnect input {
    background: #fff;
    border: none;
    color: #000;
    text-align: center;
    text-decoration: underline;
}

.rakuten_point .rakuten_point_disconnect input:hover {
    cursor: pointer;
}

.rakuten_point .rakuten_point_message {
    background: #fff;
    border: 1px solid #9e9e9e;
    border-radius: 2px;
    display: flex;
    align-items: center;
    margin: auto;
    padding: 6px;
    width: 300px;
}

.rakuten_point .rakuten_point_message .image {
    text-align: center;
}

.rakuten_point .rakuten_point_message .image img {
    vertical-align: middle;
}

.rakuten_point .rakuten_point_message .text {
    font-size: 14px;
    padding: 0 5px;
}

.item_rakuten_point .rakuten_point .rakuten_point_message {
    width: 380px;
}

.item_rakuten_point .rakuten_point .rakuten_point_message .image {
    width: 70px;
}

.item_rakuten_point-txt {
    font-size: 20px;
}


/* klaara用 デザイン追加 */

.contents_intro_img.klaara {
    width: 620px;
}

.contents_intro_text.klaara {
    padding-left: 10px;
    text-align: left;
    width: 380px;
}

.show_preview a[data-target="modal-voice-top"].modal-btn.text-color-change {
    color: #447355;
    text-decoration: underline;
}

.show_preview {
    position: relative;
}

.show_preview a::after {
    border-bottom: 2px solid #447355;
    border-right: 2px solid #447355;
    content: "";
    margin: auto 0;
    position: absolute;
    right: -25px;
    top: 0;
    bottom: 0;
    height: 8px;
    width: 8px;
    transform: rotate(315deg);
}

.voice-modal-btn-top a[data-target="modal-voice-top"] span {
    display: none;
}

/*20231214*/
.roomba_link_bottun ul {
    list-style: none;
    padding: 0;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    height: 30px;
}

.roomba_link_bottun li a[href*="list-"] {
    background: #447355;
    border-radius: 6px;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: .12em;
    height: 30px;
    width: 155px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding-left: 10px;
    position: relative;
    margin: 0 12.5px;
}

.roomba_link_bottun li::after {
    content: '';
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-top: 6px solid #ebc172;
    position: absolute;
    top: 43%;
    transform: translateX(150px);
}

.to_compare_products {
    position: relative;
    text-align: center;
    font-size: 14px;
    margin: 50px 0;
    display: block;
    width: 100%;
}


a.text-colored-underline {
    color: #447355;
    text-decoration: underline;
}

.to_compare_products a::after {
    border-bottom: 2px solid #447355;
    border-right: 2px solid #447355;
    content: "";
    margin: auto 0;
    position: absolute;
    top: 0;
    bottom: 0;
    height: 8px;
    width: 8px;
    transform: rotate(315deg);
}

/*20231215*/
#action_insert_16973653591001220 {
    margin-bottom: 15px;
}

#action_insert_16973653591001220 .item-description {
    font-size: 18px !important;
}

#action_insert_16973653591001220 .js-detailAnchor.detail-link {
    text-decoration: underline !important;
}

/*20231219*/
.show_review {
    position: relative;
}

.show_review a#accent-color {
    color: #447355;
    text-decoration: underline;
}

.show_review a#accent-color::after {
    border-bottom: 2px solid #447355;
    border-right: 2px solid #447355;
    content: "";
    margin: auto 0;
    position: absolute;
    right: -20px;
    top: 0;
    bottom: 0;
    height: 8px;
    width: 8px;
    transform: rotate(45deg);
}

/*20231226公開対応*/
.cart_index_rakuten_point_banner {
    display: block;
    margin: 0 auto;
}

/*20250107added*/
@media screen and (max-width: 1000px) {
    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,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; background:transparent; outline:0;
    vertical-align:baseline;
    
    line-height: 1.5;
    box-sizing: border-box;
}
#container{
    width:93%;
    zoom:1;
}

#header_area > .logo img,
#header_area > .menu img{	
	width: 200px;
}
#header .hd-store{
    width: 80px;
}

#header {
    width: 100%!important;
}
#header .menu_area{
    top: 88px;
}
#header_area .menu{
        top: 0;
    margin: auto;
    background-position: center center;
    display: flex;
    align-items: center;
}

    #apply select{
        padding: 1px;
        font-size: 150%;
    }
     
    #apply h3 {
        margin-top: 20px;
        font-size: 200%;
    }

   /* table css modification */
      #apply h2{
        margin:0; 
        padding:0; 
        border:0; 
        background:transparent; 
        outline:0; 
        font-size: 300%;
        vertical-align:baseline;
        margin-bottom: 17px;
      }

      #main h2{
        margin:0; 
        padding:0; 
        border:0; 
        background:transparent; 
        outline:0; 
        font-size: 300%;
        vertical-align:baseline;
        margin-bottom: 17px;
      }
      
      #apply tr {
        /*display: block !important;*/
        margin-bottom: 1rem !important;
      }
    
      #apply td{
        display: block ;
        width: 95% !important;
        text-align: left !important;
        font-size: 230% !important;
        padding: 13px 0px !important;
        border: none !important;
        
      }
      #apply th {
        background: #f4f4f4 !important;
        font-weight: bold !important;
        margin: 20px -3.33% 16px !important;
        padding: 8px 3.33% !important;
        background: #ecf0f1 !important;
        font-size: 250% !important;
        font-weight: bold !important;
        display: block !important;
        width: 106% !important;
        text-align: left !important;
        
        padding: 11px 0px !important;
      }
    

      #apply p {
        margin-top: 8px;
        font-size: 250%;
    }
    #main p {
        margin-top: 8px;
        font-size: 250%;
    }
    #apply input[type=text],
    #apply input[type=password] {
        width: 100%;
        padding: 6px;
        border: 1px solid #cccccc;
        font-size: 150%;
        line-height: 1.5;
        box-sizing: border-box;
    }
    #apply input.size02 {
        width: 88%;
        margin-bottom: 5px;
    }
    #apply input.size03 {
        width: 33%;
    }
    #apply input.size04 {
        width: 56%;
    }
    #apply input.size05 {
        width: 23%;
    }
    #apply input.size06 {
        width: 75%;
    }
    #apply input.zipBtn {
        width: 21.66%;
        margin-left: 8px;
        padding: 6px 0;
        border: 1px solid #6fba2c;
        border-radius: 0;
        background: #6fba2c;
        color: #ffffff;
        font-size: 12px;
        line-height: 1.5;
        box-sizing: border-box;
    }
    #apply .line {
        margin-top: 20px;
        padding-top: 12px;
        border-top: 1px solid #cccccc;
    }
    #apply .nameFix {
        display: inline-block;
        width: 2.5em;
    }
    #apply .mgl {
        margin-left: 2.5em;
    }
    #apply .radio li {
        display: inline-block;
        width: 30%;
    }
    #apply .radio li input{
        vertical-align: top;
    }
    
    /* #apply .buttonarea {
        margin-top: 33px;
    } */
    #apply .buttonarea input,
    #apply .buttonarea .btn,
    #apply .buttonarea .cancel {
        -webkit-appearance: none;
        border-radius: 0;	
        display: block;
        width: 100%;
        border: none;
        border-radius: 0;
        background: #447355;
        text-align: center;
        color: #ffffff;
        font-size: 13px;
        line-height: 40px;
    }
    #apply .buttonarea .cancel {
        background: #7f8c8d;
    }
    #apply .linkList {
        margin-top: 15px;
    }
    #apply .linkList li {
        padding-left: 20px;
        background:url("../images/icon_arrow_02.png") no-repeat 0 .2em;
        background-size: 12px;
        font-size: 73.33%;
        line-height: 1.8;
    }
    #apply .legal_link {
        margin-top: 10px;
        display: inline-block;
        color: #518a70;
    }
    #apply .legal {
        margin-top: 30px;
    }
    #apply .important {
        color: #ff0000;
    }
    .g-recaptcha {
        transform:scale(2);
        transform-origin:1 0;
    }
    #error ul li{
        font-size:150%;
    }
    .footer-navi{
        font-size: 30px;        
    }
}