@charset "UTF-8";
/* Scss Document */
/* ==========================================================================
 Foundation
============================================================================*/
/* =============================================== */
/** 変数設定 */
/* ----------------------------------------------- */
/* =============================================== */
/** reset全体設定 */
/* ----------------------------------------------- */
a:hover {
  opacity: 0.8;
  text-decoration: underline; }

.underline {
  text-decoration: underline; }

.f_16, .contact input[type="text"], .contact input[type="email"], .contact textarea, .contact input[type="textarea"], .contact input[type="number"], .contact input[type="date"], .contact input[type="file"] {
  font-size: 1.0rem; }

.pc {
  display: inherit !important; }
  @media screen and (max-width: 600px) {
    .pc {
      display: none !important; } }

.sp {
  display: none !important; }
  @media screen and (max-width: 600px) {
    .sp {
      display: inherit !important; } }

.btn {
  border-radius: 9999px;
  border-color: #191919;
  background-color: #191919 !important;
  font-family: var(--wp--preset--font-family--beiruti);
  padding-top: 0.6rem !important;
  padding-right: 1.6rem !important;
  padding-bottom: 0.6rem !important;
  padding-left: 1.6rem !important;
  box-shadow: 0px 4px 4px 0 rgba(51, 51, 51, 0.25); }
  .btn a {
    color: #F8F7F5 !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: .1em; }

header {
  top: 0;
  position: sticky;
  z-index: 10; }

/* 本体ヘッダー */
#header1 {
  /* ヘッダーロゴ */
  /* 80周年ボタン */ }
  @media screen and (max-width: 1040px) {
    #header1--logo {
      width: calc( 100vw - 50px - 12px ); } }
  @media screen and (max-width: 600px) {
    #header1--logo {
      width: calc( 100vw - 50px - 12px ); } }
  #header1 #navi {
    margin-block-start: 0; }
    @media screen and (max-width: 600px) {
      #header1 #navi {
        display: none; } }
  @media screen and (max-width: 600px) {
    #header1--logo {
      width: calc( 100vw - 50px - 12px ); } }

/* スマホメニュー*/
.menu_sp .btn.wp-block-navigation-item {
  min-width: 282px;
  box-sizing: border-box;
  border-color: #191919 !important;
  background-color: #191919 !important; }
@media screen and (max-width: 1040px) {
  .menu_sp {
    flex-wrap: wrap; } }

/* 本体フッター */
#footer1 {
  /* 灰色 */
  /* 黒 */ }
  @media screen and (max-width: 600px) {
    #footer1--box.wp-block-group {
      padding-top: 20px !important;
      padding-bottom: 20px !important; } }
  @media screen and (max-width: 600px) {
    #footer1--box .wp-block-column:not(#footer1--box--banner) {
      display: none; } }
  #footer1--box--contents > .wp-block-template-part {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 14px;
    grid-row-gap: 1.2rem; }
    #footer1--box--contents > .wp-block-template-part > * {
      margin-block-start: 0; }
    @media screen and (max-width: 600px) {
      #footer1--box--contents > .wp-block-template-part {
        display: grid;
        grid-template-columns: 1fr 1fr; } }
  @media screen and (max-width: 960px) {
    #footer1--box--banner > .wp-block-template-part {
      flex-basis: 25% !important; } }
  @media screen and (max-width: 600px) {
    #footer1--box--banner > .wp-block-template-part {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px; }
      #footer1--box--banner > .wp-block-template-part > * {
        margin-block-start: 0;
        margin-bottom: 0; } }
  #footer1 > .wp-block-template-part {
    margin-top: 0; }
  #footer1--box2 {
    margin-block-start: 0; }
    #footer1--box2--01 {
      row-gap: 0.6rem; }
    @media screen and (max-width: 960px) {
      #footer1--box2--navi nav ul {
        flex-wrap: wrap;
        justify-content: flex-start;
        row-gap: 0.3rem; } }
    #footer1--box2--navi nav ul li:after {
      content: "|";
      transform: translateX(0.5em); }
    @media screen and (max-width: 600px) {
      #footer1--box2--navi-sns nav ul {
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 0.3rem; } }

.page--sidebar--footer1 {
  margin-top: 0; }

/* TOPページ用
----------------------------------------------- */
.top--content {
  margin-block-start: -100px; }
  @media screen and (max-width: 600px) {
    .top--content {
      margin-block-start: -40px; } }

#top--main-video {
  position: relative;
  height: 100svh;
  max-height: 1000px; }
  #top--main-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 16/9; }

#top--oshirase h2 {
  position: relative;
  z-index: 1; }
  #top--oshirase h2:before {
    content: "";
    background: url("../../images/logo-sakura.webp");
    background-size: contain;
    width: 2em;
    height: 2em;
    display: block;
    position: absolute;
    top: -1em;
    left: -1em;
    z-index: -1; }
  #top--oshirase h2:after {
    content: "";
    background: url("../../images/logo-sakura.webp");
    background-size: contain;
    width: 1.2em;
    height: 1.2em;
    display: block;
    position: absolute;
    top: .2em;
    left: 3.2em;
    z-index: -1; }
#top--oshirase ul.wp-block-latest-posts {
  border-top: 1px solid #999999; }
  #top--oshirase ul.wp-block-latest-posts li {
    display: flex;
    border-bottom: 1px solid #999999;
    gap: 20px;
    align-items: center;
    flex-direction: row-reverse;
    justify-content: flex-end;
    padding-top: 4px;
    padding-bottom: 4px; }
    #top--oshirase ul.wp-block-latest-posts li time {
      min-width: 7em; }

@media screen and (max-width: 600px) {
  #top--ohashi {
    flex-flow: column; } }
#top--ohashi--photo {
  width: 100%;
  display: block;
  height: 50vh; }

@media screen and (max-width: 600px) {
  #top--reborn {
    flex-flow: column;
    flex-direction: column-reverse; } }
#top--reborn--photo {
  width: 100%;
  display: block; }
#top--reborn--content {
  width: 100%; }

@media screen and (max-width: 600px) {
  #top--annai--2 {
    grid-template-columns: 1fr; } }

#top--link-area .wp-block-cover {
  min-height: 248px; }

/* 固定ページ用
----------------------------------------------- */
#page--title {
  position: relative; }
  #page--title figure {
    height: 300px;
    overflow: hidden; }
    @media screen and (max-width: 600px) {
      #page--title figure {
        height: 400px; } }
  #page--title h1 {
    transform: translateY(-200px); }
    @media screen and (max-width: 960px) {
      #page--title h1 {
        transform: translateY(-124px); } }
    @media screen and (max-width: 600px) {
      #page--title h1 {
        transform: translateY(-172px); } }
  @media screen and (max-width: 960px) {
    #page--title {
      margin-block-start: -140px; } }
  @media screen and (max-width: 600px) {
    #page--title {
      margin-block-start: -36px; } }

#page--box {
  grid-template-columns: auto 252px; }
  #page--box--housan {
    grid-template-columns: 252px auto; }
    @media screen and (max-width: 600px) {
      #page--box--housan {
        grid-template-columns: 1fr;
        margin-block-start: 0; } }
  @media screen and (max-width: 600px) {
    #page--box {
      grid-template-columns: 1fr; } }

@media screen and (max-width: 600px) {
  #side01 {
    padding: 48px 20px 72px 20px;
    color: #fff;
    background-image: url("../../images/bg-washi-ft.webp"); } }
#side01 .parts_menu01 .wp-block-group + .wp-block-group {
  margin-top: 1.2rem; }
#side01 .menu_housankai {
  flex-direction: column;
  align-items: flex-start; }

@media screen and (max-width: 960px) {
  #page--box--housan #side01 {
    padding: 0 20px; } }
@media screen and (max-width: 600px) {
  #page--box--housan #side01 {
    padding: 0 20px;
    color: inherit;
    background-image: inherit; }
    #page--box--housan #side01 .menu_housankai {
      flex-direction: row; } }

/* Google font material-symbols-outlined
----------------------------------------------- */
.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24; }

.material-symbols-outlined--open_in_new::after {
  content: "\e89e";
  font-family: "Material Symbols Outlined", monospace; }

/* メールフォーム
----------------------------------------------- */
.any, .require {
  width: 2em;
  text-indent: 0;
  padding: 4px 6px;
  font-size: 12px;
  line-height: 1;
  display: inline-block;
  background-color: #f36929;
  color: #fff;
  border-radius: 4px;
  float: right; }

.any {
  background-color: #2635A4; }

.notes {
  font-size: 0.9em;
  text-indent: -1em;
  padding-left: 1em; }

.contact {
  background-color: rgba(242, 225, 202, 0.2);
  padding: 40px; }

.contact h5 {
  text-align: left;
  padding: 20px 6px 6px 2em;
  text-indent: -2em;
  font-weight: normal;
  width: 100%;
  box-sizing: border-box;
  font-size: 1.1em; }

.contact dl {
  display: grid;
  grid-template-columns: 1fr 2fr;
  text-align: left; }
  @media screen and (max-width: 600px) {
    .contact dl {
      grid-template-columns: 1fr; } }

.contact dt {
  padding-left: 0.5em; }

.contact dd {
  margin-bottom: 20px; }
  .contact dd.your-address p {
    clear: both;
    float: left; }
    .contact dd.your-address p > * {
      margin-right: 10px; }

.contact input[type="text"], .contact input[type="email"], .contact textarea, .contact input[type="textarea"], .contact input[type="number"], .contact input[type="date"] {
  width: 100%;
  margin-bottom: 0.4rem;
  background: #fff;
  border: solid 1px #d1d1d1;
  padding: 12px;
  border-radius: 4px;
  box-sizing: border-box; }

.contact ::placeholder {
  color: #ccc; }

.contact .wpcf7 input[name="your-zip"] {
  /* 郵便番号 */
  width: 10em; }

.contact .wpcf7 input[name="your-address-level1"] {
  /* 都道府県 */
  width: 10em; }

.contact .wpcf7 input[name="your-address-level2"] {
  /* 市区町村 */
  width: 12em; }

.contact .wpcf7 input[name="your-donation"] {
  /* ご奉賛金額 */
  width: calc( 100% - 2em ); }

.contact select {
  margin-bottom: 0.4rem;
  background: #fff;
  border: solid 1px #d1d1d1;
  padding: 12px;
  border-radius: 4px;
  box-sizing: border-box; }

.contact input[type="file"] {
  margin-bottom: 0.4rem;
  background: #fff;
  padding: 12px;
  border-radius: 4px;
  box-sizing: border-box; }

.contact input[type="text"].box_1, .contact input[type="email"].box_1, .contact textarea.box_1, .contact input[type="textarea"].box_1,
.box_1 {
  width: 100px; }

.form {
  margin: 0px auto 20px auto;
  width: 100%;
  box-sizing: border-box; }

.form table {
  border: 1px solid #ccc;
  border-collapse: collapse;
  margin: 0;
  padding: 0;
  width: 100%;
  table-layout: fixed; }

.form .title {
  text-align: left;
  vertical-align: middle;
  width: 200px;
  background: #999999; }
  @media screen and (max-width: 600px) {
    .form .title {
      width: auto; } }

.form table td {
  font-size: 1em;
  padding: 0.75em;
  border: 1px solid #ddd; }
  @media screen and (max-width: 600px) {
    .form table td {
      display: block; } }

.form .contents {
  text-align: left;
  vertical-align: middle;
  margin-bottom: 40px;
  background: rgba(255, 255, 255, 0.7); }
  @media screen and (max-width: 600px) {
    .form .contents {
      margin-bottom: 0; } }

.contact fieldset {
  border: none; }

.contact fieldset legend {
  padding: 10px 0 0 0; }

.contact fieldset label {
  font-weight: bold; }

.contact .check {
  width: 100%;
  box-sizing: border-box;
  margin: 0 auto 20px auto;
  padding: 19px;
  text-align: left;
  border: #DDD 1px solid;
  font-size: 1em;
  background: rgba(255, 255, 255, 0.7); }

.contact .w80per {
  /* 一文字入れるイメージ */
  width: calc( 100% - 2em ) !important;
  margin-right: 0.5em !important; }
