@charset "UTF-8";
:root {
  --inner:700px;
  --wrap:990px;
  --box:1080px;
  --container:1280px;
  --maxWidth:1440px;
  --spHeaderHeight:50px;
  --pcHeaderHeight:80px;
  --baseColor:#ffffff;
  --mainColor:#450369;
  --subColor:#EAE8FA;
  --accentColor:#FF55DD;
  --whiteColor:#ffffff;
  --blackColor:#262626;
  --grayColor:#707070;
  --darkGrayColor:#383546;
  --beigeColor:#eadfcd;
  --beigeLightColor:#F7F6F3;
  --textColor:var(--blackColor);
  --textHoverColor:var(--mainColor);
  --blogPurple:#BE9AD1;
  --blogOrange:#D29826;
  --blogYellow:#BEC23F;
  --blogBlue:#9BC4C4;
  --blogRed:#CB4042;
  --blogPurpleBg:#F9F5FC;
  --blogOrangeBg:#FBF5E9;
  --blogYellowBg:#F9F9EB;
  --blogBlueBg:#F7F9F9;
  --blogRedBg:#FCF6F5;
  --animationSpeed:0.4s;
  --ioAnimationSpeed:1s;
  --spMargin:100px;
  --pcMargin:130px;
  --fontSerif:"Shippori Mincho","游明朝",YuMincho,"ヒラギノ明朝 ProN W3","Hiragino Mincho ProN","HG明朝E","ＭＳ Ｐ明朝","ＭＳ 明朝",serif;
  --fontGothic:"Noto Sans JP","游ゴシック体",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
  --fontFamily:var(--fontGothic);
  --fontTitle:var(--fontSerif);
  --fontEn:"Lusitana", serif;
}

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

	kitou

========================================================================== */
/*----------------------------------------------------------------
	common
----------------------------------------------------------------*/
/*--------------------------------
	accordion
--------------------------------*/
@media print, screen and (max-width: 812px) {
  .accordion[data-accordion*=plus]:not(.flow_cnt) .accordion_btn {
    padding-right: var(--accordionIconWidth);
  }
  .accordion[data-accordion*=plus]:not(.flow_cnt) .accordion_btn:before, .accordion[data-accordion*=plus]:not(.flow_cnt) .accordion_btn:after {
    top: 1.7em;
  }
}
@media print, screen and (min-width: 813px) {
  .accordion .accordion_btn .tt_main {
    min-width: 6.5em;
  }
}

/*--------------------------------
	number_cnt
--------------------------------*/
.number_cnt .number {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5em;
}
.number_cnt .number:before {
  color: var(--blackColor);
  border-color: #E5E0CD;
  background-color: #E5E0CD;
}
/*--------------------------------
	border_box
--------------------------------*/
.border_box .box_title {
  padding-top: 1em;
  padding-bottom: 1em;
  margin-bottom: 0;
  background-color: #F7F6F3;
}
.border_box .box_title:not(.accordion_btn) {
  padding-right: 1.5em;
  padding-left: 1.5em;
}
.border_box .box_cnt {
  padding: 1.5em;
  border-right: solid 1px #BEB9A9;
  border-bottom: solid 1px #BEB9A9;
  border-left: solid 1px #BEB9A9;
}
.border_box .box_cnt > p {
  margin-bottom: 1.5em;
}
@media print, screen and (max-width: 812px) {
  .border_box .box_title p {
    margin-top: 0.5em;
  }
  .border_box hgroup.box_title.accordion_btn p {
    width: calc(100% - (var(--accordionIconWidth) + 0.7em));
  }
}
@media print, screen and (min-width: 813px) {
  .border_box .box_title {
    padding-top: 1.25em;
    padding-bottom: 1.25em;
  }
  .border_box .box_title:not(.accordion_btn) {
    padding-right: 3em;
    padding-left: 3em;
  }
  .border_box .box_cnt {
    padding: 2em 3em;
  }
  .border_box .box_cnt > p {
    margin-bottom: 3em;
  }
}

/*--------------------------------
	pray_flow
--------------------------------*/
.pray_flow {
  margin-bottom: 1.5em;
}
.pray_flow > div ol li:last-child[data-arrow]:after, .pray_flow > div ol li:last-child *[data-arrow]:after {
  display: none;
}
.pray_flow > div ol li:last-child[data-arrow][data-arrow*=down], .pray_flow > div ol li:last-child *[data-arrow][data-arrow*=down] {
  padding-bottom: 0;
}
@media print, screen and (max-width: 812px) {
  .pray_flow > div ol li[data-arrow][data-arrow*=down] {
    padding-bottom: 4em;
  }
  .pray_flow > div ol li[data-arrow][data-arrow*=down]:after {
    bottom: calc((4em - var(--arrowWidth) / 2) / 2);
    left: calc(47.5% - var(--arrowWidth) / 2);
  }
  .pray_flow > div ol li figure.column {
    grid-template-columns: 1fr 1.5fr;
    gap: 4%;
  }
  .pray_flow > div ol li figure picture {
    margin-bottom: 0;
  }
  .pray_flow > div ol li figure picture[data-arrow]:after {
    display: none;
  }
  .pray_flow > div ol li figure picture[data-arrow][data-arrow*=right] {
    padding-right: 0;
  }
  .pray_flow > div ol li figure figcaption .tt_main {
    margin-bottom: 0.5em;
  }
  .pray_flow > div ol li figure figcaption p {
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 813px) {
  .pray_flow {
    margin-bottom: 2em;
  }
  .pray_flow > div ol li[data-arrow]:after {
    display: none;
  }
  .pray_flow > div ol li[data-arrow][data-arrow*=down] {
    padding-bottom: 0;
  }
  .pray_flow > div ol li figure picture {
    margin-bottom: 1em;
  }
  .pray_flow > div ol li figure picture[data-arrow][data-arrow*=right] {
    padding-right: 0;
  }
  .pray_flow > div ol li figure picture[data-arrow][data-arrow*=right]:after {
    right: calc(var(--arrowWidth) / 1.1 * -1);
  }
}

/*--------------------------------
	kitou_cnt
--------------------------------*/
.kitou_cnt > * {
  padding-bottom: 1.5em;
  margin-bottom: 1.5em;
  border-bottom: solid 1px var(--blackColor);
}
.kitou_cnt > *:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}
.kitou_cnt > * picture img {
  width: 100%;
}
.kitou_cnt > * > div dl > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5em;
  margin-bottom: 1em;
}
.kitou_cnt > * > div dl > div:last-child {
  margin-bottom: 0;
}
.kitou_cnt > * > div dl > div dt {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.kitou_cnt > * > div dl > div dd ul {
  margin-bottom: 0;
}
.kitou_cnt > * > div dl > div dd ul li {
  margin-bottom: 0;
}
.kitou_cnt > * > div dl > div dd ul li small {
  font-size: 85%;
}
.kitou_cnt > * > div > ul li {
  width: 100%;
}
.kitou_cnt > * > div > ul li a {
  display: block;
}
@media print, screen and (max-width: 812px) {
  .kitou_cnt > * picture {
    margin-bottom: 1em;
  }
  .kitou_cnt > * > div > ul li {
    margin-bottom: 0.5em;
  }
  .kitou_cnt > * > div > ul li:last-child {
    margin-bottom: 0;
  }
}
@media print, screen and (min-width: 813px) {
  .kitou_cnt > * {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4%;
    padding-bottom: 3em;
    margin-bottom: 3em;
  }
  .kitou_cnt > * > div {
    display: grid;
    grid-template-columns: 1fr;
    -ms-flex-line-pack: justify;
        align-content: space-between;
  }
}

/*--------------------------------
	visiting_cnt
--------------------------------*/
.visiting_cnt > * > dl > div {
  gap: 1.5em;
  padding: 1em 0;
  border-bottom: solid 1px var(--blackColor);
}
.visiting_cnt > * > dl > div:first-child {
  border-top: solid 1px var(--blackColor);
}
.visiting_cnt > * > dl > div > dd dl {
  margin-bottom: 0;
}
.visiting_cnt > * > dl > div > dd dl > div {
  margin-bottom: 1em;
}
.visiting_cnt > * > dl > div > dd dl > div:last-child {
  margin-bottom: 0;
}
.visiting_cnt > * > dl > div > dd dl > div > dt:before {
  content: "・ ";
}
.visiting_cnt > * > dl > div > dd dl > div > dd > * {
  margin-top: 0.5em;
}
.visiting_cnt > * > dl > div > dd dl > div > dd > *:first-child {
  margin-top: 0;
}
.visiting_cnt > * > dl > div > dd dl p {
  margin-bottom: 0;
}
.visiting_cnt > * > dl > div > dd ul {
  margin-bottom: 0;
}
.visiting_cnt > * > dl > div > dd ul li {
  margin-bottom: 0;
}
@media print, screen and (max-width: 812px) {
  .visiting_cnt > * > dl > div:first-child {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .visiting_cnt > * > dl > div:first-child > dt {
    margin-bottom: 0;
  }
  .visiting_cnt > * > dl > div > dt {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-bottom: 1em;
  }
  .visiting_cnt > * > dl > div > dd dl > div > dd {
    padding-left: 1em;
  }
  .visiting_cnt > * > dl > div > dd p {
    margin-top: 0.5em;
  }
  .visiting_cnt > * > ul {
    margin-bottom: 0;
  }
  .visiting_cnt > * > ul.column {
    row-gap: 0.5em;
  }
  .visiting_cnt > * > ul .link_btn a {
    width: 100%;
  }
}
@media print, screen and (min-width: 813px) {
  .visiting_cnt > * > dl > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2em;
    padding: 2em 0;
  }
  .visiting_cnt > * > dl > div > dd dl > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2em;
  }
  .visiting_cnt > * > ul {
    margin-top: 3em;
    margin-bottom: 0;
  }
  .visiting_cnt > * > ul.column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .visiting_cnt > * > ul .link_btn a {
    width: 100%;
  }
}

/*--------------------------------
	lists
--------------------------------*/
.lists > section .box_title {
  background-color: var(--subColor);
}
.lists > section .box_title > * {
  margin-bottom: 0;
}
.lists > section .box_cnt {
  border-color: var(--mainColor);
}
.lists > section .box_cnt ul.column {
  margin-top: 2em;
}
.lists > section .box_cnt .banner_cnt {
  margin-top: 2em;
}
.lists > section:not(:last-child) .box_cnt {
  border-bottom: none;
}
@media print, screen and (max-width: 812px) {
  .lists > section .box_title > * {
    margin-bottom: 0;
  }
  .lists > section .box_title p {
    font-size: 1.1rem;
  }
}
@media print, screen and (min-width: 813px) {
  .lists > section .box_title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 1em 3.5em;
  }
  .lists > section .box_cnt {
    border-color: var(--mainColor);
  }
  .lists > section .box_cnt dl[data-list*=space] > div {
    gap: 0 2em;
    margin-bottom: 2em;
  }
  .lists > section .box_cnt dl[data-list*=space] > div:last-child {
    margin-bottom: 0;
  }
  .lists > section .box_cnt dl[data-list*=space] > div > dt {
    width: 9em;
  }
  .lists > section .box_cnt .banner_cnt {
    margin-top: 4em;
  }
}

/*----------------------------------------------------------------
	style
----------------------------------------------------------------*/
/*--------------------------------
	pray_private
--------------------------------*/
#pray_private > .link_btn {
  margin-top: 2em;
}
@media print, screen and (min-width: 813px) {
  #pray_private > .link_btn {
    margin-top: 3em;
  }
}

/*--------------------------------
	pray_group
--------------------------------*/
#pray_group > .link_btn {
  margin-top: 2em;
}
@media print, screen and (min-width: 813px) {
  #pray_group > .link_btn {
    margin-top: 3em;
  }
}

/*--------------------------------
	outreach_ceremony
--------------------------------*/
#outreach_ceremony .flow_cnt {
  margin-bottom: 1.5em;
}
#outreach_ceremony .flow_cnt dl > div:last-child[data-arrow] {
  padding-bottom: 0;
}
#outreach_ceremony .flow_cnt dl > div:last-child[data-arrow]:after {
  display: none;
}
#outreach_ceremony .flow_cnt dl > div > dt {
  margin-bottom: 0;
}
#outreach_ceremony .flow_cnt dl > div > dt span {
  line-height: 1.4;
}
#outreach_ceremony .flow_cnt dl > div > dd .link_btn {
  margin-top: 0.5em;
}
#outreach_ceremony .flow_cnt dl + .link_btn {
  margin-top: 3em;
}
#outreach_ceremony > .link_btn {
  margin-top: 2em;
}
@media print, screen and (max-width: 812px) {
  #outreach_ceremony .flow_cnt dl > div[data-arrow] {
    padding-bottom: 3em;
  }
  #outreach_ceremony .flow_cnt dl > div[data-arrow]:after {
    bottom: calc((3em - var(--arrowWidth) / 2) / 2);
  }
  #outreach_ceremony .flow_cnt dl > div > dd ul.column {
    row-gap: 0;
  }
  #outreach_ceremony .flow_cnt dl > div > dd .link_btn {
    margin-top: 1em;
  }
  #outreach_ceremony .flow_cnt dl > div > dd .link_btn a {
    display: block;
    width: 100%;
  }
}
@media print, screen and (min-width: 813px) {
  #outreach_ceremony .flow_cnt {
    margin-bottom: 2em;
  }
  #outreach_ceremony .flow_cnt dl > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    gap: 4%;
  }
  #outreach_ceremony .flow_cnt dl > div[data-arrow] {
    padding-bottom: 3.5em;
  }
  #outreach_ceremony .flow_cnt dl > div[data-arrow]:after {
    left: calc((2.5em - var(--arrowWidth)) / 2);
    bottom: 50%;
    -webkit-transform: translateY(1.5em);
            transform: translateY(1.5em);
  }
  #outreach_ceremony .flow_cnt dl > div > dt {
    width: 11em;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  #outreach_ceremony .flow_cnt dl > div > dd > *:last-child {
    margin-bottom: 0;
  }
  #outreach_ceremony .flow_cnt dl > div > dd ul.column {
    grid-template-columns: auto auto;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    margin-top: 1em;
  }
}

/*--------------------------------
	shinto_wedding
--------------------------------*/
#shinto_wedding .banner_cnt {
  margin-top: 2em;
}
@media print, screen and (min-width: 813px) {
  #shinto_wedding .banner_cnt {
    margin-top: 3em;
  }
}

/*--------------------------------
	funeral
--------------------------------*/
#funeral > div section > dl > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-column-gap: 0.5em;
     -moz-column-gap: 0.5em;
          column-gap: 0.5em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#funeral > div section > dl > div.tt_main {
  line-height: 1.2;
}
#funeral > div section > dl > div dt, #funeral > div section > dl > div dd {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#funeral > div section > dl > div dt a {
  color: var(--blackColor);
}
#funeral > div section > dl > div dd:before {
  content: "(";
}
#funeral > div section > dl > div dd:after {
  content: ")";
}