@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root {
   --main-color: #9D2F3B;
   --content-width: 1080px;
}

html {
   font-size: 62.5%;
   scroll-behavior: smooth;
}

body {
   color: #000;
   font-family: "Noto Sans JP", "Open Sans", sans-serif;
   font-size: 1.6rem;
   font-weight: 400;
}

h2,
h3,
h4,
h5,
h6 {
   font-weight: bold;
   line-height: 1.3;
}

h2 {
   font-size: 3.8rem;
   font-weight: bold;
}

h3 {
   font-size: 2.4rem;
}


p,
ul,
ol,
dl {
   line-height: 1.65;
}

p+p {
   margin-top: 1.2em;
}

img {
   max-width: 100%;
   height: auto;
}

@media screen and (max-width: 768px) {
   h2 {
      font-size: 2.8rem;
   }

   h3 {
      font-size: 2.1rem;
   }
}

/* ==== layout === */
.l-wrapper {
   width: var(--content-width);
   max-width: 90%;
   margin: 0 auto;
   position: relative;
   z-index: 1;
}

.l-wrapper--s {
   width: 800px;
   max-width: 90%;
   margin: 0 auto;
   position: relative;
   z-index: 1;
}

.l-section {
   padding: 100px 0;
}

.sp-content {
   display: none;
}



@media screen and (max-width: 960px) {
   .l-section {
      padding: 80px 0;
   }
}

@media screen and (max-width: 768px) {
   .l-section {
      padding: 60px 0;
   }

   .pc-content {
      display: none;
   }

   .sp-content {
      display: block;
   }

}

/* ==== header === */
header {}

.gnavi {
   font-size: 1.4rem;
   width: 100%;
   background: #fff;
   padding: 10px 1% 0 1%;
   display: grid;
   grid-template-columns: 1fr auto 1fr;
   gap: 20px;
   position: fixed;
   top: 0;
   left: 0;
   z-index: 100;

   &::before {
      content: "";
      display: block;
      width: 100%;
      height: 30px;
      background: linear-gradient(to bottom, #fff 0, #fff 40%, transparent);
      position: absolute;
      bottom: 1px;
      left: 0;
      transform: translateY(100%);
      pointer-events: none;
   }
}

.gnavi__logo {
   display: block;
   width: 160px;
   aspect-ratio: 329/143;
   flex-shrink: 0;
   position: relative;


   /*  h1 {
      height: .5em;
      overflow: hidden;
      color: #fff;
   }*/

   .gnavi__logo_txt {
      height: .5em;
      overflow: hidden;
      color: #fff;
   }

   &::before {
      content: "";
      width: 100%;
      height: 100%;
      display: block;
      position: absolute;
      left: 0;
      top: 0;
      background: url("/soshiki_file/peace80/global/logo-main.png") no-repeat center/contain;
   }

   &:hover {
      opacity: .8;
   }
}


.gnavi__inner {
   display: flex;
   align-items: center;
}

.gnavi__group {
   border: 1px solid #BDBDBD;
   border-radius: 30px;
   padding: 5px;
   display: flex;
   align-items: center;
   margin-left: 10px;

   img {
      max-width: 45px;
   }
}

.gnavi__menu {
   display: inline-block;
   padding: 0 15px;

   &:hover {
      opacity: .8;
      text-decoration: underline;
   }
}

.lang {
   font-size: 1.2rem;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 5px;
   margin-left: 10px;

   a {
      display: inline-block;
      text-align: center;
      width: 26px;
      line-height: 24px;
      border: 1px solid #707070;
      border-radius: 50%;

      &:hover,
      &.current {
         color: #fff;
         background: #707070;
      }
   }
}



/* humberger */
.humberger {
   width: 38px;
   height: 32px;
   position: fixed;
   top: 30px;
   right: 3%;
   cursor: pointer;
   display: none;
   z-index: 120;

   span {
      display: inline-block;
      width: 100%;
      height: 5px;
      background: #000;
      position: absolute;
      left: 0;
      transition: .2s ease-in;
   }

   span:nth-child(1) {
      top: 0;
   }

   span:nth-child(2) {
      top: calc(50% - 3px);
   }

   span:nth-child(3) {
      bottom: 0;
   }

   &.close {
      span:nth-child(1) {
         transform: rotate(-45deg);
         top: calc(50% - 3px);
      }

      span:nth-child(2) {
         transform: scale(0, 1);
      }

      span:nth-child(3) {
         transform: rotate(45deg);
         top: calc(50% - 3px);
      }
   }
}

/* sp menu */
.spnavi {
   position: fixed;
   inset: 0;
   max-width: 500px;
   background: #fff;
   padding-top: 115px;
   transform: translateX(-100%);
   transition: .2s ease-in;
   z-index: 90;
   overflow-y: scroll;

   &.show {
      transform: translateX(0);
   }
}

.spnavi__top {
   font-weight: bold;
   border-top: 1px solid #707070;
   border-bottom: 1px solid #707070;
   padding: 5px 0;

   a {
      display: block;
      padding: 1em;
   }
}

.spnavi__item {
   border-bottom: 1px solid #707070;

   summary {
      display: flex;
      align-items: center;
      padding: 10px;
      padding-right: 40px;
      font-weight: bold;
      position: relative;

      &::after {
         content: "";
         display: inline-block;
         width: 8px;
         height: 8px;
         border-bottom: 2px solid #000;
         border-right: 2px solid #000;
         transform: rotate(45deg);
         position: absolute;
         right: 20px;
         top: calc(50% - 4px);
         transition: .2s;
      }
   }

   &[open] {
      summary::after {
         transform: rotate(225deg);
      }
   }
}

.spnavi__stamp {
   display: inline-block;
   width: 50px;
   aspect-ratio: 1 / 1;
   background: no-repeat center / contain;
   flex-shrink: 0;
   margin-right: 15px;
}

.spnavi__child,
.spnavi__under {
   padding: 0 15px;
}

.spnaviItem {
   font-size: 1.4rem;

   &:not(:first-child) {
      border-top: 1px solid #BDBDBD;

   }

   a {
      display: block;
      padding: 1em;
   }
}

.spnavi__under {
   margin-top: 50px;

   .fnaviItem:first-child {
      border-top: 1px solid #BDBDBD;
   }

   .fnaviItem:last-child {
      border-bottom: 1px solid #BDBDBD;
   }
}

@media screen and (max-width:1185px) {
   .gnavi__group {
      padding: 20px 5px;

      img {
         display: none;
      }
   }

   .gnavi__menu {
      padding: 0 10px;
   }
}

@media screen and (max-width:1080px) {

   .gnavi__menu,
   .gnavi__group {
      display: none;
   }

   .gnavi {
      display: flex;
      justify-content: space-between;
      padding: 10px 80px 0 3%;

      &::before {
         height: 20px;
      }
   }

   .lang {
      font-size: 1.4rem;
      flex-direction: row;
      margin: 0;

      a {
         width: 32px;
         line-height: 32px;
      }
   }

   .humberger {
      display: block;
   }
}

@media screen and (max-width: 768px) {
   .gnavi {
      padding: 10px 65px 0 3%;
   }

   .gnavi__logo {
      width: 100px;
   }

   .humberger {
      top: 18px;
   }
}

/* ==== top common === */
/* title */
.titleBox {
   margin-bottom: 40px;
   position: relative;
}

.titleBox--flex {
   display: flex;
   column-gap: 50px;
   row-gap: 20px;
   align-items: center;
   position: relative;
   margin-bottom: 40px;
}

.titleBox__stamp {
   display: inline-block;
   width: 150px;
   aspect-ratio: 1/1;
   background: no-repeat center/contain;
   position: absolute;
   left: 0;
   bottom: 0;
}

.secTitle {

   span {
      display: inline-block;
      padding: 10px 20px 12px 20px;
      position: relative;

      &::before,
      &::after {
         content: "";
         display: inline-block;
         width: 10px;
         height: 100%;
         border-top: 2px solid var(--main-color);
         border-bottom: 2px solid var(--main-color);
         position: absolute;
         top: 0;
      }

      &::before {
         left: 0;
         border-left: 2px solid var(--main-color);
      }

      &::after {
         right: 0;
         border-right: 2px solid var(--main-color);
      }
   }
}

@media screen and (max-width: 768px) {

   .titleBox--flex {
      flex-direction: column;
   }

   .secTitle {
      text-align: center;

      span {
         padding: 8px 10px 10px 10px;
      }
   }

   .titleBox__stamp {
      width: 100px;
      bottom: auto;
      top: 0;
      transform: translateY(-50%);
   }
}

/* button */
.btn-more {
   text-align: left;
   font-weight: bold;
   display: inline-block;
   width: 140px;
   background: var(--main-color);
   color: #fff;
   border-radius: 8px;
   padding: .8em 1em;
   position: relative;

   &::after {
      content: "";
      display: inline-block;
      width: 6px;
      height: 6px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(45deg);
      position: absolute;
      right: 20px;
      top: calc(50% - 4px);
   }

   &:hover {
      opacity: .8;
   }
}

/* ==== mv === */
@media screen and (max-width: 500px) {
   .mv {
      margin-top: 5vw;
   }
}

/* ==== message === */
.sec-message {
   text-align: center;
   font-size: 2.6rem;
   font-weight: bold;
}

.sec-message__inner {
   position: relative;
   padding-top: 65px;
   margin-bottom: 30px;
}

.sec-message__deco {
   display: inline-block;
   width: 18%;
   min-width: 150px;
   aspect-ratio: 3/4;
   background: no-repeat center/contain;
   position: absolute;
   top: 0;
   transform: translateY(-35%);

   &.deco01 {
      left: -20px;
   }

   &.deco02 {
      right: -20px;
   }
}

.sec-message__content {
   position: relative;
   z-index: 1;
}

@media screen and (max-width: 960px) {
   .sec-message {
      font-size: 1.8rem;
   }

   .sec-message__deco {
      width: 30%;
      max-width: 150px;
      min-width: auto;
      transform: translateY(-25%);
   }

   .sec-message__content {
      width: 78%;
      max-width: 480px;
      margin: 0 auto;
   }
}

/* ==== news === */
.sec-news {

   .secTitle {
      text-align: center;
   }
}

.newsItem {
   border: 1px solid #BDBDBD;
   border-radius: 10px;
   padding: 1.2em 2em;
   display: flex;
   align-items: center;
   justify-content: space-between;
   column-gap: 20px;

   &:not(:first-child) {
      margin-top: 10px;
   }
}

.newsItem__ttl {
   font-size: 1.8rem;

   &:hover {
      color: var(--main-color);
      text-decoration: underline;
   }
}

.newsItem__date {
   width: 120px;
   flex-shrink: 0;
   font-size: 1.4rem;
}

.newsBtn {
   text-align: center;
   margin-top: 30px;
}

@media screen and (max-width: 960px) {
   .newsItem {
      flex-wrap: wrap;
      padding: 1.5em;
   }

   .newsItem__ttl {
      font-size: 1.6rem;
      width: 100%;
      margin-bottom: 10px;
   }
}

/* ==== greeting === */
.sec-greeting {
   background: var(--main-color);
   color: #fff;
}

.sec-greeting__inner {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: space-between;
   row-gap: 20px;
}

.sec-greeting__img {
   width: 35%;
   text-align: center;
}

.sec-greeting__content {
   width: 60%;
}

.sec-greeting__profile {
   font-weight: bold;

   p {
      font-size: 2.1rem;
      margin-bottom: 8px;
      line-height: 1.3;
   }

   h2 {
      font-size: 4.8rem;
   }
}

.sec-greeting__txt {
   font-size: 1.8rem;
   margin-top: 25px;
}

.sec-greeting__note {
   font-size: 1.4rem;
   text-align: right;
   margin-top: 50px;
}

@media screen and (max-width: 768px) {

   .sec-greeting__img {
      width: 80%;
      margin: 0 auto;
   }

   .sec-greeting__content {
      width: 100%;
   }

   .sec-greeting__profile {

      p {
         font-size: 1.8rem;
      }

      h2 {
         font-size: 3.2rem;
      }
   }

   .sec-greeting__txt {
      font-size: 1.5rem;
   }
}

/* ==== reconstruction === */
.sec-reconstruction {
   background: #F7EDEE;
   position: relative;
   overflow: hidden;

   .titleBox--flex {
      margin-top: 50px;
   }
}

.sec-reconstruction__bg {
   display: block;
   height: 100%;
   aspect-ratio: 1200/1049;
   background: no-repeat center/cover;
   position: absolute;
   left: 0;
   top: 0;
}

.cardList {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 20px;

   &.column3 {
      grid-template-columns: repeat(3, 1fr);
   }
}

.cardItem {
   color: #fff;
   background: no-repeat center/cover;
   border-radius: 14px;
   overflow: hidden;
}

#card-atomic-bombing {
   br {
      display: none;
   }
}

.cardItem__link {
   display: flex;
   align-items: flex-end;
   aspect-ratio: 36 / 23;
   transition: .2s;

   &:hover {
      backdrop-filter: brightness(.9);

      .cardItem__ttl {

         &::after {
            right: 14px;
         }
      }
   }
}

.cardItem {
   .cardItem__link {
      aspect-ratio: 660/421;
   }

   .wide .cardItem__link {
      aspect-ratio: 49/23;
   }
}

.cardItem__ttl {
   width: 100%;
   background: rgba(157, 47, 59, .85);
   padding: 15px 30px 18px 20px;
   position: relative;

   h3,
   h4 {
      font-size: 1.8rem;
   }

   p {
      font-size: 1.4rem;
      line-height: 1.2;
      letter-spacing: 0;
      margin-bottom: 6px;
   }

   &::after {
      content: "";
      display: inline-block;
      width: 8px;
      height: 8px;
      border-top: 2px solid #fff;
      border-right: 2px solid #fff;
      transform: rotate(45deg);
      position: absolute;
      right: 17px;
      top: calc(50% - 4px);
      transition: .2s;
   }
}

@media screen and (max-width: 768px) {
   .cardList {
      display: flex;
      flex-direction: column;

      &.swiper-wrapper {
         gap: 0;
         flex-direction: row;
      }
   }

   .cardItem {
      border-radius: 10px;
   }

   .swiper {
      width: 100vw;
      margin-left: -5vw;
      padding: 0 5% 40px;
   }

   .swiper-pagination {

      bottom: 0 !important;
   }

   .swiper-pagination-bullet {
      width: 10px;
      height: 10px;
      background: #fff;
      border: 1px solid #707070;
      opacity: 1;
   }

   .swiper-pagination-bullet-active {
      background: #707070;
   }

   .sec-reconstruction {

      .titleBox--flex {
         margin-top: 0;
      }
   }

   .sec-reconstruction__bg {
      height: 70%;
      top: 10%;
   }

   .cardItem__ttl {
      padding: 10px 30px 14px 20px;

      h3,
      h4 {
         font-size: 1.6rem;
      }
   }

   #card-global-peace {
      br {
         display: none;
      }
   }
}

/* ==== status === */
.sec-status {

   .titleBox--flex {
      padding-left: 120px;
      margin-bottom: 60px;
   }

   .titleBox__stamp {
      transform: translateY(40px);
   }
}

.sec-status__inner {
   position: relative;
}

.sec-status__deco {
   display: inline-block;
   width: 15%;
   min-width: 120px;
   aspect-ratio: 71/96;
   background: no-repeat center/contain;
   position: absolute;
   top: 0;
   right: 5%;
   transform: translateY(-70%);
   pointer-events: none;
}

@media screen and (max-width: 768px) {
   .sec-status {
      .titleBox--flex {
         padding: 0;
         margin-top: 30px;
      }

      .titleBox__stamp {
         transform: translateY(-60%);
         left: 26px;
      }
   }

   .sec-status__deco {
      right: -5%;
   }
}

/* ==== hope === */
.sec-hope {
   background: #F7EDEE;
   position: relative;

   .titleBox--flex {
      margin-top: 50px;
   }

   .titleBox__stamp {
      bottom: 30%;
   }
}

.sec-hope__deco {
   display: inline-block;
   width: 15%;
   min-width: 140px;
   aspect-ratio: 73/51;
   background: no-repeat center/contain;
   position: absolute;
   top: 0;
   left: 5%;
   transform: translate(0, -40%);
}

.sec-hope__bg {
   display: block;
   height: 100%;
   aspect-ratio: 1145/1436;
   background: no-repeat center/cover;
   position: absolute;
   right: 0;
   top: 0;
}

@media screen and (max-width: 768px) {
   .sec-hope__deco {
      left: 0;
   }
}

/* ==== actors === */
.sec-actors {
   .titleBox--flex {
      padding-left: 90px;
      margin-top: 50px;
   }

   .titleBox__stamp {
      transform: translate(-20px);
   }
}

.sec-actors__deco {
   display: inline-block;
   width: 20%;
   min-width: 130px;
   aspect-ratio: 123/148;
   background: no-repeat center/contain;
   position: absolute;
   top: 0;
   right: 5%;
   transform: translateY(-100%);
}

@media screen and (max-width: 768px) {
   .sec-actors {
      .titleBox--flex {
         padding: 0;
      }

      .titleBox__stamp {
         top: -50%;
         left: 5%;
      }
   }
}

/* ==== action === */
.sec-action {
   overflow: hidden;
   position: relative;
   background: #FFF9E2;

   .titleBox--flex {
      margin-bottom: 50px;
      padding-left: 120px;
   }

   .titleBox__stamp {
      transform: translateY(40px);
   }
}

.sec-action__bg {
   display: block;
   height: 65%;
   aspect-ratio: 2400/1601;
   background: no-repeat center/cover;
   position: absolute;
   left: 0;
   top: 0;
}

.sec-action__head {
   width: 72%;
   margin: 0 auto;
}

.sec-action__lead {}

.sec-action__content {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 20px;
}

.sec-action__ttl {
   grid-column: span 2;
   align-self: center;

   p {
      margin-bottom: .5em;
   }
}

.pickup {
   width: 100%;
   /* margin-left: 14%;*/
   /* grid-column: span 3;*/
   position: relative;
   display: flex;
   align-items: center;
   justify-content: space-between;
   flex-wrap: wrap;
   padding-top: 120px;
   padding-bottom: 50px;
}

.pickup__ttl {
   width: 25%;

   p {
      margin-bottom: 0.5em;
   }
}

.pickup__sub_flex {
   width: 70%;
   display: flex;
   justify-content: space-between;
}

.pickup__post {
   width: 49%;
}

.pickup__deco {
   display: inline-block;
   width: 24%;
   min-width: 140px;
   aspect-ratio: 486/437;
   background: no-repeat center/contain;
   position: absolute;
   top: 0;
   left: 0;
   transform: translateX(-70%);
}

@media screen and (max-width: 960px) {
   .pickup__ttl {
      width: 100%;

   }

   .pickup__post {
      width: 100%;
      margin-top: 20px;
   }

   .sec-action__content {
      grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));

   }
}

@media screen and (max-width: 768px) {
   .sec-action {
      .titleBox--flex {
         margin-bottom: 40px;
         padding-left: 0;
      }

      .titleBox__stamp {
         transform: translateY(-50%);
      }
   }

   .sec-action__bg {
      height: 30%;
   }

   .sec-action__head {
      width: 100%;
   }

   .sec-action__ttl {
      margin: 30px 0;
   }

   .pickup {
      margin-left: 0;
   }

   .pickup__deco {
      transform: translateX(0);
   }
}

/* ==== archive === */

/* ==== 下改装　H1 === */

h1 {
   display: none;
}

.textHeader {
   display: none;

   padding-top: 120px;
   width: 90%;
   max-width: var(--content-width);
   margin: 0 auto;
   position: relative;
   z-index: 1;

   h1 {
      display: block;
      background-color: var(--main-color);
      color: #fff;
      font-weight: bold;
      font-size: 40px;
      line-height: 1.4;
      margin: 0;
      margin-bottom: 20px;
      padding-left: 1em;
      padding-top: 0.5em;
      padding-bottom: 0.5em;
   }
}


@media screen and (max-width: 768px) {

   .textHeader {
      display: none;

      padding-top: 90px;
      margin: 0px auto;

      h1 {

         font-size: 20px;
         margin-bottom: 10px;

      }
   }

}



/* header */
.pageHeader {
   color: #fff;
   position: relative;
   margin-bottom: 80px;
}

.pageHeader__inner {
   min-height: 400px;
   display: flex;
   flex-wrap: wrap;
   clip-path: ellipse(100vw 100% at top);
   position: relative;
}

.pageHeader__ttl {
   background: var(--main-color);
   width: 45%;
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding-top: 150px;
   padding-bottom: 50px;
   padding-right: 1em;
   padding-left: calc((100vw - var(--content-width)) / 2);
   position: relative;


   h2 {
      font-size: min(3.3vw, 3.8rem);
      position: relative;
      z-index: 2;
   }
}

.pageHeader__thumb {
   width: 55%;

   img {
      height: 100%;
      object-fit: cover;
      object-position: bottom;
   }
}

.pageHeader__stamp {
   display: inline-block;
   width: 18%;
   min-width: 120px;
   aspect-ratio: 1/1;
   background: no-repeat center/contain;
   position: absolute;
   bottom: 5%;
   right: -30px;
   z-index: 1;
}

.pageHeader__deco {
   display: inline-block;
   width: 13%;
   min-width: 140px;
   aspect-ratio: 1/1;
   background: no-repeat center/contain;
   position: absolute;
   bottom: 0;
   right: 10%;
   z-index: 1;
   transform: translateY(60%);
}

@media screen and (max-width: 1080px) {
   .pageHeader__ttl {
      padding-left: 5%;
   }
}

@media screen and (max-width: 768px) {
   .pageHeader {
      margin-bottom: 40px;
   }

   .pageHeader__inner {
      /* min-height: 400px; */
      clip-path: initial;
   }

   .pageHeader__ttl,
   .pageHeader__thumb {
      width: 100%;
   }

   .pageHeader__thumb img {
      height: auto;
   }

   .pageHeader__ttl {
      padding: 120px 5% 50px;

      h2 {
         font-size: 2.8rem;
      }
   }

   .pageHeader__deco {
      right: 2%;
   }

   .pageHeader__stamp {
      bottom: 0;
      right: 2%;
      transform: translateY(40%);
   }
}


/* body */
.archiveBody {
   padding-bottom: 100px;
   position: relative;
   overflow: hidden;

   &.sec-action {
      background: #fff;
   }

   .pickup {
      padding-top: 50px;
   }
}

.archiveBody__bg {
   display: block;
   height: 80%;
   max-width: 100%;
   aspect-ratio: 1200/1049;
   background: no-repeat center/cover;
   position: absolute;
   left: 0;
   bottom: 0;
}

.archiveBody__lead {
   display: flex;
   align-items: center;
   column-gap: 40px;
   padding-top: 50px;
}

.archiveBody__deco {
   display: block;
   width: 24%;
   min-width: 120px;
   aspect-ratio: 486 / 437;
   background: no-repeat center / contain;
   flex-shrink: 0;
}

@media screen and (max-width: 768px) {
   .archiveBody {
      padding-bottom: 60px;
   }

   .archiveBody__lead {
      flex-direction: column;
      align-items: flex-start;
      padding-top: 0;
   }

   .archiveBody__deco {}
}

/* ==== post === */
/* word pro block */
.detail_free {
   width: 90%;
   max-width: var(--content-width);
   margin: 100px auto;

   h2,
   h3,
   h4,
   h5,
   h6 {
      margin-bottom: 20px;
      margin-top: 50px;
   }

   h2,
   h3 {
      font-size: 3rem;
      padding-left: 15px;
      border-left: 9px solid var(--main-color);

   }

   h3.sift_style {
      font-size: 2.4rem;
      padding-left: 0px;
      border-left: 0;
   }

   h2+h3,
   h3+h4,
   h4+h5,
   h5+h6 {
      margin-top: 0;
   }

   h4 {
      font-size: 2.4rem;
   }

   h4.sift_style {
      font-size: 2.1rem;
   }

   h5 {
      font-size: 2.1rem;
   }

   h5.sift_style {
      font-size: 1.8rem;
   }

   h6 {
      font-size: 1.8rem;
   }

   h6.sift_style {
      font-size: 1.7rem;
   }

   a {
      text-decoration: underline;
      color: var(--main-color);

      &:hover {
         opacity: .8;
      }
   }

   a:not([href]) {
      text-decoration: none !important;
      color: #000 !important;
      cursor: text;

      &:hover {
         opacity: 1 !important;
      }
   }

   ul {
      list-style: inside disc;
      margin: 1.5em 0;
   }

   ol {
      list-style: inside decimal;
      margin: 1.5em 0;

      li::marker {
         margin-right: 8px;
      }
   }

   li+li {
      margin-top: 8px;
   }

   table {
      margin: 1.5em 0;
   }

   caption {
      font-weight: bold;
      margin-bottom: 10px;
   }

   th,
   td {
      border: 1px solid #BDBDBD;
      padding: 1em;
   }

   th {
      background: #f5f5f5;
   }

   img {
      width: 70% !important;
      height: auto !important;
      display: block !important;
      margin-left: auto !important;
      margin-right: auto !important;
   }

}

@media screen and (max-width: 768px) {
   .detail_free {
      margin: 60px auto;

      h2,
      h3 {
         font-size: 2.6rem;
      }

      h3.sift_style {
         font-size: 2.1rem;
      }

      h4 {
         font-size: 2.1rem;
      }

      h4.sift_style {
         font-size: 1.8rem;
      }

      h5 {
         font-size: 1.8rem;
      }

      h5.sift_style {
         font-size: 1.6rem;
      }

      h6 {
         font-size: 1.6rem;
      }

      h6.sift_style {
         font-size: 1.4rem;
      }

      table {
         overflow-x: scroll;
         display: block;
      }

      th,
      td {
         min-width: 8em;
      }

      img {
         width: 100% !important;
         height: auto !important;
      }
   }
}

/* ==== footer === */
.btn-top {
   display: inline-block;
   width: 50px;
   aspect-ratio: 1/1;
   border-radius: 50%;
   border: 1px solid #fff;
   position: fixed;
   bottom: 2%;
   right: 2%;
   z-index: 100;
   transition: .2s;

   &:hover {
      opacity: .8;
      transform: translateY(-3px);
   }
}

.l-footer {
   font-size: 1.4rem;
   padding-top: 50px;
}

.footer-sns {
   background: var(--main-color);
   display: flex;
   justify-content: center;
   align-items: center;
   padding: 10px;
   gap: 50px;

   a {
      display: inline-block;
      width: 35px;

      &:hover {
         opacity: .8;
      }
   }
}

.footer-top {
   display: flex;
   justify-content: center;

}

.footer-top__inner {
   display: flex;
   align-items: flex-start;

   &:nth-child(2) {
      padding: 0 25px;
      margin: 0 25px;
      border-left: 1px solid #BDBDBD;
      border-right: 1px solid #BDBDBD;
   }

   a {

      &:hover {
         opacity: .8;
         text-decoration: underline;
      }
   }
}

.footer-top__group {
   position: relative;
}

.footer-top__group:nth-child(2 of .footer-top__group) {
   padding-left: 40px;
}

.footer-top__stamp {
   display: inline-block;
   width: 65px;
   aspect-ratio: 1 / 1;
   background: no-repeat center / contain;
   flex-shrink: 0;
   margin-right: 15px;
}

.fnaviParent {
   display: inline-block;
   font-weight: bold;
   margin-bottom: 8px;

   &:not(:first-of-type) {
      margin-top: 1.5em;
   }
}

.fnaviChild {
   font-size: 1.2rem;
}

.fnaviItem {
   br {
      display: none;
   }

   &:not(:first-child) {
      margin-top: 4px;
   }
}

.footer-bottom {
   max-width: 600px;
   margin: 50px auto 0;

   address {
      line-height: 1.5;
      margin-top: 30px;
   }
}

.footer-bottom__logos {
   display: flex;
   justify-content: space-around;
   height: 95px;

   img {
      width: auto;
      height: 100%;
      object-fit: contain;
   }

   a:hover {
      opacity: .8;
   }
}

.footer-bottom__note {
   color: #707070;
   font-size: 1.2rem;
   line-height: 1.5;
   margin-top: 15px;
}

.footer-links {
   font-size: 1.2rem;
   display: flex;
   align-items: center;
   margin-top: 40px;

   li {

      &:not(:first-child) {
         padding-left: 1em;
         margin-left: 1em;
         border-left: 1px solid #BDBDBD;
      }
   }

   a {
      display: inline-block;

      &:hover {
         opacity: .8;
         text-decoration: underline;
      }
   }
}

.copyright {
   width: 90%;
   max-width: var(--content-width);
   margin: 0 auto;
   padding: 1em 0;
   color: #707070;
}

@media screen and (max-width: 960px) {
   .footer-top__stamp {
      display: none;
   }
}

@media screen and (max-width: 768px) {
   .l-footer {
      padding-top: 30px;
   }

   .footer-sns {
      gap: 20px;
   }

   .footer-top {
      display: none;
   }

   .footer-links {
      display: none;
   }

   .footer-bottom {
      margin-top: 0;
   }

   .footer-bottom__logos {
      height: 75px;

      img {
         max-width: 45%;
      }
   }

   .copyright {
      width: 100%;
      border-top: 1px solid var(--main-color);
      margin-top: 20px;
      padding: 1em 5%;
   }
}

/*Action BTN */

.cvs_hide#conversion_link {
   padding-right: 10px;
}

#conversion_link {
   display: block;
   position: fixed;
   right: 0;
   bottom: 0;
   z-index: 100;
   background: #ffeff1;
   padding: 10px;
   padding-right: 60px;
   border-radius: 5px 0 0 0;
   -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
   box-shadow: 0 0 5px rgba(0, 0, 0, 0.25);
}

.cvs_hide#conversion_link>a {
   display: none;
}

#conversion_link>a {
   display: block;
   background: #992f3b;
   padding: 10px 50px;
   color: #fff;
   text-decoration: none;
   border-radius: 5px;
}

.cvs_hide #cvs_sw {
   position: static;
   background-image: url(https://www.pref.hiroshima.lg.jp/img/new/common/cvs_open.png);
}

#cvs_sw {
   display: block;
   position: absolute;
   right: 10px;
   top: 10px;
   margin: 0;
   padding: 20px 1em;
   background: #ccc;
   border-radius: 5px;
   text-decoration: none;
   color: #000;
   font-weight: bold;
   font-size: 1.2rem;
   width: 5em;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
   text-align: center;
   border: none;
   text-align: left;
   text-indent: -9999em;
   overflow: hidden;
   width: 30px;
   height: 30px;
   background-repeat: no-repeat;
   background-position: center center;
   background-color: transparent;
   background-image: url(https://www.pref.hiroshima.lg.jp/img/new/common/cvs_close.png);
}

/*Youtube */

.detail_html iframe {

   width: 756px;
   height: 425px;
   margin-bottom: 30px;
   margin-left: auto;
   margin-right: auto;
   display: block;


}

@media screen and (max-width: 768px) {
   .detail_html iframe {

      width: 90%;
      height: auto;
      aspect-ratio: 560 / 315;
      margin-bottom: 20px;



   }

}