@charset "UTF-8";
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #010101;
  counter-reset: number 0; /* カウンタ0にセット */
}

/* Chromeで画像がぼけるのを防止 */
@media  {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}
img {
  width: 100%;
  height: auto;
}

.gifu-do-nobunaga__allwrap {
  width: 100%;
}

/* メインコンテンツ */
.gifu-do-nobunaga__main--wrap {
  width: 100%;
  margin: 0 auto;
  background-color: #fefefe;
}

@media (min-width: 769px) {
  .gifu-do-nobunaga__main--wrap {
    width: 600px;
  }
}
.gifu-do-nobunaga__scroll-point {
  background-color: #fefefe;
  display: block;
}

.gifu-do-nobunaga__scroll-point.color-y {
  background-color: #ebc900;
}

.gifu-do-nobunaga__scroll-point.color-g {
  background-color: #efe6b2;
}

.p-4-5 {
  padding: 4% 0 5%;
}

/* 大見出し */
.title-header {
  width: 100%;
  padding: 4%;
}
.title-header .maintitle {
  text-align: center;
  font-weight: 700;
  font-size: clamp(18px, 7vw, 42px);
  letter-spacing: 0.1em;
  color: #6b1685;
  line-height: 1.5;
  padding-top: 2rem;
  margin-bottom: 3%;
}
@media (min-width: 769px) {
  .title-header .maintitle {
    font-size: 42px;
  }
}
.title-header .title-border {
  width: 20%;
  margin: 0 auto;
  border: solid 2px #6b1685;
  border-radius: 9999px;
}

/* リード */
.read {
  margin: 5% auto;
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
  font-size: clamp(14px, 4vw, 24px);
}
@media (min-width: 769px) {
  .read {
    font-size: 20px;
  }
}

.read h3 {
  font-weight: 700;
  font-size: clamp(18px, 5vw, 32px);
}
@media (min-width: 769px) {
  .read h3 {
    font-size: 30px;
  }
}

.read p {
  padding-bottom: 2%;
}

.notes_title {
  font-weight: 500;
  font-size: clamp(16px, 4vw, 26px);
  text-align: center;
  color: #6b1685;
  margin-bottom: 2%;
}
@media (min-width: 769px) {
  .notes_title {
    font-size: 24px;
  }
}

.notes_text {
  font-weight: 400;
  font-size: clamp(14px, 3vw, 18px);
  text-align: justify;
  margin-bottom: 2%;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .notes_text {
    font-size: 18px;
  }
}

.notes_text span {
  font-weight: 500;
  font-size: clamp(15px, 3.5vw, 20px);
  text-align: justify;
  margin-bottom: 2%;
  line-height: 1.8;
  background: linear-gradient(transparent 50%, #f5f1ae 0%);
}

.notes_list {
  font-weight: 400;
  font-size: clamp(14px, 3vw, 18px);
  text-align: justify;
  margin-bottom: 2%;
  line-height: 1.3;
  text-indent: -20px;
  padding-left: 20px;
}
@media (min-width: 769px) {
  .notes_list {
    font-size: 18px;
  }
}

.notes_list li {
  margin-bottom: 0.3rem;
}

.notes_list li:before {
  content: "●";
  color: #c59ac5;
  margin-right: 6px;
  font-size: 14px;
}

.btn-big {
  position: relative;
  font-size: clamp(22px, 7vw, 42px);
  padding: 1.5% 10% 1.5% 8%;
  font-weight: 800;
  letter-spacing: 0.05em;
}
@media (min-width: 769px) {
  .btn-big {
    font-size: 42px;
  }
}

.btn-big {
  /*矢印の基点とするためrelativeを指定*/
  position: relative;
  width: 93%;
  height: 15vw;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background-color: #6b1685;
  color: #fefefe;
  box-shadow: 2px 3px 10px 0px rgba(0, 0, 0, 0.12);
  border-radius: 9999px;
  border: 0.8vw solid #fefefe;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  transition: ease 0.2s;
}
@media (min-width: 769px) {
  .btn-big {
    border: 5px solid #fefefe;
    height: 94px;
  }
}

.btn-big a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
}

.btn-main {
  position: relative;
  font-size: clamp(10px, 4.5vw, 42px);
  padding: 2% 10% 2% 8%;
  font-weight: 800;
  letter-spacing: 0.05em;
}
@media (min-width: 769px) {
  .btn-main {
    font-size: 27px;
  }
}

.btn-main {
  /*矢印の基点とするためrelativeを指定*/
  position: relative;
  width: 93%;
  height: 10vw;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background-color: #6b1685;
  color: #fefefe;
  box-shadow: 2px 3px 10px 0px rgba(0, 0, 0, 0.12);
  border-radius: 9999px;
  border: 0.65vw solid #fefefe;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  transition: ease 0.2s;
}
@media (min-width: 769px) {
  .btn-main {
    border: 4px solid #fefefe;
    height: 64px;
  }
}

.btn-main a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
}

.btn-big:hover {
  background: #010101;
}

/* 矢印が右に移動 */
.btnarrow1::after {
  content: "";
  /*絶対配置で矢印の位置を決める*/
  position: absolute;
  top: 38%;
  right: 7%;
  /*矢印の形状*/
  width: 2vw;
  height: 2vw;
  border-top: 0.5vw solid #ebc900;
  border-right: 0.5vw solid #ebc900;
  transform: rotate(45deg);
  /*アニメーションの指定*/
  transition: all 0.3s;
}
@media (min-width: 769px) {
  .btnarrow1::after {
    width: 17px;
    height: 17px;
    border-top: 3px solid #ebc900;
    border-right: 3px solid #ebc900;
  }
}

/*hoverした際の移動*/
.btnarrow1:hover::after {
  right: 14px;
}

.btn-nomal {
  font-size: clamp(10px, 4vw, 38px);
  padding: 2% 8% 2% 6%;
  font-weight: 500;
  letter-spacing: 0.05em;
}
@media (min-width: 769px) {
  .btn-nomal {
    font-size: 24px;
  }
}

.btn-nomal {
  /*矢印の基点とするためrelativeを指定*/
  position: relative;
  width: 60%;
  height: 10vw;
  /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background-color: #fefefe;
  color: #6b1685;
  box-shadow: 2px 3px 10px 0px rgba(0, 0, 0, 0.12);
  border-radius: 9999px;
  border: 0.6vw solid #6b1685;
  text-align: center;
  outline: none;
  /*アニメーションの指定*/
  transition: ease 0.2s;
}
@media (min-width: 769px) {
  .btn-nomal {
    border: 3.5px solid #6b1685;
    height: 60px;
  }
}

.btn-nomal a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-decoration: none;
  position: absolute;
  top: 0;
  left: 0;
}

.btn-nomal:hover {
  background: #ebc900;
}

/* 矢印が右に移動 */
.btnarrow2::after {
  content: "";
  /*絶対配置で矢印の位置を決める*/
  position: absolute;
  top: 38%;
  right: 20px;
  /*矢印の形状*/
  width: 2vw;
  height: 2vw;
  border-top: 2px solid #6b1685;
  border-right: 2px solid #6b1685;
  transform: rotate(45deg);
  /*アニメーションの指定*/
  transition: all 0.3s;
}
@media (min-width: 769px) {
  .btnarrow2::after {
    width: 14px;
    height: 14px;
  }
}

/*hoverした際の移動*/
.btnarrow2:hover::after {
  right: 14px;
}

.btn_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2%;
  margin: 2% 0;
}

.heartbeat {
  animation: heartbeat 1.5s ease-in-out infinite both;
}

/**
* ----------------------------------------
* animation heartbeat
* ----------------------------------------
*/
@keyframes heartbeat {
  from {
    transform: scale(1);
    transform-origin: center center;
    animation-timing-function: ease-out;
  }
  10% {
    transform: scale(0.91);
    animation-timing-function: ease-in;
  }
  17% {
    transform: scale(0.98);
    animation-timing-function: ease-out;
  }
  33% {
    transform: scale(0.87);
    animation-timing-function: ease-in;
  }
  45% {
    transform: scale(1);
    animation-timing-function: ease-out;
  }
}
.yurayura {
  transform-origin: center bottom;
  animation: yurayura 2s linear infinite;
}

@keyframes yurayura {
  0%, 100% {
    transform: rotate(10deg);
  }
  50% {
    transform: rotate(-10deg);
  }
}
/*
=====================
メインビジュアル
======================== */
.gifu-do-nobunaga__mainvisual {
  background-color: #d891db;
}

.maintitle_top {
  position: relative;
}

/* リード文 */
.main_read {
  position: absolute;
  z-index: 50;
  width: 52%;
  top: 2%;
  left: 4%;
  filter: drop-shadow(0px 0px 8px rgb(255, 255, 255));
}

.main_nj-nav {
  position: absolute;
  z-index: 50;
  width: 23%;
  right: 17%;
  top: 1%;
}

/*
	=======================
	メインタイトル周り
	======================= */
.main_title {
  position: absolute;
  z-index: 20;
  left: 1%;
  top: 1%;
  width: 98%;
}

.maintitle_nobunaga {
  position: absolute;
  z-index: 50;
  left: 1%;
  top: 33%;
  width: 15%;
}

.mainmaintitle_ieyasu {
  position: absolute;
  z-index: 50;
  right: 3%;
  top: 45%;
  width: 17%;
}

.main_nobunaga {
  position: absolute;
  z-index: 50;
  left: 1%;
  bottom: 14%;
  width: 17%;
}

/*
	=======================
	スマホ参加
	======================= */
.join_free__wrap {
  position: absolute;
  z-index: 50;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 14%;
}

.join-phone {
  font-size: clamp(14px, 5vw, 36px);
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 2%;
  color: #010101;
  font-weight: 700;
  background-color: #fefefe;
}
@media (min-width: 769px) {
  .join-phone {
    font-size: 30px;
  }
}

.join-phone h2 {
  font-size: clamp(14px, 5vw, 38px);
}
@media (min-width: 769px) {
  .join-phone h2 {
    font-size: 30px;
  }
}

.img_sp_wrap {
  width: 8%;
  height: 8%;
  display: flex;
  align-items: center;
  margin-right: 1%;
}

/*
	=======================
	日付
	======================= */
.join_day__wrap {
  position: relative;
  z-index: 20;
  background-color: #ebc900;
  padding: 0.5rem 1rem;
}

.main_day {
  width: 100%;
}

/* 参加無料アイコン */
.icon_muryo {
  position: absolute;
  z-index: 100;
  width: 25%;
  bottom: 95%;
  right: 2%;
}

/* 大見出し */
.title-header-sec01 {
  width: 100%;
  padding: 4%;
}
.title-header-sec01 .maintitle {
  text-align: center;
  font-weight: 700;
  font-size: clamp(16px, 6vw, 32px);
  letter-spacing: 0.1em;
  color: #6b1685;
  line-height: 1.5;
  padding-top: 2rem;
  margin-bottom: 3%;
}
@media (min-width: 769px) {
  .title-header-sec01 .maintitle {
    font-size: 32px;
  }
}
.title-header-sec01 .title-border {
  width: 20%;
  margin: 0 auto;
  border: solid 2px #6b1685;
  border-radius: 9999px;
}

.sec1-01wrap {
  position: relative;
  width: 100%;
}

.sec1-0bg {
  width: 100%;
}

.read_njdo01 {
  position: absolute;
  z-index: 50;
  width: 12%;
  right: 8%;
  top: 10%;
}

.read_njdo02 {
  position: absolute;
  z-index: 50;
  width: 12%;
  left: 8%;
  top: 20%;
}

.read_njdo03 {
  position: absolute;
  z-index: 50;
  width: 16%;
  right: 30%;
  bottom: 38%;
}

.read_nj01 {
  position: absolute;
  width: 46%;
  right: 3%;
  top: 5%;
}

.read_nj02 {
  position: absolute;
  width: 43%;
  left: 3%;
  top: 20%;
}

.read_nj03 {
  position: absolute;
  width: 46%;
  right: 16%;
  bottom: 0;
}

.sec1-02wrap {
  width: 100%;
}

.il_sec1-fotter {
  width: 100%;
}

.sec2-01wrap {
  position: relative;
  width: 100%;
  background-image: url(../images/sec02-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

.sec02-ilsp {
  position: absolute;
  z-index: 10;
  top: 5%;
  left: -5%;
  width: 35%;
}

/* カード
================= */
.sec02-card {
  width: 92%;
  background-color: rgba(255, 255, 255, 0.8);
  padding: 2%;
  margin: 0 auto;
  border-radius: 20px;
}

.sec02-card_title-header {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  gap: 3%;
  padding: 1%;
}

.sec02-card_num {
  width: 10%;
  height: 10%;
  color: #fefefe;
  background-color: #ebca00;
  font-weight: 700;
  font-size: clamp(18px, 5vw, 32px);
  text-align: center;
  padding: 2% 0;
}
@media (min-width: 769px) {
  .sec02-card_num {
    font-size: 32px;
  }
}

.sec02-card_title {
  font-weight: 700;
  line-height: 1.3;
  font-size: clamp(18px, 5vw, 32px);
}
@media (min-width: 769px) {
  .sec02-card_title {
    font-size: 30px;
  }
}
.sec02-card_title span {
  font-size: clamp(14px, 4vw, 24px);
}
@media (min-width: 769px) {
  .sec02-card_title span {
    font-size: 22px;
  }
}

.sec02-card01_il {
  width: 95%;
  margin: 2% auto;
}

.sec02-card02_il {
  width: 65%;
  margin: 2% auto;
}

.sec02-arrow {
  width: 12%;
  margin: 3% auto;
}

.notes_wrap {
  padding: 5%;
}

.notes_wrap:nth-of-type(even) {
  padding: 0 5% 0 5%;
}

.link_traffic__wrap {
  padding: clamp(16px, 5vw, 42px);
}

.link_traffic {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 auto;
  width: 80%;
  height: clamp(32px, 10vw, 60px);
  background-color: #fff;
  border-radius: 9999px;
}
.link_traffic p {
  color: #6b1685;
  font-size: clamp(10px, 4.5vw, 32px);
  font-weight: 700;
  margin-right: clamp(2px, 0.5vw, 16px);
  letter-spacing: 0.05em;
}
.link_traffic img {
  width: clamp(10px, 4vw, 26px);
  height: auto;
}

.link_traffic:first-of-type {
  margin-bottom: clamp(16px, 5vw, 30px);
}

.sec4-01wrap {
  position: relative;
  width: 100%;
  background-image: url(../images/sec02-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

.sec-04-title-header {
  width: 95%;
  margin: 5% auto 3%;
}

.sec-04-item {
  width: 95%;
  margin: 0 auto 2%;
}

.notes_center {
  font-weight: 400;
  font-size: clamp(14px, 3vw, 18px);
  text-align: center;
  margin-bottom: 2%;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .notes_center {
    font-size: 18px;
  }
}

.sec5-01wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.sec5-text {
  width: 90%;
  margin: 2% auto 1%;
  font-weight: 400;
  line-height: 1.75;
  text-align: justify;
  font-size: clamp(14px, 4.25vw, 28px);
}
@media (min-width: 769px) {
  .sec5-text {
    font-size: 25.5px;
  }
}

.sec5notes_list {
  width: 90%;
  margin: 0 auto 5%;
  font-weight: 500;
  font-size: clamp(14px, 3vw, 18px);
  text-align: justify;
  margin-bottom: 2%;
  line-height: 1.3;
  text-indent: -20px;
  padding-left: 20px;
  color: #b71215;
}
@media (min-width: 769px) {
  .sec5notes_list {
    font-size: 18px;
  }
}

.sec5notes_list li {
  margin-bottom: 0.3rem;
}

.sec5notes_list li:before {
  content: "※";
  margin-right: 6px;
  font-size: 14px;
}

/* カード
================= */
.sec05-card__wrap {
  width: 90%;
  margin: 5% auto;
  border: #6b1685 0.8vw solid;
  border-radius: 20px;
  box-shadow: 14px 14px 0px -4px #6b1685;
}
@media (min-width: 769px) {
  .sec05-card__wrap {
    border: #6b1685 5px solid;
  }
}

.sec05-card_title-header {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  gap: 3%;
  padding: 1%;
}

.sec05-card_textwrap {
  width: 75%;
  margin-top: 2%;
}
.sec05-card_textwrap hr {
  margin: 3% 0;
}

.sec05-card_num {
  width: 15%;
  padding: 2% 0;
  margin-left: 2%;
}

.sec05-card_title {
  font-weight: 700;
  line-height: 1.3;
  color: #6b1685;
  font-size: clamp(22px, 7vw, 42px);
}
@media (min-width: 769px) {
  .sec05-card_title {
    font-size: 42px;
  }
}

.sec05-card_cap {
  font-weight: 500;
  font-size: clamp(12px, 3.8vw, 42px);
  text-align: justify;
  line-height: 1.3;
}
@media (min-width: 769px) {
  .sec05-card_cap {
    font-size: 22px;
  }
}

.sec-05-card_pic {
  width: 100%;
  position: relative;
  margin-top: 4%;
}

.stump_wrap {
  width: 55%;
  padding: 1.5%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2%;
  position: absolute;
  z-index: 50;
  top: -5%;
  right: 3%;
  background-color: #fefefe;
  border: 0.5vw solid #9f9f9f;
  border-radius: 8px;
}
@media (min-width: 769px) {
  .stump_wrap {
    border: 3px solid #9f9f9f;
  }
}

.stump_wrap.stump_wrap-big {
  width: 70%;
}

.stump_il {
  width: 20%;
}

.sec-05-card_infowrap {
  width: 90%;
  margin: 3% auto;
}

.info-title {
  font-weight: 500;
  font-size: clamp(14px, 4.28vw, 24px);
  text-align: justify;
  line-height: 1.3;
}
@media (min-width: 769px) {
  .info-title {
    font-size: 21px;
  }
}

.info-title::before {
  content: "●";
  color: #ebc900;
}

.info-place {
  font-weight: 700;
  font-size: clamp(16px, 6vw, 32px);
  line-height: 1.2;
  margin-bottom: 2%;
}
@media (min-width: 769px) {
  .info-place {
    font-size: 32px;
  }
}
.info-place span {
  color: #b71215;
  font-weight: 700;
  font-size: clamp(14px, 4.28vw, 24px);
  text-align: justify;
  line-height: 1.3;
}
@media (min-width: 769px) {
  .info-place span {
    font-size: 21px;
  }
}

.info-place.c-red {
  color: #b71215;
}

.info-btn {
  width: 100%;
  margin: 1% auto;
  border-radius: 9999px;
  background-color: #e5c2db;
  text-align: center;
  font-weight: 700;
  font-size: clamp(16px, 6vw, 32px);
  line-height: 1.5;
  padding: 1%;
}
@media (min-width: 769px) {
  .info-btn {
    font-size: 32px;
  }
}

.info-btn a {
  display: block;
  width: 100%;
  height: 100%;
}

.info-btn:hover {
  background-color: #ebc900;
}

.sec6-01wrap {
  position: relative;
  width: 100%;
  background-image: url(../images/sec02-bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  padding: 5% 0;
}

.sec06-title {
  width: 73%;
  margin: 0 auto;
}

.btn_cap {
  font-weight: 500;
  line-height: 1.75;
  text-align: center;
  font-size: clamp(14px, 4vw, 24px);
}
@media (min-width: 769px) {
  .btn_cap {
    font-size: 20px;
  }
}

.sec7-01wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.hint {
  margin: 0 auto;
  width: 90%;
  margin-bottom: 5%;
  border: none;
  border-radius: 25px;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.02), 0 2px 3px -2px rgba(0, 0, 0, 0.05);
  background-color: #edd7e7;
}

.hint_discription {
  background-color: #6b1685;
  color: #fefefe;
  text-align: center;
  font-weight: 500;
  font-size: clamp(14px, 3vw, 18px);
  text-align: justify;
  line-height: 1.5;
  padding: 0.1em 1em;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0.5em 1.5em;
  border-radius: 9999px;
}
@media (min-width: 769px) {
  .hint_discription {
    font-size: 18px;
  }
}

.hint_hint {
  background-color: #fefefe;
  color: #6b1685;
  text-align: center;
  font-weight: 600;
  font-size: clamp(14px, 3vw, 18px);
  text-align: justify;
  line-height: 1.5;
  padding: 0.2em 1em;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0.5em 1.5em;
  border-radius: 9999px;
  border: #6b1685 1.5px solid;
}
@media (min-width: 769px) {
  .hint_hint {
    font-size: 18px;
    border: #6b1685 2px solid;
  }
}

.hint summary {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  padding: 0.5em 1em 0.5em 2.5em;
  color: #6b1685;
  cursor: pointer;
  font-weight: 700;
  font-size: clamp(14px, 5vw, 32px);
  line-height: 1.2;
}
@media (min-width: 769px) {
  .hint summary {
    font-size: 32px;
  }
}

.hint summary span {
  font-size: clamp(12px, 3.5vw, 26px);
}
@media (min-width: 769px) {
  .hint summary span {
    font-size: 21px;
  }
}

.hint summary::before {
  background-color: #fefefe;
  color: #6b1685;
  padding: 1%;
  border-radius: 9999px;
  counter-increment: number 1; /* number カウンタの増加数をセット */
  content: counter(number) " "; /* 表示形式を指定 */
  background-color: #fefefe;
  width: 6vw;
  height: 6vw;
}
@media (min-width: 769px) {
  .hint summary::before {
    width: 36px;
    height: 36px;
  }
}

.hint summary::before,
.hint p::before {
  position: absolute;
  left: 0.8em;
  font-weight: 600;
  font-size: 0.8em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hint summary::after {
  position: absolute;
  right: 5%;
  transform: translateY(-25%) rotate(45deg);
  width: 2vw; /* 画面幅に対して2%のサイズ */
  height: 2vw; /* 画面幅に対して2%のサイズ */
  margin-left: 2.5vw; /* 画面幅に対して2.5%のマージン */
  border-bottom: 0.5vw solid #6b1685; /* 画面幅に対して0.5%のボーダー */
  border-right: 0.5vw solid #6b1685; /* 画面幅に対して0.5%のボーダー */
  content: "";
  transition: transform 0.5s;
}
@media (min-width: 769px) {
  .hint summary::after {
    width: 15px;
    height: 15px;
    margin-left: 20px;
    border-bottom: 3px solid #6b1685;
    border-right: 3px solid #6b1685;
  }
}

.hint[open] summary::after {
  transform: rotate(225deg);
}

.hint p {
  position: relative;
  transform: translateY(-10px);
  opacity: 0;
  margin: 0;
  padding: 0em 1.5em 1em;
  transition: transform 0.5s, opacity 0.5s;
}

.hint[open] p {
  transform: none;
  opacity: 1;
}

.sec7-title_wrap {
  width: 70%;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  margin-top: 6%;
}

.title-header-sec7 {
  width: 100%;
  padding-top: 3%;
}
.title-header-sec7 .maintitle {
  text-align: center;
  font-weight: 700;
  font-size: clamp(18px, 7vw, 42px);
  letter-spacing: 0.1em;
  color: #6b1685;
  line-height: 1.5;
}
@media (min-width: 769px) {
  .title-header-sec7 .maintitle {
    font-size: 42px;
  }
}
.title-header-sec7 .title-border {
  width: 20%;
  margin: 0 auto;
  border: solid 2px #6b1685;
  border-radius: 9999px;
  margin-top: 2%;
}

.sec7-il_nobunaga {
  width: 40%;
}

.sec7-il_ieyasu {
  width: 43.5%;
}

.sec8-01wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
  padding-bottom: 5%;
}

.contact_text {
  width: 90%;
  margin: 2% auto 1%;
  font-weight: 400;
  line-height: 1.3;
  text-align: justify;
  font-size: clamp(14px, 4.25vw, 28px);
}
@media (min-width: 769px) {
  .contact_text {
    font-size: 25.5px;
  }
}

.contact_text span {
  font-weight: 700;
  font-size: clamp(14px, 4.5vw, 28px);
  margin-left: -3%;
}
@media (min-width: 769px) {
  .contact_text span {
    font-size: 27px;
  }
}

.sec8notes_list {
  width: 90%;
  margin: 0 auto 5%;
  font-weight: 300;
  font-size: clamp(14px, 3vw, 18px);
  text-align: justify;
  margin-bottom: 2%;
  line-height: 1.3;
  text-indent: -20px;
  padding-left: 20px;
}
@media (min-width: 769px) {
  .sec8notes_list {
    font-size: 18px;
  }
}

.sec8notes_list li {
  margin-bottom: 0.3rem;
}

.sec8notes_list li:before {
  content: "※";
  margin-right: 6px;
  font-size: 14px;
}

@media (min-width: 600px) {
  html body {
    background: url(../images/pc_background.webp) 0 0 no-repeat;
    background-attachment: fixed;
    background-size: cover;
  }
}
/* 全体のwrap(pc表示) */
.gifu-do-nobunaga__allwrap {
  display: flex;
}

/* pcメニューとQR*/
.gifu-do-nobunaga__g-nav,
.gifu-do-nobunaga__QR {
  display: none;
}

@media (min-width: 1090px) {
  /* pcメニュー */
  .gifu-do-nobunaga__g-nav {
    font-weight: 300;
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: calc((100vw - 600px) / 2);
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: fixed;
    left: 0;
    top: 0;
  }
  .gifu-do-nobunaga__g-nav ul li {
    position: relative;
    font-size: 1.1rem;
    line-height: 2.3;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #817481;
    padding: 0 0 0 2rem;
  }
  .gifu-do-nobunaga__g-nav ul li.current a {
    color: #6b1685;
    border-bottom: 2px solid #6b1685;
    font-weight: 800;
  }
  .gifu-do-nobunaga__g-nav ul li.current a::before {
    position: absolute;
    left: -16px;
    top: 4px;
    width: 40px;
    height: 40px;
    content: "";
    display: block;
    background: url(../images/pcmenu_icon.svg) 0 0 no-repeat;
    background-size: contain;
  }
  .gifu-do-nobunaga__QR {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    height: 100vh;
    width: calc((100vw - 600px) / 2);
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: fixed;
    right: 0;
    top: 0;
    text-align: center;
    padding: 2rem 4rem 2rem 2rem;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 2;
    letter-spacing: 0.1em;
    color: #6b1685;
  }
}
@media (min-width: 1090px) and (max-width: 1300px) {
  .gifu-do-nobunaga__QR {
    padding: 1rem;
  }
}
@media (min-width: 1090px) {
  .QR_wrap {
    max-width: 160px;
    display: flex;
    gap: 1rem;
    flex-direction: column;
  }
}/*# sourceMappingURL=gifu-do-nobunaga.css.map */