@charset "UTF-8";
/*TB PC 表示*/
/*PC大表示*/
/*Viewport Extra */
@media (min-width: 768px) {
  body {
    min-width: 1280px; } }
.sp {
  display: block !important; }

.pc {
  display: none !important; }

.pc_inlineblock {
  display: none; }

@media (min-width: 768px) {
  .sp {
    display: none !important; }

  .pc {
    display: block !important; }

  .pc_inlineblock {
    display: inline-block; } }
/*input textarea 初期値リセット*/
input {
  padding: 0;
  border: none;
  border-radius: 0;
  background: none; }

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: 0;
  resize: vertical;
  background: transparent; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  background: transparent; }

/* ======================================
common
====================================== */
* {
  margin: 0px;
  padding: 0px; }

*,
*:before,
*:after {
  box-sizing: border-box; }

html {
  font-size: 62.5% !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

body {
  min-width: 100%;
  -webkit-text-size-adjust: none;
  background: url(../images/Bg_common.jpg);
  background-size: 250px;
  background-repeat: repeat;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  text-align: justify; }
  body.no_scroll {
    overflow: hidden;
    /*メニュー開でスクロール無効*/ }

a {
  text-decoration: none;
  color: #000; }

.order01 {
  order: 1; }

.order02 {
  order: 2; }

.order03 {
  order: 3; }

.order04 {
  order: 4; }

.order05 {
  order: 5; }

.order06 {
  order: 6; }

.order07 {
  order: 7; }

.order08 {
  order: 8; }

.order09 {
  order: 9; }

.order10 {
  order: 10; }

.section {
  width: 100vw;
  margin: 60px auto 0; }

.Area_wide {
  padding-left: 20px;
  padding-right: 20px; }
  @media (min-width: 768px) {
    .Area_wide {
      padding-right: 15%;
      padding-left: 15%; } }

.Area_narrow {
  padding-left: 30px;
  padding-right: 30px; }
  @media (min-width: 768px) {
    .Area_narrow {
      padding-right: 20%;
      padding-left: 20%; } }

.bg_gray {
  background: url(../images/Bg_gray.jpg) !important;
  background-size: 250px !important;
  background-repeat: repeat !important; }

a {
  text-decoration: none;
  color: unset; }

.button {
  position: relative;
  height: 44px;
  width: 214px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  font-size: 1.6rem;
  transition: 0.5s; }
  @media (min-width: 768px) {
    .button {
      font-size: 1.8rem;
      height: 64px;
      width: 274px; } }
  .button:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border: 1px solid #969696;
    transition: transform .3s;
    z-index: -1;
    transform: translate(2px, 2px);
    transition: .5s; }
  .button:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border: 1px solid #969696;
    transition: transform .3s;
    z-index: -1;
    transform: translate(-2px, -2px);
    transition: .5s; }
  .button:hover {
    background: #2C2C2C;
    color: #fff; }
    .button:hover:before {
      transform: translate(0px, 0px);
      border: 1px solid #2C2C2C; }
    .button:hover:after {
      transform: translate(0px, 0px);
      border: 1px solid #2C2C2C; }

/*=====動き02 ふわっと下から表示=====*/
.fade {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 1.5s, transform 1s; }

.fade.active {
  opacity: 1;
  transform: translateY(0px); }

/*見出し*/
h1, h2, h3, h4, h5, h6 {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal; }

.ttl_h2_read_top {
  font-size: 2.6rem; }

.ttl_h2 {
  font-size: 2.1rem;
  text-align: center;
  position: relative;
  padding-top: 50px;
  padding-bottom: 80px;
  margin-top: 100px; }
  @media (min-width: 768px) {
    .ttl_h2 {
      margin-top: 120px; } }
  .ttl_h2:before {
    content: "";
    background-color: #5272DD;
    width: 27px;
    height: 1px;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%); }

.ttl_h3_card {
  font-size: 2.1rem;
  position: relative; }
  .ttl_h3_card:before {
    content: "";
    width: 15px;
    height: 1px;
    background-color: #5272DD;
    position: absolute;
    left: -40px;
    top: 50%; }

.ttl_h1_2nd {
  font-size: 2.15rem;
  margin: 0 auto;
  letter-spacing: 0.4em; }

.ttl_h2_2nd {
  font-size: 2.2rem;
  line-height: 1.455; }
  @media (min-width: 768px) {
    .ttl_h2_2nd {
      font-size: 2.3rem; } }
  .ttl_h2_2nd .ttl_sub {
    font-size: 1.6rem;
    display: block;
    margin-bottom: 5px; }

.ttl_item_h3_2nd {
  font-size: 1.5rem; }

.txt_read {
  font-size: 1.5rem;
  line-height: 2.133;
  margin-top: 50px; }
  @media (min-width: 768px) {
    .txt_read {
      margin-top: 70px; } }

.tate {
  writing-mode: vertical-rl; }

@media (min-width: 768px) {
  .center_pc {
    text-align: center; } }

.txt_card {
  font-size: 1.4rem;
  line-height: 1.643; }

.txt_news {
  font-size: 1.4rem;
  line-height: 1.571; }

.txt_normal {
  font-size: 1.4rem;
  line-height: 1.929; }

/*------------------
ローディング
------------------*/
#loading {
  width: 100vw;
  height: 100svh;
  background: #2C2C2C;
  position: fixed;
  display: none; }
  #loading img.logo_white {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 160px;
    height: auto;
    z-index: 100; }
    @media (min-width: 768px) {
      #loading img.logo_white {
        top: 48%;
        width: 208px;
        height: auto; } }

/*------------------
ヘッダー
------------------*/
header {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  width: 100%;
  height: 80px;
  z-index: 10000;
  position: fixed;
  top: 0px;
  left: 0px;
  padding: 20px 0 0 20px;
  /*ベントーメニューアイコン↓*/ }
  @media (min-width: 768px) {
    header {
      padding: 32px 0 0 32px; } }
  header.display {
    display: block;
    opacity: 1; }
  header.top {
    opacity: 0;
    display: none; }
  header #navi {
    transition: opacity 0.2s ease; }
    header #navi:checked ~ label {
      transform: rotate(225deg);
      /*.dots:nth-of-type(2) { transform: scaleY(4.75); }*/
      /*.dots:nth-of-type(4) { transform: scaleX(4.75); }*/
      /*.dots:nth-of-type(5) { filter: opacity(0); }*/
      /*.dots:nth-of-type(6) { transform: scaleX(4.75); }*/
      /*.dots:nth-of-type(8) { transform: scaleY(4.75); }*/ }
      header #navi:checked ~ label .dots:nth-of-type(1) {
        filter: opacity(0); }
      header #navi:checked ~ label .dots:nth-of-type(3) {
        filter: opacity(0); }
      header #navi:checked ~ label .dots:nth-of-type(7) {
        filter: opacity(0); }
      header #navi:checked ~ label .dots:nth-of-type(9) {
        filter: opacity(0); }
  header label {
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: space-between;
    width: 20px;
    height: 20px;
    transition: .5s; }
    header label .dots {
      width: 4px;
      height: 4px;
      background-color: black;
      transition: .5s; }
      header label .dots:nth-of-type(3n+2) {
        margin: 0 4px; }
      header label .dots:nth-of-type(2) {
        transform-origin: top; }
      header label .dots:nth-of-type(4) {
        transform-origin: left; }
      header label .dots:nth-of-type(6) {
        transform-origin: right; }
      header label .dots:nth-of-type(8) {
        transform-origin: bottom; }

/*ベントーメニューアイコン↑*/
/*開閉の表示と制御↓*/
#navi:checked ~ .navi_list {
  /*display: block;*/
  filter: opacity(1);
  pointer-events: auto; }

.navi_list {
  transition: 0.5s;
  filter: opacity(0);
  width: 100vw;
  height: 100vh;
  background: #fff;
  pointer-events: none;
  position: absolute;
  top: 0px;
  left: 0px;
  z-index: -1;
  writing-mode: vertical-rl; }
  .navi_list .logo_menu {
    position: fixed;
    top: 30px;
    right: 30px;
    z-index: 100; }
  .navi_list ul {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%); }
    .navi_list ul li {
      margin: 0 10vw; }
      @media (min-width: 768px) {
        .navi_list ul li {
          margin: 0 5vw; } }
      .navi_list ul li a {
        font-size: 1.5rem;
        letter-spacing: 0.4em;
        line-height: 1;
        width: 1em;
        display: inline-block; }

/*開閉の表示と制御↑*/
/*初期表示メニュー↓*/
@media (min-width: 768px) {
  .head_menu {
    position: fixed;
    top: 55px;
    left: 55px;
    z-index: 100; }
    .head_menu ul {
      display: flex; }
      .head_menu ul li {
        margin-left: 0px;
        margin-right: 35px; }
        .head_menu ul li a {
          font-size: 1.5rem;
          letter-spacing: 0.4em; }

  #top .head_menu {
    display: none;
    opacity: 0; } }
/*初期表示メニュー↑*/
/*ホバーで右線引かれる*/
@media (min-width: 768px) {
  .navi_current a {
    position: relative; }
    .navi_current a:after {
      position: absolute;
      /*親要素であるaタグを基準に位置を指定*/
      top: 0;
      right: -6px;
      /*アンダーラインを各メニュー（aタグ）の左端に指定*/
      content: '';
      /*本来は、擬似要素に入るテキストなどを’’内に指定。今回はアンダーラインなので何も記載しない*/
      width: 1px;
      /*アンダーラインを各aタグの幅に合わせる*/
      height: 100%;
      /*アンダーラインの高さ（太さ）*/
      background: #5272DD;
      /*アンダーラインの色*/
      transform: scale(1, 0);
      /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
      transform-origin: right top;
      /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
      transition: transform 0.3s;
      /*変形の時間*/ }
    .navi_current a:hover:after {
      transform: scale(1, 1);
      /*ホバー後、x軸方向に1（相対値）伸長*/ } }
/*------------------
カレント表示
------------------*/
.navi_current a {
  position: relative; }

.navi_current a.current:after {
  position: absolute;
  top: 0;
  right: -6px;
  content: '';
  width: 1px;
  height: 100%;
  background: #5272DD;
  transform: none;
  transition: none;
  transform-origin: unset; }
  .navi_current a.current:after:hover {
    transform: none; }

/*------------------
共通
------------------*/
.section {
  /*background: red;*/ }

.Area_logo {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 160px;
  height: auto;
  z-index: 100; }
  @media (min-width: 768px) {
    .Area_logo {
      top: 48%;
      width: 208px;
      height: auto; } }

/*------------------
横 パララックス
------------------*/
.Area_fv {
  padding: 0;
  margin: 0;
  overflow: hidden;
  height: 100vh;
  position: relative; }

.scroll {
  position: absolute !important;
  bottom: 40px;
  left: 0; }

.horizon {
  z-index: 1;
  width: 2700px; }
  .horizon img {
    height: auto;
    width: 120vw; }

.middle {
  z-index: 500;
  width: 3300px; }
  .middle img {
    height: auto;
    width: 120vw; }

.front {
  z-index: 1000;
  width: 4000px; }
  .front img {
    height: auto;
    width: 120vw; }

/*------------------
マウスに反応
------------------*/
.Area_fv_img {
  height: 100svh;
  width: 100vw;
  position: relative;
  margin-bottom: 100px;
  overflow: hidden;
  opacity: 0; }
  .Area_fv_img img.img_01 {
    position: absolute;
    top: 0;
    mix-blend-mode: multiply; }
  .Area_fv_img img.img_02 {
    position: absolute;
    bottom: 0; }

@media (min-width: 768px) {
  .parallaxArea {
    position: relative;
    height: 100vh;
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden; }
    .parallaxArea .pararaxItem {
      position: absolute; }
      .parallaxArea .pararaxItem:nth-child(1) {
        height: 100vh;
        width: 120vw;
        transition: transform 4s ease-out .0010s;
        background-image: url(../images/fv_img01.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 400px; }
      .parallaxArea .pararaxItem:nth-child(2) {
        height: 100vh;
        width: 120vw;
        transition: transform 3.5s ease-out .0009s;
        background-image: url(../images/fv_img02.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 300px; }
      .parallaxArea .pararaxItem:nth-child(3) {
        height: 100vh;
        width: 120vw;
        transition: transform 1.2s ease-out .0008s;
        background-image: url(../images/fv_img03.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 100px; }
      .parallaxArea .pararaxItem:nth-child(4) {
        height: 100vh;
        width: 120vw;
        transition: transform 1.0s ease-out .0004s;
        background-image: url(../images/fv_img04.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 100px; }
      .parallaxArea .pararaxItem:nth-child(5) {
        height: 100vh;
        width: 120vw;
        background-image: url(../images/fv_img05.png);
        transition: transform .6s ease-out 0s;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 100px; }
      .parallaxArea .pararaxItem:nth-child(6) {
        height: 100vh;
        width: 120vw;
        background-image: url(../images/fv_img06.png);
        transition: transform .55s ease-out 0s;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 100px; }
      .parallaxArea .pararaxItem:nth-child(7) {
        height: 100vh;
        width: 120vw;
        background-image: url(../images/fv_img07.png);
        transition: transform .5s ease-out 0s;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 100px; }
      .parallaxArea .pararaxItem:nth-child(8) {
        height: 100vh;
        width: 120vw;
        background-image: url(../images/fv_img08.png);
        transition: transform .45s ease-out 0s;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 100px; }
      .parallaxArea .pararaxItem:nth-child(9) {
        height: 100vh;
        width: 120vw;
        background-image: url(../images/fv_img09.png);
        transition: transform .4s ease-out 0s;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 100px; }
      .parallaxArea .pararaxItem:nth-child(10) {
        height: 100vh;
        width: 120vw;
        background-image: url(../images/fv_img10.png);
        transition: transform .35s ease-out 0s;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: bottom;
        bottom: 100px; }
    .parallaxArea .centerObj {
      position: absolute;
      z-index: 100;
      width: 80px;
      height: 80px; }
      .parallaxArea .centerObj img {
        width: 100%; } }
/*------------------
TOP イントロ
------------------*/
.Area_Intro {
  position: relative; }
  @media (min-width: 768px) {
    .Area_Intro {
      display: flex;
      justify-content: center;
      margin-bottom: 120px;
      margin-top: 100px; } }
  .Area_Intro .Area_intro01 {
    width: 100%;
    height: 54vw;
    display: flex;
    justify-content: flex-end;
    margin-top: 30px; }
    @media (min-width: 768px) {
      .Area_Intro .Area_intro01 {
        width: auto;
        height: auto;
        order: 3;
        margin-top: 0px; } }
    .Area_Intro .Area_intro01 .ttl_h2_read_top {
      line-height: 1.9;
      letter-spacing: 0.1em;
      margin-left: 20px; }
      .Area_Intro .Area_intro01 .ttl_h2_read_top .line {
        position: relative;
        display: inline-block;
        opacity: 0;
        transform: translateY(-10px);
        /* 初期状態で5px左にずらす */
        transition: opacity 0.5s ease, transform 0.5s ease;
        /* アニメーション */
        border-right: 1px solid #5272DD; }
        .Area_Intro .Area_intro01 .ttl_h2_read_top .line:before {
          content: "";
          position: absolute;
          top: 0px;
          bottom: 0px;
          right: 1px;
          border-right: 1px solid #5272DD; }
  @media (min-width: 768px) {
    .Area_Intro .Area_intro02 {
      order: 1;
      min-width: 400px;
      position: relative; } }
  .Area_Intro .Area_intro02 img {
    position: absolute; }
    .Area_Intro .Area_intro02 img.intro_img01 {
      width: 21vw;
      top: 18vw;
      left: 24vw; }
      @media (min-width: 768px) {
        .Area_Intro .Area_intro02 img.intro_img01 {
          width: 163px;
          top: 40px;
          left: 30px; } }
    .Area_Intro .Area_intro02 img.intro_img02 {
      width: 21vw;
      top: 13vw;
      left: 41vw; }
      @media (min-width: 768px) {
        .Area_Intro .Area_intro02 img.intro_img02 {
          width: 163px;
          top: 0px;
          left: 170px; } }
    .Area_Intro .Area_intro02 img.intro_img03 {
      width: 21vw;
      top: 36vw;
      left: 22vw; }
      @media (min-width: 768px) {
        .Area_Intro .Area_intro02 img.intro_img03 {
          width: 163px;
          top: 180px;
          left: 0; } }
    .Area_Intro .Area_intro02 img.intro_img04 {
      width: 21vw;
      top: 32vw;
      left: 45vw; }
      @media (min-width: 768px) {
        .Area_Intro .Area_intro02 img.intro_img04 {
          width: 163px;
          top: 155px;
          left: 192px; } }
  .Area_Intro .Area_intro03 {
    width: 100%;
    height: 300px;
    font-size: 1.5rem;
    line-height: 2.1;
    margin-top: 60px; }
    @media (min-width: 768px) {
      .Area_Intro .Area_intro03 {
        width: auto;
        order: 2;
        margin-top: 0;
        /*margin-left: 37vw;*/ } }
    .Area_Intro .Area_intro03 p {
      margin: 0 auto;
      letter-spacing: 0.1em; }

/*------------------
TOP 通元院を知る
------------------*/
.bg_gray.Area_know {
  padding-top: 60px;
  padding-bottom: 60px; }
  @media (min-width: 768px) {
    .bg_gray.Area_know {
      padding-top: 100px;
      padding-bottom: 100px; } }
.bg_gray .ttl_h2 {
  margin-top: 0; }
@media (min-width: 768px) {
  .bg_gray .Area_know_card {
    display: flex;
    justify-content: space-between; } }
.bg_gray .Area_know_card li {
  width: 100%;
  background-color: #fff;
  transition: 0.5s; }
  @media (min-width: 768px) {
    .bg_gray .Area_know_card li {
      width: 30%; } }
  .bg_gray .Area_know_card li:not(:first-of-type) {
    margin-top: 20px; }
    @media (min-width: 768px) {
      .bg_gray .Area_know_card li:not(:first-of-type) {
        margin-top: 0; } }
  .bg_gray .Area_know_card li img {
    width: 100%; }
  .bg_gray .Area_know_card li .txt_box {
    padding: 40px; }
    .bg_gray .Area_know_card li .txt_box .ttl_h3_card:before {
      transition: all 0.3s ease-out;
      transform: scalex(1);
      transform-origin: left; }
    .bg_gray .Area_know_card li .txt_box p {
      margin-top: 23px; }
  .bg_gray .Area_know_card li:hover {
    box-shadow: 0px 0px 10px 3px rgba(0, 0, 0, 0.2); }
    .bg_gray .Area_know_card li:hover .ttl_h3_card:before {
      transform: scaleX(2);
      transform-origin: left; }

/*------------------
TOP お知らせ
------------------*/
.list_news {
  margin-bottom: 60px; }
  @media (min-width: 768px) {
    .list_news {
      margin-bottom: 70px; } }
  .list_news li a {
    display: block;
    padding: 15px 0;
    border-top: 1px solid #C8C8C8;
    transition: 0.3s ease; }
    @media (min-width: 768px) {
      .list_news li a {
        padding: 32px 0;
        display: flex;
        justify-content: space-between; }
        .list_news li a:hover {
          background-color: rgba(200, 200, 200, 0.1); } }
    .list_news li a .date {
      font-size: 1.4rem;
      line-height: 1.571; }
      @media (min-width: 768px) {
        .list_news li a .date {
          min-width: 130px; } }
    .list_news li a .txt_news {
      margin-top: 10px; }
      @media (min-width: 768px) {
        .list_news li a .txt_news {
          width: 80%;
          margin-top: 0px; } }
  .list_news li:last-of-type {
    border-bottom: 1px solid #C8C8C8; }

.pagenation {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center; }
  .pagenation li {
    margin: 0 5px;
    font-size: 1.4rem; }
    .pagenation li.news_current a {
      color: #fff;
      background: #1A1311;
      text-decoration: none; }
    .pagenation li a {
      text-decoration: underline;
      padding: 1px 8px 3px; }

/*------------------
TOP お知らせ 詳細
------------------*/
.section_news_detail .date {
  font-size: 1.5rem; }
.section_news_detail .ttl_h2_news {
  font-size: 2.1rem;
  line-height: 1.455;
  margin-bottom: 50px; }
  @media (min-width: 768px) {
    .section_news_detail .ttl_h2_news {
      font-size: 2.3rem;
      line-height: 1.478;
      margin-bottom: 50px; } }
.section_news_detail h3 {
  font-size: 2.0rem;
  line-height: 1.7;
  margin-top: 50px;
  margin-bottom: 30px; }
.section_news_detail h4 {
  font-size: 1.8rem;
  line-height: 1.889;
  margin-top: 40px;
  margin-bottom: 20px; }
.section_news_detail ul li {
  font-size: 1.4rem;
  margin-top: 20px;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.455; }
  .section_news_detail ul li:before {
    content: "・";
    font-size: 1.4rem; }
.section_news_detail p {
  font-size: 1.4rem;
  line-height: 2.143;
  margin-top: 20px; }
.section_news_detail img {
  margin: 35px auto 50px;
  display: block; }
  @media (min-width: 768px) {
    .section_news_detail img {
      margin-top: 50px; } }
.section_news_detail figcaption {
  margin-top: -40px;
  margin-bottom: 50px;
  font-size: 1.3rem;
  line-height: 1.615; }
.section_news_detail .button {
  margin-top: 60px; }
  @media (min-width: 768px) {
    .section_news_detail .button {
      margin-top: 100px; } }
  .section_news_detail .button p {
    margin-top: 0;
    font-size: 1.6rem; }
    @media (min-width: 768px) {
      .section_news_detail .button p {
        font-size: 1.8rem; } }
.section_news_detail a {
  text-decoration: underline;
  transition: 0.3s; }
  .section_news_detail a.form_btn {
    text-decoration: none; }
  @media (min-width: 768px) {
    .section_news_detail a:hover {
      opacity: 0.6; } }
.section_news_detail h6 {
  font-size: 1.2rem;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  margin-top: 15px;
  line-height: 1.4;
  text-indent: -1.5em;
  padding-left: 1.5em; }
  .section_news_detail h6:before {
    content: "※";
    font-size: 1.2rem;
    padding-right: 0.5em; }

/*------------------
2nd 共通
------------------*/
/*トップロゴ↓*/
.logo_top {
  position: fixed;
  top: 30px;
  right: 30px;
  z-index: 100;
  opacity: 0; }

/*トップロゴ↑*/
.logo_2nd {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 100; }
  @media (min-width: 768px) {
    .logo_2nd {
      position: absolute;
      position: fixed;
      top: 30px;
      right: 30px;
      z-index: 100; } }

.fv_2nd {
  overflow-x: hidden; }
  .fv_2nd .Area_h1_2nd {
    height: 390px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 40px; }
  .fv_2nd .Area_fv_2nd {
    width: 100vw;
    height: 150px;
    position: relative; }
    .fv_2nd .Area_fv_2nd .img_cloud {
      min-width: 200px;
      max-width: 600px;
      margin: 0 auto;
      position: relative; }
      .fv_2nd .Area_fv_2nd .img_cloud img {
        position: absolute;
        mix-blend-mode: multiply; }
        .fv_2nd .Area_fv_2nd .img_cloud img.img01 {
          top: -100px;
          right: -50px;
          width: 191px;
          height: auto; }
        .fv_2nd .Area_fv_2nd .img_cloud img.img02 {
          top: -50px;
          left: -40px;
          width: 165px;
          height: auto; }
        .fv_2nd .Area_fv_2nd .img_cloud img.img01_02 {
          top: -200px;
          right: -50px;
          width: 191px;
          height: auto; }
        .fv_2nd .Area_fv_2nd .img_cloud img.img02_02 {
          top: -150px;
          left: -40px;
          width: 165px;
          height: auto; }
    .fv_2nd .Area_fv_2nd img {
      position: absolute; }
      .fv_2nd .Area_fv_2nd img.img03 {
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        width: 228px;
        height: auto; }
  .fv_2nd .Area_h1_2nd_02 {
    height: 390px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 40px; }
  .fv_2nd .Area_fv_2nd_02 {
    width: 100vw;
    height: 0px;
    position: relative; }
    .fv_2nd .Area_fv_2nd_02 .img_cloud {
      min-width: 200px;
      max-width: 600px;
      margin: 0 auto;
      position: relative; }
      .fv_2nd .Area_fv_2nd_02 .img_cloud img {
        position: absolute;
        mix-blend-mode: multiply; }
        .fv_2nd .Area_fv_2nd_02 .img_cloud img.img01 {
          top: -200px;
          right: -50px;
          width: 191px;
          height: auto; }
        .fv_2nd .Area_fv_2nd_02 .img_cloud img.img02 {
          top: -150px;
          left: -40px;
          width: 165px;
          height: auto; }

/*------------------
2nd 寺宝・文化財
------------------*/
/*マウスストーカー*/
@media (min-width: 768px) {
  #js-mouse_L, #js-mouse_R {
    pointer-events: none;
    position: fixed;
    top: -30px;
    left: -30px;
    width: 50px;
    height: 50px;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    transform: translate(0, 0);
    transition: transform 0.3s ease-out;
    z-index: 9999;
    opacity: 0;
    box-shadow: 0px 0px 2px 1px rgba(0, 0, 0, 0.1); }

  #js-mouse_L::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 54%;
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translate(-50%, -50%) rotate(-135deg);
    /* 中央配置し、45度回転 */ }

  #js-mouse_R::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 46%;
    width: 12px;
    height: 12px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: translate(-50%, -50%) rotate(45deg);
    /* 中央配置し、45度回転 */ } }
.section_jihou {
  overflow: hidden;
  /*swiper↓*/
  /*swiper01↓*/
  /*swiper02↓*/
  /*左右ボタン*/
  /*ページネーション 調整↓*/
  /*ページネーション 調整↑*/
  /*swiper↑*/ }
  .section_jihou .ttl_h2 {
    /*margin-top:60px;
    @media (min-width:768px) {margin-top:100px;}*/ }
  .section_jihou .swiper {
    margin-top: 80px; }
    @media (min-width: 768px) {
      .section_jihou .swiper {
        margin-top: 100px; } }
  .section_jihou .swiper01 {
    overflow: unset !important; }
    .section_jihou .swiper01.mgt_adjust {
      margin-top: 0px; }
    .section_jihou .swiper01 .swiper--wrapper {
      /* wrapperのサイズを調整 */
      width: 100%;
      aspect-ratio: 3.5 / 2.5; }
      @media (min-width: 768px) {
        .section_jihou .swiper01 .swiper--wrapper {
          height: 35vw; } }
    .section_jihou .swiper01 .swiper-slide {
      /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
      color: #ffffff;
      width: 100%;
      aspect-ratio: 3.5 / 2.5;
      text-align: center; }
  .section_jihou .swiper02 {
    overflow: unset !important; }
    @media (min-width: 768px) {
      .section_jihou .swiper02 {
        width: 100%; } }
    .section_jihou .swiper02.mgt_adjust {
      margin-top: 60px; }
      @media (min-width: 768px) {
        .section_jihou .swiper02.mgt_adjust {
          margin-top: 100px; } }
    .section_jihou .swiper02 .swiper--wrapper {
      /* wrapperのサイズを調整 */
      width: 100%;
      aspect-ratio: 3.5 / 2.5; }
      @media (min-width: 768px) {
        .section_jihou .swiper02 .swiper--wrapper {
          height: 35vw;
          width: 50%; } }
    .section_jihou .swiper02 .swiper-slide {
      /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
      color: #ffffff;
      width: 100%;
      aspect-ratio: 3.5 / 2.5;
      text-align: center; }
      @media (min-width: 768px) {
        .section_jihou .swiper02 .swiper-slide {
          width: 50%; } }
  .section_jihou .swiper-button-next, .section_jihou .swiper-button-prev {
    height: 100%;
    width: 30%;
    top: 0;
    margin-top: 0; }
    .section_jihou .swiper-button-next:after, .section_jihou .swiper-button-prev:after {
      content: none; }
  .section_jihou .swiper-button-next {
    right: 0; }
  .section_jihou .swiper-button-prev {
    left: 0; }
  .section_jihou .swiper-horizontal > .swiper-pagination-bullets, .section_jihou .swiper-pagination-bullets.swiper-pagination-horizontal, .section_jihou .swiper-pagination-custom, .section_jihou .swiper-pagination-fraction {
    bottom: -30px !important; }
    @media (min-width: 768px) {
      .section_jihou .swiper-horizontal > .swiper-pagination-bullets, .section_jihou .swiper-pagination-bullets.swiper-pagination-horizontal, .section_jihou .swiper-pagination-custom, .section_jihou .swiper-pagination-fraction {
        bottom: -30px !important; } }
  .section_jihou .swiper-pagination-bullet {
    border-radius: 0 !important;
    width: 5px !important;
    height: 5px !important; }
    @media (min-width: 768px) {
      .section_jihou .swiper-pagination-bullet {
        width: 7px !important;
        height: 7px !important; } }
  .section_jihou .swiper-pagination-bullet-active {
    background: #000 !important; }
  .section_jihou .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .section_jihou .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 5px !important; }
    @media (min-width: 768px) {
      .section_jihou .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .section_jihou .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 7px !important; } }
  .section_jihou .Area_item {
    margin-top: 70px; }
    @media (min-width: 768px) {
      .section_jihou .Area_item {
        margin-top: 100px; } }
    .section_jihou .Area_item.mgt0 {
      margin-top: 0 !important; }
  .section_jihou .txt_normal {
    margin-top: 30px;
    /*@media (min-width:768px) {margin-top:30px;}*/ }
    .section_jihou .txt_normal.sp_mgt_0 {
      margin-top: 0; }
      @media (min-width: 768px) {
        .section_jihou .txt_normal.sp_mgt_0 {
          margin-top: 30px; } }
  .section_jihou .ttl_item_h3_2nd {
    margin-top: 30px; }
  .section_jihou .Area_jihou_pickup {
    border-top: 1px solid #D8D8D8;
    border-bottom: 1px solid #D8D8D8;
    padding: 18px 0;
    margin-top: 12px; }
    .section_jihou .Area_jihou_pickup p {
      font-size: 1.3rem;
      line-height: 1.615; }
      .section_jihou .Area_jihou_pickup p + p {
        margin-top: 10px; }
  @media (min-width: 768px) {
    .section_jihou .flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-left: 8.4%;
      margin-right: 8.4%; } }
  .section_jihou .flex .Area_swiper {
    overflow: hidden;
    padding-bottom: 30px; }
    @media (min-width: 768px) {
      .section_jihou .flex .Area_swiper {
        width: 65%; } }
  .section_jihou .flex .Area_item02 {
    margin-top: 20px;
    padding-left: 30px;
    padding-right: 30px; }
    @media (min-width: 768px) {
      .section_jihou .flex .Area_item02 {
        padding-left: 8%;
        padding-right: 0%;
        width: 35%; } }
  @media (min-width: 768px) {
    .section_jihou .flex .order01 {
      /*padding-left:10%;
      padding-right:0%;*/ } }

/*------------------
2nd 通元院について
------------------*/
.img_greeting {
  width: 100%; }
  @media (min-width: 768px) {
    .img_greeting {
      padding-left: 18%;
      padding-right: 18%; } }

.Area_txt {
  position: relative;
  margin: 0 auto; }
  @media (min-width: 768px) {
    .Area_txt {
      max-width: 600px;
      margin-top: 70px;
      display: flex;
      justify-content: center;
      height: 300px; } }
  .Area_txt .txt_greeting {
    margin-top: 30px;
    margin-bottom: 30px; }
    @media (min-width: 768px) {
      .Area_txt .txt_greeting {
        margin-left: 30px;
        margin-top: 0px;
        margin-bottom: 0px; } }
    .Area_txt .txt_greeting .indent {
      display: block; }
      @media (min-width: 768px) {
        .Area_txt .txt_greeting .indent {
          text-indent: 1em; } }
  @media (min-width: 768px) {
    .Area_txt .txt_normal {
      writing-mode: vertical-rl; } }
  .Area_txt .sign {
    position: absolute;
    width: 60px;
    left: 200px;
    bottom: -17px; }
    @media (min-width: 768px) {
      .Area_txt .sign {
        width: 70px;
        bottom: -10px;
        left: -40px; } }

@media (min-width: 768px) {
  .Area_yuisho {
    padding-left: 15%;
    padding-right: 15%;
    margin-top: 100px;
    display: flex;
    justify-content: space-between;
    align-items: center; } }
.Area_yuisho img {
  margin: 60px auto 0;
  height: auto;
  display: block; }
  @media (min-width: 768px) {
    .Area_yuisho img {
      margin: 0 auto; } }
  .Area_yuisho img.img_yuisho01 {
    width: 140px; }
    @media (min-width: 768px) {
      .Area_yuisho img.img_yuisho01 {
        width: 200px; } }
  .Area_yuisho img.img_yuisho02 {
    width: 150px; }
    @media (min-width: 768px) {
      .Area_yuisho img.img_yuisho02 {
        width: 300px;
        padding: 0px 30px 0 0; } }
  .Area_yuisho img.img_yuisho03 {
    width: 210px; }
    @media (min-width: 768px) {
      .Area_yuisho img.img_yuisho03 {
        width: 300px; } }
.Area_yuisho .block_txt {
  margin-top: 30px;
  padding-left: 30px;
  padding-right: 30px; }
  @media (min-width: 768px) {
    .Area_yuisho .block_txt {
      padding-left: 0px;
      padding-right: 0px;
      margin-top: 0;
      width: 40vw; } }
  .Area_yuisho .block_txt .txt_normal {
    margin-top: 30px; }
  .Area_yuisho .block_txt a {
    display: block;
    margin-top: 20px;
    font-size: 1.45rem;
    text-decoration: underline; }

.img_yuisho_bottom {
  width: 110vw;
  margin: 80px auto 0; }
  @media (min-width: 768px) {
    .img_yuisho_bottom {
      margin-top: 120px;
      padding-right: 7.8%;
      padding-left: 7.8%; } }

@media (min-width: 768px) {
  .Area_gaiyou {
    display: flex;
    justify-content: space-between;
    align-items: center; } }
.Area_gaiyou .list_gaiyou {
  padding-left: 30px;
  padding-right: 30px;
  border-bottom: 1px solid #C8C8C8; }
  @media (min-width: 768px) {
    .Area_gaiyou .list_gaiyou {
      padding-left: 0px;
      padding-right: 0px;
      width: 33.5vw; } }
  .Area_gaiyou .list_gaiyou li {
    border-top: 1px solid #C8C8C8;
    padding: 10px 0;
    display: flex; }
    .Area_gaiyou .list_gaiyou li .th {
      width: 20%;
      min-width: 70px; }
    .Area_gaiyou .list_gaiyou li .td {
      width: 80%; }
    .Area_gaiyou .list_gaiyou li a {
      text-decoration: underline; }
.Area_gaiyou img {
  margin-top: 50px;
  width: 100%;
  padding-left: 30px;
  padding-right: 30px; }
  @media (min-width: 768px) {
    .Area_gaiyou img {
      margin-top: 0;
      width: 45vw;
      margin-right: 20px; } }

/*------------------
2nd 年間行事
------------------*/
/*.Area_schedule{
	@media (min-width:768px) {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	li{
		border-bottom:1px solid #C8C8C8;
		padding:10px 0;	
		@media (min-width:768px) {
			display: flex;
			justify-content: flex-start;
			align-items: center;
		}
		&:first-of-type{
			border-top:1px solid #C8C8C8;
		}
		@media (min-width:768px) {
			width:calc(50% - 25px);
			&:nth-of-type(2){
				border-top:1px solid #C8C8C8;
			}
		}
		@media (min-width:1440px) {
			width:calc(33.3333% - 25px);
			&:nth-of-type(3){
				border-top:1px solid #C8C8C8;
			}
		}
		.date{
			@media (min-width:768px) {
				min-width:180px;
			}
		}
		.icon{
			font-size:1.3rem;
			margin-left:20px;
			padding:0 3px 1px;
			background: #000;
			color:#fff;
		}
	}
}*/
@media (min-width: 768px) {
  .field_schedule {
    display: flex;
    justify-content: space-between; } }
.field_schedule .Area_schedule {
  border-top: 1px solid #C8C8C8; }
  .field_schedule .Area_schedule:nth-of-type(2) {
    border-top: none; }
  @media (min-width: 768px) {
    .field_schedule .Area_schedule {
      width: calc(50% - 25px); }
      .field_schedule .Area_schedule:nth-of-type(2) {
        border-top: 1px solid #C8C8C8; } }
  .field_schedule .Area_schedule li {
    border-bottom: 1px solid #C8C8C8;
    padding: 10px 0;
    /*@media (min-width:1440px) {
    	width:calc(33.3333% - 25px);
    	&:nth-of-type(3){
    		border-top:1px solid #C8C8C8;
    	}
    }*/ }
    @media (min-width: 768px) {
      .field_schedule .Area_schedule li {
        display: flex;
        justify-content: flex-start;
        align-items: center; } }
    @media (min-width: 768px) {
      .field_schedule .Area_schedule li .date {
        min-width: 180px; } }
    .field_schedule .Area_schedule li .date .text_date {
      width: 60px;
      display: inline-block; }
    .field_schedule .Area_schedule li .icon {
      font-size: 1.3rem;
      margin-left: 10px;
      padding: 0 3px 1px;
      background: #000;
      color: #fff; }

/*------------------
2nd お問い合わせ
------------------*/
.Area_form li:not(:first-of-type) {
  margin-top: 30px; }
@media (min-width: 768px) {
  .Area_form li {
    display: flex; }
    .Area_form li:not(:first-of-type) {
      margin-top: 70px; }
    .Area_form li.textarea {
      align-items: unset; }
      .Area_form li.textarea .form_title {
        padding-top: 10px; } }
.Area_form li .form_title {
  font-size: 1.5rem;
  line-height: 1.455;
  width: 100%;
  margin-bottom: 20px; }
  @media (min-width: 768px) {
    .Area_form li .form_title {
      width: auto;
      min-width: 208px;
      margin-bottom: 0px; } }
  .Area_form li .form_title span {
    font-size: 1.3rem;
    margin-left: 20px;
    padding: 0 3px 1px;
    background: #000;
    color: #fff; }
.Area_form li .form_box {
  width: 100%; }
  .Area_form li .form_box p {
    font-size: 1.5rem;
    line-height: 1.6; }
    .Area_form li .form_box p input {
      margin-top: -15px;
      width: 100%;
      padding: 15px;
      border: 1px solid #707070; }
      @media (min-width: 768px) {
        .Area_form li .form_box p input {
          width: 100%; } }
    .Area_form li .form_box p textarea {
      margin-top: -15px;
      width: 100%;
      padding: 15px;
      border: 1px solid #707070; }
      @media (min-width: 768px) {
        .Area_form li .form_box p textarea {
          width: 100%; } }

/*個人情報保護方針*/
.agree {
  height: 272px;
  margin-top: 70px;
  padding: 30px;
  border: #707070 solid 1px;
  position: relative;
  overflow-y: auto; }
  .agree .ttl_h2_agree {
    font-size: 1.6rem;
    margin-bottom: 24px;
    text-align: center; }
  .agree .ttl_h3_agree {
    font-size: 1.5rem;
    margin-top: 30px;
    margin-bottom: 15px; }
  .agree p {
    font-size: 1.4rem;
    line-height: 2.143; }
  .agree ol {
    margin-top: 15px;
    margin-bottom: 20px; }
    .agree ol > li {
      list-style-type: decimal;
      font-size: 1.4rem;
      line-height: 1.6;
      margin-top: 10px;
      margin-left: 1.5em; }
      .agree ol > li + ol {
        margin-left: 4em; }
  .agree ul {
    margin-top: 15px;
    margin-bottom: 20px; }
    .agree ul li {
      font-size: 1.4rem;
      line-height: 1.6;
      margin-top: 5px;
      text-align: left; }

/*ボタン*/
.form_btn {
  margin-top: 80px;
  display: flex;
  /*justify-content: space-between;*/
  justify-content: center; }
  @media (min-width: 768px) {
    .form_btn {
      padding: 0 2vw;
      justify-content: center; } }
  .form_btn li {
    position: relative;
    /*height:44px;
    width:37vw;
    max-width:274px;*/
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    font-size: 1.6rem;
    transition: 0.5s; }
    @media (min-width: 768px) {
      .form_btn li {
        margin: 0 auto;
        font-size: 1.8rem;
        /*height:64px;
        width:26vw;
        max-width:274px;*/ } }
    .form_btn li:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      border: 1px solid #969696;
      transition: transform .3s;
      z-index: -1;
      transform: translate(2px, 2px);
      transition: .5s; }
    .form_btn li:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      border: 1px solid #969696;
      transition: transform .3s;
      z-index: -1;
      transform: translate(-2px, -2px);
      transition: .5s; }
    .form_btn li:hover {
      background: #2C2C2C;
      color: #fff; }
      .form_btn li:hover:before {
        transform: translate(0px, 0px);
        border: 1px solid #2C2C2C; }
      .form_btn li:hover:after {
        transform: translate(0px, 0px);
        border: 1px solid #2C2C2C; }
      .form_btn li:hover button, .form_btn li:hover input {
        color: #fff; }
    .form_btn li button, .form_btn li input {
      font-size: 1.6rem;
      color: #000;
      font-family: "Noto Serif JP", serif;
      font-optical-sizing: auto;
      font-weight: 400;
      font-style: normal;
      height: 44px;
      width: 37vw;
      max-width: 274px; }
      @media (min-width: 768px) {
        .form_btn li button, .form_btn li input {
          height: 64px;
          width: 26vw;
          max-width: 274px; } }

/*------------------
共通 フッター
------------------*/
.pankuzu {
  font-size: 1.1rem;
  margin-bottom: 10px;
  margin-top: 80px;
  display: flex;
  white-space: nowrap;
  overflow-x: scroll;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
  height: 13px; }
  @media (min-width: 768px) {
    .pankuzu {
      margin-top: 120px; } }
  .pankuzu li:not(:last-of-type):after {
    content: ">";
    display: inline-block;
    padding: 0 10px; }
  .pankuzu li a {
    text-decoration: underline; }

.footer {
  padding: 47px 0 24px 0;
  /*コピーライト*/ }
  @media (min-width: 768px) {
    .footer {
      padding: 47px 7.8% 24px 7.8%; } }
  .footer .Area_footer {
    /*リンクエリア*/
    /*ロゴエリア*/ }
    @media (min-width: 768px) {
      .footer .Area_footer {
        display: flex;
        justify-content: space-between; } }
    .footer .Area_footer .Area_link_footer {
      display: flex;
      justify-content: space-between;
      padding-left: 20px;
      padding-right: 20px; }
      @media (min-width: 768px) {
        .footer .Area_footer .Area_link_footer {
          width: 240px;
          display: block;
          order: 2;
          padding-left: 0;
          padding-right: 0; } }
      .footer .Area_footer .Area_link_footer .list_footerlink {
        order: 2;
        display: flex;
        margin-left: 8vw; }
        @media (min-width: 768px) {
          .footer .Area_footer .Area_link_footer .list_footerlink {
            justify-content: right;
            margin-left: 8vw; } }
        .footer .Area_footer .Area_link_footer .list_footerlink li {
          font-size: 1.4rem;
          margin: 0 5vw; }
          @media (min-width: 768px) {
            .footer .Area_footer .Area_link_footer .list_footerlink li {
              font-size: 1.5rem;
              margin: 0 17px; } }
          .footer .Area_footer .Area_link_footer .list_footerlink li:last-of-type {
            margin-left: 0; }
          .footer .Area_footer .Area_link_footer .list_footerlink li a {
            display: block;
            letter-spacing: 0.4em; }
          .footer .Area_footer .Area_link_footer .list_footerlink li:nth-of-type(1) {
            order: 5; }
          .footer .Area_footer .Area_link_footer .list_footerlink li:nth-of-type(2) {
            order: 4; }
          .footer .Area_footer .Area_link_footer .list_footerlink li:nth-of-type(3) {
            order: 3; }
          .footer .Area_footer .Area_link_footer .list_footerlink li:nth-of-type(4) {
            order: 2; }
          .footer .Area_footer .Area_link_footer .list_footerlink li:nth-of-type(5) {
            order: 1; }
      .footer .Area_footer .Area_link_footer .button_footer {
        order: 1;
        display: block; }
        .footer .Area_footer .Area_link_footer .button_footer img {
          width: 65px;
          height: auto;
          transition: 0.3s; }
          @media (min-width: 768px) {
            .footer .Area_footer .Area_link_footer .button_footer img {
              width: 240px;
              margin-top: 30px; }
              .footer .Area_footer .Area_link_footer .button_footer img:hover {
                box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2); } }
      .footer .Area_footer .Area_link_footer .Area_footer_banner {
        display: flex; }
        @media (min-width: 768px) {
          .footer .Area_footer .Area_link_footer .Area_footer_banner {
            justify-content: right;
            transition: 0.3s; }
            .footer .Area_footer .Area_link_footer .Area_footer_banner:hover {
              opacity: 0.5; } }
        .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner {
          background-color: #fff;
          box-shadow: 0px 5px 15px rgba(84, 84, 84, 0.25);
          margin-bottom: 30px;
          margin-left: 10px;
          margin-right: 10px;
          width: 65px;
          height: 210px; }
          @media (min-width: 768px) {
            .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner {
              display: flex;
              width: unset;
              min-width: 300px;
              height: 65px;
              /*margin-left:auto;
              margin-right: 0px;*/
              margin-top: 40px; } }
          @media (min-width: 768px) {
            .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_img {
              width: 50%; } }
          .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text {
            position: relative;
            height: 146px; }
            @media (min-width: 768px) {
              .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text {
                width: 50%;
                height: auto; } }
            .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text:after {
              content: "";
              background-image: url(../images/icon_outlink.svg);
              width: 10px;
              height: 8px;
              position: absolute;
              bottom: 5px;
              right: 5px; }
              @media (min-width: 768px) {
                .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text:after {
                  top: 5px;
                  bottom: auto;
                  right: 5px; } }
            .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text .box_text {
              position: relative;
              padding-top: 30px; }
              @media (min-width: 768px) {
                .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text .box_text {
                  position: absolute;
                  padding-top: 0px;
                  top: 46%;
                  left: 50%;
                  transform: translate(-50%, -50%);
                  -webkit-transform: translate(-50%, -50%);
                  -ms-transform: translate(-50%, -50%);
                  width: auto;
                  min-width: 110px;
                  text-align: center; } }
              .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text .box_text:after {
                content: "";
                background-image: url(../images/footer_banner_icon.svg);
                position: absolute;
                width: 20.06px;
                height: 9.88px;
                top: 12px;
                right: 23px;
                background-size: contain;
                background-repeat: no-repeat; }
                @media (min-width: 768px) {
                  .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text .box_text:after {
                    width: 24.11px;
                    height: 11.88px;
                    top: auto;
                    bottom: -4px;
                    right: -5px; } }
              .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text .box_text p {
                text-align: center;
                color: #000; }
                .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text .box_text p.sub {
                  font-size: 0.9rem;
                  font-weight: 500;
                  writing-mode: vertical-rl;
                  margin: 0 auto;
                  line-height: 1.4em;
                  letter-spacing: 0.25em; }
                  @media (min-width: 768px) {
                    .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text .box_text p.sub {
                      width: 110px;
                      writing-mode: unset;
                      line-height: inherit;
                      letter-spacing: inherit; } }
              .footer .Area_footer .Area_link_footer .Area_footer_banner .footer_banner .block_text .box_text .ttl {
                margin: 8px auto 0; }
    @media (min-width: 768px) {
      .footer .Area_footer .Area_logo_footer {
        order: 1;
        display: flex;
        align-items: flex-start; } }
    @media (min-width: 768px) {
      .footer .Area_footer .Area_logo_footer a {
        order: 2; } }
    .footer .Area_footer .Area_logo_footer a img {
      display: block;
      width: 93px;
      margin: 40px auto 20px; }
      @media (min-width: 768px) {
        .footer .Area_footer .Area_logo_footer a img {
          width: 164px;
          margin: 0 0 0 30px; } }
    @media (min-width: 768px) {
      .footer .Area_footer .Area_logo_footer .Area_address {
        order: 1; } }
    .footer .Area_footer .Area_logo_footer .Area_address .address {
      text-align: center;
      font-size: 1.1rem;
      line-height: 1.818; }
      @media (min-width: 768px) {
        .footer .Area_footer .Area_logo_footer .Area_address .address {
          text-align: left;
          writing-mode: vertical-rl;
          width: 60px;
          margin-right: 0px;
          /*.kigou{
          	transform: rotate(90deg);
          	display: inline-block;
          }*/ } }
  .footer .copyright {
    text-align: center;
    font-size: 1.0rem;
    margin-top: 20px; }
    @media (min-width: 768px) {
      .footer .copyright {
        width: 100%; } }

/*TB PC*/
/*------------------
2nd 絵本で通元院
------------------*/
.book, .book02 {
  transition: opacity 0.4s 0.2s; }

.page, .page02 {
  width: 36vw;
  height: 27vw;
  background-color: #fff;
  float: left;
  margin-bottom: 0.5em;
  color: transparent;
  background: left top no-repeat;
  background-size: cover;
  cursor: pointer;
  user-select: none; }
  .page:first-child, .page02:first-child {
    float: left;
    /* 右綴じなので左に配置 */ }
  .page:nth-child(even), .page02:nth-child(even) {
    clear: both; }

.bound01 {
  perspective: 250vw;
  padding-top: 25vh;
  min-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  /*padding: 2em 0;*/
  line-height: 1.5em; }
  @media (min-width: 768px) {
    .bound01 {
      margin-bottom: 15vh; } }

.bound {
  perspective: 250vw; }
  .bound .pages02 {
    /*width: 90vw;*/
    /*height: 40svh;*/
    aspect-ratio: 2.5;
    position: relative;
    transform: rotateX(12deg);
    transform-style: preserve-3d;
    backface-visibility: hidden;
    border-radius: 4px;
    /*box-shadow: 0 0 0 1px #e3dfd8;*/
    display: flex;
    align-items: center;
    justify-content: center; }
    .bound .pages02 .page02 {
      float: none;
      clear: none;
      margin: 0;
      position: absolute;
      width: 37.5vw;
      height: auto;
      aspect-ratio: 1.334;
      transform-origin: 100% 0;
      /* 右綴じ用に変更 */
      transition: transform 1.4s;
      backface-visibility: hidden;
      transform-style: preserve-3d; }
      .bound .pages02 .page02:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(0, 0, 0, 0);
        transition: background 0.7s;
        z-index: 2; }
      .bound .pages02 .page02:nth-child(even) {
        pointer-events: all;
        transform: rotateY(0deg);
        left: 0;
        border-radius: 4px 0 0 4px; }
        .bound .pages02 .page02:nth-child(even):hover {
          transform: rotateY(10deg);
          /* 回転方向を調整 */ }
          .bound .pages02 .page02:nth-child(even):hover:before {
            background: rgba(0, 0, 0, 0.03); }
        .bound .pages02 .page02:nth-child(even):before {
          background: rgba(0, 0, 0, 0); }
      .bound .pages02 .page02:nth-child(odd) {
        pointer-events: none;
        transform: rotateY(-180deg);
        transform-origin: 0 0;
        right: 0;
        border-radius: 0 4px 4px 0; }
        .bound .pages02 .page02:nth-child(odd):before {
          background: rgba(0, 0, 0, 0.2); }
      .bound .pages02 .page02.grabbing {
        transition: none; }
      .bound .pages02 .page02.flipped:nth-child(even) {
        pointer-events: none;
        transform: rotateY(180deg); }
        .bound .pages02 .page02.flipped:nth-child(even):before {
          background: rgba(0, 0, 0, 0.2); }
      .bound .pages02 .page02.flipped:nth-child(odd) {
        pointer-events: all;
        transform: rotateY(0deg); }
        .bound .pages02 .page02.flipped:nth-child(odd):hover {
          transform: rotateY(-10deg);
          /* 回転方向を調整 */ }
          .bound .pages02 .page02.flipped:nth-child(odd):hover:before {
            background: rgba(0, 0, 0, 0.03); }
        .bound .pages02 .page02.flipped:nth-child(odd):before {
          background: rgba(0, 0, 0, 0); }
  .bound .pages {
    width: 90vw;
    height: 33.75vw;
    position: relative;
    transform: rotateX(12deg);
    transform-style: preserve-3d;
    backface-visibility: hidden;
    border-radius: 4px;
    /*box-shadow: 0 0 0 1px #e3dfd8;*/ }
    .bound .pages .page {
      float: none;
      clear: none;
      margin: 0;
      position: absolute;
      top: 0;
      width: 45vw;
      height: 33.75vw;
      transform-origin: 100% 0;
      /* 右綴じ用に変更 */
      transition: transform 1.4s;
      backface-visibility: hidden;
      transform-style: preserve-3d; }
      .bound .pages .page:before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        background: rgba(0, 0, 0, 0);
        transition: background 0.7s;
        z-index: 2; }
      .bound .pages .page:nth-child(even) {
        pointer-events: all;
        transform: rotateY(0deg);
        left: 0;
        border-radius: 4px 0 0 4px; }
        .bound .pages .page:nth-child(even):hover {
          transform: rotateY(10deg);
          /* 回転方向を調整 */ }
          .bound .pages .page:nth-child(even):hover:before {
            background: rgba(0, 0, 0, 0.03); }
        .bound .pages .page:nth-child(even):before {
          background: rgba(0, 0, 0, 0); }
      .bound .pages .page:nth-child(odd) {
        pointer-events: none;
        transform: rotateY(-180deg);
        transform-origin: 0 0;
        right: 0;
        border-radius: 0 4px 4px 0; }
        .bound .pages .page:nth-child(odd):before {
          background: rgba(0, 0, 0, 0.2); }
      .bound .pages .page.grabbing {
        transition: none; }
      .bound .pages .page.flipped:nth-child(even) {
        pointer-events: none;
        transform: rotateY(180deg); }
        .bound .pages .page.flipped:nth-child(even):before {
          background: rgba(0, 0, 0, 0.2); }
      .bound .pages .page.flipped:nth-child(odd) {
        pointer-events: all;
        transform: rotateY(0deg); }
        .bound .pages .page.flipped:nth-child(odd):hover {
          transform: rotateY(-10deg);
          /* 回転方向を調整 */ }
          .bound .pages .page.flipped:nth-child(odd):hover:before {
            background: rgba(0, 0, 0, 0.03); }
        .bound .pages .page.flipped:nth-child(odd):before {
          background: rgba(0, 0, 0, 0); }

.page:nth-child(3), .page02:nth-child(3) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(5), .page02:nth-child(5) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(7), .page02:nth-child(7) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(9), .page02:nth-child(9) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(11), .page02:nth-child(11) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(13), .page02:nth-child(13) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(15), .page02:nth-child(15) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(17), .page02:nth-child(17) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(19), .page02:nth-child(19) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(21), .page02:nth-child(21) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(23), .page02:nth-child(23) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(25), .page02:nth-child(25) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(27), .page02:nth-child(27) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(29), .page02:nth-child(29) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

.page:nth-child(31), .page02:nth-child(31) {
  background-position: left top;
  /* 右綴じ用に変更 */ }

*,
*::before,
*::after {
  box-sizing: border-box; }

html,
body#book {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0); }

body#book {
  /*height:100vh;
  min-height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2em 0;
  line-height: 1.5em;*/ }

.page:nth-child(3),
.page:nth-child(5),
.page:nth-child(7),
.page:nth-child(9),
.page02:nth-child(3),
.page02:nth-child(5),
.page02:nth-child(7),
.page02:nth-child(9) {
  background-position: right top; }

.page:nth-child(1),
.page02:nth-child(1) {
  background-image: url("../images/bookH4.jpg"); }

.page:nth-child(2),
.page:nth-child(3),
.page02:nth-child(2),
.page02:nth-child(3) {
  background-image: url("../images/book07-08.jpg"); }

.page:nth-child(4),
.page:nth-child(5),
.page02:nth-child(4),
.page02:nth-child(5) {
  background-image: url("../images/book05-06.jpg"); }

.page:nth-child(6),
.page:nth-child(7),
.page02:nth-child(6),
.page02:nth-child(7) {
  background-image: url("../images/book03-04.jpg"); }

.page:nth-child(8),
.page:nth-child(9),
.page02:nth-child(8),
.page02:nth-child(9) {
  background-image: url("../images/book01-02.jpg"); }

.page:nth-child(10),
.page02:nth-child(10) {
  background-image: url("../images/bookH1.jpg"); }

#modalArea .modalWrapper .modalField {
  padding: 5vw;
  width: 85svw;
  background-color: #fff;
  /*transform: rotateZ(90deg);*/ }

/* モーダルCSS */
.modalArea {
  display: none;
  position: fixed;
  z-index: 10001;
  /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100svw !important;
  height: 100svh !important; }

.modalBg {
  width: 100svw !important;
  height: 100svh !important;
  background-color: rgba(30, 30, 30, 0.9); }

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*width: 70%;
  max-width: 500px;*/
  /*padding: 10px 30px;
  background-color: #fff;*/ }

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
  font-size: 2rem; }

/* 以下ボタンスタイル */
button#openModal {
  padding: 10px;
  background-color: #fff;
  border: 1px solid #282828;
  border-radius: 2px;
  cursor: pointer;
  color: #000; }

.ModalArea {
  width: 100%;
  margin-top: 20px; }
  .ModalArea #openModal {
    display: block;
    margin: 0 auto; }

/*------------------
simpleparallax
------------------*/
.parallax {
  transform: scale(1.3); }

/*------------------
トップ fv イラスト
------------------*/
/*pc*/
.Area_fv_imgArea_pc {
  height: 100vh;
  width: 100vw;
  position: relative; }
  .Area_fv_imgArea_pc .Area_fv_img_pc {
    position: absolute;
    bottom: 100px;
    display: none; }

.fv_all {
  position: relative;
  height: auto;
  width: auto; }

#top .fv_all {
  position: relative;
  height: 100svh;
  width: 100vw; }

/*swiper↓*/
.Area_fv_imgArea_pc01 {
  display: none;
  opacity: 0; }
  .Area_fv_imgArea_pc01 .Area_fv_imgArea01_pc {
    position: absolute;
    bottom: 20vh;
    overflow: hidden;
    width: 100vw;
    /*swiper_top_cloud↓*/ }
    .Area_fv_imgArea_pc01 .Area_fv_imgArea01_pc .swiper_top_cloud01 {
      overflow: unset !important;
      width: 300vw; }
      .Area_fv_imgArea_pc01 .Area_fv_imgArea01_pc .swiper_top_cloud01.mgt_adjust {
        margin-top: 0px; }
      .Area_fv_imgArea_pc01 .Area_fv_imgArea01_pc .swiper_top_cloud01 .swiper-wrapper {
        transition-timing-function: linear;
        /* wrapperのサイズを調整 */
        width: 100%;
        aspect-ratio: 3.5 / 2.5; }
        @media (min-width: 768px) {
          .Area_fv_imgArea_pc01 .Area_fv_imgArea01_pc .swiper_top_cloud01 .swiper-wrapper {
            height: 35vw; } }
      .Area_fv_imgArea_pc01 .Area_fv_imgArea01_pc .swiper_top_cloud01 .swiper-slide {
        /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
        color: #ffffff;
        width: 100%;
        aspect-ratio: 3.5 / 2.5;
        text-align: center; }
        .Area_fv_imgArea_pc01 .Area_fv_imgArea01_pc .swiper_top_cloud01 .swiper-slide img {
          mix-blend-mode: multiply; }
  .Area_fv_imgArea_pc01 .Area_fv_imgArea02_pc {
    position: absolute;
    bottom: 20vh;
    overflow: hidden;
    width: 100vw;
    /*swiper_top_cloud↓*/ }
    .Area_fv_imgArea_pc01 .Area_fv_imgArea02_pc .swiper_top_cloud02 {
      overflow: unset !important;
      width: 300vw; }
      .Area_fv_imgArea_pc01 .Area_fv_imgArea02_pc .swiper_top_cloud02.mgt_adjust {
        margin-top: 0px; }
      .Area_fv_imgArea_pc01 .Area_fv_imgArea02_pc .swiper_top_cloud02 .swiper-wrapper {
        transition-timing-function: linear;
        /* wrapperのサイズを調整 */
        width: 100%;
        aspect-ratio: 3.5 / 2.5; }
        @media (min-width: 768px) {
          .Area_fv_imgArea_pc01 .Area_fv_imgArea02_pc .swiper_top_cloud02 .swiper-wrapper {
            height: 35vw; } }
      .Area_fv_imgArea_pc01 .Area_fv_imgArea02_pc .swiper_top_cloud02 .swiper-slide {
        /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
        color: #ffffff;
        width: 100%;
        aspect-ratio: 3.5 / 2.5;
        text-align: center; }
        .Area_fv_imgArea_pc01 .Area_fv_imgArea02_pc .swiper_top_cloud02 .swiper-slide img {
          mix-blend-mode: multiply; }

.swiper_top_cloud02 {
  overflow: hidden; }

/*sp*/
.Area_fv_imgArea_sp01 .Area_fv_imgArea01_sp {
  position: absolute;
  top: 2vh; }
  .Area_fv_imgArea_sp01 .Area_fv_imgArea01_sp .swiper_top_cloud01_sp {
    overflow: unset !important;
    width: 200vw; }

.Area_fv_imgArea_sp01 .Area_fv_imgArea02_sp {
  position: absolute;
  top: 5vh; }
  .Area_fv_imgArea_sp01 .Area_fv_imgArea02_sp .swiper_top_cloud02_sp {
    overflow: unset !important;
    width: 200vw; }

.section_jihou .txt_normal .text_reference, .section_about .txt_normal .text_reference {
  display: block;
  margin-top: 10px;
  text-align: right;
  font-size: 1.3rem; }

/*250213 追記*/
.is-layout-flex img {
  margin: 0; }
.is-layout-flex figcaption {
  margin: 10px 0 0; }
.is-layout-flex .wp-block-column > h3:first-of-type, .is-layout-flex .wp-block-column > h4:first-of-type, .is-layout-flex .wp-block-column > h5:first-of-type, .is-layout-flex .wp-block-column > p:first-of-type, .is-layout-flex .wp-block-column > ul:first-of-type {
  margin-top: 10px; }
  @media (min-width: 768px) {
    .is-layout-flex .wp-block-column > h3:first-of-type, .is-layout-flex .wp-block-column > h4:first-of-type, .is-layout-flex .wp-block-column > h5:first-of-type, .is-layout-flex .wp-block-column > p:first-of-type, .is-layout-flex .wp-block-column > ul:first-of-type {
      margin-top: 0; } }

@media (min-width: 768px) {
  .footerFixed {
    min-height: 100vh;
    position: relative;
    padding-bottom: 486px;
    box-sizing: border-box; }
    .footerFixed footer {
      position: absolute;
      bottom: 0;
      right: 0;
      width: 100%; } }
/*250307 追記*/
/*お知らせ詳細の文字サイズ*/
.main .section_news_detail p.has-small-font-size {
  font-size: 1.4rem !important; }
.main .section_news_detail p.has-medium-font-size {
  font-size: 1.6rem !important; }
.main .section_news_detail p.has-large-font-size {
  font-size: 1.8rem !important; }
.main .section_news_detail p.has-x-large-font-size {
  font-size: 2rem !important; }
.main .section_news_detail p.icon_pdf a:before {
  content: url(../images/icon_pdf.svg);
  vertical-align: middle;
  padding-left: 6px;
  padding-right: 6px;
  transition: 0.3s;
  filter: invert(31%) sepia(56%) saturate(4760%) hue-rotate(343deg) brightness(101%) contrast(103%); }

/*250401 追記*/
.link_banner_book {
  display: block;
  margin-top: 100px;
  margin-bottom: auto; }
  @media (min-width: 768px) {
    .link_banner_book {
      margin-top: 150px;
      margin-bottom: 100px; } }
  .link_banner_book img {
    transition: 0.3s; }
    @media (min-width: 768px) {
      .link_banner_book img:hover {
        box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.2); } }
