@charset "UTF-8";

/* ==========================================================================
   追加スタイル
========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display&family=Noto+Serif+JP:wght@200&display=swap');

/* 詳細ページ「資料ダウンロード」ボタンの装飾 */
.btn_dl {
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 5%;
 font-size: 18px;
 font-weight: 500;
 line-height: 1.44;
 color: #fff;
 max-width: 350px;
 width: 100%;
 margin: 100px auto 0;
 padding: 0.8rem 0.5rem !important;
 background-color: #827A71;
 border-radius: 10px;
 padding: 1rem 0;
 transition: all .2s ease-in-out;
}

.btn_dl:hover{
    opacity: .7 !important;
}
@media (max-width: 767px) {
 .btn_dl {

  font-size: 18px;

 }
}
.btn_dl>img{
    width: 8%;
}
/*------ ログイン（サインイン）ページの装飾 -----*/
#wpmem_login legend {
 display: none;
}

.bb_block {
 text-decoration: underline !important;
}

.bb_block:hover {
 text-decoration: none !important;
}

.bb_none {
 border-bottom: none !important;
}

/* ログインを保存チェック非表示 */
#rememberme {
 display: none;
}

#wpmem_login input[type=password],
#wpmem_login input[type=text] {
 height: 51px;
}

/* ログインページのリンクボタン */
.mypage_login_block {
 display: flex;
 justify-content: center;
 gap: 60px;
 margin: 100px 0;
}
@media (max-width: 767px) {
    .mypage_login_block {
       flex-direction: column;
       gap: 30px;
       margin: 60px 0;
    }
}
.mypage_login_block li {
 list-style-type: none;
}

.mypage_login_block a {
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 16px 33px 16px 16px;
 text-align: center;
 width: 100%;
 border: 1px solid;
}
@media (max-width: 767px) {
    .mypage_login_block a {
       font-size: 14px;
    }
}
.mypage_login_block a::before {
 content: '';
 display: block;
 width: 5px;
 height: 8px;
 background-image: url('../img/arrow_right.png');
 background-repeat: no-repeat;
 background-position: center center;
 background-size: 100%;
 position: absolute;
 top: 50%;
 right: 1em;
 transform: translateY(-50%);
 transition: right .2s;
}

.mypage_login_block a:hover.mypage_login_block a::before {
 right: .75em;
}

/*----- 会員登録ページの装飾 -----*/
.account_block {
 margin-top: 50px;
}

div#wpmem_login,
div#wpmem_reg {
 margin: auto;
 max-width: 800px;
}

.contact__txt {
 font-size: 16px;
 font-weight: 500;
 line-height: 1.9;
 text-align: center;
 margin: 0 0 40px;
}

.contact__txt .red {
 color: #F50808;
}

.myform-row {
 position: relative;
 display: grid;
 grid-template-columns: 220px 1fr;
 border-bottom: 1px solid #EFEFEE;
 margin-bottom: 14px;
 font-family: var(--gothic);
}

@media (max-width: 767px) {
 .myform-row {
  grid-template-columns: 1fr;
 }
}

/* 個人保護法方針に同意するの項目 */
.myform-row:nth-of-type(8) {
 display: flex;
 justify-content: center;
 border-bottom: none;
}

/* 個人保護法方針に同意するの項目 */
.myform-row:nth-of-type(8) .req {
 display: none !important;
}

.myform-row input {
 height: 51px;
}

#wpmem_reg .req {
 position: absolute;
 top: 0;
 left: 175px;
 font-size: 11px;
 color: #000;
}

@media (max-width: 767px) {
 #wpmem_reg .req {
  position: absolute;
  top: 10px;
  left: auto;
  right: 0;
 }
}

.myform-row label {
 padding-top: 5%;
}

.div_text {
 display: flex;
 align-items: center;
 gap: 5px;
}

/* エラーの項目センターに */
#wpmem_msg,
.wpmem_msg {
 margin-left: auto;
 margin-right: auto;
}

/* 送信ボタンの装飾 */
span.wpcf7-spinner {
 display: none;
}

.button_div {
 position: relative;
 padding: 6px 0;
 text-align: center !important;
 width: 235px;
 max-width: 100%;
 margin: auto;
}
/* ボタンのフォントファミリー */
#wpmem_login, #wpmem_reg {
    font-family: var(--font1) !important;
}
.btn_style {
 display: inline-block;
 position: relative;
}

.btn_style::before {
 content: '';
 display: inline-block;
 width: 5px;
 height: 8px;
 background-image: url('../img/arrow_right.png');
 background-repeat: no-repeat;
 background-position: center center;
 background-size: 100%;
 position: absolute;
 top: 50%;
 right: 1em;
 transform: translateY(-50%);
 transition: right .2s;
}

.btn_style:hover.btn_style::before {
 right: .75em;
}

.button_div .buttons {
 color: var(--color1);
 display: inline-block;
 text-align: center;
 font-family: var(--font1);
 font-size: 16px;
 letter-spacing: .08em;
 line-height: 1;
 font-weight: 600;
 padding: 1em 2.5em 1em 1em;
 width: 235px;
 max-width: 100%;
 background-color: transparent;
 border: 0;
 border-radius: 0;
 border-bottom: 1px solid currentColor;
 text-decoration: none;
 outline: none;
 cursor: pointer;
 position: relative;
}

/*----- パスワードリセットフォーム -----*/
form#wpmem_pwdreset_form .wpmem-link-block:last-child {
 display: none;
}


/* パス、アカウントボタン */
.wpmem-link-block {
 display: flex;
 justify-content: center;
 gap: 25px;
 margin-top: 70px;
 padding: 0 20px;
}

@media (max-width: 767px) {
 .wpmem-link-block {
  flex-direction: column;
 }
}

#wpmem_login .link-text {
 position: relative;
 width: 100%;
}

#wpmem_login .link-text a {
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 16px 33px 16px 16px;
 text-align: center;
 width: 100%;
 border: 1px solid;
}

.link-text::before {
 content: '';
 display: inline-block;
 width: 5px;
 height: 8px;
 background-image: url('../img/arrow_right.png');
 background-repeat: no-repeat;
 background-position: center center;
 background-size: 100%;
 position: absolute;
 top: 50%;
 right: 1em;
 transform: translateY(-50%);
 transition: right .2s;
}

.link-text:hover.link-text::before {
 right: .75em;
}

/*----- ThanksPage -----*/
.signin_btn {
 position: relative;
 display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 400px;
 height: 45px;
 border: 1px solid #392209;
}

/* シングルページ「INFORMATION」の装飾 */
h2.information_ttl {
 position: relative;
 font-family: var(--font1);
 font-weight: 600;
 letter-spacing: .16em;
 line-height: 1.25;
 text-transform: uppercase;
 margin-top: 80px;
 color: var(--color2);
 z-index: -1;
  margin-bottom:40px;
}
@media (max-width: 991px) {
    h2.information_ttl {
        font-size: 1.875rem;
        margin-top: 50px;
       }
   }
h2.information_ttl span {
 position: relative;
 background: var(--l-gray);
 z-index: 1;
}

h2.information_ttl::after {
 content: '';
 display: block;
 position: absolute;
 top: 50%;
 width: 100%;
 height: 1px;
 background-color: var(--border1);
}

/* インフォメーション下部テキスト */
.information_block {
 padding: 2% 0;
}

.field_item {
 display: flex;
 margin: 15px 0;
}

.field_item>span {
 display: inline-block;
 min-width: 140px;
 margin-right: 1em;
 line-height: 1.44;
 padding-top: 3px;
 font-size: 0.938rem;
}
hr.sep_line {
    margin: 1.75em 0;
    border-color: var(--border2);
}
@media (max-width: 991px) {
    .field_item>span {
     min-width: 100px;
       
    }
}
.field_item>p {
 margin: 0;
 line-height: 1.44;
 color: var(--color1);
 padding-top: 3px;
}

/* archive-downloadsの装飾 */
.cards--dl {
 position: relative;
 z-index: 1;
}

.card--completed {
 position: relative;
 z-index: 0;
}

.card--completed>li:first-child {
 border-top: 1px solid #efefee;
}

.cards--dl li {
 border-bottom: 1px solid #efefee;
}

.cards--dl li:last-child {
 border-bottom: none;
}

.card--downloads {
 display: grid;
 grid-template-columns: .8fr 2fr .5fr;
}

@media (max-width: 767px) {
 .card--downloads {
  grid-template-columns: 1fr;
 }
}

.card--downloads .ttl {
 font-size: 20px;
 margin-bottom: 15px;
}

.card--downloads dl {
 display: grid;
 grid-template-columns: auto 1fr;
  font-size:0.875rem;
}

@media (max-width: 767px) {
 .card--downloads dl {
  grid-template-columns: 1fr;
 }
}

.card--downloads dl dt {
 min-width: 100px;
 padding: 1em 1em 1em 0;
 border-top: 1px solid #efefee;
}

@media (max-width: 767px) {
 .card--downloads dl dt {
    padding: .5em 0 0 0;
 }
}

.card--downloads dl dd {
    padding: 1em 1em 1em 0;
    border-top: 1px solid #efefee;
}

@media (max-width: 767px) {
 .card--downloads dl dd {
    padding: 0 0 .5em 0;
    border-top: none;
 }
}

.card--downloads .txtBox {
 padding: 1% 5%;
}

.dlBox {
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: flex-end;
 gap: 1rem;
 max-width: 190px;
 min-width: 120px;
}

.sale__btn {
 position: relative;
 display: inline-flex;
 justify-content: center;
 align-items: center;
 background-color: #827A71;
 border-radius: 10px;
 padding: .5rem 1.0rem;
 color: #fff;
 font-size: 14px;
 max-width: 186px;
 width: 100%;
 transition: all .2s ease-in-out;
}
.sale__btn:hover{
    opacity: .7 !important;
}
.sale__btn::after {
 position: absolute;
 top: 50%;
 right: 6%;
 content: '';
 background-image: url(../img/rectangle02.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;
 width: 22px;
 height: 22px;
 transform: translateY(-50%);
}

.soldout {
 display: inline-flex;
 justify-content: center;
 align-items: center;
 background-color: #d3d1ce;
 border-radius: 10px;
 padding: .5rem 2rem;
 color: #fff;
 font-size: 14px;
 max-width: 186px;
 width: 100%;
}

/* たぶ */
.area {
 max-width: 1280px;
 width: 100%;
 margin: 5% auto;
 flex-wrap: wrap;
 display: flex;
 background-color: #fff;
}

.tab_class {
 width: calc(100%/3);
 height: 50px;
 background: var(--l-gray);
 line-height: 50px;
 font-size: 15px;
 text-align: center;
 display: block;
 float: left;
 order: -1;
 cursor: pointer;
  transition:all .2s;
}
.tab_class:hover {
  background-color:rgb(254 252 251);
}

input[name="tab_name"] {
 display: none;
}

input:checked+.tab_class {
 background-color: #fff;
 color: #392209;
}

.content_class {
 display: none;
 width: 100%;
}

input:checked+.tab_class+.content_class {
 display: block;
}

/*----- 資料ダウンロードページ -----*/
div#wpcf7-f2781-p2771-o1 {
 width: 100%;
}

@media (max-width: 767px) {
 .post--thumbnail {
  aspect-ratio: 4/3;
 }
}

.cards--request {
 padding: 20px 0;
}

.request__body {
 justify-content: center;
 max-width: 860px;
 width: 100%;
 margin: auto;
}

.request__header {
 justify-content: center;
}
.imgBox,.txtBox,.checkBox{
    padding: 0 15px;
}
.imgBox{
    padding: 0;
}
.request__header-txt {
 text-align: center;
}
.request__txt{
    margin: 0 0 30px;
}
.checkbox-row {
    justify-content: center;
    padding: 15px 0;
    margin: auto;
}

.checkbox-row .checkBox {
 display: flex;
 justify-content: center;
 align-items: center;
}

.checkbox-row.bg-white {
 background-color: #fff;
}
/* .checkbox-row .post--thumbnail {
  aspect-ratio: 16/9;
} */
.checkbox-row .remarks {
}
.other-contact {
 display: flex;
 gap: 50px;
 margin: 40px 0;
}
@media (max-width: 991px) {
    .other-contact {
        flex-direction: column;
        gap: 0;
    }
    .other-contact p{
        margin: 0;
    }
}
.other-contact-ttl{
    max-width: max-content;
    word-break: keep-all;
}
.checkbox-row .ttl{
    font-size: 16px;
    line-height: 1.3;
    margin-bottom: 10px;
  font-family:var(--mincho);
}
@media (max-width: 767px) {
    .checkbox-row .ttl{
        font-size: 16px;
        line-height: 2.3;
        margin-bottom: 0;
    }
}
@media (max-width: 767px) {
 .other-contact {
  flex-direction: column;
  gap: 0;
 }
}

.checkbox-row input[type="checkbox"] {
 width: 24px;
 height: 24px;
 cursor: pointer;
}
.txt-content{
    font-size: 14px;
    line-height: 2.2;
}
.txt-content dl {
 display: flex;
}
@media (max-width: 767px) {
    .txt-content dl {
       margin: 5px 0;
    }
}

.txt-content dt {
 max-width: 90px;
 width: 100%;
}

@media (max-width: 767px) {
    .txt-content {
        font-size: 14px;
        line-height: 1.88;
    }
    .txt-content .remarks {
        font-size: 12px;
        line-height: 1.88;
    }
}
.popup__btn {
 position: relative;
 cursor: pointer;
 display: inline-flex;
 justify-content: center;
 align-items: center;
 background-color: #B8B4AF;
 border-radius: 10px;
 padding: 0.5rem 2.5rem;
 color: #fff;
 font-size: 16px;
 width: 186px;
}

.popup__btn::after {
 position: absolute;
 top: 50%;
 right: 10%;
 content: '';
 background-image: url(../img/rectangle.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;
 width: 16px;
 height: 14px;
 transform: translateY(-50%);
}

/* .popup {
    display: none;
    text-align: center;
    max-width: 700px;
    width: 100%;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translate(-50%, 0px);
    z-index: 99;
}
.show {
    display: block;
} */
/*
.cards--lists.show {
    display: block;
    z-index: 1;
} */
.popup_bg {
 display: none;
 position: fixed;
 top: 0;
 left: 0;
 bottom: 0;
 right: 0;
 width: 100%;
 height: 100%;
 background-color: transparent;
 z-index: 1;
}

.show_bg {
 display: block;
}

/* .popup_content{
    background: #f1f1f1;
    padding: 30px;
    width: 100%;
} */

.pop_dl_lists {
 display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 30px;
 text-align: center;
}

@media (max-width: 767px) {
 .pop_dl_lists {
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
 }
}

.pop_dl_lists li {
 list-style-type: none;
 border: none;
}

.pop_dl_btn {
 position: relative;
 display: inline-flex;
 justify-content: center;
 align-items: center;
 background-color: #B8B4AF;
 border-radius: 10px;
 padding: .5rem 2.5rem;
 color: #fff;
 font-size: 16px;
 max-width: 186px;
 width: 100%;
}

@media (max-width: 767px) {
 .pop_dl_btn {
  padding: .3rem .8rem;
  font-size: 14px;
 }
}

.pop_dl_btn::after {
 position: absolute;
 top: 50%;
 right: 10%;
 content: '';
 background-image: url(../img/rectangle.png);
 background-repeat: no-repeat;
 background-position: center;
 background-size: contain;
 width: 16px;
 height: 14px;
 transform: translateY(-50%);
}

@media (max-width: 767px) {
 .pop_dl_btn::after {
  display: none;
 }
}

.pop_dl_completed {
 display: inline-flex;
 justify-content: center;
 align-items: center;
 background-color: #827A71;
 border-radius: 10px;
 padding: 0.5rem 2.5rem;
 color: #fff;
 font-size: 16px;
 max-width: 186px;
 width: 100%;
}

.popup_close {
 margin-top: 50px;
 padding: 5px 20px;
}

/*----- 資料ダウンロード(確認ページ) -----*/
.cards--request-confirom {
 max-width: 600px;
 width: 100vw;
 padding: 0 25px;

}

.confirm-ttl,
.confirm-message {
 display: grid;
 grid-template-columns: auto 1fr;
 gap: 30px;
 max-width: max-content;
}
@media (max-width: 991px) {
    .confirm-ttl,
    .confirm-message {
     grid-template-columns:1fr;
     gap: 0;
    }
}
.confirm-ttl p,
.confirm-message p {
 margin: 0;
 width: 140px;
}
@media (max-width: 991px) {
    .confirm-ttl p,
    .confirm-message p {
    width: 100%;
    }
}


/* モーダルのスタイル */
/* #myModal {
 display: none;
 position: fixed !important;
 z-index: 1;
 left: 0;
 top: 0;

 width: 100%;
 height: 100%;
 overflow: auto;
 background-color: rgba(100, 100, 100, 0.5);
}

#modal-content-container {
 background-color: #fefefe;
 margin: 15% auto;
 padding: 20px;
 border: 1px solid #888;
 width: 80%;
 position: relative;
}

.close-btn {
 font-size: 40px;
 position: absolute;
 content: "";
 top: -60px;
 right: 0px;
 color: #fff;
 cursor: pointer;
} */
/* モーダルスタイル */
.modal {
 display: none;
 /* デフォルトでは非表示 */
 position: fixed;
 /* ビューポートに対して固定 */
 z-index: 1000;
 /* 他の要素の上に表示 */
 left: 0;
 top: 0;
 /* margin: 0 calc(50% - 50vw);
 padding: 4px calc(50vw - 50% + 8px);
 width: 100vw; */
 width: 100%;
 /* ビューポートの幅全体 */
 height: 100%;
 /* ビューポートの高さ全体 */
 overflow: auto;
 /* 必要に応じてスクロールバーを表示 */
 background-color: rgba(125, 125, 125, .6);
 /* 半透明の背景 */
 /* display: flex; */
 /* Flexboxを使用 */
 align-items: center;
 /* 垂直方向の中央揃え */
 justify-content: center;
 /* 水平方向の中央揃え */

}


.modal-content {
 background-color: #fff;
 /* margin: 15% auto; */
 /* 中央に配置 */
 padding: 60px 60px;
 border: 1px solid #888;

 max-width: 980px;
 width: 100%;
 margin: 20px auto;
 /* コンテンツの幅 */
 /* 必要に応じて他のスタイルを追加 */
 position: relative;
}

@media (max-width: 767px) {

 .modal-content {
  padding: 25px 25px;
  margin: 25px;
 }
}

.close-btn {
 cursor: pointer;
 position: absolute;
 top: -35px;
 right: 15px;
 width: 30px;
 color: #35424c;
 height: 30px;
 /* background-color: #fff; */
 text-align: center;
 line-height: 30px;
 transform: rotate(-135deg);
}

/* トップページキャッチコピー */
.copy-txt{
    display: block;
  font-family: 'DM Serif Display', serif;
  letter-spacing: 4px;
  font-weight: 100;
}
.copy-txt.font-jost-m {
    font-weight: 300!important;
    font-size: 1.2em;
    letter-spacing: 3px;
}
.copy-txt02 {
  font-family: 'DM Serif Display', serif;
  display: block;
    line-height: 1.4;
    font-size: 1.1rem;
    letter-spacing: 4px;
}
.copy-txt-block02{
    margin-top: 1.8rem;
}
@media (max-width: 1201px) {
  .copy-txt02 {
    font-size: 0.9rem;
  }
}
@media (max-width: 1041px) {
  .copy-txt02 {
    font-size: 0.84rem;
  }
}
@media (max-width: 991px) {
    .copy-txt{
        color: #fff;
    font-size: 2em;
    letter-spacing: 8px;
    }
  .copy-txt.font-jost-m {
    font-size: 2.5em;
  }
    .copy-txt-block{
        padding: 0 22vw;
    }
    .copy-txt-block02{
        display: none;
    }
}
@media (max-width: 768px) {
  .copy-txt{
    font-size: 1.5em;
  }
  .copy-txt.font-jost-m {
    font-size: 1.9em;
  }
}
@media (max-width: 601px) {
  .copy-txt{
    font-size: 1.2em;
  }
  .copy-txt.font-jost-m {
    font-size: 1.4em;
  }
}
@media (max-width: 481px) {
  .copy-txt{
    font-size: 1.0em;
    letter-spacing: 4px;
  }
  .copy-txt.font-jost-m {
    font-size: 1.15em;
  }
}

.font-jost-r{
    font-family: 'Jost', sans-serif;
    font-weight: 200 !important;
}
.font-jost-m{
    font-family: 'Jost', sans-serif;
    font-weight: 400 !important;
}
.font-jost{
    font-family: 'Jost', sans-serif;
} 

.video-block-inner{
    padding-top: 56.25%;
    width: 100%;
    position: relative;
}
 
.video-block-inner iframe{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
}
.fancybox img{
    width: 100%;
}

#page-sign-in #wpmem_reg{
    display: none;
}

.txtBox.requestCheck{
    margin: 0 50px;
    padding: 0;
}

.requestCheck .ttl{
    padding: 8px 0;
}

.requestCheck .txt-content dl{
    border-top: 1px solid #BDBDBD;
}
.requestCheck .txt-content dl dt,
.requestCheck .txt-content dl dd{
    padding-top: 10px;
    padding-bottom: 10px;
}
.requestCheckWrap .checkbox-row{
    border-top: 1px solid #BDBDBD;
    padding:45px 0;
}

@media (min-width: 768px) {
    .requestCheckThumb{
        max-height: 300px;
    }
}
@media (max-width: 767px) {
    .requestCheckThumb{
        aspect-ratio: 1;
    }
}
.downloadsTxtBox{
    max-width: 85%;
}

.confirmTxt.is_hide,
.inputTxt.is_hide{
display: none;
}

.lists .list.v_news a.title_link {
    min-height: 3.25em;
  }