@charset "utf-8";
/* ==================================================== */

/*  フォントサイズ
/* ==================================================== */
:root {
  --fs74: clamp(6rem, 5.27vw, 7.2rem);
  --fs48: clamp(4rem, 3.5vw, 4.8rem);
  --fs42: clamp(3.4rem, 3vw, 4.2rem);
  --fs40: clamp(3.2rem, 2.9vw, 4rem);
  --fs38: clamp(3rem, 2.56vw, 3.8rem);
  --fs36: clamp(2.8rem, 2.63vw, 3.6rem);
  --fs35: clamp(2.8rem, 2.56vw, 3.5rem);
  --fs33: clamp(2.6rem, 2.4vw, 3.3rem);
  --fs32: clamp(2.4rem, 2.3vw, 3.2rem);
  --fs30: clamp(2.4rem, 2.19vw, 3rem);
  --fs29: clamp(2.4rem, 2.1vw, 2.9rem);
  --fs28: clamp(2.2rem, 2.04vw, 2.8rem);
  --fs27: clamp(2.2rem, 1.97vw, 2.7rem);
  --fs26: clamp(2.2rem, 1.9vw, 2.6rem);
  --fs25: clamp(2.2rem, 1.83vw, 2.5rem);
  --fs24: clamp(2.2rem, 1.756vw, 2.4rem);
  --fs23: clamp(2rem, 1.68vw, 2.3rem);
  --fs22: clamp(2rem, 1.6vw, 2.2rem);
  --fs21: clamp(1.8rem, 1.53vw, 2.1rem);
  --fs20: clamp(1.8rem, 1.4vw, 2rem);
  --fs18: clamp(1.6rem, 1.3vw, 1.8rem);
  --fs17: clamp(1.6rem, 1.2vw, 1.7rem);
  --fs16: clamp(15px, calc(15px + (16 - 15) * ((100vw - 768px) / (1366 - 768))), 16px);
  --fs15: clamp(14px, calc(14px + (15 - 14) * ((100vw - 768px) / (1366 - 768))), 15px);
  --fs14: clamp(13px, calc(13px + (14 - 13) * ((100vw - 768px) / (1366 - 768))), 14px);
  --fs13: clamp(12px, calc(12px + (13 - 12) * ((100vw - 768px) / (1366 - 768))), 13px);
  --fs12: clamp(11px, calc(11px + (12 - 11) * ((100vw - 768px) / (1366 - 768))), 12px);
}
@media screen and (max-width: 767px) {
  :root {
    --fs53: min(14.1vw, 5.3rem);
    --fs30: min(8vw, 3rem);
    --fs29: min(7.7vw, 2.9rem);
    --fs28: min(7.4vw, 2.8rem);
    --fs27: min(7.2vw, 2.7rem);
    --fs26: min(6.9vw, 2.6rem);
    --fs25: min(6.6vw, 2.5rem);
    --fs24: min(6.4vw, 2.4rem);
    --fs21: min(5.86vw, 2.2rem);
    --fs21: min(5.6vw, 2.1rem);
    --fs20: min(5.3vw, 2rem);
    --fs19: min(5.06vw, 1.9rem);
    --fs18: min(4.8vw, 1.8rem);
    --fs17: min(4.5vw, 1.7rem);
    --fs16: min(4.26vw, 1.6rem);
    --fs15: min(4vw, 1.5rem);
    --fs14: min(3.7vw, 1.4rem);
    --fs13: min(3.46vw, 1.3rem);
    --fs12: min(3.2vw, 1.2rem);
    --fs11: min(2.96vw, 1.1rem);
    --fs10: min(2.6vw, 1rem);
  }
}

/* ==================================================== */

/*  基本
/* ==================================================== */
html {
  /*scroll-behavior: smooth;*/ /* 標準のスムーズスクロール */
  scroll-padding-top: 80px; /* 固定ヘッダー分の余白 */
}
@media screen and (max-width: 767px) {
  html {
    scroll-padding-top: 0;
  }
}
html,
body {
  width: 100%;
  height: 100%;
  font-size: 62.5%;
}
body {
  position: relative;
  font-family: Meiryo, "メイリオ", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Helvetica Neue", Arial, "ＭＳ Ｐゴシック", sans-serif;
  font-size: var(--fs16);
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #000;

  -webkit-font-smoothing: antialiased;
}
body.active {
  /*ハンバーガーメニューを開いたら背景固定*/
  position: fixed;
  width: 100%;
}
body .contents {
  margin-top: min(7.54vw, 103px);
  line-height: 1.83;
  letter-spacing: 0;
}
@media (max-width: 1024px) {
  body .contents {
    margin-top: 0;
  }
}
main {
  display: block;
}
main figure {
  margin: 0;
}
a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.3s ease;
}
a:hover {
  transition: opacity 0.3s ease;
  opacity: 0.7;
}
@media screen and (max-width: 1024px) {
  a a[href^="tel"] {
    pointer-events: none;
  }
  a:hover {
    transition: opacity 0.3s ease;
    opacity: 0.7;
  }
}
img {
  width: 100%;
  height: auto;
}
img[src$=".svg"] {
  /*IEでimgタグのsrcにsvgを指定した時に崩れる防止*/
  width: 100%;
  height: auto;
}
sup {
  position: relative;
  top: -0.1em;
  font-size: 70%;
  vertical-align: top;
}
sub {
  position: relative;
  bottom: -0.1em;
  font-size: 70%;
  vertical-align: bottom;
}
@media (max-width: 767px) {
  body {
    font-size: var(--fs14);
  }
}

/* ==================================================== */

/*  全ページ共通（common）クラス
/* ==================================================== */
.flex {
  display: -webkit-box;
  display:    -moz-box;
  display: -webkit-flexbox;
  display:    -moz-flexbox;
  display:     -ms-flexbox;
  display: -webkit-flex;
  display:    -moz-flex;
  display:         flex;

  -js-display: flex;
}
.c-pc-only {
  display: inline-block !important;
}
.c-tab-only {
  display: none !important;
}
.c-sp-only {
  display: none !important;
}
.c-tab-over {
  display: inline-block !important;
}
.c-tab-less {
  display: none !important;
}
.clear {
  clear: both !important;
}
.c-justify {
  text-align: justify;
  text-justify: inter-ideograph;
  text-justify: inter-character;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .c-pc-only {
    display: none !important;
  }
  .c-tab-only {
    display: inline-block !important;
  }
  .c-sp-only {
    display: none !important;
  }
  .c-tab-over {
    display: inline-block !important;
  }
  .c-tab-less {
    display: inline-block !important;
  }
}
@media screen and (max-width: 767px) {
  .c-pc-only {
    display: none !important;
  }
  .c-tab-only {
    display: none !important;
  }
  .c-sp-only {
    display: inline-block !important;
  }
  .c-tab-over {
    display: none !important;
  }
  .c-tab-less {
    display: inline-block !important;
  }
}

/* ==================================================== */

/*  全ページ共通レイアウト
/* ==================================================== */
/*header*/
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 997;
  width: 100%;
  height: min(7.54vw, 103px);
  margin: 0 auto;
  background-color: transparent;
  transition: all 0.8s ease-in-out;
}
.l-header-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 17px 0 0 4.8%;
  letter-spacing: normal;
}
.l-header-area .logo {
  position: relative;
  z-index: 5;
  width: 16.35vw;
  max-width: 223.44px;
  transition: all 0.9s ease-in-out;
}
.l-header-area .logo a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 0;
}
.l-header-area .logo a svg {
  display: block;
  width: 100%;
  height: intrinsic;
  margin-bottom: 10px;
  vertical-align: top;
  transition: all 0.5s ease-in-out;
}

.l-header-area .logo a svg:last-child {
  height: 100%;
  margin-bottom: 0;
}
header .l-header-area .logo svg #main_tlt,
header .l-header-area .logo svg #sub_tlt {
  transition: all 0.5s ease-in-out;

  fill: rgb(255, 255, 255);
}

.header-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  align-items: flex-start;
  -ms-flex-align: start;
}
.header-nav .header-nav-logo {
  display: none;
}
.header-nav .nav-parent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -ms-flex-align: center;
}
.header-nav .nav-parent > li {
  padding: 12px 14.5px 12px;
  font-size: var(--fs16);
  font-weight: bold;
  color: #fff;
  transition: all 0.9s ease-in-out;
}
.header-nav .nav-parent > li.header-nav-parent {
  position: relative;
}
.header-nav .nav-parent > li.header-nav-parent a {
  padding-bottom: 20px;
}
.header-nav .nav-parent > li.header-nav-parent .header-nav-child {
  position: absolute;
  top: 48px;
  left: 50%;
  display: none;
  width: 169px;
  font-size: clamp(1.3rem, 1.02vw, 1.4rem);
  text-align: center;
  color: #fff;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.header-nav .nav-parent > li.header-nav-parent .header-nav-child li {
  width: 100%;
  margin-bottom: 3px;
  background-color: #ff7600;
}
.header-nav .nav-parent > li.sp-nav-only {
  display: none;
}
.header-nav .nav-parent > li.header-nav-parent .header-nav-child li a {
  display: block;
  padding: 11px 0;
}
.header-nav .nav-parent > li.header-nav-parent .header-nav-child.open {
  display: block;
}
.header-nav .nav-parent > li.exclusive {
  width: 125px;
  margin-left: 36px;
  padding: 0;
  background-color: #000;
  font-weight: normal;
  line-height: 1.2;
  text-align: center;
}
.header-nav .nav-parent > li.exclusive a {
  display: block;
  padding: 10px 0;
}
.header-nav .nav-parent > li.exclusive span {
  font-size: var(--fs14);
}
.header-nav .nav-parent > li.church-link {
  display: none;
}
.header-hamburger {
  display: none;
}
@media screen and (min-width: 765px) and (max-width: 1100px) {
  .l-header-area {
    padding: 12px 0 5px 3%;
  }
  .l-header-area .logo {
    width: 12vw;
  }
  .header-nav .nav-parent > li.exclusive {
    margin-left: 25px;
  }
}
@media (max-width: 1024px) {
  header {
    position: relative;
    height: 113px;
    background-color: transparent;
  }
  .l-header-area {
    position: relative;
    z-index: 4;
    padding: 20px 0 0 5.6%;
  }
  .l-header-area .logo {
    width: 45vw;
    max-width: 170.76px;
  }
  .header-nav {
    display: block;
  }
  .header-nav-logo {
    display: none;
  }
  .header-nav.active {
    display: block;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -webkit-transform: translateX(0);
            transform: translateX(0);
    opacity: 1;
  }
  .header-nav.active li {
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
  }
  .header-nav .nav-parent {
    display: none;
  }
  .header-nav .nav-parent > li.header-nav-parent a {
    padding: 10px 0 0;
  }
  .header-nav .nav-parent > li.header-nav-parent .menu_parent__wrapper .menu_parent {
    position: relative;
    margin-bottom: 15px;
    font-size: var(--fs20);
    font-weight: bold;
    color: #e27b23;
  }
  .header-nav .nav-parent > li.header-nav-parent .header-nav-child {
    position: static;
    display: block;
    width: 100%;
    margin-bottom: 40px;
    font-size: var(--fs16);
    text-align: left;
    color: #393939;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .header-nav .nav-parent > li.header-nav-parent .header-nav-child li {
    margin-bottom: 14px;
    padding-left: 5.3%;
    background-color: transparent;
  }
  .header-nav .nav-parent > li {
    padding: 12px 10vw;
    font-size: 1.6rem;
  }
  .header-nav .nav-parent > li a {
    position: relative;
    display: block;
  }
  .header-nav .nav-parent > li.header-nav-parent .header-nav-child li.parent {
    margin-bottom: 15px;
    padding-left: 0;
    font-size: var(--fs20);
    font-weight: bold;
    color: #e27b23;
  }
  .header-nav .nav-parent > li.header-nav-parent .header-nav-child li.parent a::before {
    display: none;
  }
  .header-hamburger {
    position: fixed;
    top: 41px;
    right: 27.8px;
    z-index: 998;
    display: block;
    width: 32.34px;
    height: 13.69px;
    background-color: #000;
  }
  .header-hamburger:before {
    position: absolute;
    top: -17px;
    right: -10px;
    bottom: -26px;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background-color: #000;
    content: "";
  }
  .header-hamburger span {
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 1px;
    background-color: #fff;
    -webkit-transition: 0.5s;
            transition: 0.5s;
  }
  .header-hamburger span:first-of-type {
    top: 0;
  }
  .header-hamburger span:nth-of-type(2) {
    top: 50%;
  }
  .header-hamburger span:last-of-type {
    top: 100%;
  }
  .header-hamburger:after {
    position: absolute;
    bottom: -26px;
    font-size: 100%;
    -webkit-transition: 0.5s;
            transition: 0.5s;
  }
  .header-hamburger.active:after {
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  .header-hamburger.active span:first-of-type {
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header-hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .header-hamburger.active span:last-of-type {
    top: 50%;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .active .header-nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 990;
    overflow-y: scroll;
    width: 100%;
    height: 100vh;
    padding: 20px 5.6% 49px;
    background-color: #fff;
  }
  .active .header-nav:before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 237px;
    height: 277px;
    background-image: url(../img/common/header_nav_bg_01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
  }
  .active .header-nav:after {
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    display: block;
    width: 209px;
    height: 857px;
    background-image: url(../img/common/header_nav_bg_02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
  }
  .active .l-header-area {
    padding: 0;
  }
  .header-nav .nav-parent.active {
    position: static;
    display: block;
    width: 100%;
    padding: 54px 5% 0;
  }
  .active .header-nav .nav-parent > li {
    padding: 0;
    font-size: var(--fs16);
    font-weight: normal;
    color: #393939;
  }
  .active .header-nav .nav-parent > li.contact-link {
    width: 190px;
    margin: 75px auto 19px;
    border: solid 1px #807c7c;
    font-size: var(--fs14);
    color: #000;
  }
  .active .header-nav .nav-parent > li.contact-link a {
    display: block;
    padding: 11px 5px 7px 16px;
  }
  .active .header-nav .nav-parent > li.contact-link a:before {
    display: inline-block;
    width: 17.92px;
    height: 11.87px;
    margin: 0 8px 2px 0;
    background-image: url(../img/common/icon_mail.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
  }
  .header-nav .nav-parent > li.exclusive {
    width: 190px;
    margin: 0 auto 19px;
    border: solid 1px #807c7c;
    background-color: transparent;
    font-size: var(--fs14);
    text-align: left;
    color: #000;
  }
  .header-nav .nav-parent > li.exclusive a {
    display: block;
    padding: 11px 5px 7px 16px;
  }
  .header-nav .nav-parent > li.exclusive a:before {
    display: inline-block;
    width: 16.56px;
    height: 19.93px;
    margin: 0 8px 2px 0;
    background-image: url(../img/common/icon_key.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
  }
  .header-nav .nav-parent > li.church-link {
    display: block;
    width: 190px;
    margin: 0 auto;
    border: solid 1px #807c7c;
    background-color: transparent;
    font-size: var(--fs14);
    text-align: left;
    color: #000;
  }
  .header-nav .nav-parent > li.church-link a {
    display: block;
    padding: 11px 5px 7px 16px;
  }
  .header-nav .nav-parent > li.church-link a:before {
    display: inline-block;
    width: 16px;
    height: 23px;
    margin: 0 8px 2px 0;
    background-image: url(../img/common/icon_cross.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
  }
  .header-nav .nav-parent > li.church-link a:after {
    display: inline-block;
    width: 12.54px;
    height: 12.54px;
    margin: 0 0 0 8px;
    background-image: url(../img/common/icon_blank.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
  }

  .active .header-nav .nav-parent > li.sp-nav-only.parent {
    display: block;
    margin-bottom: 15px;
    font-size: var(--fs18);
    font-weight: bold;
    color: #e27b23;
  }
  .header-nav .nav-parent > li.privacy {
    display: block;
    margin: 30px auto 0;
    font-size: var(--fs14);
    text-align: center;
    color: #393939;
  }
  .header-nav .nav-parent > li.header-nav-parent .header-nav-child li a {
    position: relative;
    display: block;
    padding: 0;
  }
  .header-nav .nav-parent > li.header-nav-parent .header-nav-child li a:before {
    font-size: var(--fs16);
    color: #ff7600;
    content: "・";
  }
  .active .header-nav .nav-parent > li.nav a:after {
    display: inline-block;
    width: 16.49px;
    height: 12.41px;
    margin: 8px 0 0 0;
    background-image: url(../img/common/arrow_02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    content: "";
  }
  .header-hamburger.active:after {
    content: none;
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
  .header-hamburger.active span:first-of-type {
    top: 50%;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .header-hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .header-hamburger.active span:last-of-type {
    top: 50%;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .active .header-nav .header-nav-logo {
    display: block;
    width: 45vw;
    max-width: 170.76px;
  }
  .active .header-nav .header-nav-logo p {
    padding-top: 7px;
    font-size: var(--fs14);
  }
}
/*header コンテンツページ */
.page-contents header {
  background-color: #fff;
}
.page-contents header .l-header-area .logo svg #main_tlt,
.page-contents header .l-header-area .logo svg #sub_tlt {
  fill: rgb(0, 0, 0);
}
.page-contents .header-nav .nav-parent > li {
  color: #000;
}
.page-contents .header-nav .nav-parent > li.exclusive a {
  color: #fff;
}
@media screen and (min-width: 1101px) {
  .page-contents .l-header-area {
    align-items: center;
    padding: 14px 0 14px 4.8%;
  }
  .page-contents .l-header-area .logo {
    width: 12.55vw;
    max-width: 171.4px;
  }
}
@media (max-width: 1024px) {
  .page-contents .l-header-area {
    padding: 20px 0 15px 5.6%;
  }
  .page-contents .header-nav .nav-parent > li.exclusive a {
    color: #000;
  }
}

/*header スクロール時*/
@media screen and (min-width: 765px) {
  header.show {
    background-color: #fff;
  }
  .page-contents header.show{
    height: min(6.9vw, 95px);
  }
  header.show .l-header-area {
    padding: 9px 0 0 4.8%;
  }
  header.show .l-header-area .logo {
    width: 11vw;
  }
  header.show .l-header-area .logo a svg {
    margin-bottom: 5px;
  }
  header.show .l-header-area .logo svg #main_tlt,
  header.show .l-header-area .logo svg #sub_tlt {
    fill: rgb(0, 0, 0);
  }
  header.show .header-nav {
    align-items: center;
  }
  header.show .header-nav .nav-parent > li {
    color: #000;
  }
  header.show .header-nav .nav-parent > li.exclusive {
    color: #fff;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1100px) {
  header.show {
    height: 72px;
    background-color: #fff;
  }
  header.show .l-header-area {
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 8px 0 5px 3%;
  }
  header.show .l-header-area .logo {
    width: 12vw;
  }
  header.show .l-header-area .logo a svg:last-child {
    margin-bottom: 0;
  }
}

/*footer*/
footer {
  position: relative;
  z-index: 992;
  padding: 79px 0 59px;
  background-color: #f7f7f7;
}
footer .pagetop {
  position: fixed;
  right: 20px;
  bottom: 13px;
  display: none;
}
footer .pagetop a {
  position: relative;
  z-index: 3;
  display: inline-block;
  width: 52px;
  height: 52px;
  padding: 23px 18px 0;
  border-radius: 50%;
  background-color: #000;
}
footer .pagetop a:after {
  display: block;
  width: 15px;
  height: 15px;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  content: "";
  -webkit-transform: rotate(315deg);
          transform: rotate(315deg);
}
footer .inner > .flex {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  letter-spacing: normal;
}
footer .flex .footer-left .footer-logo {
  width: 159.2px;
  margin-bottom: 39px;
}
footer .flex .footer-left .access-txt {
  margin-bottom: 40px;
  font-size: var(--fs16);
  line-height: 1.8;
}
footer .flex .footer-left .contact-link {
  width: 190px;
  margin-bottom: 9px;
  border: solid 1px #807c7c;
}
footer .flex .footer-left .contact-link a {
  display: block;
  padding: 11px 5px 7px 16px;
}
footer .flex .footer-left .contact-link a:before {
  display: inline-block;
  width: 17.92px;
  height: 11.87px;
  margin: 0 8px 2px 0;
  background-image: url(../img/common/icon_mail.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  content: "";
}
footer .flex .footer-left .exclusive-link {
  width: 190px;
  margin-bottom: 9px;
  border: solid 1px #807c7c;
}
footer .flex .footer-left .exclusive-link a {
  display: block;
  padding: 11px 5px 7px 16px;
}
footer .flex .footer-left .exclusive-link a:before {
  display: inline-block;
  width: 16.56px;
  height: 19.93px;
  margin: 0 8px 2px 0;
  background-image: url(../img/common/icon_key.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  content: "";
}
footer .flex .footer-left .church-link {
  width: 190px;
  margin-bottom: 34px;
  border: solid 1px #807c7c;
}
footer .flex .footer-left .church-link a {
  display: block;
  padding: 11px 5px 7px 16px;
}
footer .flex .footer-left .church-link a:before {
  display: inline-block;
  width: 16px;
  height: 23px;
  margin: 0 8px 2px 0;
  background-image: url(../img/common/icon_cross.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  content: "";
}
footer .flex .footer-left .church-link a:after {
  display: inline-block;
  width: 12.54px;
  height: 12.54px;
  margin: 0 0 0 8px;
  background-image: url(../img/common/icon_blank.svg);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
  content: "";
}
footer .flex .footer-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 81px;
}
footer .flex .footer-right .footer-index {
  margin-right: 31px;
  font-size: var(--fs15);
}
footer .flex .footer-right .footer-index span {
  display: inline-block;
  color: #ff7600;
}
footer .flex .footer-right .footer-index span b {
  display: block;
  margin-bottom: 14px;
  font-size: var(--fs17);
  font-weight: normal;
}
footer .flex .footer-right .footer-index p {
  margin-bottom: 6px;
}
footer .flex .footer-right .last-footer-index {
  margin-right: 0;
}
footer .flex .footer-right .last-footer-index span {
  display: block;
  margin-bottom: 6px;
}
footer .copyright {
  padding-top: 22px;
  text-align: center;
  color: #a0a0a0;
}
@media (max-width: 1024px) {
  footer .flex .footer-right .footer-index {
    margin-right: 17px;
  }
  footer .flex .footer-right .footer-index span b {
    font-size: var(--fs15);
  }
}
@media screen and (max-width: 767px) {
  footer {
    padding: 51px 0 92px;
  }
  footer .inner > .flex {
    display: block;
  }
  footer .flex .footer-left .footer-logo {
    width: 57.6%;
    max-width: 173px;
    margin-bottom: 24px;
  }
  footer .flex .footer-left .access-txt {
    margin-bottom: 36px;
  }
  footer .flex .footer-left .contact-link,
  footer .flex .footer-left .exclusive-link,
  footer .flex .footer-left .church-link {
    margin: 0 auto 17px;
  }
  footer .flex .footer-left .privacy-txt {
    margin: 44px auto 0;
    text-align: center;
  }
  footer .flex .footer-right {
    display: none;
  }
  footer .copyright {
    padding-top: 42px;
    font-size: var(--fs10);
    letter-spacing: normal;
  }
  footer .pagetop {
    position: fixed;
    right: 0;
    bottom: 0;
    display: block !important;
    width: 61px;
    height: 61px;
  }
  footer .pagetop a {
    width: 61px;
    height: 61px;
    padding: 26px 23px 0;
    border-radius: 0;
    opacity: 1 !important;
  }
}
/*コンテンツページ*/
.contents-area {
  overflow: hidden;
}
.contents-head .contents-tlt {
  position: relative;
  width: 100%;
  height: 437px;
  background: url("../img/about/contents_full.webp") no-repeat center/cover;
}
.contents-head .contents-tlt h1 {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  font-size: var(--fs35);
  text-align: center;
  color: #fff;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  .contents-head .contents-tlt {
    height: 250px;
  }
  .contents-head .contents-tlt h1 {
    font-size: var(--fs25);
  }
}
/*サブコンテンツページ*/
.sub-contents-head .contents-ttl {
  margin-top: min(8.93vw, 122px);
  background-color: #faf1ac;
  background-image: none;
  line-height: 1.1;
}
.sub-contents-head .contents-ttl h1 {
  padding: 1em 0;
  font-size: var(--fs25);
}
@media screen and (max-width: 1024px) {
  .sub-contents-head .contents-ttl {
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .sub-contents-head .contents-ttl {
    margin-top: 0;
  }
  .sub-contents-head .contents-ttl h1 {
    padding: 0.8em 0;
    font-size: var(--fs23);
  }
}

/* ====================================================
inner
==================================================== */
.max-inner {
  max-width: 2000px;
  margin: auto;
}
.inner {
  max-width: 1168px; /*1088*/
  margin: 0 auto;
  padding: 0 40px;
}
.inner-s {
  max-width: 824px; /*744*/
  margin: 0 auto;
  padding: 0 40px;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 9.8%;
  }
  .inner-s {
    padding: 0 9.8%;
  }
}

/* ====================================================
共通ボタン
==================================================== */
.c-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.c-btn a {
  position: relative;
  display: block;
  width: 312px;
  height: 63px;
  border: solid 1px #707070;
  border-radius: 32px;
  font-size: var(--fs17);
  line-height: 63px;
  text-align: center;
  color: #393939;
}
.c-btn a:after {
  position: absolute;
  top: 0;
  right: 30px;
  bottom: 0;
  width: 10px;
  height: 10px;
  margin: auto;
  border: 0;
  border-top: solid 1px #393939;
  border-right: solid 1px #393939;
  content: "";
  transform: rotate(45deg);
}

/* ====================================================
コンテンツページ 共通
==================================================== */
/*コンテンツページ　見出し*/
.contents-area .sub-tlt {
  position: relative;
}
.contents-area .sub-tlt span.mark {
  position: absolute;
  top: -139px;
  left: -14.641vw;
  z-index: -1;
  width: 34.9vw;
  max-width: 401px;
}
.contents-area .sub-tlt h2 {
  font-size: var(--fs33);
}
@media screen and (max-width: 767px) {
  .contents-area .sub-tlt span.mark {
    top: -50px;
    left: -18.6vw;
    width: 53.333vw;
    max-width: 200px;
  }
  .contents-area .sub-tlt h2 {
    font-size: var(--fs27);
  }
}
/*アンカー*/
.contents-area .anchor-list {
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 25px auto 30px;
  color: #ff7600;
}
.contents-area .anchor-list a {
  padding: 7px 4.96% 5px;
  border-right: 1px solid #707070;
}
.contents-area .anchor-list a:last-child {
  border-right: none;
}
@media screen and (max-width: 767px) {
  .contents-area .anchor-list {
    display: none;
  }
}

/*横幅いっぱい画像*/
.contents-area .se__full-img {
  position: relative;
  z-index: -1;
  width: 100%;
  height: 437px;
  min-height: 437px;
}
@media screen and (max-width: 767px) {
  .contents-area .se__full-img {
    height: 256px;
    min-height: 256px;
  }
}
/* ====================================================
comingsoon error
==================================================== */
.comingsoon.guardian .contents-area,
.error .contents-area {
  padding: 100px 0;
}
.comingsoon.guardian .contents-area h4,
.error .contents-area h4 {
  margin-bottom: 29px;
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  color: #ff7600;
}
.comingsoon.guardian .contents-area p,
.error .contents-area p {
  margin-bottom: 1vw;
  text-align: center;
}
.error .contents-area .c-btn {
  margin-top: 4em;
}
@media screen and (max-width: 767px) {
  .comingsoon.guardian .contents-area h4,
  .error .contents-area h4 {
    font-size: var(--fs27);
  }
}
/* ====================================================
WordPress ページナビ
==================================================== */
.wp-pagenavi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;

  gap: 7px;
}
.wp-pagenavi a,
.wp-pagenavi span {
  display: inline-block;
  width: 30px;
  height: 30px;
  padding: 0 !important;
  font-size: var(--fs14);
  font-weight: bold;
  line-height: 30px;
  text-align: center;
  white-space: nowrap;
}
.wp-pagenavi .pages {
  display: none;
}
.wp-pagenavi a.page,
.wp-pagenavi span.extend {
  border: none;
  line-height: 30px;
}
.wp-pagenavi a.nextpostslink,
.wp-pagenavi a.previouspostslink {
  border: none;
  color: #a2a2a2;
}
.wp-pagenavi a.last {
  color: #a2a2a2;
}
.wp-pagenavi .current {
  border: none;
  border-radius: 30px;
  background: #ff7600;
  color: #fff;
}
.wp-pagenavi .nextpostslink-span {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-top: 16px;
  border: 0;
  border-top: solid 1px #000;
  border-right: solid 1px #000;
  line-height: normal;
  transform: rotate(45deg);
}
@media screen and (max-width: 767px) {
  .wp-pagenavi {
    gap: 10px;
  }
  .wp-pagenavi a {
    display: inline-block;
    width: 35px;
    height: 35px;
    font-size: 14px;
    line-height: 35px;
    text-align: center;
  }
  .wp-pagenavi a.first {
    width: auto;
  }
  .wp-pagenavi a.last {
    width: auto;
  }
  .wp-pagenavi span {
    display: inline-block;
    width: 35px;
    height: 35px;
    border: none;
    font-size: 16px;
    line-height: 35px;
    text-align: center;
  }
  .wp-pagenavi .current {
    width: 35px;
  }
}

/* ====================================================
アニメーション
==================================================== */
/*アニメーションテキスト フェードイン下から上*/
.fade-up {
  transition: opacity 1.3s, transform 1.3s;
  transform: translateY(70px);
  opacity: 0;
}
.fade-up.active {
  transition: opacity 1.3s, transform 1.3s;
  transform: translateY(0);
  animation-name: fadeUp;
  animation-duration: 1.3s;

  animation-fill-mode: forwards;
}
@keyframes fadeUp {
  from {
    transform: translateY(70px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
