@charset "UTF-8";
/*kiyaku*/
div.clause > ol {
  list-style-type: decimal;
  /* margin-left: 1em; */
  counter-reset: parent-counter;
}

div.clause > ol > li {
  counter-increment: parent-counter;
  margin: .5em 0 0 1em;
  text-indent: -.5em;
}

div.clause > ol > li::before {
  content: counter(parent-counter) ".";
  font-weight: bold;
  margin-right: 5px;
  display: inline-block;
}

div.clause > ol > li > p {
  text-indent: 0;
  line-height: 1.6;
}


.clause > ol > li > ol.styled-list {
  list-style-type: none;
  counter-reset: sub-counter;
  margin: 1em 0;
}
.styled-list > li {
  text-indent: -1.5em;
  margin-left: 1.5em;
}
.clause > ol > li > ol.styled-list > li::before {
  counter-increment: sub-counter;
  content: counter(sub-counter) "）";
  font-weight: bold;
}

div.clause > ol > li > ul {
  list-style-type: disc;
  margin-left: 2em;
  padding-left: 0;
  display: list-item;
}
div.clause > ol > li > ul > li {
  display: list-item;
  margin-bottom: 0.5em;
  list-style-type: disc;
}
div.clause > ol.styled-list2 {
  list-style: none !important;
  counter-reset: sub-counter2;
  margin-left: 3em;
  padding-left: 0;
}

div.clause > ol.styled-list2 > li {
  text-indent: -1.5em;
  margin-left: 1.5em;
}

div.clause > ol.styled-list2 > li::before {
  counter-increment: sub-counter2;
  content: counter(sub-counter2)"）";
  font-weight: bold;
  display: inline-block;
}


.clause {
    margin-bottom: 20px;
}

.clause h3 {
    color: #900;
    border-bottom: 2px solid #900;
    padding-bottom: 5px;
    margin: 20px 0 10px 0;
    font-size: 1.3em;
}

ul {
    padding-left: 20px;
    margin-top: 10px;
    margin-bottom: 20px;
}

ul li {
    margin-bottom: 5px;
}

.date {
    text-align: right;
    margin-top: 20px;
}

dialog#dialog-message p {
    text-align: left!important;
    padding: 10px!important;
}

div#paymentPanel.cartPanel,div#nextAndReturnPanel.bottomBarPanel {
  display: inline-block!important;
  margin: 0 10px!important;
  padding-top: 1em;
}
#booking-package_inputFormPanel .row {
    border-color: #ddd!important;
    text-align: left!important;
}

#booking-package_inputFormPanel {
    background-color: #FFF!important;
    text-align: center!important;
}

#booking-package_inputFormPanel .return_form_button {
    width: auto !important;
}

#booking-package_inputFormPanel .title_in_form, #booking-package_myBookingDetails .selectedDate {
    position: unset !important;
/*
    position: relative;

    position: -webkit-sticky;
    position: sticky;
*/
    top: 0;
    padding: 10px 0;
    border-style: solid;
    border-width: 0;
    border-bottom-width: 1px;
    text-align: center;
    font-weight: normal;
    font-size: 1.4em;
    /**font-size: 3vw;**/
    vertical-align: middle;
    z-index: 3;
    
}

div#booking_package_input_prayer,
 div#booking_package_input_spchar {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-left: 1em;
}

div#booking-package .mbox {
    margin: 2em 0 !important;
}
#returnToSchedules {
	margin: 0 !important;
}

#booking-package_inputFormPanel .cartPanel {
	margin-top: 0 !important;
	padding: 0 !important;
}
div#booking-package .mbox .mbtnbox{
    display: flex !important;
    justify-content: center;
    gap: 40px;
}

button.book_now_button {
    all: unset !important;
}


.row .name.terms_box {
    width: 100% !important;
    height: 30rem !important;
}
#booking-package_inputFormPanel label, #booking-package-subscription_form label {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 5px !important;
}
/*
.name {
  flex: 1;
}

.value {
  flex: 3;
}


.terms-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
}

.value {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.form_checkbox {
    margin-right: 10px;
}
*/

#returnToCalendarButton,
 button.book_now_button,
 button#returnToSchedules {
  background-color: #333 !important;
  color: #fff !important;
  border: 1px solid #444 !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-family: 'Segoe UI', sans-serif !important;
  font-size: 18px !important;
  cursor: pointer !important;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2) !important;
  transition: background-color 0.3s ease !important, box-shadow 0.3s ease !important;
}

#returnToCalendarButton:hover,
 button.book_now_button:hover,
 button#returnToSchedules:hover {
  background-color: #900 !important;
  box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.4) !important;
}

#bottomPanel {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 auto !important;
  text-align: center !important;
  height: auto !important;
  width: 100% !important;
}


div#scheduleMainPanel {
    position: unset!important;
}

.booking-main {
	max-width: 767px;
    margin-top: 60px;
    margin-left: auto;
    margin-right: auto;
    padding-left: min(6.5rem, 8vw);
    padding-right: min(6.5rem, 8vw);
}

	#booking-package_calendarPage .title_in_form, #booking-package_schedulePage .title_in_form {
		position: relative;
/*
		position: -webkit-sticky;
		position: sticky;
*/
		top: 0;
		padding: 10px 0;
		border-style: solid;
		border-width: 0;
		border-bottom-width: 1px;
		text-align: center;
		font-weight: normal;
		font-size: 1.4em;
		/**font-size: 3vw;**/
		vertical-align: middle;
		z-index: 3;
	}
	.title_in_form {
		text-align: left !important;
		font-size: 1.2em  !important;
	}
	#booking-package_schedulePage .courseListPanel {
		top: 170px !important;
	}
	.sat {
		background-color: #D5EFFE;
	}
	.sun, .nationalHoliday {
		background-color: #FED4D5;
	}

	#dialog-message {
		text-align: center;
	}
	.dialog-message-button {
		padding: 0.5rem 2rem;
		width: 10rem;
		border-radius: 1rem;
		font-size: 1rem;
		font-weight: bold;
		text-align: center;
		display: inline-block;
	}
	.dialog-message-button1 {
		background-color: skyblue;
	}
	.dialog-message-button2 {
		background-color: pink;
	}

	.terms_box {
		width: 96%;
		line-height: 150%;
        height: calc(1.5em * 5);
		overflow: auto;
		background: #ffffff;
		border: 1px solid #cccccc;
		padding: 6px;
	}
@media (min-width: 768px) {
    .start_booking_package {
/*        width: 620px;*/
    }
    #booking-package_schedulePage .courseListPanel {
        top: 191px !important;
    }
}
@media (max-width: 768px) {
    #booking-package_schedulePage .courseListPanel {
        top: 207px !important;
    }
}


#booking-package_calendarPage .title_in_form, #booking-package_schedulePage .title_in_form {
    position: relative;
/*
    position: -webkit-sticky;
    position: sticky;
*/
    top: 0;
    padding: 10px 0;
    border-style: solid;
    border-width: 0;
    border-bottom-width: 1px;
    text-align: center;
    font-weight: normal;
    font-size: 1.4em;
    /**font-size: 3vw;**/
    vertical-align: middle;
    z-index: 3;
}
.title_in_form {
    text-align: left !important;
    font-size: 1.2em  !important;
}
.sun, .nationalHoliday {
    background-color: pink;
}
.sat {
    background-color: lightblue;
}

#dialog-message {
    text-align: center;
}
.dialog-message-button {
    padding: 0.5rem 2rem;
    width: 10rem;
    border-radius: 1rem;
    font-size: 1rem;
    font-weight: bold;
    text-align: center;
    display: inline-block;
}
.dialog-message-button1 {
    background-color: skyblue;
}
.dialog-message-button2 {
    background-color: pink;
}

.terms_box {
    width: 96%;
    line-height: 150%;
    height: calc(1.5em * 5);
    overflow: auto;
    background: #ffffff;
    border: 1px solid #cccccc;
    padding: 6px;
}




*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

div, p, h1, h2, h3, h4, h5, h6, ul, ol, li, section, article, aside, footer, header, nav, main {
    display: block;
    margin: 0;
    padding: 0;
    line-height: normal;
}

html, body {
    height: 100%;
}

html {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    font-size: 63%;
}

body {
    display: flex;
    flex-direction: column;
    color: #000;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
    background:#fff;
    font-size: 18px;
    /* font-weight: 700; */
    line-height: 1.6;
}


.container {
    margin: 0 auto;
    max-width: 1200px;
    padding: 0 1em;
    position: relative;
}
.container2 {
    flex: 1;
    margin: 0 auto;
    max-width: 1200px;
    padding: 1.6em 1em;
    position: relative;
}
.container3 {
    margin: 0 auto;
    padding: 1.6em 1em;
    position: relative;
}

.box_inner h2 {
    font-weight: 500;
}



@media (max-width: 820px) {
.box_inner h2 {
    font-weight: 500;
	font-size:1.4em;
}
}

.row_sys {
    display: flex;
    flex-direction: column;
    padding: 0;
    width: 100%;
}
.col {
    display: block;
    flex: 1 1 auto;
    margin-left: 0;
    max-width: 100%;
    width: 100%;
}

ul,li,ol {
	margin: 0;padding: 0;
}
ul,li {
	list-style: none;
}
dd {
  margin: 0;
  padding: 0;
}
a {
  color: #000;
}
a:hover {
  color: #900;
}
table {
	border-collapse: collapse; 
	width: 100%;
}
th,
td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #E1E1E1; }
th:first-child,
td:first-child {
  padding-left: 0; }
th:last-child,
td:last-child {
  padding-right: 0; }

:root {
    --base-color: #000;
    --link-color: #666;
    --linkhover-color: #900; ;
    --back-color: #300;
    --border-color: #ccc;
    --white-color: #fff;
	scroll-padding: 140px;
	scroll-behavior: smooth;
}

img {
	max-width:100%;
	height: auto;
}
a {
    display:block;
    color: var(--base-color);
    text-decoration-line: none;
word-break: break-word !important;
}
a:hover { 
    color: var(--linkhover-color);
}

.btn,
a.btn,
button.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

.text {
  margin-inline: auto;
  max-inline-size: max-content;
}

/*header
-------------------------------------*/
header {
    position: fixed;
    top: 0;
    left: 0;
    margin: 0;
    width: 100%;
    z-index: 999;
}
header .container {
    background: #300;
    max-width: 100%;
    padding-bottom: 10px;
}

.head {
	display: flex;
	padding: 1rem 0 0 0;
	justify-content: space-between;
}

.head h1 {
    padding-top: 1rem;
}
img.logo {
    width: 180px;
}

.top_nav {
    display: inline-flex;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}

.menu {
	background-color: var(--back-color);
}
.insta {
    margin-right: 50px;
    display: inline-flex;
    gap: 15px;
}



@media (min-width: 920px) {/* 920px以上*/
.row_sys {
    display: flex;
    flex-direction: row;
    padding: 0;
}

.col {
    margin-left: 4%;
}
	
.col:first-child { 
    margin-left: 0; 
}


.row .col.span-12 {
    flex: 0 0 100%;
    max-width: 100%;
    height: 70px;
}
}
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 300;
  letter-spacing: 0.1em;
  }
h1 { font-size: 3.5rem; line-height: 1.2;  letter-spacing: -.1rem;}
h2 { font-size: 3.2rem; line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }


p.tx, .box_inner li{
	text-align-last: left;
}
@media screen and (min-width: 921px){
main {
    margin: 10rem 0 5rem 0;
}
#open,#close {
    display: none !important;
}

#navi {
    display: block !important;
}

}

@media screen and (max-width: 921px){/*以下*/
main {
    margin: 1.6em 0 5em 0;
}
.head {
	flex-direction: column;
	text-align: left;
	height: 70px;
}

.head #open,#close  {
    position: absolute;
    top: 20px;
    right: 12px;
    }

#open {
    display: block;
    background: url(../img/top/button.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}
#close  {
    display: block;
    background: url(../img/top/button2.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 50px;
    height: 50px;
    border: none;
    position: absolute;
    top: 20px;
    right: 12px;
}

#navi {
    display: none;
}
}

.navbar ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  display: flex;
}

.navbar ul li {
  flex: 1;
  position: relative;
  /*border-left: 1px solid #900;*/
}

.navbar ul li a,
.accordion {
  display: block;
  color: white;
  text-align: center;
  padding: 14px 1px;
  text-decoration: none;
  background-color: #300;
  cursor: pointer;
  transition: background-color 0.4s;
border-left: 1px solid #900;
}

.navbar ul li a:hover,
.accordion:hover {
  background-color: #cc5800;
}

@media (min-width: 1230px) {
.navbar ul li a{
    font-size: 1em;
    font-weight: 600;
    transition: all .3s;
}
}
@media (max-width: 1230px) {
.navbar ul li a{
    font-size: .8em;
    font-weight: 600;
    transition: all .3s;
}
}


.panel {
  display: none;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.4s ease-out;
}

.panel a {
  float: none;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
  text-align: left;
  background-color: #836d43 !important; 
color: white;
    position: relative;
}

.panel a::before {
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-left: 2px solid #fff;
    transform: rotate(135deg);
    position: absolute;
    right: 1em;
    top: calc(50% - 5px);
}

.panel a:hover {
  background-color: #8a3b00!important;
}

@media screen and (min-width: 921px) {
  .dropdown:hover .panel {
    display: block;
    max-height: none;
  }
}

@media screen and (max-width: 921px) {
  .navbar ul {
    flex-direction: column;
  }

  .navbar ul li {
    width: 100%;
    border-bottom: 1px solid #900;
}

  .navbar ul li a,
  .accordion {
    text-align: left;
    padding-left: 25px;
    border-bottom: 1px solid #300;
    font-size: 1em;
  }

  .dropdown .panel {
    display: none;
  }

  .accordion::after {
    content: '\002B'; /* Unicode character for plus sign (+) */
    font-size: 24px;
    color: white;
    float: right;
    margin: 0 18px;
  }

  .accordion.active::after {
    content: '\2212'; /* Unicode character for minus sign (−) */
  }

  .accordion.active + .panel {
    display: block;
    max-height: 600px;
    transition: max-height 0.4s ease-in;
  }
}





@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
  animation: zoomUp 7s linear 0s normal both;
}
@media screen and (min-width: 920px){
.swiper-slide img {
    height: 600px;
    width: 100%;
    object-fit: cover;
}

.mainimg-key {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width:100%;
    background:rgb(0 0 0 / 50%);
    text-align:center;
    z-index: 1;
}
}
@media screen and (max-width: 920px){
.swiper-slide img {
    height: 460px;
    width: 100%;
    object-fit: cover;
}

.mainimg-key {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width:100%;
    background:rgb(0 0 0 / 50%);
    text-align:center;
    z-index: 1;
}
}

/*main
-------------------------------------*/
.mainimg img {
}

.reserve,.info, .sns, .item_list,.ink_banner {
    background-color: #f3eee0e8;
    text-align: center;
    margin: 3rem 0;
}
.box_inner {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    padding: 3.2rem 2.4rem;
    align-content: flex-start;
    box-shadow: 1px 1px 3px rgb(0 0 0 / 50%);
}
@media screen and (max-width: 820px){
.box_inner {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
    padding: 3.2rem 1rem;
    align-content: flex-start;
    box-shadow: 1px 1px 3px rgb(0 0 0 / 50%);
}
}

.list-c2 > a {
    text-decoration: none;
    display: block;
}
@media screen and (min-width:820px) {
.list-c2 {
    display: flex;
    gap: 2vw;
    margin-bottom: 4rem;
}
}

.list-c2 .list {
    text-align: center;
    position: relative;
    overflow-y: hidden;
    color: #fff;
    text-shadow: 0px 0px 10px rgba(0,0,0,0.6);
    padding: 5rem 2rem;
    margin: 1rem 0;
    border-radius: 8px;
}


@media screen and (min-width:820px) {
.list-c2 > * {
    flex: 1;
}
.list-c2 .list {
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.list-c2 > a .list {
    height: 100%;
}
.list-c2 .list:nth-of-type(1) {
    border-radius: 8px;
}
.list-c2 .list:nth-of-type(2) {
    border-radius: 8px;
}

}


.list-c2 .list.image1 {
    background: url("../img/top/topic1.jpg") no-repeat center center / cover;
    box-shadow: 1px 1px 3px rgb(0 0 0 / 50%);
}
.list-c2 .list.image2 {
    background: url("../img/top/topic2.jpg") no-repeat center center / cover;
    box-shadow: 1px 1px 3px rgb(0 0 0 / 50%);
}
.list-c2 .list.image3 {
    background: url("../img/top/topic3.jpg") no-repeat center center / cover;
    box-shadow: 1px 1px 3px rgb(0 0 0 / 50%);
}
/*h4_title*/
.list-c2 h4 {
    line-height: 1.2;
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-weight: 300;
}

.list-c2 h4 .main-text {
    display: block;
    font-size: 3rem;
    padding-top: 1.5rem;
    padding-bottom: 3rem;
}


@media screen and (min-width:820px) {
.list-c2 h4 .main-text {
    font-size: 4rem;
}
}

.list-c2 .list .text {
    position: relative;z-index: 1;
    font-size: 0.85rem;
}
.list-c2 .list::before {
	content: "";position: absolute;top: 0;left: 0;width: 100%;height: 100%;
	background: rgba(0,0,0,0.6);
	transition: transform 0.3s 0.1s;
}
.list-c2 .list:hover::before {
	transform: translateY(100%);
}
/*btn1*/
.btn1 a {
    text-shadow: none;
    display: block;
    text-decoration: none;
    background: #900;
    color:#fff;
    font-size: 1.7rem;
    padding: 1.2rem 3.6rem;
    border-radius: 10px;
    text-align: center;
    font-weight: 900;
    white-space: nowrap;
}

.btn1 a:hover {
    opacity: 1;
    transform: scale(1.05);
    background:#635232;
    color:#ffffff;
}

.round_arrow {
    position: relative;
    padding-right: 10px;
}
 
.round_arrow::before {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 3px;
    background: #300;
}
 
.round_arrow::after {
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 8px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}

.r_link {
    width: 100%;
    box-shadow: 2px 2px 8px rgb(0 0 0 / 60%);
}
span.r_link_text {
    font-size: 4rem;
}
@media (min-width: 820px) {/*以上*/
a.btn-flat2 {
    overflow: hidden;
    padding: 1.2rem 6rem;
    color: #fff;
    border-radius: 0;
    background: #5757b6;
    width: 100%;
    display: inline-flex;
    flex-direction: column;
}
}
@media screen and (min-width:600px) and (max-width: 820px) { 
span.r_link_text {
    font-size: 2em;
  }
a.btn-flat2 {
    overflow: hidden;
    padding: 1.2rem 0.9em;
    color: #fff;
    border-radius: 0;
    background: #5757b6;
    width: 100%;
    display: inline-flex;
    flex-direction: column;
}	
}
@media (max-width: 600px) {/*以下*/
span.r_link_text {
    font-size: 1.23em;
    text-align: left;
  }
span.r_link_subtext{
    font-size: 0.8em;
    text-align: left;
}
a.btn-flat2 {
    overflow: hidden;
    padding: 1.2rem 0.9em;
    color: #fff;
    border-radius: 0;
    background: #5757b6;
    width: 100%;
    display: inline-flex;
    flex-direction: column;
}	
}


a.btn-flat2 span {
    position: relative;
}

a.btn-flat2::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: '';
    -webkit-transition: all .5s ease-in-out;
    transition: all .5s ease-in-out;
    -webkit-transform: translateX(-96%);
    transform: translateX(-99.5%);
    background: #300;
}

a.btn-flat2:hover::before {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

.info ul, .sns_link,.item_link, .b_link {
    border: 2px solid #836d43;
    background: #fffdfb;
    width: 100%;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 20%);
    padding: 1.2rem;
}
.info ul li::before {
    content: "■";
    color: #836d43;
}
.info li {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
    width: 100%;
}
.info li:last-child {
border-bottom:none;
}

.info a {
    padding: 0.5em;
}
.info a:hover {
    fonnt-color:#900;
    font-weight:500;
}
.link_info_img {
  text-align: center;
}
.sns_link {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
a.sns_link_text {
    display: flex;
    align-items: center;
    flex-direction: row;
    align-content: center;
}
a.sns_link_text p{
    word-wrap: break-word;
    min-width: 0;
}
.sns_link img {
    /* padding: 20px; */
    /* height: 350px; */
}

@media (max-width: 860px) {/*以下*/
a.sns_link_text {
    display: flex;
    align-items: center;
    flex-direction: column;
    align-content: center;
}
a.sns_link_text p{
    word-wrap: break-word;
    min-width: 0;
    text-align: left;
    padding: 0 1em;
}
}
@media (max-width: 860px) {
.sns_link {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
}
.b_link {
    display: flex;
    flex-direction: row;
    margin:0 auto;
    justify-content: center;
    align-content: center;
    align-items: center;
    gap: 20px;
}

.b_link img {
    filter:grayscale(0);
    padding: 10px;
}
.b_link img:hover {
    filter:grayscale(100%);
    transition:0.3s;
}

@media (max-width: 600px) {/*以下*/
.b_link {
    display: flex;
    flex-direction: column;
    margin:0 auto;
    align-items: center;
    flex-wrap: nowrap;
}
.b_link img {
    filter:grayscale(0);
    padding: 10px;
    width: 80%;
}
}

/*other
-------------------------------------*/
.ttl_01 {
    margin-top: 4rem;
    display: flex;
    justify-content: center;
    font-weight: 700;
}
.ttl_02 {
    /* background-color: #942f38; */
    color: #ffffff;
    padding: 8px .8em;
    box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
    background: linear-gradient(270deg, #942f38, #300);
    background-size: 400% 400%;
    animation: gradientFlow 8s ease infinite;
    border-radius: 3px;
}

@keyframes gradientFlow {
0% {
    background-position: 0% 50%;
}
50% {
    background-position: 100% 50%;
}
100% {
    background-position: 0% 50%;
}
}


.ttl_03 {
    color: #300;
    margin: 2rem;
    font-weight: 700;
}
.ttl_04 {
    color: #942f38;
    font-weight: 700;
    border-bottom: 1px solid #942f38;
}
.ttl_05 {
    color: #300;
    font-weight: 700;
    font-size: 1.4em;
}
.ttl_06 {
    color: #942f38;
    font-weight: 700;
    border-bottom: 1px solid #942f38;
    text-indent: 1em;
}

@media (max-width: 600px) {/*以下*/
h2.ttl_01 {
    font-size: 2.2rem;
    margin-top: 3.2rem;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    font-weight: 700;
}	
h3.ttl_02 {
    background-color: #942f38;
    color: #ffffff;
    padding: 8px .5em;
    font-size: 1.2em;
}

h4.ttl_03 {
    color: #300;
    margin: 1rem;
    font-weight: 700;
    font-size: 1.2em;
}

.ttl_05 {
    color: #300;
    font-weight: 700;
    font-size: 1.2em;
}
}

.map {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 4.2em;
}
.g_map {
    position: relative;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
}
.g_map iframe {
    width: 100%;
    height: 400px;
    border: 0;
}
.access_map {
    display: flex;
    justify-content: space-between;
    margin: .5em 0;
}
.image-item {
    display: inline-flex;
    flex-direction: column;
    padding: 10px;
    align-items: center;
}

.caption {
    margin-top: 10px;
    color: #000000;
    font-size: 2rem;
}
ul.station{
    margin-bottom: 3.2rem;
    overflow-wrap: break-word;
    padding-left: 1em;
}
ul.station li::before {
    content: "■";
    margin-right: 10px;
    color: #ab150026;
}
ul.station li {
    /* text-indent: 2em; */
    margin: .2em 1em 0 1em;
    line-height: 1.8;
    text-indent: -1.5em;
    padding-left: 1.5em;
}

ul.station span {
    font-weight: bold;
    text-decoration: underline;
}
.access_root {
    display: flex;
    margin-bottom: 3.2rem;
}
.access_root img {}
@media (max-width: 920px) {/*以下*/

}
@media (max-width: 820px) {/*以下*/
.access h4.ttl_06 {
    font-size: 1.09em;
    text-indent: 0;
}
.access_root {
    display: flex;
    margin-bottom: 3.2rem;
    flex-direction: column;
}
.root_box {
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    margin: 0 1em 2rem;
}
}
@media (max-width: 800px) {/*以下*/
.access_map {
    display: flex;
    justify-content: space-between;
    margin: 0 0 1em 0;
    flex-direction: column;
}
.image-item {
    display: inline-flex;
    flex-direction: column-reverse;
    padding: 10px;
    align-items: center;
}
ul.station {
    margin-bottom: 3.2rem;
    overflow-wrap: break-word;
    padding-left: 0.6em;
}
ul.station li {
    padding-left: 1.4em;
    margin: 12px 0;
}
.guide dd {
    line-height: 2;
    padding-left: 1.4em;
}
}
.contact_box {
    border: 1px solid #836d43;
    background-color: #fffdfb;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 20%);
    margin: 3rem 0;
    padding: 1.8rem 0;
}
.contact_box p {
    width: 100%;
    display: inline-flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
}
p.contact_tx {
    font-weight: 700;
}
p.contact_sub_tx {
    padding: .5em;	
}

table.link_table tbody{
    border-bottom:1px solid #dee2e6;
}
table.link_table th,table#event th{
    background:#f9f9f9;
}
table.link_table th.table_col{
    background:#EEE;
}

table#links {
    margin-bottom: 3rem;
}

table#event th,
table#event td,
table#links th,
table#links td{
    display:block;
    padding:.25rem;
}
table#links th:not(.table_col){
padding-left:1rem;
}
table#links td{
    padding-left:2rem;
}

table#links td a{
    font-size:0;
}
table#links td a::after {
    content:'Webサイトはこちら';
    font-size: 1.8rem;
}
table#links tr:hover {
    background-color: #fff2beeb;
}

table#schedule th{
    display:contents;
}
table#schedule td{
    display:block;
}

table#visit{
    text-align:center;
}


#site-links img{max-width:150px}

@media (min-width: 820px){

table#event tr:last-child th{
    border-bottom:1px solid #dee2e6;
}
table#event th,
table#event td,
table#links th,
table#links td{
    display:table-cell;padding:.75rem;
}
table#links th:not(.table_col){
    padding-left:2rem;
}
table#links td{
    padding-left:1rem;
}
table#links td a{
    font-size:inherit;
}
table#links td a::after{
    display:none;
}
table#schedule th,table#schedule td{
    display:table-cell;
}
}

p.link_info_tx, p.info_tx{
    display: inline-block;
    text-indent: 1em;
    margin-bottom: 1em;
overflow-wrap: anywhere;
}

p.link_info_subtx, p.info_subtx {
    text-indent: 2em;
    margin: 0 0 1em;
}
p.link_info_tx a,
p.link_info_subtx a,
.visit_box02 a{
    display: inline-block;
    overflow-wrap: break-word;
    max-width: 100%;
    word-wrap: break-word;
    text-indent:0;
}


caption {
    padding-top: .75rem;
    padding-bottom: .75rem;
    color: #6c757d;
    text-align: left;
    caption-side: bottom;
}

ul.topic_list {
    margin: 0 0 2em 2em;
}
ul.topic_list li {
    margin-bottom: 2em;
}
.topic_list p.l_ttl {
    text-decoration: underline;
    font-weight: 700;
    color: brown;
}


.topic_list p.l_txt {
    text-indent: 1em;
}



.schedule {
    display: flex;
    flex-direction: column;
    margin-bottom: 3.2rem;
}

.schedule p.info_tx a{
    display:inline-block;
    text-indent: 0;
    font-weight:700;
    color: brown;
    font-size: 2rem;
}

/*visit*/
.visit_box01 {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
}
span.red {
    color: #c31423;
    font-weight: 700;
    font-size: 2rem;
}

.visit_box01s {
    border: 2px solid #836d43;
    border-radius: 10px;
    background: #fffdfb;
    box-shadow: 1px 1px 2px rgb(0 0 0 / 18%);
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 0 2.8rem;
    padding: 1em;
}
.visit p.link_info_tx a {
    color: brown;
    font-size: 2rem;
    font-weight: 700;
}
.visit p.link_info_tx a:hover {
    text-decoration: underline;
}
.visit_box01s .link_info_tx {
  margin-bottom: .5em;
}
.visit_box01s .link_info_tx2 {
  margin: 1.5em 0;
}
.visit_box03 {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 4px double #dcb2b2;
    margin-bottom: 3.2rem;
}

ul.visit_box03s {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    width: 100%;
    padding: 0 3rem 2rem;
}
ul.visit_box03s li {
    flex: 1 1 25%;
    box-sizing: border-box;
    white-space: nowrap;
}
ul.visit_box03s li::before {
    content: "■";
    margin-right: 10px;
    color: #836d43;
}
@media (max-width: 600px) {/*以下*/
ul.visit_box03s {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    padding: 0 1em 2rem;
    flex-direction: column;
    list-style-type: square;

}
ul.visit_box03s li::before {
    content: "■";
    margin-right: 10px;
    color: #836d43;
}
}

.visit_box,
.info_action,
.info_actions{
    margin-bottom: 3.2rem;
}

.info_action dt {
    font-weight: 700;
    margin-bottom: 0;
    text-indent: 1em;
}
.info_action dt:nth-of-type(2) {
    margin-top: 1em;
}
.info_action dd {
    text-indent: 2em;
}


.omikuji {
    display: flex;
    flex-direction: row;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 3.2em;
    background: #fffdfb;
}

.mayu_box01 {
    flex: 1;
    padding: 20px;
    width: 100%;
    height: auto;
    display: block;
    text-align: center;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
}
.mayu_box01 img {
    width: 100%;
    height: auto;
    display: block;
}
.mayu_box02 {
    flex: 1;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.omikuji p{
    line-height: 1.6;
}

@media (max-width: 820px) {/*以下*/
.omikuji {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    overflow: hidden;
}
}

ul.visit_box04 {
    padding: 0 1rem 2rem;
}
ul.visit_box04 li::before {
    content: "■";
    margin-right: 10px;
    color: #836d43;
}

/*history*/

div#gosaishin {
    margin-bottom: 3.2rem;
}
div#gosaishin p {
    font-size: 2.4rem;
    padding-left: 1em;
    line-height: 3;
    color: brown;
    font-size: 2.6rem;
    font-weight: 700;
}
ruby {
    ruby-position: over;
}

rt {
    font-size: .8em;
}

div#gosaishin span {
    margin-left: .6em;
    font-size: .8em;
}

@media (max-width: 820px) {
div#gosaishin p {
    font-size: 2rem;
    font-weight: 700;
}
}

.one_box01 {
    display: flex;
    margin-bottom: 3.2em;
    flex-direction: column;
    border-radius: 8px;
    padding: 1em;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background: #fffdfb;
    align-items: flex-start;
}
.history_01, .pre_01 {
  padding: 3.2rem;
}

@media (max-width: 960px) {
.history_01, .pre_01 {
    padding: 1rem;
}
}
@media (min-width: 600px) and (max-width: 960px) {
.history_01, .pre_01 {
    padding: 1rem;
    margin-bottom: 3rem;
}
}
@media (max-width: 600px) {
.history_01, .pre_01 {
    padding: 1px;
    margin-bottom: 2.8rem;
}
}


.history_box01 {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 20px;
    flex-wrap: wrap;
}
.img_section {
    flex: 1;
    text-align: center;
}
.img_section img {
    padding: 0 2rem;
    margin-bottom: .5em;
}

.history_cap {
    font-size: 1em;
    color: #000000;
    margin: 0 1em 1em;
    text-align: left;
}
.txt_section {
    flex: 1;
}

@media (max-width: 820px) {
.history_box01 {
    display: inline-flex;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}
.img_section {
    flex: 1;
    min-width: 100%;
    text-align: center;
}
.txt_section {
    flex: 2;
    min-width: 100%;
}
}

@media (max-width: 600px) {
.history_box01 {
    display: inline-flex;
    justify-content: center;
    gap: 10px;
}
.img_section {
    flex: 1;
    min-width: 100%;
    text-align: center;
}
}

.waku_01 {
    margin-bottom: 3.2em;
    border-radius: 8px;
    padding: 1em;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background: #fffdfb;
}

.two_cbox01 {
    display: flex;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    margin-bottom: 3.2em;
    flex-direction: column;
}
.box_a {
    display: flex;
    flex-direction: row-reverse;
}

.cl {
    flex: 1 1 calc(50% - 40px);
    padding: 1em 1em 0em 1em;
    background-color: #fffdfb;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    display: inline-flex;
    align-items: center;
    position: relative;
    flex-direction: column;
}

.cl.img_sec {
    background: #c08e4724;
}
.img_sec_inner {
    padding: 0 4em 1em;
    text-align: center;
    /* margin: 0 1em 0 0; */
    /* margin: 1em; */
}
.txt_sec {
    background-color: #ffdacbb8;
    padding: 10px;
    border-radius: 5px;
    margin: 1em;
    right: -90px;
    position: absolute;
    z-index: 5;
    top: 50px;
}

@media (max-width: 920px) {
.cl {
    flex: 1 1 calc(50% - 40px);
    padding: 1em 1em 0em 1em;
    background-color: #fffdfb;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    display: inline-flex;
    align-items: center;
    position: static;
    flex-direction: column;
}
.img_sec_inner {
    padding: 0 1em 1em;
    text-align: center;
}
.txt_sec {
    background-color: #ffffff00;
    padding: 0;
    border-radius: 0;
    margin: 0;
    position: static;
    z-index: 0;
}
}

@media (max-width: 600px) {
.box_a {
    display: flex;
    flex-direction: column-reverse;
}
}


.box_b {
    display: flex;
    flex-wrap: wrap;
}

.box_b .txt_sec {
    left: -90px;
    right: 0;
}

@media (max-width: 600px) {
.box_b {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.history .box_b {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column-reverse;
}
}

.two_box_ver01 {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    border-radius: 8px;
    padding: 1em;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    background: #fffdfb;
    margin-bottom: 3.2rem;
}
.two_box {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 2em;
    margin-bottom: 2rem;
}
.two_box01, .two_box02 {
    text-align: center;
}
@media (max-width: 820px) {
.two_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    padding: 0 1em;
}
}
@media (max-width: 600px) {
.two_box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
    padding: 0;
}
}

img.small {
    width: 80%;
}


.worship_comment {
    margin-bottom: 3.2rem;
}



/*news
-------------------------------------*/
.news h2 {
    background-color: var(--back-color);
	color: var(--white-color);
	padding: 1rem;
}
.news li {
    list-style-type: none;
	border-bottom: 1px solid var(--border-color);
	padding: 0.5rem 0;
}

/*footer
-------------------------------------*/
footer {
    position: relative;
    background-color: var(--back-color);
    padding: 3rem 0;
    color: var(--white-color);
    margin-top: auto;
    bottom: 0;
    width: 100%;
}
footer h5 {
    border-bottom: 2px solid var(--white-color);
}

/*ｃ
-------------------------------------*/
p.f_inner_box img {
    width: 200px;
}
.f_inner {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
}
.f_inner p{
    text-align: left;
    word-wrap: break-word;
    white-space: normal;
}
.copyright {
    text-align: center;
    padding: 1rem 0;
}
.copyright a {
    color: #ffffff;
    text-decoration: none;
    display: inline-block;
}


/*pagetop
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 80px;
    right: 10px;
    z-index: 99;
}
#pagetop a {
    display: block;
    background: #900;
    color: var(--white-color);
    width: 50px;
    padding: 10px 5px;
    text-align: center;
    white-space: nowrap;
}
#pagetop a:hover {
    background: #900;
}



.g_ac_map a {
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 0 auto;
    max-width: 350px;
    padding: 10px 25px;
    color: #942f38;
    transition: 0.3s ease-in-out;
    font-weight: 600;
    border: 2px solid #942f38;
    font-size: 2.4rem;
}
.g_ac_map a:hover {
    background: #f8e2bc26;
    color: #942f38;
}
.g_ac_map a:before, .g_ac_map a:after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  border: 2px solid transparent;
  width: 0;
  height: 0;
}
.g_ac_map a:before {
  top: 0;
  left: 0;
}
.g_ac_map a:after {
  bottom: 0;
  right: 0;
}
.g_ac_map a:hover:before, .g_ac_map a:hover:after {
  width: 100%;
  height: 100%;
}
.g_ac_map a:hover:before {
  border-top-color: #942f38;
  border-right-color: #942f38;
  transition: width 0.15s ease-out, height 0.15s ease-out 0.15s;
}
.g_ac_map a:hover:after {
  border-bottom-color: #942f38;
  border-left-color: #942f38;
  transition: border-color 0s ease-out 0.2s, width 0.15s ease-out 0.2s, height 0.15s ease-out 0.3s;
}
.fadein {
    opacity : 0;
    transform : translate(0, 50px);
    transition : all .6s;
}
.fadein.scrollin {
    opacity : 1;
    transform : translate(0, 0);
}



