/** Shopify CDN: Minification failed

Line 49:0 All "@import" rules must come first

**/
/*
Theme Name: main
Theme URI: 
Description: 
Author: ailylab
Author URI: 
Version: 1.0.0
*/

img[src=""] {
    display: block;
    position: relative;
    width: 100%;
    padding-bottom: 70%;
    border: 1px solid #eee;
}
img[src=""]:after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    font-size: 24px;
    white-space: nowrap;
    content: "※画像準備中※";
}

/****************************************
1.Setting
*****************************************/
html, body, div, span, a, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, address, em, img, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, figcaption, figure, footer, header, menu, nav, section, time, video {
    margin: 0px;
    padding: 0px;
    border: none;
    outline: none;
    box-sizing: border-box;
}
.category-news article{
    background-color: #333333
}
.single article{
    background-color: #333333;
    color: #E2DAD4;
}
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPMincho&family=Zen+Old+Mincho&display=swap');
body {
    color: #313131;
    font-size: 15px;
    font-family: "Zen Old Mincho","BIZ UDPMincho", serif, "Noto Sans JP", "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    overflow-x: hidden;
    letter-spacing: 0.2em;
    line-height: 2.5em;
}

h1, h2, h3, h4, h5, h6 {
    line-height: 1.5;
}
aside{
    color: #E2DAD4;
}
a {
    color: #359ddd;
    text-decoration: none;
}

a:hover {
    color: #41737E;
    transition: ease 0.5s;
}

a[href="#none"] {
    color: #313131;
    text-decoration: none;
    pointer-events: none;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0px auto;
    -webkit-backface-visibility: hidden; 
    -ms-transform: translateZ(0); /* IE 9 */
    -webkit-transform: translateZ(0); /* Chrome, Safari, Opera */
    transform: translateZ(0);
}

/* Chromeで縮小したアイコン画像がぼやける現象への対策 */
img[src$=".png"],
img[src$=".gif"] {
    -webkit-backface-visibility: hidden;
}

p {
    line-height: 2;
}

p.paragraph:nth-of-type(n + 2) {
    margin: 1.5em 0px 0px;
}

figcaption {
    padding: 0.5em;
    text-align: center;
}

a:hover > figure > img {
    opacity: 0.8;
}

table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

table th,
table td {
    padding: 10px;
    /* border-bottom: 1px solid #dedede; */
}

/* table th:nth-of-type(n + 2),
table td:nth-of-type(n + 2) {
    border-left: 1px solid #dedede;
} */

table th {
    background-color: #edf8ff;
}

@media screen and (max-width: 767.98px) {
    .tbl_wrapper {
        overflow-x: scroll;
    }
    .tbl_wrapper > table {
        width: 767px;
    }
}

address {
    font-style: normal;
}

.video_wrapper {
    position: relative;
}
.video_wrapper:not(.js_active)::before {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    background-color: rgba(0, 0, 0, 0.5);
    content: "";
}
.video_wrapper:not(.js_active)::after {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 60px;
    background-image: url(./images/common/icon_loading.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    content: "";
}

.video_wrapper > video {
    width: 100%;
}

ol.list,
ul.list {
    margin: 0px 0px 0px 1.5em;
}

p + ol.list,
p + ul.list {
    margin: 0.5em 0px 0px 1.5em;
}

ol.list + p,
ul.list + p {
    margin: 0.5em 0px 0px;
}

ol.list > li + li,
ul.list > li + li {
    margin: 1em 0px 0px;
}

ol.list > li > ul,
ul.list > li > ul {
    margin: 1em 0px 0px 1.5em;
}

ol.list > li > .box,
ul.list > li > .box {
    margin: 1em 0px 0px;
}

dl.list {
    border: 1px solid #dedede;
    border-top: none;
}

dl.list > dt,
dl.list > dd {
    padding: 1em;
    margin: 0px;
    border-top: 1px solid #dedede;
}

dl.list > dt {
    background-color: #ecf8fe;
    color: #231815;
    font-weight: bold;
}

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

.bw > span,
h1 > span,
h2 > span,
h3 > span,
h4 > span,
h5 > span,
h6 > span,
figcaption > span {
    display: inline-block;
}

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

.center {
    text-align: center;
}

@media screen and (min-width: 768px) {
    .pc_center {
        text-align: center;
    }
}

.right {
    text-align: right;
}

.em {
    font-size: 16px;
    font-weight: bold;
}

.if_wrapper {
    position: relative;
    padding-bottom: 56.25%;
}
.if_wrapper iframe {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

.pagination {
    display: flex;
    justify-content: center;
    margin: 60px 0px 0px;
}

.pagination > a,
.pagination > span {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 2em;
    height: 2em;
    margin: 30px 0.5em 0px;
    border: 1px solid #0046ae;
    font-weight: bold;
}

.pagination > a:link,
.pagination > a:visited,
.pagination > a:active,
.pagination > a:hover {
    color: #034aa6;
    text-decoration: none;
}
.pagination > .prev,
.pagination > .next {
    border: 1px solid transparent;
    background-color: transparent;
}
.pagination > .prev:before,
.pagination > .next:before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0.5em;
    height: 0.5em;
    border-right: 2px solid currentColor;
    border-top: 2px solid currentColor;
    content: "";
}
.pagination > .prev:before {
    transform: translateX(-50%) translateY(-50%) rotate(225deg);
}
.pagination > .next:before {
    transform: translateX(-50%) translateY(-50%) rotate(45deg);
}

.pagination > .current {
    background-color: #0046ae;
    color: #fff;
}

.form_step {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
}

.form_step > li {
    display: block;
    position: relative;
    padding: 1em;
    width: 22%;
    border: 1px solid currentColor;
    font-size: 1.5vw;
    font-weight: bold;
    text-align: center;
    color: #3388dd;
}
.form_step > li:nth-of-type(n + 2) {
    margin: 0px 0px 0px 4%;
}
.form_step > li:nth-of-type(n + 2)::before {
    position: absolute;
    top: 50%;
    left: -1.5em;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid #3388dd;
    border-left: 2px solid #3388dd;
    transform: translateY(-50%) rotate(135deg);
    content: "";
}

.form_step > li.form_step_now{
    color: #fff;
    background-color: #3388dd;
}

@media print, (min-width: 992px) {
    .form_step > li {
        font-size: 18px;
    }
}

.link_prev_next {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 60px;
}
.link_prev_next a {
    color:#E2DAD4;
}
.link_prev_next a:hover {
    color: #41737E;
    transition: ease 0.5s;
}

.link_prev,
.link_next {
    position: relative;
    padding: 0px 1em;
}

.link_prev:before,
.link_next:after {
    position: absolute;
    top: 50%;
    width: 0.5em;
    height: 0.5em;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    content: "";
}
.link_prev:before {
    left: 0px;
    transform: translateY(-50%) rotate(225deg);
}
.link_next:after {
    right: 0px;
    transform: translateY(-50%) rotate(45deg);
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    padding: 1em 0px;
    list-style: none;
    color: #E2DAD4;
}
.breadcrumb > li {
    position: relative;
    font-size: 18px;
}
.breadcrumb > li a{
    color: #E2DAD4;
}
.breadcrumb > li:nth-of-type(n + 2) {
    padding: 0px 0px 0px 2.5em;
}
.breadcrumb > li:nth-of-type(n + 2):before {
    position: absolute;
    top: 50%;
    left: 1em;
    width: 0.5em;
    height: 0.5em;
    transform: translateY(-50%) rotate(45deg);
    border-right: 2px solid #dedede;
    border-top: 2px solid #dedede;
    content: "";
}

.list_slash {
    list-style: none;
}

.list_slash > li {
    display: inline-block;
    position: relative;
}
.list_slash > li:not(:last-child)::after {
    margin: 0px 0.5em;
    content: "/";
}

/*# フォントのセット*/

@font-face {
    font-family: "kago";
    src: url("font/DC-KagoMoji-W12.woff") format("woff");
  }
@font-face {
    font-family: "yose";
    src: url("font/DC-YoseMoji-W7.woff") format("woff");
  }
@font-face {
    font-family: "Gyosho";
    src: url("font/Gyosho.woff") format("woff"),
         url('font/Gyosho.otf') format('opentype'); 
  }

  .yose {
    font-family: 'yose', serif!important;
  }
  .kago {
    font-family: 'kago', sans-serif!important;
  }
  .Gyosho {
    font-family: 'Gyosho', serif!important;
  }

  .zen-old-mincho-regular {
    font-family: "Zen Old Mincho", serif!important;
    font-weight: 400;
    font-style: normal;
  }
  .biz-udpmincho-regular {
    font-family: "BIZ UDPMincho", serif;
    font-weight: 400;
    font-style: normal;
  }
  


/****************************************
2. Layout 
*****************************************/
.mt1em {
    margin-top: 1em;
}

.mt30 {
    margin-top: 30px;
}

.section {
    padding: 30px 0px 30px 0px;
}
.section h2{
    color: #E2DAD4;
    font-size: 24px;
}

div[class="col"],
div[class^="col-"] {
    margin-top: 30px;
}

.row.no_mt {
    margin-top: -30px;
}

.container {
    width: 100%;
}
.aline_justify{
    text-align: justify; /* 両端揃え */
    -moz-text-align-last: justify; /* Firefox対応 */
    word-wrap: break-word; /* 長い単語を適切に折り返し */
    hyphens: auto; /* 必要に応じて単語のハイフネーション */
}
@media print, (min-width: 992px) {
    .container {
        margin-left: auto;
        margin-right: auto;
    }
}
@media (min-width: 576px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 1100px) {
    .container {
        max-width: 1100px;
    }
}
@media (min-width: 1300px) {
    .container {
        max-width: 1300px;
    }
}

.container_s {
    padding: 0px 15px;
    width: 100%;
}
@media print, (min-width: 992px) {
    .container_s {
        margin-left: auto;
        margin-right: auto;
        width: 80%;
    }
}
@media (min-width: 768px) {
    .container_s {
        max-width: 768px;
    }
}

@media print, (min-width: 768px) {
    .col2 {
        display: flex;
        padding: 0px 0px 60px;
    }
    .col2_main {
        order: 2;
        width: 75%;
    }
    .col2_side {
        order: 1;
        margin: 0px 20px 0px 0px;
        width: calc(25% - 20px);
    }
}

@media screen and (max-width: 767.98px) {
    .col2_side {
        margin: 30px 0px 0px;
    }
}

.p_relative{
    position: relative;
}
.mt-30{
    margin-top: 30px;
}
.mt-1em{
    margin-top: 1em;
}

.opacity_08:hover{
    opacity: 0.8;
    transition: ease 0.5s;
}
.txt_hover{
    color: #E2DAD4;
    text-decoration: none;
}
.txt_hover:hover{
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}

/****************************************
3. header,nav
*****************************************/
@media screen and (max-width: 767.98px) {
    .header_cta,
    .header_menu {
        display: none;
    }
}
@media screen and (min-width: 768px) {
    .header {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        align-items: center;
        position: fixed;
        top: 0px;
        left: 50%;
        z-index: 9999;
        transform: translateX(-50%);
        width: 100%;
        color: #E2DAD4;
        transition: transform 0.5s;
    }
    .header::before {
        position: absolute;
        top: 0px;
        left: calc((50vw - 50%) * -1);
        right: calc((50vw - 50%) * -1);
        z-index: -1;
        bottom: 0px;
        width: 100vw;
        /* background-color: #000000; */
        content: "";
    }
    .header_title {
        margin: 0px 0px 0px 30px;
        width: 150px;
    }
    .header_cta {
        padding: 5px 5em 5px 1em;
        display: flex;
        background-color: #000000;
        width: 100vw;
        justify-content: end;
        color: #E2DAD4;
        font-size: 20px;
    }
    .header_cta_icon{
        max-width: 30px;
        margin: 0 5px;
    }
    .header_cta_icon:hover{
        opacity: 0.8;
        transition: ease 0.5s;
    }
    .header_cta_mypage{
        display: block;
        margin: auto 0;
        padding: 0 0 0 40px;
    }

    .header_menu {
        width: 100%;
        margin: auto 50px;
    }
    .header_float{
        display: flex;
        width: 100vw;
        padding-top: 10px;
        padding-bottom: 10px;
        transition: ease 0.5s;
    }
    .js_black {
        background-color: black;
        transition: ease 0.5s;
      }
    .header.js_hide {
        transform: translateY(-100%);    
    }
    body {
        margin-top: 100px;
    }
}
@media print, (min-width: 1100px) {
    .header {
        width: 100%;
    }
    .header_title {
        width: 200px;
    }
    body {
        margin-top: 130px;
    }
}
.header_cta_tel{
    display: block;
    margin: auto 0;
}
.header_cta_tel span{
    margin-right: 40px;
}
.header_cta_tel a {
    color: #E2DAD4;
    font-size: 20px;
    font-weight: bold;
    text-decoration: none;
    text-indent: 0.5px;
    letter-spacing: 0.5px;
    position: relative;
}
.header_cta_tel a:hover {
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}
.header_cta_tel a::before {
    content: "";
    width: 25px;
    height: 25px;
    background-image: url(images/common/head_tel.png);
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: -5px;
    transform: translateY(-50%) translateX(-100%);
}

.header_cta_contact {
    padding: 0.5em 2em;
    margin: 0px 0px 0px 30px;
    background-color: #d3282a;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}
.header_cta_contact:hover {
    color: #fff;
    opacity: 0.8;
}
.header_cta_contact::before {
    display: inline-block;
    margin: 0px 0.5em 0px 0px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0e0";
}

.header_title_logo img {
    max-width: 150px;
}
.header_title_logo a:hover {
    opacity: 0.8;
    transition: ease 0.5s;
}
@media print, (min-width: 1040px) {
    .header_title_logo img {
        max-width: 200px;
    }
}

.header_menu > .menu {
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: end;
    align-items: center;
    padding: 0px;
    margin: 0px;
    font-size: 20px;
    list-style: none;
    gap: 2em;
}

.header_menu > .menu > ul {
    display: flex;
    position: relative;
    list-style: none;
    font-size: 20px;
}

.header_menu > .menu > ul > li {
    position: relative;
    list-style-type: none;
    font-size: 20px;
}

.header_menu > .menu > ul > li > a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    height: 5em;
    color: #E2DAD4;
    text-align: center;
    text-decoration: none;
    line-height: 1;
}
#menu-mnavi > li > a {
    color: #E2DAD4;
    text-decoration: none;
}
#menu-mnavi > li > :hover {
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}

.header_menu > .menu > .current-menu-item::before,
.header_menu > .menu > li:hover::before {
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    width: 100%;
    height: 3px;
    content: "";
}

.header_menu .sub-menu {
    display: block;
    position: absolute;
    top: 5em;
    left: 50%;
    transform: translateX(-50%);
    padding: 2em;
    background-color: rgba(8, 20, 65, 0.8);
    list-style: none;
    white-space: nowrap;
    visibility: hidden;
    opacity: 0;
    transition: 0.5s;
}
.header_menu .sub-menu.js_active {
    visibility: visible;
    opacity: 1;
}

.header_menu .sub-menu > li + li {
    margin-top: 1.5em;
}

.header_menu .sub-menu > li > a {
    display: block;
    color: #fff;
    text-decoration: none;
}
.header_menu .sub-menu > li > a:hover {
    color: #007cdb;
}


/*アコーディオンメニューここから*/
.megaMenu {
    position: relative;
}


.megaMenu.is-active .megaMenu__child {
    display: block; /* ホバー中に表示 */
}
.megaMenu__trigger {
    cursor: pointer;
    position: relative;
    font-size: 20px;
    color: #E2DAD4;
    background: none;
    border: 0;
    font-family: "Zen Old Mincho","BIZ UDPMincho", serif, "Noto Sans JP", "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    letter-spacing: 0.1em;
  }
  .megaMenu__trigger a {
    color: #E2DAD4;
  }
  .megaMenu__trigger.is-active::before {
    transform: translateX(-50%) rotate(180deg);
  }
  
  @media (hover: hover) {
    .megaMenu__trigger:hover {
      opacity: 0.7;
    }
  }
  .megaMenu__child {
    position: absolute;
    top: calc(100% + 0em);
    left: 50%;
    transform: translateX(-50%);
    z-index: 4;
    width: -moz-max-content;
    width: max-content;
    display: none;
    transition: ease 0.3s;
  }
  .megaMenu:hover .megaMenu__child {
    display: block; /* ホバー時に表示 */
}
  .megaMenu__item a {
    display: block;
    font-size: 20px;
    color: #E2DAD4;
    line-height: 1.5;
    transition: ease 0.3s;
    text-decoration: none;
  }
  
  @media (hover: hover) {
    .megaMenu__item a:hover {
      opacity: 1;
      color: #41737E;
      transition: ease 0.5s;
    }
  }
  .megaMenu__item:nth-of-type(n + 2) a {
    position: relative;
  }
  
  .megaMenu__item:nth-of-type(n + 2) a::before {
    content: "";
    width: 85%;
    height: 2px;
    background-image: url(images/common/dot.png);
    background-repeat: repeat-x;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .megaMenu__trigger.is-active + .megaMenu__child {
    display: block;
  }
.megaMenu__list{
    list-style: none;
}
@media screen and (max-width: 1024.12px) {
    .header_menu > .menu{
        font-size: 14px;
        gap: 1em;
        white-space: nowrap;
    }
    .megaMenu__trigger {
        font-size: 14px;
    }
    .header_cta {
        font-size: 18px;
    }
    .breadcrumb > li{
        font-size: 16px;
    }
    .section h2{
        font-size: 20px;
    }
}
@media screen and (max-width: 768.12px) {
    .header_menu > .menu{
        font-size: 14px;
        gap: 0.5em;
    }
    .megaMenu__trigger {
        font-size: 14px;
    }
    .header_cta {
        font-size: 14px;
    }
    .breadcrumb > li{
        font-size: 14px;
    }
    .section h2{
        font-size: 18px;
    }
    .header_title{
        width: 100px;
        margin: 0px 0px 0px 15px;
    }
    .header_title_logo img{
        width: 100px;
    }
    .header_menu {
        margin: auto 15px;
    }
}
/*アコーディオンメニューここまで*/


.page_title {
    position: relative;
    height: 300px;
    background-image: url(./images/pagetitle/common.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.page_title_base {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
}

.page_title_base > h1 {
    padding: 1em;
    width: 100%;
    color: #E2DAD4;
    text-align: center;
    writing-mode: vertical-rl;
    text-wrap-mode: nowrap;
    font-size: 38px;
}

.post-type-archive-product .page_title,
.single-product .page_title {
    background-image: url(./images/pagetitle/product.jpg);
}
.page-contact .page_title,
.page-contact-child .page_title {
    background-image: url(./images/pagetitle/contact.jpg);
}
.category-news .page_title,
.single-post .page_title {
    background-image: url(./images/pagetitle/news.jpg);
    margin-top: -90px;
}
.page-privacy .page_title {
    background-image: url(./images/pagetitle/privacy.jpg);
}
.error404 .page_title,
.page-sitemap .page_title {
    background-image: url(./images/pagetitle/common.jpg);
}
@media screen and (max-width: 768.12px) {
    .page_title_base {
        position: absolute;
        top: 60%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
    }
}

/*固定ページのデフォルト表示*/
.page_title_default{
    position: relative;
    height: 300px;
    background-image: url(//morigin.tokyo/wp-content/themes/main/./images/pagetitle/news.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin-top: -90px;
}
.page_title_default div{
    position: absolute;
    top: 50%;
    left: 50%;
    font-size: 42px;
    transform: translateX(-50%) translateY(-50%);
    color: #E2DAD4;
}
.bg_grey{
    background-color: #333;
    color: #e2dad4;
}
/****************************************
4. sidebar
*****************************************/

/****************************************
5. contents
****************************************/
.menu-sitemap-container > .menu {
    margin: -1em 0px 0px 1.5em;
}

.menu-sitemap-container > .menu > li {
    margin: 1em 0px 0px;
    font-size: 17px;
}

.menu-sitemap-container > .menu .sub-menu {
    margin: 0px 0px 0px 2em;
}

.menu-sitemap-container > .menu .sub-menu > li {
    margin: 0.5em 0px 0px;
    font-size: 15px;
}
.list_news a{
    font-size: 20px;
    color: #E2DAD4;
}
.list_news a:hover{
    color: #41737E;
    transition: ease 0.5s;
}
.mv{
    position: relative;
    margin-top: -90px;
}
.top_mv video{
    width: 100%;
    object-fit: cover;
    height: 100vh;
}
@media print, (min-width: 767.98px) {
    .index-mv__movie{
        display: block;
        height: 100vh;
    }
    .index-mv__movie_sp{
        display: none;
    }
}
@media print, (max-width: 767px) {
    .index-mv__movie{
        display: none;
    }
    .index-mv__movie_sp{
        display: block;
        height: 100vh;
    }
}
@media print, (max-width: 1024px) {
    .mv{
        position: relative;
        margin-top: -90px;
        max-height: 100%;
    }
}
.top_mv_line{
    z-index: 888;
    position: absolute;
    top: 100%;
    left: 50%;
    width: 6px;
    transform: translateY(-50%) translateX(-50%);
}
.top_mv > div.mv_tate > h1 {
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
color: #e2dad4;
font-size: 52px;
-webkit-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
writing-mode: vertical-rl;
white-space: nowrap;
overflow: visible;
overflow-wrap: break-word;
width: max-content;
contain: layout;
clip-path: inset(0% round 0px);
display: inline-block;
}

@supports (-webkit-touch-callout: none) {
  .top_mv > div.mv_tate > h1 {
    padding-right: 1em;
  }
}

@media screen and (max-width: 1024.12px) {
    .top_mv > div.mv_tate > h1 {
        font-size: 30px;
        height: max-content;
        top: 55%;
    }
    .top_mv_line{
        width: 3px;
    }
}
@media screen and (max-width: 425.5px) {
    header{
        display: none;
    }
    .mv{
        margin-top: 0px;
    }
    .top_mv > div > h1{
        padding: 1em;
        text-align: center;
        justify-content: center;
    }
}
.top_sec_01_en_txt{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #E2DAD4;
    text-align: center;
}
.top_sec_01_en_txt h2{
    font-size: 56px;
    font-family: serif;
    line-height: 60px;
}
.top_sec_01_en_txt .en_SCV{
    font-size: 20px;
    font-family: sans-serif;
    line-height: 60px;
}
.top_sec_01_en_txt .en_SCV p{
    margin-top: 1.5em;
}
.top_sec_01_en_txt .ja_Gyosho_01{
    font-family: serif;
    font-size: 52px;
}
.top_sec_01_en_txt .ja_Gyosho_01 p{
    margin-top: 1.5em;
    line-height: 60px;
}
.top_sec_01_en_txt .ja_Gyosho_02{
    font-family: serif;
    font-size: 28px;
}
.top_sec_01_en_txt .ja_Gyosho_02 p{
    margin-top: 1.5em;
}

@media screen and (max-width: 1024.12px) {
    .list_news a{
        font-size: 18px;
    }
    .top_sec_01_en_txt h2{
        font-size: 32px;
        line-height: 45px;
    }
    .top_sec_01_en_txt .en_SCV{
        font-size: 16px;
        line-height: 45px;
    }
    .top_sec_01_en_txt .ja_Gyosho_01{
        font-size: 36px;
    }
    .top_sec_01_en_txt .ja_Gyosho_01 p{
        line-height: 45px;
    }
    .top_sec_01_en_txt .ja_Gyosho_02{
        font-size: 20px;
    }
}
@media screen and (max-width: 768.12px) {
    .top_sec_01_en_txt{
        width: 100%;
    }
    .top_sec_01_en_txt h2{
        font-size: 28px;
        line-height: 35px;
    }
    .top_sec_01_en_txt .en_SCV p{
        margin-top: 0.5em;
    }
    .top_sec_01_en_txt .ja_Gyosho_01 p{
        margin-top: 0.5em;
    }
}
.top_sec_02 .item_link a img{
    transition: filter 0.3s ease-in-out;
}
.top_sec_02 .item_grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: flex-start;
}
.item_grid > a {
    width: 33.33%;
    box-sizing: border-box;
  }
.top_sec_02 .item_grid a img{
    transition: filter 0.3s ease-in-out;
}
.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(65, 115, 126, 0.8);
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    display: flex;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    color: white;
    text-align: center;
    z-index: 999;
    height: -webkit-fill-available;
}
.top_sec_02 .item_link a:hover .overlay {
    opacity: 1;
}
.top_sec_02 .item_grid a:hover .overlay {
    opacity: 1;
}
.overlay .overlay_title{
    width: 85%;
    font-size: 21px;
    margin-top: 4em;
}
.overlay .overlay_line{
    width: 85%;
    font-size: 18px;
    margin-top: 1em;
}
.overlay .overlay_price{
    width: 85%;
    font-size: 21px;
    margin-top: 1em;
}
.overlay .overlay_text{
    width: 85%;
    font-size: 21px;
    margin-top: 1em;
    /* margin-bottom: 2em; */
}
.top_item_link{
    font-size: 18px;
    text-align: end;
    margin-right: 3em;
    padding: 0.8em;
}
.top_item_link a{
    color: #000;
    text-decoration: none;
}
.top_item_link a:hover{
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}

.top_sec_03{
    background-color: #333333;
    color: #E2DAD4;
    padding: 3em 0 3em 0;
}
.top_sec_03 h2{
    text-align: center;
    font-size: 56px;
}
.top_sec_03 div{
    text-align: center;
}
.top_sec_03 div .top_news_list{
    max-width: 50%;
    text-align: center;
    margin: 0 auto;
}
.top_sec_03 div ul li{
    list-style: none;
}
.top_sec_03 div ul li a{
    color: #E2DAD4;
    text-decoration: none;
}
.top_sec_03 div ul li a:hover{
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}
.c-entry-news__title{
    font-size: 18px;
}
.c-entry-news__title span{
    padding-right: 1em;
}
.p-index-news__button{
    margin-top: 1em;
}
.p-index-news__button a {
    color: #E2DAD4;
    text-decoration: none;
}
.p-index-news__button a:hover{
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}

@media screen and (max-width: 1440.12px) {
    .overlay .overlay_title{
        margin-top: 2em;
        font-size: 16px;
        line-height: 2em;
    }
    .overlay .overlay_line{
        font-size: 16px;
        line-height: 2em;
    }
    .overlay .overlay_price{
        font-size: 16px;
        line-height: 2em;
    }
    .overlay .overlay_text{
        font-size: 16px;
        line-height: 2em;
    }
}

@media screen and (max-width: 1024.12px) {
    .overlay .overlay_title{
        margin-top: 1em;
        font-size: 14px;
        line-height: 1.5em;
    }
    .overlay .overlay_line{
        font-size: 14px;
        line-height: 1.5em;
    }
    .overlay .overlay_price{
        font-size: 14px;
        line-height: 1.5em;
    }
    .overlay .overlay_text{
        font-size: 14px;
        line-height: 1.5em;
    }
}

@media screen and (max-width: 1024.12px) {
    .top_sec_03 div .top_news_list{
        max-width: 90%;
    }
}

.top_sec_04{
    background-color: #808080;
    padding: 3em 0 3em 0;
}
.top_sec_04 div{
    width: 80%;
    margin: 0 auto;
    text-align: center;
}
.top_sec_04 div iframe{
   height: 500px;
}
@media screen and (max-width: 768.12px) {
    .top_sec_04 div iframe{
        height: 300px;
    }
}
.youtube_icon{
    max-width: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
}
.top_sec_04 a:hover{
    opacity: 0.8;
    transition: ease 0.5s;
}

.top_sec_05 {
    background-image: url("/wp-content/themes/main/images/top/top_news_link.png");
    background-size: cover;
    background-position: center center;
    color: #E2DAD4;
    padding: 3em 5em;
}
.top_sec_05 h2{
    text-align: center;
    font-size: 56px;
}
.top_sec_05_block .contents{
    display: flex;
}
.top_sec_05_block .contents a{
    text-decoration: none;
}
.top_sec_05_block .contents .contents_all{
    background-color: #B3B3B3;
    height: -webkit-fill-available;
}
.top_sec_05_block .contents .contents_r{
    min-width: 15em;
}
.top_sec_05_block .contents .contents_r p{
    text-align: center;
    color: #000;
    font-size: 18px;
}
.top_sec_05_block .contents .contents_r .icon{
    display: flex;
    margin-top: 2em;
}
.top_sec_05_block .contents .contents_r .icon div{
    max-width: 115px;
    margin: 0.2em 1em;
}
.top_sec_05_block .contents .insta_thumb{
    max-width: 60%;

}
.top_sec_05_block .contents .contents_all_y{
    background-color: #B3B3B3;
    height: -webkit-fill-available;
    width: 100%;
}
.top_sec_05_block .contents .contents_all_y .icon{
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.top_sec_05_block .contents .contents_all_y .icon img{
    width: 80px;
    margin: 1em;
}
.top_sec_05_block .contents .contents_all_y .icon .youtube_text{
    text-align: left;
    color: #000;
    font-size: 16px;
    line-height: 1.3em;
}

.filter_bk50:hover{
    filter: brightness(0.5) grayscale(0.2);
    transition: filter 0.3s ease-in-out, transform 0.2s ease-in-out;
}

.top_sec_06{
    padding: 5em 5em;
    position: relative;
    color: #E2DAD4;
}
.top_sec_06::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("/wp-content/themes/main/images/top/top_shopping_guide.png");
    background-size: cover;
    background-position: center center;
    filter: brightness(30%);
    z-index: -1; /* テキストの下に表示 */
}
.top_sec_06 h2{
    text-align: center;
    font-size: 48px;
}
.op_sec_06_box{
    background-color: rgb(0 0 0 / 70%);
    padding: 1em 0;
}
.op_sec_06_box:not(:first-child){
    margin-top: 3em;
}
.op_sec_06_box h3{
    padding: 0.5em 0 0.5em 0;
    font-size: 32px;
    text-align: center;
}
.op_sec_06_box .line{
    border-bottom: solid 1px #e2dad4;
    width: 90%;
    margin: 0 auto;
}
.op_sec_06_box h4{
    font-size: 18px;
    background-color: #e2dad4;
    width: fit-content;
    padding: 0 10px;
    color: #000;
}
.op_sec_06_box .payment{
    width: 90%;
    margin: 0 auto;
}
.op_sec_06_box .payment .cash{
    width: auto;
    margin: 3em 0;
    font-size: 18px;
}
.op_sec_06_box .payment .cash th{
    margin-bottom: 3em;
    background-color: unset;
    color: #e2dad4;
    border: unset;
    text-align: left;
}
.op_sec_06_box .payment .cash td{
    border: unset;
}
.op_sec_06_box .payment .payment_info{
    margin: 3em 0;
}
.op_sec_06_box .payment .payment_info ul{
    list-style: none;
    margin-left: 10px;
}
.op_sec_06_box .payment .payment_info ul.transfer{
    margin: 3em 0 3em 10px;
}
.op_sec_06_box .payment .payment_info ul li{
    font-size: 18px;
    margin: 0.1em 0;
}
.payment_info.address ul li{
    border: solid 1px;
    padding: 5px;
}

@media screen and (max-width: 1024.12px) {
    .top_item_link{
        font-size: 16px;
    }
    .top_sec_03 h2{
        font-size: 36px;
    }
    .c-entry-news__title{
        font-size: 16px;
    }
    .youtube_icon{
        max-width: 80px;
    }
    .top_sec_05 h2{
        font-size: 36px;
    }
    .top_sec_06 h2{
        font-size: 36px;
    }
    .op_sec_06_box h3{
        font-size: 24px;
    }
    .op_sec_06_box h4{
        font-size: 16px;
    }
    .op_sec_06_box .payment .payment_info ul li{
        font-size: 16px;
        line-height: 2em;
    }
    .op_sec_06_box .payment .cash{
        font-size: 16px;
    }
}
@media screen and (max-width: 768.5px) {
    .overlay .overlay_title{
        font-size: 14px;
        margin-top: 0.5em;
        line-height: normal;
    }
    .overlay .overlay_line{
        display: none;
    }
    .overlay .overlay_price{
        font-size: 14px;
        margin-top: 0.5em;
        line-height: normal;
    }
    .overlay .overlay_text{
        font-size: 14px;
        margin-top: 0.5em;
        line-height: normal;
    }
}
@media screen and (max-width: 425.5px) {
    .top_sec_01_en_txt h2{
        font-size: 16px;
        line-height: 18px;
    }
    .top_sec_01_en_txt .en_SCV{
        font-size: 10px;
    }
    .top_sec_01_en_txt .en_SCV p{
        line-height: 10px;
        font-size: 6px;
    }
    .top_sec_01_en_txt .ja_Gyosho_01{
        font-size: 20px;
    }
    .top_sec_01_en_txt .ja_Gyosho_02{
        font-size: 12px;
        margin-top: 0.3em;
    }
    .top_sec_01_en_txt .ja_Gyosho_01 p{
        line-height: 28px;
        margin-top: 0.3em;
    }
    .top_sec_01_en_txt .ja_Gyosho_02 p{
        margin-top: 0.3em;
    }
    .overlay .overlay_title{
        font-size: 12px;
        margin-top: 1em;
    }
    .overlay .overlay_price{
        font-size: 12px;
        margin-top: 1em;
    }
    .overlay .overlay_text{
        display: none;
    }
    .top_item_link{
        font-size: 12px;
    }
    .top_sec_03 h2{
        font-size: 24px;
    }
    .c-entry-news__title{
        font-size: 12px;
    }
    .top_sec_05 h2{
        font-size: 24px;
    }
    .top_sec_05_block .contents .contents_all{
        display: block;
    }
    .top_sec_05_block .contents .contents_r{
        min-width: 9em;
    }
    .top_sec_05_block .contents .contents_all_y .icon .youtube_text{
        font-size: 8px;
        line-height: normal;
    }
    .top_sec_05_block .contents{
        padding-top: 2em;
    }
    .top_sec_06{
        padding: 5em 2em;
    }
    .top_sec_06 h2{
        font-size: 24px;
    }
    .op_sec_06_box h3{
        font-size: 18px;
    }
    .op_sec_06_box .payment{
        width: 95%;
    }
    .op_sec_06_box .payment .payment_info ul li{
        font-size: 14px;
    }
    .op_sec_06_box .payment .cash{
        font-size: 14px;
    }
    .overlay {
        height: 100%;
    }
}


/* ショッピングガイド開閉アニメ */
#paymentContent {
    max-height: 0; /* 初期状態で非表示 */
    overflow: hidden; /* コンテンツがはみ出さないようにする */
    transition: max-height 0.5s ease, padding 0.5s ease; /* アニメーションを追加 */
    padding: 0; /* 初期状態では余白をなくす */
}

#paymentContent.active {
    max-height: 500px; /* コンテンツの高さ（適宜調整） */
    padding: 10px 0; /* 開いたときの余白 */
}
#toggleButton {
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    position: relative;
}
#toggleButton:hover {
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}

#toggleButton::after {
    content: "+"; /* 初期状態の記号 */
    display: inline-block;
    margin-left: 10px;
    font-size: 24px;
    font-weight: bold;
    transition: transform 0.5s ease, color 0.5s ease; /* アニメーション */
    color: #808080; /* 初期の色 */
}

#toggleButton.active::after {
    content: "−"; /* 開いた状態の記号 */
    transform: scale(1.2); /* 大きくなる動き */
    color: #808080; /* 色の変化 */
}


/*もり銀を知るページ*/
.about_mv{
    position: relative;
    margin-top: -90px;
}
.about_mv h1{
    color: #E2DAD4;
    position: absolute;
    top: 50%;
    left: 85%;
    transform: translateY(-50%) translateX(-50%);
    font-size: 52px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-wrap-mode: nowrap;
}
.about_sec_02{
    background-color: #333333;
    color: #E2DAD4;
    padding: 3em 0 3em 0;
}
.about_sec_02 h2{
    text-align: center;
    font-size: 56px;
}
.about_sec_02_para{
    max-width: 1175px;
    margin: 0 auto;
    padding: 1em;
    font-size: 24px;
}
.about_sec_03{
    color: #E2DAD4;
}
.about_sec_tb{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    padding: 1em;
    font-size: 24px;
}
.about_sec_tb table{
    width: max-content;
    max-width: 1175px;
}
.about_sec_tb table td{
    border-bottom: none;
    padding: 0.7em 2em;
}
.about_sec_04{
    background-color: #333333;
}
.about_sec_04 .item_link{
    display: block;
    width: 100%;

}
.about_sec_04 .item_link a:hover .overlay{
    opacity: 1;
}
@media screen and (max-width: 1024.12px) {
    .about_mv h1{
        font-size: 32px;
        top: 55%;
    }
    .about_sec_02 h2{
        font-size: 32px;
    }
    .about_sec_02_para{
        font-size: 18px;
    }
    .about_sec_tb{
        font-size: 18px;
    }
}
@media screen and (max-width: 425.25px) {
    .about_mv{
        margin-top: 0;
    }
    .about_mv h1{
        font-size: 20px;
        top: 55%;
        left: 80%;
        padding: 1em;
    }
    .about_sec_02 h2{
        font-size: 20px;
    }
    .about_sec_02_para{
        font-size: 14px;
    }
    .about_sec_tb{
        font-size: 12px;
        line-height: normal;
        width: 100%;
    }
    .about_sec_tb table td{
        padding: 0 1em;
    }
    .about_sec_tb table{
        width: auto;
    }
}
/*ショッピファイ用　もり銀器を買う　Wordpressからは後で消してください。*/
.collection_mv{
    position: relative;
    margin-top: -90px;
}
.bg_collection{
    background-color: #333333;
}
.sec_collection_01{
    padding: 3em 0;
}
.sidebar{
    display: grid;
    grid-template-rows: 50px;
    justify-content: center;
    font-size: 18px;
}
.sidebar a{
    color: #E2DAD4;
    text-decoration: none;
}
.sidebar a:hover{
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}
.sidebar h3{
    margin: 2em 0 1em;
}
.collection_recomend a{
    color: #E2DAD4;
    text-decoration: none;
}

/*東京銀器について*/
.tokyo-ginki_mv{
    position: relative;
    margin-top: -90px;
}
.tokyo-ginki_mv div img{
    width: -webkit-fill-available;
}
.tokyo-ginki_mv h1{
    color: #E2DAD4;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-size: 52px;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-wrap-mode: nowrap;
}
.tokyo-ginki_sec_02{
    background-color: #333333;
    color: #E2DAD4;
    padding: 3em 0 3em 0;
}
.tokyo-ginki_sec_02 h2{
    text-align: center;
    font-size: 56px;
}
.tokyo-ginki_sec_02_para{
    max-width: 1175px;
    margin: 0 auto;
    padding: 1em;
    font-size: 24px;
}
.tokyo-ginki_sec_03{
    color: #E2DAD4;
    background-image: url(/wp-content/themes/main/images/tokyo-ginki/tokyo-ginki-made.png);
    background-size: cover;
    background-position: center center;
    padding: 3em 5em;
}
.tokyo-ginki_sec_03 h2{
    text-align: center;
    font-size: 56px;
}
.tokyo-ginki_sec_03 div{
    max-width: 810px;
    margin: 0 auto;
    padding: 3em 0;
}
.tokyo-ginki_sec_03 div a:hover{
    opacity: 0.8;
    transition: ease 0.5s;
}
.tokyo-ginki_sec_04{
    background-color: #333333;
    color: #E2DAD4;
    padding: 3em 0 3em 0;
}
.tokyo-ginki_sec_04 h2{
    text-align: center;
    font-size: 56px;
}
.tokyo-ginki_sec_04 .process{
    max-width: 1175px;
    display: flex;
    margin: 2em auto;
}
.tokyo-ginki_sec_04 .process .process_img{
    width: 50%;
}
.tokyo-ginki_sec_04 .process .process_txt{
    width: 50%;
    background-color: #000000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.tokyo-ginki_sec_04 .process .process_txt div{
    width: 70%;
}
.tokyo-ginki_sec_04 .process .process_txt div h3{
    text-align: center;
    font-size: 24px;
}
.tokyo-ginki_sec_04 .process .process_txt div p{
    font-size: 20px;
    line-height: 1.5em;
}
.tokyo-ginki_sec_04 .process .process_txt_100{
    width: 100%;
    background-color: #000000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1em 0;
}
.tokyo-ginki_sec_04 .process .process_txt_100 div{
    width: 70%;
}
.tokyo-ginki_sec_04 .process .process_txt_100 div h3{
    text-align: center;
    font-size: 24px;
}
.tokyo-ginki_sec_04 .process .process_txt_100 div p{
    font-size: 20px;
    line-height: 1.5em;
}

.tokyo-ginki_sec_04 .process_saikin{
    max-width: 1175px;
    margin: 1em auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}
.tokyo-ginki_sec_04 .process_saikin .process_img{
    width: 50%;
}
.tokyo-ginki_sec_04 .process_saikin .process_txt{
    width: 50%;
    background-color: #000000;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.tokyo-ginki_sec_04 .process_saikin .process_txt div{
    width: 70%;
}
.tokyo-ginki_sec_04 .process_saikin .process_txt div h3{
    text-align: center;
    font-size: 24px;
}
.tokyo-ginki_sec_04 .process_saikin .process_txt div p{
    font-size: 20px;
    line-height: 1.5em;
}
.tokyo-ginki_sec_04 .process_saikin .process_img div{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    color: #000000;
    text-align: center;
    width: 100%;
}
.tokyo-ginki_sec_04 .process_saikin .process_img div h4{
    font-size: 24px;
}
.tokyo-ginki_sec_04 .process_saikin .process_img div p{
    font-size: 20px;
}

.tokyo-ginki_sec_03.kogeishi{
    color: #E2DAD4;
    background-size: cover;
    background-position: center 25%;
    padding: 3em 5em;
    background-repeat: no-repeat;
}
.tokyo-ginki_sec_03.kogeishi.iwamura{
    background-image: url(/wp-content/themes/main/images/kogeishi/tokyo-ginki-kogeishi01.png);
}
.tokyo-ginki_sec_03.kogeishi.nirasawa{
    background-image: url(/wp-content/themes/main/images/kogeishi/tokyo-ginki-kogeishi02.png);
}
.tokyo-ginki_sec_03.kogeishi.kimura{
    background-image: url(/wp-content/themes/main/images/kogeishi/tokyo-ginki-kogeishi03.png);
}
.tokyo-ginki_sec_03.kogeishi div.name{
    max-width: 1175px;
    margin: 0 auto;
    padding: 20em 0 3em 0;
    font-size: 32px;
}
.tokyo-ginki_sec_03.kogeishi div.name span{
    padding-left: 8em;
    line-height: 2em;
}
.tokyo-ginki_sec_03.kogeishi div.profile{
    max-width: 1175px;
    display: flex;
    gap: 2em;
}
.tokyo-ginki_sec_03.kogeishi div.profile a{
    max-width: 500px;
}
.tokyo-ginki_sec_03.kogeishi div.profile div{
    padding: 0 0em 0em 4em;
    max-width: fit-content;
    font-size: 18px;
}
.tokyo-ginki_sec_03.kogeishi .zen_link{
    padding: 0 0 5em 0;
    text-align: end;
    max-width: 1175px;
}
.tokyo-ginki_sec_03.kogeishi .zen_link a{
    text-decoration: none;
    color: #E2DAD4;
    font-size: 24px;
}
.tokyo-ginki_sec_03.kogeishi .zen_link a:hover{
    opacity: 0.7;
    transition: ease 0.5s;
}

/* 銀器のお手入れ */
.tokyo-ginki_sec_02 .oteire_mov{
    max-width: 1175px;
    margin: 0 auto;
}
.tokyo-ginki_sec_02 .oteire_cross{
    width: 80%;
    margin: 3em auto;
    display: flex;
}
.tokyo-ginki_sec_02 .oteire_cross img{
    width: 50%;
}
.tokyo-ginki_sec_02 .oteire_cross .txt{
    width: 50%;
    background: #000000;
    font-size: 18px;
    padding: 2em 4em;
}
.tokyo-ginki_sec_02 .oteire_cross .txt .line_h{
    line-height: 1.5;
}
.online-shop_link{
    padding: 0 0 5em 0;
    text-align: end;
    max-width: 80%;
    margin: 0 auto;
}
.online-shop_link a{
    text-decoration: none;
    color: #E2DAD4;
    font-size: 24px;
}
.oteire_precautions{
    max-width: 1175px;
    margin: 0 auto;
    padding: 1em;
    font-size: 24px;
}
.oteire_precautions ul li{
    list-style: none;
    margin-top: 1em;
}
.online-shop_osusume{
    padding: 1em 0;
    text-align: start;
    max-width: 80%;
    margin: 0 auto;
    color: #E2DAD4;
    font-size: 24px;
}
@media screen and (max-width: 1024.12px) {
    .tokyo-ginki_mv h1{
        font-size: 32px;
        top: 55%;
    }
    .megaMenu__item a{
        font-size: 16px;
    }
    .tokyo-ginki_sec_02 h2{
        font-size: 32px;
    }
    .tokyo-ginki_sec_02_para{
        font-size: 18px;
    }
    .tokyo-ginki_sec_03 h2{
        font-size: 32px;
    }
    .tokyo-ginki_sec_03 div{
        max-width: 650px;
    }
    .tokyo-ginki_sec_04 h2{
        font-size: 32px;
    }
    .tokyo-ginki_sec_04 .process .process_txt div h3{
        font-size: 22px;
    }
    .tokyo-ginki_sec_04 .process .process_txt div p{
        font-size: 18px;
    }
    .tokyo-ginki_sec_04 .process .process_txt_100 div h3{
        font-size: 22px;
    }
    .tokyo-ginki_sec_04 .process .process_txt_100 div p{
        font-size: 18px;
    }
    .tokyo-ginki_sec_03.kogeishi div.profile a{
        margin: auto;
    }
    .tokyo-ginki_sec_03.kogeishi div.name{
        font-size: 28px;
    }
    .tokyo-ginki_sec_03.kogeishi .zen_link a{
        font-size: 22px;
    }
    .tokyo-ginki_sec_03.kogeishi div.profile a{
        max-width: 300px;
    }
    .tokyo-ginki_sec_02 .oteire_cross{
        width: fit-content;
    }
    .online-shop_link a{
        font-size: 20px;
    }
    .oteire_precautions{
        font-size: 18px;
    }
    .online-shop_link{
        padding: 0 0 3em 0;
    }
    .online-shop_osusume{
        font-size: 18px;
    }
}
@media screen and (max-width: 425.25px) {
    .tokyo-ginki_mv{
        margin-top: 0px;
    }
    .tokyo-ginki_mv h1{
        font-size: 20px;
        padding: 1em;
    }
    .tokyo-ginki_sec_02 h2{
        font-size: 20px;
    }
    .tokyo-ginki_sec_02_para{
        font-size: 14px;
    }
    .tokyo-ginki_sec_03 h2{
        font-size: 20px;
    }
    .tokyo-ginki_sec_04 h2{
        font-size: 20px;
    }
    .tokyo-ginki_sec_04 .process .process_txt div h3{
        font-size: 14px;
    }
    .tokyo-ginki_sec_04 .process .process_txt div p{
        font-size: 10px;
    }
    .tokyo-ginki_sec_04 .process .process_txt div{
        width: 90%;
    }
    .tokyo-ginki_sec_04 .process .process_txt_100 div h3{
        font-size: 14px;
    }
    .tokyo-ginki_sec_04 .process .process_txt_100 div p{
        font-size: 10px;
    }
    .tokyo-ginki_sec_04 .process .process_img{
        width: 40%;
    }
    .tokyo-ginki_sec_04 .process .process_txt{
        width: 60%;
    }
    .tokyo-ginki_sec_04 .process_saikin .process_img{
        width: 40%;
    }
    .tokyo-ginki_sec_04 .process_saikin .process_txt{
        width: 60%;
    }
    .tokyo-ginki_sec_04 .process_saikin .process_img div h4{
        font-size: 10px;
    }
    .tokyo-ginki_sec_04 .process_saikin .process_img div p{
        font-size: 10px;
    }
    .tokyo-ginki_sec_04 .process_saikin .process_txt div h3{
        font-size: 14px;
    }
    .tokyo-ginki_sec_04 .process_saikin .process_txt div p{
        font-size: 10px;
    }
    .tokyo-ginki_sec_04 .process_saikin .process_img.process_img_sp{
        width: 50%;
    }
    .tokyo-ginki_sec_03.kogeishi{
        background-size: cover;
        padding: 0em 5em;
    }
    .tokyo-ginki_sec_03.kogeishi div.name{
        font-size: 16px;
        padding: 2em 0 1em 0;
    }
    .tokyo-ginki_sec_03.kogeishi div.profile{
        flex-direction: column-reverse;
    }
    .tokyo-ginki_sec_03.kogeishi div.profile div{
        padding: 20em 0 0 0;
        font-size: 10px;
    }
    .tokyo-ginki_sec_03 div{
        padding: 0;
    }
    .tokyo-ginki_sec_03.kogeishi div.profile a{
        max-width: 150px;
    }
    .youtube_icon {
        max-width: 40px;
    }
    .tokyo-ginki_sec_03.kogeishi .zen_link a{
        font-size: 12px;
    }
    .tokyo-ginki_sec_02 .oteire_cross{
        display: block;
    }
    .tokyo-ginki_sec_02 .oteire_cross img{
        width: 90%;
    }
    .tokyo-ginki_sec_02 .oteire_cross .txt{
        width: 90%;
        font-size: 16px;
        padding: 1em;
        margin: 0 auto;
    }
    .online-shop_link a{
        font-size: 14px;
    }
    .oteire_precautions{
        font-size: 16px;
    }
    .oteire_precautions ul li{
        line-height: normal;
    }
}
/* もり銀のお誂え */
.oatsurae_sec_02{
    background-color: #333333;
    color: #E2DAD4;
    padding: 3em 0 3em 0;
}
.oatsurae_sec_02 h2{
    text-align: center;
    font-size: 56px;
}
.oatsurae_sec_02_img{
    display: flex;
    width: 90%;
    margin: 2em auto;
}
.oatsurae_sec_02_img img{
    width: 50%;
}
.oatsurae_sec_03{
    position: relative;
}
.oatsurae_sec_03_h2{
    color: #E2DAD4;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    font-size: 40px;
}
.font_simu{
    width: 100%;
    background-color: #BFB200;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    line-height: normal;
}
.font_simu a{
    color: #E2DAD4;
    text-decoration: none;
    padding: 0.3em 0;
    width: 100%;
    text-align: center;
}
.font_simu:hover{
    background-color: #7c7400;
    opacity: 0.8;
    transition: ease 0.5s;
}

/*　シミュレーター　*/
.simulator{
    background-color: #333333;
    position: relative;
    margin-top: -90px;
    padding-top: 150px;
}
.simu_txt{
    width: 80%;
    color: #E2DAD4;
    background-color: #BFB200;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    line-height: normal;
    margin: 0 auto;
    text-align: center;
}
.simu_table{
    width: 80%;
    margin: 1em auto;
    text-align: center;
    color: #E2DAD4;
    font-size: 24px;
}
.simu_table table td.under{
    border: solid 1px #585858;
}
.simu_table table td.under input,select{
    background: none;
    width: 80%;
    font-size: 24px;
    color: #E2DAD4;
    border: none;
    text-align: center;
    font-family: 'Zen Old Mincho';
}
.simu_table table td.under select option{
    color: #000000;
}
.simulator_button{
    width: 80%;
    text-align: end;
    margin: 3em auto;
}
.simulator_button button{
    background: #BFB200;
    border: none;
    font-size: 24px;
    color: #E2DAD4;
    padding: 0.1em 2em;
}
.simulator_button button:hover{
    background-color: #7c7400;
    opacity: 0.8;
    transition: ease 0.5s;
}
.simulator_area{
    display: flex;
    flex-flow: column;
    margin: 0 auto;
    text-align: center;
    width: 80%;
}
#canvas{
    width: 100%;
    height: 600px;
    background-color: #000;
}
.simulator_dl{
    text-align: end;
    margin: 2em 0;
}
.simulator_dl a{
    background: #BFB200;
    border: none;
    font-size: 24px;
    color: #E2DAD4;
    padding: 0.1em 2em;
    text-decoration: none;
}
.simulator_dl a:hover{
    background-color: #7c7400;
    opacity: 0.8;
    transition: ease 0.5s;
}

@media screen and (max-width: 1024.12px) {
    .oatsurae_sec_02 h2{
        font-size: 32px;
    }
    .oatsurae_sec_03_h2{
        font-size: 32px;
    }
}
@media screen and (max-width: 425.25px) {
    .font_simu{
        font-size: 20px;
    }
    .simu_txt{
        font-size: 20px;
    }
    .simu_table{
        width: 90%;
        font-size: 12px;
        line-height: normal;
    }
    .simu_table table td.under input, select{
        width: 95%;
        font-size: 12px;
    }
}

/****************************************
6. Footer 
****************************************/
.footer{
    background-color: #000;
    display: flex;
    justify-content: center;
    color: #E2DAD4;
}
.footer_left{
    text-align: justify;
    width: 50%;
    margin: 1em 5em;
}
.footer_left img{
    max-width: 200px;
    margin: 2em 0em 2em 0em;
}
.footer_left p{
    font-size: 18px;
}
.footer_left p a{
    margin-left: 1em;
    color: #E2DAD4;
    text-decoration: none;
}
.footer_left p a:hover{
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}
.footer_right{
    text-align: justify;
    width: 50%;
    margin: 1em 5em 3em 1em;
}
.footer_right .footer_cta{
    display: flex;
    align-items: center;
    justify-content: right;
    margin: 2em 0;
}
.footer_cta_mypage{
    font-size: 18px;
}
.footer_cta_icon{
    max-width: 50px;
    margin: 0 0.5em;
}
.footer_cta_icon a:hover{
    opacity: 0.7;
    transition: ease 0.5s;
}
.footer_copyright{
    text-align: right;
    font-size: 18px;
}
.footer_copyright p span a{
    margin-left: 1em;
    color: #E2DAD4;
    text-decoration: none;
}
.footer_copyright p span a:hover{
    color: #41737E;
    opacity: 0.8;
    transition: ease 0.5s;
}
@media screen and (max-width: 1024.12px) {
    .footer_cta_icon{
        max-width: 36px;
    }
    .footer_left img{
        max-width: 150px;
    }
    .footer_left{
        width: 40%;
        margin: 1em 3em;
    }
    .footer_left p{
        font-size: 16px;
    }
    .footer_copyright{
        font-size: 16px;
    }
}

@media print, (max-width: 767.98px) {
    .mnavi {
        display: block;
        position: fixed;
        bottom: 0px;
        left: 0px;
        z-index: 9999;
        width: 100%;
        height: 80px;
        background-color: #000000;
    }
    body {
        margin-bottom: 80px;
    }
}
@media screen and (max-width: 425.5px) {
    .footer{
        flex-direction: column;
    }
    .footer_right{
        width: 90%;
        margin: 0 auto;
    }
    .footer_left{
        width: 90%;
        margin: 0 auto;
    }
    .footer_left img{
        max-width: 100px;
    }
    .footer_left p{
        font-size: 14px;
    }
    .footer_cta_mypage{
        font-size: 14px;
    }
    .footer_copyright{
        font-size: 14px;
    }
}
@media print, (min-width: 768px) {
    .mnavi {
        display: none;
    }
}

.mnavi > ul {
    display: flex;
    justify-content: space-around;
    align-items: center;
    height: 100%;
    list-style: none;
}

.mnavi > ul > li {
    width: 40px;
    height: 40px;
}

.mnavi > ul > li > a,
.mnavi > ul > li > button {
    position: relative;
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    font-size: 2.5vw;
}
.mnavi > ul > li > a:before,
.mnavi > ul > li > button:before {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX(-50%);
    font-size: 32px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}
.mnavi_home > a:before {
    content: "\f015";
}
.mnavi_contact > a:before {
    content: "\f0e0";
}
.mnavi_tel > a:before {
    content: "\f095";
}
.mnavi_menu > button:before {
    content: "\f0c9";
}

.mnavi > ul > li > a {
    text-decoration: none;
}

.mnavi > ul > li > button {
    border: none;
    background: none;
    outline: none;
    appearance: none;
    cursor: pointer;
}

.mnavi > ul > li span {
    position: absolute;
    bottom: -1em;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1;
    white-space: nowrap;
}

.mnavi_menu_area {
    display: none;
    position: fixed;
    left: 0px;
    bottom: 80px;
    width: 100vw;
    height: calc(100vh - 80px);
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0.6);
    overflow-x: hidden;
    overflow-y: scroll;
}

.mnavi_menu_area > .menu {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 90%;
}

.mnavi_menu_area > .menu > li {
    list-style-type: none;
    text-align: center;
}

.mnavi_menu_area > .menu > li > a {
    display: inline-block;
    padding: 0.5em 2em;
    color: #fff;
    font-size: 4vw;
    text-decoration: none;
}

#btn_scroll_top {
    display: none;
    position: fixed;
    bottom: 120px;
    right: 30px;
    z-index: 9999;
    width: 50px;
    height: 50px;
    background-color: #333;
    text-decoration: none;
    outline: none;
}
#btn_scroll_top:after {
    position: absolute;
    top: 40%;
    left: 50%;
    width: 20px;
    height: 20px;
    transform: translateX(-50%) rotate(-45deg);
    border-right: 2px solid #fff;
    border-top: 2px solid #fff;
    content: "";
}
@media print, (min-width: 768px) {
    #btn_scroll_top {
        bottom: 30px;
        width: 42px;
        height: 42px;
    }
    #btn_scroll_top:after {
        width: 12px;
        height: 12px;
    }
}
@media print, (max-width: 425.2px) {
    #btn_scroll_top {
        width: 30px;
        height: 30px;
    }
    #btn_scroll_top:after {
        width: 10px;
        height: 10px;
    }
}
/****************************************
7. single
****************************************/
.post_date {
    display: table;
    padding: 5px 2em;
    margin: 0px 0px 0px auto;
    background-color: var(--base-color);
    color: #fff;
    font-size: 14px;
}

.post_title {
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
}

.post_content {
    margin-top: 30px;
}

.post_content img {
    display: inline-block;
}

/****************************************
8. WP
****************************************/

/****************************************
9. Print
****************************************/

/****************************************
10. Plugin
****************************************/
.no_must {
    display: block;
    background-color: #fc0;
    padding: 4px 5px;
    font-size: 13px;
    color: #fff;
    float: left;
    margin: 0px 5px;
    border-radius: 4px;
    box-shadow: 0px 0px 5px #ccc;
}

.bx-wrapper {
    background-color: transparent;
    margin: 0 auto 0;
    border: none;
    box-shadow: none;
    padding: 0em 0;
}
.bx-wrapper img {
    display: block;
    margin: 0px auto;
}

.bx-wrapper .bx-pager.bx-default-pager a {
    background: #c9e2ff;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
    background: #012065;
}

/****************************************
10. Tweak
****************************************/

/****************************************
11. メールフォームプロ用スタイル
****************************************/
form#mailformpro .mailform {
    margin: 0px;
}

form#mailformpro dl {
    box-sizing: border-box;
}

form#mailformpro dl dt {
    display: flex;
    align-items: flex-start;
    box-sizing: border-box;
    border: none;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
}

form#mailformpro dl dd {
    box-sizing: border-box;
    border: none;
}

form#mailformpro dl dt:nth-of-type(n+2),
form#mailformpro dl dd:nth-of-type(n+2) {
    border-top: 1px solid #d3dad9;
}

.mfp_colored {
    background: none;
}

.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
    padding: 1em;
    margin: 0px;
    width: 100% !important;
    box-sizing: border-box;
    border: 1px solid #95cec7;
    background-color: #f0f8f7;
    box-shadow: none;
    outline: none;
}

.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
    padding: 0.5em 3em;
    box-sizing: border-box;
    background: none;
    background-color: #00665b;
    box-shadow: none;
    color: #fff;
    font-size: 18px;
    text-shadow: 0px 2px 0px #00564d;
}

.mfp_element_submit:hover,
.mfp_element_reset:hover,
.mfp_element_button:hover {
    background: none;
    background-color: #267d73;
    box-shadow: none;
}

div.mfp_err {
    padding: 0.5em 0px 0.5em 1em;
    background: none;
}

.problem {
    border: 1px solid #ffd5dc;
    background-color: #ffd5dc;
}

.must,
.no_must {
    display: block;
    padding: 0px 1em;
    border-radius: 4px;
    background: none;
    box-shadow: none;
    text-shadow: none;
    color: #fff;
    font-size: 10px;
    line-height: 1.5;
}

.must {
    border: 1px solid #c60505;
    background-color: #c60505;
}

.no_must {
    border: 1px solid #fc0;
    background-color: #fc0;
}

@media screen and (max-width: 767.98px) {
    form#mailformpro dl dt,
    form#mailformpro dl dd {
        padding: 1em;
        width: 100%;
    }
    .must,
    .no_must {
        margin: 2px 2em 0px 0px;
    }
}

@media print, (min-width: 768px) {
    form#mailformpro dl {
        display: flex;
        flex-wrap: wrap;
    }
    form#mailformpro dl dt {
        float: none;
        padding: 2em 0px;
        width: 280px;
    }
    form#mailformpro dl dd {
        padding: 2em 2em 2em 0px;
        width: calc(100% - 280px);
    }
    .mfp_element_text,
    .mfp_element_number,
    .mfp_element_select-one,
    .mfp_element_email,
    .mfp_element_tel,
    .mfp_element_textarea {
        max-width: 500px;
    }
    .must,
    .no_must {
        margin: 2px 2em 0px;
    }
}

/****************************************
12. ショッピファイ用スタイル
****************************************/
.bg_black{
  background-color: #000;
  padding: 2em;
}

.grid_2column{
  display: flex;
  justify-content: center;
  flex-direction: row-reverse;
  max-width: 1200px;
  margin: 0 auto;
  padding: 2em 3em;
}
#ProductGridContainer .page-width{
  max-width: 90rem;
}
.collection-banner-link{
  max-width: 1100px;
  margin: 10px auto;
  padding: 0 10px;
}
.collection-banner-link a img{
  width: 100%;
}
@media screen and (max-width: 767.98px) {
 .grid_2column{
  display: flex;
  flex-direction: column-reverse;
 }
}
@media screen and (max-width: 425.98px) {
  #MainContent{
    margin-top: 90px;
  }
}