@charset "UTF-8";

/* ============================================================
  foundation
  ============================================================ */

/* base */
html {
  font-size: 62.5%;
}
body {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "M PLUS 1p", sans-serif;
  color: #3C2A10;
  line-height: 23.76px;
  overflow-x: hidden;
  line-height: 1.5;
}
img {
  vertical-align: middle;
}
h1, h2, h3, h3, h4, h5, h6, p, figure {
  margin: 0;
  padding: 0;
  font-size: 100%;
}
ul, ol {
  list-style-type: none;
}
a {
  color: inherit;
  text-decoration: none;
}
a:hover, button:hover {
  opacity: 0.4;
}

/* ============================================================
  layout
  ============================================================ */
/* header layout */
.l-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 43px 0 39px;
  position: relative;
}
@media (min-width: 600px) {
  .l-header {
    padding: 40px 0 38px;
  }
}
@media (min-width: 1025px) {
  .l-header {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 66px 0 67px;
  }
}

/* main　layout */
.l-main, .l-main--single {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.l-main--single {
  justify-content: flex-start;
}

/* sidebar　layout */
.l-sidebar {
  position: fixed;
  z-index: 10;
  right: -87.47%;
  width: 87.47%;
  height: 100%;
  padding: 178px 0 178px 46px;
  overflow-y: auto;
  transition: all 0.5s ease-out;
}
@media (min-width: 600px) {
  .l-sidebar {
    right: -44.02%;
    width: 44.02%;
  }
}
@media (min-width: 1025px) {
  .l-sidebar {
    position: static;
    width: 100%;
    padding: 84px 0 84px 12.5%;
    transition: none;
  }
}
.l-sidebar.is-open {
  right: 0;
}

/* sidebar縦スクロール時bodyは固定 */
body.is-open {
  position: fixed;
}

/* footer layout */
.l-footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 0;
}
@media (min-width: 600px) {
  .l-footer {
    padding: 30px 0 24px;
  }
}
@media (min-width: 1025px) {
  .l-footer {
    padding: 41px 0 27px;
  }
}

/* ============================================================
  object / component
 ============================================================ */

/* grid layout */
.c-header__grid {
  grid-row: 1;
  grid-column: 1/3;
}
@media (min-width: 1025px) {
  .c-header__grid {
    grid-row: 1;
    grid-column: 1;
  }
}
.c-main__grid {
  grid-row: 2;
  grid-column: 1/3;
}
@media (min-width: 1025px) {
  .c-main__grid {
    grid-row: 2;
    grid-column: 1;
  }
}
.c-sidebar__grid {
  grid-row: 1/4;
  grid-column: 2;
}
@media (min-width: 1025px) {
  .c-sidebar__grid {
    grid-row: 1/3;
    grid-column: 2;
  }
}
.c-footer__grid {
  grid-row: 3;
  grid-column: 1/3;
}
@media (min-width: 1025px) {
  .c-footer__grid {
    grid-column: 1/3;
  }
}

/* font */
.c-roboto {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
}
.c-bold {
  font-weight: 700;
}

/* reader text */
.c-readerText {
  display: none;
}

/* button */
.c-button--gray {
  background: linear-gradient(90deg, #F2EDE9 0%, #DED8D3 100%);
  border: 1px solid #707070;
}
.c-button--white {
  background-color: #FFFFFF;
  border-radius: 25px;
}

/* 検索box */
.c-input {
  border-radius: 10px;
  border: 1px solid #707070;
}

/* front,single,pageページ メインビジュアルの背景画像・フレックス設定 */
.c-mainVisual {
  background-position: center;
  background-size: cover;
  display: flex;
  align-items: center;
}

/* archive,searchページ　メインビジュアルの背景画像・フレックス設定 */
.c-mainVisual--left {
  background-position: left;
  background-size: initial;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
@media (min-width: 600px) {
  .c-mainVisual--left {
    background-size: cover;
    flex-direction: unset;
    align-items: center;
    justify-content: unset;
  }
}

/* main ラッパー部分の左右余白 */
.c-wrapper {
  width: 89%;
  margin: 0 auto;
}
@media (min-width: 600px) {
  .c-wrapper {
    width: 91%;
  }
}
@media (min-width: 1025px) {
  .c-wrapper {
    width: 85%;
  }
}

/* 背景画像 */
.c-background__image {
  background-position: center;
  background-size: cover;
}

/* アンダーラインのあるリンク */
.c-link {
  text-decoration: underline;
}

/* ページネーション　現在のページ */
.c-pageNamber--this {
  background-color: #3C2A10;
  color: #FFFFFF;
  pointer-events: none;
}

/* ============================================================
  object / project
 ============================================================ */

/* grid layout */
.p-container {
  height: 100vh;
  width: 100vw;
  display: grid;
  grid-template-rows: 215px 1fr 150px;
  grid-template-columns: 13% 87%;
}
@media (min-width: 600px) {
  .p-container {
    grid-template-rows: 217px 1fr 149px;
    grid-template-columns: 56% 44%;
  }
}
@media (min-width: 1025px) {
  .p-container {
    grid-template-rows: 217px 1fr 150px;
    grid-template-columns: 80% 20%;
  }
}

/* header */
.p-header {
  background-color: #FFF8EF;
}
.p-header__menu {
  color: #707070;
  font-size: 2rem;
  width: 51px;
  line-height: 1.15;
  position: absolute;
  top: 8px;
  right: 22px;
}
@media (min-width: 600px) {
  .p-header__menu {
    font-size: 3.4rem;
    width: 87px;
    line-height: 1.17;
    position: absolute;
    top: 20px;
    right: 35px;
  }
}
@media (min-width: 1025px) {
  .p-header__menu {
    display: none;
  }
}
.p-header__logo {
  font-size: 4rem;
  color: #707070;
  width: 203px;
  line-height: 1.17;
}
@media (min-width: 600px) {
  .p-header__logo {
    padding: 3px 0;
  }
}
@media (min-width: 1025px) {
  .p-header__logo {
    font-size: 6.4rem;
    width: 325px;
    margin-left: 65px;
    padding: 4.5px 0;
  }
}
.p-header__logo a {
  cursor: url(../images/cursor.png), auto;
}

/* sidebar */
.p-sidebar {
  background: #F2EDE9;
  color: #707070;
}
.p-sidebar__closeButton {
  width: 32px;
  height: 36px;
  position: absolute;
  top: 8px;
  right: 11px;
}
@media (min-width: 600px) {
  .p-sidebar__closeButton {
    height: 37px;
    top: 20px;
    right: 25px;
  }
}
@media (min-width: 1025px) {
  .p-sidebar__closeButton {
    display: none;
  }
}
.p-sidebar__closeButton::before, .p-sidebar__closeButton::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 6px;
  height: 36px;
  background: #707070;
}
@media (min-width: 600px) {
  .p-sidebar__closeButton::before, .p-sidebar__closeButton::after {
    height: 37px;
  }
}
.p-sidebar__closeButton::before {
  transform: translate(-50%, -50%) rotate(45.25deg);
}
.p-sidebar__closeButton::after {
  transform: translate(-50%, -50%) rotate(-45.25deg);
}
.p-sidebar__closeButton > span {
  font-size: 0;
}
.p-sidebar__menu {
  display: none;
  font-size: 3.4rem;
  line-height: 1.17;
}
@media (min-width: 1025px) {
  .p-sidebar__menu {
    display: block;
  }
}

@media (min-width: 1025px) {
  .p-menu {
    margin-top: 90px;
  }
}
.p-menu > li {
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: 700;
}
@media (min-width: 1025px) {
  .p-menu > li {
    font-size: clamp(2rem, 1.5vw, 2.4rem);
  }
}
.p-menu > li:not(:first-child) {
  margin-top: 60px;
}
@media (min-width: 600px) {
  .p-menu > li:not(:first-child) {
    margin-top: 48px;
  }
}
.sub-menu {
  margin: 40px 0 0 20px;
}
@media (min-width: 600px) {
  .sub-menu {
    margin: 32px 0 0 20px;
  }
}
@media (min-width: 1025px) {
  .sub-menu {
    margin: clamp(30px, 2vw, 32px) 0 0 6.2%;
  }
}
.sub-menu > li {
  font-size: 2rem;
  line-height: 1.5;
  font-weight: 400;
  margin-bottom: clamp(18px, 1.05vw, 20px);
}
@media (min-width: 1025px) {
  .sub-menu > li {
    font-size: clamp(1.4rem, 1.2vw, 2rem);
  }
}
.sub-menu > li:last-child {
  margin-bottom: 0;
}

/* sidebar出現時のオーバーレイ */
.p-overlay {
  position: fixed;
  z-index: 5;
  width: 100%;
  height: 100%;
  visibility: hidden;
  background: rgba(0, 0, 0, 0.5);
  transition: all 0.3s ease-out;
}
.p-overlay.is-active {
  visibility: visible;
}

/* 検索フォーム */
.p-searchForm {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}
@media (min-width: 600px) {
  .p-searchForm {
    margin-top: 38px;
  }
}
@media (min-width: 1025px) {
  .p-searchForm {
    margin-top: 0;
    margin-right: 31px;
  }
}
.p-searchForm__submit {
  width: 90px;
  height: 46px;
  border-radius: 10px;
  color: #707070;
  font-size: 16px;
  font-weight: 700;
}
.p-searchForm__submit:hover {
  opacity: 0.6;
}
.p-searchBox {
  position: relative;
}
.p-searchBox__input {
  width: 57.6vw;
  height: 46px;
  padding-left: 48px;
  background: #FFFFFF;
  margin-right: 16px;
}
@media (min-width: 600px) {
  .p-searchBox__input {
    width: 47.4vw;
    min-width: 280px;
    margin-right: 14px;
  }
}
@media (min-width: 1025px) {
  .p-searchBox__input {
    width: 20.6vw;
  }
}
.p-searchBox__icon {
  position: absolute;
  top: 11px;
  left: 12px;
  width: 24px;
  height: 24px;
}

/* main 背景色 */
.p-main {
  background-color: #FFFDFB;
}

/* frontページ ブランチメニュー */
.p-branchMenu {
  padding: 20px 0 49px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
@media (min-width: 600px) {
  .p-branchMenu {
    padding: 40px 0;
    flex-direction: row;
    justify-content: center;
    align-items: stretch;
    gap: 5%;
  }
}
@media (min-width: 1025px) {
  .p-branchMenu {
    padding-top: 8%;
    padding-bottom: 9%;
  }
}
.p-branchMenu__list {
  min-height: 642px;
  width: 100%;
  padding: 13px 0 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
@media (min-width: 600px) {
  .p-branchMenu__list {
    min-height: 681px;
    padding: 14px 0 16px;
  }
}
@media (min-width: 1025px) {
  .p-branchMenu__list {
    min-height: 1197px;
    padding: 24px 0 16px;
  }
}
.p-branchMenu__list.--takeOut .p-branchMenu__title {
  color: #EAEAEA;
}
.p-branchMenu__title {
  font-size: 4.1rem;
  line-height: 1.18;
  margin-left: 15px;
  color: #FFFFFF;
  position: relative;
}
@media (min-width: 600px) {
  .p-branchMenu__title {
    font-size: 4.4rem;
    margin-left: 11px;
  }
}
@media (min-width: 1025px) {
  .p-branchMenu__title {
    font-size: 8rem;
    margin-left: 10px;
  }
}
.p-branchMenu__title::after {
  content: "";
  display: block;
  width: 34px;
  height: 4px;
  background-color: #FFFFFF;
  position: absolute;
  bottom: -19px;
}
@media (min-width: 600px) {
  .p-branchMenu__title::after {
    width: 36px;
    bottom: -26px;
  }
}
@media (min-width: 1025px) {
  .p-branchMenu__title::after {
    width: 63px;
    bottom: -43px;
  }
}
.p-branchMenu__about {
  margin: 190px 16px 0;
}
@media (min-width: 600px) {
  .p-branchMenu__about {
    margin: 250px 16px 0;
  }
}
@media (min-width: 1025px) {
  .p-branchMenu__about {
    margin: 400px 16px 0;
  }
}
.p-branchMenu__about .p-content {
  background-color: rgba(255, 255, 255, 0.8);
  padding: 16px;
  margin-bottom: 16px;
}
@media (min-width: 1025px) {
  .p-branchMenu__about .p-content {
    padding: 20px;
    margin-bottom: 20px;
  }
}
.p-branchMenu__about .p-content:last-child {
  margin-bottom: 0;
}
.p-branchMenu__about .p-content__title {
  font-size: 2.2rem;
  line-height: 1.1;
  margin-bottom: 8px;
}
@media (min-width: 600px) {
  .p-branchMenu__about .p-content__title {
    font-size: 2.4rem;
    line-height: 1;
    margin-bottom: 16px;
  }
}
@media (min-width: 1025px) {
  .p-branchMenu__about .p-content__title {
    margin-bottom: 18px;
  }
}
.p-branchMenu__about .p-content__text {
  transition: all 0.4s ease-in;
}
@media (min-width: 600px) {
  .p-branchMenu__about .p-content__text {
    font-size: 1.4rem;
  }
}
@media (min-width: 1025px) {
  .p-branchMenu__about .p-content__text {
    font-size: inherit;
  }
}

/* footer 背景色 */
.p-footer {
  background-image: url(../images/footer.png);
}

/* footer */
.p-footer__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 27px;
}
@media (min-width: 600px) {
  .p-footer__nav {
    height: 30px;
  }
}
.p-footer__nav li {
  font-size: 1.8rem;
  color: #FFFFFF;
  padding: 0 7px;
}
@media (min-width: 600px) {
  .p-footer__nav li {
    font-size: 2rem;
  }
}
.p-footer__nav li:last-child {
  border-left: 2px solid;
}
.p-footer__copy {
  font-size: 1.4rem;
  color: #FFFFFF;
  height: 21px;
  margin-top: 70px;
}
@media (min-width: 600px) {
  .p-footer__copy {
    margin-top: 44px;
  }
}
@media (min-width: 1025px) {
  .p-footer__copy {
    margin-top: 31px;
  }
}

/* メインビジュアル */
.p-mainVisual, .p-mainVisual--single, .p-mainVisual--page, .p-mainVisual--archive {
  height: 285px;
}
@media (min-width: 1025px) {
  .p-mainVisual, .p-mainVisual--single, .p-mainVisual--page, .p-mainVisual--archive {
    height: 27.6vw;
    min-height: 285px;
  }
}
.p-mainVisual__title, .p-mainVisual--single__title, .p-mainVisual--page__title, .p-mainVisual--archive__title {
  font-size: 3.6rem;
  color: #FFFFFF;
  line-height: 1.48;
  margin-left: 25px;
  transition: all 0.4s ease-in;
}
@media (min-width: 600px) {
  .p-mainVisual__title, .p-mainVisual--single__title, .p-mainVisual--page__title, .p-mainVisual--archive__title {
    margin-left: 86px;
  }
}
@media (min-width: 1025px) {
  .p-mainVisual__title, .p-mainVisual--single__title, .p-mainVisual--page__title, .p-mainVisual--archive__title {
    font-size: 4rem;
    line-height: 1.475;
  }
}

/* archiveページ　メインビジュアル */
.p-mainVisual--archive {
  background-image: url(../images/mainVisual-archive.jpg);
}
@media (min-width: 1025px) {
  .p-mainVisual--archive {
    height: 239px;
    min-height: inherit;
  }
}
.p-mainVisual--archive::before {
  content: "";
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.p-mainVisual--archive__title {
  line-height: 1.173;
  padding-bottom: 6px;
  margin-left: 37px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-mainVisual--archive__title {
    font-size: 6rem;
    line-height: 1.1;
  }
}
.p-mainVisual--archive .c-bold {
  font-size: 1.6rem;
  line-height: 1.2;
  color: #FFFFFF;
  margin: 12px 0 0 37px;
  z-index: 1;
}
@media (min-width: 600px) {
  .p-mainVisual--archive .c-bold {
    line-height: 1.5;
    margin: 0 0 0 19px;
  }
}

/* single・pageページ　メインビジュアル */
.p-mainVisual--single, .p-mainVisual--page {
  background-size: 150%;
  height: 225px;
}
@media (min-width: 600px) {
  .p-mainVisual--single, .p-mainVisual--page {
    height: 60vw;
    max-height: 500px;
  }
}
@media (min-width: 1025px) {
  .p-mainVisual--single, .p-mainVisual--page {
    height: 500px;
    background-size: cover;
  }
}
@media (min-width: 600px) {
  .p-mainVisual--single__title, .p-mainVisual--page__title {
    font-size: 6rem;
    line-height: 1.498;
  }
}

/* frontページ アクセス */
.p-access {
  position: relative;
  background-color: #000000;
  width: 100%;
}
.p-access__embedCode iframe {
  position: absolute;
  width: 100%;
  height: 100%;
}
.p-access__overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 60%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.3);
}
@media (min-width: 600px) {
  .p-access__overlay {
    height: 100%;
  }
}
@media (min-width: 1025px) {
  .p-access__overlay {
    width: 61%;
  }
}
.p-access__inner {
  min-height: 691px;
  padding: 42px 0 57px;
}
@media (min-width: 600px) {
  .p-access__inner {
    min-height: 415px;
    padding: 42px 0 40px;
  }
}
@media (min-width: 1025px) {
  .p-access__inner {
    min-height: 649px;
    padding: 86px 0 75px;
  }
}
.p-access__title {
  position: relative;
  font-size: 3rem;
  line-height: 1.5;
  color: #FFFFFF;
  margin-left: 42px;
}
@media (min-width: 1025px) {
  .p-access__title {
    font-size: 3.6rem;
    margin-left: 119px;
  }
}
.p-access__title::after {
  content: "";
  display: block;
  width: 75px;
  height: 2px;
  background-color: #FFFFFF;
  position: absolute;
  bottom: -15px;
}
@media (min-width: 1025px) {
  .p-access__title::after {
    bottom: -51px;
  }
}
.p-access__text {
  position: relative;
  font-size: 1.4rem;
  color: #FFFFFF;
  line-height: 33px;
  margin: 29px 40px 0;
  white-space: normal;
}
@media (min-width: 600px) {
  .p-access__text {
    margin: 29px 29px 0 42px;
  }
}
@media (min-width: 1025px) {
  .p-access__text {
    font-size: inherit;
    margin: 109px 134px 0 119px;
  }
}
.p-access__text >a {
  text-decoration: underline;
  color: aqua;
}
.p-access .p-map__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}

/* archive・searchページ メインコンテンツンツ幅・余白調 */
@media (min-width: 600px) {
  .p-archive {
    min-width: 560px;
  }
}
@media (min-width: 1025px) {
  .p-archive {
    min-width: 756px;
  }
}
.p-archive__main {
  padding: 32px 0 62px;
}
@media (min-width: 600px) {
  .p-archive__main {
    padding: 39px 0 107px 0;
  }
}
@media (min-width: 600px) and (min-width: 1025px) {
  .p-archive__main {
    padding: 63px 0 150px;
  }
}

/* archive・searchページ メニューカード */
.p-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: #3C2B1C;
}
@media (min-width: 600px) {
  .p-card {
    flex-direction: row;
    height: 50vw;
  }
}
@media (min-width: 1025px) {
  .p-card {
    flex-direction: row;
    height: 35vw;
  }
}
.p-card__menu {
  margin-top: 5px;
}
@media (min-width: 600px) {
  .p-card__menu {
    margin-top: 15px;
  }
}
.p-card__menuList:not(:last-child) {
  margin-bottom: 21px;
}
@media (min-width: 1025px) {
  .p-card__menuList:not(:last-child) {
    margin-bottom: 30px;
  }
}
.p-card__image {
  width: 100%;
  height: 60vw;
  -o-object-fit: cover;
    object-fit: cover;
}
@media (min-width: 600px) {
  .p-card__image {
    width: 50%;
    height: 100%;
    aspect-ratio: 3.7 / 3.5;
  }
}
.p-card__content {
  color: #FFFFFF;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 40px;
  padding: 32.5px 17px 43.7px;
}
@media (min-width: 600px) {
  .p-card__content {
    gap: clamp(30px, 2.5vw, 60px);
    padding: 31px 59px 40px 34.7px;
  }
}
@media (min-width: 1025px) {
  .p-card__content {
    padding: clamp(31px, 1.5vw, 56px) clamp(59px, 1.5vw, 104px) clamp(40px, 1.5vw, 60px) clamp(34.7px, 1.5vw, 63px);
  }
}
.p-card__textBox {
  width: 100%;
}
.p-card__title {
  font-size: 2rem;
}
@media (min-width: 600px) {
  .p-card__title {
    font-size: clamp(1.5rem, 2.3vw, 2rem);
  }
}
@media (min-width: 1025px) {
  .p-card__title {
    font-size: 20px;
    line-height: 1.48;
  }
}
@media (min-width: 1550px) {
  .p-card__title {
    font-size: 3.6rem;
  }
}
.p-card__title-sub {
  margin-top: 21px;
}
@media (min-width: 600px) {
  .p-card__title-sub {
    font-size: clamp(1.2rem, 2vw, 2.4rem);
  }
}
@media (min-width: 1025px) {
  .p-card__title-sub {
    font-size: 1.6rem;
    margin-top: 44px;
  }
}
@media (min-width: 1550px) {
  .p-card__title-sub {
    font-size: 2.4rem;
  }
}
.p-card__text {
  margin-top: 7px;
}
@media (min-width: 600px) {
  .p-card__text {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
  }
}
@media (min-width: 1025px) {
  .p-card__text {
    margin-top: 13px;
  }
}
.p-card__button {
  display: inline-block;
  color: #707070;
  line-height: 1;
  padding: 13px 42px;
}
@media (min-width: 600px) {
  .p-card__button {
    font-size: clamp(1.2rem, 2vw, 1.6rem);
  }
}
@media (min-width: 1025px) {
  .p-card__button {
    padding: 22px 19%;
  }
}
.p-card__errorMessage {
  margin-top: 10px;
}

/* archive・searchページ イントロダクション */
.p-introduction__title {
  font-size: 2.8rem;
  margin-bottom: 25px;
}
@media (min-width: 600px) {
  .p-introduction__title {
    font-size: 3.6rem;
    margin-bottom: 40px;
  }
}
.p-card__errorMessage {
  margin-top: 50px;
  display: none;
}

/* ページネーション */
.p-pagenation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 35px 32px;
  color: #707070;
}
@media (min-width: 600px) {
  .p-pagenation {
    height: 35px;
    justify-content: space-around;
  }
}
@media (min-width: 767px) {
  .p-pagenation {
    justify-content: center;
    gap: 15px;
    margin: 0 0 64px;
  }
}
.p-pagenation__pages, .p-pagenation__notspList, .c-pageNamber--this {
  display: none;
}
@media (min-width: 600px) {
  .p-pagenation__pages, .p-pagenation__notspList, .c-pageNamber, .c-pageNamber--this {
    display: inline-block;
  }
}
.p-pagenation__link {
  display: inline-block;
  position: relative;
  font-size: 14px;
  line-height: 35px; /* tablet以上でのダブルアローの高さ調整 */
  color: #707070;
  padding: 0 15px; /* tablet以上でのダブルアローとページナンバー間のスペース保持 */
}
@media (min-width: 600px) {
  .p-pagenation__link {
    font-size: 0;
  }
}
.p-pagenation__link::before, .p-pagenation__link::after {
  content: "";
  border-top: solid 1px #707070;
  border-left: solid 1px #707070;
  display: inline-block;
  width: 15px;
  height: 15px;
  position: absolute;
  top: 10px;
}
.p-pagenation__link.-pre::before, .p-pagenation__link.-pre::after {
  transform: rotate(-45deg);
}
.p-pagenation__link.-pre::before {
  left: -30px;
}
@media (min-width: 600px) {
  .p-pagenation__link.-pre::before {
    left: 0;
  }
}
.p-pagenation__link.-pre::after {
  left: -20px;
}
@media (min-width: 600px) {
  .p-pagenation__link.-pre::after {
    left: 10px;
  }
}
.p-pagenation__link.-next {
  margin-left: auto;
}
@media (min-width: 600px) {
  .p-pagenation__link.-next {
    margin-left: 0;
  }
}
.p-pagenation__link.-next::before, .p-pagenation__link.-next::after {
  transform: rotate(135deg);
}
.p-pagenation__link.-next::before {
  right: -30px;
}
@media (min-width: 600px) {
  .p-pagenation__link.-next::before {
    right: 0px;
  }
}
.p-pagenation__link.-next::after {
  right: -20px;
}
@media (min-width: 600px) {
  .p-pagenation__link.-next::after {
    right: 10px;
  }
}
.p-pagenation__extend {
  display: none;
}
@media (min-width: 600px) {
  .p-pagenation__extend {
    display: block;
  }
}


/* ページネーションのページナンバー */
@media (min-width: 600px) {
  .p-pagenation__notspList, .c-pageNamber--this {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 35px;
    height: 35px;
    margin-right: 15px;
    border: 1px solid #707070;
  }
}
.p-pagenation__notspList:last-child, .c-pageNamber--this:last-child {
  margin-right: 0;
}
.p-pagenation__notspList:hover, .c-pageNamber--this:hover {
  background-color: rgba(112, 112, 112, 0.8);
  color: #FFFFFF;
}

/* single・pageページ　アーティクル上下の余白調整 */
.p-article {
  padding: 34px 0 69px;
}
@media (min-width: 600px) {
  .p-article {
    padding: 60px 0 149px;
  }
}
@media (min-width: 1025px) {
  .p-article {
    padding: 63px 0 274px;
  }
}

/* single・pageページ　ページネーション */
.p-article-pagenation {
  display: flex;
  justify-content: center;
  gap: 15px;
  align-items: center;
  margin: 0 0 64px;
  height: 35px;
  color: #707070;
}
.p-article-pagenation span.post-page-numbers {
  background-color: #3C2A10;
  color: #FFFFFF;
  pointer-events: none;
}
.p-article-pagenation__notspList {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 35px;
  height: 35px;
  border: 1px solid #707070;
}
.p-article-pagenation a.post-page-numbers {
  text-decoration: none;
  color: #3C2A10;
}
.p-article-pagenation__notspList:hover {
  background-color: rgba(112, 112, 112, 0.8);
  color: #FFFFFF;
}

/* ---single・pageページ　投稿・記事のスタイル調整--- */
/* リストのスタイリング */
.p-article ul {
  margin-bottom: 30px;
  list-style-type: none;
}
.p-article ol {
  list-style-type: decimal;
  margin-bottom: 30px;
}
@media (min-width: 600px) {
  .p-article ul, ol {
    margin-left: 50px;
  }
}
.p-article ol ol {
  margin: 17px 18px;
}
.p-article ul ul {
  margin: 17px 18px;
}

/* テキストのスタイリング */
.p-article h2 {
  font-size: 2.8rem;
  margin-bottom: 30px;
}
@media (min-width: 600px) {
  .p-article h2 {
    font-size: 3.6rem;
  }
}
.p-article h3 {
  font-size: 2.4rem;
  margin-bottom: 30px;
}
@media (min-width: 600px) {
  .p-article h3 {
    font-size: 2.8rem;
  }
}
.p-article h4, .p-article h5, .p-article h6 {
  font-size: 2rem;
  margin-bottom: 30px;
}
.p-article p {
  margin-bottom: 30px;
}
.p-article a {
  color: #4A6C9B;
  text-decoration: underline;
}

/* 画像、メディアとテキスト、ギャラリーの調整 */
.p-article figure {
  margin-bottom: 30px;
}
.p-article .wp-block-media-text {
  margin-bottom: 30px;
}
.p-article .wp-block-gallery {
  margin-bottom: 30px;
}
.p-particle .wp-block-gallery .wp-block-image > img {
  margin-bottom: 0;
}

/* 引用ブロックのスタイリング */
.p-article blockquote {
  padding: 30px 18px;
  margin-bottom: 30px;
  border-left: none;
}
@media (min-width: 600px) {
  .p-article blockquote {
    padding: 50px 60px;
  }
}
.p-article cite {
  font-style: normal;
  margin-top: 30px;
}
.p-article cite > a {
  color: #4A6C9B;
  text-decoration: underline;
}

/* コードのスタイリング */
.p-article pre {
  padding: 50px 0 50px 50px;
  font-family: "M PLUS 1p", sans-serif;
  margin-bottom: 30px;
}

/* ボタンのスタイリング */
.p-article .wp-block-button {
  margin-bottom: 30px;
}
.p-article .wp-block-button a {
  display: inline-block;
  padding: 20px 0;
}
@media (min-width: 600px) {
  .p-article .wp-block-button a {
    padding: 30px 0;
  }
}

/* iframeのスタイリング */
.p-article .iframe-container {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 75%; /* 4:3 アスペクト比 */
  overflow: hidden;
}
@media (min-width: 600px) {
  .p-article .iframe-container {
    position: relative;
    width: 60%;
    height: 0;
    padding-bottom: 45%; /* 4:3 アスペクト比 */
    overflow: hidden;
  }
}
.p-article .iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
}

/* タグの非表示 */
.p-content-hidden {
  display: none;
}

/* --- 404 page --- */
.p-mainVisual--404 {
  height: 100px;
  text-align: center;
}
@media (min-width: 790px) {
  .p-mainVisual--404 {
    height: 200px;
  }
}
.p-mainVisual__title--404 {
  font-size: 3.0rem;
  color: white;
  line-height: 1.48;
  transition: all 0.4s ease-in;
  margin: 0 auto;
}
@media (min-width: 790px) {
  .p-mainVisual__title--404 {
    font-size: 6.3rem;
    line-height: 1.475;
  }
}
.p-404__wrapper {
  text-align: center;
}
.p-404__article {
  padding: 30px 0 60px;
}
@media (min-width: 790px) {
  .p-404__article {
    padding: 50px 0 200px;
  }
}
@media (min-width: 1025px) {
  .p-404__article {
    padding: 50px 0 350px;
  }
}
.p-404__title {
  font-size: 2.0rem;
  margin-bottom: 15px;
}
@media (min-width: 600px) {
  .p-404__title {
    font-size: 4vw;
  }
}
@media (min-width: 1025px) {
  .p-404__title {
    font-size: 3vw;
  }
}
.p-404__text {
  font-size: 1.6rem;
  margin-bottom: 30px;
}
@media (min-width: 600px) {
  .p-404__text {
    font-size: 2.4vw;
  }
}
.p-article__button--404 {
  width: 60%;
  height: 15vw;
  border-radius: 40px;
  box-shadow: 0 10px #707070;
}
@media (min-width: 600px) {
  .p-article__button--404 {
    width: 50%;
    height: 12vw;
  }
}
@media (min-width: 1025px) {
  .p-article__button--404 {
    height: 10vw;
  }
}
.p-article__button--404:hover {
  box-shadow: 0 5px #707070;
  opacity: 1;
  transform: translateY(5px);
}
.p-article__button--404:active {
  box-shadow: 0 5px #707070;
  opacity: 1;
  transform: translateY(5px);
}
.p-404__homeLink {
  color: #3C2A10;
  font-size: 5vw;
}
@media (min-width: 600px) {
  .p-404__homeLink {
    font-size: 200%;
  }
}
.p-404__homeLink:hover {
  opacity: 1;
}

/* --- WP推奨スタイル --- */
.wp-caption {
  font-size: 1.3rem
}
.wp-caption-text {
  margin-top: -20px;
}
.sticky {
  padding: 20px;
  background: #FFFFFF;
}
.gallery-caption {
  font-size: 1.3rem
}
.bypostauthor {
  padding: 20px;
  background: #f0f8ff;
}
.alignright {
  float: right;
  margin-bottom: 20px;
  margin-left: 20px;
}
.alignleft {
  float: left;
  margin-right: 20px;
  margin-bottom: 20px;
}
.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
      white-space: nowrap;
  height: 1px;
  width: 1px;
  overflow: hidden;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; /* Above WP toolbar. */
}

/*# sourceMappingURL=style.css.map */