@charset "UTF-8";
/* ==========================================================

title : 【刀剣ワールド名古屋・丸の内／ミニ博物館】 日本刀の鑑賞ポイントSPページ用スタイル
scope : 【刀剣ワールド名古屋・丸の内／ミニ博物館】 日本刀の鑑賞ポイントSP

memo：

last modify : 2025/02/12 nagaokd

========================================================== */
/* ------------------------------------ */
/* ▼ 共通上書き */
/* ------------------------------------ */
@media (max-width: 767px) {
  .pr_bnr_contents_block {
    margin-top: 40px;
  }
}
/* ------------------------------------ */
/* ▼ sp.js カスタムプロパティ追加 
      100vwからスクロールバーの幅分を引く*/
/* ------------------------------------ */
:root {
  --scrollbar: 0;
}
/* ------------------------------------ */
/* ▼ h1 */
/* ------------------------------------ */
.main_title_wrap {
  position: relative;
  padding: 0;
  text-align: center;
}
.main_title {
  background-color: #000;
  color: #fff;
  line-height: 0;
  padding-top: 68.4375%; /* 画像に合わせる */
  padding-bottom: 3.125%;
}
.main_title_image {
  position: absolute;
    top: 0;
    left: 0;
}
.main_title_text {
  display: block;
  font-size: calc(28px + 42 * (100vw - 320px)/680);/* 320px - 28px | 1000px - 70px */
  line-height: 1.1;
  margin: .2em auto .1em;
  position: relative;
  z-index: 1; /* 画像の上レイヤーにする */
}
.main_title .category_name {
  display: inline-block;
  font-size: calc(12px + 12 * (100vw - 320px)/680);/* 320px - 12px | 1000px - 24px */
  line-height: 1;
  position: relative;
  padding: 0 1.5em;
}
.main_title .category_name::before, 
.main_title .category_name::after {
  content: '';
  position: absolute;
    top: 50%;
  display: inline-block;
  width: 1em;
  height: 1px;
  background-color: #fff;
}
.main_title .category_name:before {
  left:0;
}
.main_title .category_name:after {
  right: 0;
}
.cmn_h1_sitetop_name{
  font-size: calc(9px + 13 * (100vw - 320px)/680);/* 320px - 9px | 1000px - 22px */
}

@media (min-width:1000px) {
  .main_title_text {
    font-size: 70px;
  }
  .main_title .category_name {
    font-size: 24px;
  }
  .cmn_h1_sitetop_name{
    font-size: 22px;
  }
}

/* ------------------------------------ */
/* ▼ リード文 */
/* ------------------------------------ */
.main_lead_wrap {
  background-color: #dddddd;
}
.main_lead {
  padding: 4.6875% 6.25%;
}
.main_lead p + p {
  margin-top: 1.67%;
}

@media (max-width: 999px) {
  .main_lead {
    font-size: calc(13px + 5 * (100vw - 320px)/680);/* 320px - 13px | 1000px - 18px */
  }
}

/* ------------------------------------ */
/* ▼ 目次 */
/* ------------------------------------ */
.main_toc_wrap {
  background: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/bg-main-toc-wrap.jpg) no-repeat bottom right;
  background-size: cover;
  border-top: 2px solid #FFF;
  border-bottom: 2px solid #FFF;
  padding-bottom: 9.375%;
}
.main_toc_title {
  font-size: calc(18px + 12 * (100vw - 320px)/680);/* 320px - 18px | 1000px - 30px */
  text-align: center;
  margin-top: 6.25%;
}
.main_toc_title_inner {
  display: inline-block;
  line-height: 1;
  position: relative;
  padding: 0 1.5em;
}
.main_toc_title_inner::before, 
.main_toc_title_inner::after {
  content: '';
  position: absolute;
    top: 50%;
  display: inline-block;
  width: 1em;
  height: 1px;
  background-color: #000;
}
.main_toc_title_inner:before {
  left:0;
}
.main_toc_title_inner:after {
  right: 0;
}
.main_toc_list {
  font-size: calc(15px + 5 * (100vw - 320px)/680);/* 320px - 15px | 1000px - 20px */
  margin-top: 6.125%;
}
.main_toc_list .main_toc_list_item {
  max-width: 65%;
  margin: 0 auto;
}
.main_toc_list .main_toc_list_item + .main_toc_list_item {
  margin-top: 3.125%;
}
.main_toc_list .main_toc_list_item a {
  color: #000;
  display: inline-block;
  position: relative;
  padding-right: 1.067em;
  padding-left: 1.667em;
}
.main_toc_list .main_toc_list_item a::after {
  display: block;
  content: "";
  background: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/ico-arrow.png) no-repeat left center;
  background-size: 100%;
  width: .67em;
  height: .6em;
  position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}
.main_toc_index {
  color: #a3753f;
  padding-right: .4em;
  position: absolute;
    top: 0;
    left: 0;
}
@media (min-width:1000px) {
  .main_toc_title {
    font-size: 30px;
  }
  .main_toc_list {
    font-size: 20px;
  }
}

/* ------------------------------------ */
/* ▼ コンテンツ */
/* ------------------------------------ */
.sec_cont_wrap {
  background-color: #FFF;
  padding-bottom: 3.125%;
  position: relative;
}
.sec_cont_wrap.cont_bg_bl {
  background-color: #000;
}
.sec_cont_wrap.cont_bg_gr {
  background-image: 
    url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/bg-sec-cont-wrap-gr2.png),
    -webkit-gradient(linear, left top, right top, from(#636363), to(#97969b));
  background-image: 
    url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/bg-sec-cont-wrap-gr2.png),
    linear-gradient(to right, #636363, #97969b);
  background-repeat: no-repeat, repeat;
  background-size: contain, auto;
  background-position: right bottom;
  background-blend-mode:multiply, normal;
}
.sec_cont_wrap::before {
  display: block;
  content: "";
  background-image: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/bg-sec-cont-wrap-wh.png);
  background-repeat:  no-repeat;
  background-position: left top;
  background-size: 47.8125%;/* 白と黒とグレーであしらいの大きさ違う */
  position: absolute;
    top: 0;
    left: 0;
  width: 100%;
  height: 100%;
}
.sec_cont_wrap.cont_bg_bl::before {
  background-image: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/bg-sec-cont-wrap-bl.png);
  background-size: 42.1875%;
}
.sec_cont_wrap.cont_bg_gr::before {
  background-image: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/bg-sec-cont-wrap-gr.png);
  background-size: 49.375%;
}
.sec_cont_wrap.cont_title_none::before {
  background-image: none;
}
.sec_cont_wrap.cont_title_right::before {
  background-image: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/bg-sec-cont-wrap-wh-r.png);
  background-position: right top;
  left: auto;
  right: 0;
}

.sec_cont_title_wrap {
  position: relative;/* あしらいの上レイヤーにする */
}
.sec_cont_wrap.cont_bg_bl .sec_cont_title_wrap {
}

/* ▼ h2  ------------------------------------ */
.sec_cont_title {/* 画像を中央に配置しやすくするためabsoluteにして高さはjsで揃える */
  display: flex;
    flex-direction: column;
    align-items: center;
  /* margin-left: 6.5625%; */
  padding-top: 7.8125%;
  padding-bottom: 3.125%;
  position: absolute;
    top: 0;
    left: 6.5625%;
  /* width: 11.875%; */
}
.sec_cont_wrap.cont_bg_gr,
.sec_cont_wrap.cont_bg_bl .sec_cont_title {
  color: #FFF;
}
.sec_cont_wrap.cont_title_right .sec_cont_title {
  left: auto;
  right: 6.5625%;
}
.sec_cont_title .text-upright {
  text-combine-upright: all;
}
.sec_cont_title .category_name {
  display: inline-block;
  font-size: 9px;/* 親のline-height打ち消し */
  position: relative;
  padding-bottom: 39.474%;
  width: 11.875vw;
  width: calc(11.875vw - var(--scrollbar));
  max-width: 76px;
}
.sec_cont_title .category_name::after {
  display: block;
  content: "";
  background: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/ico-dot-bl.png) no-repeat center center;
  background-size: 100%;
  width: 15.79%;
  /* height: 6px; */
  padding-top: 15.79%;
  position: absolute;
    bottom: 5%;
    left: 50%;
    transform: translate(-50%,-50%);
}
.sec_cont_wrap.cont_bg_gr .sec_cont_title .category_name::after,
.sec_cont_wrap.cont_bg_bl .sec_cont_title .category_name::after {
  background: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/ico-dot-wh.png) no-repeat;
  background-size: 100%;
}
.sec_cont_title .title_text {/* absoluteのため文字が多すぎるとはみ出す */
  font-size: calc(30px + 28 * (100vw - 320px)/320);/* 320px - 30px | 640px - 58px */
  line-height: 1.2;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;/* 中途半端な箇所での改行防止 */
  display: flex;
  flex-direction: column;
}
.sec_cont_title .title_text .title_text_ruby {
  font-size: .3em;
  align-self: center;
  letter-spacing: calc(1em * 3.3333 * .22);
}

#section04 .sec_cont_title .title_text .title_text_ruby {
  align-self: flex-start;
  letter-spacing: 0;
  padding-top: 15px;
}
#section09 .sec_cont_title .title_text.slash {
  align-self: flex-start;
}
#section09 .sec_cont_title .title_text.kougai .title_text_ruby {
  align-self: flex-start;
  letter-spacing: 0;
}


@media (min-width:640px) {
  .sec_cont_title .category_name {
    padding-bottom: 30px;
  }
  .sec_cont_title .category_name::after {
    width: 12px;
    height: 12px;
    padding-top: 0;
  }
  .sec_cont_title .title_text {
    font-size: 58px;
  }
}

/* ▼ h2横イメージまたはテキスト  ------------------------------------ */
.sec_cont_title_image {
  text-align: center;
}

.sec_cont_title_image img {
  vertical-align: bottom;
  width: 100%;
}
#section02 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  padding-top: 30vw;
  width: 70%;
}
#section04 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  padding-top: 7vw;
  width: 70%;
}
#section05 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  padding-top: 12vw;
  width: 80%;
}
#section07 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  width: 70%;
}
#section08 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  padding-top: 14vw;
  width: 70%;
}
#section09 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  padding-top: 18vw;
  width: 75%;
}
#section10 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  padding-top: 18vw;
  width: 75%;
}
#section11 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  width: 75%;
}
#section12 .sec_cont_title_image img {
  display: block;
  margin-left: auto;
  margin-right: 5%;
  padding-top: 15vw;
  width: 85%;
}

.sec_cont_title_text {
  display: flex;
    justify-content: center;
    align-items: center;
  padding: 3.125% 6.25% 3.125% 45.0%;
}
.sec_cont_title_image_info {
  margin: 0 3.125% 3.125%;
  padding: 3.125% 3.125%;
}
.sec_cont_title_image_info_title {
  color: #f4ebd6;
  display: flex;
  flex-direction: column-reverse;
  font-size: 115.4%;
}
.sec_cont_title_image_info_title_body.title_icon {
  line-height: 1.33;
  margin-bottom: .8em;
  padding-left: 2.37em;
  position: relative;
}
.sec_cont_title_image_info_title_body.title_icon::before {
  display: block;
  content: "";
  background: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/ico-dragonfly.png) no-repeat left center;
  background-size: 100%;
  width: 1.9em;
  height: 1.2em;
  position: absolute;
    top: calc(50% + 0.1em);
    left: 0;
    transform: translateY(-50%);
}
.sec_cont_title_image_info_title .sec_cont_title_image_info_title_ruby{
  display: block;
  content: "";
  font-size: 76.6666%;
  padding-left: calc(1em * 1.3043 * 2.37);
}
.sec_cont_title_image_info_text p + p {
  margin-top: 0.36em;
}

/* ▼ 本文  ------------------------------------ */
.sec_cont_body_wrap {
  margin: 3.125% 3.125% 4.6875%;
  position: relative;/* あしらいの上レイヤーにする */
}
.sec_cont_body_wrap .sec_cont_text_block {
  margin: 0;
}
.sec_cont_image {
  line-height: 0;
  margin: 3.125% 3.125% 0;
  text-align: center;
  position: relative;/* あしらいの上レイヤーにする */
}
.sec_cont_text_block {
  margin: 0 3.125% 0;
  padding: 3.125% 3.125%;
  position: relative;/* あしらいの上レイヤーにする */
}
.sec_cont_wrap.cont_bg_bl .sec_cont_text_block {
  background-color: transparent;
  color:#fff;
}
.sec_cont_text_block p + p {
  margin-top: 1.67%;
}
.sec_cont_image img,
.sec_cont_text_block img {
  width: 100%;
}

@media (max-width: 999px) {
  .sec_cont_title_image_info,
  .sec_cont_title_text,
  .sec_cont_text_block {
    font-size: calc(13px + 5 * (100vw - 320px)/680);/* 320px - 13px | 1000px - 18px */
  }
}


/* ▼ 各章毎個別設定  ------------------------------------ */
#section08 .sec_cont_wrap.cont_bg_gr > .sec_cont_text_block,
#section06 .sec_cont_wrap.cont_bg_gr > .sec_cont_text_block{
  margin-bottom: 3.125%;
}
#section09 > .sec_cont_text_block,
#section07 > .sec_cont_text_block {
  margin-bottom: 6.25%;
}
#section09 .sec_cont_title,
#section07 .sec_cont_title,
#section06 .sec_cont_title {
  padding-top: 6.25%;
}
#section06 .sec_cont_title_wrap {
  display: flex;
}
#section06 .sec_cont_title {
  position: relative;
  left: 0;
  padding-left: 6.5625%;
}
#section06 .sec_cont_title_text {
  padding: 3.125% 6.25% 3.125% 23%;
}

/* 
10% 3.125%
15% 4.6875%
20% 6.25%;
*/

/* ------------------------------------ */
/* ▼ 他の記事リスト */
/* ------------------------------------ */
.article_list_wrap {
  background: url(/app/themes/wp-templ/knowledge-swords-photos/sword-structure/sp/image/bg-article-list-wrap.jpg);
  background-size: contain;
  padding: 5% 6.25% 4.6875%;
}
.article_list_wrap .cmn_h3_01 {
  margin-bottom: 5.469%;
  font-size: calc(15px + 5 * (100vw - 320px)/680);/* 320px - 15px | 1000px - 20px */
}
.article_list {
  display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.article_list_item {
  line-height: 1;
  margin-bottom: 8%;
  width: calc(50% - 3.125%);
}
.article_list_item a {
  display: block;
  line-height: 1;
}
.item_img {
  border: 1px solid #FFF;
  vertical-align: bottom;
  width: 100%;
}
.item_title {
  color: #000;
  font-size: calc(13px + 3 * (100vw - 320px)/680);/* 320px - 13px | 1000px - 15px */
  margin-top: 4.6875%;
  margin-bottom: 4.6875%;
}
.coming_soon {
  border: 1px solid #ac8d5f;
  color: #9e7943;
  display: inline-block;
  font-size: calc(11px + 2 * (100vw - 320px)/680);/* 320px - 11px | 1000px - 13px */
  font-weight: 600;
  padding: 0.5em 1em;
}

@media (min-width:1000px) {
  .article_list_wrap .cmn_h3_01 {
    font-size: 20px;
  }
  .item_title {
    font-size: 15px;
  }
  .coming_soon {
    font-size: 13px;
  }
}

/* ------------------------------------ */
/* ▼ アニメーション */
/* ------------------------------------ */
.fade-up {
  opacity: 1;
  transform: translate(0, 0);
  transition: opacity .7s ease-in-out,all .7s ease
}

.fade-up.switch {
  opacity: 0;
  transform: translate(0, 40px)
}

.fade-down {
  opacity: 1;
  transform: translate(0, 0);
  transition: opacity .7s ease-in-out,all .7s ease
}

.fade-down.switch {
  opacity: 0;
  transform: translate(0, -40px)
}

.fade-right {
  opacity: 1;
  transform: translate(0, 0);
  transition: opacity .7s ease-in-out,all .7s ease
}

.fade-right.switch {
  opacity: 0;
  transform: translate(20px, 0)
}

.fade-left {
  opacity: 1;
  transform: translate(0, 0);
  transition: opacity .7s ease-in-out,all .7s ease
}

.fade-left.switch {
  opacity: 0;
  transform: translate(-20px, 0)
}

.delay {
  transition-delay: .7s
}