@charset "UTF-8";

/* page common
   =================================================================================== */
/* -- base font size -- */
@media (min-width: 768px) {
  .content_area {
    font-size: 1.7rem;
    padding-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .content_area {
    font-size: 1.6rem;
    padding-bottom: 35px;
  }
}

/* -- text color -- */
.txt_red01 {
  color: #f00;
}

.txt_red02 {
  color: #bf0008;
}

.txt_brown01 {
  color: #a27e39;
}

/* -- font -- */
.fwB {
  font-weight: 600;
}

/* -- ruby -- */
[data-ruby] {
  position: relative;
}

[data-ruby]::before {
  content: attr(data-ruby);
  font-size: .36111em;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0;
}

@media (min-width: 768px) {
  [data-ruby]::before {
    letter-spacing: -.02em;
    top: -1.2em;
    text-align: center;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  [data-ruby]::before {
    top: -1.2em;
  }
}

@media (max-width: 767px) {
  [data-ruby]::before {
    letter-spacing: -.15em;
    margin-left: -.3em;
    top: -1.4em;
    text-align: center;
  }
}

/* -- bg_roll -- */
.bg_roll {
  display: inline-block;
  font-size: 0;
  position: relative;
  transition: all .2s;
}

.bg_roll::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  transition: all .2s;
  width: 100%;
}

.bg_roll:hover::after {
  background: rgba(255, 255, 255, .3);
}

.bg_roll img {
  width: 100%;
}

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

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .bg_roll::after {
    display: none;
  }
}

/* -- movie_-thumb -- */
.movie_thumb {
  position: relative;
}

.movie_thumb::before {
  background: url("/special-contents/image-cmn/btn-play.png") 0 0 no-repeat;
  background-size: contain;
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

@media (min-width: 768px) {
  .movie_thumb::before {
    height: 60px;
    width: 60px;
  }
}

@media (max-width: 767px) {
  .movie_thumb::before {
    height: 50px;
    width: 50px;
  }
}

/* -- pagetop -- */
.btn_gotop {
  z-index: 5;
}

/* -- for sp -- */
.sp_pt {
  display: none;
}

@media screen and (max-width: 767px) and (orientation: portrait) {
  .sp_pt {
    display: block;
  }
}

/* -- for ipad -- */
.ipad_br {
  display: none;
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .ipad_br {
    display: block;
  }
}

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

/* content area
=================================================================================== */
.content_area .content_area_inner {
  background: url("/special-contents/okazaki-castle/image/bg-pattern-line-rep.png") 0 0;
  box-shadow: 0 10px 10px -5px #a69f97;
  margin: 0 auto;
  max-width: 995px;
  position: relative;
}

@media (min-width: 768px) {
  .content_area .content_area_inner {
    padding: 15px;
    z-index: 2;
  }
  .content_area .section_wrap {
    background: #261913;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  .content_area .content_area_inner {
    padding-bottom: 10px;
  }
  .content_area .section_wrap .section:not(:first-child) {
    margin: 0 10px;
  }
}

/* intro area
   =================================================================================== */
/* -- intro -- */
.intro {
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

@media (min-width: 768px) {
  .intro {
    background: url("/special-contents/okazaki-castle/image/bg-intro-dot01.png") 0 580px;
  }
  .intro::after {
    background: url("/special-contents/okazaki-castle/image/bg-intro-gap-pc.png") 0 0 no-repeat;
    content: "";
    display: block;
    height: 210px;
    position: absolute;
    bottom: -158px;
    left: 0;
    width: 965px;
  }
}

@media (max-width: 767px) {
  .intro::after {
    background: url("/special-contents/okazaki-castle/image/bg-intro-gap-sp.png") 0 0 no-repeat;
    height: 15vw;
    bottom: 0;
    left: 0;
    width: 100%;
  }
}

/* -- mv area -- */
.mv_area_wrap {
  position: relative;
}

.mv_area_wrap::before {
  content: "";
  display: block;
  position: absolute;
}

.mv_txt {
  position: absolute;
}

.mv_label {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 2;
}

@media (min-width: 768px) {
  .mv_title_main {
    background: url("/special-contents/okazaki-castle/image/mv-ttl-main.png") 0 0 no-repeat;
    background-size: contain;
    font-size: 0;
    padding-bottom: 32.3316%;
    position: absolute;
    right: 15.8%;
    top: 55px;
    width: 41.2435%;
    z-index: 4;
  }
  .mv_area_wrap {
    background: url("/special-contents/okazaki-castle/image/mv-main-pc.png") 0 0 no-repeat;
    background-size: contain;
    padding-bottom: 62.7979%;
    position: relative;
    width: 100%;
  }
  .mv_txt {
    max-width: 401px;
    left: 0;
    top: 43px;
    width: 41.5544%;
  }
  .mv_label {
    box-shadow: 0 15px 10px -10px #666;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .mv_title_main {
    top: 55px;
  }
  .mv_area_wrap .mv_area_top {
    left: 10px;
    top: 5px;
  }
}

@media (max-width: 767px) {
  .mv_title_main {
    background: #c92121;
    color: #fff;
    font-size: 2.2rem;
    font-weight: 600;
    letter-spacing: 0;
    order: 1;
    padding: 20px 0;
    position: static;
    text-align: center;
    width: 100%;
  }
  .mv_area_wrap {
    background: url("/special-contents/okazaki-castle/image/mv-main-sp.jpg") 0 0 no-repeat;
    background-size: contain;
    height: auto;
    order: 2;
    padding-bottom: 61%;
    width: 100vw;
  }
  .mv_area_wrap::before {
    background: url("/special-contents/okazaki-castle/image/mv-label-sp.png") 0 0 no-repeat;
    background-size: contain;
    box-shadow: 0 2px 8px #1a1a1a;
    height: 44px;
    right: 0;
    top: 0;
    width: 90px;
  }
  .mv_txt {
    left: 4vw;
    top: 4vw;
    width: 61.83574%;
  }
  .mv_label {
    box-shadow: 0 15px 10px -10px #666;
  }
}

/* -- intro box -- */
.intro_box_wrap {
  width: 100%;
}

.intro_text_box {
  position: relative;
  display: flex;
  width: 100%;
}

.intro_text_box::after {
  background: url("/special-contents/okazaki-castle/image/mv-guide.png") 0 0 no-repeat;
  background-size: contain;
  content: "";
  display: block;
  max-width: 501px;
  padding-bottom: 56.5803%;
  position: absolute;
  bottom: -11.5%;
  right: .3%;
  width: 51.9171%;
}

.intro_text_box a {
  color: #d6a342;
}

.intro_text_box .intro_text {
  text-align: justify;
}

.intro_text_box .caption {
  font-size: 1.5rem;
}

.intro_button_block .intro_button_block_inner {
  display: flex;
  justify-content: center;
}

.intro_castle_block {
  margin: 0 auto;
  max-width: 850px;
  position: relative;
  width: 100%;
}

.intro_castle_block::before,
.intro_castle_block::after {
  content: "";
  display: block;
  height: 4px;
  max-width: 850px;
  position: absolute;
  left: 0;
}

.intro_castle_block::before {
  background: -webkit-linear-gradient(left, #cc8c09 0%, #f9e3a0 23%, #f9e3a0 23%, #f9e3a0 50%, #d59d26 80%, #cc8c09 100%);
  background: linear-gradient(to right, #cc8c09 0%, #f9e3a0 23%, #f9e3a0 23%, #f9e3a0 50%, #d59d26 80%, #cc8c09 100%);
  top: -4px;
}

.intro_castle_block::after {
  background: -webkit-linear-gradient(left, #d7a22f 0%, #e3b956 19%, #f7e09a 43%, #e2b754 69%, #cc8c09 100%);
  background: linear-gradient(to right, #d7a22f 0%, #e3b956 19%, #f7e09a 43%, #e2b754 69%, #cc8c09 100%);
  bottom: -4px;
}

.intro_castle_block a {
  color: #d6a342;
}

.intro_castle_block .block_inner {
  background: #3b302a;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 4px;
  position: relative;
}

.intro_castle_block .block_inner::before,
.intro_castle_block .block_inner::after {
  content: "";
  display: block;
  height: 100%;
  position: absolute;
  top: 0;
  width: 4px;
}

.intro_castle_block .block_inner::before {
  background: -webkit-linear-gradient(left, #d7a22f 0%, #cc8c09 100%);
  background: linear-gradient(to right, #d7a22f 0%, #cc8c09 100%);
  left: 0;
}

.intro_castle_block .block_inner::after {
  background: #cc8c09;
}

.intro_castle_block .block_title {
  position: relative;
}

.intro_castle_block .block_title::before {
  background: url("/special-contents/okazaki-castle/image/img-intro-crest.png") 0 0 no-repeat;
  background-size: contain;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.intro_castle_block .block_title img {
  max-width: 292px;
  width: 100%;
}

.intro_castle_block .block_text {
  position: relative;
  text-align: justify;
}

.intro_castle_block .block_image_inner {
  position: relative;
}

.intro_castle_block .block_image_inner::before {
  content: "";
  display: block;
  position: absolute;
}

.intro_castle_block .image {
  font-size: 0;
}

@media (min-width: 768px) {
  .intro_text_box {
    margin-top: 33px;
    padding: 0 64px;
  }
  .intro_text_box .intro_text {
    max-width: 400px;
    width: 48%;
  }
  .intro_text_box .caption {
    margin-top: 15px;
    padding-right: 20px;
  }
  .intro_button_block {
    margin-top: 72px;
  }
  .intro_button_block .intro_button {
    margin: 10px 20px 0;
  }
  .intro_castle_block_wrap {
    margin: 30px auto 0;
    padding: 0 20px;
  }
  .intro_castle_block::before,
  .intro_castle_block::after {
    width: calc(100% - 4px);
  }
  .intro_castle_block::after {
    box-shadow: 4px 4px #201005;
  }
  .intro_castle_block .block_inner {
    box-shadow: 8px 4px #321f0c inset;
  }
  .intro_castle_block .block_inner::after {
    box-shadow: 4px 4px #201005;
    right: 4px;
  }
  .intro_castle_block .block_title {
    box-shadow: 0 4px #321f0c inset;
    max-width: 470px;
    min-height: 138px;
    padding: 39px 0 0 144px;
    position: relative;
    width: 56%;
  }
  .intro_castle_block .block_title::before {
    height: 138px;
    width: 128px;
  }
  .intro_castle_block .block_text {
    letter-spacing: 0;
    line-height: 1.6;
    margin-top: -29.4%;
    max-width: 470px;
    padding: 4px 0 4px 40px;
    text-align: justify;
    width: 56%;
  }
  .intro_castle_block .block_image {
    margin: 0 4px 0 2.4%;
    max-width: 334px;
    text-align: right;
    width: 40%;
  }
  .intro_castle_block .block_image_inner::before {
    background: #434c34;
    height: 4px;
    width: 100%;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .intro_text_box a:hover,
  .intro_castle_block a:hover {
    color: #d6a342;
  }
}

@media (min-width: 768px) and (max-width: 890px) {
  .intro_castle_block .block_text {
    margin-top: -26%;
  }
}

@media (max-width: 767px) {
  .intro_box_wrap {
    background: url(/special-contents/okazaki-castle/image/bg-intro-dot01.png) 0 0, #261913;
    background-size: contain;
    margin: 0 10px;
    padding-bottom: 30px;
    width: calc(100% - 20px);
  }
  .intro_box_wrap.wrap01 {
    order: 4;
  }
  .intro_box_wrap.wrap02 {
    order: 5;
    position: relative;
  }
  .intro_box_wrap.wrap02::after {
    background: url(/special-contents/okazaki-castle/image/bg-intro-gap-sp.png) 0 0 no-repeat;
    background-size: cover;
    content: "";
    display: block;
    height: 15vw;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
  }
  .intro_text_box {
    margin-top: 20px;
  }
  .intro_text_box .intro_text {
    padding: 0 20px;
  }
  .intro_text_box::after {
    display: none;
  }
  .intro_text_box .caption {
    margin-top: 10px;
  }
  .intro_button_block {
    margin-top: 10px;
  }
  .intro_button_block .intro_button_block_inner {
    flex-wrap: wrap;
  }
  .intro_button_block .intro_button {
    margin: 10px 15px 0;
  }
  .intro_castle_block_wrap {
    margin-top: 24px;
    padding: 0 15px;
  }
  .intro_castle_block::before,
  .intro_castle_block::after {
    width: 100%;
  }
  .intro_castle_block .block_inner::after {
    right: 0;
  }
  .intro_castle_block .block_title {
    order: 1;
    padding: 20px 20px 0 80px;
    text-align: center;
    width: 100%;
  }
  .intro_castle_block .block_title::before {
    max-width: 100px;
    padding-bottom: 25%;
    width: 24%;
  }
  .intro_castle_block .block_title img {
    position: relative;
  }
  .intro_castle_block .block_text {
    line-height: 1.5;
    margin-top: 15px;
    order: 3;
    padding: 0 15px 20px;
    width: 100%;
  }
  .intro_castle_block .block_image {
    margin-top: 20px;
    order: 2;
    text-align: center;
    width: 100%;
  }
  .block_image .block_image_inner {
    display: flex;
    justify-content: space-between;
    padding: 0 20px;
  }
  .block_image .image:nth-child(odd) {
    width: 45%;
  }
  .block_image .image:nth-child(even) {
    width: 53%;
  }
  .block_image .image img {
    width: 100%;
  }
}

/* -- anchor_menu -- */
.anchor_menu_wrap {
  width: 100%;
}

.anchor_menu_wrap .anchor_link_block {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.anchor_link_block .anchor_link_item {
  display: flex;
}

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

.anchor_link_block .anchor_link_item a {
  align-items: center;
  color: #fff;
  display: flex;
  justify-content: flex-start;
  position: relative;
  transition: all .2s;
  width: 100%;
}

.anchor_link_block .anchor_link_item a::after {
  content: "";
  display: block;
  position: absolute;
}

.anchor_link_block .anchor_link_item .anchor_label {
  position: relative;
}

.anchor_link_block .anchor_link_item .anchor_label::before {
  content: "";
  display: block;
  position: absolute;
}

@media (min-width: 768px) {
  .anchor_menu_wrap {
    margin: 30px auto 0;
  }
  .anchor_link_block .anchor_link_item {
    border-left: 1px solid #cc8c09;
    border-right: 1px solid #cc8c09;
    margin: 23px 15px 0 45px;
    position: relative;
    width: 160px;
  }
  .anchor_link_block .anchor_link_item::before,
  .anchor_link_block .anchor_link_item::after {
    background: -webkit-linear-gradient(left, #e2be73 0%, #f9e3a0 23%, #e3b855 59%, #cc8c09 100%);
    background: linear-gradient(to right, #e2be73 0%, #f9e3a0 23%, #e3b855 59%, #cc8c09 100%);
    height: 1px;
    left: 0;
    width: 100%;
    z-index: 2;
  }
  .anchor_link_block .anchor_link_item::before {
    top: 0;
  }
  .anchor_link_block .anchor_link_item::after {
    bottom: 0;
  }
  .anchor_link_block .anchor_link_item a {
    background: #3b302a;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: -.02em;
    line-height: 1.142857;
    min-height: 46px;
    padding: 4px 4px 4px 24px;
  }
  .anchor_link_block .anchor_link_item:nth-child(3) a,
  .anchor_link_block .anchor_link_item:nth-child(7) a {
    letter-spacing: -.044em;
  }
  .anchor_link_block .anchor_link_item a:hover {
    background: #615a56;
  }
  .anchor_link_block .anchor_link_item a::after {
    border: 1px solid #524435;
    height: calc(100% - 2px);
    left: 1px;
    top: 1px;
    width: calc(100% - 1px);
  }
  .anchor_link_block .anchor_link_item .anchor_label {
    font-size: 0;
    height: 100%;
  }
  .anchor_link_block .anchor_link_item .anchor_label::before {
    height: 57px;
    left: -65px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 57px;
    z-index: 3;
  }
  .anchor_link_block .anchor_link_item .anchor_label.label01::before {
    background: url("/special-contents/okazaki-castle/image/label-anchor01.png") 0 0 no-repeat;
    background-size: contain;
  }
  .anchor_link_block .anchor_link_item .anchor_label.label02::before {
    background: url("/special-contents/okazaki-castle/image/label-anchor02.png") 0 0 no-repeat;
    background-size: contain;
  }
  .anchor_link_block .anchor_link_item .anchor_label.label03::before {
    background: url("/special-contents/okazaki-castle/image/label-anchor03.png") 0 0 no-repeat;
    background-size: contain;
  }
  .anchor_link_block .anchor_link_item .anchor_label.label04::before {
    background: url("/special-contents/okazaki-castle/image/label-anchor04.png") 0 0 no-repeat;
    background-size: contain;
  }
  .anchor_link_block .anchor_link_item .anchor_label.label05::before {
    background: url("/special-contents/okazaki-castle/image/label-anchor05.png") 0 0 no-repeat;
    background-size: contain;
  }
  .anchor_link_block .anchor_link_item .anchor_label.label06::before {
    background: url("/special-contents/okazaki-castle/image/label-anchor06.png") 0 0 no-repeat;
    background-size: contain;
  }
  .anchor_link_block .anchor_link_item .anchor_label.label07::before {
    background: url("/special-contents/okazaki-castle/image/label-anchor07.png") 0 0 no-repeat;
    background-size: contain;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .anchor_link_block .anchor_link_item a:hover {
    background: #3b302a;
  }
  .anchor_link_block .anchor_link_item:nth-child(7) a {
    letter-spacing: -.06em;
    padding-left: 18px;
  }
}

@media (max-width: 767px) {
  .anchor_menu_wrap {
    margin-top: -1%;
    order: 3;
  }
  .content_menu {
    position: relative;
    z-index: 4;
  }
  .content_menu .meun_title {
    background: linear-gradient(#b48d4f, #957e5a);
    background: -webkit-linear-gradient(top, #b48d4f 0%, #957e5a 100%);
    box-shadow: 0 .25em .5em 0 rgba(0, 20, 30, .2);
    color: #fff;
    font-size: 1.7rem;
    font-weight: 600;
    padding: 10px 0;
    text-align: center;
  }
  .content_menu .meun_title .meun_title_inner {
    position: relative;
  }
  .content_menu .meun_title .meun_title_inner::before,
  .content_menu .meun_title .meun_title_inner::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
  }
  .content_menu .meun_title .meun_title_inner::before {
    background: url("/special-contents/image-cmn/ico-contens-menu.png") 0 0 no-repeat;
    background-size: contain;
    height: 2rem;
    left: -36px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 2rem;
  }
  .content_menu .meun_title .meun_title_inner::after {
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    height: 10px;
    right: -20px;
    -webkit-transform: translateY(-70%) rotate(-45deg);
    transform: translateY(-70%) rotate(-45deg);
    width: 10px;
  }
  .content_menu .meun_title.active .meun_title_inner::after {
    -webkit-transform: translateY(-30%) rotate(135deg);
    transform: translateY(-30%) rotate(135deg);
  }
  .content_menu .menu_list {
    background: #faeddd;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 .25em .5em 0 rgba(0, 20, 30, .2);
    display: none;
    padding: 20px 25px;
    width: 100%;
  }
  .content_menu .menu_list.active {
    -webkit-animation: fadeIN .6s ease 0s 1 alternate;
    animation: fadeIN .6s ease 0s 1 alternate;
    display: block;
    height: auto;
    position: absolute;
  }
  @keyframes fadeIN {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @-webkit-keyframes fadeIN {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .content_menu .close_btn {
    margin-top: 15px;
    text-align: center;
  }
  .content_menu .close_btn .close_btn_inner {
    background: #b0894c;
    border: 1px solid #fff;
    border-radius: 4px;
    color: #fff;
    display: inline-block;
    padding: 10px 40px 10px 20px;
    position: relative;
  }
  .content_menu .close_btn .close_btn_inner::after {
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    right: 15px;
    top: 50%;
    -webkit-transform: translateY(-30%) rotate(-135deg);
    transform: translateY(-30%) rotate(-135deg);
    width: 10px;
  }
  .anchor_link_block {
    background: #fff;
    border-radius: 4px;
  }
  .anchor_link_block .anchor_link_item {
    width: 100%;
  }
  .anchor_link_block .anchor_link_item:nth-child(n+4) {
    margin-top: 0;
  }
  .anchor_link_block .anchor_link_item:not(:first-child) {
    border-top: 1px solid #9d7943;
  }
  .anchor_link_block .anchor_link_item a {
    align-items: flex-start;
    background: none;
    color: #9e7943;
    justify-content: flex-start;
    letter-spacing: .06em;
    min-height: auto;
    padding: 10px 20px 10px 40px;
    text-align: left;
  }
  .anchor_link_block .anchor_link_item a::after {
    background: url("/special-contents/image-cmn/ico-contens-menu-list.png") 0 0 no-repeat;
    background-size: contain;
    border: none;
    height: 2.1rem;
    position: absolute;
    left: 10px;
    right: auto;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 2.1rem;
  }
}

/* -- mod_access -- */
.access_map_wrap {
color: #000;
  width: 100%;
}

@media (min-width: 768px) {
  .access_map_wrap {
    margin-top: 65px;
    padding: 0 12px;
  }
  .mod_access .map_link_wrap {
    margin-top: 12px;
  }
  .mod_access .map_link_wrap .map_link {
    padding-top: 8px;
  }
  .mod_access .y_mapbox .map_ptbox {
    margin-top: -157px;
  }
  .mod_access .y_map_icn {
    -webkit-transform: translateX(-50%) translateY(-82%);
    transform: translateX(-50%) translateY(-82%);
  }
  .mod_access .y_map {
    height: 450px;
  }
  .mod_access .map_dtl .access_info .info_inner {
    padding-left: 20px;
  }
  .mod_access .map_dtl .root .root_info {
    margin-top: 2px;
  }
  .mod_access .map_dtl .access_root .root:not(:first-child) {
    margin-top: 10px;
  }
}

@media (max-width: 767px) {
  .access_map_wrap {
    padding: 20px;
  }
  .mod_access_bg {
    padding: 10px 15px 20px;
  }
  .mod_access .map_link_wrap .btn_box .btn_facility,
  .mod_access .map_link_wrap .btn_box .btn_jaf {
    width: 90%;
  }
  .mod_access .map_dtl .access_info .info_inner {
    padding: 10px 15px 15px;
  }
  .mod_access .map_dtl .access_root .root .root_inner {
    padding: 20px 30px 20px 45px;
  }
}

.facility_info_box {
  border-left: 4px solid #cc8c09;
  margin: 0 auto;
  max-width: 850px;
  position: relative;
  z-index: 2;
}

.facility_info_box::before,
.facility_info_box::after {
  content: "";
  display: block;
  height: 4px;
  position: absolute;
  left: 0;
  width: calc(100% - 4px);
  z-index: 2;
}

.facility_info_box::before {
  background: -webkit-linear-gradient(left, #cc8c09 0%, #e0b24b 20%, #f7e19c 50%, #d69f2a 80%, #cc8c09 100%);
  background: linear-gradient(to right, #cc8c09 0%, #e0b24b 20%, #f7e19c 50%, #d69f2a 80%, #cc8c09 100%);
  top: 0;
}

.facility_info_box::after {
  background: -webkit-linear-gradient(left, #cc8c09 0%, #e1b550 20%, #f8e29e 40%, #d8a331 70%, #cc8c09 100%);
  background: linear-gradient(to right, #cc8c09 0%, #e1b550 20%, #f8e29e 40%, #d8a331 70%, #cc8c09 100%);
  bottom: 0;
}

.facility_info_box .box_inner {
  background: #3b302a;
  border-right: 4px solid #cc8c09;
  position: relative;
}

.facility_info_box .box_inner::before,
.facility_info_box .box_inner::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 4px;
}

.facility_info_box .info_list {
  display: flex;
  flex-wrap: wrap;
}

.facility_info_box .facility_info {
  display: flex;
}

.facility_info_box .facility_info .info_label {
  align-items: center;
  background: #d6a342;
  display: flex;
  justify-content: center;
  padding: 3px 2px;
  width: 86px;
}

.facility_info_box .facility_info .info_label .info_label_inner.letter3 {
  letter-spacing: .4em;
  text-indent: .4em;
}

.facility_info_box .facility_info .info_item {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}

.facility_info_box .facility_info .info_item .info_item_inner {
  display: block;
}

@media (min-width: 768px) {
  .facility_info_box_wrap {
    margin: 60px auto 0;
    padding: 0 20px;
  }
  .facility_info_box::after {
    box-shadow: 4px 4px #160b03;
  }
  .facility_info_box .box_inner {
    box-shadow: 4px 0 #160b03;
    margin-right: 4px;
    padding: 27px 24px 25px;
  }
  .facility_info_box .box_inner::before {
    background: #221507;
    height: 4px;
    width: 100%;
  }
  .facility_info_box .box_inner::after {
    background: #221507;
    height: calc(100% - 8px);
    width: 4px;
  }
  .facility_info_box::after {
    box-shadow: 4px 4px #160b03;
  }
  .facility_info_box .facility_info .info_label {
    font-size: 1.5rem;
  }
  .facility_info_box .facility_info .info_item .info_item_inner:not(:first-child) {
    margin-top: 8px;
  }
  .facility_info_box .facility_info .info_item {
    margin-left: 10px;
    max-width: 680px;
  }
  .facility_info_box .facility_info .info_item .info_item_inner {
    letter-spacing: -.02em;
  }
  .facility_info_box .info_list .info_list_inner {
    width: 49%;
  }
  .facility_info_box .info_list .info_list_inner .info_item {
    width: 68%;
  }
  .facility_info_box .info_list .info_list_inner:nth-child(2) {
    margin-left: 2%;
  }
  .facility_info_box .info_list .info_list_inner:last-child {
    margin-top: 6px;
    width: 100%;
  }
  .facility_info_box .info_list .info_list_inner:last-child .info_item {
    width: 80%;
  }
}

@media (max-width: 767px) {
  .facility_info_box_wrap {
    padding: 0 20px;
  }
  .facility_info_box .box_inner {
    padding: 20px 15px;
  }
  .facility_info_box .facility_info {
    flex-wrap: wrap;
  }
  .facility_info_box .facility_info .info_label {
    font-size: 1.4rem;
  }
  .facility_info_box .facility_info .info_item {
    width: 100%;
  }
  .facility_info_box .facility_info .info_item .info_item_inner {
    margin-top: 10px;
  }
  .facility_info_box .info_list .info_list_inner {
    margin-top: 10px;
    width: 100%;
  }
  .facility_info_box .info_list .info_list_inner:first-child {
    margin-top: 0;
  }
  .facility_info_box .info_list .info_list_inner:nth-child(2) {
    margin-left: 0;
  }
}

/* section
   =================================================================================== */
/* -- section title -- */
.section_title_type02 {
  position: relative;
  width: 100%;
}

.section_title_type02::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  z-index: 4;
}

.section_title_type03 {
  align-items: center;
  display: flex;
  margin: 0 auto;
  max-width: 965px;
  position: relative;
  width: 100%;
  z-index: 2;
}

.section_title_type03 .title {
  position: relative;
}

.section_title_type03 .title::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.section_title_type04 {
  position: relative;
}

.section_title_type08 {
  position: relative;
}

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

.section_title_type08::after {
  background: url(/special-contents/okazaki-castle/image/img-cooperate-crest.png) 0 0 no-repeat;
  left: 0;
  top: 0;
}

.section_title_type08 .section_title_type08_inner {
  position: relative;
}

.section_title_type09 img {
  margin: 0 auto;
}

@media (min-width: 768px) {
  .section_title_type01,
  .section_title_type02,
  .section_title_type03,
  .section_title_type04,
  .section_title_type05,
  .section_title_type06,
  .section_title_type07,
  .section_title_type08 {
    font-size: 0;
  }
  .section_title_type01,
  .section_title_type05,
  .section_title_type06,
  .section_title_type07 {
    position: absolute;
    top: 0;
  }
  .section_title_type02 {
    margin-top: -50px;
    padding-top: 50px;
  }
  .section_title_type02::before {
    background: url("/special-contents/okazaki-castle/image/ttl-box02-main-pc.png") 0 0 no-repeat;
    background-size: contain;
    height: 108px;
    max-width: 474px;
    right: 74px;
    top: 45px;
    width: 49.1192%;
  }
  .section_title_type03 {
    background: #603813;
  }
  .section_title_type03 .title_label {
    height: 50px;
    width: 120px;
  }
  .section_title_type03 .title {
    min-height: 50px;
  }
  .section_title_type03 .title::before {
    height: 28px;
    left: 15px;
  }
  .section_title_type03.title01 .title_label {
    background: url("/special-contents/okazaki-castle/image/txt-box03-label01.png") 0 0 no-repeat;
    background-size: contain;
  }
  .section_title_type03.title01 .title::before {
    background: url("/special-contents/okazaki-castle/image/ttl-box03-txt01.png") 0 0 no-repeat;
    background-size: contain;
    width: 185px;
  }
  .section_title_type03.title02 .title_label {
    background: url("/special-contents/okazaki-castle/image/txt-box03-label02.png") 0 0 no-repeat;
    background-size: contain;
  }
  .section_title_type03.title02 .title::before {
    background: url("/special-contents/okazaki-castle/image/ttl-box03-txt02.png") 0 0 no-repeat;
    background-size: contain;
    width: 134px;
  }
  .section_title_type03.title03 .title_label {
    background: url("/special-contents/okazaki-castle/image/txt-box03-label03.png") 0 0 no-repeat;
    background-size: contain;
  }
  .section_title_type03.title03 .title::before {
    background: url("/special-contents/okazaki-castle/image/ttl-box03-txt03.png") 0 0 no-repeat;
    background-size: contain;
    width: 249px;
  }
  .section_title_type03.title04 .title_label {
    background: url("/special-contents/okazaki-castle/image/txt-box03-label04.png") 0 0 no-repeat;
    background-size: contain;
  }
  .section_title_type03.title04 .title::before {
    background: url("/special-contents/okazaki-castle/image/ttl-box03-txt04.png") 0 0 no-repeat;
    background-size: contain;
    width: 106px;
  }
  .section_title_type04::before {
    background: url("/special-contents/okazaki-castle/image/ttl-box04-main-pc.png") 0 0 no-repeat;
    background-size: 100%;
    content: "";
    display: block;
    height: 108px;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .section_title_type08 {
    box-shadow: 3px 3px 0 #321f0b inset;
    min-height: 112px;
    padding-bottom: 26px;
  }
  .section_title_type08::before {
    background: url("/special-contents/okazaki-castle/image/ttl-cooperate-main-pc.png") 0 0 no-repeat;
    background-size: 100%;
    height: 26px;
    left: 50%;
    top: 47px;
    -webkit-transform: translateX(-51%);
    transform: translateX(-51%);
    width: 301px;
  }
  .section_title_type08::after {
    height: 112px;
    width: 102px;
  }
}

@media (max-width: 767px) {
  .section_title_type01,
  .section_title_type02,
  .section_title_type04,
  .section_title_type05,
  .section_title_type06,
  .section_title_type07 {
    border-bottom: 2px solid #c92121;
    font-size: 2rem;
    font-weight: 600;
    max-width: 100%;
    padding: 0 0 6px 1.1em;
    text-align: left;
    text-indent: -1.1em;
    width: 100%;
  }
  .section_title_type03 {
    background: #603813;
    color: #fff;
    font-size: 1.8rem;
    line-height: 1.25;
  }
  .section_title_type03 .title_label {
    background: -webkit-linear-gradient(-45deg, #f5dd94 0%, #cc8c09 100%);
    background: linear-gradient(135deg, #f5dd94 0%, #cc8c09 100%);
    padding: 4px 10px;
  }
  .section_title_type03 .title {
    padding: 4px 10px;
  }
  .section_title_type07 .section_title_sub {
    color: #000;
    font-size: 2rem;
    text-align: left;
    width: auto;
  }
  .section_title_type07 .section_title_sub::before,
  .section_title_type07 .section_title_sub::after {
    display: none;
  }
  .section_title_type08 {
    color: #fff;
    font-size: 2rem;
    padding: 20px 10px 20px 80px;
  }
  .section_title_type08::after {
    background-size: contain;
    max-width: 90px;
    padding-bottom: 25%;
    width: 24%;
  }
}

@media screen and (max-width: 767px) and (orientation: landscape) {
  .section_title_type08 {
    padding: 6vw 100px;
    text-align: center;
  }
}
/* 共通上書き */
@media (min-width: 768px) {
  .bnr_section_h3>span {
    background-image: url(../image/bg-h3-left.png),
                      url(../image/bg-h3-right.png);
  }
  .bnr_section_h3>span::before,
  .bnr_section_h3>span::after {
    background: url(../image/bg-h3-line.png);
  }
  .bnr_section_h3>span>span {
    background-image:url(../image/bg-h3-center.png);
    height: 38px;
  }
}

/* -- section text -- */
.section_text01 {
  letter-spacing: 0;
  text-align: justify;
}

.section_text02 {
  letter-spacing: .013em;
  text-align: justify;
}

@media (min-width: 768px) {
  .section_text01 {
    line-height: 1.78125;
    font-size: 1.7rem;
  }
  .section_text02 {
    font-size: 1.6rem;
    line-height: 1.53333;
  }
}

@media (max-width: 767px) {
  .section_text01 {
    line-height: 1.5;
  }
  .section_text02 {
    line-height: 1.5;
  }
}

/* -- section block -- */
.section {
  position: relative;
}

.section_image_box {
  font-size: 0;
}

.section_gap_box {
  background: #261913;
}

.section_gap_box .section_gap_image {
  display: block;
  width: 100%;
}

@media (min-width: 768px) {
  .section {
    padding-top: 100px;
  }
  .section_gap_box {
    overflow: hidden;
    width: 102%;
  }
  .section_gap_box.type01 {
    margin: -34px 0 0 -1%;
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  .section_gap_box.type01.gap01 {
    margin-top: -25px;
  }
  .section_gap_box.type01 .section_gap_image {
    height: 186px;
    margin: -17px 0 0 1%;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
  }
  .section_gap_box.type02 {
    margin: -25px 0 0 -1%;
    -webkit-transform: rotate(-3deg);
    transform: rotate(-3deg);
  }
  .section_gap_box.type02 .section_gap_image {
    height: 186px;
    margin: -17px 0 0 1%;
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }
  .section_gap_box.gap01 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box01-gap-pc.png") 0 0 no-repeat;
  }
  .section_gap_box.gap02 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box02-gap-pc.png") 0 -2px no-repeat;
  }
  .section_gap_box.gap03 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box03-gap-pc.png") 0 0 no-repeat;
  }
  .section_gap_box.gap04 {
    position: relative;
    z-index: 2;
  }
  .section_gap_box.gap04 .section_gap_box_inner {
    margin-top: -30px;
  }
  .section_gap_box.gap04 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box04-gap-pc.png") 0 -60px no-repeat;
  }
  .section_gap_box.gap05 {
    position: relative;
    margin-top: 25px;
    z-index: 3;
  }
  .section_gap_box.gap05 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box05-gap-pc.png") 0 -40px no-repeat;
  }
  .section_gap_box.gap06 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box06-gap-pc.png") 0 0 no-repeat;
  }
  .section_gap_box.gap07 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box07-gap-pc.png") 0 -37px no-repeat;
  }
}

@media (max-width: 767px) {
  .section {
    padding: 0;
    width: auto;
  }
  .section_gap_box {
    width: 100%;
  }
  .section_gap_box.type01 .section_gap_image,
  .section_gap_box.type02 .section_gap_image {
    height: 15vw;
    margin: 0;
  }
  .section_gap_box.gap01 {
    margin-top: 20px;
  }
  .section_gap_box.gap01 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box01-gap-sp.png") 0 0 no-repeat;
    background-size: cover;
  }
  .section_gap_box.gap02 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box02-gap-sp.png") 0 0 no-repeat;
    background-size: cover;
  }
  .section_gap_box.gap03 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box03-gap-sp.png") 0 0 no-repeat;
    background-size: cover;
  }
  .section_gap_box.gap04 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box04-gap-sp.png") 0 0 no-repeat;
    background-size: cover;
  }
  .section_gap_box.gap05 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box05-gap-sp.png") 0 0 no-repeat;
    background-size: cover;
  }
  .section_gap_box.gap06 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box06-gap-sp.png") 0 0 no-repeat;
    background-size: cover;
  }
  .section_gap_box.gap07 .section_gap_image {
    background: url("/special-contents/okazaki-castle/image/bg-box07-gap-sp.png") 0 0 no-repeat;
    background-size: cover;
  }
}

/* ------------------------------------ */
/* ▼ intro wrap */
/* ------------------------------------ */

.intro_caption {
  color: #fff;
  text-align: right;
  letter-spacing: .01em;
  margin: 30px 0 40px;
}
.intro_caption p {
  font-size: .85em;
}


@media (max-width: 767px) {
  .intro_caption {
    font-size: 16px;
    margin: 5% 1% 2%;
    padding: 0;
    width: 100%;
    text-align: left;
  }
  .intro_caption .caption_inner {
    display: block;
    display: inline-block;
    font-size: 1.45rem;
  }
}

/* -- spot_item_block -- */
.spot_item_block {
  position: relative;
  z-index: 2;
}

.spot_image_block {
  font-size: 0;
  position: relative;
  z-index: 2;
}

.item_text_block01 .title,
.item_text_block02 .title {
  position: relative;
  width: 100%;
}

.item_text_block01 .title::before,
.item_text_block02 .title::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
}

.item_text_block01.block01 .title::before {
  background: #e24732;
}

.item_text_block01.block02 .title::before {
  background: #009fa8;
}

.item_text_block01.block03 .title::before {
  background: #ff871e;
}

.item_text_block01.block04 .title::before {
  background: #2e3186;
}

.item_text_block01.block05 .title::before {
  background: #e11e79;
}

.item_text_block02.block01 .title::before {
  background: #009fa8;
}

.item_text_block02.block02 .title::before {
  background: #2e3186;
}

.item_text_block01 .text,
.item_text_block02 .text {
  text-align: justify;
}

@media (min-width: 768px) {
  .spot_item_block::after {
    clear: both;
    content: "";
    display: table;
  }
  .spot_item_block .spot_item:nth-of-type(odd) {
    float: left;
    width: 46.4249%;
  }
  .spot_item_block .spot_item:nth-of-type(odd) .item_text_block01,
  .spot_item_block .spot_item:nth-of-type(odd) .item_text_block02 {
    padding-left: 67px;
  }
  .spot_item_block .spot_item:nth-of-type(even) {
    float: right;
    width: 46.321243%;
  }
  .spot_item_block .spot_item:nth-of-type(even) .item_text_block01,
  .spot_item_block .spot_item:nth-of-type(even) .item_text_block02 {
    padding-right: 60px;
  }
  .spot_item_block .spot_item:nth-of-type(even) .spot_image_block {
    text-align: right;
  }
  .spot_item_block.type01 .spot_item {
    margin-top: 35px;
  }
  .spot_item_block.type01 .spot_item:first-child {
    margin-top: 0;
  }
  .spot_item_block.type01 .spot_item:nth-child(2) {
    margin-top: 45px;
  }
  .item_text_block01 .title,
  .item_text_block02 .title {
    font-size: 0;
  }
  .item_text_block01 .title::before,
  .item_text_block02 .title::before {
    height: 56px;
    width: 15px;
  }
  .item_text_block01 .text,
  .item_text_block02 .text {
    letter-spacing: .02em;
    line-height: 1.78125;
    margin-top: 12px;
  }
  .spot_item:not(:first-child) .item_text_block01 {
    margin-top: 15px;
  }
  .item_text_block01.block01 .title {
    background: url(/special-contents/okazaki-castle/image/txt-box02-photo-main.png) 30px 0 no-repeat;
    background-size: contain;
    padding-bottom: 10.49869%;
  }
  .item_text_block01.block02 .title {
    background: url(/special-contents/okazaki-castle/image/txt-box02-photo01.png) 30px 0 no-repeat;
    background-size: contain;
    padding-bottom: 10.33592%;
  }
  .item_text_block01.block03 .title {
    background: url(/special-contents/okazaki-castle/image/txt-box02-photo02.png) 30px 0 no-repeat;
    background-size: contain;
    padding-bottom: 10.49869%;
  }
  .item_text_block01.block04 .title {
    background: url(/special-contents/okazaki-castle/image/txt-box02-photo03.png) 30px 0 no-repeat;
    background-size: contain;
    padding-bottom: 10.33592%;
  }
  .item_text_block01.block05 .title {
    background: url(/special-contents/okazaki-castle/image/txt-box02-photo04.png) 30px 0 no-repeat;
    background-size: contain;
    padding-bottom: 10.49869%;
  }
  .item_text_block02.block01 .title {
    background: url(/special-contents/okazaki-castle/image/txt-box03-photo01.png) 30px 0 no-repeat;
    background-size: contain;
    padding-bottom: 6.824147%;
  }
  .item_text_block02.block02 .title {
    background: url(/special-contents/okazaki-castle/image/txt-box03-photo02.png) 30px 0 no-repeat;
    background-size: contain;
    padding-bottom: 6.7183463%;
  }
  .item_text_block02 {
    margin-top: 28px;
  }
}

@media (max-width: 767px) {
  .spot_image_block img {
    width: 100%;
  }
  .spot_item_block.type01 {
    margin-top: -20px;
  }
  .spot_item_block.type01 .spot_item {
    padding: 0 20px 20px;
  }
  .spot_item_block.type01 .spot_item:first-child {
    background: #f6dca3;
  }
  .spot_item_block.type01 .spot_item:nth-child(2) {
    padding-top: 20px;
  }
  .spot_item_block.type02 .spot_item:not(:first-child) {
    margin-top: 20px;
  }
  .item_text_block01 .title,
  .item_text_block02 .title {
    font-size: 1.8rem;
  }
  .item_text_block01 .title {
    letter-spacing: .1em;
    padding: 20px 0 0 20px;
  }
  .item_text_block02 .title {
    padding: 6px 0 0 20px;
  }
  .item_text_block01 .title::before,
  .item_text_block02 .title::before {
    height: 100%;
    width: 10px;
  }
  .item_text_block01 .text,
  .item_text_block02 .text {
    letter-spacing: 0;
    line-height: 1.5;
    margin-top: 15px;
  }
}

/* -- box_arrival -- */
.arrival_block {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 3;
}

@media (min-width: 768px) {
  .box_arrival {
    background: url("/special-contents/okazaki-castle/image/ttl-box01-main-pc.png") 0 0 no-repeat;
    background-size: 100%;
    margin-top: 107px;
    padding-top: 16.5803%;
  }
  .arrival_block {
    padding-left: 60px;
  }
  .arrival_block .text_block01 {
    margin-right: 20px;
    max-width: 340px;
    padding-bottom: 60px;
  }
  .arrival_block .image_block01 {
    margin-top: -17.6%;
    max-width: 523px;
    width: 58%;
  }
}

@media (max-width: 767px) {
  .box_arrival {
    background: #fbdcd4;
    padding-top: 20px;
  }
  .box_arrival_inner {
    padding: 0 20px;
  }
  .arrival_block {
    flex-wrap: wrap;
    margin-top: 20px;
  }
  .arrival_block .text_block01 {
    margin-top: 15px;
    order: 2;
    width: 100%;
  }
  .arrival_block .image_block01 {
    order: 1;
    width: 100%;
  }
}

/* -- box_history -- */
.history_block {
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 3;
}

.history_block .text_block01 {
  position: relative;
}

.relational_spot_block {
  position: relative;
}

@media (min-width: 768px) {
  .box_history {
    background: url("/special-contents/okazaki-castle/image/bg-box02-main-pc.png") 0 0 no-repeat;
    background-size: 100%;
    margin-top: -104px;
    padding: 1.64% 0 0;
  }
  .history_block {
    padding-right: 60px;
  }
  .history_block::before,
  .history_block::after {
    content: "";
    display: block;
    position: absolute;
  }
  .history_block::before {
    background: url("/special-contents/okazaki-castle/image/bg-box02-hollyhock.png") 0 0 no-repeat;
    background-size: contain;
    height: 138px;
    max-width: 228px;
    bottom: 26px;
    right: 103px;
    width: 23.6269%;
  }
  .history_block::after {
    background: url("/special-contents/okazaki-castle/image/ttl-box02-txt01-pc.png") 0 0 no-repeat;
    background-size: contain;
    height: 145px;
    max-width: 627px;
    bottom: -20px;
    right: 25px;
    width: 64.9741%;
  }
  .history_block .text_block01 {
    margin: 133px 0 0 20px;
    max-width: 274px;
    padding-bottom: 160px;
  }
  .history_block .text_block01 .section_text01 {
    letter-spacing: .02em;
  }
  .history_block .image_block01 {
    margin-top: -6.5%;
    max-width: 584px;
    width: 65.2514%;
  }
  .relational_spot_block {
    margin: -104px 0 0;
  }
  .relational_spot_block::before,
  .relational_spot_block::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
  }
  .relational_spot_block::before {
    background: url(/special-contents/okazaki-castle/image/bg-box02-paper-top.png) 0 0 no-repeat;
    height: 380px;
    top: 0;
  }
  .relational_spot_block::after {
    background: url(/special-contents/okazaki-castle/image/bg-box02-paper-btm.png) 0 bottom no-repeat;
    background-size: contain;
    height: 448px;
    bottom: 8px;
  }
  .relational_spot_block .relational_spot_block_inner {
    padding: 60px 0 88px;
    position: relative;
  }
  .relational_spot_block .relational_spot_block_inner::before {
    background: url(/special-contents/okazaki-castle/image/bg-box02-paper-rep.png) 0 0 repeat-y;
    background-size: contain;
    content: "";
    display: block;
    height: calc(100% - 378px);
    position: absolute;
    right: 0;
    top: 378px;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .box_history_inner.inner01 {
    background: #f6dca3;
    padding: 20px;
  }
  .box_history_inner.inner02 {
    background: #f1e8da;
  }
  .history_block {
    flex-wrap: wrap;
  }
  .history_block .image_block01 {
    margin-top: 24%;
    order: 2;
    position: relative;
    width: 100%;
  }
  .history_block .image_block01::before {
    background: url(/special-contents/okazaki-castle/image/ttl-box02-txt01-sp.png) 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    padding-bottom: 26%;
    position: absolute;
    left: 50%;
    top: -20%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: calc(100% + 40px);
  }
  .history_block .text_block01 {
    margin-top: 20px;
    order: 1;
  }
  .relational_spot_block {
    margin: 0;
  }
}

/* -- box_castle_inside -- */
.castle_inside_block01 .text_block01 {
  max-width: 540px;
}

.floor_info_inner {
  position: relative;
}

.floor_info:not(:first-child) .floor_info_inner {
  background-position: 0 50px;
}

.floor_info:first-child .floor_info_inner::before {
  background: none;
}

.floor_image_box {
  position: relative;
  z-index: 2;
}

@media (min-width: 768px) {
  .box_castle_inside {
    background: url("/special-contents/okazaki-castle/image/ttl-box03-main-pc.png") 0 0 no-repeat;
    background-size: 100%;
    margin-top: -83px;
  }
  .castle_inside_block01 {
    margin-top: 40px;
    padding: 0 0 40px 65px;
  }
  .floor_info_inner {
    background: url("/special-contents/okazaki-castle/image/bg-box03-paper-rep.png") 0 0 repeat-y;
    padding: 40px 0 30px;
  }
  .floor_info_inner::before,
  .floor_info_inner::after {
    position: absolute;
    left: 0;
    content: "";
    display: block;
    width: 100%;
  }
  .floor_info_inner::before {
    top: 0;
    background: url("/special-contents/okazaki-castle/image/bg-box03-paper-top.png") 0 0 no-repeat;
    height: 100px;
  }
  .floor_info_inner::after {
    bottom: 0;
    background: url("/special-contents/okazaki-castle/image/bg-box03-paper-btm01.png") 0 0 no-repeat;
    height: 200px;
  }
  .floor_image_box {
    display: flex;
    justify-content: space-between;
  }
  .floor_image_box.box01 {
    padding-bottom: 9px;
  }
  .floor_image_box.box01 .image_item {
    width: 39.171%;
  }
  .floor_image_box.box01 .box_item {
    width: 53.6788%;
  }
  .floor_image_box.box01 .item_text {
    margin-top: 22px;
    padding-right: 60px;
  }
  .floor_image_box.box01 .item_image {
    margin-top: 50px;
  }
  .floor_image_box.box02 {
    margin-top: -8px;
  }
  .floor_image_box.box02::after {
    position: absolute;
    bottom: -30px;
    left: 43px;
    background: url("/special-contents/okazaki-castle/image/img-box03-guide-pc.png") 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 212px;
    width: 362px;
  }
  .floor_image_box.box02 .image_item {
    width: 70.7772%;
  }
  .floor_image_box.box02 .box_item {
    padding-bottom: 160px;
    width: 26.5%;
  }
  .floor_image_box.box02 .item_text {
    padding-left: 65px;
  }
  .floor_image_box.box03 {
    margin-top: 8px;
    padding-bottom: 50px;
  }
  .floor_image_box.box03 .image_item {
    width: 46.4249%;
  }
  .floor_image_box.box03 .box_item {
    margin-top: -5px;
    width: 46.4249%;
  }
  .floor_image_box.box03 .item_text {
    padding-right: 60px;
  }
  .floor_image_box.box03 .item_image {
    margin-top: 27px;
  }
}

@media (max-width: 767px) {
  .box_castle_inside_inner {
    padding: 20px;
  }
  .box_castle_inside_inner.inner01 {
    background: #cae8df;
  }
  .box_castle_inside_inner.inner02 {
    background: #f1e8da;
  }
  .castle_inside_block01 .text_block01 {
    margin-top: 15px;
  }
  .floor_section .floor_info:not(:first-child):not(:last-child) {
    margin-top: 20px;
  }
  .floor_info .floor_info_inner {
    margin-top: 15px;
  }
  .floor_image_box .item_text {
    margin-top: 15px;
  }
  .floor_image_box .image_item,
  .floor_image_box .item_image {
    font-size: 0;
    text-align: center;
    width: 100%;
  }
  .floor_image_box .item_image {
    margin-top: 15px;
  }
  .floor_image_box.box02 {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 15px;
  }
  .floor_image_box.box02 .box_item {
    order: 2;
  }
  .floor_image_box.box02 .item_text {
    order: 1;
  }
}

/* -- box_castle_tower -- */
.box_castle_tower .box_castle_tower_inner {
  position: relative;
}

.castle_tower_block02 {
  position: relative;
}

.castle_tower_block02::before {
  content: "";
  display: block;
  position: absolute;
}

.tower_image_box {
  width: 100%;
}

.tower_image_box .image_title {
  padding-bottom: 40px;
  position: relative;
}

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

.tower_image_box .image_title::after {
  background: #231815;
  height: 1px;
  bottom: 0;
}

.tower_image_box .image_text {
  position: relative;
}

.tower_image_box .section_text01 {
  margin-top: 10px;
}

@media (min-width: 768px) {
  .box_castle_tower {
    margin-top: -100px;
    padding-top: 20px;
  }
  .box_castle_tower .box_castle_tower_inner {
    background: url("/special-contents/okazaki-castle/image/bg-box04-btm.png") 0 bottom no-repeat;
    background-size: 100%;
  }
  .castle_tower_block01 {
    padding: 0 0 0 65px;
    position: absolute;
    left: 0;
    top: 13.1959%;
  }
  .castle_tower_block01 .text_block01 {
    max-width: 486px;
  }
  .castle_tower_block02 {
    margin-top: 45px;
    padding: 0 6.2176% 90px 41.4508%;
  }
  .castle_tower_block02::before {
    background: url("/special-contents/okazaki-castle/image/img-box04-photo-gap01-pc.png") 0 bottom no-repeat;
    background-size: 100%;
    height: 386px;
    max-width: 392px;
    bottom: 0;
    left: 0;
    width: 40.6218%;
    z-index: 2;
  }
  .castle_tower_block01 .text_block01 {
    max-width: 486px;
  }
  .tower_image_box {
    max-width: 500px;
  }
  .tower_image_box .image_title {
    font-size: 0;
  }
  .tower_image_box .image_title::before {
    background: url("/special-contents/okazaki-castle/image/txt-box04-photo-main.png") 0 0 no-repeat;
    background-size: contain;
    height: 25px;
    left: 0;
    top: 0;
    width: 100%;
  }
  .tower_image_box .image_title::after {
    left: -45px;
    width: calc(100% + 40px);
  }
}

@media (max-width: 767px) {
  .box_castle_tower {
    background: #dbedc0;
  }
  .box_castle_tower .box_castle_tower_inner {
    padding: 20px 20px 0;
  }
  .box_castle_tower .image_block01 {
    margin-top: 20px;
  }
  .castle_tower_block01 {
    margin-top: 15px;
  }
  .castle_tower_block02 {
    margin-top: 20px;
    padding-bottom: 46vw;
  }
  .castle_tower_block02::before {
    background: url("/special-contents/okazaki-castle/image/img-box04-photo-gap01-sp.png") 0 bottom no-repeat;
    background-size: contain;
    height: 100%;
    bottom: 0;
    left: -20px;
    width: 100%;
  }
  .tower_image_box .image_title {
    font-size: 1.8rem;
    padding-bottom: 6px;
  }
  .tower_image_box .image_title::after {
    left: 0;
    width: 100%;
  }
}

/* -- box_exhibition -- */
.box_exhibition {
  background-size: 100%;
  z-index: 2;
}

.exhibition_block_inner {
  position: relative;
}

.prologue .image_block01 {
  position: relative;
  z-index: 2;
}

.display_title {
  position: relative;
}

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

.text_display_block01 .display_title {
  position: relative;
}

.text_display_block01 .display_title::after {
  background: #b5272d;
  height: 1px;
  bottom: 0;
}

.text_display_block02 .display_title::before {
  left: -2px;
  top: 0;
  width: 100%;
}

.text_display_block02 .display_title::after {
  background: #b5272d;
  height: 1px;
  bottom: 0;
  left: 0;
  width: 100%;
}

.text_display_block02 .display_text02 {
  margin-top: 10px;
}

.display_block .display_image01,
.display_block .display_image02,
.display_block .display_image03 {
  position: relative;
  z-index: 2;
}

.display_block.block01 {
  display: flex;
  flex-wrap: wrap;
}

.display_info {
  display: flex;
  justify-content: space-between;
}

.display_block .display_info.info_image02 {
  position: relative;
  flex-wrap: wrap;
}

.display_block .display_info.info_image02::before {
  background: url("/special-contents/okazaki-castle/image/bg-box05-hollyhock.png") 0 0 no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 227px;
  max-width: 309px;
  position: absolute;
  left: 50%;
  top: -26%;
  -webkit-transform: translateX(-45%);
  transform: translateX(-45%);
}

@media (min-width: 768px) {
  .box_exhibition {
    background: url("/special-contents/okazaki-castle/image/ttl-box05-main-pc.png") 0 0 no-repeat;
    background-size: contain;
    margin-top: -53px;
    padding-top: 16.5803%;
  }
  .exhibition_block01 {
    padding-left: 65px;
  }
  .exhibition_block01 .image_block01 {
    position: absolute;
    right: 0;
    top: -1px;
    width: 54.0933%;
  }
  .exhibition_block01 .text_block01 {
    margin-top: 30px;
    padding: 0 40px 90px 0;
    width: 41%;
  }
  .exhibition_block01 .text_block01 .section_text01 {
    letter-spacing: .02em;
  }
  .exhibition_block02 {
    background: url("/special-contents/okazaki-castle/image/bg-box05-paper-rep.png") 0 0 repeat-y;
    background-size: 100%;
    position: relative;
    z-index: 3;
  }
  .exhibition_block02::before,
  .exhibition_block02::after {
    content: "";
    display: block;
    height: 200px;
    position: absolute;
    left: 0;
    width: 100%;
  }
  .exhibition_block02::before {
    background: url("/special-contents/okazaki-castle/image/bg-box05-paper-top.png") 0 0 no-repeat;
    background-size: 100%;
    top: -60px;
  }
  .exhibition_block02::after {
    background: url("/special-contents/okazaki-castle/image/bg-box05-paper-btm.png") 0 0 no-repeat;
    background-size: 100%;
    bottom: -160px;
  }
  .prologue {
    display: flex;
    justify-content: space-between;
  }
  .prologue .image_block01 {
    width: 51.6062%;
  }
  .history {
    margin-top: 43px;
  }
  .text_display_block01 {
    margin-top: 70px;
    padding: 0 65px 0 20px;
    width: 44%;
  }
  .text_display_block01 .display_title {
    padding-bottom: 35px;
    width: 125px;
  }
  .text_display_block01 .display_title::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo-pro01.png") 0 0 no-repeat;
    background-size: contain;
    height: 23px;
    left: -4px;
    top: 0;
    width: 100%;
  }
  .text_display_block01 .display_title::after {
    right: -9px;
    width: 200%;
  }
  .text_display_block01 .display_title_sub {
    padding-bottom: 26px;
    position: relative;
  }
  .text_display_block01 .display_title_sub::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo-pro02.png") 0 0 no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 26px;
    position: absolute;
    width: 100%;
  }
  .text_display_block01 .display_title {
    font-size: 0;
  }
  .text_display_block01 .display_title_sub {
    font-size: 0;
    margin-top: 25px;
  }
  .text_display_block01 .section_text01 {
    letter-spacing: .04em;
    margin-top: 13px;
  }
  .text_display_block02 {
    padding-bottom: 45px;
    padding-top: 35px;
  }
  .text_display_block02.block01 {
    padding: 25px 35px 0 65px;
    width: 46.42487%;
  }
  .text_display_block02.block02 {
    padding-left: 65px;
    padding-right: 33px;
  }
  .text_display_block02.block03 {
    padding-left: 37px;
    padding-right: 65px;
  }
  .text_display_block02.block04 {
    padding: 0 65px 150px 50px;
    width: 46.21762%;
  }
  .text_display_block02.block05 {
    padding: 35px 0 350px 65px;
    width: 53.67876%;
  }
  .text_display_block02 .display_title {
    padding-bottom: 54px;
  }
  .text_display_block02.block04 .display_title,
  .text_display_block02.block05 .display_title {
    padding-bottom: 39px;
  }
  .text_display_block02 .display_title.title01::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo01.png") 0 0 no-repeat;
    background-size: contain;
    height: 39px;
  }
  .text_display_block02 .display_title.title02::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo02.png") 0 0 no-repeat;
    background-size: contain;
    height: 39px;
  }
  .text_display_block02 .display_title.title03::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo03.png") 0 0 no-repeat;
    background-size: contain;
    height: 39px;
  }
  .text_display_block02 .display_title.title04::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo04.png") 0 0 no-repeat;
    background-size: contain;
    height: 40px;
  }
  .text_display_block02 .display_title.title05::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo05.png") 0 0 no-repeat;
    background-size: contain;
    height: 41px;
  }
  .text_display_block02 .display_title.title06::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo06.png") 0 0 no-repeat;
    background-size: contain;
    height: 25px;
  }
  .text_display_block02 .display_title.title07::before {
    background: url("/special-contents/okazaki-castle/image/txt-box05-photo07.png") 0 0 no-repeat;
    background-size: contain;
    height: 26px;
  }
  .text_display_block02 .display_title.title01::after {
    width: 200%;
  }
  .text_display_block02 .display_title.title06::after {
    left: auto;
    right: 0;
    width: 150%;
  }
  .text_display_block02 .display_title.title07::after {
    width: 150%;
  }
  .text_display_block02 .display_text01 {
    margin-top: 7px;
    padding-right: 15px;
  }
  .text_display_block02 .display_text01 .section_text01 {
    letter-spacing: .02em;
  }
  .display_block.block01 .display_info {
    width: 50%;
  }
  .display_block.block02 .display_info {
    width: 100%;
  }
  .display_block .display_info.info_image01 {
    width: 100%;
  }
  .display_title {
    font-size: 0;
  }
  .display_block .display_info.info_image02::before {
    width: 34%;
  }
  .display_block .display_info.info_image02 .display_image02 {
    margin-top: -120px;
    width: 41.1399%;
  }
  .display_block .display_info.info_image02 .display_image03 {
    margin-top: -332px;
    width: 53.6788%;
  }
}

@media (max-width: 767px) {
  .box_exhibition {
    background: #f8d7c3;
  }
  .box_exhibition_inner {
    padding: 20px;
  }
  .box_exhibition_inner.inner02 {
    background: #f1e8da;
  }
  .box_exhibition_inner .image_block01,
  .box_exhibition_inner .display_image01 {
    font-size: 0;
    margin: 0 auto;
    text-align: center;
  }
  .exhibition_block01 {
    margin-top: 20px;
  }
  .exhibition_block01 .text_block01 {
    margin-top: 15px;
  }
  .text_display_block01 {
    margin-top: 15px;
  }
  .text_display_block01 .display_title {
    color: #b5272d;
    font-size: 1.8rem;
    font-weight: 600;
    padding-bottom: 4px;
  }
  .text_display_block01 .display_title::after {
    left: 0;
    width: 100%;
  }
  .text_display_block01 .display_text01 {
    margin-top: 15px;
  }
  .text_display_block01 .display_title_sub {
    font-size: 1.8rem;
    font-weight: 600;
    margin-top: 15px;
  }
  .text_display_block01 .section_text01 {
    margin-top: 10px;
  }
  .text_display_block02.block01 {
    margin-top: 15px;
    order: 2;
  }
  .text_display_block02.block04 {
    margin-top: 15px;
  }
  .text_display_block02.block05 {
    padding-bottom: 20px;
  }
  .text_display_block02 .display_title {
    font-size: 1.8rem;
    font-weight: 600;
    padding-bottom: 4px;
  }
  .text_display_block02 .display_title:not(.title06):not(.title07)::first-letter {
    color: #b5272d;
    font-size: 2.2rem;
  }
  .text_display_block02 .display_text01 {
    margin-top: 15px;
  }
  .display_info {
    flex-wrap: wrap;
    margin-top: 20px;
  }
  .display_info.info_image01 .display_image01 {
    order: 1;
  }
  .display_info.info_image01 .display_image02 {
    width: 100%;
  }
  .display_block .display_info.info_image02 .display_image02 {
    width: 29.09604%;
  }
  .display_block .display_info.info_image02 .display_image03 {
    width: 69.49152%;
  }
}

/* -- box_shrine -- */
.box_shrine {
  z-index: 2;
}

.shrine_info_block01 .info_title {
  position: relative;
}

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

.shrine_info_block01 .info_title::after {
  background: #231815;
  height: 1px;
  bottom: 0;
}

.shrine_info_block01 .info_text.text02 {
  background: rgba(255, 255, 255, .4);
}

.shrine_block02 {
  position: relative;
}

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

@media (min-width: 768px) {
  .box_shrine {
    background: url("/special-contents/okazaki-castle/image/ttl-box06-main-pc.png") 0 0 no-repeat;
    background-size: 100%;
    margin-top: -67px;
    padding-top: 16.5803%;
  }
  .shrine_block01 {
    padding-left: 80px;
  }
  .shrine_block01 .text_block01 {
    margin-top: 30px;
    padding: 0 40px 43% 0;
    width: 34%;
  }
  .shrine_block01 .image_block01 {
    position: absolute;
    right: 0;
    top: 0;
    width: 58.7565%;
    z-index: 2;
  }
  .shrine_block02 {
    margin-top: 30px;
    padding-bottom: 90px;
  }
  .shrine_block02::before {
    background: url("/special-contents/okazaki-castle/image/img-box06-guide-pc.png") 0 bottom no-repeat;
    background-size: contain;
    height: 411px;
    max-width: 304px;
    bottom: 100%;
    left: 36px;
    width: 31.5026%;
  }
  .shrine_block02::after {
    background: url("/special-contents/okazaki-castle/image/bg-box06-hollyhock.png") 0 bottom no-repeat;
    background-size: contain;
    height: 209px;
    max-width: 305px;
    bottom: 102%;
    left: 227px;
    width: 31.6062%;
  }
  .shrine_block02 .shrine_block_inner {
    display: flex;
    justify-content: space-between;
  }
  .shrine_block02 .image_block01 {
    position: relative;
    width: 52.1244%;
    z-index: 2;
  }
  .shrine_block02 .shrine_info_block01 {
    padding: 50px 80px 0 60px;
    width: 47.8756%;
  }
  .shrine_info_block01 .info_title {
    font-size: 0;
    padding-bottom: 40px;
  }
  .shrine_info_block01 .info_title::before {
    background: url(/special-contents/okazaki-castle/image/txt-box06-photo02.png) 0 0 no-repeat;
    background-size: contain;
    height: 25px;
    width: 100%;
  }
  .shrine_info_block01 .info_title::after {
    right: 0;
    width: 150%;
  }
  .shrine_info_block01 .info_text.text01 {
    margin-top: 10px;
  }
  .shrine_info_block01 .info_text.text02 {
    margin-top: 30px;
    padding: 20px 25px;
  }
}

@media (max-width: 767px) {
  .box_shrine {
    background: #d2dff4;
  }
  .box_shrine_inner {
    padding: 20px;
  }
  .shrine_block01,
  .shrine_block02 {
    margin-top: 20px;
  }
  .shrine_block01 .image_block01 {
    display: flex;
    justify-content: space-between;
  }
  .shrine_block01 .image_block01 .image {
    width: 49%;
  }
  .shrine_block01 .text_block01 {
    margin-top: 15px;
  }
  .shrine_info_block01 {
    margin-top: 20px;
  }
  .shrine_info_block01 .info_title {
    font-size: 1.8rem;
    padding-bottom: 4px;
  }
  .shrine_info_block01 .info_title::after {
    left: 0;
    width: 100%;
  }
  .shrine_info_block01 .info_text.text01 {
    margin-top: 15px;
  }
  .shrine_info_block01 .info_text.text02 {
    margin-top: 15px;
    padding: 10px 15px;
  }
}

/* -- box_rest -- */
.box_rest {
  z-index: 2;
}

.rest_block01 {
  position: relative;
  z-index: 1;
}

.rest_block01 .text_block01 .title {
  position: relative;
}

.rest_block01 .text_block01 .title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.shop_info_box {
  position: relative;
}

.shop_info_box .shop_info {
  display: flex;
  justify-content: space-between;
}

.shop_info_box .shop_info.info02 {
  flex-wrap: wrap;
}

.shop_image_block {
  position: relative;
}

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

.shop_image_block img {
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.shop_info .shop_info_inner {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.shop_info_block {
  position: relative;
}

.shop_info_block .item_title {
  letter-spacing: 0;
  position: relative;
}

.shop_info_block.block02 .item_title::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
}

.shop_info_block .item_title .item_title_sub {
  display: block;
  font-weight: normal;
}

.item_info .section_text01 {
  letter-spacing: -.04em;
}

.shop_item.item01 {
  display: flex;
}

.shop_item.item02 {
  position: relative;
}

.shop_item.item02::before {
  content: "";
  display: block;
  position: absolute;
}

@media (min-width: 768px) {
  .box_rest {
    background: url("/special-contents/okazaki-castle/image/ttl-box07-main-pc.png") 0 0 no-repeat;
    background-size: 100%;
    margin-top: -9.01554%;
    padding-top: 18.4456%;
  }
  .rest_block01 .text_block01 {
    background: rgba(255, 255, 255, .8);
    max-width: 371px;
    padding: 30px 40px 35px;
    position: absolute;
    right: 40px;
    top: -11%;
    width: 38.4456%;
  }
  .rest_block01 .text_block01 .title {
    font-size: 0;
    padding-bottom: 40px;
  }
  .rest_block01 .text_block01 .title::before {
    background: url(/special-contents/okazaki-castle/image/txt-box07-photo-main.png) 50% 0 no-repeat;
    background-size: contain;
    height: 40px;
    width: 100%;
  }
  .rest_block01 .text_block01 .text {
    margin-top: 13px;
  }
  .rest_block02 {
    background: url(/special-contents/okazaki-castle/image/bg-box07-btm.png) 0 0 no-repeat;
    background-size: 100%;
    padding: 36px 0 90px;
  }
  .shop_image_block.block01 {
    margin: -82px 0 0 2%;
    width: 56.45%;
  }
  .shop_image_block.block02 {
    width: 53.6788%;
  }
  .shop_image_block.block01::before,
  .shop_image_block.block02::before {
    background: rgba(255, 255, 255, .6);
    border-radius: 50%;
    height: 308px;
    width: 308px;
  }
  .shop_image_block.block01::before {
    right: -65px;
    top: -65px;
  }
  .shop_image_block.block02::before {
    bottom: -174px;
    left: 154px;
  }
  .shop_image_block.block02::after {
    background: #c7c8e5;
    height: 15px;
    right: -8%;
    top: 41px;
    width: 43px;
  }
  .shop_info_box .shop_info.info02 {
    margin-top: 45px;
  }
  .shop_info_block.block01,
  .shop_info_block.block02 {
    width: 40.4145%;
  }
  .shop_info_block.block01 {
    margin-left: 20px;
    padding-right: 7.3%;
  }
  .shop_info_block.block02 {
    margin: 30px 0 0 30px;
    padding: 0 8.3% 135px 0;
  }
  .shop_info_block .item_title {
    font-size: 2rem;
    line-height: 1.2;
  }
  .shop_info_block.block02 .item_title {
    font-size: 0;
    padding-bottom: 25px;
  }
  .shop_info_block.block02 .item_title::before {
    background: url(/special-contents/okazaki-castle/image/txt-box07-photo02.png) 0 0 no-repeat;
    background-size: contain;
    height: 25px;
    width: 100%;
  }
  .shop_info_block .item_title .item_title_sub {
    font-size: 1.5rem;
    padding-top: 5px;
  }
  .shop_item.item01 {
    padding-left: 45px;
    width: 51.8135%;
  }
  .shop_item.item02 {
    margin-left: 20px;
    padding-top: 35px;
    width: 41%;
  }
  .shop_item.item02::before {
    background: url(/special-contents/okazaki-castle/image/img-box07-photo04-pc.png) 0 0 no-repeat;
    background-size: contain;
    height: 270px;
    max-width: 481px;
    bottom: 68%;
    left: -22%;
    width: 122%;
    z-index: 3;
  }
  .shop_info .shop_info_inner.info02 {
    margin-top: 43px;
  }
  .shop_info_block.block01 .item_info {
    margin-top: 5px;
  }
  .shop_info_block.block02 .item_info {
    margin-top: 15px;
  }
  .shop_info_block.block03 {
    margin-top: 3px;
    padding-left: 8px;
    width: 59.5%;
  }
  .shop_info_block.block03 .item_info {
    margin-top: 12px;
  }
  .shop_info_block.block04 {
    width: 88.5%;
  }
  .shop_info_block.block04 .item_title {
    margin-left: 49%;
  }
  .shop_info_block.block04 .item_info {
    margin-top: 12px;
  }
  .shop_image_block.block04 {
    position: absolute;
  }
}

@media (max-width: 767px) {
  .box_rest {
    background: #d0d2ec;
  }
  .box_rest_inner {
    padding: 20px;
  }
  .rest_block01,
  .rest_block02 {
    margin-top: 15px;
  }
  .rest_block01 .text_block01 {
    background: rgba(255, 255, 255, .4);
    margin-top: 15px;
    padding: 20px 15px 15px;
  }
  .rest_block01 .text_block01 .title {
    font-size: 1.8rem;
    letter-spacing: .1em;
    text-align: center;
  }
  .shop_info_box .shop_info.info01 {
    flex-wrap: wrap;
  }
  .shop_info {
    margin-top: 15px;
  }
  .shop_info .shop_info_inner {
    flex-wrap: wrap;
  }
  .shop_item.item01 {
    flex-wrap: wrap;
  }
  .shop_info_block {
    margin-top: 20px;
  }
  .shop_info_block .item_title {
    font-size: 1.8rem;
  }
  .shop_info_block .item_title .item_title_sub {
    font-size: 1.5rem;
  }
  .shop_info_block .item_info {
    margin-top: 10px;
  }
  .shop_image_block {
    margin: 15px auto 0;
  }
  .shop_image_block img {
    width: 100%;
  }
  .shop_image_block.block03 {
    width: 70%;
  }
  .shop_image_block.block03 img {
    margin: 0 auto;
  }
}

/* -- box_cooperate -- */
.box_cooperate {
  z-index: 2;
}

.cooperate_block,
.cooperate_block_inner {
  position: relative;
}

.cooperate_block {
  background: #3b302a;
  margin: 0 auto;
  max-width: 846px;
  width: 100%;
}

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

.cooperate_block::before {
  background: -webkit-linear-gradient(top, #cc8c09 0%, #e7c063 100%);
  background: linear-gradient(to bottom, #cc8c09 0%, #e7c063 100%);
  height: 100%;
  left: 0;
  top: 0;
  width: 4px;
}

.cooperate_block::after {
  background: -webkit-linear-gradient(top, #d8a433 0%, #cc8c09 100%);
  background: linear-gradient(to bottom, #d8a433 0%, #cc8c09 100%);
  height: 100%;
  right: 0;
  top: 0;
  width: 4px;
}

.cooperate_block_inner::before {
  background: -webkit-linear-gradient(left, #cc8c09 0%, #d9a433 23%, #eccb76 50%, #edcc77 79%, #d8a433 100%);
  background: linear-gradient(to right, #cc8c09 0%, #d9a433 23%, #eccb76 50%, #edcc77 79%, #d8a433 100%);
  height: 4px;
  left: 0;
  top: 0;
  width: calc(100% - 3px);
}

.cooperate_block_inner::after {
  background: -webkit-linear-gradient(left, #e7c063 0%, #f7e09b 23%, #e1b651 50%, #cc8c09 75%, #cc8c09 100%);
  background: linear-gradient(to right, #e7c063 0%, #f7e09b 23%, #e1b651 50%, #cc8c09 75%, #cc8c09 100%);
  height: 4px;
  bottom: 0;
  left: 0;
  width: calc(100% - 3px);
}

.cooperate_info_block_wrap {
  position: relative;
}

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

.cooperate_info_block .cooperate_info_inner {
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.cooperate_title,
.cooperate_title .cooperate_title_inner {
  position: relative;
}

.cooperate_title .cooperate_title_inner {
  display: block;
}

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

.cooperate_title.title01::before,
.cooperate_title.title01::after,
.cooperate_title.title02::before,
.cooperate_title.title02::after {
  background: linear-gradient(to right, #cc8c09 0%, #f9e3a0 50%, #cc8c09 100%);
  background: -webkit-linear-gradient(left, #cc8c09 0%, #f9e3a0 50%, #cc8c09 100%);
  height: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.cooperate_title.title01::before {
  left: 0;
  width: 38.5827%;
}

.cooperate_title.title01::after {
  right: 0;
  width: 38.5827%;
}

.cooperate_title.title02::before {
  left: 0;
  width: 35.6955%;
}

.cooperate_title.title02::after {
  right: 0;
  width: 35.6955%;
}

.cooperate_image img {
  width: 100%;
}

.cooperate_image_inner {
  display: flex;
  justify-content: center;
  width: 100%;
}

.cooperate_btn_block {
  text-align: center;
}

.cooperate_btn_block .info_text {
  color: #ddb362;
}

.cooperate_btn_block .info_btn a {
  display: block;
  position: relative;
}

.cooperate_btn_block .info_btn .btn_text {
  position: relative;
}

.cooperate_btn_block .info_btn .btn_text::after {
  position: absolute;
  content: "";
  display: block;
}

.cooperate_sns {
  max-width: 710px;
}

.cooperate_sns .block_sns {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-top: 0;
}

.cooperate_sns .sns_label {
  color: #fff;
  letter-spacing: 0;
}

.cooperate_sns .list_sns {
  width: auto;
}

.cooperate_sns .list_sns .list_sns_mail a {
  color: #fff;
  letter-spacing: 0;
}

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

.cooperate_spot_title {
  background: #f9e4a1;
  color: #3b302a;
  text-align: center;
}

.cooperate_spot_item {
  color: #f9e4a1;
  letter-spacing: 0;
}

.cooperate_spot_item_info a {
  color: #f9e4a1;
}

@media (min-width: 768px) {
  .box_cooperate {
    margin-top: -120px;
    padding: 0 20px;
  }
  .cooperate_block_inner {
    padding: 4px 0 4px 4px;
  }
  .cooperate_info_block_wrap {
    box-shadow: 3px 0 0 #3c250b inset;
    padding-bottom: 58px;
  }
  .cooperate_info_block_wrap::before {
    background: #3c250b;
    height: 3px;
    bottom: -7px;
    left: 0;
    width: calc(100% + 3px);
  }
  .cooperate_info_block_wrap::after {
    background: #3c250b;
    height: calc(100% + 4px);
    right: -3px;
    top: 0;
    width: 3px;
  }
  .cooperate_info_block {
    padding: 6px 40px 55px;
  }
  .cooperate_info_inner {
    justify-content: space-between;
  }
  .cooperate_title {
    font-size: 0;
    order: 1;
    padding-bottom: 43px;
    width: 100%;
  }
  .cooperate_title.title01 .cooperate_title_inner::before,
  .cooperate_title.title02 .cooperate_title_inner::before {
    height: 43px;
    padding: 0 20px;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 1;
  }
  .cooperate_title.title01 .cooperate_title_inner::before {
    background: url(/special-contents/okazaki-castle/image/txt-cooperate-item01.png) center 0 no-repeat, #3b302a;
    background-size: contain;
    width: 171px;
  }
  .cooperate_title.title02 .cooperate_title_inner::before {
    background: url(/special-contents/okazaki-castle/image/txt-cooperate-item02.png) center 0 no-repeat, #3b302a;
    background-size: contain;
    width: 217px;
  }
  .cooperate_image {
    margin-top: 31px;
    order: 3;
  }
  .cooperate_image.image01 {
    width: 100%;
  }
  .cooperate_image.image02 {
    width: 43.7008%;
  }
  .cooperate_image_inner {
    margin-top: -20px;
  }
  .cooperate_image_item {
    margin: 20px 15px 0;
    max-width: 333px;
    width: 100%;
  }
  .cooperate_movie_thumb {
    overflow: hidden;
    padding-bottom: 71.4747%;
    width: 100%;
  }
  .cooperate_movie_thumb img {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
  }
  .cooperate_image_item .bg_roll::after {
    padding-bottom: 71.4747%;
  }
  .movie-thumb {
    overflow: hidden;
  }
  .cooperate_text {
    margin-top: 25px;
    order: 2;
  }
  .cooperate_text.text01 {
    width: 100%;
  }
  .cooperate_text.text02 {
    width: 51.9685%;
  }
  .cooperate_text .section_text01 {
    letter-spacing: .024em;
  }
  .cooperate_btn_block {
    margin-top: 32px;
  }
  .cooperate_btn_block .info_text {
    font-weight: 600;
  }
  .cooperate_btn_block .info_btn {
    margin: 17px auto 0;
    max-width: 303px;
  }
  .cooperate_btn_block .info_btn a {
    background: -webkit-linear-gradient(top, #71ba2d 0%, #7bba27 25%, #24572d 50%, #419438 80%, #7bba27 100%);
    background: linear-gradient(to bottom, #71ba2d 0%, #7bba27 25%, #24572d 50%, #419438 80%, #7bba27 100%);
    border-radius: 10px;
    box-shadow: 3px 3px 6px #27201c;
    color: #fff;
    font-size: 2.4rem;
    padding: 13px 15px 13px 10px;
  }
  .cooperate_btn_block .info_btn a:hover {
    background: -webkit-linear-gradient(top, #8abf58 0%, #8dbb4f 25%, #395d3f 50%, #5c9456 80%, #88b945 100%);
    background: linear-gradient(to bottom, #8abf58 0%, #8dbb4f 25%, #395d3f 50%, #5c9456 80%, #88b945 100%);
    color: #fff;
  }
  .cooperate_btn_block .info_btn .btn_text {
    font-weight: 600;
    letter-spacing: .3em;
  }
  .cooperate_btn_block .info_btn .btn_text::after {
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: 9px 0 9px 11px;
    height: 0;
    right: -23px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
  }
  .cooperate_sns {
    margin: 35px auto 0;
    padding: 0 10px;
  }
  .cooperate_sns .list_sns {
    padding: 8px 0;
  }
  .museum_intro_block .cooperate_sns .list_sns li {
    margin-left: 15px;
  }
  .museum_intro_block .cooperate_sns .list_sns li:first-child {
    margin-left: 15px;
  }
  .cooperate_sns .sns_label {
    border: 1px solid #fff;
    padding: 5px 10px;
    width: 220px;
  }
  .cooperate_sns .list_sns {
    justify-content: flex-start;
  }
  .cooperate_spot_info {
    font-size: 1.5rem;
    letter-spacing: 0;
    padding: 0 38px;
  }
  .cooperate_spot_title {
    letter-spacing: -.06em;
    padding: 10px 12px;
    width: 156px;
  }
  .cooperate_spot_item {
    max-width: 500px;
  }
  .cooperate_spot_item_info {
    font-weight: 600;
    margin-top: -4px;
  }
  .cooperate_spot_item_info li {
    display: inline-block;
    margin: 4px 0 0 18px;
  }
  .cooperate_spot_item_info .web {
    width: 100%;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .cooperate_btn_block .info_btn a:hover {
    background: -webkit-linear-gradient(top, #71ba2d 0%, #7bba27 25%, #24572d 50%, #419438 80%, #7bba27 100%);
    background: linear-gradient(to bottom, #71ba2d 0%, #7bba27 25%, #24572d 50%, #419438 80%, #7bba27 100%);
  }
}

@media (max-width: 767px) {
  .box_cooperate {
    background: #261913;
    padding: 20px 15px;
  }
  .cooperate_info_block_wrap {
    padding: 4px;
  }
  .cooperate_info_block.block02 {
    margin-top: 20px;
  }
  .cooperate_info_block .cooperate_info_inner {
    padding: 0 15px;
  }
  .cooperate_title {
    color: #ddb362;
    font-size: 2.2rem;
    font-weight: 600;
    text-align: center;
    width: 100%;
  }
  .cooperate_title .cooperate_title_inner {
    background: #3b302a;
    display: inline-block;
    padding: 0 10px;
    z-index: 2;
  }
  .cooperate_spot_info {
    flex-wrap: wrap;
    font-size: 1.6rem;
    margin-top: 15px;
    padding: 0 20px 20px;
  }
  .cooperate_spot_title {
    letter-spacing: 0;
    margin-right: 20px;
    padding: 6px 10px;
  }
  .cooperate_spot_item {
    margin-top: 10px;
  }
  .cooperate_spot_item_info .address,
  .cooperate_spot_item_info .tell {
    padding-left: 2.5em;
    text-indent: -2.5em;
  }
  .cooperate_image {
    margin-top: 15px;
    width: 100%;
  }
  .cooperate_image_inner {
    flex-wrap: wrap;
  }
  .cooperate_image_item {
    text-align: center;
    width: 100%;
  }
  .cooperate_image_item:nth-child(n+2) {
    margin-top: 20px;
  }
  .cooperate_text {
    margin-top: 15px;
  }
  .cooperate_btn_block {
    margin-top: 10px;
  }
  .cooperate_btn_block .info_btn {
    margin: 10px auto 0;
    width: 70%;
  }
  .cooperate_btn_block .info_btn a {
    background: linear-gradient(to bottom, #fff2f2 0%, #ffd9d9 100%);
    border: 1px solid #c92121;
    border-radius: 4px;
    box-shadow: none;
    box-shadow: none;
    color: #c92121;
    font-weight: normal;
    padding: 8px 12px;
  }
  .cooperate_btn_block .info_btn a::after {
    border: none;
    border-bottom: 2px solid #c92121;
    border-right: 2px solid #c92121;
    height: 10px;
    right: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    width: 10px;
  }
  .cooperate_sns {
    margin: 15px auto 0;
  }
  .cooperate_sns .list_sns {
    justify-content: center;
  }
}

/* -- museum_intro_block -- */
.museum_bnr_block .caption01 {
  color: #fff;
}

.museum_intro_block .museum_bnr_block.block01 {
  max-width: 496px;
}

.museum_intro_block .museum_bnr_block.block01 li:nth-child(n+2) {
  margin-top: 20px;
}

.museum_intro_block .museum_bnr_block.block01 .bg_roll.bnr_01::after {
  padding-top: 26%;
}

.museum_intro_block .museum_bnr_block.block01 .bg_roll.bnr_02::after {
  padding-top: 18%;
}

.museum_intro_block .museum_bnr img {
  border-radius: 0;
  box-shadow: none;
}

@media (min-width: 768px) {
  .museum_bnr_block .caption01 {
    letter-spacing: .07em;
  }
  .museum_bnr_block .caption02 {
    padding: 0 20px;
    text-align: left;
  }
  .museum_intro_block .list_box li {
    box-shadow: 0 0 5px 0 #b1b1b1;
  }
  .museum_intro_block .list_box .distance .distance_info {
    line-height: 1.5625;
  }
  .museum_intro_block .spot_box {
    margin-top: 80px;
  }
  .museum_intro_block .spot_box .spot_title {
    font-size: 1.8rem;
  }
  .museum_intro_block .spot_box .spot_info {
    padding: 23px 40px 34px;
  }
  .museum_intro_block .relate_box .list_relate {
    padding-left: 0;
  }
  .museum_intro_block .relate_box .list_relate li {
    margin-top: 12px;
    padding-left: 20px;
  }
  .museum_intro_block .museum_bnr_block {
    margin-top: 46px;
  }
}

@media (max-width: 767px) {
  .museum_intro_block .spot_box .spot_info {
    padding: 20px 15px;
  }
  .museum_intro_block .museum_bnr_block {
    margin-top: 20px;
  }
  .museum_intro_block .block_sns .list_sns li {
    margin-left: 2vw;
  }
  .museum_bnr_block .caption02 {
    padding: 0;
    text-align: left;
  }
}

/* -- other_spot_area -- */
.other_spot_area {
  margin: 0 auto;
  max-width: 996px;
}

.other_spot_lead {
  margin: 0 auto;
}

@media (min-width: 768px) {
  .other_spot_area {
    background: url("/special-contents/okazaki-castle/image/bg-spot-paper-rep.png") 0 0;
    background-size: contain;
    padding-top: 40px;
  }
  .other_spot_section_wrap {
    margin-top: 18px;
  }
  .other_spot_lead {
    letter-spacing: -.01em;
    line-height: 1.65625;
    max-width: 800px;
    text-align: center;
  }
}

@media (max-width: 767px) {
  .other_spot_section_wrap {
    padding: 15px 20px 0;
  }
  .other_spot_lead {
    text-align: justify;
  }
}

/* -- other_spot_block -- */
.other_spot_block .section_txt {
  letter-spacing: .08em;
  line-height: 1.6667;
  padding: 0 35px;
}

.other_spot_block .section_image_block {
  display: flex;
  font-size: 0;
  justify-content: space-between;
}

.other_spot_block .section_image_block img {
  width: 100%;
}

.other_spot_block .museum_bnr_block {
  margin: 0 auto;
  max-width: 730px;
  width: 100%;
}

.bnr_section_block + .museum_bnr_block {
  margin: 0 auto;
}

@media (min-width: 768px) {
  .other_spot_block {
    margin-top: 40px;
    padding: 0 38px 37px;
  }
  .other_spot_block .other_section_inner {
    margin-top: 80px;
  }
  .other_spot_block .section_image_block .item:not(:first-child) {
    margin-left: 10px;
  }
  .block_sns .list_sns .list_sns_mail a {
    padding: 4px 0 4px 24px;
  }
  .bnr_section_block {
    padding: 50px 36px 98px;
  }
  .bnr_section_block .bnr_section_inner {
    margin: 48px auto 0;
  }
  .bnr_section_block + .museum_bnr_block {
    background: #fff;
    padding: 80px 0 0;
  }
  .bnr_section_block + .museum_bnr_block .museum_bnr {
    margin: 0 auto;
    width: 630px;
  }
  .other_spot_block .museum_bnr_block {
    margin-top: 50px;
  }
  .other_spot_block .museum_bnr_block .bg_roll::after {
    padding-bottom: 13.6986%;
  }
  .box__links__content .bnr_item:nth-child(n+4) {
    margin-top: 18px;
  }
}

@media (max-width: 767px) {
  .other_spot_block {
    margin-top: 20px;
  }
  .other_spot_block .other_section_inner {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
  }
  .other_spot_block .section_txt {
    letter-spacing: .08em;
    line-height: 1.4286;
    margin-top: 15px;
    order: 2;
    padding: 0;
  }
  .other_spot_block .section_image_block {
    margin-top: 0;
    order: 1;
  }
  .other_spot_block .section_image_block .item:not(:first-child) {
    margin-left: 2vw;
  }
  .other_spot_block .museum_bnr_block {
    margin-top: 15px;
    max-width: 600px;
    order: 3;
    width: 90%;
  }
  .bnr_section_block {
    background: none;
    border: 1px solid #c92121;
    margin-top: 20px;
    padding: 0;
  }
  .bnr_section_block .bnr_section_inner {
    margin-top: 0;
    padding: 20px;
    width: 100%;
  }
  .bnr_section_block + .museum_bnr_block {
    margin-top: 35px;
    width: 90%;
  }
  .bnr_section_block + .museum_bnr_block .caption {
    margin: 6px auto 0;
    max-width: 600px;
    text-align: left;
  }
}

/* -- relational_museum_block -- */
.relational_museum_block,
.relational_museum_block_inner {
  margin: 0 auto;
  position: relative;
}

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

.relational_museum_title {
  color: #000;
  display: flex;
  flex-wrap: wrap;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.2;
  position: relative;
}

.relational_museum_title .name {
  display: inline-block;
  line-height: 1.4;
}

.relational_museum_title .title_sub {
  display: inline-block;
  line-height: 1.4;
}

.relational_museum_title .area {
  background: url("/special-contents/okazaki-castle/image/bg-spot-label-sector.png") 0 0 no-repeat;
  color: #000;
  padding: 20px 30px 25px;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.museum_box {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}

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

.museum_image_box .image {
  font-size: 0;
}

.museum_image_box .image img {
  width: 100%;
}

.museum_image_box .image_caption {
  letter-spacing: 0;
  text-align: right;
}

.museum_info_box .address,
.museum_info_box .tell {
  padding-left: 3.8em;
  text-indent: -3.8em;
}

.museum_info_box .caution {
  padding-left: 1em;
  text-indent: -1em;
}

.museum_info_box .web {
  padding-left: 0;
  text-indent: 0;
}

.museum_info_box .web .web_inner {
  display: inline-block;
  letter-spacing: .38em;
}

.museum_info_box .link_title {
  font-weight: normal;
}

.museum_image_box .image_box_inner {
  display: flex;
  flex-wrap: wrap;
}

.museum_info_text {
  font-weight: 600;
}

.museum_info_btn a {
  display: block;
  position: relative;
  text-align: center;
}

.museum_info_btn a::after {
  content: "";
  display: block;
  position: absolute;
}

.museum_sns .block_sns {
  display: flex;
  letter-spacing: 0;
}

.museum_sns .block_sns .list_sns {
  flex-wrap: wrap;
  justify-content: space-around;
}

@media (min-width: 768px) {
  .relational_museum_block {
    background: rgba(255, 255, 255, .8);
    border-right: 4px solid #cc8c09;
    max-width: 842px;
    width: 100%;
  }
  .relational_museum_block:not(:first-child) {
    margin-top: 40px;
  }
  .relational_museum_block:nth-child(5) .section_text02 {
    letter-spacing: -.01em;
  }
  .relational_museum_block::before {
    background: -webkit-linear-gradient(left, #cc8c09 0%, #e1b44f 23%, #f3d88c 50%, #edcd79 77%, #cc8c09 100%);
    background: linear-gradient(to right, #cc8c09 0%, #e1b44f 23%, #f3d88c 50%, #edcd79 77%, #cc8c09 100%);
    height: 4px;
    left: 0;
    top: -4px;
    width: calc(100% + 4px);
  }
  .relational_museum_block::after {
    background: -webkit-linear-gradient(top, #cc8c09 0%, #deb047 100%);
    background: linear-gradient(to bottom, #cc8c09 0%, #deb047 100%);
    height: calc(100% + 4px);
    left: -4px;
    top: -4px;
    width: 4px;
  }
  .relational_museum_block_inner::before {
    background: -webkit-linear-gradient(left, #deb047 0%, #e8c368 19%, #f6de97 41%, #e0b24b 57%, #cc8c09 100%);
    background: linear-gradient(to right, #deb047 0%, #e8c368 19%, #f6de97 41%, #e0b24b 57%, #cc8c09 100%);
    height: 4px;
    bottom: 0;
    right: 0;
    width: 100%;
  }
  .relational_museum_block_inner::after {
    background: rgba(204, 140, 9, .8);
    height: 100%;
    bottom: 0;
    right: -8px;
    width: 4px;
  }
  .relational_museum_title {
    align-items: center;
    background: url("/special-contents/okazaki-castle/image/bg-spot-ttl.png") 0 0 no-repeat;
    font-size: 3.6rem;
    min-height: 100px;
    overflow: hidden;
    padding: 30px 150px 20px 53px;
  }
  .museum_box {
    justify-content: space-between;
    padding: 33px 50px 40px;
  }
  .museum_box::before {
    background: #d3a040;
    height: calc(100% - 4px);
    left: 0;
    top: 0;
    width: 3px;
  }
  .museum_box::after {
    background: rgba(204, 140, 9, .8);
    height: 4px;
    bottom: -4px;
    left: 0;
    width: calc(100% + 8px);
  }
  .museum_box .museum_box_inner {
    max-width: 390px;
    order: 1;
    width: 52.8455%;
  }
  .museum_title {
    line-height: 1.2;
  }
  .museum_title.museum_title_adjust {
    letter-spacing: .02em;
  }
  .museum_image_box {
    max-width: 305px;
    order: 2;
    width: 41.3279%;
  }
  .museum_image_box.museum_image_box_movie {
    order: 4;
  }
  .museum_info_box.line1 .address,
  .museum_info_box.line1 .tell {
    padding-left: 3.9em;
    text-indent: -3.9em;
  }
  .museum_info_box .web a {
    letter-spacing: -.012em;
  }
  .museum_image_box .image:not(:first-child) {
    margin-top: 12px;
  }
  .museum_movie_thumb.bg_roll::after {
    padding-bottom: 75.082%;
  }
  .museum_info {
    margin-top: 12px;
  }
  .museum_info .museum_info_inner {
    margin-top: 30px;
  }
  .museum_info_box {
    border-bottom: 1px solid #a48c76;
    border-top: 1px solid #a48c76;
    color: #603813;
    font-size: 1.5rem;
    padding: 10px 0;
  }
  .museum_info_box a {
    color: #603813;
  }
  .museum_info_text {
    font-size: 1.6rem;
    letter-spacing: .02em;
    margin-top: 18px;
    text-align: center;
  }
  .museum_info_btn {
    margin: 13px auto 0;
    max-width: 210px;
  }
  .museum_info_btn a {
    background: #603813;
    border-radius: 8px;
    box-shadow: 4px 4px 4px #afafaf;
    color: #fff;
    font-size: 2rem;
    font-weight: 600;
    padding: 12px 30px 12px 10px;
  }
  .museum_info_btn a:hover {
    color: #fff;
    opacity: .8;
  }
  .museum_info_btn a::after {
    border-color: transparent transparent transparent #fff;
    border-style: solid;
    border-width: 7px 0 7px 9px;
    height: 0;
    right: 20px;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    width: 0;
  }
  .museum_info_detail_box {
    max-width: 390px;
    order: 3;
    width: 52.8455%;
  }
  .museum_sns {
    margin-top: 30px;
    order: 3;
    width: 90%;
  }
  .museum_sns.museum_sns_type02 {
    order: 5;
  }
  .museum_sns .sns_label {
    background: #fff;
    border: 1px solid #603813;
    color: #603813;
    padding: 5px 8px;
    width: 240px;
  }
  .museum_sns .block_sns .list_sns {
    padding-left: 10px;
  }
  .relational_museum_title .title_sub {
    font-size: 2.7rem;
  }
  .relational_museum_title .area {
    font-family: "ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","游明朝体","游明朝","Yu Mincho",YuMincho,"ＭＳ Ｐ明朝","HG明朝E","ryo-display-plusn",serif;
    font-size: 2rem;
  }
  .museum_box .museum_title {
    font-size: 2rem;
  }
  .museum_image_box .image_box_inner {
    justify-content: flex-end;
  }
  .museum_image_box .image_caption {
    font-size: 1.1rem;
    margin-top: 4px;
  }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
  .museum_info_btn a:hover {
    opacity: 1;
  }
}

@media (min-width: 901px) {
  .museum_info_detail_box {
    margin-top: -11%;
  }
}

@media (min-width: 880px) and (max-width: 900px) {
  .museum_info_detail_box {
    margin-top: -9%;
  }
}

@media (min-width: 860px) and (max-width: 879px) {
  .museum_info_detail_box {
    margin-top: -7%;
  }
}

@media (min-width: 840px) and (max-width: 859px) {
  .museum_info_detail_box {
    margin-top: -3%;
  }
}

@media (min-width: 768px) and (max-width: 839px) {
  .museum_info_detail_box {
    margin-top: 0;
  }
}

@media (min-width: 810px) {
  .museum_image_box.museum_image_box_movie {
    margin-top: 12px;
  }
}

@media (min-width: 795px) and (max-width: 809px) {
  .museum_image_box.museum_image_box_movie {
    margin-top: 0;
  }
}

@media (min-width: 790px) and (max-width: 794px) {
  .museum_image_box.museum_image_box_movie {
    margin-top: -.5%;
  }
}

@media (min-width: 785px) and (max-width: 789px) {
  .museum_image_box.museum_image_box_movie {
    margin-top: -1%;
  }
}

@media (min-width: 772px) and (max-width: 784px) {
  .museum_image_box.museum_image_box_movie {
    margin-top: -2%;
  }
}

@media (min-width: 768px) and (max-width: 771px) {
  .museum_image_box.museum_image_box_movie {
    margin-top: -3%;
  }
}

@media (max-width: 767px) {
  .relational_museum_block {
    border-bottom: 1px dashed #c92121;
    padding: 0 0 30px;
    word-break: break-all;
  }
  .relational_museum_block:not(:first-child) {
    margin-top: 30px;
  }
  .relational_museum_block:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
  }
  .relational_museum_title {
    background: none;
    border-left: 5px solid #c92121;
    color: #000;
    font-size: 1.8rem;
    letter-spacing: .1em;
    line-height: 1.25;
    padding: .25rem 0 .25rem 10px;
  }
  .relational_museum_title.title_ruby {
    padding-top: 1.5rem;
  }
  .relational_museum_title .title_sub {
    display: inline-block;
    font-size: 1.8rem;
  }
  .relational_museum_title .area {
    background: none;
    color: #000;
    display: inline-block;
    font-family: "Hiragino Sans", ヒラギノ角ゴシック, "Hiragino Kaku Gothic ProN", 游ゴシック体, "YuGothic", "ＭＳ Ｐゴシック", "MS PGothic",メイリオ, Osaka, sans-serif;
    font-size: 1.8rem;
    letter-spacing: 0;
    margin-left: 20px;
    padding: 0;
    position: relative;
    right: auto;
    top: auto;
    -webkit-transform: none;
    transform: none;
  }
  .relational_museum_title .area::before {
    content: "[";
    position: absolute;
    left: -10px;
  }
  .relational_museum_title .area::after {
    content: "]";
    position: absolute;
    right: -10px;
  }
  .museum_box {
    margin-top: 15px;
  }
  .museum_box .section_txt {
    line-height: 1.4286;
    padding-left: 0;
  }
  .museum_box .museum_title {
    margin-top: 15px;
    padding: 0;
  }
  .museum_box .museum_info {
    margin-top: 10px;
    padding: 0;
  }
  .museum_box .museum_info .museum_info_inner {
    margin: 15px auto 0;
    width: 90%;
  }
  .museum_box .info_box {
    border: none;
    padding: 0;
    width: 100%;
  }
  .museum_info_box.line1 .address,
  .museum_info_box.line1 .tell {
    padding-left: 0;
    text-indent: 0;
  }
  .museum_info_box .web a {
    display: inline-block;
    letter-spacing: 0;
  }
  .museum_info_box .caution {
    margin-top: 4px;
  }
  .museum_info_detail_box {
    margin: 15px auto 0;
    width: 90%;
  }
  .museum_info_detail_box .museum_info_text {
    margin-top: 0;
  }
  .museum_info_text {
    margin-top: 10px;
  }
  .museum_info_btn {
    margin: 20px auto 0;
    width: 70%;
  }
  .museum_info_btn a {
    background: linear-gradient(to bottom, #fff2f2 0%, #ffd9d9 100%);
    border: 1px solid #c92121;
    border-radius: 4px;
    box-shadow: none;
    box-shadow: none;
    color: #c92121;
    font-weight: normal;
    padding: 8px 12px;
  }
  .museum_info_btn a::after {
    border: none;
    border-bottom: 2px solid #c92121;
    border-right: 2px solid #c92121;
    height: 10px;
    right: 12px;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    width: 10px;
  }
  .museum_image_box {
    margin-top: 0;
    width: 100%;
  }
  .museum_image_box.museum_image_box_movie {
    margin-top: 20px;
  }
  .museum_image_box .image_box_inner {
    justify-content: space-between;
  }
  .museum_image_box .image_box_inner .image {
    text-align: center;
    width: 49.254%;
  }
  .museum_image_box .image_box_inner .image.image_col1 {
    width: 100%;
  }
  .museum_image_box.box_image_adj01 .image_box_inner .image01 {
    width: 50%;
  }
  .museum_image_box.box_image_adj01 .image_box_inner .image02 {
    width: 48.3%;
  }
  .museum_image_box .image_caption {
    font-size: 1.5rem;
    margin-top: 4px;
    width: 100%;
  }
  .museum_sns {
    margin-top: 15px;
    width: 100%;
  }
  .museum_sns .block_sns {
    flex-wrap: wrap;
  }
  .museum_sns .list_sns li {
    margin-left: 4vw;
  }
  .museum_sns .list_sns li:first-child {
    margin-left: 0;
  }
  .museum_sns .list_sns .list_sns_mail {
    margin-left: 0;
  }
  .museum_sns .block_sns .list_sns {
    justify-content: center;
  }
}

/* -- box_seo -- */
@media (min-width: 768px) {
  .box_seo .seo_frame::before,
  .box_seo .seo_frame::after {
    background-size: contain;
    max-width: 773px;
    width: 100%;
  }
}

/* リンクボタン 共通 */
.intro_button .cmn_link_btn {
  width: 280px;
}

.intro_button .cmn_link_btn_text {
  font-weight: normal;
}

@media (max-width: 767px) {
  .intro_button .cmn_link_btn {
    width: 270px;
  }
  .intro_button .cmn_link_btn_text {
    font-size: 16px;
  }
}

/* コンテンツバナー 背景 */
.bnr_contents_block {
  background: #fff;
}

/* ------------------------------------ */
/* ▼ bnr_contents_block */
/* ------------------------------------ */
/* 共通上書き */
.box__links__content .box__links__content_inner .box__links__item {
  background: none;
}

@media screen and (max-width: 767px) {
  .bnr_contents_block {
    max-width: calc(100% - 18px);
    width: 100%;
  }
}