@charset "utf-8";

/*----- 全体のレイアウト -----*/
body {
    font: .875rem /1.8 "游ゴシック", "游ゴシック体", "Yo Gothic", YoGothic, "游明朝", "YuMincho", sans-serif;
    background: #fff;
    color: #363636;
}

.inner {
    width: 960px;
    margin-right: auto;
    margin-left: auto;
}

a {
    color: #696969;
}

.df {
    display: flex;
}

.sb {
    justify-content: space-between;
}

.sa {
    justify-content: space-around;
}

.ai_e {
    align-items: end;
}

.ai_c {
    align-items: center;
}

.bold {
    font-weight: bold;
}

.ta_c {
    text-align: center;
}

.mt-50 {
    margin-top: 50px;
}

.mb-20 {
    margin-bottom: 20px;
}

.mb-50 {
    margin-bottom: 50px;
}

.w-35 {
    width: 35%;
}

.bb_g {
    border-bottom: 1px solid #696969;
}

.bb_b {
    border-bottom: 1px solid #00b2b2;
}

.bb_n {
    border-bottom: none;
}

.red {
    color: #f00;
}

.text_hidden {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

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

/*----- header -----*/
.header-sub {
    background: #F5F5F5;
    color: #868686;
    padding: 5px 0;
    font-size: .75rem;
}

.header-sub a {
    color: #868686;
    font-size: .75rem;
}

.header-sub a:hover {
    text-decoration: underline;
}

.h1-title {
    font-weight: normal;
}

.header-sub_list li+li {
    margin-left: 25px;
}

.header-sub_list .cart {
    text-align: right;
    min-width: 70px;
    border-left: 1px dotted #868686;
}

.header-sub_list .cart a {
    color: #f00;
    font-weight: bold;
}

.header-sub_list .cart a:hover {
    text-decoration: none;
}

.header-sub_list .cart i {
    color: #868686;
    margin-right: 5px;
    padding-left: 15px;
}

.header-main {
    padding: 15px 0 25px;
    box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, .1);
}

.sub-menu_out {
    text-align: right;
}

.g-nav li {
    width: 120px;
    text-align: center;
    cursor: pointer;
}

.g-nav a,
.side-manu_list a {
    color: #363636;
}

.g-nav li:hover {
    opacity: .4;
    transition: .6s;
}

/*----- aside・カテゴリー部分 -----*/
.aside-content {
    flex-direction: column;
    width: 20%;
}

.side-menu {
    margin-bottom: 30px;
}

.side-menu_list {
    font-size: .75rem;
    line-height: 2;
    cursor: pointer
}

.side-menu_banner {
    width: 150px;
    margin-bottom: 20px;
    filter: drop-shadow(2px 2px 3px rgba(0, 0, 0, .5));
}

.side-menu_banner a {
    display: block;
}

.side-menu_banner img {
    width: 150px;
}

/*----- 全ページ・mainレイアウト部分 -----*/
#main {
    padding: 80px 0;
    box-sizing: border-box;
    min-height: 60vh;
}

#main_content {
    width: 80%;
}

/*----- 全ページ・見出しレイアウト -----*/
.h2-title {
    font-size: 1.125rem;
    font-weight: 400;
    margin-bottom: 30px;
}

.h3-title {
    font-size: 1rem;
    padding-bottom: .5em;
    margin-bottom: 1em;
}

.h2-title::before,
.h5-title::before {
    margin-right: .5em;
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #8ddbf0;
    transform: rotate(45deg);
}

.h5-title {
    font-size: .875rem;
    font-weight: bold;
}

/*----- 全ページ・上へ戻るボタン -----*/
#top {
    position: fixed;
    right: calc((100% - 960px - 10%) / 2);
    bottom: 50px;
    width: 50px;
    height: 50px;
    display: none;
}

#top a {
    position: relative;
    width: 100%;
    height: 100%;
    display: block;
    color: transparent;
    border-radius: 50%;
    background-color: rgba(16, 187, 232, .8);
}

#top a::before {
    font-size: 2rem;
    content: "^";
    color: #fff;
    position: absolute;
    left: 50%;
    transform: translate(-50%, 6%);
    display: block;
}

/*----- TOPページ・main-visual -----*/
.mv {
    margin-bottom: 8%;
}

.mv-main_img {
    filter: drop-shadow(4px 4px 3px rgba(0, 0, 0, .5));
}

.mv-main_img img {
    width: 500px;
}

.mv-sub_img {
    flex-direction: column;
    justify-content: space-between;
    filter: drop-shadow(4px 4px 3px rgba(0, 0, 0, .5));
}

.mv-sub_img a {
    color: transparent;
    line-height: 0;
    font-size: 0;
    width: 255px;
    height: 100%;
}

.mv-sub_img a:first-child {
    background: url(../images/j_tea.jpg) no-repeat center top / 100%;
}

.mv-sub_img a:nth-child(2) {
    background: url(../images/text.jpg) no-repeat center/ 100%;
}

.mv-sub_img a:last-child {
    background: url(../images/dekamori.jpg) no-repeat center bottom / 100%;
}


/*----- TOPページ・新着情報 -----*/
.section-notice_list {
    margin-bottom: 15%;
    padding: 20px;
    box-sizing: border-box;
    box-shadow: 0px 0px 9px rgb(0 0 0 / 40%);
}

.section-notice_term {
    float: left;
    clear: both;
    line-height: 3;
    width: 20%;
}

.section-notice_desp {
    width: 80%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    line-height: 3;
    margin-left: -20%;
}

/*----- TOPページ・新着商品 -----*/
.section-item_un {
    flex-wrap: wrap;
}

.section-item_list {
    width: calc(100% / 3 - 20px);
    box-shadow: 0px 0px 9px rgb(0 0 0 / 40%);
    padding: 5px 8px;
    box-sizing: border-box;
    margin-bottom: 50px;
    border-radius: 3px;
}

.h3-title,
.section-item_list .price {
    padding: 10px;
    box-sizing: border-box;
}

.section-item_img {
    width: 100%;
    height: 150px;
}

.section-item_img img {
    display: block;
    margin: 0 auto;
    max-width: 80%;
    object-fit: contain;
    height: 150px;
    overflow: hidden;
}

.section-item_list .price {
    text-align: right;
}

/*----- footer -----*/
#footer {
    background: #f9f9f9;
    padding-top: 20px;
}

.footer-content_inner {
    border-bottom: 1px solid #999;
    padding-bottom: 30px;
    margin-bottom: 20px;
}

.footer-sns_list+.footer-sns_list {
    margin-left: 15px;
}

.footer-sitemap {
    margin-bottom: 35px;
}

.footer-sitemap_item {
    width: 20%;
}


.footer-sitemap_app {
    width: 48%;
    background: #fff url(../images/iPhone.png) no-repeat left bottom / 30%;
    padding: 0 20px;
    border: 1px solid #eaeaea;
}

.footer-sitemap_app_catch {
    padding-left: 28%;
    box-sizing: border-box;
}

.footer-sitemap_qr {
    padding-left: 40%;
    box-sizing: border-box;
}

.footer-sitemap_list,
.footer-sitemap_app_catch,
.footer-sitemap_qr_list {
    font-size: .75rem;
    font-weight: normal;
    line-height: 2;
    width: 100%;
    text-indent: 1.5em;
}

.footer-sitemap_qr_list {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
}

.footer-sitemap_qr_list img {
    display: block;
}

.footer-sub {
    background: #b7b7b7;
    padding: 10px 0;
    box-sizing: border-box;
    font-size: .75rem;
    color: #fff;
}

.footer-sub_list+.footer-sub_list {
    margin-left: 2em;
}

/*----- ここから各ページ -----*/
/*----- single.php -----*/

.main-single {
    width: 50%;
}

.main-single_img {
    text-align: center;
}

.main-single_img img {
    max-width: 100%;
}

.main-container {
    width: 100%;
}

.sub-container {
    width: 40%;
}

.sub-container_item {
    margin-bottom: 2em;
}

.sub-container_review {
    text-align: right;
}

.sub-container_review a {
    text-decoration: underline;
}

.sub-container_review::before {
    content: "★★★☆☆";
    margin-right: 1em;

}

.sub-container_price {
    font-size: 1.5rem;
    color: #f00;
    margin-bottom: 1.5rem;
}

.sub-container_price span {
    font-size: 1rem;
    color: #363636;
}

.sub-container_massage p {
    padding: 20px 10px;
    box-sizing: border-box;
}

.single-btn {
    font-size: 1rem;
    cursor: pointer;
    user-select: none;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: 0.1em;
    border-radius: 0.5rem;
    background: #10bbe8;
    border: 1px solid #8ddbf0;
    padding: .875rem 3rem;
    color: #fff;
}

.single-btn:hover {
    background: #057e9c;
}

.sub-container_count_kosuu {
    font-size: 1.5rem;
    vertical-align: bottom;
}


.modal {
    display: none;
    height: 100vh;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10000;
}

.modal__bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .5);
}

.modal__content {
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 2% auto;
    width: 50%;
    z-index: 100;
    padding: 20px;
    box-sizing: border-box;
}

/*----- login.php,regist.php -----*/

.input {
    width: 100%;
    height: 40px;
    background-color: #effafa;
    border: 1px solid #d1f0f0;
    padding-left: 10px;
    box-sizing: border-box;
}

.error {
    color: #f00;
    position: absolute;
}

.regist-list {
    display: flex;
    flex-wrap: wrap;
}

.regist-list_term {
    width: 20%;
}

.regist-list_desp {
    width: 80%;
    margin-bottom: 50px;
}

.submit_btn {
    text-align: center;
    width: 100%;
    display: inline-block;
    /* cursor: pointer; */
}

.log-btn {
    width: 20%;
    height: 45px;
    display: block;
    margin: 0 auto 50px;
    letter-spacing: 0.2em;
    cursor: pointer;
}

.log-btn:hover {
    opacity: .8;
    transition: .5s;
}

.btn_color1 {
    background-color: #10bbe8;
    border: 1px solid #d1f0f0;
    color: #fff;
}

.btn_color2 {
    background-color: #fff;
    border: 1px solid #999;
}

.btn_color3 {
    background-color: #35c483;
    border: 1px solid #d1f0f0;
}

.btn_color3 a {
    color: #fff;
}

.checkbox {
    appearance: auto;
    outline: cadetblue;
    border: 1px solid #999;
    vertical-align: middle;
    width: 20px;
    height: 20px;
}

/*----- cart.php -----*/
.main-cart {
    width: 100%;
}

table {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    border-collapse: collapse;
    text-align: center;
    font-size: 1.125rem;
    margin-bottom: 7%;
    table-layout: fixed;
}

table th,
table td {
    border: 1px solid #969696;
    padding: 10px;
    box-sizing: border-box;
    vertical-align: middle;
}

table th {
    background: #f2f2f2;
}

table img {
    vertical-align: middle;
    margin-right: 1em;
    width: 100px;
}

tbody td:nth-of-type(2) {
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

tfoot th,
tfoot td {
    border: none;
}

tfoot td {
    text-align: right;
    padding-right: 0;
}

tfoot input {
    font-size: .75rem;
    cursor: pointer;
    text-align: right;
    vertical-align: middle;
    text-decoration: none;
    letter-spacing: .1em;
    background: #fff;
    border: 1px solid #969696;
    padding: .625rem 1rem;
    color: #696969;
}

tfoot input:hover {
    background: #f2f2f2;
    padding: .625rem 1rem;
}

.num {
    border: 1px solid #696969;
    padding: 5px;
    width: 30%;
}

.total_content {
    border-top: 1px dotted #696969;
    padding-top: 1em;
    justify-content: right;
    font-size: 1.25rem;
    margin-bottom: 2rem;
}

.total_content p {
    margin-right: 50px;
}

.cart-btn input[type="submit"],
.cart-btn_item {
    width: 250px;
    font-size: 1rem;
    cursor: pointer;
    user-select: none;
    text-align: center;
    text-decoration: none;
    letter-spacing: 0.1em;
    border-radius: 0.5rem;
    background: #85cb4a;
    padding: .875rem 3rem;
    color: #fff;
    appearance: none;
    outline: 0;
    border: 0;
    box-shadow: none;
}

.cart-btn_item {
    background: #969696;
}

.cart-btn input[type="submit"]:hover {
    background: #639937;
}

.cart-btn_item:hover {
    background: #879196;
}

.cart-btn_item a {
    color: #fff;
}

.cart-btn {
    justify-content: center;
}

.cart-btn input {
    margin-left: 2em;
}

/*----- inquiry.php -----*/
.inquiry-list {
    width: 95%;
    margin: 0 auto 5%;
    display: flex;
    flex-wrap: wrap;
    box-shadow: 0px 0px 9px rgb(0 0 0 / 40%);
    padding: 0 15px 20px;
    box-sizing: border-box;
}

.inquiry-list_term {
    width: 25%;
    padding: 20px;
    box-sizing: border-box;
    border-top: 1px solid #E1F0FA;
}

.inquiry-list_desp {
    width: 75%;
    padding: 30px 50px;
    box-sizing: border-box;
    border-top: 1px solid #E1F0FA;
}

.inquiry-list_desp+.inquiry-list_desp {
    border-top: none;
    width: 100%;
    text-align: center;
}

.inquiry-list_term:first-of-type,
.inquiry-list_desp:first-of-type {
    border-bottom: none;
}

.multi-btn {
    width: 20px;
    height: 20px;
    vertical-align: sub;
}

label+label {
    margin-left: 1em;
}

.select {
    height: 40px;
    background-color: #effafa;
    border: 1px solid #d1f0f0;
    padding-left: 10px;
    box-sizing: border-box;
}

.inq_add div {
    margin-bottom: 30px;
}

#address {
    width: 100%;
}

.nus {
    resize: none;
    height: 200px;
}

.nus::placeholder {
    font-family: "游ゴシック", "游ゴシック体", "Yo Gothic", YoGothic, "游明朝", "YuMincho", sans-serif;
}

.alert {
    display: none;
    position: absolute;
    color: #f00;
    font-size: .875rem;
}

.a_center {
    right: 0;
    left: 0;
}

span.required,
span.any {
    width: 3em;
    display: block;
    color: #fff;
    padding: 3px 4px;
    font-size: .6875rem;
    letter-spacing: .3em;
    text-align: center;
    border-radius: 3px;
}

span.required {
    background: #d3032b;
}

span.any {
    background: #298948;
}

.consent_text {
    width: 100%;
    height: 150px;
    border: 1px solid #999;
    padding: 10px;
    box-sizing: border-box;
    overflow-y: scroll;
}

.bread {
    display: flex;
    margin-bottom: 30px;
}

.bread li {
    width: calc(100%/4);
    text-align: center;
    background-color: #f5f5f5;
    padding: 8px 0;
    box-sizing: border-box;
    color: #a0a0a0;
    font-size: 0.75rem;
    position: relative;
}
.bread li+li {
    margin-left: 5px;
}
.bread .current {
    background: linear-gradient(to bottom, #ff9933, #ffa433 30%, #ffad33);
    color: #fff;
}
.bread li::before,.bread li::after{
    position: absolute;
    top: 5.5px;
    display: block;
    content: "";
    border-left: inherit;
    border-bottom: inherit;
    width: 27px;
    height: 27px;
    transform: rotate(45deg);
}
.bread li::before{
    right: -13.5px;
    background: #f5f5f5;
    z-index: 100;
}
.bread .current::before{
    background: linear-gradient(to right bottom, #ff9933, #ffa433 30%, #ffad33);
}
.bread li::after{
    right: -18.5px;
    background-color: #ffffff;
    z-index: 99;
}

.bread li:last-child::before,.bread li:last-child::after{
    content: none;
}